{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 1 - Getting Started and Data Preparation\n",
    "\n",
    "In this deep learning tutorial notebook, we will cover the following topics:\n",
    "\n",
    "* Hardware and software tools for deep learning\n",
    "* Working with Keras and Tensorflow\n",
    "* Loading and inspecting the CIFAR10 data\n",
    "\n",
    "Note about shell commands in Jupyter Notebooks: To avoid having to open a separate terminal window, we will be using a Jupyter feature that allows you to execute commands in the bash shell by starting the line with a `!`.  For example:\n",
    "```\n",
    "! ls *.ipynb\n",
    "```\n",
    "will show all the Jupyter notebooks in the current directory.  These commands could just as well be typed in a terminal window."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Tools for Deep Learning\n",
    "\n",
    "In this tutorial, we will focus on the [Keras](https://keras.io) neural networking library.  Keras provides an easy-to-use, high level Python API for building and training neural networks, and has quickly become the most popular interface for deep learning.  Part of the power of Keras is that it delegates the computation to one of the following deep learning frameworks:\n",
    "* TensorFlow\n",
    "* Theano\n",
    "* Microsoft Cognitive Toolkit (also known as \"CNTK\")\n",
    "\n",
    "TensorFlow is the default Keras backend, and that is what we will use for this tutorial.  This will enable us to make use of TensorFlow tools, like TensorBoard, in later tutorial units.\n",
    "\n",
    "### Hardware/OS Requirements\n",
    "\n",
    "The benefit of libraries like Keras/TensorFlow is that they are designed to be *hardware indepenedent*.  The same code model code (with few exceptions) will execute on either the CPU or the GPU.  This allows you to train on a system with a GPU, and deploy on a server with only CPUs, or any combination.\n",
    "\n",
    "We will be using GPUs to speed up our training today.  Any NVIDIA GPU from the last 5 years can be used with TensorFlow, although for most problems we suggest a GPU with at least 8 GB of memory.  The GeForce product line is fine for learning, but generally the Titan or Quadro cards are better for workstations and the Tesla cards for servers.  For deep learning, we generally suggest:\n",
    "\n",
    "* GeForce 1080 or 1080 Ti\n",
    "* Titan Xp or V\n",
    "* Quadro P100 or V100\n",
    "* Tesla K40, K80, P100, or V100\n",
    "\n",
    "The Tesla K80, P100 and V100 can be rented from most cloud computing providers.\n",
    "\n",
    "For the best experience, we suggest using Linux for GPU-accelerated deep learning.  We will be using Ubuntu Linux 64-bit 16.04 in this tutorial, but any Linux distribution supported by the [official NVIDIA drivers](http://www.nvidia.com/Download/index.aspx).  If you are using Anaconda, you do not need to install CUDA to use the GPU-accelerated packages, but the official NVIDIA drivers (not the free Nouveau drivers that come preinstalled with some Linux distributions) are required.\n",
    "\n",
    "On Linux, we can check the GPU hardware available on our system with the `nvidia-smi` command:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sat Apr  7 16:53:23 2018       \r\n",
      "+-----------------------------------------------------------------------------+\r\n",
      "| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |\r\n",
      "|-------------------------------+----------------------+----------------------+\r\n",
      "| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\r\n",
      "| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\r\n",
      "|===============================+======================+======================|\r\n",
      "|   0  TITAN Xp            Off  | 00000000:01:00.0 Off |                  N/A |\r\n",
      "| 23%   39C    P8    17W / 250W |     10MiB / 12188MiB |      0%      Default |\r\n",
      "+-------------------------------+----------------------+----------------------+\r\n",
      "|   1  TITAN Xp            Off  | 00000000:02:00.0 Off |                  N/A |\r\n",
      "| 23%   31C    P8    17W / 250W |     10MiB / 12189MiB |      0%      Default |\r\n",
      "+-------------------------------+----------------------+----------------------+\r\n",
      "                                                                               \r\n",
      "+-----------------------------------------------------------------------------+\r\n",
      "| Processes:                                                       GPU Memory |\r\n",
      "|  GPU       PID   Type   Process name                             Usage      |\r\n",
      "|=============================================================================|\r\n",
      "|  No running processes found                                                 |\r\n",
      "+-----------------------------------------------------------------------------+\r\n"
     ]
    }
   ],
   "source": [
    "! nvidia-smi"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This table shows the GPU name, total and used GPU memory, temperature, power consumption, and utilization.  For this tutorial, we will be using the slightly older Tesla K80 cards with 12 GB of memory per device."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Software Requirements\n",
    "\n",
    "Once you have access to a suitable NVIDIA GPU and operating system drivers, you can get started very quickly by installing [Anaconda for 64-bit Linux](https://www.anaconda.com/download/?lang=en-us#linux).\n",
    "\n",
    "Once Anaconda is installed, you can use `conda` to install the GPU-accelerated Keras/TensorFlow:\n",
    "```\n",
    "conda install keras-gpu\n",
    "```\n",
    "(For this tutorial, we also use the `notebook`, `h5py`, `bokeh`, and `holoviews` packages.)\n",
    "\n",
    "We have already preloaded these packages into the tutorial environment, which you can verify with `conda list`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "# packages in environment at /home/seibert/anaconda/envs/ac2018:\r\n",
      "#\r\n",
      "# Name                    Version                   Build  Channel\r\n",
      "bokeh                     0.12.13          py36h2f9c1c0_0  \r\n",
      "h5py                      2.7.1            py36h3585f63_0  \r\n",
      "holoviews                 1.9.4                    py36_0  \r\n",
      "keras-gpu                 2.1.5                    py36_0  \r\n",
      "notebook                  5.4.0                    py36_0  \r\n",
      "tensorflow-gpu            1.4.1                         0  \r\n",
      "tensorflow-gpu-base       1.4.1            py36h01caf0a_0  \r\n",
      "tensorflow-tensorboard    0.4.0            py36hf484d3e_0  \r\n"
     ]
    }
   ],
   "source": [
    "! conda list 'keras|tensorflow|bokeh|holoviews|notebook|h5py'  # Using a regular expression to only show some packages"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Working With Keras and TensorFlow\n",
    "\n",
    "Now that we have verified the correct conda packages are installed, let's start importing some libraries.  First, we are going to import Holoviews (for plotting) and enable the Bokeh backend:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "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 !== undefined) {\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 element_id = msg.content.text.trim();\n",
       "            Bokeh.index[element_id].model.document.clear();\n",
       "            delete Bokeh.index[element_id];\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[0].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[0].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[0]);\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",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\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",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\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",
       "      !function(t,e){t.Bokeh=function(t,e,n){var i={},r=function(n){var o=null!=e[n]?e[n]:n;if(!i[o]){if(!t[o]){var s=new Error(\"Cannot find module '\"+n+\"'\");throw s.code=\"MODULE_NOT_FOUND\",s}var a=i[o]={exports:{}};t[o].call(a.exports,r,a,a.exports)}return i[o].exports},o=r(49);return o.require=r,o.register_plugin=function(n,i,s){for(var a in n)t[a]=n[a];for(var a in i)e[a]=i[a];var l=r(s);for(var a in l)o[a]=l[a];return l},o}([function(t,e,n){var i=t(135),r=t(30);n.overrides={};var o=r.clone(i);n.Models=function(t){var e=n.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},n.Models.register=function(t,e){n.overrides[t]=e},n.Models.unregister=function(t){delete n.overrides[t]},n.Models.register_models=function(t,e,n){if(void 0===e&&(e=!1),null!=t)for(var i in t){var r=t[i];e||!o.hasOwnProperty(i)?o[i]=r:null!=n?n(i):console.warn(\"Model '\"+i+\"' was already registered\")}},n.register_models=n.Models.register_models,n.Models.registered_names=function(){return Object.keys(o)},n.index={}},function(t,e,n){var i=t(302),r=t(14),o=t(47),s=t(245),a=t(246),l=t(2);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_SESSION_ID=\"default\";var u=0,h=function(){function t(t,e,i,o,s){void 0===t&&(t=n.DEFAULT_SERVER_WEBSOCKET_URL),void 0===e&&(e=n.DEFAULT_SESSION_ID),void 0===i&&(i=null),void 0===o&&(o=null),void 0===s&&(s=null),this.url=t,this.id=e,this.args_string=i,this._on_have_session_hook=o,this._on_closed_permanently_hook=s,this._number=u++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_ack=null,this._pending_replies={},this._receiver=new a.Receiver,r.logger.debug(\"Creating websocket \"+this._number+\" to '\"+this.url+\"' session '\"+this.id+\"'\")}return t.prototype.connect=function(){var t=this;if(this.closed_permanently)return i.Promise.reject(new Error(\"Cannot connect() a closed ClientConnection\"));if(null!=this.socket)return i.Promise.reject(new Error(\"Already connected\"));this._pending_replies={},this._current_handler=null;try{var e=this.url+\"?bokeh-protocol-version=1.0&bokeh-session-id=\"+this.id;return null!=this.args_string&&this.args_string.length>0&&(e+=\"&\"+this.args_string),this.socket=new WebSocket(e),new i.Promise(function(e,n){t.socket.binaryType=\"arraybuffer\",t.socket.onopen=function(){return t._on_open(e,n)},t.socket.onmessage=function(e){return t._on_message(e)},t.socket.onclose=function(e){return t._on_close(e)},t.socket.onerror=function(){return t._on_error(n)}})}catch(t){return r.logger.error(\"websocket creation failed to url: \"+this.url),r.logger.error(\" - \"+t),i.Promise.reject(t)}},t.prototype.close=function(){this.closed_permanently||(r.logger.debug(\"Permanently closing websocket connection \"+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,\"close method called on ClientConnection \"+this._number),this.session._connection_closed(),null!=this._on_closed_permanently_hook&&(this._on_closed_permanently_hook(),this._on_closed_permanently_hook=null))},t.prototype._schedule_reconnect=function(t){var e=this;setTimeout(function(){e.closed_permanently||r.logger.info(\"Websocket connection \"+e._number+\" disconnected, will not attempt to reconnect\");return},t)},t.prototype.send=function(t){if(null==this.socket)throw new Error(\"not connected so cannot send \"+t);t.send(this.socket)},t.prototype.send_with_reply=function(t){var e=this,n=new i.Promise(function(n,i){e._pending_replies[t.msgid()]=[n,i],e.send(t)});return n.then(function(t){if(\"ERROR\"===t.msgtype())throw new Error(\"Error reply \"+t.content.text);return t},function(t){throw t})},t.prototype._pull_doc_json=function(){var t=s.Message.create(\"PULL-DOC-REQ\",{}),e=this.send_with_reply(t);return e.then(function(t){if(!(\"doc\"in t.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return t.content.doc},function(t){throw t})},t.prototype._repull_session_doc=function(){var t=this;null==this.session?r.logger.debug(\"Pulling session for first time\"):r.logger.debug(\"Repulling session\"),this._pull_doc_json().then(function(e){if(null==t.session)if(t.closed_permanently)r.logger.debug(\"Got new document after connection was already closed\");else{var n=o.Document.from_json(e),i=o.Document._compute_patch_since_json(e,n);if(i.events.length>0){r.logger.debug(\"Sending \"+i.events.length+\" changes from model construction back to server\");var a=s.Message.create(\"PATCH-DOC\",{},i);t.send(a)}t.session=new l.ClientSession(t,n,t.id),r.logger.debug(\"Created a new session from new pulled doc\"),null!=t._on_have_session_hook&&(t._on_have_session_hook(t.session),t._on_have_session_hook=null)}else t.session.document.replace_with_json(e),r.logger.debug(\"Updated existing session with new pulled doc\")},function(t){throw t}).catch(function(t){null!=console.trace&&console.trace(t),r.logger.error(\"Failed to repull session \"+t)})},t.prototype._on_open=function(t,e){var n=this;r.logger.info(\"Websocket connection \"+this._number+\" is now open\"),this._pending_ack=[t,e],this._current_handler=function(t){n._awaiting_ack_handler(t)}},t.prototype._on_message=function(t){null==this._current_handler&&r.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(t.data)}catch(t){this._close_bad_protocol(t.toString())}if(null!=this._receiver.message){var e=this._receiver.message,n=e.problem();null!=n&&this._close_bad_protocol(n),this._current_handler(e)}},t.prototype._on_close=function(t){var e=this;r.logger.info(\"Lost websocket \"+this._number+\" connection, \"+t.code+\" (\"+t.reason+\")\"),this.socket=null,null!=this._pending_ack&&(this._pending_ack[1](new Error(\"Lost websocket connection, \"+t.code+\" (\"+t.reason+\")\")),this._pending_ack=null);for(var n=function(){for(var t in e._pending_replies){var n=e._pending_replies[t];return delete e._pending_replies[t],n}return null},i=n();null!=i;)i[1](\"Disconnected\"),i=n();this.closed_permanently||this._schedule_reconnect(2e3)},t.prototype._on_error=function(t){r.logger.debug(\"Websocket error on socket \"+this._number),t(new Error(\"Could not open websocket\"))},t.prototype._close_bad_protocol=function(t){r.logger.error(\"Closing connection: \"+t),null!=this.socket&&this.socket.close(1002,t)},t.prototype._awaiting_ack_handler=function(t){var e=this;\"ACK\"===t.msgtype()?(this._current_handler=function(t){return e._steady_state_handler(t)},this._repull_session_doc(),null!=this._pending_ack&&(this._pending_ack[0](this),this._pending_ack=null)):this._close_bad_protocol(\"First message was not an ACK\")},t.prototype._steady_state_handler=function(t){if(t.reqid()in this._pending_replies){var e=this._pending_replies[t.reqid()];delete this._pending_replies[t.reqid()],e[0](t)}else this.session.handle(t)},t}();n.ClientConnection=h,n.pull_session=function(t,e,n){var o;return new i.Promise(function(i,s){return(o=new h(t,e,n,function(t){try{i(t)}catch(e){throw r.logger.error(\"Promise handler threw an error, closing session \"+e),t.close(),e}},function(){s(new Error(\"Connection was closed before we successfully pulled a session\"))})).connect().then(function(t){},function(t){throw r.logger.error(\"Failed to connect to Bokeh server \"+t),t})})}},function(t,e,n){var i=t(14),r=t(47),o=t(245),s=function(){function t(t,e,n){var i=this;this._connection=t,this.document=e,this.id=n,this._document_listener=function(t){return i._document_changed(t)},this.document.on_change(this._document_listener),this.event_manager=this.document.event_manager,this.event_manager.session=this}return t.prototype.handle=function(t){var e=t.msgtype();\"PATCH-DOC\"===e?this._handle_patch(t):\"OK\"===e?this._handle_ok(t):\"ERROR\"===e?this._handle_error(t):i.logger.debug(\"Doing nothing with message \"+t.msgtype())},t.prototype.close=function(){this._connection.close()},t.prototype.send_event=function(t){var e=o.Message.create(\"EVENT\",{},JSON.stringify(t));this._connection.send(e)},t.prototype._connection_closed=function(){this.document.remove_on_change(this._document_listener)},t.prototype.request_server_info=function(){var t=o.Message.create(\"SERVER-INFO-REQ\",{}),e=this._connection.send_with_reply(t);return e.then(function(t){return t.content})},t.prototype.force_roundtrip=function(){return this.request_server_info().then(function(t){})},t.prototype._document_changed=function(t){if(t.setter_id!==this.id&&(!(t instanceof r.ModelChangedEvent)||t.attr in t.model.serializable_attributes())){var e=o.Message.create(\"PATCH-DOC\",{},this.document.create_json_patch([t]));this._connection.send(e)}},t.prototype._handle_patch=function(t){this.document.apply_json_patch(t.content,t.buffers,this.id)},t.prototype._handle_ok=function(t){i.logger.trace(\"Unhandled OK reply to \"+t.reqid())},t.prototype._handle_error=function(t){i.logger.error(\"Unhandled ERROR reply to \"+t.reqid()+\": \"+t.content.text)},t}();n.ClientSession=s},function(t,e,n){function i(t){return function(e){e.prototype.event_name=t,a[t]=e}}var r=t(364),o=t(14),s=t(30),a={};n.register_event_class=i,n.register_with_event=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=t.prototype.applicable_models.concat(e);t.prototype.applicable_models=i};var l=function(){function t(t){void 0===t&&(t={}),this.model_id=null,this._options=t,t.model_id&&(this.model_id=t.model_id)}return t.prototype.set_model_id=function(t){return this._options.model_id=t,this.model_id=t,this},t.prototype.is_applicable_to=function(t){return this.applicable_models.some(function(e){return t instanceof e})},t.event_class=function(t){if(t.type)return a[t.type];o.logger.warn(\"BokehEvent.event_class required events with a string type attribute\")},t.prototype.toJSON=function(){return{event_name:this.event_name,event_values:s.clone(this._options)}},t.prototype._customize_event=function(t){return this},t}();n.BokehEvent=l,l.prototype.applicable_models=[];var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"button_click\")],e)}(l);n.ButtonClick=u;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(l);n.UIEvent=h;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"lodstart\")],e)}(h);n.LODStart=c;var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"lodend\")],e)}(h);n.LODEnd=_;var p=function(t){function e(e){var n=t.call(this,e)||this;return n.geometry=e.geometry,n.final=e.final,n}return r.__extends(e,t),e=r.__decorate([i(\"selectiongeometry\")],e)}(h);n.SelectionGeometry=p;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"reset\")],e)}(h);n.Reset=d;var f=function(t){function e(e){var n=t.call(this,e)||this;return n.sx=e.sx,n.sy=e.sy,n.x=null,n.y=null,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,model_id:e})},e.prototype._customize_event=function(t){var e=t.plot_canvas.frame.xscales.default,n=t.plot_canvas.frame.yscales.default;return this.x=e.invert(this.sx),this.y=n.invert(this.sy),this._options.x=this.x,this._options.y=this.y,this},e}(h);n.PointEvent=f;var m=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.delta_x=e.delta_x,n.delta_y=e.delta_y,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,delta_x:t.deltaX,delta_y:t.deltaY,direction:t.direction,model_id:e})},e=r.__decorate([i(\"pan\")],e)}(f);n.Pan=m;var v=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.scale=e.scale,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,scale:t.scale,model_id:e})},e=r.__decorate([i(\"pinch\")],e)}(f);n.Pinch=v;var g=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.delta=e.delta,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,delta:t.bokeh.delta,model_id:e})},e=r.__decorate([i(\"wheel\")],e)}(f);n.MouseWheel=g;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mousemove\")],e)}(f);n.MouseMove=y;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mouseenter\")],e)}(f);n.MouseEnter=b;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mouseleave\")],e)}(f);n.MouseLeave=x;var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"tap\")],e)}(f);n.Tap=w;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"doubletap\")],e)}(f);n.DoubleTap=k;var S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"press\")],e)}(f);n.Press=S;var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"panstart\")],e)}(f);n.PanStart=T;var M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"panend\")],e)}(f);n.PanEnd=M;var A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"pinchstart\")],e)}(f);n.PinchStart=A;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"pinchend\")],e)}(f);n.PinchEnd=E},function(t,e,n){var i=t(22),r=t(30);n.build_views=function(t,e,n,o){void 0===o&&(o=function(t){return t.default_view});for(var s=0,a=i.difference(Object.keys(t),e.map(function(t){return t.id}));s<a.length;s++){var l=a[s];t[l].remove(),delete t[l]}for(var u=[],h=0,c=e.filter(function(e){return null==t[e.id]});h<c.length;h++){var _=c[h],p=o(_),d=r.extend({},n,{model:_,connect_signals:!1}),f=new p(d);t[_.id]=f,u.push(f)}for(var m=0,v=u;m<v.length;m++){var f=v[m];f.connect_signals()}return u},n.remove_views=function(t){for(var e in t)t[e].remove(),delete t[e]}},function(t,e,n){function i(t,e){var n=Element.prototype,i=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector;return i.call(t,e)}var r=t(42),o=function(t){return function(e){function n(t){if(t instanceof HTMLElement)s.appendChild(t);else if(r.isString(t))s.appendChild(document.createTextNode(t));else if(null!=t&&!1!==t)throw new Error(\"expected an HTMLElement, string, false or null, got \"+JSON.stringify(t))}void 0===e&&(e={});for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];var s=document.createElement(t);for(var a in e){var l=e[a];if(null!=l&&(!r.isBoolean(l)||l))if(\"class\"===a&&r.isArray(l))for(var u=0,h=l;u<h.length;u++){var c=h[u];null!=c&&s.classList.add(c)}else if(\"style\"===a&&r.isObject(l))for(var _ in l)s.style[_]=l[_];else if(\"data\"===a&&r.isObject(l))for(var p in l)s.dataset[p]=l[p];else s.setAttribute(a,l)}for(var d=0,f=i;d<f.length;d++){var m=f[d];if(r.isArray(m))for(var v=0,g=m;v<g.length;v++){var y=g[v];n(y)}else n(m)}return s}};n.createElement=function(t,e){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return o(t).apply(void 0,[e].concat(n))},n.div=o(\"div\"),n.span=o(\"span\"),n.link=o(\"link\"),n.style=o(\"style\"),n.a=o(\"a\"),n.p=o(\"p\"),n.pre=o(\"pre\"),n.button=o(\"button\"),n.label=o(\"label\"),n.input=o(\"input\"),n.select=o(\"select\"),n.option=o(\"option\"),n.optgroup=o(\"optgroup\"),n.canvas=o(\"canvas\"),n.ul=o(\"ul\"),n.ol=o(\"ol\"),n.li=o(\"li\"),n.nbsp=document.createTextNode(\" \"),n.removeElement=function(t){var e=t.parentNode;null!=e&&e.removeChild(t)},n.replaceWith=function(t,e){var n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=t.firstChild,r=0,o=e;r<o.length;r++){var s=o[r];t.insertBefore(s,i)}},n.empty=function(t){var e;for(;e=t.firstChild;)t.removeChild(e)},n.show=function(t){t.style.display=\"\"},n.hide=function(t){t.style.display=\"none\"},n.position=function(t){return{top:t.offsetTop,left:t.offsetLeft}},n.offset=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=i,n.parent=function(t,e){var n=t;for(;n=n.parentElement;)if(i(n,e))return n;return null};!function(t){t[t.Tab=9]=\"Tab\",t[t.Enter=13]=\"Enter\",t[t.Esc=27]=\"Esc\",t[t.PageUp=33]=\"PageUp\",t[t.PageDown=34]=\"PageDown\",t[t.Up=38]=\"Up\",t[t.Down=40]=\"Down\"}(n.Keys||(n.Keys={}))},function(t,e,n){var i=t(364),r=t(45),o=t(5),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){t.prototype.initialize.call(this,e),this._has_finished=!1,this.el=this._createElement()},e.prototype.remove=function(){o.removeElement(this.el),t.prototype.remove.call(this)},e.prototype.layout=function(){},e.prototype.render=function(){},e.prototype.renderTo=function(t,e){void 0===e&&(e=!1),e?o.replaceWith(t,this.el):t.appendChild(this.el),this.layout()},e.prototype.has_finished=function(){return this._has_finished},Object.defineProperty(e.prototype,\"_root_element\",{get:function(){return o.parent(this.el,\".bk-root\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"solver\",{get:function(){return this.is_root?this._solver:this.parent.solver},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_idle\",{get:function(){return this.has_finished()},enumerable:!0,configurable:!0}),e.prototype._createElement=function(){return o.createElement(this.tagName,{id:this.id,class:this.className})},e}(r.View);n.DOMView=s,s.prototype.tagName=\"div\",s.prototype.className=null},function(t,e,n){n.AngleUnits=[\"deg\",\"rad\"],n.Dimension=[\"width\",\"height\"],n.Dimensions=[\"width\",\"height\",\"both\"],n.Direction=[\"clock\",\"anticlock\"],n.FontStyle=[\"normal\",\"italic\",\"bold\"],n.LatLon=[\"lat\",\"lon\"],n.LineCap=[\"butt\",\"round\",\"square\"],n.LineJoin=[\"miter\",\"round\",\"bevel\"],n.Location=[\"above\",\"below\",\"left\",\"right\"],n.LegendLocation=[\"top_left\",\"top_center\",\"top_right\",\"center_left\",\"center\",\"center_right\",\"bottom_left\",\"bottom_center\",\"bottom_right\"],n.Orientation=[\"vertical\",\"horizontal\"],n.OutputBackend=[\"canvas\",\"svg\",\"webgl\"],n.RenderLevel=[\"image\",\"underlay\",\"glyph\",\"annotation\",\"overlay\"],n.RenderMode=[\"canvas\",\"css\"],n.Side=[\"left\",\"right\"],n.SpatialUnits=[\"screen\",\"data\"],n.StartEnd=[\"start\",\"end\"],n.VerticalAlign=[\"top\",\"middle\",\"bottom\"],n.TextAlign=[\"left\",\"right\",\"center\"],n.TextBaseline=[\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"],n.DistributionTypes=[\"uniform\",\"normal\"],n.StepModes=[\"after\",\"before\",\"center\"],n.SizingMode=[\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"],n.PaddingUnits=[\"percent\",\"absolute\"]},function(t,e,n){var i=t(364),r=t(20),o=t(16),s=t(33),a=t(15),l=t(37),u=t(22),h=t(30),c=t(42),_=t(28),p=function(t){function e(e,n){void 0===e&&(e={}),void 0===n&&(n={});var i=t.call(this)||this;i._subtype=void 0,i.document=null,i.destroyed=new r.Signal(i,\"destroyed\"),i.change=new r.Signal(i,\"change\"),i.transformchange=new r.Signal(i,\"transformchange\"),i.attributes={},i.properties={},i._set_after_defaults={},i._pending=!1,i._changing=!1;for(var o in i.props){var s=i.props[o],a=s.type,u=s.default_value;if(null==a)throw new Error(\"undefined property type for \"+i.type+\".\"+o);i.properties[o]=new a(i,o,u)}return null==e.id&&i.setv([\"id\",l.uniqueId()],{silent:!0}),i.setv(e,h.extend({silent:!0},n)),n.defer_initialization||i.finalize(e,n),i}return i.__extends(e,t),e.getters=function(t){for(var e in t){var n=t[e];Object.defineProperty(this.prototype,e,{get:n})}},e._fix_default=function(t,e){return void 0===t?void 0:c.isFunction(t)?t:c.isObject(t)?c.isArray(t)?function(){return u.copy(t)}:function(){return h.clone(t)}:function(){return t}},e.define=function(t){var e=function(e){var i=t[e];if(null!=n.prototype.props[e])throw new Error(\"attempted to redefine property '\"+n.prototype.type+\".\"+e+\"'\");if(null!=n.prototype[e])throw new Error(\"attempted to redefine attribute '\"+n.prototype.type+\".\"+e+\"'\");Object.defineProperty(n.prototype,e,{get:function(){var t=this.getv(e);return t},set:function(t){return this.setv([e,t]),this},configurable:!1,enumerable:!0});var r=i[0],o=i[1],s=i[2],a={type:r,default_value:n._fix_default(o,e),internal:s||!1},l=h.clone(n.prototype.props);l[e]=a,n.prototype.props=l},n=this;for(var i in t)e(i)},e.internal=function(t){var e={};for(var n in t){var i=t[n],r=i[0],o=i[1];e[n]=[r,o,!0]}this.define(e)},e.mixin=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.define(o.create(t));var n=this.prototype.mixins.concat(t);this.prototype.mixins=n},e.mixins=function(t){this.mixin.apply(this,t)},e.override=function(t){for(var e in t){var n=this._fix_default(t[e],e),i=this.prototype.props[e];if(null==i)throw new Error(\"attempted to override nonexistent '\"+this.prototype.type+\".\"+e+\"'\");var r=h.clone(this.prototype.props);r[e]=h.extend({},i,{default_value:n}),this.prototype.props=r}},e.prototype.toString=function(){return this.type+\"(\"+this.id+\")\"},e.prototype.finalize=function(t,e){var n=this;for(var i in this.properties){var r=this.properties[i];r.update(),null!=r.spec.transform&&this.connect(r.spec.transform.change,function(){return n.transformchange.emit(void 0)})}this.initialize(t,e),this.connect_signals()},e.prototype.initialize=function(t,e){},e.prototype.connect_signals=function(){},e.prototype.disconnect_signals=function(){r.Signal.disconnectReceiver(this)},e.prototype.destroy=function(){this.disconnect_signals(),this.destroyed.emit(void 0)},e.prototype.clone=function(){return new this.constructor(this.attributes)},e.prototype._setv=function(t,e){var n=e.check_eq,i=e.silent,r=[],o=this._changing;this._changing=!0;var s=this.attributes;for(var a in t){var l=t[a];!1!==n?_.isEqual(s[a],l)||r.push(a):r.push(a),s[a]=l}if(!i){r.length>0&&(this._pending=!0);for(var u=0;u<r.length;u++)this.properties[r[u]].change.emit(s[r[u]])}if(!o){if(!i&&!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit(void 0);this._pending=!1,this._changing=!1}},e.prototype.setv=function(t,e){void 0===e&&(e={});var n={};if(c.isArray(t)){var i=t,r=i[0],o=i[1];n[r]=o}else n=t;for(var s in n)if(n.hasOwnProperty(s)){var a=s;if(null==this.props[a])throw new Error(\"property \"+this.type+\".\"+a+\" wasn't declared\");null!=e&&e.defaults||(this._set_after_defaults[s]=!0)}if(!h.isEmpty(n)){var l={};for(var s in n)l[s]=this.getv(s);this._setv(n,e);var u=e.silent;if(null==u||!u)for(var s in n)this._tell_document_about_change(s,l[s],this.getv(s),e)}},e.prototype.getv=function(t){if(null==this.props[t])throw new Error(\"property \"+this.type+\".\"+t+\" wasn't declared\");return this.attributes[t]},e.prototype.ref=function(){return s.create_ref(this)},e.prototype.set_subtype=function(t){this._subtype=t},e.prototype.attribute_is_serializable=function(t){var e=this.props[t];if(null==e)throw new Error(this.type+\".attribute_is_serializable('\"+t+\"'): \"+t+\" wasn't declared\");return!e.internal},e.prototype.serializable_attributes=function(){var t={};for(var e in this.attributes){var n=this.attributes[e];this.attribute_is_serializable(e)&&(t[e]=n)}return t},e._value_to_json=function(t,n,i){if(n instanceof e)return n.ref();if(c.isArray(n)){for(var r=[],o=0;o<n.length;o++){var s=n[o];r.push(e._value_to_json(o.toString(),s,n))}return r}if(c.isObject(n)){var a={};for(var l in n)n.hasOwnProperty(l)&&(a[l]=e._value_to_json(l,n[l],n));return a}return n},e.prototype.attributes_as_json=function(t,n){void 0===t&&(t=!0),void 0===n&&(n=e._value_to_json);var i=this.serializable_attributes(),r={};for(var o in i)if(i.hasOwnProperty(o)){var s=i[o];t?r[o]=s:o in this._set_after_defaults&&(r[o]=s)}return n(\"attributes\",r,this)},e._json_record_references=function(t,n,i,r){if(null==n);else if(s.is_ref(n)){if(!(n.id in i)){var o=t.get_model_by_id(n.id);e._value_record_references(o,i,r)}}else if(c.isArray(n))for(var a=0,l=n;a<l.length;a++){var u=l[a];e._json_record_references(t,u,i,r)}else if(c.isObject(n))for(var h in n)if(n.hasOwnProperty(h)){var u=n[h];e._json_record_references(t,u,i,r)}},e._value_record_references=function(t,n,i){if(null==t);else if(t instanceof e){if(!(t.id in n)&&(n[t.id]=t,i))for(var r=t._immediate_references(),o=0,s=r;o<s.length;o++){var a=s[o];e._value_record_references(a,n,!0)}}else if(t.buffer instanceof ArrayBuffer);else if(c.isArray(t))for(var l=0,u=t;l<u.length;l++){var h=u[l];e._value_record_references(h,n,i)}else if(c.isObject(t))for(var _ in t)if(t.hasOwnProperty(_)){var h=t[_];e._value_record_references(h,n,i)}},e.prototype._immediate_references=function(){var t={},n=this.serializable_attributes();for(var i in n){var r=n[i];e._value_record_references(r,t,!1)}return h.values(t)},e.prototype.references=function(){var t={};return e._value_record_references(this,t,!0),h.values(t)},e.prototype._doc_attached=function(){},e.prototype.attach_document=function(t){if(null!=this.document&&this.document!=t)throw new Error(\"models must be owned by only a single document\");this.document=t,this._doc_attached()},e.prototype.detach_document=function(){this.document=null},e.prototype._tell_document_about_change=function(t,n,i,r){if(this.attribute_is_serializable(t)&&null!=this.document){var o={};e._value_record_references(i,o,!1);var s={};e._value_record_references(n,s,!1);var a=!1;for(var l in o)if(!(l in s)){a=!0;break}if(!a)for(var u in s)if(!(u in o)){a=!0;break}a&&this.document._invalidate_all_models(),this.document._notify_change(this,t,n,i,r)}},e.prototype.materialize_dataspecs=function(t){var e={};for(var n in this.properties){var i=this.properties[n];i.dataspec&&((!i.optional||null!=i.spec.value||n in this._set_after_defaults)&&(e[\"_\"+n]=i.array(t),null!=i.spec.field&&i.spec.field in t._shapes&&(e[\"_\"+n+\"_shape\"]=t._shapes[i.spec.field]),i instanceof a.Distance&&(e[\"max_\"+n]=u.max(e[\"_\"+n]))))}return e},e}(r.Signalable());n.HasProps=p,p.prototype.type=\"HasProps\",p.prototype.props={},p.prototype.mixins=[],p.define({id:[a.Any]})},function(t,e,n){function i(t){return t*t}function r(t,e,n,r){return i(t-n)+i(e-r)}function o(t,e,n){var i=r(e.x,e.y,n.x,n.y);if(0==i)return r(t.x,t.y,e.x,e.y);var o=((t.x-e.x)*(n.x-e.x)+(t.y-e.y)*(n.y-e.y))/i;return o<0?r(t.x,t.y,e.x,e.y):o>1?r(t.x,t.y,n.x,n.y):r(t.x,t.y,e.x+o*(n.x-e.x),e.y+o*(n.y-e.y))}var s=t(22),a=t(30);n.point_in_poly=function(t,e,n,i){for(var r=!1,o=n[n.length-1],s=i[i.length-1],a=0;a<n.length;a++){var l=n[a],u=i[a];s<e!=u<e&&o+(e-s)/(u-s)*(l-o)<t&&(r=!r),o=l,s=u}return r};var l=function(){return null},u=function(){function t(){this[\"0d\"]={glyph:null,get_view:l,indices:[]},this[\"1d\"]={indices:[]},this[\"2d\"]={indices:{}}}return Object.defineProperty(t.prototype,\"_0d\",{get:function(){return this[\"0d\"]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_1d\",{get:function(){return this[\"1d\"]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_2d\",{get:function(){return this[\"2d\"]},enumerable:!0,configurable:!0}),t.prototype.is_empty=function(){return 0==this._0d.indices.length&&0==this._1d.indices.length&&a.isEmpty(this._2d.indices)},t.prototype.update_through_union=function(t){this._0d.indices=s.union(t._0d.indices,this._0d.indices),this._0d.glyph=t._0d.glyph||this._0d.glyph,this._1d.indices=s.union(t._1d.indices,this._1d.indices),this._2d.indices=a.merge(t._2d.indices,this._2d.indices)},t}();n.HitTestResult=u,n.create_hit_test_result=function(){return new u},n.create_1d_hit_test_result=function(t){var e=new u;return e._1d.indices=s.sortBy(t,function(t){return t[0],t[1]}).map(function(t){var e=t[0];return t[1],e}),e},n.validate_bbox_coords=function(t,e){var n=t[0],i=t[1],r=e[0],o=e[1];n>i&&(s=[i,n],n=s[0],i=s[1]);r>o&&(a=[o,r],r=a[0],o=a[1]);return{minX:n,minY:r,maxX:i,maxY:o};var s,a},n.dist_2_pts=r,n.dist_to_segment_squared=o,n.dist_to_segment=function(t,e,n){return Math.sqrt(o(t,e,n))},n.check_2_segments_intersect=function(t,e,n,i,r,o,s,a){var l=(a-o)*(n-t)-(s-r)*(i-e);if(0==l)return{hit:!1,x:null,y:null};var u=e-o,h=t-r,c=(s-r)*u-(a-o)*h,_=(n-t)*u-(i-e)*h;h=_/l;var p=t+(u=c/l)*(n-t),d=e+u*(i-e);return{hit:u>0&&u<1&&h>0&&h<1,x:p,y:d}}},function(t,e,n){var i=t(13),r=t(22);n.vstack=function(t,e){var n=[];if(e.length>0){n.push(i.EQ(r.head(e)._bottom,[-1,t._bottom])),n.push(i.EQ(r.tail(e)._top,[-1,t._top])),n.push.apply(n,r.pairwise(e,function(t,e){return i.EQ(t._top,[-1,e._bottom])}));for(var o=0,s=e;o<s.length;o++){var a=s[o];n.push(i.EQ(a._left,[-1,t._left])),n.push(i.EQ(a._right,[-1,t._right]))}}return n},n.hstack=function(t,e){var n=[];if(e.length>0){n.push(i.EQ(r.head(e)._right,[-1,t._right])),n.push(i.EQ(r.tail(e)._left,[-1,t._left])),n.push.apply(n,r.pairwise(e,function(t,e){return i.EQ(t._left,[-1,e._right])}));for(var o=0,s=e;o<s.length;o++){var a=s[o];n.push(i.EQ(a._top,[-1,t._top])),n.push(i.EQ(a._bottom,[-1,t._bottom]))}}return n}},function(t,e,n){var i=t(364),r=t(13),o=t(8),s=t(23),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this._top=new r.Variable(this.toString()+\".top\"),this._left=new r.Variable(this.toString()+\".left\"),this._width=new r.Variable(this.toString()+\".width\"),this._height=new r.Variable(this.toString()+\".height\"),this._right=new r.Variable(this.toString()+\".right\"),this._bottom=new r.Variable(this.toString()+\".bottom\"),this._hcenter=new r.Variable(this.toString()+\".hcenter\"),this._vcenter=new r.Variable(this.toString()+\".vcenter\")},e.prototype.get_editables=function(){return[]},e.prototype.get_constraints=function(){return[r.GE(this._top),r.GE(this._bottom),r.GE(this._left),r.GE(this._right),r.GE(this._width),r.GE(this._height),r.EQ(this._left,this._width,[-1,this._right]),r.EQ(this._top,this._height,[-1,this._bottom]),r.EQ([2,this._hcenter],[-1,this._left],[-1,this._right]),r.EQ([2,this._vcenter],[-1,this._top],[-1,this._bottom])]},Object.defineProperty(e.prototype,\"bbox\",{get:function(){return new s.BBox({x0:this._left.value,y0:this._top.value,x1:this._right.value,y1:this._bottom.value})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"layout_bbox\",{get:function(){return{top:this._top.value,left:this._left.value,width:this._width.value,height:this._height.value,right:this._right.value,bottom:this._bottom.value,hcenter:this._hcenter.value,vcenter:this._vcenter.value}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"xview\",{get:function(){var t=this;return{compute:function(e){return t._left.value+e},v_compute:function(e){for(var n=new Float64Array(e.length),i=t._left.value,r=0;r<e.length;r++)n[r]=i+e[r];return n}}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"yview\",{get:function(){var t=this;return{compute:function(e){return t._bottom.value-e},v_compute:function(e){for(var n=new Float64Array(e.length),i=t._bottom.value,r=0;r<e.length;r++)n[r]=i-e[r];return n}}},enumerable:!0,configurable:!0}),e}(o.HasProps);n.LayoutCanvas=a,a.prototype.type=\"LayoutCanvas\"},function(t,e,n){var i,r,o,s,a,l,u,h,c,_=t(364),p=t(13),d=t(11),f=t(15),m=t(14),v=t(42);c=Math.PI/2,u={above:{parallel:0,normal:-c,horizontal:0,vertical:-c},below:{parallel:0,normal:c,horizontal:0,vertical:c},left:{parallel:-c,normal:0,horizontal:0,vertical:-c},right:{parallel:c,normal:0,horizontal:0,vertical:c}},h={above:{justified:\"top\",parallel:i=\"alphabetic\",normal:o=\"middle\",horizontal:i,vertical:o},below:{justified:\"bottom\",parallel:\"hanging\",normal:o,horizontal:\"hanging\",vertical:o},left:{justified:\"top\",parallel:i,normal:o,horizontal:o,vertical:i},right:{justified:\"top\",parallel:i,normal:o,horizontal:o,vertical:i}},s={above:{justified:r=\"center\",parallel:r,normal:\"left\",horizontal:r,vertical:\"left\"},below:{justified:r,parallel:r,normal:\"left\",horizontal:r,vertical:\"left\"},left:{justified:r,parallel:r,normal:\"right\",horizontal:\"right\",vertical:r},right:{justified:r,parallel:r,normal:\"left\",horizontal:\"left\",vertical:r}},a={above:\"right\",below:\"left\",left:\"right\",right:\"left\"},l={above:\"left\",below:\"right\",left:\"right\",right:\"left\"},n._view_sizes=new WeakMap,n.update_panel_constraints=function(t){var e,i;if(i=t.get_size(),e=t.solver,null!=t._size_constraint&&e.has_constraint(t._size_constraint)){if(n._view_sizes.get(t)===i)return;e.remove_constraint(t._size_constraint)}return n._view_sizes.set(t,i),t._size_constraint=p.GE(t.model.panel._size,-i),e.add_constraint(t._size_constraint)};var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return _.__extends(e,t),e.prototype.toString=function(){return this.type+\"(\"+this.id+\", \"+this.side+\")\"},e.prototype.initialize=function(e,n){switch(t.prototype.initialize.call(this,e,n),this.side){case\"above\":return this._dim=0,this._normals=[0,-1],this._size=this._height;case\"below\":return this._dim=0,this._normals=[0,1],this._size=this._height;case\"left\":return this._dim=1,this._normals=[-1,0],this._size=this._width;case\"right\":return this._dim=1,this._normals=[1,0],this._size=this._width;default:return m.logger.error(\"unrecognized side: '\"+this.side+\"'\")}},e.prototype.apply_label_text_heuristics=function(t,e){var n,i,r;return r=this.side,v.isString(e)?(i=h[r][e],n=s[r][e]):0===e?(i=h[r][e],n=s[r][e]):e<0?(i=\"middle\",n=a[r]):e>0&&(i=\"middle\",n=l[r]),t.textBaseline=i,t.textAlign=n,t},e.prototype.get_label_angle_heuristic=function(t){var e;return e=this.side,u[e][t]},e}(d.LayoutCanvas);n.SidePanel=g,g.prototype.type=\"SidePanel\",g.internal({side:[f.String]}),g.getters({is_horizontal:function(){return\"above\"===this.side||\"below\"===this.side},is_vertical:function(){return\"left\"===this.side||\"right\"===this.side}})},function(t,e,n){function i(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new o.Constraint(new(o.Expression.bind.apply(o.Expression,[void 0].concat(e))),t)}}function r(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new o.Constraint(new(o.Expression.bind.apply(o.Expression,[void 0].concat(e))),t,o.Strength.weak)}}var o=t(321);n.Variable=o.Variable,n.Expression=o.Expression,n.Constraint=o.Constraint,n.Operator=o.Operator,n.Strength=o.Strength,n.EQ=i(o.Operator.Eq),n.LE=i(o.Operator.Le),n.GE=i(o.Operator.Ge),n.WEAK_EQ=r(o.Operator.Eq),n.WEAK_LE=r(o.Operator.Le),n.WEAK_GE=r(o.Operator.Ge);var s=function(){function t(){this.solver=new o.Solver}return t.prototype.clear=function(){this.solver=new o.Solver},t.prototype.toString=function(){return\"Solver(num_constraints=\"+this.num_constraints+\", num_editables=\"+this.num_editables+\")\"},Object.defineProperty(t.prototype,\"num_constraints\",{get:function(){return this.solver.numConstraints},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"num_editables\",{get:function(){return this.solver.numEditVariables},enumerable:!0,configurable:!0}),t.prototype.get_constraints=function(){return this.solver.getConstraints()},t.prototype.update_variables=function(){this.solver.updateVariables()},t.prototype.has_constraint=function(t){return this.solver.hasConstraint(t)},t.prototype.add_constraint=function(t){try{this.solver.addConstraint(t)}catch(e){throw new Error(e.message+\": \"+t.toString())}},t.prototype.remove_constraint=function(t){this.solver.removeConstraint(t)},t.prototype.add_edit_variable=function(t,e){this.solver.addEditVariable(t,e)},t.prototype.remove_edit_variable=function(t){this.solver.removeEditVariable(t)},t.prototype.suggest_value=function(t,e){this.solver.suggestValue(t,e)},t}();n.Solver=s},function(t,e,n){var i=t(42),r={},o=function(){return function(t,e){this.name=t,this.level=e}}();n.LogLevel=o;var s=function(){function t(e,n){void 0===n&&(n=t.INFO),this._name=e,this.set_level(n)}return Object.defineProperty(t,\"levels\",{get:function(){return Object.keys(t.log_levels)},enumerable:!0,configurable:!0}),t.get=function(e,n){if(void 0===n&&(n=t.INFO),e.length>0){var i=r[e];return null==i&&(r[e]=i=new t(e,n)),i}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")},Object.defineProperty(t.prototype,\"level\",{get:function(){return this.get_level()},enumerable:!0,configurable:!0}),t.prototype.get_level=function(){return this._log_level},t.prototype.set_level=function(e){if(e instanceof o)this._log_level=e;else{if(!i.isString(e)||null==t.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=t.log_levels[e]}var n=\"[\"+this._name+\"]\";for(var r in t.log_levels){var s=t.log_levels[r];s.level<this._log_level.level||this._log_level.level===t.OFF.level?this[r]=function(){}:this[r]=function(t,e){return null!=console[t]?console[t].bind(console,e):null!=console.log?console.log.bind(console,e):function(){}}(r,n)}},t.prototype.trace=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.debug=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.info=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.warn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.error=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.TRACE=new o(\"trace\",0),t.DEBUG=new o(\"debug\",1),t.INFO=new o(\"info\",2),t.WARN=new o(\"warn\",6),t.ERROR=new o(\"error\",7),t.FATAL=new o(\"fatal\",8),t.OFF=new o(\"off\",9),t.log_levels={trace:t.TRACE,debug:t.DEBUG,info:t.INFO,warn:t.WARN,error:t.ERROR,fatal:t.FATAL,off:t.OFF},t}();n.Logger=s,n.logger=s.get(\"bokeh\"),n.set_log_level=function(t){null==s.log_levels[t]?(console.log(\"[bokeh] unrecognized logging level '\"+t+\"' passed to Bokeh.set_log_level(), ignoring\"),console.log(\"[bokeh] valid log levels are: \"+s.levels.join(\", \"))):(console.log(\"[bokeh] setting log level to: '\"+t+\"'\"),n.logger.set_level(t))}},function(t,e,n){function i(t){try{return JSON.stringify(t)}catch(e){return t.toString()}}function r(t,e){return function(n){function r(){return null!==n&&n.apply(this,arguments)||this}return a.__extends(r,n),r.prototype.validate=function(n){if(!e(n))throw new Error(t+\" property '\"+this.attr+\"' given invalid value: \"+i(n))},r}(d)}function o(t,e){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(t,function(t){return _.contains(e,t)}))}function s(t,e,n){return function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return a.__extends(r,i),r.prototype.init=function(){null==this.spec.units&&(this.spec.units=n);var i=this.spec.units;if(!_.contains(e,i))throw new Error(t+\" units must be one of \"+e+\", given invalid value: \"+i)},Object.defineProperty(r.prototype,\"units\",{get:function(){return this.spec.units},set:function(t){this.spec.units=t},enumerable:!0,configurable:!0}),r}(b)}var a=t(364),l=t(20),u=t(7),h=t(38),c=t(26),_=t(22),p=t(42),d=function(t){function e(e,n,i){var r=t.call(this)||this;return r.obj=e,r.attr=n,r.default_value=i,r.optional=!1,r.change=new l.Signal(r.obj,\"change\"),r._init(),r.connect(r.change,function(){return r._init()}),r}return a.__extends(e,t),e.prototype.update=function(){this._init()},e.prototype.init=function(){},e.prototype.transform=function(t){return t},e.prototype.validate=function(t){},e.prototype.value=function(t){if(void 0===t&&(t=!0),void 0===this.spec.value)throw new Error(\"attempted to retrieve property value for property without value specification\");var e=this.transform([this.spec.value])[0];return null!=this.spec.transform&&t&&(e=this.spec.transform.compute(e)),e},e.prototype.array=function(t){if(!this.dataspec)throw new Error(\"attempted to retrieve property array for non-dataspec property\");var e,n=t.data;if(null!=this.spec.field){if(!(this.spec.field in n))throw new Error(\"attempted to retrieve property array for nonexistent field '\"+this.spec.field+\"'\");e=this.transform(t.get_column(this.spec.field))}else if(null!=this.spec.expr)e=this.transform(this.spec.expr._v_compute(t));else{var i=t.get_length();null==i&&(i=1);var r=this.value(!1);e=_.repeat(r,i)}return null!=this.spec.transform&&(e=this.spec.transform.v_compute(e)),e},e.prototype._init=function(){var t=this.obj,e=this.attr,n=t.getv(e);if(void 0===n){var i=this.default_value;n=void 0!==i?i(t):null,t.setv([e,n],{silent:!0,defaults:!0})}if(p.isArray(n)?this.spec={value:n}:p.isObject(n)&&(void 0===n.value?0:1)+(void 0===n.field?0:1)+(void 0===n.expr?0:1)==1?this.spec=n:this.spec={value:n},null!=this.spec.field&&!p.isString(this.spec.field))throw new Error(\"field value for property '\"+e+\"' is not a string\");null!=this.spec.value&&this.validate(this.spec.value),this.init()},e.prototype.toString=function(){return\"Prop(\"+this.obj+\".\"+this.attr+\", spec: \"+i(this.spec)+\")\"},e}(l.Signalable());n.Property=d,d.prototype.dataspec=!1,n.simple_prop=r;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Any\",function(t){return!0}));n.Any=f;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Array\",function(t){return p.isArray(t)||t instanceof Float64Array}));n.Array=m;var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Bool\",p.isBoolean));n.Bool=v,n.Boolean=v;var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Color\",function(t){return null!=h[t.toLowerCase()]||\"#\"==t.substring(0,1)||c.valid_rgb(t)}));n.Color=g;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Instance\",function(t){return null!=t.properties}));n.Instance=y;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Number\",function(t){return p.isNumber(t)||p.isBoolean(t)}));n.Number=b,n.Int=b;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Number\",function(t){return(p.isNumber(t)||p.isBoolean(t))&&0<=t&&t<=1}));n.Percent=x;var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"String\",p.isString));n.String=w;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.Font=k,n.enum_prop=o;var S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Anchor\",u.LegendLocation));n.Anchor=S;var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"AngleUnits\",u.AngleUnits));n.AngleUnits=T;var M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e.prototype.transform=function(t){for(var e=new Uint8Array(t.length),n=0;n<t.length;n++)switch(t[n]){case\"clock\":e[n]=0;break;case\"anticlock\":e[n]=1}return e},e}(o(\"Direction\",u.Direction));n.Direction=M;var A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Dimension\",u.Dimension));n.Dimension=A;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Dimensions\",u.Dimensions));n.Dimensions=E;var z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"FontStyle\",u.FontStyle));n.FontStyle=z;var C=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LatLon\",u.LatLon));n.LatLon=C;var O=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LineCap\",u.LineCap));n.LineCap=O;var N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LineJoin\",u.LineJoin));n.LineJoin=N;var j=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LegendLocation\",u.LegendLocation));n.LegendLocation=j;var P=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Location\",u.Location));n.Location=P;var D=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"OutputBackend\",u.OutputBackend));n.OutputBackend=D;var F=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Orientation\",u.Orientation));n.Orientation=F;var I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"VerticalAlign\",u.VerticalAlign));n.VerticalAlign=I;var B=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"TextAlign\",u.TextAlign));n.TextAlign=B;var R=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"TextBaseline\",u.TextBaseline));n.TextBaseline=R;var L=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"RenderLevel\",u.RenderLevel));n.RenderLevel=L;var V=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"RenderMode\",u.RenderMode));n.RenderMode=V;var G=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"SizingMode\",u.SizingMode));n.SizingMode=G;var U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"SpatialUnits\",u.SpatialUnits));n.SpatialUnits=U;var Y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Distribution\",u.DistributionTypes));n.Distribution=Y;var q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"StepMode\",u.StepModes));n.StepMode=q;var X=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"PaddingUnits\",u.PaddingUnits));n.PaddingUnits=X;var W=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"StartEnd\",u.StartEnd));n.StartEnd=W,n.units_prop=s;var H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e.prototype.transform=function(e){return\"deg\"==this.spec.units&&(e=_.map(e,function(t){return t*Math.PI/180})),e=_.map(e,function(t){return-t}),t.prototype.transform.call(this,e)},e}(s(\"Angle\",u.AngleUnits,\"rad\"));n.Angle=H;var J=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(s(\"Distance\",u.SpatialUnits,\"data\"));n.Distance=J;var Q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(H);n.AngleSpec=Q,Q.prototype.dataspec=!0;var $=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(g);n.ColorSpec=$,$.prototype.dataspec=!0;var Z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(J);n.DirectionSpec=Z,Z.prototype.dataspec=!0;var K=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(J);n.DistanceSpec=K,K.prototype.dataspec=!0;var tt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.FontSizeSpec=tt,tt.prototype.dataspec=!0;var et=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(b);n.NumberSpec=et,et.prototype.dataspec=!0;var nt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.StringSpec=nt,nt.prototype.dataspec=!0},function(t,e,n){var i,r,o,s,a=t(15),l=t(30);r=function(t,e){var n,i,r;i={},null==e&&(e=\"\");for(n in t)r=t[n],i[e+n]=r;return i},o={line_color:[a.ColorSpec,\"black\"],line_width:[a.NumberSpec,1],line_alpha:[a.NumberSpec,1],line_join:[a.LineJoin,\"miter\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},n.line=function(t){return r(o,t)},i={fill_color:[a.ColorSpec,\"gray\"],fill_alpha:[a.NumberSpec,1]},n.fill=function(t){return r(i,t)},s={text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeSpec,\"12pt\"],text_font_style:[a.FontStyle,\"normal\"],text_color:[a.ColorSpec,\"#444444\"],text_alpha:[a.NumberSpec,1],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]},n.text=function(t){return r(s,t)},n.create=function(t){var e,n,i,r,o,s;for(s={},n=0,r=t.length;n<r;n++){if(e=t[n],a=e.split(\":\"),i=a[0],o=a[1],null==this[i])throw new Error(\"Unknown property mixin kind '\"+i+\"'\");s=l.extend(s,this[i](o))}return s;var a}},function(t,e,n){var i=t(364),r=t(8),o=t(18),s=t(9),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this.selector=new o.Selector,this.inspectors={}},e.prototype.select=function(t,e,n,i){void 0===i&&(i=!1);for(var r=!1,o=0,s=t;o<s.length;o++){var a=s[o];r=r||a.hit_test(e,n,i)}return r},e.prototype.inspect=function(t,e){var n=!1;return n=n||t.hit_test(e,!1,!1,\"inspect\")},e.prototype.clear=function(t){this.selector.clear(),this.source.selected=s.create_hit_test_result()},e.prototype.get_or_create_inspector=function(t){return null==this.inspectors[t.id]&&(this.inspectors[t.id]=new o.Selector),this.inspectors[t.id]},e}(r.HasProps);n.SelectionManager=l,l.prototype.type=\"SelectionManager\",l.internal({source:[a.Any]})},function(t,e,n){var i=t(364),r=t(8),o=t(9),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.update=function(t,e,n,i){void 0===i&&(i=!1),this.setv({timestamp:new Date},{silent:i}),this.setv({final:e},{silent:i}),n&&t.update_through_union(this.indices),this.setv({indices:t},{silent:i})},e.prototype.clear=function(){this.timestamp=new Date,this.final=!0,this.indices=new o.HitTestResult},e}(r.HasProps);n.Selector=a,a.prototype.type=\"Selector\",a.internal({indices:[s.Any,function(){return new o.HitTestResult}],final:[s.Boolean],timestamp:[s.Any]})},function(t,e,n){var i=function(){function t(){this._dev=!1}return Object.defineProperty(t.prototype,\"dev\",{get:function(){return this._dev},set:function(t){this._dev=t},enumerable:!0,configurable:!0}),t}();n.Settings=i,n.settings=new i},function(t,e,n){function i(t,e,n,i){return l.find(t,function(t){return t.signal===e&&t.slot===n&&t.context===i})}function r(t){0===_.size&&a.defer(o),_.add(t)}function o(){_.forEach(function(t){l.removeBy(t,function(t){return null==t.signal})}),_.clear()}var s=t(364),a=t(24),l=t(22),u=function(){function t(t,e){this.sender=t,this.name=e}return t.prototype.connect=function(t,e){void 0===e&&(e=null),h.has(this.sender)||h.set(this.sender,[]);var n=h.get(this.sender);if(null!=i(n,this,t,e))return!1;var r=e||t;c.has(r)||c.set(r,[]);var o=c.get(r),s={signal:this,slot:t,context:e};return n.push(s),o.push(s),!0},t.prototype.disconnect=function(t,e){void 0===e&&(e=null);var n=h.get(this.sender);if(null==n||0===n.length)return!1;var o=i(n,this,t,e);if(null==o)return!1;var s=e||t,a=c.get(s);return o.signal=null,r(n),r(a),!0},t.prototype.emit=function(t){for(var e=h.get(this.sender)||[],n=0,i=e;n<i.length;n++){var r=i[n],o=r.signal,s=r.slot,a=r.context;o===this&&s.call(a,t,this.sender)}},t}();n.Signal=u,function(t){t.disconnectBetween=function(t,e){var n=h.get(t);if(null==n||0===n.length)return;var i=c.get(e);if(null==i||0===i.length)return;for(var o=0,s=i;o<s.length;o++){var a=s[o];if(null==a.signal)return;a.signal.sender===t&&(a.signal=null)}r(n),r(i)},t.disconnectSender=function(t){var e=h.get(t);if(null==e||0===e.length)return;for(var n=0,i=e;n<i.length;n++){var o=i[n];if(null==o.signal)return;var s=o.context||o.slot;o.signal=null,r(c.get(s))}r(e)},t.disconnectReceiver=function(t){var e=c.get(t);if(null==e||0===e.length)return;for(var n=0,i=e;n<i.length;n++){var o=i[n];if(null==o.signal)return;var s=o.signal.sender;o.signal=null,r(h.get(s))}r(e)},t.disconnectAll=function(t){var e=h.get(t);if(null!=e&&0!==e.length){for(var n=0,i=e;n<i.length;n++){var o=i[n];o.signal=null}r(e)}var s=c.get(t);if(null!=s&&0!==s.length){for(var a=0,l=s;a<l.length;a++){var o=l[a];o.signal=null}r(s)}}}(u=n.Signal||(n.Signal={})),n.Signal=u,n.Signalable=function(t){return null!=t?function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.connect=function(t,e){return t.connect(e,this)},e}(t):function(){function t(){}return t.prototype.connect=function(t,e){return t.connect(e,this)},t}()};!function(t){t.connect=function(t,e){return t.connect(e,this)}}(n._Signalable||(n._Signalable={}));var h=new WeakMap,c=new WeakMap,_=new Set},function(t,e,n){var i=t(318),r=t(20),o=t(14),s=t(5),a=t(43),l=t(30),u=t(3);n.UIEvents=function(){function t(t,e,n,i){this.plot_view=t,this.toolbar=e,this.hit_area=n,this.plot=i,this.tap=new r.Signal(this,\"tap\"),this.doubletap=new r.Signal(this,\"doubletap\"),this.press=new r.Signal(this,\"press\"),this.pan_start=new r.Signal(this,\"pan:start\"),this.pan=new r.Signal(this,\"pan\"),this.pan_end=new r.Signal(this,\"pan:end\"),this.pinch_start=new r.Signal(this,\"pinch:start\"),this.pinch=new r.Signal(this,\"pinch\"),this.pinch_end=new r.Signal(this,\"pinch:end\"),this.rotate_start=new r.Signal(this,\"rotate:start\"),this.rotate=new r.Signal(this,\"rotate\"),this.rotate_end=new r.Signal(this,\"rotate:end\"),this.move_enter=new r.Signal(this,\"move:enter\"),this.move=new r.Signal(this,\"move\"),this.move_exit=new r.Signal(this,\"move:exit\"),this.scroll=new r.Signal(this,\"scroll\"),this.keydown=new r.Signal(this,\"keydown\"),this.keyup=new r.Signal(this,\"keyup\"),this._configure_hammerjs()}return t.prototype._configure_hammerjs=function(){var t=this;return this.hammer=new i(this.hit_area),this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",function(e){return t._doubletap(e)}),this.hammer.on(\"tap\",function(e){return t._tap(e)}),this.hammer.on(\"press\",function(e){return t._press(e)}),this.hammer.get(\"pan\").set({direction:i.DIRECTION_ALL}),this.hammer.on(\"panstart\",function(e){return t._pan_start(e)}),this.hammer.on(\"pan\",function(e){return t._pan(e)}),this.hammer.on(\"panend\",function(e){return t._pan_end(e)}),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",function(e){return t._pinch_start(e)}),this.hammer.on(\"pinch\",function(e){return t._pinch(e)}),this.hammer.on(\"pinchend\",function(e){return t._pinch_end(e)}),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",function(e){return t._rotate_start(e)}),this.hammer.on(\"rotate\",function(e){return t._rotate(e)}),this.hammer.on(\"rotateend\",function(e){return t._rotate_end(e)}),this.hit_area.addEventListener(\"mousemove\",function(e){return t._mouse_move(e)}),this.hit_area.addEventListener(\"mouseenter\",function(e){return t._mouse_enter(e)}),this.hit_area.addEventListener(\"mouseleave\",function(e){return t._mouse_exit(e)}),this.hit_area.addEventListener(\"wheel\",function(e){return t._mouse_wheel(e)}),document.addEventListener(\"keydown\",function(e){return t._key_down(e)}),document.addEventListener(\"keyup\",function(e){return t._key_up(e)})},t.prototype.register_tool=function(t,e){var n,i,r,s,a,l,u;if(null==(i=e||t.model.event_type)||\"string\"==typeof i){if(s=t.model.id,l=t.model.type,null!=i){switch(u=t,i){case\"pan\":null!=u._pan_start&&u.connect(this.pan_start,function(t){if(t.id===s)return u._pan_start(t.e)}),null!=u._pan&&u.connect(this.pan,function(t){if(t.id===s)return u._pan(t.e)}),null!=u._pan_end&&u.connect(this.pan_end,function(t){if(t.id===s)return u._pan_end(t.e)});break;case\"pinch\":null!=u._pinch_start&&u.connect(this.pinch_start,function(t){if(t.id===s)return u._pinch_start(t.e)}),null!=u._pinch&&u.connect(this.pinch,function(t){if(t.id===s)return u._pinch(t.e)}),null!=u._pinch_end&&u.connect(this.pinch_end,function(t){if(t.id===s)return u._pinch_end(t.e)});break;case\"rotate\":null!=u._rotate_start&&u.connect(this.rotate_start,function(t){if(t.id===s)return u._rotate_start(t.e)}),null!=u._rotate&&u.connect(this.rotate,function(t){if(t.id===s)return u._rotate(t.e)}),null!=u._rotate_end&&u.connect(this.rotate_end,function(t){if(t.id===s)return u._rotate_end(t.e)});break;case\"move\":null!=u._move_enter&&u.connect(this.move_enter,function(t){if(t.id===s)return u._move_enter(t.e)}),null!=u._move&&u.connect(this.move,function(t){if(t.id===s)return u._move(t.e)}),null!=u._move_exit&&u.connect(this.move_exit,function(t){if(t.id===s)return u._move_exit(t.e)});break;case\"tap\":null!=u._tap&&u.connect(this.tap,function(t){if(t.id===s)return u._tap(t.e)});break;case\"press\":null!=u._press&&u.connect(this.press,function(t){if(t.id===s)return u._press(t.e)});break;case\"scroll\":null!=u._scroll&&u.connect(this.scroll,function(t){if(t.id===s)return u._scroll(t.e)});break;default:throw new Error(\"unsupported event_type: \"+ev)}return null!=u._doubletap&&u.connect(this.doubletap,function(t){return u._doubletap(t.e)}),null!=u._keydown&&u.connect(this.keydown,function(t){return u._keydown(t.e)}),null!=u._keyup&&u.connect(this.keyup,function(t){return u._keyup(t.e)}),(\"ontouchstart\"in window||navigator.maxTouchPoints>0)&&\"pinch\"===i?(o.logger.debug(\"Registering scroll on touch screen\"),u.connect(this.scroll,function(t){if(t.id===s)return u._scroll(t.e)})):void 0}o.logger.debug(\"Button tool: \"+l)}else for(r=0,a=i.length;r<a;r++)n=i[r],this.register_tool(t,n)},t.prototype._hit_test_renderers=function(t,e){var n,i,r,o;for(i=this.plot_view.get_renderer_views(),n=i.length-1;n>=0;n+=-1)if(o=i[n],(\"annotation\"===(r=o.model.level)||\"overlay\"===r)&&null!=o.bbox&&o.bbox().contains(t,e))return o;return null},t.prototype._hit_test_frame=function(t,e){return this.plot_view.frame.bbox.contains(t,e)},t.prototype._trigger=function(t,e){var n,i,r,o,s,a,u,h,c,_,p;switch(a=t.name,o=a.split(\":\")[0],p=this._hit_test_renderers(e.bokeh.sx,e.bokeh.sy),o){case\"move\":for(i=this.toolbar.inspectors.filter(function(t){return t.active}),s=\"default\",null!=p?(null!=p.model.cursor&&(s=p.model.cursor()),l.isEmpty(i)||(t=this.move_exit,a=t.name)):this._hit_test_frame(e.bokeh.sx,e.bokeh.sy)&&(l.isEmpty(i)||(s=\"crosshair\")),this.plot_view.set_cursor(s),_=[],u=0,c=i.length;u<c;u++)h=i[u],_.push(this.trigger(t,e,h.id));return _;case\"tap\":if(null!=p&&\"function\"==typeof p.on_hit&&p.on_hit(e.bokeh.sx,e.bokeh.sy),null!=(n=this.toolbar.gestures[o].active))return this.trigger(t,e,n.id);break;case\"scroll\":if(r=\"ontouchstart\"in window||navigator.maxTouchPoints>0?\"pinch\":\"scroll\",null!=(n=this.toolbar.gestures[r].active))return e.preventDefault(),e.stopPropagation(),this.trigger(t,e,n.id);break;default:if(null!=(n=this.toolbar.gestures[o].active))return this.trigger(t,e,n.id)}},t.prototype.trigger=function(t,e,n){return void 0===n&&(n=null),t.emit({id:n,e:e})},t.prototype._event_sxy=function(t){var e,n;return i=s.offset(this.hit_area),e=i.left,n=i.top,{sx:t.pageX-e,sy:t.pageY-n};var i},t.prototype._bokify_hammer=function(t,e){void 0===e&&(e={});var n;return t.bokeh=l.extend(this._event_sxy(t.srcEvent),e),null!=(n=u.BokehEvent.event_class(t))?this.plot.trigger_event(n.from_event(t)):o.logger.debug(\"Unhandled event of type \"+t.type)},t.prototype._bokify_point_event=function(t,e){void 0===e&&(e={});var n;return t.bokeh=l.extend(this._event_sxy(t),e),null!=(n=u.BokehEvent.event_class(t))?this.plot.trigger_event(n.from_event(t)):o.logger.debug(\"Unhandled event of type \"+t.type)},t.prototype._tap=function(t){return this._bokify_hammer(t),this._trigger(this.tap,t)},t.prototype._doubletap=function(t){return this._bokify_hammer(t),this.trigger(this.doubletap,t)},t.prototype._press=function(t){return this._bokify_hammer(t),this._trigger(this.press,t)},t.prototype._pan_start=function(t){return this._bokify_hammer(t),t.bokeh.sx-=t.deltaX,t.bokeh.sy-=t.deltaY,this._trigger(this.pan_start,t)},t.prototype._pan=function(t){return this._bokify_hammer(t),this._trigger(this.pan,t)},t.prototype._pan_end=function(t){return this._bokify_hammer(t),this._trigger(this.pan_end,t)},t.prototype._pinch_start=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_start,t)},t.prototype._pinch=function(t){return this._bokify_hammer(t),this._trigger(this.pinch,t)},t.prototype._pinch_end=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_end,t)},t.prototype._rotate_start=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_start,t)},t.prototype._rotate=function(t){return this._bokify_hammer(t),this._trigger(this.rotate,t)},t.prototype._rotate_end=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_end,t)},t.prototype._mouse_enter=function(t){return this._bokify_point_event(t),this._trigger(this.move_enter,t)},t.prototype._mouse_move=function(t){return this._bokify_point_event(t),this._trigger(this.move,t)},t.prototype._mouse_exit=function(t){return this._bokify_point_event(t),this._trigger(this.move_exit,t)},t.prototype._mouse_wheel=function(t){return this._bokify_point_event(t,{delta:a.getDeltaY(t)}),this._trigger(this.scroll,t)},t.prototype._key_down=function(t){return this.trigger(this.keydown,t)},t.prototype._key_up=function(t){return this.trigger(this.keyup,t)},t}()},function(t,e,n){function i(t){return(e=[]).concat.apply(e,t);var e}function r(t,e){return-1!==t.indexOf(e)}function o(t,e,n){void 0===n&&(n=1),null==e&&(e=t,t=0);for(var i=Math.max(Math.ceil((e-t)/n),0),r=Array(i),o=0;o<i;o++,t+=n)r[o]=t;return r}function s(t,e){if(0==t.length)throw new Error(\"minBy() called with an empty array\");for(var n=t[0],i=e(n),r=1,o=t.length;r<o;r++){var s=t[r],a=e(s);a<i&&(n=s,i=a)}return n}function a(t,e){if(0==t.length)throw new Error(\"maxBy() called with an empty array\");for(var n=t[0],i=e(n),r=1,o=t.length;r<o;r++){var s=t[r],a=e(s);a>i&&(n=s,i=a)}return n}function l(t){return function(e,n){for(var i=e.length,r=t>0?0:i-1;r>=0&&r<i;r+=t)if(n(e[r]))return r;return-1}}function u(t){for(var e=[],n=0,i=t;n<i.length;n++){var o=i[n];r(e,o)||e.push(o)}return e}var h=t(29),c=Array.prototype.slice;n.head=function(t){return t[0]},n.tail=function(t){return t[t.length-1]},n.last=function(t){return t[t.length-1]},n.copy=function(t){return c.call(t)},n.concat=i,n.contains=r,n.nth=function(t,e){return t[e>=0?e:t.length+e]},n.zip=function(t,e){for(var n=Math.min(t.length,e.length),i=new Array(n),r=0;r<n;r++)i[r]=[t[r],e[r]];return i},n.unzip=function(t){for(var e=t.length,n=new Array(e),i=new Array(e),r=0;r<e;r++)o=t[r],n[r]=o[0],i[r]=o[1];return[n,i];var o},n.range=o,n.linspace=function(t,e,n){void 0===n&&(n=100);for(var i=(e-t)/(n-1),r=new Array(n),o=0;o<n;o++)r[o]=t+i*o;return r},n.transpose=function(t){for(var e=t.length,n=t[0].length,i=[],r=0;r<n;r++){i[r]=[];for(var o=0;o<e;o++)i[r][o]=t[o][r]}return i},n.sum=function(t){return t.reduce(function(t,e){return t+e},0)},n.cumsum=function(t){var e=[];return t.reduce(function(t,n,i){return e[i]=t+n},0),e},n.min=function(t){for(var e,n=1/0,i=0,r=t.length;i<r;i++)(e=t[i])<n&&(n=e);return n},n.minBy=s,n.max=function(t){for(var e,n=-1/0,i=0,r=t.length;i<r;i++)(e=t[i])>n&&(n=e);return n},n.maxBy=a,n.argmin=function(t){return s(o(t.length),function(e){return t[e]})},n.argmax=function(t){return a(o(t.length),function(e){return t[e]})},n.all=function(t,e){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(!e(r))return!1}return!0},n.any=function(t,e){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(e(r))return!0}return!1},n.findIndex=l(1),n.findLastIndex=l(-1),n.find=function(t,e){var i=n.findIndex(t,e);return-1==i?void 0:t[i]},n.findLast=function(t,e){var i=n.findLastIndex(t,e);return-1==i?void 0:t[i]},n.sortedIndex=function(t,e){var n=0,i=t.length;for(;n<i;){var r=Math.floor((n+i)/2);t[r]<e?n=r+1:i=r}return n},n.sortBy=function(t,e){var n=t.map(function(t,n){return{value:t,index:n,key:e(t)}});return n.sort(function(t,e){var n=t.key,i=e.key;if(n!==i){if(n>i||void 0===n)return 1;if(n<i||void 0===i)return-1}return t.index-e.index}),n.map(function(t){return t.value})},n.uniq=u,n.uniqBy=function(t,e){for(var n=[],i=[],o=0,s=t;o<s.length;o++){var a=s[o],l=e(a);r(i,l)||(i.push(l),n.push(a))}return n},n.union=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return u(i(t))},n.intersection=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=[];t:for(var o=0,s=t;o<s.length;o++){var a=s[o];if(!r(i,a)){for(var l=0,u=e;l<u.length;l++){var h=u[l];if(!r(h,a))continue t}i.push(a)}}return i},n.difference=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var o=i(e);return t.filter(function(t){return!r(o,t)})},n.removeBy=function(t,e){for(var n=0;n<t.length;)e(t[n])?t.splice(n,1):n++},n.shuffle=function(t){for(var e=t.length,n=new Array(e),i=0;i<e;i++){var r=h.randomIn(0,i);r!==i&&(n[i]=n[r]),n[r]=t[i]}return n},n.pairwise=function(t,e){for(var n=t.length,i=new Array(n-1),r=0;r<n-1;r++)i[r]=e(t[r],t[r+1]);return i},n.reversed=function(t){for(var e=t.length,n=new Array(e),i=0;i<e;i++)n[e-i-1]=t[i];return n},n.repeat=function(t,e){for(var n=new Array(e),i=0;i<e;i++)n[i]=t;return n},n.map=function(t,e){for(var n=t.length,i=new Array(n),r=0;r<n;r++)i[r]=e(t[r]);return i}},function(t,e,n){var i=Math.min,r=Math.max;n.empty=function(){return{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},n.positive_x=function(){return{minX:Number.MIN_VALUE,minY:-1/0,maxX:1/0,maxY:1/0}},n.positive_y=function(){return{minX:-1/0,minY:Number.MIN_VALUE,maxX:1/0,maxY:1/0}},n.union=function(t,e){return{minX:i(t.minX,e.minX),maxX:r(t.maxX,e.maxX),minY:i(t.minY,e.minY),maxY:r(t.maxY,e.maxY)}};var o=function(){function t(t){if(\"x0\"in t&&\"y0\"in t&&\"x1\"in t&&\"y1\"in t){var e=t,n=e.x0,i=e.y0,r=e.x1,o=e.y1;if(!(n<=r&&i<=o))throw new Error(\"invalid bbox {x0: \"+n+\", y0: \"+i+\", x1: \"+r+\", y1: \"+o+\"}\");this.x0=n,this.y0=i,this.x1=r,this.y1=o}else{var s=t,a=s.x,l=s.y,u=s.width,h=s.height;if(!(u>=0&&h>=0))throw new Error(\"invalid bbox {x: \"+a+\", y: \"+l+\", width: \"+u+\", height: \"+h+\"}\");this.x0=a,this.y0=l,this.x1=a+u,this.y1=l+h}}return Object.defineProperty(t.prototype,\"minX\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"minY\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxX\",{get:function(){return this.x1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxY\",{get:function(){return this.y1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"left\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"top\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"right\",{get:function(){return this.x1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"bottom\",{get:function(){return this.y1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p0\",{get:function(){return[this.x0,this.y0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p1\",{get:function(){return[this.x1,this.y1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"x\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this.x1-this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this.y1-this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"rect\",{get:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"h_range\",{get:function(){return{start:this.x0,end:this.x1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"v_range\",{get:function(){return{start:this.y0,end:this.y1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ranges\",{get:function(){return[this.h_range,this.v_range]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"aspect\",{get:function(){return this.width/this.height},enumerable:!0,configurable:!0}),t.prototype.contains=function(t,e){return t>=this.x0&&t<=this.x1&&e>=this.y0&&e<=this.y1},t.prototype.clip=function(t,e){return t<this.x0?t=this.x0:t>this.x1&&(t=this.x1),e<this.y0?e=this.y0:e>this.y1&&(e=this.y1),[t,e]},t.prototype.union=function(e){return new t({x0:i(this.x0,e.x0),y0:i(this.y0,e.y0),x1:r(this.x1,e.x1),y1:r(this.y1,e.y1)})},t}();n.BBox=o},function(t,e,n){n.delay=function(t,e){return setTimeout(t,e)};var i=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;n.defer=function(t){return i(t)},n.throttle=function(t,e,n){void 0===n&&(n={});var i,r,o,s=null,a=0,l=function(){a=!1===n.leading?0:Date.now(),s=null,o=t.apply(i,r),s||(i=r=null)};return function(){var u=Date.now();a||!1!==n.leading||(a=u);var h=e-(u-a);return i=this,r=arguments,h<=0||h>e?(s&&(clearTimeout(s),s=null),a=u,o=t.apply(i,r),s||(i=r=null)):s||!1===n.trailing||(s=setTimeout(l,h)),o}},n.once=function(t){var e,n=!1;return function(){return n||(n=!0,e=t()),e}}},function(t,e,n){n.fixup_ctx=function(t){(function(t){t.setLineDash||(t.setLineDash=function(e){t.mozDash=e,t.webkitLineDash=e});t.getLineDash||(t.getLineDash=function(){return t.mozDash})})(t),function(t){t.setLineDashOffset=function(e){t.lineDashOffset=e,t.mozDashOffset=e,t.webkitLineDashOffset=e},t.getLineDashOffset=function(){return t.mozDashOffset}}(t),function(t){t.setImageSmoothingEnabled=function(e){t.imageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.oImageSmoothingEnabled=e,t.webkitImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e},t.getImageSmoothingEnabled=function(){var e=t.imageSmoothingEnabled;return null==e||e}}(t),function(t){t.measureText&&null==t.html5MeasureText&&(t.html5MeasureText=t.measureText,t.measureText=function(e){var n=t.html5MeasureText(e);return n.ascent=1.6*t.html5MeasureText(\"m\").width,n})}(t),function(t){t.ellipse||(t.ellipse=function(e,n,i,r,o,s,a,l){void 0===l&&(l=!1);t.translate(e,n),t.rotate(o);var u=i,h=r;l&&(u=-i,h=-r);t.moveTo(-u,0),t.bezierCurveTo(-u,.551784*h,.551784*-u,h,0,h),t.bezierCurveTo(.551784*u,h,u,.551784*h,u,0),t.bezierCurveTo(u,.551784*-h,.551784*u,-h,0,-h),t.bezierCurveTo(.551784*-u,-h,-u,.551784*-h,-u,0),t.rotate(-o),t.translate(-e,-n)})}(t)},n.get_scale_ratio=function(t,e,n){if(\"svg\"==n)return 1;if(e){var i=window.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}return 1}},function(t,e,n){var i,r=[].indexOf,o=t(38);i=function(t){var e;return e=Number(t).toString(16),e=1===e.length?\"0\"+e:e},n.color2hex=function(t){var e,n,r;return 0===(t+=\"\").indexOf(\"#\")?t:null!=o[t]?o[t]:0===t.indexOf(\"rgb\")?(n=t.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\"),e=function(){var t,e,o,s;for(o=n.slice(0,3),s=[],t=0,e=o.length;t<e;t++)r=o[t],s.push(i(r));return s}().join(\"\"),4===n.length&&(e+=i(Math.floor(255*parseFloat(n.slice(3))))),\"#\"+e.slice(0,8)):t},n.color2rgba=function(t,e){void 0===e&&(e=1);var i,r,o;if(!t)return[0,0,0,0];for((i=(i=n.color2hex(t)).replace(/ |#/g,\"\")).length<=4&&(i=i.replace(/(.)/g,\"$1$1\")),i=i.match(/../g),o=function(){var t,e,n;for(n=[],t=0,e=i.length;t<e;t++)r=i[t],n.push(parseInt(r,16)/255);return n}();o.length<3;)o.push(0);return o.length<4&&o.push(e),o.slice(0,4)},n.valid_rgb=function(t){var e,n,i,o;switch(t.substring(0,4)){case\"rgba\":n={start:\"rgba(\",len:4,alpha:!0};break;case\"rgb(\":n={start:\"rgb(\",len:3,alpha:!1};break;default:return!1}if(new RegExp(\".*?(\\\\.).*(,)\").test(t))throw new Error(\"color expects integers for rgb in rgb/rgba tuple, received \"+t);if((e=t.replace(n.start,\"\").replace(\")\",\"\").split(\",\").map(parseFloat)).length!==n.len)throw new Error(\"color expects rgba \"+expect_len+\"-tuple, received \"+t);if(n.alpha&&!(0<=(i=e[3])&&i<=1))throw new Error(\"color expects rgba 4-tuple to have alpha value between 0 and 1\");if(r.call(function(){var t,n,i,r;for(i=e.slice(0,3),r=[],t=0,n=i.length;t<n;t++)o=i[t],r.push(0<=o&&o<=255);return r}(),!1)>=0)throw new Error(\"color expects rgb to have value between 0 and 255\");return!0}},function(t,e,n){var i=t(22),r=t(28),o=t(42),s=function(){function t(){this._dict={}}return t.prototype._existing=function(t){return t in this._dict?this._dict[t]:null},t.prototype.add_value=function(t,e){var n=this._existing(t);null==n?this._dict[t]=e:o.isArray(n)?n.push(e):this._dict[t]=[n,e]},t.prototype.remove_value=function(t,e){var n=this._existing(t);if(o.isArray(n)){var s=i.difference(n,[e]);s.length>0?this._dict[t]=s:delete this._dict[t]}else r.isEqual(n,e)&&delete this._dict[t]},t.prototype.get_one=function(t,e){var n=this._existing(t);if(o.isArray(n)){if(1===n.length)return n[0];throw new Error(e)}return n},t}();n.MultiDict=s;var a=function(){function t(e){this.values=null==e?[]:e instanceof t?i.copy(e.values):this._compact(e)}return t.prototype._compact=function(t){for(var e=[],n=0,i=t;n<i.length;n++){var r=i[n];-1===e.indexOf(r)&&e.push(r)}return e},t.prototype.push=function(t){this.missing(t)&&this.values.push(t)},t.prototype.remove=function(t){var e=this.values.indexOf(t);this.values=this.values.slice(0,e).concat(this.values.slice(e+1))},t.prototype.length=function(){return this.values.length},t.prototype.includes=function(t){return-1!=this.values.indexOf(t)},t.prototype.missing=function(t){return!this.includes(t)},t.prototype.slice=function(t,e){return this.values.slice(t,e)},t.prototype.join=function(t){return this.values.join(t)},t.prototype.toString=function(){return this.join(\", \")},t.prototype.union=function(e){return e=new t(e),new t(this.values.concat(e.values))},t.prototype.intersect=function(e){e=new t(e);for(var n=new t,i=0,r=e.values;i<r.length;i++){var o=r[i];this.includes(o)&&e.includes(o)&&n.push(o)}return n},t.prototype.diff=function(e){e=new t(e);for(var n=new t,i=0,r=this.values;i<r.length;i++){var o=r[i];e.missing(o)&&n.push(o)}return n},t}();n.Set=a},function(t,e,n){function i(t,e,n,s){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;var a=o.call(t);if(a!==o.call(e))return!1;switch(a){case\"[object RegExp]\":case\"[object String]\":return\"\"+t==\"\"+e;case\"[object Number]\":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case\"[object Date]\":case\"[object Boolean]\":return+t==+e}var l=\"[object Array]\"===a;if(!l){if(\"object\"!=typeof t||\"object\"!=typeof e)return!1;var u=t.constructor,h=e.constructor;if(u!==h&&!(r.isFunction(u)&&u instanceof u&&r.isFunction(h)&&h instanceof h)&&\"constructor\"in t&&\"constructor\"in e)return!1}n=n||[],s=s||[];for(var c=n.length;c--;)if(n[c]===t)return s[c]===e;if(n.push(t),s.push(e),l){if((c=t.length)!==e.length)return!1;for(;c--;)if(!i(t[c],e[c],n,s))return!1}else{var _=Object.keys(t),p=void 0;if(c=_.length,Object.keys(e).length!==c)return!1;for(;c--;)if(p=_[c],!e.hasOwnProperty(p)||!i(t[p],e[p],n,s))return!1}return n.pop(),s.pop(),!0}var r=t(42),o=Object.prototype.toString;n.isEqual=function(t,e){return i(t,e)}},function(t,e,n){function i(t){for(;t<0;)t+=2*Math.PI;for(;t>2*Math.PI;)t-=2*Math.PI;return t}function r(t,e){return Math.abs(i(t-e))}function o(){return Math.random()}n.angle_norm=i,n.angle_dist=r,n.angle_between=function(t,e,n,o){var s=i(t),a=r(e,n),l=r(e,s)<=a&&r(s,n)<=a;return\"anticlock\"==o?l:!l},n.random=o,n.randomIn=function(t,e){null==e&&(e=t,t=0);return t+Math.floor(Math.random()*(e-t+1))},n.atan2=function(t,e){return Math.atan2(e[1]-t[1],e[0]-t[0])},n.rnorm=function(t,e){var n,i;for(;n=o(),i=o(),i=(2*i-1)*Math.sqrt(1/Math.E*2),!(-4*n*n*Math.log(n)>=i*i););var r=i/n;return r=t+e*r},n.clamp=function(t,e,n){return t>n?n:t<e?e:t}},function(t,e,n){function i(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=0,r=e;i<r.length;i++){var o=r[i];for(var s in o)o.hasOwnProperty(s)&&(t[s]=o[s])}return t}function r(t){return Object.keys(t).length}var o=t(22);n.keys=Object.keys,n.values=function(t){for(var e=Object.keys(t),n=e.length,i=new Array(n),r=0;r<n;r++)i[r]=t[e[r]];return i},n.extend=i,n.clone=function(t){return i({},t)},n.merge=function(t,e){for(var n=Object.create(Object.prototype),i=0,r=o.concat([Object.keys(t),Object.keys(e)]);i<r.length;i++){var s=r[i],a=t.hasOwnProperty(s)?t[s]:[],l=e.hasOwnProperty(s)?e[s]:[];n[s]=o.union(a,l)}return n},n.size=r,n.isEmpty=function(t){return 0===r(t)}},function(t,e,n){var i,r=t(345);n.proj4=r;var o=t(333),s=t(339),a=t(349),l=t(358);r.defaultDatum=\"WGS84\",r.WGS84=new o(\"WGS84\"),r.Proj=o,r.toPoint=s,r.defs=a,r.transform=l,n.mercator=a(\"GOOGLE\"),n.wgs84=a(\"WGS84\"),n.mercator_bounds={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},i={lon:[-180,180],lat:[-85.06,85.06]},n.clip_mercator=function(t,e,i){var r,o;return s=n.mercator_bounds[i],o=s[0],r=s[1],[Math.max(t,o),Math.min(e,r)];var s},n.in_bounds=function(t,e){return t>i[e][0]&&t<i[e][1]}},function(t,e,n){function i(t,e){for(var n=Math.min(t.length,e.length),i=new Array(n),o=new Array(n),s=0;s<n;s++){var a=r.proj4(r.mercator,[t[s],e[s]]),l=a[0],u=a[1];i[s]=l,o[s]=u}return[i,o]}var r=t(31);n.project_xy=i,n.project_xsys=function(t,e){for(var n=Math.min(t.length,e.length),r=new Array(n),o=new Array(n),s=0;s<n;s++){var a=i(t[s],e[s]),l=a[0],u=a[1];r[s]=l,o[s]=u}return[r,o]}},function(t,e,n){var i=t(42);n.create_ref=function(t){var e={type:t.type,id:t.id};null!=t._subtype&&(e.subtype=t._subtype);return e},n.is_ref=function(t){if(i.isObject(t)){var e=Object.keys(t).sort();if(2==e.length)return\"id\"==e[0]&&\"type\"==e[1];if(3==e.length)return\"id\"==e[0]&&\"subtype\"==e[1]&&\"type\"==e[2]}return!1}},function(t,e,n){n.get_indices=function(t){var e=t.selected;return e[\"0d\"].glyph?e[\"0d\"].indices:e[\"1d\"].indices.length>0?e[\"1d\"].indices:e[\"2d\"].indices.length>0?e[\"2d\"].indices:[]}},function(t,e,n){var i,r,o,s,a,l,u=t(42);n.ARRAY_TYPES={float32:Float32Array,float64:Float64Array,uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array},n.DTYPES={};for(a in n.ARRAY_TYPES)l=n.ARRAY_TYPES[a],n.DTYPES[l.name]=a;r=new ArrayBuffer(2),s=new Uint8Array(r),o=new Uint16Array(r),s[0]=170,s[1]=187,i=48042===o[0]?\"little\":\"big\",n.BYTE_ORDER=i,n.swap16=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,2*t.length),e=n=0,i=o.length;n<i;e=n+=2)r=o[e],o[e]=o[e+1],o[e+1]=r;return null},n.swap32=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,4*t.length),e=n=0,i=o.length;n<i;e=n+=4)r=o[e],o[e]=o[e+3],o[e+3]=r,r=o[e+1],o[e+1]=o[e+2],o[e+2]=r;return null},n.swap64=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,8*t.length),e=n=0,i=o.length;n<i;e=n+=8)r=o[e],o[e]=o[e+7],o[e+7]=r,r=o[e+1],o[e+1]=o[e+6],o[e+6]=r,r=o[e+2],o[e+2]=o[e+5],o[e+5]=r,r=o[e+3],o[e+3]=o[e+4],o[e+4]=r;return null},n.process_buffer=function(t,e){var i,o,s,a,l,u;for(l=t.order!==n.BYTE_ORDER,u=t.shape,o=null,s=0,a=e.length;s<a;s++)if(r=e[s],JSON.parse(r[0]).id===t.__buffer__){o=r[1];break}return i=new n.ARRAY_TYPES[t.dtype](o),l&&(2===i.BYTES_PER_ELEMENT?n.swap16(i):4===i.BYTES_PER_ELEMENT?n.swap32(i):8===i.BYTES_PER_ELEMENT&&n.swap64(i)),[i,u]},n.process_array=function(t,e){return u.isObject(t)&&\"__ndarray__\"in t?n.decode_base64(t):u.isObject(t)&&\"__buffer__\"in t?n.process_buffer(t,e):u.isArray(t)?[t,[]]:void 0},n.arrayBufferToBase64=function(t){var e,n,i;return i=new Uint8Array(t),n=function(){var t,n,r;for(r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(String.fromCharCode(e));return r}(),btoa(n.join(\"\"))},n.base64ToArrayBuffer=function(t){var e,n,i,r,o,s;for(e=atob(t),o=e.length,n=new Uint8Array(o),i=r=0,s=o;0<=s?r<s:r>s;i=0<=s?++r:--r)n[i]=e.charCodeAt(i);return n.buffer},n.decode_base64=function(t){var e,i,r,o;return i=n.base64ToArrayBuffer(t.__ndarray__),(r=t.dtype)in n.ARRAY_TYPES&&(e=new n.ARRAY_TYPES[r](i)),o=t.shape,[e,o]},n.encode_base64=function(t,e){var i,r;return i=n.arrayBufferToBase64(t.buffer),r=n.DTYPES[t.constructor.name],{__ndarray__:i,shape:e,dtype:r}},n.decode_column_data=function(t,e){var i,r,o,s,h,c,_,p,d;h={},c={};for(a in t)if(l=t[a],u.isArray(l)){if(0===l.length||!u.isObject(l[0])&&!u.isArray(l[0])){h[a]=l;continue}for(r=[],d=[],o=0,s=l.length;o<s;o++)_=l[o],f=n.process_array(_,e),i=f[0],p=f[1],r.push(i),d.push(p);h[a]=r,c[a]=d}else m=n.process_array(l,e),i=m[0],p=m[1],h[a]=i,c[a]=p;return[h,c];var f,m},n.encode_column_data=function(t,e){var i,r,o,s,h,c,_;s={};for(a in t){if((null!=(l=t[a])?l.buffer:void 0)instanceof ArrayBuffer)l=n.encode_base64(l,null!=e?e[a]:void 0);else if(u.isArray(l)){for(o=[],i=r=0,h=l.length;0<=h?r<h:r>h;i=0<=h?++r:--r)(null!=(c=l[i])?c.buffer:void 0)instanceof ArrayBuffer?o.push(n.encode_base64(l[i],null!=e&&null!=(_=e[a])?_[i]:void 0)):o.push(l[i]);l=o}s[a]=l}return s}},function(t,e,n){var i=t(364),r=t(361),o=function(){return function(){}}();n.SpatialIndex=o;var s=function(t){function e(e){var n=t.call(this)||this;return n.index=r(),n.index.load(e),n}return i.__extends(e,t),Object.defineProperty(e.prototype,\"bbox\",{get:function(){var t=this.index.toJSON(),e=t.minX,n=t.minY,i=t.maxX,r=t.maxY;return{minX:e,minY:n,maxX:i,maxY:r}},enumerable:!0,configurable:!0}),e.prototype.search=function(t){return this.index.search(t)},e.prototype.indices=function(t){for(var e=this.search(t),n=e.length,i=new Array(n),r=0;r<n;r++)i[r]=e[r].i;return i},e}(o);n.RBush=s},function(t,e,n){function i(){for(var t=new Array(32),e=0;e<32;e++)t[e]=\"0123456789ABCDEF\".substr(Math.floor(16*Math.random()),1);return t[12]=\"4\",t[16]=\"0123456789ABCDEF\".substr(3&t[16].charCodeAt(0)|8,1),t.join(\"\")}var r=t(19);n.startsWith=function(t,e,n){void 0===n&&(n=0);return t.substr(n,e.length)==e},n.uuid4=i;var o=1e3;n.uniqueId=function(t){var e=r.settings.dev?\"j\"+o++:i();return null!=t?t+\"-\"+e:e},n.escape=function(t){return t.replace(/(?:[&<>\"'`])/g,function(t){switch(t){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&#x27;\";case\"`\":return\"&#x60;\";default:return t}})},n.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}})}},function(t,e,n){n.indianred=\"#CD5C5C\",n.lightcoral=\"#F08080\",n.salmon=\"#FA8072\",n.darksalmon=\"#E9967A\",n.lightsalmon=\"#FFA07A\",n.crimson=\"#DC143C\",n.red=\"#FF0000\",n.firebrick=\"#B22222\",n.darkred=\"#8B0000\",n.pink=\"#FFC0CB\",n.lightpink=\"#FFB6C1\",n.hotpink=\"#FF69B4\",n.deeppink=\"#FF1493\",n.mediumvioletred=\"#C71585\",n.palevioletred=\"#DB7093\",n.coral=\"#FF7F50\",n.tomato=\"#FF6347\",n.orangered=\"#FF4500\",n.darkorange=\"#FF8C00\",n.orange=\"#FFA500\",n.gold=\"#FFD700\",n.yellow=\"#FFFF00\",n.lightyellow=\"#FFFFE0\",n.lemonchiffon=\"#FFFACD\",n.lightgoldenrodyellow=\"#FAFAD2\",n.papayawhip=\"#FFEFD5\",n.moccasin=\"#FFE4B5\",n.peachpuff=\"#FFDAB9\",n.palegoldenrod=\"#EEE8AA\",n.khaki=\"#F0E68C\",n.darkkhaki=\"#BDB76B\",n.lavender=\"#E6E6FA\",n.thistle=\"#D8BFD8\",n.plum=\"#DDA0DD\",n.violet=\"#EE82EE\",n.orchid=\"#DA70D6\",n.fuchsia=\"#FF00FF\",n.magenta=\"#FF00FF\",n.mediumorchid=\"#BA55D3\",n.mediumpurple=\"#9370DB\",n.blueviolet=\"#8A2BE2\",n.darkviolet=\"#9400D3\",n.darkorchid=\"#9932CC\",n.darkmagenta=\"#8B008B\",n.purple=\"#800080\",n.indigo=\"#4B0082\",n.slateblue=\"#6A5ACD\",n.darkslateblue=\"#483D8B\",n.mediumslateblue=\"#7B68EE\",n.greenyellow=\"#ADFF2F\",n.chartreuse=\"#7FFF00\",n.lawngreen=\"#7CFC00\",n.lime=\"#00FF00\",n.limegreen=\"#32CD32\",n.palegreen=\"#98FB98\",n.lightgreen=\"#90EE90\",n.mediumspringgreen=\"#00FA9A\",n.springgreen=\"#00FF7F\",n.mediumseagreen=\"#3CB371\",n.seagreen=\"#2E8B57\",n.forestgreen=\"#228B22\",n.green=\"#008000\",n.darkgreen=\"#006400\",n.yellowgreen=\"#9ACD32\",n.olivedrab=\"#6B8E23\",n.olive=\"#808000\",n.darkolivegreen=\"#556B2F\",n.mediumaquamarine=\"#66CDAA\",n.darkseagreen=\"#8FBC8F\",n.lightseagreen=\"#20B2AA\",n.darkcyan=\"#008B8B\",n.teal=\"#008080\",n.aqua=\"#00FFFF\",n.cyan=\"#00FFFF\",n.lightcyan=\"#E0FFFF\",n.paleturquoise=\"#AFEEEE\",n.aquamarine=\"#7FFFD4\",n.turquoise=\"#40E0D0\",n.mediumturquoise=\"#48D1CC\",n.darkturquoise=\"#00CED1\",n.cadetblue=\"#5F9EA0\",n.steelblue=\"#4682B4\",n.lightsteelblue=\"#B0C4DE\",n.powderblue=\"#B0E0E6\",n.lightblue=\"#ADD8E6\",n.skyblue=\"#87CEEB\",n.lightskyblue=\"#87CEFA\",n.deepskyblue=\"#00BFFF\",n.dodgerblue=\"#1E90FF\",n.cornflowerblue=\"#6495ED\",n.royalblue=\"#4169E1\",n.blue=\"#0000FF\",n.mediumblue=\"#0000CD\",n.darkblue=\"#00008B\",n.navy=\"#000080\",n.midnightblue=\"#191970\",n.cornsilk=\"#FFF8DC\",n.blanchedalmond=\"#FFEBCD\",n.bisque=\"#FFE4C4\",n.navajowhite=\"#FFDEAD\",n.wheat=\"#F5DEB3\",n.burlywood=\"#DEB887\",n.tan=\"#D2B48C\",n.rosybrown=\"#BC8F8F\",n.sandybrown=\"#F4A460\",n.goldenrod=\"#DAA520\",n.darkgoldenrod=\"#B8860B\",n.peru=\"#CD853F\",n.chocolate=\"#D2691E\",n.saddlebrown=\"#8B4513\",n.sienna=\"#A0522D\",n.brown=\"#A52A2A\",n.maroon=\"#800000\",n.white=\"#FFFFFF\",n.snow=\"#FFFAFA\",n.honeydew=\"#F0FFF0\",n.mintcream=\"#F5FFFA\",n.azure=\"#F0FFFF\",n.aliceblue=\"#F0F8FF\",n.ghostwhite=\"#F8F8FF\",n.whitesmoke=\"#F5F5F5\",n.seashell=\"#FFF5EE\",n.beige=\"#F5F5DC\",n.oldlace=\"#FDF5E6\",n.floralwhite=\"#FFFAF0\",n.ivory=\"#FFFFF0\",n.antiquewhite=\"#FAEBD7\",n.linen=\"#FAF0E6\",n.lavenderblush=\"#FFF0F5\",n.mistyrose=\"#FFE4E1\",n.gainsboro=\"#DCDCDC\",n.lightgray=\"#D3D3D3\",n.lightgrey=\"#D3D3D3\",n.silver=\"#C0C0C0\",n.darkgray=\"#A9A9A9\",n.darkgrey=\"#A9A9A9\",n.gray=\"#808080\",n.grey=\"#808080\",n.dimgray=\"#696969\",n.dimgrey=\"#696969\",n.lightslategray=\"#778899\",n.lightslategrey=\"#778899\",n.slategray=\"#708090\",n.slategrey=\"#708090\",n.darkslategray=\"#2F4F4F\",n.darkslategrey=\"#2F4F4F\",n.black=\"#000000\"},function(t,e,n){var i,r=t(362),o=t(332),s=t(363),a=t(37),l=t(42);i=function(t){var e;return l.isNumber(t)?(e=function(){switch(!1){case Math.floor(t)!==t:return\"%d\";case!(Math.abs(t)>.1&&Math.abs(t)<1e3):return\"%0.3f\";default:return\"%0.3e\"}}(),r.sprintf(e,t)):\"\"+t},n.replace_placeholders=function(t,e,n,l,u){return void 0===u&&(u={}),t=t.replace(/(^|[^\\$])\\$(\\w+)/g,function(t,e,n){return e+\"@$\"+n}),t=t.replace(/(^|[^@])@(?:(\\$?\\w+)|{([^{}]+)})(?:{([^{}]+)})?/g,function(t,h,c,_,p){var d,f,m;if(c=null!=_?_:c,m=\"$\"===c[0]?u[c.substring(1)]:null!=(d=e.get_column(c))?d[n]:void 0,f=null,null==m)f=\"???\";else{if(\"safe\"===p)return\"\"+h+m;if(null!=p)if(null!=l&&c in l)if(\"numeral\"===l[c])f=o.format(m,p);else if(\"datetime\"===l[c])f=s(m,p);else{if(\"printf\"!==l[c])throw new Error(\"Unknown tooltip field formatter type '\"+l[c]+\"'\");f=r.sprintf(p,m)}else f=o.format(m,p);else f=i(m)}return f=\"\"+h+a.escape(f)})}},function(t,e,n){var i=t(5),r={};n.get_text_height=function(t){if(null!=r[t])return r[t];var e=i.span({style:{font:t}},\"Hg\"),n=i.div({style:{display:\"inline-block\",width:\"1px\",height:\"0px\"}}),o=i.div({},e,n);document.body.appendChild(o);try{n.style.verticalAlign=\"baseline\";var s=i.offset(n).top-i.offset(e).top;n.style.verticalAlign=\"bottom\";var a=i.offset(n).top-i.offset(e).top,l={height:a,ascent:s,descent:a-s};return r[t]=l,l}finally{document.body.removeChild(o)}}},function(t,e,n){var i,r;i=function(t){return t()},r=(\"undefined\"!=typeof window&&null!==window?window.requestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.mozRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.webkitRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.msRequestAnimationFrame:void 0)||i,n.throttle=function(t,e){var n,i,o,s,a,l,u;return h=[null,null,null,null],i=h[0],n=h[1],u=h[2],l=h[3],a=0,s=!1,o=function(){return a=new Date,u=null,s=!1,l=t.apply(i,n)},function(){var t,h;return t=new Date,h=e-(t-a),i=this,n=arguments,h<=0&&!s?(clearTimeout(u),s=!0,r(o)):u||s||(u=setTimeout(function(){return r(o)},h)),l};var h}},function(t,e,n){function i(t){return\"[object Number]\"===r.call(t)}var r=Object.prototype.toString;n.isBoolean=function(t){return!0===t||!1===t||\"[object Boolean]\"===r.call(t)},n.isNumber=i,n.isInteger=function(t){return i(t)&&isFinite(t)&&Math.floor(t)===t},n.isString=function(t){return\"[object String]\"===r.call(t)},n.isStrictNaN=function(t){return i(t)&&t!==+t},n.isFunction=function(t){return\"[object Function]\"===r.call(t)},n.isArray=function(t){return Array.isArray(t)},n.isObject=function(t){var e=typeof t;return\"function\"===e||\"object\"===e&&!!t}},function(t,e,n){function i(t){var e=getComputedStyle(t).fontSize;return null!=e?parseInt(e,10):null}n.getDeltaY=function(t){var e=-t.deltaY;if(t.target instanceof HTMLElement)switch(t.deltaMode){case t.DOM_DELTA_LINE:e*=function(t){return i(t.offsetParent||document.body)||i(t)||16}(t.target);break;case t.DOM_DELTA_PAGE:e*=function(t){return t.clientHeight}(t.target)}return e}},function(t,e,n){function i(t,e,n){var i=[t.start,t.end],r=i[0],o=i[1],s=null!=n?n:(o+r)/2,a=r-(r-s)*e,l=o-(o-s)*e;return[a,l]}function r(t,e){var n=e[0],i=e[1],r={};for(var o in t){var s=t[o],a=s.r_invert(n,i),l=a[0],u=a[1];r[o]={start:l,end:u}}return r}var o=t(29);n.scale_highlow=i,n.get_info=r,n.scale_range=function(t,e,n,s,a){void 0===n&&(n=!0);void 0===s&&(s=!0);e=o.clamp(e,-.9,.9);var l=n?e:0,u=i(t.bbox.h_range,l,null!=a?a.x:void 0),h=u[0],c=u[1],_=r(t.xscales,[h,c]),p=s?e:0,d=i(t.bbox.v_range,p,null!=a?a.y:void 0),f=d[0],m=d[1],v=r(t.yscales,[f,m]);return{xrs:_,yrs:v,factor:e}}},function(t,e,n){var i=t(364),r=t(20),o=t(37),s=function(t){function e(e){var n=t.call(this)||this;if(n.removed=new r.Signal(n,\"removed\"),null==e.model)throw new Error(\"model of a view wasn't configured\");return n.model=e.model,n._parent=e.parent,n.id=e.id||o.uniqueId(),n.initialize(e),!1!==e.connect_signals&&n.connect_signals(),n}return i.__extends(e,t),e.getters=function(t){for(var e in t){var n=t[e];Object.defineProperty(this.prototype,e,{get:n})}},e.prototype.initialize=function(t){},e.prototype.remove=function(){this._parent=void 0,this.disconnect_signals(),this.removed.emit(void 0)},e.prototype.toString=function(){return this.model.type+\"View(\"+this.id+\")\"},Object.defineProperty(e.prototype,\"parent\",{get:function(){if(void 0!==this._parent)return this._parent;throw new Error(\"parent of a view wasn't configured\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_root\",{get:function(){return null===this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"root\",{get:function(){return this.is_root?this:this.parent.root},enumerable:!0,configurable:!0}),e.prototype.connect_signals=function(){},e.prototype.disconnect_signals=function(){r.Signal.disconnectReceiver(this)},e.prototype.notify_finished=function(){this.root.notify_finished()},e}(r.Signalable());n.View=s},function(t,e,n){var i,r=t(364),o={}.hasOwnProperty,s=t(16),a=t(26),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.set_value=function(t){return t.strokeStyle=this.line_color.value(),t.globalAlpha=this.line_alpha.value(),t.lineWidth=this.line_width.value(),t.lineJoin=this.line_join.value(),t.lineCap=this.line_cap.value(),t.setLineDash(this.line_dash.value()),t.setLineDashOffset(this.line_dash_offset.value())},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"line_color\",e),t.strokeStyle!==this.cache.line_color&&(t.strokeStyle=this.cache.line_color),this.cache_select(\"line_alpha\",e),t.globalAlpha!==this.cache.line_alpha&&(t.globalAlpha=this.cache.line_alpha),this.cache_select(\"line_width\",e),t.lineWidth!==this.cache.line_width&&(t.lineWidth=this.cache.line_width),this.cache_select(\"line_join\",e),t.lineJoin!==this.cache.line_join&&(t.lineJoin=this.cache.line_join),this.cache_select(\"line_cap\",e),t.lineCap!==this.cache.line_cap&&(t.lineCap=this.cache.line_cap),this.cache_select(\"line_dash\",e),t.getLineDash()!==this.cache.line_dash&&t.setLineDash(this.cache.line_dash),this.cache_select(\"line_dash_offset\",e),t.getLineDashOffset()!==this.cache.line_dash_offset)return t.setLineDashOffset(this.cache.line_dash_offset)},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.line_color.value(),this.line_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e}(i=function(){function t(t,e){void 0===e&&(e=\"\");var n,i,r,o,s;for(this.obj=t,this.prefix=e,this.cache={},i=t.properties[e+this.do_attr].spec,this.doit=null!==i.value,s=this.attrs,r=0,o=s.length;r<o;r++)this[n=s[r]]=t.properties[e+n]}return t.prototype.warm_cache=function(t){var e,n,i,r,o,s;for(o=this.attrs,s=[],n=0,i=o.length;n<i;n++)e=o[n],void 0!==(r=this.obj.properties[this.prefix+e]).spec.value?s.push(this.cache[e]=r.spec.value):s.push(this.cache[e+\"_array\"]=r.array(t));return s},t.prototype.cache_select=function(t,e){var n;return void 0!==(n=this.obj.properties[this.prefix+t]).spec.value?this.cache[t]=n.spec.value:this.cache[t]=this.cache[t+\"_array\"][e]},t.prototype.set_vectorize=function(t,e){return null!=this.all_indices?this._set_vectorize(t,this.all_indices[e]):this._set_vectorize(t,e)},t}());n.Line=l,l.prototype.attrs=Object.keys(s.line()),l.prototype.do_attr=\"line_color\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.set_value=function(t){return t.fillStyle=this.fill_color.value(),t.globalAlpha=this.fill_alpha.value()},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"fill_color\",e),t.fillStyle!==this.cache.fill_color&&(t.fillStyle=this.cache.fill_color),this.cache_select(\"fill_alpha\",e),t.globalAlpha!==this.cache.fill_alpha)return t.globalAlpha=this.cache.fill_alpha},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.fill_color.value(),this.fill_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e}(i);n.Fill=u,u.prototype.attrs=Object.keys(s.fill()),u.prototype.do_attr=\"fill_color\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.cache_select=function(e,n){var i;return\"font\"===e?(i=t.prototype.cache_select.call(this,\"text_font_style\",n)+\" \"+t.prototype.cache_select.call(this,\"text_font_size\",n)+\" \"+t.prototype.cache_select.call(this,\"text_font\",n),this.cache.font=i):t.prototype.cache_select.call(this,e,n)},e.prototype.font_value=function(){var t,e;return t=this.text_font.value(),e=this.text_font_size.value(),this.text_font_style.value()+\" \"+e+\" \"+t},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.text_color.value(),this.text_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e.prototype.set_value=function(t){return t.font=this.font_value(),t.fillStyle=this.text_color.value(),t.globalAlpha=this.text_alpha.value(),t.textAlign=this.text_align.value(),t.textBaseline=this.text_baseline.value()},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"font\",e),t.font!==this.cache.font&&(t.font=this.cache.font),this.cache_select(\"text_color\",e),t.fillStyle!==this.cache.text_color&&(t.fillStyle=this.cache.text_color),this.cache_select(\"text_alpha\",e),t.globalAlpha!==this.cache.text_alpha&&(t.globalAlpha=this.cache.text_alpha),this.cache_select(\"text_align\",e),t.textAlign!==this.cache.text_align&&(t.textAlign=this.cache.text_align),this.cache_select(\"text_baseline\",e),t.textBaseline!==this.cache.text_baseline)return t.textBaseline=this.cache.text_baseline},e}(i);n.Text=h,h.prototype.attrs=Object.keys(s.text()),h.prototype.do_attr=\"text_color\",n.Visuals=function(){function t(t){var e,n,i,r,o,s,a;for(s=t.mixins,n=0,i=s.length;n<i;n++)a=s[n],c=a.split(\":\"),r=c[0],_=c[1],o=void 0===_?\"\":_,e=function(){switch(r){case\"line\":return l;case\"fill\":return u;case\"text\":return h}}(),this[o+r]=new e(t,o);var c,_}return t.prototype.warm_cache=function(t){var e,n,r;r=[];for(e in this)o.call(this,e)&&((n=this[e])instanceof i?r.push(n.warm_cache(t)):r.push(void 0));return r},t.prototype.set_all_indices=function(t){var e,n,r;r=[];for(e in this)o.call(this,e)&&((n=this[e])instanceof i?r.push(n.all_indices=t):r.push(void 0));return r},t}()},function(t,e,n){var i=t(364),r=t(0),o=t(248),s=t(14),a=t(3),l=t(8),u=t(20),h=t(33),c=t(35),_=t(27),p=t(22),d=t(30),f=t(28),m=t(42),v=t(139),g=t(173),y=t(50),b=function(){function t(t){this.document=t,this.session=null,this.subscribed_models=new _.Set}return t.prototype.send_event=function(t){null!=this.session&&this.session.send_event(t)},t.prototype.trigger=function(t){for(var e=0,n=this.subscribed_models.values;e<n.length;e++){var i=n[e];if(null==t.model_id||t.model_id===i){var r=this.document._all_models[i];null!=r&&r._process_event(t)}}},t}();n.EventManager=b;var x=function(){return function(t){this.document=t}}();n.DocumentChangedEvent=x;var w=function(t){function e(e,n,i,r,o,s){var a=t.call(this,e)||this;return a.model=n,a.attr=i,a.old=r,a.new_=o,a.setter_id=s,a}return i.__extends(e,t),e.prototype.json=function(t){if(\"id\"===this.attr)throw new Error(\"'id' field should never change, whatever code just set it is wrong\");var e=this.new_,n=l.HasProps._value_to_json(this.attr,e,this.model),i={};l.HasProps._value_record_references(e,i,!0),this.model.id in i&&this.model!==e&&delete i[this.model.id];for(var r in i)t[r]=i[r];return{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:n}},e}(x);n.ModelChangedEvent=w;var k=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.title=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return{kind:\"TitleChanged\",title:this.title}},e}(x);n.TitleChangedEvent=k;var S=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.model=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return l.HasProps._value_record_references(this.model,t,!0),{kind:\"RootAdded\",model:this.model.ref()}},e}(x);n.RootAddedEvent=S;var T=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.model=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return{kind:\"RootRemoved\",model:this.model.ref()}},e}(x);n.RootRemovedEvent=T,n.documents=[],n.DEFAULT_TITLE=\"Bokeh Application\";var M=function(){function t(){n.documents.push(this),this._init_timestamp=Date.now(),this._title=n.DEFAULT_TITLE,this._roots=[],this._all_models={},this._all_models_by_name=new _.MultiDict,this._all_models_freeze_count=0,this._callbacks=[],this.event_manager=new b(this),this.idle=new u.Signal(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}return Object.defineProperty(t.prototype,\"layoutables\",{get:function(){return this._roots.filter(function(t){return t instanceof v.LayoutDOM})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"is_idle\",{get:function(){for(var t=0,e=this.layoutables;t<e.length;t++){var n=e[t];if(!this._idle_roots.has(n))return!1}return!0},enumerable:!0,configurable:!0}),t.prototype.notify_idle=function(t){this._idle_roots.set(t,!0),this.is_idle&&(s.logger.info(\"document idle at \"+(Date.now()-this._init_timestamp)+\" ms\"),this.idle.emit(void 0))},t.prototype.clear=function(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}},t.prototype.interactive_start=function(t){null==this._interactive_plot&&(this._interactive_plot=t,this._interactive_plot.trigger_event(new a.LODStart({}))),this._interactive_timestamp=Date.now()},t.prototype.interactive_stop=function(t){null!=this._interactive_plot&&this._interactive_plot.id===t.id&&this._interactive_plot.trigger_event(new a.LODEnd({})),this._interactive_plot=null,this._interactive_timestamp=null},t.prototype.interactive_duration=function(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp},t.prototype.destructively_move=function(t){if(t===this)throw new Error(\"Attempted to overwrite a document with itself\");t.clear();var e=p.copy(this._roots);this.clear();for(var n=0,i=e;n<i.length;n++){var r=i[n];if(null!=r.document)throw new Error(\"Somehow we didn't detach \"+r)}if(0!==Object.keys(this._all_models).length)throw new Error(\"this._all_models still had stuff in it: \"+this._all_models);for(var o=0,s=e;o<s.length;o++){var r=s[o];t.add_root(r)}t.set_title(this._title)},t.prototype._push_all_models_freeze=function(){this._all_models_freeze_count+=1},t.prototype._pop_all_models_freeze=function(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()},t.prototype._invalidate_all_models=function(){s.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()},t.prototype._recompute_all_models=function(){for(var t=new _.Set,e=0,n=this._roots;e<n.length;e++){var i=n[e];t=t.union(i.references())}for(var r=new _.Set(d.values(this._all_models)),o=r.diff(t),s=t.diff(r),a={},l=0,u=t.values;l<u.length;l++){var h=u[l];a[h.id]=h}for(var c=0,p=o.values;c<p.length;c++){var f=p[c];f.detach_document(),f instanceof y.Model&&null!=f.name&&this._all_models_by_name.remove_value(f.name,f)}for(var m=0,v=s.values;m<v.length;m++){var g=v[m];g.attach_document(this),g instanceof y.Model&&null!=g.name&&this._all_models_by_name.add_value(g.name,g)}this._all_models=a},t.prototype.roots=function(){return this._roots},t.prototype.add_root=function(t,e){if(s.logger.debug(\"Adding root: \"+t),!p.contains(this._roots,t)){this._push_all_models_freeze();try{this._roots.push(t)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new S(this,t,e))}},t.prototype.remove_root=function(t,e){var n=this._roots.indexOf(t);if(!(n<0)){this._push_all_models_freeze();try{this._roots.splice(n,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new T(this,t,e))}},t.prototype.title=function(){return this._title},t.prototype.set_title=function(t,e){t!==this._title&&(this._title=t,this._trigger_on_change(new k(this,t,e)))},t.prototype.get_model_by_id=function(t){return t in this._all_models?this._all_models[t]:null},t.prototype.get_model_by_name=function(t){return this._all_models_by_name.get_one(t,\"Multiple models are named '\"+t+\"'\")},t.prototype.on_change=function(t){p.contains(this._callbacks,t)||this._callbacks.push(t)},t.prototype.remove_on_change=function(t){var e=this._callbacks.indexOf(t);e>=0&&this._callbacks.splice(e,1)},t.prototype._trigger_on_change=function(t){for(var e=0,n=this._callbacks;e<n.length;e++){var i=n[e];i(t)}},t.prototype._notify_change=function(t,e,n,i,r){\"name\"===e&&(this._all_models_by_name.remove_value(n,t),null!=i&&this._all_models_by_name.add_value(i,t));var o=null!=r?r.setter_id:void 0;this._trigger_on_change(new w(this,t,e,n,i,o))},t._references_json=function(t,e){void 0===e&&(e=!0);for(var n=[],i=0,r=t;i<r.length;i++){var o=r[i],s=o.ref();s.attributes=o.attributes_as_json(e),delete s.attributes.id,n.push(s)}return n},t._instantiate_object=function(t,e,n){var i=d.extend({},n,{id:t}),o=r.Models(e);return new o(i,{silent:!0,defer_initialization:!0})},t._instantiate_references_json=function(e,n){for(var i={},r=0,o=e;r<o.length;r++){var s=o[r],a=s.id,l=s.type,u=s.attributes||{},h=void 0;a in n?h=n[a]:(h=t._instantiate_object(a,l,u),null!=s.subtype&&h.set_subtype(s.subtype)),i[h.id]=h}return i},t._resolve_refs=function(t,e,n){function i(t){if(h.is_ref(t)){if(t.id in e)return e[t.id];if(t.id in n)return n[t.id];throw new Error(\"reference \"+JSON.stringify(t)+\" isn't known (not in Document?)\")}return m.isArray(t)?function(t){for(var e=[],n=0,r=t;n<r.length;n++){var o=r[n];e.push(i(o))}return e}(t):m.isObject(t)?function(t){var e={};for(var n in t){var r=t[n];e[n]=i(r)}return e}(t):t}return i(t)},t._initialize_references_json=function(e,n,i){function r(t,e){function n(r){if(r instanceof l.HasProps){if(!(r.id in i)&&r.id in t){i[r.id]=!0;var o=t[r.id],s=o[1],a=o[2];for(var u in s){var h=s[u];n(h)}e(r,s,a)}}else if(m.isArray(r))for(var c=0,_=r;c<_.length;c++){var h=_[c];n(h)}else if(m.isObject(r))for(var p in r){var h=r[p];n(h)}}var i={};for(var r in t){var o=t[r],s=o[0];n(s)}}for(var o={},s=0,a=e;s<a.length;s++){var u=a[s],h=u.id,c=u.attributes,_=!(h in n),p=_?i[h]:n[h],d=t._resolve_refs(c,n,i);o[p.id]=[p,d,_]}r(o,function(t,e,n){n&&t.setv(e,{silent:!0})}),r(o,function(t,e,n){n&&t.finalize(e,{})})},t._event_for_attribute_change=function(t,e,n,i,r){var o=i.get_model_by_id(t.id);if(o.attribute_is_serializable(e)){var s={kind:\"ModelChanged\",model:{id:t.id,type:t.type},attr:e,new:n};return l.HasProps._json_record_references(i,n,r,!0),s}return null},t._events_to_sync_objects=function(e,n,i,r){for(var o=Object.keys(e.attributes),a=Object.keys(n.attributes),l=p.difference(o,a),u=p.difference(a,o),h=p.intersection(o,a),c=[],_=0,d=l;_<d.length;_++){var m=d[_];s.logger.warn(\"Server sent key \"+m+\" but we don't seem to have it in our JSON\")}for(var v=0,g=u;v<g.length;v++){var m=g[v],y=n.attributes[m];c.push(t._event_for_attribute_change(e,m,y,i,r))}for(var b=0,x=h;b<x.length;b++){var m=x[b],w=e.attributes[m],y=n.attributes[m];null==w&&null==y||(null==w||null==y?c.push(t._event_for_attribute_change(e,m,y,i,r)):f.isEqual(w,y)||c.push(t._event_for_attribute_change(e,m,y,i,r)))}return c.filter(function(t){return null!=t})},t._compute_patch_since_json=function(e,n){function i(t){for(var e={},n=0,i=t.roots.references;n<i.length;n++){var r=i[n];e[r.id]=r}return e}for(var r=n.to_json(!1),o=i(e),s={},a=[],l=0,u=e.roots.root_ids;l<u.length;l++){var h=u[l];s[h]=o[h],a.push(h)}for(var c=i(r),_={},f=[],m=0,v=r.roots.root_ids;m<v.length;m++){var h=v[m];_[h]=c[h],f.push(h)}if(a.sort(),f.sort(),p.difference(a,f).length>0||p.difference(f,a).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");var g={},y=[];for(var b in n._all_models)if(b in o){var x=t._events_to_sync_objects(o[b],c[b],n,g);y=y.concat(x)}return{references:t._references_json(d.values(g),!1),events:y}},t.prototype.to_json_string=function(t){return void 0===t&&(t=!0),JSON.stringify(this.to_json(t))},t.prototype.to_json=function(e){void 0===e&&(e=!0);var n=this._roots.map(function(t){return t.id}),i=d.values(this._all_models);return{title:this._title,roots:{root_ids:n,references:t._references_json(i,e)}}},t.from_json_string=function(e){var n=JSON.parse(e);return t.from_json(n)},t.from_json=function(e){s.logger.debug(\"Creating Document from JSON\");var n=e.version,i=-1!==n.indexOf(\"+\")||-1!==n.indexOf(\"-\"),r=\"Library versions: JS (\"+o.version+\") / Python (\"+n+\")\";i||o.version===n?s.logger.debug(r):(s.logger.warn(\"JS/Python version mismatch\"),s.logger.warn(r));var a=e.roots,l=a.root_ids,u=a.references,h=t._instantiate_references_json(u,{});t._initialize_references_json(u,{},h);for(var c=new t,_=0,p=l;_<p.length;_++){var d=p[_];c.add_root(h[d])}return c.set_title(e.title),c},t.prototype.replace_with_json=function(e){var n=t.from_json(e);n.destructively_move(this)},t.prototype.create_json_patch_string=function(t){return JSON.stringify(this.create_json_patch(t))},t.prototype.create_json_patch=function(e){for(var n={},i=[],r=0,o=e;r<o.length;r++){var a=o[r];if(a.document!==this)throw s.logger.warn(\"Cannot create a patch using events from a different document, event had \",a.document,\" we are \",this),new Error(\"Cannot create a patch using events from a different document\");i.push(a.json(n))}return{events:i,references:t._references_json(d.values(n))}},t.prototype.apply_json_patch=function(e,n,i){for(var r=e.references,o=e.events,a=t._instantiate_references_json(r,this._all_models),l=0,u=o;l<u.length;l++){var h=u[l];switch(h.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":var _=h.model.id;if(_ in this._all_models)a[_]=this._all_models[_];else if(!(_ in a))throw s.logger.warn(\"Got an event for unknown model \",h.model),new Error(\"event model wasn't known\")}}var p={},d={};for(var f in a){var m=a[f];f in this._all_models?p[f]=m:d[f]=m}t._initialize_references_json(r,p,d);for(var v=0,y=o;v<y.length;v++){var h=y[v];switch(h.kind){case\"ModelChanged\":var b=h.model.id;if(!(b in this._all_models))throw new Error(\"Cannot apply patch to \"+b+\" which is not in the document\");var x=this._all_models[b],w=h.attr,k=h.model.type;if(\"data\"===w&&\"ColumnDataSource\"===k){var S=c.decode_column_data(h.new,n),T=S[0],M=S[1];x.setv({_shapes:M,data:T},{setter_id:i})}else{var m=t._resolve_refs(h.new,p,d);x.setv([w,m],{setter_id:i})}break;case\"ColumnDataChanged\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot stream to \"+A+\" which is not in the document\");var E=this._all_models[A],z=c.decode_column_data(h.new,n),T=z[0],M=z[1];if(null!=h.cols){for(var C in E.data)C in T||(T[C]=E.data[C]);for(var C in E._shapes)C in M||(M[C]=E._shapes[C])}E.setv({_shapes:M,data:T},{setter_id:i,check_eq:!1});break;case\"ColumnsStreamed\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot stream to \"+A+\" which is not in the document\");var E=this._all_models[A];if(!(E instanceof g.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");var T=h.data,O=h.rollover;E.stream(T,O);break;case\"ColumnsPatched\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot patch \"+A+\" which is not in the document\");var E=this._all_models[A];if(!(E instanceof g.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");var N=h.patches;E.patch(N);break;case\"RootAdded\":var j=h.model.id,P=a[j];this.add_root(P,i);break;case\"RootRemoved\":var j=h.model.id,P=a[j];this.remove_root(P,i);break;case\"TitleChanged\":this.set_title(h.title,i);break;default:throw new Error(\"Unknown patch event \"+JSON.stringify(h))}}},t}();n.Document=M},function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f=t(0),m=t(1),v=t(14),g=t(47),y=t(5),b=t(24),x=t(37),w=t(30),k=t(42),S=t(246);n.BOKEH_ROOT=\"bk-root\",l=function(t,e){if(e.buffers.length>0?t.consume(e.buffers[0].buffer):t.consume(e.content.data),null!=(e=t.message))return this.apply_json_patch(e.content,e.buffers)},c=function(t,e,n){var i;if(t===n.target_name)return i=new S.Receiver,n.on_msg(l.bind(e,i))},u=function(t,e){var n,i,r,o,s;if(\"undefined\"==typeof Jupyter||null===Jupyter||null==Jupyter.notebook.kernel)return console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function\");v.logger.info(\"Registering Jupyter comms for target \"+t),n=Jupyter.notebook.kernel.comm_manager,s=function(n){return c(t,e,n)},o=n.comms;for(r in o)o[r].then(s);try{return n.register_target(t,function(n,i){var r;return v.logger.info(\"Registering Jupyter comms for target \"+t),r=new S.Receiver,n.on_msg(l.bind(e,r))})}catch(t){return i=t,v.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \"+i+\")\")}},i=function(t){var e;return e=new t.default_view({model:t,parent:null}),f.index[t.id]=e,e},o=function(t){var e,i,r,o;if(o=t.elementid,null==(r=document.getElementById(o)))throw new Error(\"Error rendering Bokeh model: could not find tag with id: \"+o);if(!document.body.contains(r))throw new Error(\"Error rendering Bokeh model: element with id '\"+o+\"' must be under <body>\");return\"SCRIPT\"===r.tagName&&(d(r,t),i=y.div({class:n.BOKEH_ROOT}),y.replaceWith(r,i),e=y.div(),i.appendChild(e),r=e),r},n.add_model_standalone=function(t,e,n){var r;if(null==(r=n.get_model_by_id(t)))throw new Error(\"Model \"+t+\" was not in document \"+n);return i(r).renderTo(e,!0)},n.add_document_standalone=function(t,e,n){void 0===n&&(n=!1);var r,o,s,a,l,u,h;for(h={},l=function(t){var n;return(n=i(t)).renderTo(e),h[t.id]=n},u=function(t){var n;if(t.id in h)return n=h[t.id],e.removeChild(n.el),delete h[t.id],delete f.index[t.id]},a=t.roots(),r=0,o=a.length;r<o;r++)s=a[r],l(s);return n&&(window.document.title=t.title()),t.on_change(function(t){return t instanceof g.RootAddedEvent?l(t.model):t instanceof g.RootRemovedEvent?u(t.model):n&&t instanceof g.TitleChangedEvent?window.document.title=t.title:void 0}),h},h={},s=function(t,e,n){var i;if(null==t)throw new Error(\"Missing websocket_url\");return t in h||(h[t]={}),i=h[t],e in i||(i[e]=m.pull_session(t,e,n)),i[e]},_=function(t,e,i,r){var o;return o=window.location.search.substr(1),s(e,i,o).then(function(e){return n.add_document_standalone(e.document,t,r)},function(t){throw v.logger.error(\"Failed to load Bokeh session \"+i+\": \"+t),t})},p=function(t,e,n,r){var o;return o=window.location.search.substr(1),s(e,r,o).then(function(e){var r;if(null==(r=e.document.get_model_by_id(n)))throw new Error(\"Did not find model \"+n+\" in session\");return i(r).renderTo(t,!0)},function(t){throw v.logger.error(\"Failed to load Bokeh session \"+r+\": \"+t),t})},n.inject_css=function(t){var e;return e=y.link({href:t,rel:\"stylesheet\",type:\"text/css\"}),document.body.appendChild(e)},n.inject_raw_css=function(t){var e;return e=y.style({},t),document.body.appendChild(e)},d=function(t,e){var n;return null!=(n=t.dataset).bokehLogLevel&&n.bokehLogLevel.length>0&&v.set_log_level(n.bokehLogLevel),null!=n.bokehDocId&&n.bokehDocId.length>0&&(e.docid=n.bokehDocId),null!=n.bokehModelId&&n.bokehModelId.length>0&&(e.modelid=n.bokehModelId),null!=n.bokehSessionId&&n.bokehSessionId.length>0&&(e.sessionid=n.bokehSessionId),v.logger.info(\"Will inject Bokeh script tag with params \"+JSON.stringify(e))},n.embed_items_notebook=function(t,e){var i,r,s,a,l,h;if(1!==w.size(t))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");for(i=g.Document.from_json(w.values(t)[0]),h=[],s=0,l=e.length;s<l;s++)null!=(a=e[s]).notebook_comms_target&&u(a.notebook_comms_target,i),r=o(a),null!=a.modelid?h.push(n.add_model_standalone(a.modelid,r,i)):h.push(n.add_document_standalone(i,r,!1));return h},a=function(t,e){var n,i;return i=\"ws:\",\"https:\"===window.location.protocol&&(i=\"wss:\"),null!=e?(n=document.createElement(\"a\")).href=e:n=window.location,null!=t?\"/\"===t&&(t=\"\"):t=n.pathname.replace(/\\/+$/,\"\"),i+\"//\"+n.host+t+\"/ws\"},n.embed_items=function(t,e,n,i){return b.defer(function(){return r(t,e,n,i)})},r=function(t,e,i,r){var s,l,u,h,c,d,f,m,y,b;k.isString(t)&&(t=JSON.parse(x.unescape(t))),l={};for(s in t)l[s]=g.Document.from_json(t[s]);for(m=[],h=0,d=e.length;h<d;h++)if(c=e[h],u=o(c),y=null!=c.use_for_title&&c.use_for_title,null!=c.sessionid)b=a(i,r),v.logger.debug(\"embed: computed ws url: \"+b),f=null!=c.modelid?p(u,b,c.modelid,c.sessionid):_(u,b,c.sessionid,y),m.push(f.then(function(t){return console.log(\"Bokeh items were rendered successfully\")},function(t){return console.log(\"Error rendering Bokeh items \",t)}));else{if(null==c.docid)throw new Error(\"Error rendering Bokeh items to element \"+c.elementid+\": no document ID or session ID specified\");null!=c.modelid?m.push(n.add_model_standalone(c.modelid,u,l[c.docid])):m.push(n.add_document_standalone(l[c.docid],u,y))}return m}},function(t,e,n){t(244);var i=t(248);n.version=i.version;var r=t(48);n.embed=r;var o=t(14);n.logger=o.logger,n.set_log_level=o.set_log_level;var s=t(19);n.settings=s.settings;var a=t(0);n.Models=a.Models,n.index=a.index;var l=t(47);n.documents=l.documents;var u=t(247);n.safely=u.safely},function(t,e,n){var i=t(364),r=t(8),o=t(15),s=t(42),a=t(30),l=t(14),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this);for(var n in this.js_property_callbacks)for(var i=this.js_property_callbacks[n],r=n.split(\":\"),o=r[0],s=r[1],a=void 0===s?null:s,l=function(t){var n=null!=a?u.properties[a][o]:u[o];u.connect(n,function(){return t.execute(e,{})})},u=this,h=0,c=i;h<c.length;h++){var _=c[h];l(_)}this.connect(this.properties.js_event_callbacks.change,function(){return e._update_event_callbacks}),this.connect(this.properties.subscribed_events.change,function(){return e._update_event_callbacks})},e.prototype._process_event=function(t){if(t.is_applicable_to(this)){t=t._customize_event(this);for(var e=0,n=this.js_event_callbacks[t.event_name]||[];e<n.length;e++){var i=n[e];i.execute(t,{})}null!=this.document&&this.subscribed_events.some(function(e){return e==t.event_name})&&this.document.event_manager.send_event(t)}},e.prototype.trigger_event=function(t){null!=this.document&&this.document.event_manager.trigger(t.set_model_id(this.id))},e.prototype._update_event_callbacks=function(){null!=this.document?this.document.event_manager.subscribed_models.push(this.id):l.logger.warn(\"WARNING: Document not defined for updating event callbacks\")},e.prototype._doc_attached=function(){a.isEmpty(this.js_event_callbacks)&&a.isEmpty(this.subscribed_events)||this._update_event_callbacks()},e.prototype.select=function(t){if(s.isString(t))return this.references().filter(function(n){return n instanceof e&&n.name===t});if(t.prototype instanceof r.HasProps)return this.references().filter(function(e){return e instanceof t});throw new Error(\"invalid selector\")},e.prototype.select_one=function(t){var e=this.select(t);switch(e.length){case 0:return null;case 1:return e[0];default:throw new Error(\"found more than one object matching given selector\")}},e}(r.HasProps);n.Model=u,u.prototype.type=\"Model\",u.define({tags:[o.Array,[]],name:[o.String],js_property_callbacks:[o.Any,{}],js_event_callbacks:[o.Any,{}],subscribed_events:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(12),o=t(15),s=t(165);n.AnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._get_size=function(){return new Error(\"not implemented\")},e.prototype.get_size=function(){return this.model.visible?Math.round(this._get_size()):0},e}(s.RendererView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.add_panel=function(t){var e;if(null==this.panel||t!==this.panel.side)return(e=new r.SidePanel({side:t})).attach_document(this.document),this.set_panel(e)},e.prototype.set_panel=function(t){return this.panel=t,this.level=\"overlay\"},e}(s.Renderer);n.Annotation=a,a.prototype.type=\"Annotation\",a.prototype.default_view=n.AnnotationView,a.define({plot:[o.Instance]}),a.override({level:\"annotation\"})},function(t,e,n){var i=t(364),r=t(51),o=t(53),s=t(173),a=t(15),l=t(29);n.ArrowView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),null==this.model.source&&(this.model.source=new s.ColumnDataSource),this.set_data(this.model.source)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s;return e=this.plot_view.frame,\"data\"===this.model.start_units?(r=e.xscales[this.model.x_range_name].v_compute(this._x_start),s=e.yscales[this.model.y_range_name].v_compute(this._y_start)):(r=e.xview.v_compute(this._x_start),s=e.yview.v_compute(this._y_start)),\"data\"===this.model.end_units?(i=e.xscales[this.model.x_range_name].v_compute(this._x_end),o=e.yscales[this.model.y_range_name].v_compute(this._y_end)):(i=e.xview.v_compute(this._x_end),o=e.yview.v_compute(this._y_end)),n=[r,s],t=[i,o],[n,t]},e.prototype.render=function(){var t,e,n,i,r;if(this.model.visible){return(t=this.plot_view.canvas_view.ctx).save(),o=this._map_data(),this.start=o[0],this.end=o[1],null!=this.model.end&&this._arrow_head(t,\"render\",this.model.end,this.start,this.end),null!=this.model.start&&this._arrow_head(t,\"render\",this.model.start,this.end,this.start),t.beginPath(),s=this.plot_model.canvas.bbox.rect,i=s.x,r=s.y,n=s.width,e=s.height,t.rect(i,r,n,e),null!=this.model.end&&this._arrow_head(t,\"clip\",this.model.end,this.start,this.end),null!=this.model.start&&this._arrow_head(t,\"clip\",this.model.start,this.end,this.start),t.closePath(),t.clip(),this._arrow_body(t),t.restore();var o,s}},e.prototype._arrow_body=function(t){var e,n,i,r;if(this.visuals.line.doit){for(r=[],e=n=0,i=this._x_start.length;0<=i?n<i:n>i;e=0<=i?++n:--n)this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(this.start[0][e],this.start[1][e]),t.lineTo(this.end[0][e],this.end[1][e]),r.push(t.stroke());return r}},e.prototype._arrow_head=function(t,e,n,i,r){var o,s,a,u,h;for(h=[],s=a=0,u=this._x_start.length;0<=u?a<u:a>u;s=0<=u?++a:--a)o=Math.PI/2+l.atan2([i[0][s],i[1][s]],[r[0][s],r[1][s]]),t.save(),t.translate(r[0][s],r[1][s]),t.rotate(o),\"render\"===e?n.render(t):\"clip\"===e&&n.clip(t),h.push(t.restore());return h},e}(r.AnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Arrow=u,u.prototype.default_view=n.ArrowView,u.prototype.type=\"Arrow\",u.mixins([\"line\"]),u.define({x_start:[a.NumberSpec],y_start:[a.NumberSpec],start_units:[a.String,\"data\"],start:[a.Instance,null],x_end:[a.NumberSpec],y_end:[a.NumberSpec],end_units:[a.String,\"data\"],end:[a.Instance,function(){return new o.OpenHead({})}],source:[a.Instance],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]})},function(t,e,n){var i=t(364),r=t(51),o=t(46),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals=new o.Visuals(this)},e.prototype.render=function(t,e){return null},e.prototype.clip=function(t,e){return null},e}(r.Annotation);n.ArrowHead=a,a.prototype.type=\"ArrowHead\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(0,0),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.stroke()},e}(a);n.OpenHead=l,l.prototype.type=\"OpenHead\",l.mixins([\"line\"]),l.define({size:[s.Number,25]});var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._normal(t,e),t.fill()),this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),this._normal(t,e),t.stroke()},e.prototype._normal=function(t,e){return t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.closePath()},e}(a);n.NormalHead=u,u.prototype.type=\"NormalHead\",u.mixins([\"line\",\"fill\"]),u.define({size:[s.Number,25]}),u.override({fill_color:\"black\"});var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(0,.5*this.size),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._vee(t,e),t.fill()),this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),this._vee(t,e),t.stroke()},e.prototype._vee=function(t,e){return t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.lineTo(0,.5*this.size),t.closePath()},e}(a);n.VeeHead=h,h.prototype.type=\"VeeHead\",h.mixins([\"line\",\"fill\"]),h.define({size:[s.Number,25]}),h.override({fill_color:\"black\"});var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(t,e){if(this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(.5*this.size,0),t.lineTo(-.5*this.size,0),t.stroke()},e}(a);n.TeeHead=c,c.prototype.type=\"TeeHead\",c.mixins([\"line\"]),c.define({size:[s.Number,25]})},function(t,e,n){var i=t(364),r=t(51),o=t(173),s=t(15);n.BandView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.set_data(this.model.source)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d;return l=this.plot_view.frame,a=this.model.dimension,p=l.xscales[this.model.x_range_name],d=l.yscales[this.model.y_range_name],c=\"height\"===a?d:p,o=\"height\"===a?p:d,_=\"height\"===a?l.yview:l.xview,s=\"height\"===a?l.xview:l.yview,n=\"data\"===this.model.lower.units?c.v_compute(this._lower):_.v_compute(this._lower),r=\"data\"===this.model.upper.units?c.v_compute(this._upper):_.v_compute(this._upper),t=\"data\"===this.model.base.units?o.v_compute(this._base):s.v_compute(this._base),f=\"height\"===a?[1,0]:[0,1],u=f[0],h=f[1],e=[n,t],i=[r,t],this._lower_sx=e[u],this._lower_sy=e[h],this._upper_sx=i[u],this._upper_sy=i[h];var f},e.prototype.render=function(){var t,e,n,i,r,o,s,a,l,u;if(this.model.visible){for(this._map_data(),(t=this.plot_view.canvas_view.ctx).beginPath(),t.moveTo(this._lower_sx[0],this._lower_sy[0]),e=n=0,s=this._lower_sx.length;0<=s?n<s:n>s;e=0<=s?++n:--n)t.lineTo(this._lower_sx[e],this._lower_sy[e]);for(e=i=a=this._upper_sx.length-1;a<=0?i<=0:i>=0;e=a<=0?++i:--i)t.lineTo(this._upper_sx[e],this._upper_sy[e]);for(t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(t),t.fill()),t.beginPath(),t.moveTo(this._lower_sx[0],this._lower_sy[0]),e=r=0,l=this._lower_sx.length;0<=l?r<l:r>l;e=0<=l?++r:--r)t.lineTo(this._lower_sx[e],this._lower_sy[e]);for(this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),t.beginPath(),t.moveTo(this._upper_sx[0],this._upper_sy[0]),e=o=0,u=this._upper_sx.length;0<=u?o<u:o>u;e=0<=u?++o:--o)t.lineTo(this._upper_sx[e],this._upper_sy[e]);return this.visuals.line.doit?(this.visuals.line.set_value(t),t.stroke()):void 0}},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Band=a,a.prototype.default_view=n.BandView,a.prototype.type=\"Band\",a.mixins([\"line\",\"fill\"]),a.define({lower:[s.DistanceSpec],upper:[s.DistanceSpec],base:[s.DistanceSpec],dimension:[s.Dimension,\"height\"],source:[s.Instance,function(){return new o.ColumnDataSource}],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(20),s=t(5),a=t(15),l=t(42);n.BoxAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.classList.add(\"bk-shading\"),s.hide(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?(this.connect(this.model.change,function(){return this.render()}),this.connect(this.model.data_update,function(){return this.render()})):(this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.data_update,function(){return e.plot_view.request_render()}))},e.prototype.render=function(){var t,e,n,i,r,o,a,l,u=this;if(this.model.visible||\"css\"!==this.model.render_mode||s.hide(this.el),this.model.visible)return null==this.model.left&&null==this.model.right&&null==this.model.top&&null==this.model.bottom?(s.hide(this.el),null):(e=this.plot_model.frame,a=e.xscales[this.model.x_range_name],l=e.yscales[this.model.y_range_name],t=function(t,e,n,i,r){return null!=t?u.model.screen?t:\"data\"===e?n.compute(t):i.compute(t):r},i=t(this.model.left,this.model.left_units,a,e.xview,e._left.value),r=t(this.model.right,this.model.right_units,a,e.xview,e._right.value),o=t(this.model.top,this.model.top_units,l,e.yview,e._top.value),n=t(this.model.bottom,this.model.bottom_units,l,e.yview,e._bottom.value),(\"css\"===this.model.render_mode?this._css_box.bind(this):this._canvas_box.bind(this))(i,r,n,o))},e.prototype._css_box=function(t,e,n,i){var r,o,a;return a=Math.abs(e-t),o=Math.abs(n-i),this.el.style.left=t+\"px\",this.el.style.width=a+\"px\",this.el.style.top=i+\"px\",this.el.style.height=o+\"px\",this.el.style.borderWidth=this.model.line_width.value+\"px\",this.el.style.borderColor=this.model.line_color.value,this.el.style.backgroundColor=this.model.fill_color.value,this.el.style.opacity=this.model.fill_alpha.value,r=this.model.line_dash,l.isArray(r)&&(r=r.length<2?\"solid\":\"dashed\"),l.isString(r)&&(this.el.style.borderStyle=r),s.show(this.el)},e.prototype._canvas_box=function(t,e,n,i){var r;return(r=this.plot_view.canvas_view.ctx).save(),r.beginPath(),r.rect(t,i,e-t,n-i),this.visuals.fill.set_value(r),r.fill(),this.visuals.line.set_value(r),r.stroke(),r.restore()},e}(r.AnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.data_update=new o.Signal(this,\"data_update\")},e.prototype.update=function(t){var e=t.left,n=t.right,i=t.top,r=t.bottom;return this.setv({left:e,right:n,top:i,bottom:r,screen:!0},{silent:!0}),this.data_update.emit()},e}(r.Annotation);n.BoxAnnotation=u,u.prototype.default_view=n.BoxAnnotationView,u.prototype.type=\"BoxAnnotation\",u.mixins([\"line\",\"fill\"]),u.define({render_mode:[a.RenderMode,\"canvas\"],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"],top:[a.Number,null],top_units:[a.SpatialUnits,\"data\"],bottom:[a.Number,null],bottom_units:[a.SpatialUnits,\"data\"],left:[a.Number,null],left_units:[a.SpatialUnits,\"data\"],right:[a.Number,null],right_units:[a.SpatialUnits,\"data\"]}),u.internal({screen:[a.Boolean,!1]}),u.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(180),s=t(91),a=t(146),l=t(168),u=t(169),h=t(160),c=t(15),_=t(40),p=t(22),d=t(30),f=t(42);n.ColorBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._set_canvas_image()},e.prototype.connect_signals=function(){var e=this;if(t.prototype.connect_signals.call(this),this.connect(this.model.properties.visible.change,function(){return e.plot_view.request_render()}),this.connect(this.model.ticker.change,function(){return e.plot_view.request_render()}),this.connect(this.model.formatter.change,function(){return e.plot_view.request_render()}),null!=this.model.color_mapper)return this.connect(this.model.color_mapper.change,function(){return this._set_canvas_image(),this.plot_view.request_render()})},e.prototype._get_size=function(){var t,e;return null==this.model.color_mapper?0:(t=this.compute_legend_dimensions(),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.height:\"left\"===e||\"right\"===e?t.width:void 0)},e.prototype._set_canvas_image=function(){var t,e,n,i,r,o,s,l,u,h;if(null!=this.model.color_mapper){switch(l=this.model.color_mapper.palette,\"vertical\"===this.model.orientation&&(l=l.slice(0).reverse()),this.model.orientation){case\"vertical\":c=[1,l.length],h=c[0],r=c[1];break;case\"horizontal\":_=[l.length,1],h=_[0],r=_[1]}return n=document.createElement(\"canvas\"),p=[h,r],n.width=p[0],n.height=p[1],o=n.getContext(\"2d\"),s=o.getImageData(0,0,h,r),i=new a.LinearColorMapper({palette:l}),t=i.v_map_screen(function(){u=[];for(var t=0,e=l.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this)),e=new Uint8Array(t),s.data.set(e),o.putImageData(s,0,0),this.image=n;var c,_,p}},e.prototype.compute_legend_dimensions=function(){var t,e,n,i,r,o,s,a,l;switch(t=this.model._computed_image_dimensions(),u=[t.height,t.width],e=u[0],n=u[1],i=this._get_label_extent(),l=this.model._title_extent(),a=this.model._tick_extent(),s=this.model.padding,this.model.orientation){case\"vertical\":r=e+l+2*s,o=n+a+i+2*s;break;case\"horizontal\":r=e+l+a+i+2*s,o=n+2*s}return{height:r,width:o};var u},e.prototype.compute_legend_location=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_;if(e=this.compute_legend_dimensions(),p=[e.height,e.width],n=p[0],r=p[1],i=this.model.margin,s=null!=(a=this.model.panel)?a:this.plot_view.frame,d=s.bbox.ranges,t=d[0],h=d[1],o=this.model.location,f.isString(o))switch(o){case\"top_left\":l=t.start+i,u=h.start+i;break;case\"top_center\":l=(t.end+t.start)/2-r/2,u=h.start+i;break;case\"top_right\":l=t.end-i-r,u=h.start+i;break;case\"bottom_right\":l=t.end-i-r,u=h.end-i-n;break;case\"bottom_center\":l=(t.end+t.start)/2-r/2,u=h.end-i-n;break;case\"bottom_left\":l=t.start+i,u=h.end-i-n;break;case\"center_left\":l=t.start+i,u=(h.end+h.start)/2-n/2;break;case\"center\":l=(t.end+t.start)/2-r/2,u=(h.end+h.start)/2-n/2;break;case\"center_right\":l=t.end-i-r,u=(h.end+h.start)/2-n/2}else f.isArray(o)&&2===o.length&&(c=o[0],_=o[1],l=s.xview.compute(c),u=s.yview.compute(_)-n);return{sx:l,sy:u};var p,d},e.prototype.render=function(){var t,e,n,i,r;if(this.model.visible&&null!=this.model.color_mapper){return(t=this.plot_view.canvas_view.ctx).save(),o=this.compute_legend_location(),n=o.sx,i=o.sy,t.translate(n,i),this._draw_bbox(t),e=this._get_image_offset(),t.translate(e.x,e.y),this._draw_image(t),null!=this.model.color_mapper.low&&null!=this.model.color_mapper.high&&(r=this.model.tick_info(),this._draw_major_ticks(t,r),this._draw_minor_ticks(t,r),this._draw_major_labels(t,r)),this.model.title&&this._draw_title(t),t.restore();var o}},e.prototype._draw_bbox=function(t){var e;return e=this.compute_legend_dimensions(),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(0,0,e.width,e.height)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_image=function(t){var e;return e=this.model._computed_image_dimensions(),t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this.image,0,0,e.width,e.height),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_major_ticks=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.major_tick_line.doit){for(d=this.model._normals(),o=d[0],s=d[1],i=this.model._computed_image_dimensions(),f=[i.width*o,i.height*s],_=f[0],p=f[1],m=e.coords.major,l=m[0],u=m[1],h=this.model.major_tick_in,c=this.model.major_tick_out,t.save(),t.translate(_,p),this.visuals.major_tick_line.set_value(t),n=r=0,a=l.length;0<=a?r<a:r>a;n=0<=a?++r:--r)t.beginPath(),t.moveTo(Math.round(l[n]+o*c),Math.round(u[n]+s*c)),t.lineTo(Math.round(l[n]-o*h),Math.round(u[n]-s*h)),t.stroke();return t.restore();var d,f,m}},e.prototype._draw_minor_ticks=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.minor_tick_line.doit){for(d=this.model._normals(),o=d[0],s=d[1],i=this.model._computed_image_dimensions(),f=[i.width*o,i.height*s],_=f[0],p=f[1],m=e.coords.minor,l=m[0],u=m[1],h=this.model.minor_tick_in,c=this.model.minor_tick_out,t.save(),t.translate(_,p),this.visuals.minor_tick_line.set_value(t),n=r=0,a=l.length;0<=a?r<a:r>a;n=0<=a?++r:--r)t.beginPath(),t.moveTo(Math.round(l[n]+o*c),Math.round(u[n]+s*c)),t.lineTo(Math.round(l[n]-o*h),Math.round(u[n]-s*h)),t.stroke();return t.restore();var d,f,m}},e.prototype._draw_major_labels=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p,d,f;if(this.visuals.major_label_text.doit){for(m=this.model._normals(),s=m[0],a=m[1],r=this.model._computed_image_dimensions(),v=[r.width*s,r.height*a],_=v[0],d=v[1],u=this.model.label_standoff+this.model._tick_extent(),p=(g=[u*s,u*a])[0],f=g[1],y=e.coords.major,h=y[0],c=y[1],n=e.labels.major,this.visuals.major_label_text.set_value(t),t.save(),t.translate(_+p,d+f),i=o=0,l=h.length;0<=l?o<l:o>l;i=0<=l?++o:--o)t.fillText(n[i],Math.round(h[i]+s*this.model.label_standoff),Math.round(c[i]+a*this.model.label_standoff));return t.restore();var m,v,g,y}},e.prototype._draw_title=function(t){if(this.visuals.title_text.doit)return t.save(),this.visuals.title_text.set_value(t),t.fillText(this.model.title,0,-this.model.title_standoff),t.restore()},e.prototype._get_label_extent=function(){var t,e,n,i;if(i=this.model.tick_info().labels.major,null==this.model.color_mapper.low||null==this.model.color_mapper.high||d.isEmpty(i))n=0;else{switch((t=this.plot_view.canvas_view.ctx).save(),this.visuals.major_label_text.set_value(t),this.model.orientation){case\"vertical\":n=p.max(function(){var n,r,o;for(o=[],n=0,r=i.length;n<r;n++)e=i[n],o.push(t.measureText(e.toString()).width);return o}());break;case\"horizontal\":n=_.get_text_height(this.visuals.major_label_text.font_value()).height}n+=this.model.label_standoff,t.restore()}return n},e.prototype._get_image_offset=function(){var t,e;return t=this.model.padding,e=this.model.padding+this.model._title_extent(),{x:t,y:e}},e}(r.AnnotationView);var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n)},e.prototype._normals=function(){var t,e;return\"vertical\"===this.orientation?(t=(n=[1,0])[0],e=n[1]):(t=(i=[0,1])[0],e=i[1]),[t,e];var n,i},e.prototype._title_extent=function(){var t;return t=this.title_text_font+\" \"+this.title_text_font_size+\" \"+this.title_text_font_style,this.title?_.get_text_height(t).height+this.title_standoff:0},e.prototype._tick_extent=function(){return null!=this.color_mapper.low&&null!=this.color_mapper.high?p.max([this.major_tick_out,this.minor_tick_out]):0},e.prototype._computed_image_dimensions=function(){var t,e,n,i,r;switch(t=this.plot.plot_canvas.frame._height.value,e=this.plot.plot_canvas.frame._width.value,i=this._title_extent(),this.orientation){case\"vertical\":\"auto\"===this.height?null!=this.panel?n=t-2*this.padding-i:(n=p.max([25*this.color_mapper.palette.length,.3*t]),n=p.min([n,.8*t-2*this.padding-i])):n=this.height,r=\"auto\"===this.width?25:this.width;break;case\"horizontal\":n=\"auto\"===this.height?25:this.height,\"auto\"===this.width?null!=this.panel?r=e-2*this.padding:(r=p.max([25*this.color_mapper.palette.length,.3*e]),r=p.min([r,.8*e-2*this.padding])):r=this.width}return{height:n,width:r}},e.prototype._tick_coordinate_scale=function(t){var e,n;switch(e={source_range:new h.Range1d({start:this.color_mapper.low,end:this.color_mapper.high}),target_range:new h.Range1d({start:0,end:t})},this.color_mapper.type){case\"LinearColorMapper\":n=new l.LinearScale(e);break;case\"LogColorMapper\":n=new u.LogScale(e)}return n},e.prototype._format_major_labels=function(t,e){var n,i,r,o,s;for(o=t,n=this.formatter.doFormat(o,null),i=r=0,s=e.length;0<=s?r<s:r>s;i=0<=s?++r:--r)e[i]in this.major_label_overrides&&(n[i]=this.major_label_overrides[e[i]]);return n},e.prototype.tick_info=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y;switch(o=this._computed_image_dimensions(),this.orientation){case\"vertical\":v=o.height;break;case\"horizontal\":v=o.width}for(m=this._tick_coordinate_scale(v),b=this._normals(),i=b[0],s=b[1],x=[this.color_mapper.low,this.color_mapper.high],g=x[0],n=x[1],y=this.ticker.get_ticks(g,n,null,null,this.ticker.desired_num_ticks),e={major:[[],[]],minor:[[],[]]},c=y.major,p=y.minor,h=e.major,_=e.minor,r=a=0,d=c.length;0<=d?a<d:a>d;r=0<=d?++a:--a)c[r]<g||c[r]>n||(h[i].push(c[r]),h[s].push(0));for(r=l=0,f=p.length;0<=f?l<f:l>f;r=0<=f?++l:--l)p[r]<g||p[r]>n||(_[i].push(p[r]),_[s].push(0));return u={major:this._format_major_labels(h[i].slice(0),c)},h[i]=m.v_compute(h[i]),_[i]=m.v_compute(_[i]),\"vertical\"===this.orientation&&(h[i]=new Float64Array(function(){var e,n,r,o;for(r=h[i],o=[],n=0,e=r.length;n<e;n++)t=r[n],o.push(v-t);return o}()),_[i]=new Float64Array(function(){var e,n,r,o;for(r=_[i],o=[],n=0,e=r.length;n<e;n++)t=r[n],o.push(v-t);return o}())),{ticks:y,coords:e,labels:u};var b,x},e}(r.Annotation);n.ColorBar=m,m.prototype.default_view=n.ColorBarView,m.prototype.type=\"ColorBar\",m.mixins([\"text:major_label_\",\"text:title_\",\"line:major_tick_\",\"line:minor_tick_\",\"line:border_\",\"line:bar_\",\"fill:background_\"]),m.define({location:[c.Any,\"top_right\"],orientation:[c.Orientation,\"vertical\"],title:[c.String],title_standoff:[c.Number,2],height:[c.Any,\"auto\"],width:[c.Any,\"auto\"],scale_alpha:[c.Number,1],ticker:[c.Instance,function(){return new o.BasicTicker}],formatter:[c.Instance,function(){return new s.BasicTickFormatter}],major_label_overrides:[c.Any,{}],color_mapper:[c.Instance],label_standoff:[c.Number,5],margin:[c.Number,30],padding:[c.Number,10],major_tick_in:[c.Number,5],major_tick_out:[c.Number,0],minor_tick_in:[c.Number,0],minor_tick_out:[c.Number,0]}),m.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_align:\"center\",major_label_text_baseline:\"middle\",major_label_text_font_size:\"8pt\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"10pt\",title_text_font_style:\"italic\"})},function(t,e,n){var i=t(51);n.Annotation=i.Annotation;var r=t(52);n.Arrow=r.Arrow;var o=t(53);n.ArrowHead=o.ArrowHead;var s=t(53);n.OpenHead=s.OpenHead;var a=t(53);n.NormalHead=a.NormalHead;var l=t(53);n.TeeHead=l.TeeHead;var u=t(53);n.VeeHead=u.VeeHead;var h=t(54);n.Band=h.Band;var c=t(55);n.BoxAnnotation=c.BoxAnnotation;var _=t(56);n.ColorBar=_.ColorBar;var p=t(58);n.Label=p.Label;var d=t(59);n.LabelSet=d.LabelSet;var f=t(60);n.Legend=f.Legend;var m=t(61);n.LegendItem=m.LegendItem;var v=t(62);n.PolyAnnotation=v.PolyAnnotation;var g=t(63);n.Span=g.Span;var y=t(64);n.TextAnnotation=y.TextAnnotation;var b=t(65);n.Title=b.Title;var x=t(66);n.ToolbarPanel=x.ToolbarPanel;var w=t(67);n.Tooltip=w.Tooltip;var k=t(68);n.Whisker=k.Whisker},function(t,e,n){var i=t(364),r=t(64),o=t(5),s=t(15);n.LabelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals.warm_cache(null)},e.prototype._get_size=function(){var t;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),this.model.panel.is_horizontal?t.measureText(this.model.text).ascent:t.measureText(this.model.text).width},e.prototype.render=function(){var t,e,n,i,r,s,a;if(this.model.visible||\"css\"!==this.model.render_mode||o.hide(this.el),this.model.visible){switch(this.model.angle_units){case\"rad\":t=-1*this.model.angle;break;case\"deg\":t=-1*this.model.angle*Math.PI/180}return e=null!=(n=this.model.panel)?n:this.plot_view.frame,s=this.plot_view.frame.xscales[this.model.x_range_name],a=this.plot_view.frame.yscales[this.model.y_range_name],i=\"data\"===this.model.x_units?s.compute(this.model.x):e.xview.compute(this.model.x),r=\"data\"===this.model.y_units?a.compute(this.model.y):e.yview.compute(this.model.y),i+=this.model.x_offset,r-=this.model.y_offset,(\"canvas\"===this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,this.model.text,i,r,t)}},e}(r.TextAnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.Label=a,a.prototype.default_view=n.LabelView,a.prototype.type=\"Label\",a.mixins([\"text\",\"line:border_\",\"fill:background_\"]),a.define({x:[s.Number],x_units:[s.SpatialUnits,\"data\"],y:[s.Number],y_units:[s.SpatialUnits,\"data\"],text:[s.String],angle:[s.Angle,0],angle_units:[s.AngleUnits,\"rad\"],x_offset:[s.Number,0],y_offset:[s.Number,0],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],render_mode:[s.RenderMode,\"canvas\"]}),a.override({background_fill_color:null,border_line_color:null})},function(t,e,n){var i=t(364),r=t(64),o=t(173),s=t(5),a=t(15),l=t(42);n.LabelSetView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,r;if(t.prototype.initialize.call(this,e),this.set_data(this.model.source),\"css\"===this.model.render_mode){for(r=[],n=0,i=this._text.length;0<=i?n<i:n>i;0<=i?++n:--n)this.title_div=s.div({class:\"bk-annotation-child\",style:{display:\"none\"}}),r.push(this.el.appendChild(this.title_div));return r}},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?(this.connect(this.model.change,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source),this.render()})):(this.connect(this.model.change,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source),this.plot_view.request_render()}))},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e)},e.prototype._map_data=function(){var t,e,n,i,r,o;return r=this.plot_view.frame.xscales[this.model.x_range_name],o=this.plot_view.frame.yscales[this.model.y_range_name],t=null!=(e=this.model.panel)?e:this.plot_view.frame,n=\"data\"===this.model.x_units?r.v_compute(this._x):t.xview.v_compute(this._x),i=\"data\"===this.model.y_units?o.v_compute(this._y):t.yview.v_compute(this._y),[n,i]},e.prototype.render=function(){var t,e,n,i,r,o,a,l;if(this.model.visible||\"css\"!==this.model.render_mode||s.hide(this.el),this.model.visible){for(e=\"canvas\"===this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),t=this.plot_view.canvas_view.ctx,u=this._map_data(),a=u[0],l=u[1],o=[],n=i=0,r=this._text.length;0<=r?i<r:i>r;n=0<=r?++i:--i)o.push(e(t,n,this._text[n],a[n]+this._x_offset[n],l[n]-this._y_offset[n],this._angle[n]));return o;var u}},e.prototype._get_size=function(){var t,e;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.measureText(this._text[0]).ascent:\"left\"===e||\"right\"===e?t.measureText(this._text[0]).width:void 0},e.prototype._v_canvas_text=function(t,e,n,i,r,o){var s;return this.visuals.text.set_vectorize(t,e),s=this._calculate_bounding_box_dimensions(t,n),t.save(),t.beginPath(),t.translate(i,r),t.rotate(o),t.rect(s[0],s[1],s[2],s[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_vectorize(t,e),t.fillText(n,0,0)),t.restore()},e.prototype._v_css_text=function(t,e,n,i,r,o){var a,u,h,c;return u=this.el.childNodes[e],u.textContent=n,this.visuals.text.set_vectorize(t,e),a=this._calculate_bounding_box_dimensions(t,n),h=this.visuals.border_line.line_dash.value(),l.isArray(h)&&(c=h.length<2?\"solid\":\"dashed\"),l.isString(h)&&(c=h),this.visuals.border_line.set_vectorize(t,e),this.visuals.background_fill.set_vectorize(t,e),u.style.position=\"absolute\",u.style.left=i+a[0]+\"px\",u.style.top=r+a[1]+\"px\",u.style.color=\"\"+this.visuals.text.text_color.value(),u.style.opacity=\"\"+this.visuals.text.text_alpha.value(),u.style.font=\"\"+this.visuals.text.font_value(),u.style.lineHeight=\"normal\",o&&(u.style.transform=\"rotate(\"+o+\"rad)\"),this.visuals.background_fill.doit&&(u.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(u.style.borderStyle=\"\"+c,u.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",u.style.borderColor=\"\"+this.visuals.border_line.color_value()),s.show(u)},e}(r.TextAnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.LabelSet=u,u.prototype.default_view=n.LabelSetView,u.prototype.type=\"Label\",u.mixins([\"text\",\"line:border_\",\"fill:background_\"]),u.define({x:[a.NumberSpec],y:[a.NumberSpec],x_units:[a.SpatialUnits,\"data\"],y_units:[a.SpatialUnits,\"data\"],text:[a.StringSpec,{field:\"text\"}],angle:[a.AngleSpec,0],x_offset:[a.NumberSpec,{value:0}],y_offset:[a.NumberSpec,{value:0}],source:[a.Instance,function(){return new o.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"],render_mode:[a.RenderMode,\"canvas\"]}),u.override({background_fill_color:null,border_line_color:null})},function(t,e,n){var i=t(364),r=t(51),o=t(15),s=t(40),a=t(23),l=t(22),u=t(30),h=t(42),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.visible.change,function(){return e.plot_view.request_render()})},e.prototype.compute_legend_bbox=function(){var t,e,n,i,r,o,a,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(d=this.model.get_legend_names(),e=this.model.glyph_height,n=this.model.glyph_width,o=this.model.label_height,c=this.model.label_width,this.max_label_height=l.max([s.get_text_height(this.visuals.label_text.font_value()).height,o,e]),(t=this.plot_view.canvas_view.ctx).save(),this.visuals.label_text.set_value(t),this.text_widths={},r=0,g=d.length;r<g;r++)x=d[r],this.text_widths[x]=l.max([t.measureText(x).width,c]);if(t.restore(),b=Math.max(l.max(u.values(this.text_widths)),0),p=this.model.margin,f=this.legend_padding,m=this.model.spacing,a=this.model.label_standoff,\"vertical\"===this.model.orientation)_=d.length*this.max_label_height+Math.max(d.length-1,0)*m+2*f,v=b+n+a+2*f;else{v=2*f+Math.max(d.length-1,0)*m,k=this.text_widths;for(x in k)C=k[x],v+=l.max([C,c])+n+a;_=this.max_label_height+2*f}if(w=null!=(S=this.model.panel)?S:this.plot_view.frame,O=w.bbox.ranges,i=O[0],A=O[1],y=this.model.location,h.isString(y))switch(y){case\"top_left\":T=i.start+p,M=A.start+p;break;case\"top_center\":T=(i.end+i.start)/2-v/2,M=A.start+p;break;case\"top_right\":T=i.end-p-v,M=A.start+p;break;case\"bottom_right\":T=i.end-p-v,M=A.end-p-_;break;case\"bottom_center\":T=(i.end+i.start)/2-v/2,M=A.end-p-_;break;case\"bottom_left\":T=i.start+p,M=A.end-p-_;break;case\"center_left\":T=i.start+p,M=(A.end+A.start)/2-_/2;break;case\"center\":T=(i.end+i.start)/2-v/2,M=(A.end+A.start)/2-_/2;break;case\"center_right\":T=i.end-p-v,M=(A.end+A.start)/2-_/2}else h.isArray(y)&&2===y.length&&(E=y[0],z=y[1],T=w.xview.compute(E),M=w.yview.compute(z)-_);return{x:T,y:M,width:v,height:_};var O},e.prototype.bbox=function(){var t,e,n,i;return r=this.compute_legend_bbox(),n=r.x,i=r.y,e=r.width,t=r.height,new a.BBox({x:n,y:i,width:e,height:t});var r},e.prototype.on_hit=function(t,e){var n,i,r,o,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(n=this.model.glyph_height,i=this.model.glyph_width,f=this.legend_padding,m=this.model.spacing,_=this.model.label_standoff,E=C=f,d=this.compute_legend_bbox(),T=\"vertical\"===this.model.orientation,w=this.model.items,o=0,v=w.length;o<v;o++)for(s=w[o],p=s.get_labels_list_from_label_prop(),s.get_field_from_label_prop(),l=0,g=p.length;l<g;l++){if(c=p[l],A=d.x+E,z=d.y+C,A+i,z+n,T?(O=[d.width-2*f,this.max_label_height],M=O[0],r=O[1]):(N=[this.text_widths[c]+i+_,this.max_label_height],M=N[0],r=N[1]),new a.BBox({x:A,y:z,width:M,height:r}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(k=s.renderers,u=0,y=k.length;u<y;u++)(x=k[u]).visible=!x.visible;break;case\"mute\":for(S=s.renderers,h=0,b=S.length;h<b;h++)(x=S[h]).muted=!x.muted}return!0}T?C+=this.max_label_height+m:E+=this.text_widths[c]+i+_+m}return!1;var O,N},e.prototype.render=function(){var t,e;if(this.model.visible&&0!==this.model.items.length)return e=this.plot_view.canvas_view.ctx,t=this.compute_legend_bbox(),e.save(),this._draw_legend_box(e,t),this._draw_legend_items(e,t),e.restore()},e.prototype._draw_legend_box=function(t,e){if(t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.set_value(t),t.fill(),this.visuals.border_line.doit)return this.visuals.border_line.set_value(t),t.stroke()},e.prototype._draw_legend_items=function(t,e){var n,i,r,o,s,a,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(r=this.model.glyph_height,o=this.model.glyph_width,f=this.legend_padding,m=this.model.spacing,p=this.model.label_standoff,A=C=f,k=\"vertical\"===this.model.orientation,x=this.model.items,a=0,v=x.length;a<v;a++)if(u=x[a],d=u.get_labels_list_from_label_prop(),i=u.get_field_from_label_prop(),0!==d.length)for(n=function(){switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return l.all(u.renderers,function(t){return t.visible});case\"mute\":return l.all(u.renderers,function(t){return!t.muted})}}.call(this),h=0,g=d.length;h<g;h++){for(_=d[h],T=e.x+A,E=e.y+C,M=T+o,z=E+r,k?C+=this.max_label_height+m:A+=this.text_widths[_]+o+p+m,this.visuals.label_text.set_value(t),t.fillText(_,M+p,E+this.max_label_height/2),w=u.renderers,c=0,y=w.length;c<y;c++)b=w[c],this.plot_view.renderer_views[b.id].draw_legend(t,T,M,E,z,i,_);n||(k?(O=[e.width-2*f,this.max_label_height],S=O[0],s=O[1]):(N=[this.text_widths[_]+o+p,this.max_label_height],S=N[0],s=N[1]),t.beginPath(),t.rect(T,E,S,s),this.visuals.inactive_fill.set_value(t),t.fill())}return null;var O,N},e.prototype._get_size=function(){var t,e;return t=this.compute_legend_bbox(),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.height+2*this.model.margin:\"left\"===e||\"right\"===e?t.width+2*this.model.margin:void 0},e}(r.AnnotationView);n.LegendView=c,c.getters({legend_padding:function(){return null!=this.visuals.border_line.line_color.value()?this.model.padding:0}});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.cursor=function(){return\"none\"===this.click_policy?null:\"pointer\"},e.prototype.get_legend_names=function(){var t,e,n,i,r,o;for(i=[],o=this.items,t=0,r=o.length;t<r;t++)e=o[t],n=e.get_labels_list_from_label_prop(),i=i.concat(n);return i},e}(r.Annotation);n.Legend=_,_.prototype.default_view=c,_.prototype.type=\"Legend\",_.mixins([\"text:label_\",\"fill:inactive_\",\"line:border_\",\"fill:background_\"]),_.define({orientation:[o.Orientation,\"vertical\"],location:[o.Any,\"top_right\"],label_standoff:[o.Number,5],glyph_height:[o.Number,20],glyph_width:[o.Number,20],label_height:[o.Number,20],label_width:[o.Number,20],margin:[o.Number,10],padding:[o.Number,10],spacing:[o.Number,3],items:[o.Array,[]],click_policy:[o.Any,\"none\"]}),_.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"10pt\",label_text_baseline:\"middle\"})},function(t,e,n){var i=t(364),r=[].indexOf,o=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},s=t(50),a=t(15),l=t(14),u=t(22),h=t(173),c=function(t){function e(){var e=t.apply(this,arguments)||this;return e.get_field_from_label_prop=e.get_field_from_label_prop.bind(e),e.get_labels_list_from_label_prop=e.get_labels_list_from_label_prop.bind(e),e}return i.__extends(e,t),e.prototype._check_data_sources_on_renderers=function(){var t,e,n,i;if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;if(null!=(i=this.renderers[0].data_source))for(n=this.renderers,t=0,e=n.length;t<e;t++)if(n[t].data_source!==i)return!1}return!0},e.prototype._check_field_label_on_data_source=function(){var t,e;if(null!=(t=this.get_field_from_label_prop())){if(this.renderers.length<1)return!1;if(null!=(e=this.renderers[0].data_source)&&r.call(e.columns(),t)<0)return!1}return!0},e.prototype.initialize=function(e,n){if(t.prototype.initialize.call(this,e,n),this._check_data_sources_on_renderers()||l.logger.error(\"Non matching data sources on legend item renderers\"),!this._check_field_label_on_data_source())return l.logger.error(\"Bad column name on label: \"+this.label)},e.prototype.get_field_from_label_prop=function(){if(o(this,e),null!=this.label&&null!=this.label.field)return this.label.field},e.prototype.get_labels_list_from_label_prop=function(){var t,n,i;if(o(this,e),null!=this.label&&null!=this.label.value)return[this.label.value];if(null!=(n=this.get_field_from_label_prop())){if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if((i=this.renderers[0].data_source)instanceof h.ColumnDataSource)return null!=(t=i.get_column(n))?u.uniq(t):[\"Invalid field\"]}return[]},e}(s.Model);n.LegendItem=c,c.prototype.type=\"LegendItem\",c.define({label:[a.StringSpec,null],renderers:[a.Array,[]]})},function(t,e,n){var i=t(364),r=t(51),o=t(20),s=t(15);n.PolyAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.data_update,function(){return e.plot_view.request_render()})},e.prototype.render=function(t){var e,n,i,r,o,s,a,l;if(this.model.visible){if(a=this.model.xs,l=this.model.ys,a.length!==l.length)return null;if(a.length<3||l.length<3)return null;for(e=this.plot_view.frame,t=this.plot_view.canvas_view.ctx,n=i=0,r=a.length;0<=r?i<r:i>r;n=0<=r?++i:--i)\"screen\"===this.model.xs_units&&(o=this.model.screen?a[n]:e.xview.compute(a[n])),\"screen\"===this.model.ys_units&&(s=this.model.screen?l[n]:e.yview.compute(l[n])),0===n?(t.beginPath(),t.moveTo(o,s)):t.lineTo(o,s);return t.closePath(),this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),this.visuals.fill.doit?(this.visuals.fill.set_value(t),t.fill()):void 0}},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.data_update=new o.Signal(this,\"data_update\")},e.prototype.update=function(t){var e=t.xs,n=t.ys;return this.setv({xs:e,ys:n,screen:!0},{silent:!0}),this.data_update.emit()},e}(r.Annotation);n.PolyAnnotation=a,a.prototype.default_view=n.PolyAnnotationView,a.prototype.type=\"PolyAnnotation\",a.mixins([\"line\",\"fill\"]),a.define({xs:[s.Array,[]],xs_units:[s.SpatialUnits,\"data\"],ys:[s.Array,[]],ys_units:[s.SpatialUnits,\"data\"],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),a.internal({screen:[s.Boolean,!1]}),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(15);n.SpanView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.style.position=\"absolute\",o.hide(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.model.for_hover?this.connect(this.model.properties.computed_location.change,function(){return this._draw_span()}):\"canvas\"===this.model.render_mode?(this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.properties.location.change,function(){return e.plot_view.request_render()})):(this.connect(this.model.change,function(){return this.render()}),this.connect(this.model.properties.location.change,function(){return this._draw_span()}))},e.prototype.render=function(){if(this.model.visible||\"css\"!==this.model.render_mode||o.hide(this.el),this.model.visible)return this._draw_span()},e.prototype._draw_span=function(){var t,e,n,i,r,s,a,l,u,h,c=this;if(null!=(r=this.model.for_hover?this.model.computed_location:this.model.location))return n=this.plot_view.frame,u=n.xscales[this.model.x_range_name],h=n.yscales[this.model.y_range_name],t=function(t,e){return c.model.for_hover?c.model.computed_location:\"data\"===c.model.location_units?t.compute(r):e.compute(r)},\"width\"===this.model.dimension?(a=t(h,n.yview),s=n._left.value,l=n._width.value,i=this.model.properties.line_width.value()):(a=n._top.value,s=t(u,n.xview),l=this.model.properties.line_width.value(),i=n._height.value),\"css\"===this.model.render_mode?(this.el.style.top=a+\"px\",this.el.style.left=s+\"px\",this.el.style.width=l+\"px\",this.el.style.height=i+\"px\",this.el.style.zIndex=1e3,this.el.style.backgroundColor=this.model.properties.line_color.value(),this.el.style.opacity=this.model.properties.line_alpha.value(),o.show(this.el)):\"canvas\"===this.model.render_mode?((e=this.plot_view.canvas_view.ctx).save(),e.beginPath(),this.visuals.line.set_value(e),e.moveTo(s,a),\"width\"===this.model.dimension?e.lineTo(s+l,a):e.lineTo(s,a+i),e.stroke(),e.restore()):void 0;o.hide(this.el)},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Span=a,a.prototype.default_view=n.SpanView,a.prototype.type=\"Span\",a.mixins([\"line\"]),a.define({render_mode:[s.RenderMode,\"canvas\"],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],location:[s.Number,null],location_units:[s.SpatialUnits,\"data\"],dimension:[s.Dimension,\"width\"]}),a.override({line_color:\"black\"}),a.internal({for_hover:[s.Boolean,!1],computed_location:[s.Number,null]})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(42),a=t(40);n.TextAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),\"css\"===this.model.render_mode)return this.el.classList.add(\"bk-annotation\"),this.plot_view.canvas_overlays.appendChild(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?this.connect(this.model.change,function(){return this.render()}):this.connect(this.model.change,function(){return e.plot_view.request_render()})},e.prototype._calculate_text_dimensions=function(t,e){var n,i;return i=t.measureText(e).width,n=a.get_text_height(this.visuals.text.font_value()).height,[i,n]},e.prototype._calculate_bounding_box_dimensions=function(t,e){var n,i,r,o;switch(s=this._calculate_text_dimensions(t,e),i=s[0],n=s[1],t.textAlign){case\"left\":r=0;break;case\"center\":r=-i/2;break;case\"right\":r=-i}switch(t.textBaseline){case\"top\":o=0;break;case\"middle\":o=-.5*n;break;case\"bottom\":o=-1*n;break;case\"alphabetic\":o=-.8*n;break;case\"hanging\":o=-.17*n;break;case\"ideographic\":o=-.83*n}return[r,o,i,n];var s},e.prototype._get_size=function(){var t;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),t.measureText(this.model.text).ascent},e.prototype.render=function(){return null},e.prototype._canvas_text=function(t,e,n,i,r){var o;return this.visuals.text.set_value(t),o=this._calculate_bounding_box_dimensions(t,e),t.save(),t.beginPath(),t.translate(n,i),r&&t.rotate(r),t.rect(o[0],o[1],o[2],o[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(t),t.fillText(e,0,0)),t.restore()},e.prototype._css_text=function(t,e,n,i,r){var a,l,u;return o.hide(this.el),this.visuals.text.set_value(t),a=this._calculate_bounding_box_dimensions(t,e),l=this.visuals.border_line.line_dash.value(),s.isArray(l)&&(u=l.length<2?\"solid\":\"dashed\"),s.isString(l)&&(u=l),this.visuals.border_line.set_value(t),this.visuals.background_fill.set_value(t),this.el.style.position=\"absolute\",this.el.style.left=n+a[0]+\"px\",this.el.style.top=i+a[1]+\"px\",this.el.style.color=\"\"+this.visuals.text.text_color.value(),this.el.style.opacity=\"\"+this.visuals.text.text_alpha.value(),this.el.style.font=\"\"+this.visuals.text.font_value(),this.el.style.lineHeight=\"normal\",r&&(this.el.style.transform=\"rotate(\"+r+\"rad)\"),this.visuals.background_fill.doit&&(this.el.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(this.el.style.borderStyle=\"\"+u,this.el.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",this.el.style.borderColor=\"\"+this.visuals.border_line.color_value()),this.el.textContent=e,o.show(this.el)},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.TextAnnotation=l,l.prototype.type=\"TextAnnotation\",l.prototype.default_view=n.TextAnnotationView},function(t,e,n){var i=t(364),r=t(64),o=t(5),s=t(15),a=t(46);n.TitleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals.text=new a.Text(this.model)},e.prototype._get_location=function(){var t,e,n,i;switch(e=this.model.panel,t=this.model.offset,5,e.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":i=e._top.value+5;break;case\"middle\":i=e._vcenter.value;break;case\"bottom\":i=e._bottom.value-5}switch(this.model.align){case\"left\":n=e._left.value+t;break;case\"center\":n=e._hcenter.value;break;case\"right\":n=e._right.value-t}break;case\"left\":switch(this.model.vertical_align){case\"top\":n=e._left.value-5;break;case\"middle\":n=e._hcenter.value;break;case\"bottom\":n=e._right.value+5}switch(this.model.align){case\"left\":i=e._bottom.value-t;break;case\"center\":i=e._vcenter.value;break;case\"right\":i=e._top.value+t}break;case\"right\":switch(this.model.vertical_align){case\"top\":n=e._right.value-5;break;case\"middle\":n=e._hcenter.value;break;case\"bottom\":n=e._left.value+5}switch(this.model.align){case\"left\":i=e._top.value+t;break;case\"center\":i=e._vcenter.value;break;case\"right\":i=e._bottom.value-t}}return[n,i]},e.prototype.render=function(){var t,e,n,i;if(this.model.visible){if(null!=(i=this.model.text)&&0!==i.length){return this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align,r=this._get_location(),e=r[0],n=r[1],t=this.model.panel.get_label_angle_heuristic(\"parallel\"),(\"canvas\"===this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,i,e,n,t);var r}}else\"css\"===this.model.render_mode&&o.hide(this.el)},e.prototype._get_size=function(){var t,e;return null==(e=this.model.text)||0===e.length?0:(t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),t.measureText(e).ascent+10)},e}(r.TextAnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.Title=l,l.prototype.default_view=n.TitleView,l.prototype.type=\"Title\",l.mixins([\"line:border_\",\"fill:background_\"]),l.define({text:[s.String],text_font:[s.Font,\"helvetica\"],text_font_size:[s.FontSizeSpec,\"10pt\"],text_font_style:[s.FontStyle,\"bold\"],text_color:[s.ColorSpec,\"#444444\"],text_alpha:[s.NumberSpec,1],vertical_align:[s.VerticalAlign,\"bottom\"],align:[s.TextAlign,\"left\"],offset:[s.Number,0],render_mode:[s.RenderMode,\"canvas\"]}),l.override({background_fill_color:null,border_line_color:null}),l.internal({text_align:[s.TextAlign,\"left\"],text_baseline:[s.TextBaseline,\"bottom\"]})},function(t,e,n){var i=t(364),r=t(51),o=t(4),s=t(5),a=t(15);n.ToolbarPanelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_events.appendChild(this.el),this._toolbar_views={},o.build_views(this._toolbar_views,[this.model.toolbar],{parent:this})},e.prototype.remove=function(){return o.remove_views(this._toolbar_views),t.prototype.remove.call(this)},e.prototype.render=function(){var e,n;t.prototype.render.call(this);if(this.model.visible)return e=this.model.panel,this.el.style.position=\"absolute\",this.el.style.left=e._left.value+\"px\",this.el.style.top=e._top.value+\"px\",this.el.style.width=e._width.value+\"px\",this.el.style.height=e._height.value+\"px\",this.el.style.overflow=\"hidden\",(n=this._toolbar_views[this.model.toolbar.id]).render(),s.empty(this.el),this.el.appendChild(n.el),s.show(this.el);s.hide(this.el)},e.prototype._get_size=function(){return 30},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.ToolbarPanel=l,l.prototype.type=\"ToolbarPanel\",l.prototype.default_view=n.ToolbarPanelView,l.define({toolbar:[a.Instance]})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.style.zIndex=1010,o.hide(this.el)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.properties.data.change,function(){return this._draw_tips()})},e.prototype.render=function(){if(this.model.visible)return this._draw_tips()},e.prototype._draw_tips=function(){var t,e,n,i,r,s,a,l,u,h,c,_,p;if(n=this.model.data,o.empty(this.el),o.hide(this.el),this.model.custom?this.el.classList.add(\"bk-tooltip-custom\"):this.el.classList.remove(\"bk-tooltip-custom\"),0!==n.length){for(i=this.plot_view.frame,r=0,a=n.length;r<a;r++)p=n[r],u=p[0],h=p[1],e=p[2],this.model.inner_only&&!i.bbox.contains(u,h)||(c=o.div({},e),this.el.appendChild(c));switch(t=this.model.attachment){case\"horizontal\":l=u<i._hcenter.value?\"right\":\"left\";break;case\"vertical\":l=h<i._vcenter.value?\"below\":\"above\";break;default:l=t}switch(this.el.classList.remove(\"bk-right\"),this.el.classList.remove(\"bk-left\"),this.el.classList.remove(\"bk-above\"),this.el.classList.remove(\"bk-below\"),10,o.show(this.el),l){case\"right\":this.el.classList.add(\"bk-left\"),s=u+(this.el.offsetWidth-this.el.clientWidth)+10,_=h-this.el.offsetHeight/2;break;case\"left\":this.el.classList.add(\"bk-right\"),s=u-this.el.offsetWidth-10,_=h-this.el.offsetHeight/2;break;case\"above\":this.el.classList.add(\"bk-above\"),_=h+(this.el.offsetHeight-this.el.clientHeight)+10,s=Math.round(u-this.el.offsetWidth/2);break;case\"below\":this.el.classList.add(\"bk-below\"),_=h-this.el.offsetHeight-10,s=Math.round(u-this.el.offsetWidth/2)}return this.model.show_arrow&&this.el.classList.add(\"bk-tooltip-arrow\"),this.el.childNodes.length>0?(this.el.style.top=_+\"px\",this.el.style.left=s+\"px\"):o.hide(this.el)}},e}(r.AnnotationView);n.TooltipView=a,a.prototype.className=\"bk-tooltip\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clear=function(){return this.data=[]},e.prototype.add=function(t,e,n){var i;return(i=this.data).push([t,e,n]),this.data=i,this.properties.data.change.emit()},e}(r.Annotation);n.Tooltip=l,l.prototype.default_view=a,l.prototype.type=\"Tooltip\",l.define({attachment:[s.String,\"horizontal\"],inner_only:[s.Bool,!0],show_arrow:[s.Bool,!0]}),l.override({level:\"overlay\"}),l.internal({data:[s.Any,[]],custom:[s.Any]})},function(t,e,n){var i=t(364),r=t(51),o=t(173),s=t(53),a=t(15);n.WhiskerView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.set_data(this.model.source)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d;return l=this.plot_model.frame,a=this.model.dimension,p=l.xscales[this.model.x_range_name],d=l.yscales[this.model.y_range_name],c=\"height\"===a?d:p,o=\"height\"===a?p:d,_=\"height\"===a?l.yview:l.xview,s=\"height\"===a?l.xview:l.yview,n=\"data\"===this.model.lower.units?c.v_compute(this._lower):_.v_compute(this._lower),r=\"data\"===this.model.upper.units?c.v_compute(this._upper):_.v_compute(this._upper),t=\"data\"===this.model.base.units?o.v_compute(this._base):s.v_compute(this._base),f=\"height\"===a?[1,0]:[0,1],u=f[0],h=f[1],e=[n,t],i=[r,t],this._lower_sx=e[u],this._lower_sy=e[h],this._upper_sx=i[u],this._upper_sy=i[h];var f},e.prototype.render=function(){var t,e,n,i,r,o,s,a,l,u;if(this.model.visible){if(this._map_data(),e=this.plot_view.canvas_view.ctx,this.visuals.line.doit)for(n=i=0,s=this._lower_sx.length;0<=s?i<s:i>s;n=0<=s?++i:--i)this.visuals.line.set_vectorize(e,n),e.beginPath(),e.moveTo(this._lower_sx[n],this._lower_sy[n]),e.lineTo(this._upper_sx[n],this._upper_sy[n]),e.stroke();if(t=\"height\"===this.model.dimension?0:Math.PI/2,null!=this.model.lower_head)for(n=r=0,a=this._lower_sx.length;0<=a?r<a:r>a;n=0<=a?++r:--r)e.save(),e.translate(this._lower_sx[n],this._lower_sy[n]),e.rotate(t+Math.PI),this.model.lower_head.render(e,n),e.restore();if(null!=this.model.upper_head){for(u=[],n=o=0,l=this._upper_sx.length;0<=l?o<l:o>l;n=0<=l?++o:--o)e.save(),e.translate(this._upper_sx[n],this._upper_sy[n]),e.rotate(t),this.model.upper_head.render(e,n),u.push(e.restore());return u}}},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Whisker=l,l.prototype.default_view=n.WhiskerView,l.prototype.type=\"Whisker\",l.mixins([\"line\"]),l.define({lower:[a.DistanceSpec],lower_head:[a.Instance,function(){return new s.TeeHead({level:\"underlay\",size:10})}],upper:[a.DistanceSpec],upper_head:[a.Instance,function(){return new s.TeeHead({level:\"underlay\",size:10})}],base:[a.DistanceSpec],dimension:[a.Dimension,\"height\"],source:[a.Instance,function(){return new o.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]}),l.override({level:\"underlay\"})},function(t,e,n){var i=t(364),r=t(12),o=t(163),s=t(165),a=t(14),l=t(15),u=t(22),h=t(42);n.AxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var t,e,n;if(!1!==this.model.visible)return e={tick:this._tick_extent(),tick_label:this._tick_label_extents(),axis_label:this._axis_label_extent()},n=this.model.tick_coords,(t=this.plot_view.canvas_view.ctx).save(),this._draw_rule(t,e),this._draw_major_ticks(t,e,n),this._draw_minor_ticks(t,e,n),this._draw_major_labels(t,e,n),this._draw_axis_label(t,e,n),null!=this._render&&this._render(t,e,n),t.restore()},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()})},e.prototype._get_size=function(){return this._tick_extent()+this._tick_label_extent()+this._axis_label_extent()},e.prototype.get_size=function(){return this.model.visible?Math.round(this._get_size()):0},e.prototype._draw_rule=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.axis_line.doit){for(d=this.model.rule_coords,h=d[0],_=d[1],f=this.plot_view.map_to_screen(h,_,this.model.x_range_name,this.model.y_range_name),l=f[0],u=f[1],m=this.model.normals,o=m[0],s=m[1],v=this.model.offsets,c=v[0],p=v[1],this.visuals.axis_line.set_value(t),t.beginPath(),t.moveTo(Math.round(l[0]+o*c),Math.round(u[0]+s*p)),i=r=1,a=l.length;1<=a?r<a:r>a;i=1<=a?++r:--r)l=Math.round(l[i]+o*c),u=Math.round(u[i]+s*p),t.lineTo(l,u);t.stroke();var d,f,m,v}},e.prototype._draw_major_ticks=function(t,e,n){var i,r,o;i=this.model.major_tick_in,r=this.model.major_tick_out,o=this.visuals.major_tick_line,this._draw_ticks(t,n.major,i,r,o)},e.prototype._draw_minor_ticks=function(t,e,n){var i,r,o;i=this.model.minor_tick_in,r=this.model.minor_tick_out,o=this.visuals.minor_tick_line,this._draw_ticks(t,n.minor,i,r,o)},e.prototype._draw_major_labels=function(t,e,n){var i,r,o,s,a;i=n.major,r=this.model.compute_labels(i[this.model.dimension]),o=this.model.major_label_orientation,s=e.tick+this.model.major_label_standoff,a=this.visuals.major_label_text,this._draw_oriented_labels(t,r,i,o,this.model.panel_side,s,a)},e.prototype._draw_axis_label=function(t,e,n){var i,r,o,s,a;if(null!=this.model.axis_label&&0!==this.model.axis_label.length){switch(this.model.panel.side){case\"above\":o=this.model.panel._hcenter.value,s=this.model.panel._bottom.value;break;case\"below\":o=this.model.panel._hcenter.value,s=this.model.panel._top.value;break;case\"left\":o=this.model.panel._right.value,s=this.model.panel._vcenter._value;break;case\"right\":o=this.model.panel._left.value,s=this.model.panel._vcenter._value}i=[[o],[s]],r=e.tick+u.sum(e.tick_label)+this.model.axis_label_standoff,a=this.visuals.axis_label_text,this._draw_oriented_labels(t,[this.model.axis_label],i,\"parallel\",this.model.panel_side,r,a,\"screen\")}},e.prototype._draw_ticks=function(t,e,n,i,r){var o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(r.doit&&0!==e.length){for(b=e[0],w=e[1],S=this.plot_view.map_to_screen(b,w,this.model.x_range_name,this.model.y_range_name),m=S[0],y=S[1],T=this.model.normals,a=T[0],h=T[1],M=this.model.offsets,x=M[0],k=M[1],l=(A=[a*(x-n),h*(k-n)])[0],c=A[1],u=(E=[a*(x+i),h*(k+i)])[0],_=E[1],r.set_value(t),o=s=0,p=m.length;0<=p?s<p:s>p;o=0<=p?++s:--s)d=Math.round(m[o]+u),v=Math.round(y[o]+_),f=Math.round(m[o]+l),g=Math.round(y[o]+c),t.beginPath(),t.moveTo(d,v),t.lineTo(f,g),t.stroke();var S,T,M,A,E}},e.prototype._draw_oriented_labels=function(t,e,n,i,r,o,s,a){void 0===a&&(a=\"data\");var l,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S;if(s.doit&&0!==e.length){for(\"screen\"===a?(b=n[0],w=n[1],k=(T=[0,0])[0],S=T[1]):(u=n[0],c=n[1],M=this.plot_view.map_to_screen(u,c,this.model.x_range_name,this.model.y_range_name),b=M[0],w=M[1],A=this.model.offsets,k=A[0],S=A[1]),E=this.model.normals,d=E[0],m=E[1],f=d*(k+o),v=m*(S+o),s.set_value(t),this.model.panel.apply_label_text_heuristics(t,i),l=h.isString(i)?this.model.panel.get_label_angle_heuristic(i):-i,_=p=0,g=b.length;0<=g?p<g:p>g;_=0<=g?++p:--p)y=Math.round(b[_]+f),x=Math.round(w[_]+v),t.translate(y,x),t.rotate(l),t.fillText(e[_],0,0),t.rotate(-l),t.translate(-y,-x);var T,M,A,E}},e.prototype._axis_label_extent=function(){var t,e;return null==this.model.axis_label||\"\"===this.model.axis_label?0:(t=this.model.axis_label_standoff,e=this.visuals.axis_label_text,this._oriented_labels_extent([this.model.axis_label],\"parallel\",this.model.panel_side,t,e))},e.prototype._tick_extent=function(){return this.model.major_tick_out},e.prototype._tick_label_extent=function(){return u.sum(this._tick_label_extents())},e.prototype._tick_label_extents=function(){var t,e,n,i,r;return t=this.model.tick_coords.major,e=this.model.compute_labels(t[this.model.dimension]),n=this.model.major_label_orientation,i=this.model.major_label_standoff,r=this.visuals.major_label_text,[this._oriented_labels_extent(e,n,this.model.panel_side,i,r)]},e.prototype._tick_label_extent=function(){return u.sum(this._tick_label_extents())},e.prototype._oriented_labels_extent=function(t,e,n,i,r){var o,s,a,l,u,c,_,p,d,f,m,v;if(0===t.length)return 0;for(a=this.plot_view.canvas_view.ctx,r.set_value(a),h.isString(e)?(c=1,o=this.model.panel.get_label_angle_heuristic(e)):(c=2,o=-e),o=Math.abs(o),s=Math.cos(o),f=Math.sin(o),l=0,_=p=0,d=t.length;0<=d?p<d:p>d;_=0<=d?++p:--p)v=1.1*a.measureText(t[_]).width,u=.9*a.measureText(t[_]).ascent,(m=\"above\"===n||\"below\"===n?v*f+u/c*s:v*s+u/c*f)>l&&(l=m);return l>0&&(l+=i),l},e}(s.RendererView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_labels=function(t){var e,n,i,r;for(i=this.formatter.doFormat(t,this),e=n=0,r=t.length;0<=r?n<r:n>r;e=0<=r?++n:--n)t[e]in this.major_label_overrides&&(i[e]=this.major_label_overrides[t[e]]);return i},e.prototype.label_info=function(t){var e;return e=this.major_label_orientation,{dim:this.dimension,coords:t,side:this.panel_side,orient:e,standoff:this.major_label_standoff}},e.prototype.add_panel=function(t){return this.panel=new r.SidePanel({side:t}),this.panel.attach_document(this.document),this.panel_side=t},e.prototype._offsets=function(){var t,e,n,i;switch(e=this.panel_side,r=[0,0],n=r[0],i=r[1],t=this.plot.plot_canvas.frame,e){case\"below\":i=Math.abs(this.panel._top.value-t._bottom.value);break;case\"above\":i=Math.abs(this.panel._bottom.value-t._top.value);break;case\"right\":n=Math.abs(this.panel._left.value-t._right.value);break;case\"left\":n=Math.abs(this.panel._right.value-t._left.value)}return[n,i];var r},e.prototype._ranges=function(){var t,e,n,i;return e=this.dimension,n=(e+1)%2,t=this.plot.plot_canvas.frame,i=[t.x_ranges[this.x_range_name],t.y_ranges[this.y_range_name]],[i[e],i[n]]},e.prototype._computed_bounds=function(){var t,e,n,i,r,o;return s=this.ranges,e=s[0],s[1],o=null!=(i=this.bounds)?i:\"auto\",n=[e.min,e.max],\"auto\"===o?n:h.isArray(o)?(Math.abs(o[0]-o[1])>Math.abs(n[0]-n[1])?(r=Math.max(Math.min(o[0],o[1]),n[0]),t=Math.min(Math.max(o[0],o[1]),n[1])):(r=Math.min(o[0],o[1]),t=Math.max(o[0],o[1])),[r,t]):(a.logger.error(\"user bounds '\"+o+\"' not understood\"),null);var s},e.prototype._rule_coords=function(){var t,e,n,i,r,o,s,a;return n=this.dimension,i=(n+1)%2,l=this.ranges,r=l[0],l[1],u=this.computed_bounds,o=u[0],e=u[1],s=new Array(2),a=new Array(2),t=[s,a],t[n][0]=Math.max(o,r.min),t[n][1]=Math.min(e,r.max),t[n][0]>t[n][1]&&(t[n][0]=t[n][1]=NaN),t[i][0]=this.loc,t[i][1]=this.loc,t;var l,u},e.prototype._tick_coords=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m;for(n=this.dimension,r=(n+1)%2,v=this.ranges,h=v[0],v[1],g=this.computed_bounds,f=g[0],e=g[1],m=this.ticker.get_ticks(f,e,h,this.loc,{}),a=m.major,u=m.minor,t=[[],[]],l=[[],[]],y=[h.min,h.max],_=y[0],c=y[1],i=o=0,p=a.length;0<=p?o<p:o>p;i=0<=p?++o:--o)a[i]<_||a[i]>c||(t[n].push(a[i]),t[r].push(this.loc));for(i=s=0,d=u.length;0<=d?s<d:s>d;i=0<=d?++s:--s)u[i]<_||u[i]>c||(l[n].push(u[i]),l[r].push(this.loc));return{major:t,minor:l};var v,g,y},e.prototype._get_loc=function(){var t;switch(e=this.ranges,e[0],t=e[1],t.start,t.end,this.panel_side){case\"left\":case\"below\":return t.start;case\"right\":case\"above\":return t.end}var e},e}(o.GuideRenderer);n.Axis=c,c.prototype.default_view=n.AxisView,c.prototype.type=\"Axis\",c.mixins([\"line:axis_\",\"line:major_tick_\",\"line:minor_tick_\",\"text:major_label_\",\"text:axis_label_\"]),c.define({bounds:[l.Any,\"auto\"],ticker:[l.Instance,null],formatter:[l.Instance,null],x_range_name:[l.String,\"default\"],y_range_name:[l.String,\"default\"],axis_label:[l.String,\"\"],axis_label_standoff:[l.Int,5],major_label_standoff:[l.Int,5],major_label_orientation:[l.Any,\"horizontal\"],major_label_overrides:[l.Any,{}],major_tick_in:[l.Number,2],major_tick_out:[l.Number,6],minor_tick_in:[l.Number,0],minor_tick_out:[l.Number,4]}),c.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"8pt\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"10pt\",axis_label_text_font_style:\"italic\"}),c.internal({panel_side:[l.Any]}),c.getters({computed_bounds:function(){return this._computed_bounds()},rule_coords:function(){return this._rule_coords()},tick_coords:function(){return this._tick_coords()},ranges:function(){return this._ranges()},normals:function(){return this.panel._normals},dimension:function(){return this.panel._dim},offsets:function(){return this._offsets()},loc:function(){return this._get_loc()}})},function(t,e,n){var i=t(364),r=t(69),o=t(92),s=t(181);n.CategoricalAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){return this._draw_group_separators(t,e,n)},e.prototype._draw_group_separators=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x;if(w=this.model.ranges,m=w[0],w[1],k=this.model.computed_bounds,b=k[0],s=k[1],d=this.model.loc,this.model.ticker.get_ticks(b,s,m,d,{}),S=this.model.ranges,m=S[0],S[1],m.tops&&!(m.tops.length<2)&&this.visuals.separator_line.doit){for(o=this.model.dimension,i=(o+1)%2,r=[[],[]],u=0,l=c=0,v=m.tops.length-1;0<=v?c<v:c>v;l=0<=v?++c:--c){for(h=_=g=u,y=m.factors.length;g<=y?_<y:_>y;h=g<=y?++_:--_)if(m.factors[h][0]===m.tops[l+1]){T=[m.factors[h-1],m.factors[h]],a=T[0],p=T[1],u=h;break}(f=(m.synthetic(a)+m.synthetic(p))/2)>b&&f<s&&(r[o].push(f),r[i].push(this.model.loc))}x=this._tick_label_extent(),this._draw_ticks(t,r,-3,x-6,this.visuals.separator_line);var w,k,S,T}},e.prototype._draw_major_labels=function(t,e,n){var i,r,o,s,a,l,u,h,c,_;for(s=this._get_factor_info(),this.model.loc,r=this.model.dimension,(r+1)%2,c=e.tick+this.model.major_label_standoff,o=a=0,h=s.length;0<=h?a<h:a>h;o=0<=h?++a:--a)p=s[o],l=p[0],i=p[1],u=p[2],_=p[3],this._draw_oriented_labels(t,l,i,u,this.model.panel_side,c,_),c+=e.tick_label[o];var p},e.prototype._tick_label_extents=function(){var t,e,n,i,r,o,s,a;for(n=this._get_factor_info(),e=[],i=0,o=n.length;i<o;i++)l=n[i],r=l[0],l[1],s=l[2],a=l[3],t=this._oriented_labels_extent(r,s,this.model.panel_side,this.model.major_label_standoff,a),e.push(t);return e;var l},e.prototype._get_factor_info=function(){var t,e,n,i,r,o,s,a,l,u;return h=this.model.ranges,s=h[0],h[1],c=this.model.computed_bounds,a=c[0],e=c[1],r=this.model.loc,l=this.model.ticker.get_ticks(a,e,s,r,{}),t=this.model.tick_coords,n=[],1===s.levels?(i=this.model.formatter.doFormat(l.major,this),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text])):2===s.levels?(i=this.model.formatter.doFormat(function(){var t,e,n,i;for(n=l.major,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[1]);return i}(),this),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([l.tops,t.tops,\"parallel\",this.visuals.group_text])):3===s.levels&&(i=this.model.formatter.doFormat(function(){var t,e,n,i;for(n=l.major,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[2]);return i}(),this),o=function(){var t,e,n,i;for(n=l.mids,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[1]);return i}(),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([o,t.mids,\"parallel\",this.visuals.subgroup_text]),n.push([l.tops,t.tops,\"parallel\",this.visuals.group_text])),n;var h,c},e}(r.AxisView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._tick_coords=function(){var t,e,n,i,r,o,s,a;return n=this.dimension,i=(n+1)%2,l=this.ranges,r=l[0],l[1],u=this.computed_bounds,o=u[0],e=u[1],s=this.ticker.get_ticks(o,e,r,this.loc,{}),t={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[]},t.major[n]=s.major,t.major[i]=function(){var t,e,n,i;for(n=s.major,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this),3===r.levels&&(t.mids[n]=s.mids,t.mids[i]=function(){var t,e,n,i;for(n=s.mids,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this)),r.levels>1&&(t.tops[n]=s.tops,t.tops[i]=function(){var t,e,n,i;for(n=s.tops,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this)),t;var l,u},e}(r.Axis);n.CategoricalAxis=a,a.prototype.default_view=n.CategoricalAxisView,a.prototype.type=\"CategoricalAxis\",a.mixins([\"line:separator_\",\"text:group_\",\"text:subgroup_\"]),a.override({ticker:function(){return new s.CategoricalTicker},formatter:function(){return new o.CategoricalTickFormatter},separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"8pt\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"8pt\"})},function(t,e,n){var i=t(364),r=t(69),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Axis);n.ContinuousAxis=o,o.prototype.type=\"ContinuousAxis\"},function(t,e,n){var i=t(364),r=t(74),o=t(93),s=t(184);n.DatetimeAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LinearAxisView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LinearAxis);n.DatetimeAxis=a,a.prototype.default_view=n.DatetimeAxisView,a.prototype.type=\"DatetimeAxis\",a.override({ticker:function(){return new s.DatetimeTicker},formatter:function(){return new o.DatetimeTickFormatter}})},function(t,e,n){var i=t(69);n.Axis=i.Axis;var r=t(70);n.CategoricalAxis=r.CategoricalAxis;var o=t(71);n.ContinuousAxis=o.ContinuousAxis;var s=t(72);n.DatetimeAxis=s.DatetimeAxis;var a=t(74);n.LinearAxis=a.LinearAxis;var l=t(75);n.LogAxis=l.LogAxis},function(t,e,n){var i=t(364),r=t(69),o=t(71),s=t(91),a=t(180);n.LinearAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AxisView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ContinuousAxis);n.LinearAxis=l,l.prototype.default_view=n.LinearAxisView,l.prototype.type=\"LinearAxis\",l.override({ticker:function(){return new a.BasicTicker},formatter:function(){return new s.BasicTickFormatter}})},function(t,e,n){var i=t(364),r=t(69),o=t(71),s=t(96),a=t(188);n.LogAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AxisView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ContinuousAxis);n.LogAxis=l,l.prototype.default_view=n.LogAxisView,l.prototype.type=\"LogAxis\",l.override({ticker:function(){return new a.LogTicker},formatter:function(){return new s.LogTickFormatter}})},function(t,e,n){var i=t(364),r=t(15),o=t(30),s=t(50),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.execute=function(e,n){return this.func.apply(e,this.values.concat(e,n,t,{}))},n.prototype._make_values=function(){return o.values(this.args)},n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[\"cb_obj\",\"cb_data\",\"require\",\"exports\",this.code])))},n}(s.Model);n.CustomJS=a,a.prototype.type=\"CustomJS\",a.define({args:[r.Any,{}],code:[r.String,\"\"]}),a.getters({values:function(){return this._make_values()},func:function(){return this._make_func()}})},function(t,e,n){var i=t(76);n.CustomJS=i.CustomJS;var r=t(78);n.OpenURL=r.OpenURL},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(34),a=t(39),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.execute=function(t,e){var n,i,r,o,l;for(o=s.get_indices(e.source),i=0,r=o.length;i<r;i++)n=o[i],l=a.replace_placeholders(this.url,e.source,n),window.open(l);return null},e}(r.Model);n.OpenURL=l,l.prototype.type=\"OpenURL\",l.define({url:[o.String,\"http://\"]})},function(t,e,n){var i=t(364),r=t(11),o=t(6),s=t(13),a=t(14),l=t(15),u=t(5),h=t(25),c=t(249);null!=window.CanvasPixelArray&&(CanvasPixelArray.prototype.set=function(t){var e,n,i,r;for(r=[],e=n=0,i=this.length;0<=i?n<i:n>i;e=0<=i?++n:--n)r.push(this[e]=t[e]);return r});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){switch(t.prototype.initialize.call(this,e),this.map_el=this.model.map?this.el.appendChild(u.div({class:\"bk-canvas-map\"})):null,this.model.output_backend){case\"canvas\":case\"webgl\":this.canvas_el=this.el.appendChild(u.canvas({class:\"bk-canvas\"})),this._ctx=this.canvas_el.getContext(\"2d\");break;case\"svg\":this._ctx=new c,this.canvas_el=this.el.appendChild(this._ctx.getSvg())}return this.overlays_el=this.el.appendChild(u.div({class:\"bk-canvas-overlays\"})),this.events_el=this.el.appendChild(u.div({class:\"bk-canvas-events\"})),this.ctx=this.get_ctx(),h.fixup_ctx(this.ctx),a.logger.debug(\"CanvasView initialized\")},e.prototype.get_ctx=function(){return this._ctx},e.prototype.get_canvas_element=function(){return this.canvas_el},e.prototype.prepare_canvas=function(){var t,e,n;return n=this.model._width.value,t=this.model._height.value,this.el.style.width=n+\"px\",this.el.style.height=t+\"px\",e=h.get_scale_ratio(this.ctx,this.model.use_hidpi,this.model.output_backend),this.model.pixel_ratio=e,this.canvas_el.style.width=n+\"px\",this.canvas_el.style.height=t+\"px\",this.canvas_el.setAttribute(\"width\",n*e),this.canvas_el.setAttribute(\"height\",t*e),a.logger.debug(\"Rendering CanvasView with width: \"+n+\", height: \"+t+\", pixel ratio: \"+e)},e.prototype.set_dims=function(t){var e=t[0],n=t[1];if(0!==e&&0!==n)return e!==this.model._width.value&&(null!=this._width_constraint&&this.solver.has_constraint(this._width_constraint)&&this.solver.remove_constraint(this._width_constraint),this._width_constraint=s.EQ(this.model._width,-e),this.solver.add_constraint(this._width_constraint)),n!==this.model._height.value&&(null!=this._height_constraint&&this.solver.has_constraint(this._height_constraint)&&this.solver.remove_constraint(this._height_constraint),this._height_constraint=s.EQ(this.model._height,-n),this.solver.add_constraint(this._height_constraint)),this.solver.update_variables()},e}(o.DOMView);n.CanvasView=_,_.prototype.className=\"bk-canvas-wrapper\";var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LayoutCanvas);n.Canvas=p,p.prototype.type=\"Canvas\",p.prototype.default_view=_,p.internal({map:[l.Boolean,!1],use_hidpi:[l.Boolean,!0],pixel_ratio:[l.Number,1],output_backend:[l.OutputBackend,\"canvas\"]}),p.getters({panel:function(){return this}})},function(t,e,n){var i=t(364),r=t(166),o=t(168),s=t(169),a=t(160),l=t(156),u=t(157),h=t(11),c=t(15),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){var i=this;return t.prototype.initialize.call(this,e,n),this._configure_scales(),this.connect(this.change,function(){return i._configure_scales()})},e.prototype.get_editables=function(){return t.prototype.get_editables.call(this).concat([this._width,this._height])},e.prototype.map_to_screen=function(t,e,n,i){void 0===n&&(n=\"default\"),void 0===i&&(i=\"default\");var r,o;return r=this.xscales[n].v_compute(t),o=this.yscales[i].v_compute(e),[r,o]},e.prototype._get_ranges=function(t,e){var n,i,r;if(r={},r.default=t,null!=e)for(i in e)n=e[i],r[i]=n;return r},e.prototype._get_scales=function(t,e,n){var i,h,c,_;_={};for(i in e){if((h=e[i])instanceof l.DataRange1d||h instanceof a.Range1d){if(!(t instanceof s.LogScale||t instanceof o.LinearScale))throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type);if(t instanceof r.CategoricalScale)throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type)}if(h instanceof u.FactorRange&&!(t instanceof r.CategoricalScale))throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type);t instanceof s.LogScale&&h instanceof l.DataRange1d&&(h.scale_hint=\"log\"),(c=t.clone()).setv({source_range:h,target_range:n}),_[i]=c}return _},e.prototype._configure_frame_ranges=function(){return this._h_target=new a.Range1d({start:this._left.value,end:this._right.value}),this._v_target=new a.Range1d({start:this._bottom._value,end:this._top.value})},e.prototype._configure_scales=function(){return this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._xscales=this._get_scales(this.x_scale,this._x_ranges,this._h_target),this._yscales=this._get_scales(this.y_scale,this._y_ranges,this._v_target)},e.prototype._update_scales=function(){var t,e,n;this._configure_frame_ranges(),e=this._xscales;for(t in e)e[t].target_range=this._h_target;n=this._yscales;for(t in n)n[t].target_range=this._v_target;return null},Object.defineProperty(e.prototype,\"x_ranges\",{get:function(){return this._x_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"y_ranges\",{get:function(){return this._y_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"xscales\",{get:function(){return this._xscales},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"yscales\",{get:function(){return this._yscales},enumerable:!0,configurable:!0}),e}(h.LayoutCanvas);n.CartesianFrame=_,_.prototype.type=\"CartesianFrame\",_.getters({panel:function(){return this}}),_.internal({extra_x_ranges:[c.Any,{}],extra_y_ranges:[c.Any,{}],x_range:[c.Instance],y_range:[c.Instance],x_scale:[c.Instance],y_scale:[c.Instance]})},function(t,e,n){var i=t(79);n.Canvas=i.Canvas;var r=t(80);n.CartesianFrame=r.CartesianFrame},function(t,e,n){var i=t(364),r=t(50);n.Expression=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._connected={},this._result={}},e.prototype._v_compute=function(t){return null==this._connected[t.id]&&(this.connect(t.change,function(){return this._result[t.id]=null}),this._connected[t.id]=!0),null!=this._result[t.id]?this._result[t.id]:(this._result[t.id]=this.v_compute(t),this._result[t.id])},e}(r.Model)},function(t,e,n){var i=t(82);n.Expression=i.Expression;var r=t(84);n.Stack=r.Stack},function(t,e,n){var i=t(364),r=t(82),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.v_compute=function(t){var e,n,i,r,o,s,a,l,u,h;for(u=new Float64Array(t.get_length()),a=this.fields,i=0,o=a.length;i<o;i++)for(e=a[i],l=t.data[e],n=r=0,s=l.length;r<s;n=++r)h=l[n],u[n]+=h;return u},e}(r.Expression);n.Stack=s,s.define({fields:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=t(22),l=t(42),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e,n,i;return(null!=(n=this.booleans)?n.length:void 0)>0?a.all(this.booleans,l.isBoolean)?(this.booleans.length!==t.get_length()&&s.logger.warn(\"BooleanFilter \"+this.id+\": length of booleans doesn't match data source\"),function(){var t,n,i,r;for(i=a.range(0,this.booleans.length),r=[],t=0,n=i.length;t<n;t++)e=i[t],!0===this.booleans[e]&&r.push(e);return r}.call(this)):(s.logger.warn(\"BooleanFilter \"+this.id+\": booleans should be array of booleans, defaulting to no filtering\"),null):(0===(null!=(i=this.booleans)?i.length:void 0)?s.logger.warn(\"BooleanFilter \"+this.id+\": booleans is empty, defaulting to no filtering\"):s.logger.warn(\"BooleanFilter \"+this.id+\": booleans was not set, defaulting to no filtering\"),null)},e}(r.Filter);n.BooleanFilter=u,u.prototype.type=\"BooleanFilter\",u.define({booleans:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(30),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.compute_indices=function(n){return this.filter=this.func.apply(this,this.values.concat([n,t,{}])),e.prototype.compute_indices.call(this)},n.prototype._make_values=function(){return s.values(this.args)},n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[\"source\",\"require\",\"exports\",this.code])))},n}(r.Filter);n.CustomJSFilter=a,a.prototype.type=\"CustomJSFilter\",a.define({args:[o.Any,{}],code:[o.String,\"\"]}),a.getters({values:function(){return this._make_values()},func:function(){return this._make_func()}})},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(42),a=t(22),l=t(14),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e.prototype.compute_indices=function(){var t,e;return(null!=(e=this.filter)?e.length:void 0)>=0?a.all(this.filter,s.isBoolean)?function(){var e,n,i,r;for(i=a.range(0,this.filter.length),r=[],e=0,n=i.length;e<n;e++)t=i[e],!0===this.filter[t]&&r.push(t);return r}.call(this):a.all(this.filter,s.isInteger)?this.filter:(l.logger.warn(\"Filter \"+this.id+\": filter should either be array of only booleans or only integers, defaulting to no filtering\"),null):(l.logger.warn(\"Filter \"+this.id+\": filter was not set to be an array, defaulting to no filtering\"),null)},e}(r.Model);n.Filter=u,u.prototype.type=\"Filter\",u.define({filter:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e,n;return null==(e=t.get_column(this.column_name))?(s.logger.warn(\"group filter: groupby column not found in data source\"),null):(this.indices=function(){var i,r,o;for(o=[],n=i=0,r=t.get_length();0<=r?i<r:i>r;n=0<=r?++i:--i)e[n]===this.group&&o.push(n);return o}.call(this),0===this.indices.length&&s.logger.warn(\"group filter: group '\"+this.group+\"' did not match any values in column '\"+this.column_name+\"'\"),this.indices)},e}(r.Filter);n.GroupFilter=a,a.prototype.type=\"GroupFilter\",a.define({column_name:[o.String],group:[o.String]})},function(t,e,n){var i=t(85);n.BooleanFilter=i.BooleanFilter;var r=t(86);n.CustomJSFilter=r.CustomJSFilter;var o=t(87);n.Filter=o.Filter;var s=t(88);n.GroupFilter=s.GroupFilter;var a=t(90);n.IndexFilter=a.IndexFilter},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=t(42),l=t(22),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e;return(null!=(e=this.indices)?e.length:void 0)>=0?l.all(this.indices,a.isInteger)?this.indices:(s.logger.warn(\"IndexFilter \"+this.id+\": indices should be array of integers, defaulting to no filtering\"),null):(s.logger.warn(\"IndexFilter \"+this.id+\": indices was not set, defaulting to no filtering\"),null)},e}(r.Filter);n.IndexFilter=u,u.prototype.type=\"IndexFilter\",u.define({indices:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(100),o=t(15),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.last_precision=3},e.prototype.doFormat=function(t,e){var n,i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(0===t.length)return[];if(k=0,t.length>=2&&(k=Math.abs(t[1]-t[0])/1e4),_=!1,this.use_scientific)for(r=0,u=t.length;r<u;r++)if(b=t[r],(x=Math.abs(b))>k&&(x>=this.scientific_limit_high||x<=this.scientific_limit_low)){_=!0;break}if(null==(d=this.precision)||s.isNumber(d)){if(l=new Array(t.length),_)for(n=o=0,f=t.length;0<=f?o<f:o>f;n=0<=f?++o:--o)l[n]=t[n].toExponential(d||void 0);else for(n=a=0,m=t.length;0<=m?a<m:a>m;n=0<=m?++a:--a)l[n]=t[n].toFixed(d||void 0).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\");return l}if(\"auto\"===d)for(l=new Array(t.length),w=h=v=this.last_precision;v<=15?h<=15:h>=15;w=v<=15?++h:--h){if(i=!0,_){for(n=c=0,g=t.length;0<=g?c<g:c>g;n=0<=g?++c:--c)if(l[n]=t[n].toExponential(w),n>0&&l[n]===l[n-1]){i=!1;break}if(i)break}else{for(n=p=0,y=t.length;0<=y?p<y:p>y;n=0<=y?++p:--p)if(l[n]=t[n].toFixed(w).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\"),n>0&&l[n]===l[n-1]){i=!1;break}if(i)break}if(i)return this.last_precision=w,l}return l},e}(r.TickFormatter);n.BasicTickFormatter=a,a.prototype.type=\"BasicTickFormatter\",a.define({precision:[o.Any,\"auto\"],use_scientific:[o.Bool,!0],power_limit_high:[o.Number,5],power_limit_low:[o.Number,-3]}),a.getters({scientific_limit_low:function(){return Math.pow(10,this.power_limit_low)},scientific_limit_high:function(){return Math.pow(10,this.power_limit_high)}})},function(t,e,n){var i=t(364),r=t(100),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){return t},e}(r.TickFormatter);n.CategoricalTickFormatter=o,o.prototype.type=\"CategoricalTickFormatter\"},function(t,e,n){var i,r,o,s=t(364),a=t(362),l=t(363),u=t(100),h=t(14),c=t(15),_=t(22),p=t(42);o=function(t){return Math.round(t/1e3%1*1e6)},i=function(t){return l(t,\"%Y %m %d %H %M %S\").split(/\\s+/).map(function(t){return parseInt(t,10)})},r=function(t,e){var n;return p.isFunction(e)?e(t):(n=a.sprintf(\"$1%06d\",o(t)),-1===(e=e.replace(/((^|[^%])(%%)*)%f/,n)).indexOf(\"%\")?e:l(t,e))};var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._update_width_formats()},e.prototype._update_width_formats=function(){var t,e;return e=l(new Date),t=function(t){var n,i,o;return i=function(){var i,o,s;for(s=[],i=0,o=t.length;i<o;i++)n=t[i],s.push(r(e,n).length);return s}(),o=_.sortBy(_.zip(i,t),function(t){var e=t[0];t[1];return e}),_.unzip(o)},this._width_formats={microseconds:t(this.microseconds),milliseconds:t(this.milliseconds),seconds:t(this.seconds),minsec:t(this.minsec),minutes:t(this.minutes),hourmin:t(this.hourmin),hours:t(this.hours),days:t(this.days),months:t(this.months),years:t(this.years)}},e.prototype._get_resolution_str=function(t,e){var n;switch(n=1.1*t,!1){case!(n<.001):return\"microseconds\";case!(n<1):return\"milliseconds\";case!(n<60):return e>=60?\"minsec\":\"seconds\";case!(n<3600):return e>=3600?\"hourmin\":\"minutes\";case!(n<86400):return\"hours\";case!(n<2678400):return\"days\";case!(n<31536e3):return\"months\";default:return\"years\"}},e.prototype.doFormat=function(t,e,n,o,s,a){void 0===n&&(n=null),void 0===o&&(o=null),void 0===s&&(s=.3),void 0===a&&(a=null);var l,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D;if(0===t.length)return[];if(C=Math.abs(t[t.length-1]-t[0])/1e3,S=a?a.resolution:C/(t.length-1),A=this._get_resolution_str(S,C),F=this._width_formats[A],D=F[0],_=F[1],c=_[0],o){for(p=[],f=m=0,T=D.length;0<=T?m<T:m>T;f=0<=T?++m:--m)D[f]*t.length<s*o&&p.push(this._width_formats[f]);p.length>0&&(c=p[p.length-1])}for(y=[],E=this.format_order.indexOf(A),j={},M=this.format_order,v=0,b=M.length;v<b;v++)u=M[v],j[u]=0;for(j.seconds=5,j.minsec=4,j.minutes=4,j.hourmin=3,j.hours=3,g=0,x=t.length;g<x;g++){N=t[g];try{P=i(N),z=r(N,c)}catch(t){l=t,h.logger.warn(\"unable to format tick for timestamp value \"+N),h.logger.warn(\" - \"+l),y.push(\"ERR\");continue}for(d=!1,k=E;0===P[j[this.format_order[k]]]&&(k+=1)!==this.format_order.length;){if((\"minsec\"===A||\"hourmin\"===A)&&!d){if(\"minsec\"===A&&0===P[4]&&0!==P[5]||\"hourmin\"===A&&0===P[3]&&0!==P[4]){w=this._width_formats[this.format_order[E-1]][1][0],z=r(N,w);break}d=!0}w=this._width_formats[this.format_order[k]][1][0],z=r(N,w)}this.strip_leading_zeros?((O=z.replace(/^0+/g,\"\"))!==z&&isNaN(parseInt(O))&&(O=\"0\"+O),y.push(O)):y.push(z)}return y;var F},e}(u.TickFormatter);n.DatetimeTickFormatter=d,d.prototype.type=\"DatetimeTickFormatter\",d.define({microseconds:[c.Array,[\"%fus\"]],milliseconds:[c.Array,[\"%3Nms\",\"%S.%3Ns\"]],seconds:[c.Array,[\"%Ss\"]],minsec:[c.Array,[\":%M:%S\"]],minutes:[c.Array,[\":%M\",\"%Mm\"]],hourmin:[c.Array,[\"%H:%M\"]],hours:[c.Array,[\"%Hh\",\"%H:%M\"]],days:[c.Array,[\"%m/%d\",\"%a%d\"]],months:[c.Array,[\"%m/%Y\",\"%b%y\"]],years:[c.Array,[\"%Y\"]]}),d.prototype.format_order=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"],d.prototype.strip_leading_zeros=!0},function(t,e,n){var i=t(364),r=t(100),o=t(15),s=t(30),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0,\"tick\"].concat(Object.keys(this.args),[\"require\",this.code])))},n.prototype.doFormat=function(e,n){var i,r;return i=this._make_func(),function(){var n,o,a;for(a=[],n=0,o=e.length;n<o;n++)r=e[n],a.push(i.apply(void 0,[r].concat(s.values(this.args),[t])));return a}.call(this)},n}(r.TickFormatter);n.FuncTickFormatter=a,a.prototype.type=\"FuncTickFormatter\",a.define({args:[o.Any,{}],code:[o.String,\"\"]})},function(t,e,n){var i=t(91);n.BasicTickFormatter=i.BasicTickFormatter;var r=t(92);n.CategoricalTickFormatter=r.CategoricalTickFormatter;var o=t(93);n.DatetimeTickFormatter=o.DatetimeTickFormatter;var s=t(94);n.FuncTickFormatter=s.FuncTickFormatter;var a=t(96);n.LogTickFormatter=a.LogTickFormatter;var l=t(97);n.MercatorTickFormatter=l.MercatorTickFormatter;var u=t(98);n.NumeralTickFormatter=u.NumeralTickFormatter;var h=t(99);n.PrintfTickFormatter=h.PrintfTickFormatter;var c=t(100);n.TickFormatter=c.TickFormatter},function(t,e,n){var i=t(364),r=t(91),o=t(100),s=t(14),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){if(t.prototype.initialize.call(this,e,n),this.basic_formatter=new r.BasicTickFormatter,null==this.ticker)return s.logger.warn(\"LogTickFormatter not configured with a ticker, using default base of 10 (labels will be incorrect if ticker base is not 10)\")},e.prototype.doFormat=function(t,e){var n,i,r,o,s,a;if(0===t.length)return[];for(n=null!=this.ticker?this.ticker.base:10,a=!1,o=new Array(t.length),i=r=0,s=t.length;0<=s?r<s:r>s;i=0<=s?++r:--r)if(o[i]=n+\"^\"+Math.round(Math.log(t[i])/Math.log(n)),i>0&&o[i]===o[i-1]){a=!0;break}return a&&(o=this.basic_formatter.doFormat(t)),o},e}(o.TickFormatter);n.LogTickFormatter=l,l.prototype.type=\"LogTickFormatter\",l.define({ticker:[a.Instance,null]})},function(t,e,n){var i=t(364),r=t(91),o=t(15),s=t(31),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(e,n){var i,r,o,a,l,u,h,c;if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0===e.length)return[];if(u=new Array(e.length),\"lon\"===this.dimension)for(i=r=0,h=e.length;0<=h?r<h:r>h;i=0<=h?++r:--r)_=s.proj4(s.mercator).inverse([e[i],n.loc]),l=_[0],a=_[1],u[i]=l;else for(i=o=0,c=e.length;0<=c?o<c:o>c;i=0<=c?++o:--o)p=s.proj4(s.mercator).inverse([n.loc,e[i]]),l=p[0],a=p[1],u[i]=a;return t.prototype.doFormat.call(this,u,n);var _,p},e}(r.BasicTickFormatter);n.MercatorTickFormatter=a,a.prototype.type=\"MercatorTickFormatter\",a.define({dimension:[o.LatLon]})},function(t,e,n){var i=t(364),r=t(332),o=t(100),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){var n,i,o,s;return n=this.format,i=this.language,o=function(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}.call(this),function(){var e,a,l;for(l=[],e=0,a=t.length;e<a;e++)s=t[e],l.push(r.format(s,n,i,o));return l}()},e}(o.TickFormatter);n.NumeralTickFormatter=a,a.prototype.type=\"NumeralTickFormatter\",a.define({format:[s.String,\"0,0\"],language:[s.String,\"en\"],rounding:[s.String,\"round\"]})},function(t,e,n){var i=t(364),r=t(362),o=t(100),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){var n,i;return n=this.format,function(){var e,o,s;for(s=[],e=0,o=t.length;e<o;e++)i=t[e],s.push(r.sprintf(n,i));return s}()},e}(o.TickFormatter);n.PrintfTickFormatter=a,a.prototype.type=\"PrintfTickFormatter\",a.define({format:[s.String,\"%s\"]})},function(t,e,n){var i=t(364),r=t(50),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){},e}(r.Model);n.TickFormatter=o,o.prototype.type=\"TickFormatter\"},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(29);n.AnnularWedgeView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){var t,e,n,i;for(\"data\"===this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"===this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius,this._angle=new Float32Array(this._start_angle.length),i=[],t=e=0,n=this._start_angle.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this._angle[t]=this._end_angle[t]-this._start_angle[t]);return i},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n._start_angle,c=n._angle,_=n.sinner_radius,p=n.souter_radius;for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+_[r]+p[r]+h[r]+c[r])||(t.translate(l[r],u[r]),t.rotate(h[r]),t.moveTo(p[r],0),t.beginPath(),t.arc(0,0,p[r],0,c[r],i),t.rotate(c[r]),t.lineTo(_[r],0),t.arc(0,0,_[r],0,-c[r],!i),t.closePath(),t.rotate(-c[r]-h[r]),t.translate(-l[r],-u[r]),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,r),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),a.push(t.stroke())):a.push(void 0));return a},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E;for(v=t.sx,b=t.sy,k=this.renderer.xscale.invert(v),M=this.renderer.yscale.invert(b),\"data\"===this.model.properties.outer_radius.units?(S=k-this.max_outer_radius,T=k+this.max_outer_radius,A=M-this.max_outer_radius,E=M+this.max_outer_radius):(g=v-this.max_outer_radius,y=v+this.max_outer_radius,z=this.renderer.xscale.r_invert(g,y),S=z[0],T=z[1],x=b-this.max_outer_radius,w=b+this.max_outer_radius,C=this.renderer.yscale.r_invert(x,w),A=C[0],E=C[1]),i=[],n=o.validate_bbox_coords([S,T],[A,E]),m=this.index.indices(n),c=0,p=m.length;c<p;c++)u=m[c],f=Math.pow(this.souter_radius[u],2),h=Math.pow(this.sinner_radius[u],2),O=this.renderer.xscale.r_compute(k,this._x[u]),g=O[0],y=O[1],N=this.renderer.yscale.r_compute(M,this._y[u]),x=N[0],w=N[1],(s=Math.pow(g-y,2)+Math.pow(x-w,2))<=f&&s>=h&&i.push([u,s]);for(r=this.model.properties.direction.value(),l=[],_=0,d=i.length;_<d;_++)j=i[_],u=j[0],s=j[1],e=Math.atan2(b-this.sy[u],v-this.sx[u]),a.angle_between(-e,-this._start_angle[u],-this._end_angle[u],r)&&l.push([u,s]);return o.create_1d_hit_test_result(l);var z,C,O,N,j},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e.prototype._scxy=function(t){var e,n;return n=(this.sinner_radius[t]+this.souter_radius[t])/2,e=(this._start_angle[t]+this._end_angle[t])/2,{x:this.sx[t]+n*Math.cos(e),y:this.sy[t]+n*Math.sin(e)}},e.prototype.scx=function(t){return this._scxy(t).x},e.prototype.scy=function(t){return this._scxy(t).y},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.AnnularWedge=l,l.prototype.default_view=n.AnnularWedgeView,l.prototype.type=\"AnnularWedge\",l.mixins([\"line\",\"fill\"]),l.define({direction:[s.Direction,\"anticlock\"],inner_radius:[s.DistanceSpec],outer_radius:[s.DistanceSpec],start_angle:[s.AngleSpec],end_angle:[s.AngleSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.AnnulusView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"===this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy,d=n.sinner_radius,f=n.souter_radius;for(c=[],s=0,l=e.length;s<l;s++)if(r=e[s],!isNaN(_[r]+p[r]+d[r]+f[r])){if(o=navigator.userAgent.indexOf(\"MSIE\")>=0||navigator.userAgent.indexOf(\"Trident\")>0||navigator.userAgent.indexOf(\"Edge\")>0,this.visuals.fill.doit){if(this.visuals.fill.set_vectorize(t,r),t.beginPath(),o)for(a=0,u=(h=[!1,!0]).length;a<u;a++)i=h[a],t.arc(_[r],p[r],d[r],0,Math.PI,i),t.arc(_[r],p[r],f[r],Math.PI,0,!i);else t.arc(_[r],p[r],d[r],0,2*Math.PI,!0),t.arc(_[r],p[r],f[r],2*Math.PI,0,!1);t.fill()}this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),t.beginPath(),t.arc(_[r],p[r],d[r],0,2*Math.PI),t.moveTo(_[r]+f[r],p[r]),t.arc(_[r],p[r],f[r],0,2*Math.PI),c.push(t.stroke())):c.push(void 0)}return c},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;for(c=t.sx,d=t.sy,v=this.renderer.xscale.invert(c),g=v-this.max_radius,y=v+this.max_radius,b=this.renderer.yscale.invert(d),x=b-this.max_radius,w=b+this.max_radius,i=[],e=o.validate_bbox_coords([g,y],[x,w]),h=this.index.indices(e),a=0,l=h.length;a<l;a++)r=h[a],u=Math.pow(this.souter_radius[r],2),s=Math.pow(this.sinner_radius[r],2),k=this.renderer.xscale.r_compute(v,this._x[r]),_=k[0],p=k[1],S=this.renderer.yscale.r_compute(b,this._y[r]),f=S[0],m=S[1],(n=Math.pow(_-p,2)+Math.pow(f-m,2))<=u&&n>=s&&i.push([r,n]);return o.create_1d_hit_test_result(i);var k,S},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_;return a=[o],c={},c[o]=(e+n)/2,_={},_[o]=(i+r)/2,l=.5*Math.min(Math.abs(n-e),Math.abs(r-i)),u={},u[o]=.4*l,h={},h[o]=.8*l,s={sx:c,sy:_,sinner_radius:u,souter_radius:h},this._render(t,a,s)},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Annulus=a,a.prototype.default_view=n.AnnulusView,a.prototype.type=\"Annulus\",a.mixins([\"line\",\"fill\"]),a.define({inner_radius:[s.DistanceSpec],outer_radius:[s.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.ArcView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sradius,c=n._start_angle,_=n._end_angle;if(this.visuals.line.doit){for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+h[r]+c[r]+_[r])||(t.beginPath(),t.arc(l[r],u[r],h[r],c[r],_[r],i),this.visuals.line.set_vectorize(t,r),a.push(t.stroke()));return a}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Arc=s,s.prototype.default_view=n.ArcView,s.prototype.type=\"Arc\",s.mixins([\"line\"]),s.define({direction:[o.Direction,\"anticlock\"],radius:[o.DistanceSpec],start_angle:[o.AngleSpec],end_angle:[o.AngleSpec]})},function(t,e,n){var i,r=t(364),o=t(36),s=t(108);i=function(t,e,n,i,r,o,s,a){var l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S;for(w=[],c=[[],[]],p=m=0;m<=2;p=++m)if(0===p?(u=6*t-12*n+6*r,l=-3*t+9*n-9*r+3*s,_=3*n-3*t):(u=6*e-12*i+6*o,l=-3*e+9*i-9*o+3*a,_=3*i-3*e),Math.abs(l)<1e-12){if(Math.abs(u)<1e-12)continue;0<(y=-_/u)&&y<1&&w.push(y)}else h=u*u-4*_*l,g=Math.sqrt(h),h<0||(0<(b=(-u+g)/(2*l))&&b<1&&w.push(b),0<(x=(-u-g)/(2*l))&&x<1&&w.push(x));for(d=w.length,f=d;d--;)y=w[d],k=(v=1-y)*v*v*t+3*v*v*y*n+3*v*y*y*r+y*y*y*s,c[0][d]=k,S=v*v*v*e+3*v*v*y*i+3*v*y*y*o+y*y*y*a,c[1][d]=S;return c[0][f]=t,c[1][f]=e,c[0][f+1]=s,c[1][f+1]=a,[Math.min.apply(null,c[0]),Math.max.apply(null,c[1]),Math.max.apply(null,c[0]),Math.min.apply(null,c[1])]},n.BezierView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._index_data=function(){var t,e,n,r,s,a,l,u;for(n=[],t=e=0,r=this._x0.length;0<=r?e<r:e>r;t=0<=r?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t]+this._cx0[t]+this._cy0[t]+this._cx1[t]+this._cy1[t])||(h=i(this._x0[t],this._y0[t],this._x1[t],this._y1[t],this._cx0[t],this._cy0[t],this._cx1[t],this._cy1[t]),s=h[0],l=h[1],a=h[2],u=h[3],n.push({minX:s,minY:l,maxX:a,maxY:u,i:t}));return new o.RBush(n);var h},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1,c=(n.scx,n.scx0),_=n.scy0,p=n.scx1,d=n.scy1;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.bezierCurveTo(c[i],_[i],p[i],d[i],u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(s.Glyph);n.Bezier=a,a.prototype.default_view=n.BezierView,a.prototype.type=\"Bezier\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"],[\"cx0\",\"cy0\"],[\"cx1\",\"cy1\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(36),o=t(108),s=t(9);n.BoxView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_box=function(t){var e,n,i,o,s,a,l,u;for(s=[],n=i=0,l=t;0<=l?i<l:i>l;n=0<=l?++i:--i)h=this._lrtb(n),o=h[0],a=h[1],u=h[2],e=h[3],!isNaN(o+a+u+e)&&isFinite(o+a+u+e)&&s.push({minX:o,minY:e,maxX:a,maxY:u,i:n});return new r.RBush(s);var h},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sleft,l=n.sright,u=n.stop,h=n.sbottom;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+u[i]+l[i]+h[i])||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fillRect(a[i],u[i],l[i]-a[i],h[i]-u[i])),this.visuals.line.doit?(t.beginPath(),t.rect(a[i],u[i],l[i]-a[i],h[i]-u[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype._hit_rect=function(t){return this._hit_rect_against_index(t)},e.prototype._hit_point=function(t){var e,n,i,r,o,a;return i=t.sx,r=t.sy,o=this.renderer.xscale.invert(i),a=this.renderer.yscale.invert(r),e=this.index.indices({minX:o,minY:a,maxX:o,maxY:a}),n=s.create_hit_test_result(),n[\"1d\"].indices=e,n},e.prototype._hit_span=function(t){var e,n,i,r,o,a,l,u,h,c,_,p;return u=t.sx,h=t.sy,\"v\"===t.direction?(p=this.renderer.yscale.invert(h),n=this.renderer.plot_view.frame.bbox.h_range,d=this.renderer.xscale.r_invert(n.start,n.end),o=d[0],i=d[1],e=this.index.indices({minX:o,minY:p,maxX:i,maxY:p})):(_=this.renderer.xscale.invert(u),c=this.renderer.plot_view.frame.bbox.v_range,f=this.renderer.yscale.r_invert(c.start,c.end),a=f[0],r=f[1],e=this.index.indices({minX:_,minY:a,maxX:_,maxY:r})),l=s.create_hit_test_result(),l[\"1d\"].indices=e,l;var d,f},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(o.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.Box=a,a.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.CircleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){var t,e;return null!=this._radius?\"data\"===this.model.properties.radius.spec.units?(t=this.model.properties.radius_dimension.spec.value,this.sradius=this.sdist(this.renderer[t+\"scale\"],this[\"_\"+t],this._radius)):(this.sradius=this._radius,this.max_size=2*this.max_radius):this.sradius=function(){var t,n,i,r;for(i=this._size,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(e/2);return r}.call(this)},e.prototype._mask_data=function(t){var e,n,i,r,s,a,l,u,h,c,_;return p=this.renderer.plot_view.frame.bbox.ranges,n=p[0],l=p[1],null!=this._radius&&\"data\"===this.model.properties.radius.units?(i=n.start,r=n.end,d=this.renderer.xscale.r_invert(i,r),u=d[0],h=d[1],u-=this.max_radius,h+=this.max_radius,s=l.start,a=l.end,f=this.renderer.yscale.r_invert(s,a),c=f[0],_=f[1],c-=this.max_radius,_+=this.max_radius):(i=n.start-this.max_size,r=n.end+this.max_size,m=this.renderer.xscale.r_invert(i,r),u=m[0],h=m[1],s=l.start-this.max_size,a=l.end+this.max_size,v=this.renderer.yscale.r_invert(s,a),c=v[0],_=v[1]),e=o.validate_bbox_coords([u,h],[c,_]),this.index.indices(e);var p,d,f,m,v},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sradius;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i])||(t.beginPath(),t.arc(a[i],l[i],u[i],0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(_=t.sx,f=t.sy,g=this.renderer.xscale.invert(_),x=this.renderer.yscale.invert(f),null!=this._radius&&\"data\"===this.model.properties.radius.units?(y=g-this.max_radius,b=g+this.max_radius,w=x-this.max_radius,k=x+this.max_radius):(p=_-this.max_size,d=_+this.max_size,S=this.renderer.xscale.r_invert(p,d),y=S[0],b=S[1],T=[Math.min(y,b),Math.max(y,b)],y=T[0],b=T[1],m=f-this.max_size,v=f+this.max_size,M=this.renderer.yscale.r_invert(m,v),w=M[0],k=M[1],A=[Math.min(w,k),Math.max(w,k)],w=A[0],k=A[1]),e=o.validate_bbox_coords([y,b],[w,k]),n=this.index.indices(e),r=[],null!=this._radius&&\"data\"===this.model.properties.radius.units)for(a=0,u=n.length;a<u;a++)s=n[a],c=Math.pow(this.sradius[s],2),E=this.renderer.xscale.r_compute(g,this._x[s]),p=E[0],d=E[1],z=this.renderer.yscale.r_compute(x,this._y[s]),m=z[0],v=z[1],(i=Math.pow(p-d,2)+Math.pow(m-v,2))<=c&&r.push([s,i]);else for(l=0,h=n.length;l<h;l++)s=n[l],c=Math.pow(this.sradius[s],2),(i=Math.pow(this.sx[s]-_,2)+Math.pow(this.sy[s]-f,2))<=c&&r.push([s,i]);return o.create_1d_hit_test_result(r);var S,T,M,A,E,z},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;return h=t.sx,p=t.sy,b=this.bounds(),s=b.minX,a=b.minY,i=b.maxX,r=b.maxY,u=o.create_hit_test_result(),\"h\"===t.direction?(g=a,y=r,null!=this._radius&&\"data\"===this.model.properties.radius.units?(c=h-this.max_radius,_=h+this.max_radius,x=this.renderer.xscale.r_invert(c,_),m=x[0],v=x[1]):(l=this.max_size/2,c=h-l,_=h+l,w=this.renderer.xscale.r_invert(c,_),m=w[0],v=w[1])):(m=s,v=i,null!=this._radius&&\"data\"===this.model.properties.radius.units?(d=p-this.max_radius,f=p+this.max_radius,k=this.renderer.yscale.r_invert(d,f),g=k[0],y=k[1]):(l=this.max_size/2,d=p-l,f=p+l,S=this.renderer.yscale.r_invert(d,f),g=S[0],y=S[1])),e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),u[\"1d\"].indices=n,u;var b,x,w,k,S},e.prototype._hit_rect=function(t){var e,n,i,r,s,a,l,u,h,c;return i=t.sx0,r=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,r),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=o.validate_bbox_coords([l,u],[h,c]),n=o.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},e.prototype._hit_poly=function(t){var e,n,i,r,s,a,l,u,h,c;for(h=t.sx,c=t.sy,e=function(){u=[];for(var t=0,e=this.sx.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this),n=[],i=s=0,a=e.length;0<=a?s<a:s>a;i=0<=a?++s:--s)r=e[i],o.point_in_poly(this.sx[i],this.sy[i],h,c)&&n.push(r);return l=o.create_hit_test_result(),l[\"1d\"].indices=n,l},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h;return a=[o],u={},u[o]=(e+n)/2,h={},h[o]=(i+r)/2,l={},l[o]=.2*Math.min(Math.abs(n-e),Math.abs(r-i)),s={sx:u,sy:h,sradius:l},this._render(t,a,s)},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.properties.radius.optional=!0},e}(r.XYGlyph);n.Circle=a,a.prototype.default_view=n.CircleView,a.prototype.type=\"Circle\",a.mixins([\"line\",\"fill\"]),a.define({angle:[s.AngleSpec,0],size:[s.DistanceSpec,{units:\"screen\",value:4}],radius:[s.DistanceSpec,null],radius_dimension:[s.String,\"x\"]})},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.EllipseView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){return\"data\"===this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"===this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sw,h=n.sh;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+this._angle[i])||(t.beginPath(),t.ellipse(a[i],l[i],u[i]/2,h[i]/2,this._angle[i],0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;return l=[o],_={},_[o]=(e+n)/2,p={},p[o]=(i+r)/2,u=this.sw[o]/this.sh[o],s=.8*Math.min(Math.abs(n-e),Math.abs(r-i)),c={},h={},u>1?(c[o]=s,h[o]=s/u):(c[o]=s*u,h[o]=s),a={sx:_,sy:p,sw:c,sh:h},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Ellipse=s,s.prototype.default_view=n.EllipseView,s.prototype.type=\"Ellipse\",s.mixins([\"line\",\"fill\"]),s.define({angle:[o.AngleSpec,0],width:[o.DistanceSpec],height:[o.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(9),o=t(15),s=t(23),a=t(32),l=t(45),u=t(50),h=t(46),c=t(14),_=t(30),p=t(42),d=t(114);n.GlyphView=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.initialize=function(n){var i,r,o,s;if(e.prototype.initialize.call(this,n),this._nohit_warned={},this.renderer=n.renderer,this.visuals=new h.Visuals(this.model),null!=(r=this.renderer.plot_view.canvas_view.ctx).glcanvas){try{s=t(425)}catch(t){if(\"MODULE_NOT_FOUND\"!==(o=t).code)throw o;c.logger.warn(\"WebGL was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2D rendering.\"),s=null}if(null!=s&&null!=(i=s[this.model.type+\"GLGlyph\"]))return this.glglyph=new i(r.glcanvas.gl,this)}},n.prototype.set_visuals=function(t){if(this.visuals.warm_cache(t),null!=this.glglyph)return this.glglyph.set_visuals_changed()},n.prototype.render=function(t,e,n){if(t.beginPath(),null==this.glglyph||!this.glglyph.render(t,e,n))return this._render(t,e,n)},n.prototype.has_finished=function(){return!0},n.prototype.notify_finished=function(){return this.renderer.notify_finished()},n.prototype.bounds=function(){return null==this.index?s.empty():this._bounds(this.index.bbox)},n.prototype.log_bounds=function(){var t,e,n,i,r,o,a,l,u;if(null==this.index)return s.empty();for(t=s.empty(),o=this.index.search(s.positive_x()),a=this.index.search(s.positive_y()),e=0,i=o.length;e<i;e++)(l=o[e]).minX<t.minX&&(t.minX=l.minX),l.maxX>t.maxX&&(t.maxX=l.maxX);for(n=0,r=a.length;n<r;n++)(u=a[n]).minY<t.minY&&(t.minY=u.minY),u.maxY>t.maxY&&(t.maxY=u.maxY);return this._bounds(t)},n.prototype.max_wh2_bounds=function(t){return{minX:t.minX-this.max_w2,maxX:t.maxX+this.max_w2,minY:t.minY-this.max_h2,maxY:t.maxY+this.max_h2}},n.prototype.get_anchor_point=function(t,e,n){var i=n[0],r=n[1];switch(t){case\"center\":return{x:this.scx(e,i,r),y:this.scy(e,i,r)};default:return null}},n.prototype.scx=function(t){return this.sx[t]},n.prototype.scy=function(t){return this.sy[t]},n.prototype.sdist=function(t,e,n,i,r){void 0===i&&(i=\"edge\"),void 0===r&&(r=!1);var o,s,a,l,u,h,c;return null!=t.source_range.v_synthetic&&(e=t.source_range.v_synthetic(e)),\"center\"===i?(s=function(){var t,e,i;for(i=[],t=0,e=n.length;t<e;t++)o=n[t],i.push(o/2);return i}(),l=function(){var t,n,i;for(i=[],a=t=0,n=e.length;0<=n?t<n:t>n;a=0<=n?++t:--t)i.push(e[a]-s[a]);return i}(),u=function(){var t,n,i;for(i=[],a=t=0,n=e.length;0<=n?t<n:t>n;a=0<=n?++t:--t)i.push(e[a]+s[a]);return i}()):(l=e,u=function(){var t,e,i;for(i=[],a=t=0,e=l.length;0<=e?t<e:t>e;a=0<=e?++t:--t)i.push(l[a]+n[a]);return i}()),h=t.v_compute(l),c=t.v_compute(u),r?function(){var t,e,n;for(n=[],a=t=0,e=h.length;0<=e?t<e:t>e;a=0<=e?++t:--t)n.push(Math.ceil(Math.abs(c[a]-h[a])));return n}():function(){var t,e,n;for(n=[],a=t=0,e=h.length;0<=e?t<e:t>e;a=0<=e?++t:--t)n.push(Math.abs(c[a]-h[a]));return n}()},n.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return null},n.prototype._generic_line_legend=function(t,e,n,i,r,o){return t.save(),t.beginPath(),t.moveTo(e,(i+r)/2),t.lineTo(n,(i+r)/2),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,o),t.stroke()),t.restore()},n.prototype._generic_area_legend=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;if([o],p=Math.abs(n-e),a=.1*p,l=Math.abs(r-i),s=.1*l,u=e+a,h=n-a,c=i+s,_=r-s,this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,o),t.fillRect(u,c,h-u,_-c)),this.visuals.line.doit)return t.beginPath(),t.rect(u,c,h-u,_-c),this.visuals.line.set_vectorize(t,o),t.stroke()},n.prototype.hit_test=function(t){var e,n;return n=null,e=\"_hit_\"+t.type,null!=this[e]?n=this[e](t):null==this._nohit_warned[t.type]&&(c.logger.debug(\"'\"+t.type+\"' selection not available for \"+this.model.type),this._nohit_warned[t.type]=!0),n},n.prototype._hit_rect_against_index=function(t){var e,n,i,o,s,a,l,u,h,c;return i=t.sx0,o=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,o),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=r.validate_bbox_coords([l,u],[h,c]),n=r.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},n.prototype.set_data=function(t,e,n){var i,r,o,s,l,u,h,c,p,f,m,v;if(i=this.model.materialize_dataspecs(t),this.visuals.set_all_indices(e),e&&!(this instanceof d.LineView)){r={};for(l in i)c=i[l],\"_\"===l.charAt(0)?r[l]=function(){var t,n,i;for(i=[],t=0,n=e.length;t<n;t++)o=e[t],i.push(c[o]);return i}():r[l]=c;i=r}if(_.extend(this,i),this.renderer.plot_view.model.use_map&&(null!=this._x&&(g=a.project_xy(this._x,this._y),this._x=g[0],this._y=g[1]),null!=this._xs&&(y=a.project_xsys(this._xs,this._ys),this._xs=y[0],this._ys=y[1])),null!=this.renderer.plot_view.frame.x_ranges)for(f=this.renderer.plot_view.frame.x_ranges[this.model.x_range_name],v=this.renderer.plot_view.frame.y_ranges[this.model.y_range_name],h=this.model._coords,s=0,u=h.length;s<u;s++)b=h[s],p=b[0],m=b[1],p=\"_\"+p,m=\"_\"+m,null!=f.v_synthetic&&(this[p]=f.v_synthetic(this[p])),null!=v.v_synthetic&&(this[m]=v.v_synthetic(this[m]));return null!=this.glglyph&&this.glglyph.set_data_changed(this._x.length),this._set_data(t,n),this.index=this._index_data();var g,y,b},n.prototype._set_data=function(){},n.prototype._index_data=function(){},n.prototype.mask_data=function(t){return null!=this.glglyph?t:this._mask_data(t)},n.prototype._mask_data=function(t){return t},n.prototype._bounds=function(t){return t},n.prototype.map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,d,f;for(r=this.model._coords,e=0,i=r.length;e<i;e++)if(m=r[e],d=m[0],f=m[1],h=\"s\"+d,_=\"s\"+f,d=\"_\"+d,f=\"_\"+f,p.isArray(null!=(o=this[d])?o[0]:void 0)||(null!=(s=this[d])&&null!=(a=s[0])?a.buffer:void 0)instanceof ArrayBuffer)for(v=[[],[]],this[h]=v[0],this[_]=v[1],t=n=0,l=this[d].length;0<=l?n<l:n>l;t=0<=l?++n:--n)g=this.map_to_screen(this[d][t],this[f][t]),u=g[0],c=g[1],this[h].push(u),this[_].push(c);else y=this.map_to_screen(this[d],this[f]),this[h]=y[0],this[_]=y[1];return this._map_data();var m,v,g,y},n.prototype._map_data=function(){},n.prototype.map_to_screen=function(t,e){return this.renderer.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},n}(l.View);var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.coords=function(t){var e,n,i,r,s,a;for(e=this.prototype._coords.concat(t),this.prototype._coords=e,r={},n=0,i=t.length;n<i;n++)l=t[n],s=l[0],a=l[1],r[s]=[o.NumberSpec],r[a]=[o.NumberSpec];return this.define(r);var l},e}(u.Model);n.Glyph=f,f.prototype._coords=[],f.internal({x_range_name:[o.String,\"default\"],y_range_name:[o.String,\"default\"]})},function(t,e,n){var i=t(364),r=t(105),o=t(15);n.HBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.scx=function(t){return(this.sleft[t]+this.sright[t])/2},e.prototype._index_data=function(){return this._index_box(this._y.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=Math.min(this._left[t],this._right[t]),i=Math.max(this._left[t],this._right[t]),r=this._y[t]+.5*this._height[t],e=this._y[t]-.5*this._height[t],[n,i,r,e]},e.prototype._map_data=function(){var t,e,n;for(this.sy=this.renderer.yscale.v_compute(this._y),this.sright=this.renderer.xscale.v_compute(this._right),this.sleft=this.renderer.xscale.v_compute(this._left),this.stop=[],this.sbottom=[],this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"),t=e=0,n=this.sy.length;0<=n?e<n:e>n;t=0<=n?++e:--e)this.stop.push(this.sy[t]-this.sh[t]/2),this.sbottom.push(this.sy[t]+this.sh[t]/2);return null},e}(r.BoxView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.HBar=s,s.prototype.default_view=n.HBarView,s.prototype.type=\"HBar\",s.coords([[\"left\",\"y\"]]),s.define({height:[o.DistanceSpec],right:[o.NumberSpec]}),s.override({left:0})},function(t,e,n){var i=t(364),r=t(128),o=t(146),s=t(15),a=t(22);n.ImageView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.color_mapper.change,function(){return this._update_image()})},e.prototype._update_image=function(){if(null!=this.image_data)return this._set_data(),this.renderer.plot_view.request_render()},e.prototype._set_data=function(){var t,e,n,i,r,o,s,l,u,h,c,_;for(null!=this.image_data&&this.image_data.length===this._image.length||(this.image_data=new Array(this._image.length)),null!=this._width&&this._width.length===this._image.length||(this._width=new Array(this._image.length)),null!=this._height&&this._height.length===this._image.length||(this._height=new Array(this._image.length)),c=[],o=u=0,h=this._image.length;0<=h?u<h:u>h;o=0<=h?++u:--u)_=[],null!=this._image_shape&&(_=this._image_shape[o]),_.length>0?(l=this._image[o],this._height[o]=_[0],this._width[o]=_[1]):(l=a.concat(this._image[o]),this._height[o]=this._image[o].length,this._width[o]=this._image[o][0].length),null!=this.image_data[o]&&this.image_data[o].width===this._width[o]&&this.image_data[o].height===this._height[o]?n=this.image_data[o]:((n=document.createElement(\"canvas\")).width=this._width[o],n.height=this._height[o]),r=n.getContext(\"2d\"),s=r.getImageData(0,0,this._width[o],this._height[o]),i=this.model.color_mapper,t=i.v_map_screen(l,!0),e=new Uint8Array(t),s.data.set(e),r.putImageData(s,0,0),this.image_data[o]=n,this.max_dw=0,\"data\"===this._dw.units&&(this.max_dw=a.max(this._dw)),this.max_dh=0,\"data\"===this._dh.units?c.push(this.max_dh=a.max(this._dh)):c.push(void 0);return c},e.prototype._map_data=function(){switch(this.model.properties.dw.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,this._dw,\"edge\",this.model.dilate);break;case\"screen\":this.sw=this._dw}switch(this.model.properties.dh.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,this._dh,\"edge\",this.model.dilate);case\"screen\":return this.sh=this._dh}},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.image_data,u=n.sx,h=n.sy,c=n.sw,_=n.sh;for(s=t.getImageSmoothingEnabled(),t.setImageSmoothingEnabled(!1),r=0,o=e.length;r<o;r++)i=e[r],null!=l[i]&&(isNaN(u[i]+h[i]+c[i]+_[i])||(a=h[i],t.translate(0,a),t.scale(1,-1),t.translate(0,-a),t.drawImage(l[i],0|u[i],0|h[i],c[i],_[i]),t.translate(0,a),t.scale(1,-1),t.translate(0,-a)));return t.setImageSmoothingEnabled(s)},e.prototype.bounds=function(){var t;return t=this.index.bbox,t.maxX+=this.max_dw,t.maxY+=this.max_dh,t},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Image=l,l.prototype.default_view=n.ImageView,l.prototype.type=\"Image\",l.define({image:[s.NumberSpec],dw:[s.DistanceSpec],dh:[s.DistanceSpec],dilate:[s.Bool,!1],color_mapper:[s.Instance,function(){return new o.LinearColorMapper({palette:[0,2434341,5395026,7566195,9868950,12434877,14277081,15790320,16777215]})}]})},function(t,e,n){var i=t(364),r=t(128),o=t(15),s=t(22);n.ImageRGBAView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(t,e){var n,i,r,o,a,l,u,h,c,_,p,d,f,m,v;for(null!=this.image_data&&this.image_data.length===this._image.length||(this.image_data=new Array(this._image.length)),null!=this._width&&this._width.length===this._image.length||(this._width=new Array(this._image.length)),null!=this._height&&this._height.length===this._image.length||(this._height=new Array(this._image.length)),m=[],u=_=0,d=this._image.length;0<=d?_<d:_>d;u=0<=d?++_:--_)if(!(null!=e&&e.indexOf(u)<0)){if(v=[],null!=this._image_shape&&(v=this._image_shape[u]),v.length>0)n=this._image[u].buffer,this._height[u]=v[0],this._width[u]=v[1];else{for(l=s.concat(this._image[u]),n=new ArrayBuffer(4*l.length),o=new Uint32Array(n),c=p=0,f=l.length;0<=f?p<f:p>f;c=0<=f?++p:--p)o[c]=l[c];this._height[u]=this._image[u].length,this._width[u]=this._image[u][0].length}null!=this.image_data[u]&&this.image_data[u].width===this._width[u]&&this.image_data[u].height===this._height[u]?r=this.image_data[u]:((r=document.createElement(\"canvas\")).width=this._width[u],r.height=this._height[u]),a=r.getContext(\"2d\"),h=a.getImageData(0,0,this._width[u],this._height[u]),i=new Uint8Array(n),h.data.set(i),a.putImageData(h,0,0),this.image_data[u]=r,this.max_dw=0,\"data\"===this._dw.units&&(this.max_dw=s.max(this._dw)),this.max_dh=0,\"data\"===this._dh.units?m.push(this.max_dh=s.max(this._dh)):m.push(void 0)}return m},e.prototype._map_data=function(){switch(this.model.properties.dw.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,this._dw,\"edge\",this.model.dilate);break;case\"screen\":this.sw=this._dw}switch(this.model.properties.dh.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,this._dh,\"edge\",this.model.dilate);case\"screen\":return this.sh=this._dh}},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.image_data,u=n.sx,h=n.sy,c=n.sw,_=n.sh;for(s=t.getImageSmoothingEnabled(),t.setImageSmoothingEnabled(!1),r=0,o=e.length;r<o;r++)i=e[r],isNaN(u[i]+h[i]+c[i]+_[i])||(a=h[i],t.translate(0,a),t.scale(1,-1),t.translate(0,-a),t.drawImage(l[i],0|u[i],0|h[i],c[i],_[i]),t.translate(0,a),t.scale(1,-1),t.translate(0,-a));return t.setImageSmoothingEnabled(s)},e.prototype.bounds=function(){var t;return t=this.index.bbox,t.maxX+=this.max_dw,t.maxY+=this.max_dh,t},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.ImageRGBA=a,a.prototype.default_view=n.ImageRGBAView,a.prototype.type=\"ImageRGBA\",a.define({image:[o.NumberSpec],dw:[o.DistanceSpec],dh:[o.DistanceSpec],dilate:[o.Bool,!1]})},function(t,e,n){var i=t(364),r=t(108),o=t(14),s=t(15);n.ImageURLView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.model.properties.global_alpha.change,function(){return n.renderer.request_render()})},e.prototype._index_data=function(){},e.prototype._set_data=function(){var t,e,n,i,r,s,a,l=this;for(null!=this.image&&this.image.length===this._url.length||(this.image=function(){var t,n,i,r;for(i=this._url,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(null);return r}.call(this)),s=this.model.retry_attempts,a=this.model.retry_timeout,this.retries=function(){var t,n,i,r;for(i=this._url,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(s);return r}.call(this),r=[],t=n=0,i=this._url.length;0<=i?n<i:n>i;t=0<=i?++n:--n)null!=this._url[t]&&((e=new Image).onerror=function(t,e){return function(){return l.retries[t]>0?(o.logger.trace(\"ImageURL failed to load \"+l._url[t]+\" image, retrying in \"+a+\" ms\"),setTimeout(function(){return e.src=l._url[t]},a)):o.logger.warn(\"ImageURL unable to load \"+l._url[t]+\" image after \"+s+\" retries\"),l.retries[t]-=1}}(t,e),e.onload=function(t,e){return function(){return l.image[e]=t,l.renderer.request_render()}}(e,t),r.push(e.src=this._url[t]));return r},e.prototype.has_finished=function(){return t.prototype.has_finished.call(this)&&!0===this._images_rendered},e.prototype._map_data=function(){var t,e,n;switch(e=function(){var t,e,i,r;if(null!=this.model.w)return this._w;for(i=this._x,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(NaN);return r}.call(this),t=function(){var t,e,i,r;if(null!=this.model.h)return this._h;for(i=this._x,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(NaN);return r}.call(this),this.model.properties.w.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,e,\"edge\",this.model.dilate);break;case\"screen\":this.sw=e}switch(this.model.properties.h.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,t,\"edge\",this.model.dilate);case\"screen\":return this.sh=t}},e.prototype._render=function(t,e,n){n._url;var i,r,o,s,a,l=n.image,u=n.sx,h=n.sy,c=n.sw,_=n.sh,p=n._angle;for(r=this.renderer.plot_view.frame,t.rect(r._left.value+1,r._top.value+1,r._width.value-2,r._height.value-2),t.clip(),i=!0,s=0,a=e.length;s<a;s++)o=e[s],isNaN(u[o]+h[o]+p[o])||-1!==this.retries[o]&&(null!=l[o]?this._render_image(t,o,l[o],u,h,c,_,p):i=!1);if(i&&!this._images_rendered)return this._images_rendered=!0,this.notify_finished()},e.prototype._final_sx_sy=function(t,e,n,i,r){switch(t){case\"top_left\":return[e,n];case\"top_center\":return[e-i/2,n];case\"top_right\":return[e-i,n];case\"center_right\":return[e-i,n-r/2];case\"bottom_right\":return[e-i,n-r];case\"bottom_center\":return[e-i/2,n-r];case\"bottom_left\":return[e,n-r];case\"center_left\":return[e,n-r/2];case\"center\":return[e-i/2,n-r/2]}},e.prototype._render_image=function(t,e,n,i,r,o,s,a){var l;return isNaN(o[e])&&(o[e]=n.width),isNaN(s[e])&&(s[e]=n.height),l=this.model.anchor,u=this._final_sx_sy(l,i[e],r[e],o[e],s[e]),i=u[0],r=u[1],t.save(),t.globalAlpha=this.model.global_alpha,a[e]?(t.translate(i,r),t.rotate(a[e]),t.drawImage(n,0,0,o[e],s[e]),t.rotate(-a[e]),t.translate(-i,-r)):t.drawImage(n,i,r,o[e],s[e]),t.restore();var u},e}(r.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Glyph);n.ImageURL=a,a.prototype.default_view=n.ImageURLView,a.prototype.type=\"ImageURL\",a.coords([[\"x\",\"y\"]]),a.mixins([]),a.define({url:[s.StringSpec],anchor:[s.Anchor,\"top_left\"],global_alpha:[s.Number,1],angle:[s.AngleSpec,0],w:[s.DistanceSpec],h:[s.DistanceSpec],dilate:[s.Bool,!1],retry_attempts:[s.Number,0],retry_timeout:[s.Number,0]})},function(t,e,n){var i=t(101);n.AnnularWedge=i.AnnularWedge;var r=t(102);n.Annulus=r.Annulus;var o=t(103);n.Arc=o.Arc;var s=t(104);n.Bezier=s.Bezier;var a=t(106);n.Circle=a.Circle;var l=t(107);n.Ellipse=l.Ellipse;var u=t(108);n.Glyph=u.Glyph;var h=t(109);n.HBar=h.HBar;var c=t(110);n.Image=c.Image;var _=t(111);n.ImageRGBA=_.ImageRGBA;var p=t(112);n.ImageURL=p.ImageURL;var d=t(114);n.Line=d.Line;var f=t(115);n.MultiLine=f.MultiLine;var m=t(116);n.Oval=m.Oval;var v=t(117);n.Patch=v.Patch;var g=t(118);n.Patches=g.Patches;var y=t(119);n.Quad=y.Quad;var b=t(120);n.Quadratic=b.Quadratic;var x=t(121);n.Ray=x.Ray;var w=t(122);n.Rect=w.Rect;var k=t(123);n.Segment=k.Segment;var S=t(124);n.Step=S.Step;var T=t(125);n.Text=T.Text;var M=t(126);n.VBar=M.VBar;var A=t(127);n.Wedge=A.Wedge;var E=t(128);n.XYGlyph=E.XYGlyph},function(t,e,n){var i=t(364),r=t(128),o=t(9);n.LineView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy;for(i=!1,this.visuals.line.set_value(t),s=null,o=0,a=e.length;o<a;o++){if(r=e[o],i){if(!isFinite(l[r]+u[r])){t.stroke(),t.beginPath(),i=!1,s=r;continue}null!==s&&r-s>1&&(t.stroke(),i=!1)}i?t.lineTo(l[r],u[r]):(t.beginPath(),t.moveTo(l[r],u[r]),i=!0),s=r}if(i)return t.stroke()},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c;for(u=o.create_hit_test_result(),a={x:t.sx,y:t.sy},h=9999,c=Math.max(2,this.visuals.line.line_width.value()/2),n=i=0,l=this.sx.length-1;0<=l?i<l:i>l;n=0<=l?++i:--i)_=[{x:this.sx[n],y:this.sy[n]},{x:this.sx[n+1],y:this.sy[n+1]}],r=_[0],s=_[1],(e=o.dist_to_segment(a,r,s))<c&&e<h&&(h=e,u[\"0d\"].glyph=this.model,u[\"0d\"].get_view=function(){return this}.bind(this),u[\"0d\"].flag=!0,u[\"0d\"].indices=[n]);return u;var _},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u;for(s=t.sx,a=t.sy,r=o.create_hit_test_result(),\"v\"===t.direction?(l=this.renderer.yscale.invert(a),u=this._y):(l=this.renderer.xscale.invert(s),u=this._x),e=n=0,i=u.length-1;0<=i?n<i:n>i;e=0<=i?++n:--n)(u[e]<=l&&l<=u[e+1]||u[e+1]<=l&&l<=u[e])&&(r[\"0d\"].glyph=this.model,r[\"0d\"].get_view=function(){return this}.bind(this),r[\"0d\"].flag=!0,r[\"0d\"].indices.push(e));return r},e.prototype.get_interpolation_hit=function(t,e){var n,i,r,s,a,l,u,h,c,_,p;return i=e.sx,r=e.sy,d=[this._x[t],this._y[t],this._x[t+1],this._y[t+1]],l=d[0],_=d[1],u=d[2],p=d[3],\"point\"===e.type?(f=this.renderer.yscale.r_invert(r-1,r+1),h=f[0],c=f[1],m=this.renderer.xscale.r_invert(i-1,i+1),s=m[0],a=m[1]):\"v\"===e.direction?(v=this.renderer.yscale.r_invert(r,r),h=v[0],c=v[1],s=(g=[l,u])[0],a=g[1]):(y=this.renderer.xscale.r_invert(i,i),s=y[0],a=y[1],h=(b=[_,p])[0],c=b[1]),n=o.check_2_segments_intersect(s,h,a,c,l,_,u,p),[n.x,n.y];var d,f,m,v,g,y,b},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Line=s,s.prototype.default_view=n.LineView,s.prototype.type=\"Line\",s.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(36),o=t(9),s=t(22),a=t(42),l=t(108);n.MultiLineView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i,o,l,u,h;for(n=[],t=e=0,i=this._xs.length;0<=i?e<i:e>i;t=0<=i?++e:--e)null!==this._xs[t]&&0!==this._xs[t].length&&(l=function(){var e,n,i,r;for(i=this._xs[t],r=[],e=0,n=i.length;e<n;e++)o=i[e],a.isStrictNaN(o)||r.push(o);return r}.call(this),h=function(){var e,n,i,r;for(i=this._ys[t],r=[],e=0,n=i.length;e<n;e++)u=i[e],a.isStrictNaN(u)||r.push(u);return r}.call(this),n.push({minX:s.min(l),minY:s.min(h),maxX:s.max(l),maxY:s.max(h),i:t}));return new r.RBush(n)},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sxs,p=n.sys;for(u=[],o=0,a=e.length;o<a;o++){for(i=e[o],d=[_[i],p[i]],h=d[0],c=d[1],this.visuals.line.set_vectorize(t,i),r=s=0,l=h.length;0<=l?s<l:s>l;r=0<=l?++s:--s)0!==r?isNaN(h[r])||isNaN(c[r])?(t.stroke(),t.beginPath()):t.lineTo(h[r],c[r]):(t.beginPath(),t.moveTo(h[r],c[r]));u.push(t.stroke())}return u;var d},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m;for(d=o.create_hit_test_result(),h={x:t.sx,y:t.sy},f=9999,n={},i=s=0,_=this.sxs.length;0<=_?s<_:s>_;i=0<=_?++s:--s){for(m=Math.max(2,this.visuals.line.cache_select(\"line_width\",i)/2),c=null,r=a=0,p=this.sxs[i].length-1;0<=p?a<p:a>p;r=0<=p?++a:--a)v=[{x:this.sxs[i][r],y:this.sys[i][r]},{x:this.sxs[i][r+1],y:this.sys[i][r+1]}],l=v[0],u=v[1],(e=o.dist_to_segment(h,l,u))<m&&e<f&&(f=e,c=[r]);c&&(n[i]=c)}return d[\"1d\"].indices=function(){var t,e,r,o;for(r=Object.keys(n),o=[],e=0,t=r.length;e<t;e++)i=r[e],o.push(parseInt(i));return o}(),d[\"2d\"].indices=n,d;var v},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d;for(c=t.sx,_=t.sy,h=o.create_hit_test_result(),\"v\"===t.direction?(p=this.renderer.yscale.invert(_),d=this._ys):(p=this.renderer.xscale.invert(c),d=this._xs),e={},n=r=0,l=d.length;0<=l?r<l:r>l;n=0<=l?++r:--r){for(a=[],i=s=0,u=d[n].length-1;0<=u?s<u:s>u;i=0<=u?++s:--s)d[n][i]<=p&&p<=d[n][i+1]&&a.push(i);a.length>0&&(e[n]=a)}return h[\"1d\"].indices=function(){var t,i,r,o;for(r=Object.keys(e),o=[],i=0,t=r.length;i<t;i++)n=r[i],o.push(parseInt(n));return o}(),h[\"2d\"].indices=e,h},e.prototype.get_interpolation_hit=function(t,e,n){var i,r,s,a,l,u,h,c,_,p,d;return r=n.sx,s=n.sy,f=[this._xs[t][e],this._ys[t][e],this._xs[t][e+1],this._ys[t][e+1]],u=f[0],p=f[1],h=f[2],d=f[3],\"point\"===n.type?(m=this.renderer.yscale.r_invert(s-1,s+1),c=m[0],_=m[1],v=this.renderer.xscale.r_invert(r-1,r+1),a=v[0],l=v[1]):\"v\"===n.direction?(g=this.renderer.yscale.r_invert(s,s),c=g[0],_=g[1],a=(y=[u,h])[0],l=y[1]):(b=this.renderer.xscale.r_invert(r,r),a=b[0],l=b[1],c=(x=[p,d])[0],_=x[1]),i=o.check_2_segments_intersect(a,c,l,_,u,p,h,d),[i.x,i.y];var f,m,v,g,y,b,x},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(l.GlyphView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Glyph);n.MultiLine=u,u.prototype.default_view=n.MultiLineView,u.prototype.type=\"MultiLine\",u.coords([[\"xs\",\"ys\"]]),u.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.OvalView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){return\"data\"===this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"===this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sw,h=n.sh;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+this._angle[i])||(t.translate(a[i],l[i]),t.rotate(this._angle[i]),t.beginPath(),t.moveTo(0,-h[i]/2),t.bezierCurveTo(u[i]/2,-h[i]/2,u[i]/2,h[i]/2,0,h[i]/2),t.bezierCurveTo(-u[i]/2,h[i]/2,-u[i]/2,-h[i]/2,0,-h[i]/2),t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,i),t.stroke()),t.rotate(-this._angle[i]),s.push(t.translate(-a[i],-l[i])));return s},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;return l=[o],_={},_[o]=(e+n)/2,p={},p[o]=(i+r)/2,u=this.sw[o]/this.sh[o],s=.8*Math.min(Math.abs(n-e),Math.abs(r-i)),c={},h={},u>1?(c[o]=s,h[o]=s/u):(c[o]=s*u,h[o]=s),a={sx:_,sy:p,sw:c,sh:h},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Oval=s,s.prototype.default_view=n.OvalView,s.prototype.type=\"Oval\",s.mixins([\"line\",\"fill\"]),s.define({angle:[o.AngleSpec,0],width:[o.DistanceSpec],height:[o.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(128);n.PatchView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy;if(this.visuals.fill.doit){for(this.visuals.fill.set_value(t),r=0,s=e.length;r<s;r++)0!==(i=e[r])?isNaN(l[i]+u[i])?(t.closePath(),t.fill(),t.beginPath()):t.lineTo(l[i],u[i]):(t.beginPath(),t.moveTo(l[i],u[i]));t.closePath(),t.fill()}if(this.visuals.line.doit){for(this.visuals.line.set_value(t),o=0,a=e.length;o<a;o++)0!==(i=e[o])?isNaN(l[i]+u[i])?(t.closePath(),t.stroke(),t.beginPath()):t.lineTo(l[i],u[i]):(t.beginPath(),t.moveTo(l[i],u[i]));return t.closePath(),t.stroke()}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Patch=o,o.prototype.default_view=n.PatchView,o.prototype.type=\"Patch\",o.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(36),o=t(108),s=t(22),a=t(42),l=t(9);n.PatchesView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._build_discontinuous_object=function(t){var e,n,i,r,o,l,u,h,c;for(n={},i=r=0,c=t.length;0<=c?r<c:r>c;i=0<=c?++r:--r)for(n[i]=[],u=s.copy(t[i]);u.length>0;)(o=s.findLastIndex(u,function(t){return a.isStrictNaN(t)}))>=0?h=u.splice(o):(h=u,u=[]),e=function(){var t,e,n;for(n=[],t=0,e=h.length;t<e;t++)l=h[t],a.isStrictNaN(l)||n.push(l);return n}(),n[i].push(e);return n},e.prototype._index_data=function(){var t,e,n,i,o,a,l,u,h,c,_;for(h=this._build_discontinuous_object(this._xs),_=this._build_discontinuous_object(this._ys),o=[],t=n=0,a=this._xs.length;0<=a?n<a:n>a;t=0<=a?++n:--n)for(e=i=0,l=h[t].length;0<=l?i<l:i>l;e=0<=l?++i:--i)u=h[t][e],c=_[t][e],0!==u.length&&o.push({minX:s.min(u),minY:s.min(c),maxX:s.max(u),maxY:s.max(c),i:t});return new r.RBush(o)},e.prototype._mask_data=function(t){var e,n,i,r,o,s,a;return r=this.renderer.plot_view.frame.x_ranges.default,u=[r.min,r.max],n=u[0],i=u[1],a=this.renderer.plot_view.frame.y_ranges.default,h=[a.min,a.max],o=h[0],s=h[1],e=l.validate_bbox_coords([n,i],[o,s]),this.index.indices(e).sort(function(t,e){return t-e});var u,h},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d=n.sxs,f=n.sys;for(this.renderer.sxss=this._build_discontinuous_object(d),this.renderer.syss=this._build_discontinuous_object(f),c=[],o=0,a=e.length;o<a;o++){if(i=e[o],m=[d[i],f[i]],_=m[0],p=m[1],this.visuals.fill.doit){for(this.visuals.fill.set_vectorize(t,i),r=s=0,u=_.length;0<=u?s<u:s>u;r=0<=u?++s:--s)0!==r?isNaN(_[r]+p[r])?(t.closePath(),t.fill(),t.beginPath()):t.lineTo(_[r],p[r]):(t.beginPath(),t.moveTo(_[r],p[r]));t.closePath(),t.fill()}if(this.visuals.line.doit){for(this.visuals.line.set_vectorize(t,i),r=l=0,h=_.length;0<=h?l<h:l>h;r=0<=h?++l:--l)0!==r?isNaN(_[r]+p[r])?(t.closePath(),t.stroke(),t.beginPath()):t.lineTo(_[r],p[r]):(t.beginPath(),t.moveTo(_[r],p[r]));t.closePath(),c.push(t.stroke())}else c.push(void 0)}return c;var m},e.prototype._hit_point=function(t){var e,n,i,r,o,s,a,u,h,c,_,p,d,f,m,v;for(_=t.sx,d=t.sy,m=this.renderer.xscale.invert(_),v=this.renderer.yscale.invert(d),e=this.index.indices({minX:m,minY:v,maxX:m,maxY:v}),n=[],i=s=0,u=e.length;0<=u?s<u:s>u;i=0<=u?++s:--s)for(r=e[i],p=this.renderer.sxss[r],f=this.renderer.syss[r],o=a=0,h=p.length;0<=h?a<h:a>h;o=0<=h?++a:--a)l.point_in_poly(_,d,p[o],f[o])&&n.push(r);return c=l.create_hit_test_result(),c[\"1d\"].indices=n,c},e.prototype._get_snap_coord=function(t){var e,n,i,r;for(r=0,e=0,n=t.length;e<n;e++)i=t[e],r+=i;return r/t.length},e.prototype.scx=function(t,e,n){var i,r,o,s,a;if(1===this.renderer.sxss[t].length)return this._get_snap_coord(this.sxs[t]);for(s=this.renderer.sxss[t],a=this.renderer.syss[t],i=r=0,o=s.length;0<=o?r<o:r>o;i=0<=o?++r:--r)if(l.point_in_poly(e,n,s[i],a[i]))return this._get_snap_coord(s[i]);return null},e.prototype.scy=function(t,e,n){var i,r,o,s,a;if(1===this.renderer.syss[t].length)return this._get_snap_coord(this.sys[t]);for(s=this.renderer.sxss[t],a=this.renderer.syss[t],i=r=0,o=s.length;0<=o?r<o:r>o;i=0<=o?++r:--r)if(l.point_in_poly(e,n,s[i],a[i]))return this._get_snap_coord(a[i])},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(o.GlyphView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.Patches=u,u.prototype.default_view=n.PatchesView,u.prototype.type=\"Patches\",u.coords([[\"xs\",\"ys\"]]),u.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(105);n.QuadView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_anchor_point=function(t,e,n){var i,r,o,s;switch(r=Math.min(this.sleft[e],this.sright[e]),o=Math.max(this.sright[e],this.sleft[e]),s=Math.min(this.stop[e],this.sbottom[e]),i=Math.max(this.sbottom[e],this.stop[e]),t){case\"top_left\":return{x:r,y:s};case\"top_center\":return{x:(r+o)/2,y:s};case\"top_right\":return{x:o,y:s};case\"center_right\":return{x:o,y:(s+i)/2};case\"bottom_right\":return{x:o,y:i};case\"bottom_center\":return{x:(r+o)/2,y:i};case\"bottom_left\":return{x:r,y:i};case\"center_left\":return{x:r,y:(s+i)/2};case\"center\":return{x:(r+o)/2,y:(s+i)/2}}},e.prototype.scx=function(t){return(this.sleft[t]+this.sright[t])/2},e.prototype.scy=function(t){return(this.stop[t]+this.sbottom[t])/2},e.prototype._index_data=function(){return this._index_box(this._right.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=this._left[t],i=this._right[t],r=this._top[t],e=this._bottom[t],[n,i,r,e]},e}(r.BoxView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.Quad=o,o.prototype.default_view=n.QuadView,o.prototype.type=\"Quad\",o.coords([[\"right\",\"bottom\"],[\"left\",\"top\"]])},function(t,e,n){var i,r=t(364),o=t(36),s=t(108);i=function(t,e,n){var i,r;return e===(t+n)/2?[t,n]:(r=(t-e)/(t-2*e+n),i=t*Math.pow(1-r,2)+2*e*(1-r)*r+n*Math.pow(r,2),[Math.min(t,n,i),Math.max(t,n,i)])},n.QuadraticView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._index_data=function(){var t,e,n,r,s,a,l,u;for(n=[],t=e=0,r=this._x0.length;0<=r?e<r:e>r;t=0<=r?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t]+this._cx[t]+this._cy[t])||(h=i(this._x0[t],this._cx[t],this._x1[t]),s=h[0],a=h[1],c=i(this._y0[t],this._cy[t],this._y1[t]),l=c[0],u=c[1],n.push({minX:s,minY:l,maxX:a,maxY:u,i:t}));return new o.RBush(n);var h,c},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1,c=n.scx,_=n.scy;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+c[i]+_[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.quadraticCurveTo(c[i],_[i],u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(s.Glyph);n.Quadratic=a,a.prototype.default_view=n.QuadraticView,a.prototype.type=\"Quadratic\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"],[\"cx\",\"cy\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.RayView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this._length):this.slength=this._length},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy,d=n.slength,f=n._angle;if(this.visuals.line.doit){for(c=this.renderer.plot_view.frame._width.value,i=this.renderer.plot_view.frame._height.value,o=2*(c+i),r=s=0,u=d.length;0<=u?s<u:s>u;r=0<=u?++s:--s)0===d[r]&&(d[r]=o);for(h=[],a=0,l=e.length;a<l;a++)r=e[a],isNaN(_[r]+p[r]+f[r]+d[r])||(t.translate(_[r],p[r]),t.rotate(f[r]),t.beginPath(),t.moveTo(0,0),t.lineTo(d[r],0),this.visuals.line.set_vectorize(t,r),t.stroke(),t.rotate(-f[r]),h.push(t.translate(-_[r],-p[r])));return h}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Ray=s,s.prototype.default_view=n.RayView,s.prototype.type=\"Ray\",s.mixins([\"line\"]),s.define({length:[o.DistanceSpec],angle:[o.AngleSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(22);n.RectView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){var t;return\"data\"===this.model.properties.width.units?(e=this._map_dist_corner_for_data_side_length(this._x,this._width,this.renderer.xscale,0),this.sw=e[0],this.sx0=e[1]):(this.sw=this._width,this.sx0=function(){var e,n,i;for(i=[],t=e=0,n=this.sx.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.sx[t]-this.sw[t]/2);return i}.call(this)),\"data\"===this.model.properties.height.units?(n=this._map_dist_corner_for_data_side_length(this._y,this._height,this.renderer.yscale,1),this.sh=n[0],this.sy1=n[1]):(this.sh=this._height,this.sy1=function(){var e,n,i;for(i=[],t=e=0,n=this.sy.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.sy[t]-this.sh[t]/2);return i}.call(this)),this.ssemi_diag=function(){var e,n,i;for(i=[],t=e=0,n=this.sw.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(Math.sqrt(this.sw[t]/2*this.sw[t]/2+this.sh[t]/2*this.sh[t]/2));return i}.call(this);var e,n},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sx0,c=n.sy1,_=n.sw,p=n.sh,d=n._angle;if(this.visuals.fill.doit)for(r=0,s=e.length;r<s;r++)i=e[r],isNaN(l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||(this.visuals.fill.set_vectorize(t,i),d[i]?(t.translate(l[i],u[i]),t.rotate(d[i]),t.fillRect(-_[i]/2,-p[i]/2,_[i],p[i]),t.rotate(-d[i]),t.translate(-l[i],-u[i])):t.fillRect(h[i],c[i],_[i],p[i]));if(this.visuals.line.doit){for(t.beginPath(),o=0,a=e.length;o<a;o++)i=e[o],isNaN(l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||0!==_[i]&&0!==p[i]&&(d[i]?(t.translate(l[i],u[i]),t.rotate(d[i]),t.rect(-_[i]/2,-p[i]/2,_[i],p[i]),t.rotate(-d[i]),t.translate(-l[i],-u[i])):t.rect(h[i],c[i],_[i],p[i]),this.visuals.line.set_vectorize(t,i),t.stroke(),t.beginPath());return t.stroke()}},e.prototype._hit_rect=function(t){return this._hit_rect_against_index(t)},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A;for(y=t.sx,b=t.sy,w=this.renderer.xscale.invert(y),T=this.renderer.yscale.invert(b),v=function(){var t,e,n;for(n=[],s=t=0,e=this.sx0.length;0<=e?t<e:t>e;s=0<=e?++t:--t)n.push(this.sx0[s]+this.sw[s]/2);return n}.call(this),g=function(){var t,e,n;for(n=[],s=t=0,e=this.sy1.length;0<=e?t<e:t>e;s=0<=e?++t:--t)n.push(this.sy1[s]+this.sh[s]/2);return n}.call(this),h=a.max(this._ddist(0,v,this.ssemi_diag)),c=a.max(this._ddist(1,g,this.ssemi_diag)),k=w-h,S=w+h,M=T-c,A=T+c,r=[],e=o.validate_bbox_coords([k,S],[M,A]),d=this.index.indices(e),l=0,u=d.length;l<u;l++)s=d[l],this._angle[s]?(Math.sqrt(Math.pow(y-this.sx[s],2)+Math.pow(b-this.sy[s],2)),m=Math.sin(-this._angle[s]),n=Math.cos(-this._angle[s]),_=n*(y-this.sx[s])-m*(b-this.sy[s])+this.sx[s],p=m*(y-this.sx[s])+n*(b-this.sy[s])+this.sy[s],y=_,b=p,x=Math.abs(this.sx[s]-y)<=this.sw[s]/2,i=Math.abs(this.sy[s]-b)<=this.sh[s]/2):(x=y-this.sx0[s]<=this.sw[s]&&y-this.sx0[s]>=0,i=b-this.sy1[s]<=this.sh[s]&&b-this.sy1[s]>=0),i&&x&&r.push(s);return f=o.create_hit_test_result(),f[\"1d\"].indices=r,f},e.prototype._map_dist_corner_for_data_side_length=function(t,e,n,i){var r,o,s,a,l,u,h,c,_,p,d,f;if(this.renderer.plot_view.frame,null!=n.source_range.synthetic&&(t=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)f=t[e],r.push(n.source_range.synthetic(f));return r}()),a=function(){var n,i,o;for(o=[],r=n=0,i=t.length;0<=i?n<i:n>i;r=0<=i?++n:--n)o.push(Number(t[r])-e[r]/2);return o}(),l=function(){var n,i,o;for(o=[],r=n=0,i=t.length;0<=i?n<i:n>i;r=0<=i?++n:--n)o.push(Number(t[r])+e[r]/2);return o}(),c=n.v_compute(a),_=n.v_compute(l),d=this.sdist(n,a,e,\"edge\",this.model.dilate),0===i){for(p=c,r=o=0,u=c.length;0<=u?o<u:o>u;r=0<=u?++o:--o)if(c[r]!==_[r]){p=c[r]<_[r]?c:_;break}return[d,p]}if(1===i){for(p=c,r=s=0,h=c.length;0<=h?s<h:s>h;r=0<=h?++s:--s)if(c[r]!==_[r]){p=c[r]<_[r]?c:_;break}return[d,p]}},e.prototype._ddist=function(t,e,n){var i,r,o,s,a,l;return s=0===t?this.renderer.xscale:this.renderer.yscale,a=e,l=function(){var t,e,r;for(r=[],i=t=0,e=a.length;0<=e?t<e:t>e;i=0<=e?++t:--t)r.push(a[i]+n[i]);return r}(),r=s.v_invert(a),o=s.v_invert(l),function(){var t,e,n;for(n=[],i=t=0,e=r.length;0<=e?t<e:t>e;i=0<=e?++t:--t)n.push(Math.abs(o[i]-r[i]));return n}()},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Rect=l,l.prototype.default_view=n.RectView,l.prototype.type=\"Rect\",l.mixins([\"line\",\"fill\"]),l.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec],dilate:[s.Bool,!1]})},function(t,e,n){var i=t(364),r=t(9),o=t(36),s=t(108);n.SegmentView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i;for(n=[],t=e=0,i=this._x0.length;0<=i?e<i:e>i;t=0<=i?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t])||n.push({minX:Math.min(this._x0[t],this._x1[t]),minY:Math.min(this._y0[t],this._y1[t]),maxX:Math.max(this._x0[t],this._x1[t]),maxY:Math.max(this._y0[t],this._y1[t]),i:t});return new o.RBush(n)},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.lineTo(u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype._hit_point=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v;for(f=t.sx,m=t.sy,this.renderer.xscale.invert(f),this.renderer.yscale.invert(m),p={x:f,y:m},n=[],2,g=this.renderer.xscale.r_invert(f-2,f+2),u=g[0],a=g[1],y=this.renderer.yscale.r_invert(m-2,m+2),h=y[0],l=y[1],e=this.index.indices({minX:u,minY:h,maxX:a,maxY:l}),o=0,s=e.length;o<s;o++)i=e[o],v=Math.pow(Math.max(2,this.visuals.line.cache_select(\"line_width\",i)/2),2),b=[{x:this.sx0[i],y:this.sy0[i]},{x:this.sx1[i],y:this.sy1[i]}],c=b[0],_=b[1],r.dist_to_segment_squared(p,c,_)<v&&n.push(i);return d=r.create_hit_test_result(),d[\"1d\"].indices=n,d;var g,y,b},e.prototype._hit_span=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v,g;for(y=this.renderer.plot_view.frame.bbox.ranges,i=y[0],g=y[1],p=t.sx,d=t.sy,\"v\"===t.direction?(v=this.renderer.yscale.invert(d),b=[this._y0,this._y1],f=b[0],m=b[1]):(v=this.renderer.xscale.invert(p),x=[this._x0,this._x1],f=x[0],m=x[1]),n=[],w=this.renderer.xscale.r_invert(i.start,i.end),h=w[0],l=w[1],k=this.renderer.yscale.r_invert(g.start,g.end),c=k[0],u=k[1],e=this.index.indices({minX:h,minY:c,maxX:l,maxY:u}),s=0,a=e.length;s<a;s++)o=e[s],(f[o]<=v&&v<=m[o]||m[o]<=v&&v<=f[o])&&n.push(o);return _=r.create_hit_test_result(),_[\"1d\"].indices=n,_;var y,b,x,w,k},e.prototype.scx=function(t){return(this.sx0[t]+this.sx1[t])/2},e.prototype.scy=function(t){return(this.sy0[t]+this.sy1[t])/2},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.Glyph);n.Segment=a,a.prototype.default_view=n.SegmentView,a.prototype.type=\"Segment\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.StepView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy;if(this.visuals.line.set_value(t),!((i=e.length)<2)){for(t.beginPath(),t.moveTo(_[0],p[0]),r=o=1,s=i;1<=s?o<s:o>s;r=1<=s?++o:--o){switch(this.model.mode){case\"before\":d=[_[r-1],p[r]],a=d[0],h=d[1],f=[_[r],p[r]],l=f[0],c=f[1];break;case\"after\":m=[_[r],p[r-1]],a=m[0],h=m[1],v=[_[r],p[r]],l=v[0],c=v[1];break;case\"center\":u=(_[r-1]+_[r])/2,g=[u,p[r-1]],a=g[0],h=g[1],y=[u,p[r]],l=y[0],c=y[1]}t.lineTo(a,h),t.lineTo(l,c)}return t.lineTo(_[i-1],p[i-1]),t.stroke();var d,f,m,v,g,y}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Step=s,s.prototype.default_view=n.StepView,s.prototype.type=\"Step\",s.mixins([\"line\"]),s.define({mode:[o.StepMode,\"before\"]})},function(t,e,n){var i=t(364),r=t(128),o=t(15),s=t(40);n.TextView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y=n.sx,b=n.sy,x=n._x_offset,w=n._y_offset,k=n._angle,S=n._text;for(m=[],u=0,c=e.length;u<c;u++)if(l=e[u],!isNaN(y[l]+b[l]+x[l]+w[l]+k[l])&&null!=S[l])if(this.visuals.text.doit){if(v=\"\"+S[l],t.save(),t.translate(y[l]+x[l],b[l]+w[l]),t.rotate(k[l]),this.visuals.text.set_vectorize(t,l),-1===v.indexOf(\"\\n\"))t.fillText(v,0,0);else{switch(f=v.split(\"\\n\"),o=this.visuals.text.cache_select(\"font\",l),a=s.get_text_height(o).height,d=this.visuals.text.text_line_height.value()*a,r=d*f.length,i=this.visuals.text.cache_select(\"text_baseline\",l)){case\"top\":g=0;break;case\"middle\":g=-r/2+d/2;break;case\"bottom\":g=-r+d;break;default:g=0,console.warn(\"'\"+i+\"' baseline not supported with multi line text\")}for(h=0,_=f.length;h<_;h++)p=f[h],t.fillText(p,0,g),g+=d}m.push(t.restore())}else m.push(void 0);return m},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return t.save(),this.text_props.set_value(t),t.font=this.text_props.font_value(),t.font=t.font.replace(/\\b[\\d\\.]+[\\w]+\\b/,\"10pt\"),t.textAlign=\"right\",t.textBaseline=\"middle\",t.fillText(\"text\",x2,(r+y2)/2),t.restore()},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Text=a,a.prototype.default_view=n.TextView,a.prototype.type=\"Text\",a.mixins([\"text\"]),a.define({text:[o.StringSpec,{field:\"text\"}],angle:[o.AngleSpec,0],x_offset:[o.NumberSpec,0],y_offset:[o.NumberSpec,0]})},function(t,e,n){var i=t(364),r=t(105),o=t(15);n.VBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.scy=function(t){return(this.stop[t]+this.sbottom[t])/2},e.prototype._index_data=function(){return this._index_box(this._x.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=this._x[t]-this._width[t]/2,i=this._x[t]+this._width[t]/2,r=Math.max(this._top[t],this._bottom[t]),e=Math.min(this._top[t],this._bottom[t]),[n,i,r,e]},e.prototype._map_data=function(){var t,e,n;for(this.sx=this.renderer.xscale.v_compute(this._x),this.stop=this.renderer.yscale.v_compute(this._top),this.sbottom=this.renderer.yscale.v_compute(this._bottom),this.sleft=[],this.sright=[],this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"),t=e=0,n=this.sx.length;0<=n?e<n:e>n;t=0<=n?++e:--e)this.sleft.push(this.sx[t]-this.sw[t]/2),this.sright.push(this.sx[t]+this.sw[t]/2);return null},e}(r.BoxView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.VBar=s,s.prototype.default_view=n.VBarView,s.prototype.type=\"VBar\",s.coords([[\"x\",\"bottom\"]]),s.define({width:[o.DistanceSpec],top:[o.NumberSpec]}),s.override({bottom:0})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(29);n.WedgeView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sradius,c=n._start_angle,_=n._end_angle;for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+h[r]+c[r]+_[r])||(t.beginPath(),t.arc(l[r],u[r],h[r],c[r],_[r],i),t.lineTo(l[r],u[r]),t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,r),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),a.push(t.stroke())):a.push(void 0));return a},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A;for(m=t.sx,y=t.sy,w=this.renderer.xscale.invert(m),T=this.renderer.yscale.invert(y),\"data\"===this.model.properties.radius.units?(k=w-this.max_radius,S=w+this.max_radius,M=T-this.max_radius,A=T+this.max_radius):(v=m-this.max_radius,g=m+this.max_radius,E=this.renderer.xscale.r_invert(v,g),k=E[0],S=E[1],b=y-this.max_radius,x=y+this.max_radius,z=this.renderer.yscale.r_invert(b,x),M=z[0],A=z[1]),i=[],n=o.validate_bbox_coords([k,S],[M,A]),f=this.index.indices(n),h=0,_=f.length;h<_;h++)u=f[h],d=Math.pow(this.sradius[u],2),C=this.renderer.xscale.r_compute(w,this._x[u]),v=C[0],g=C[1],O=this.renderer.yscale.r_compute(T,this._y[u]),b=O[0],x=O[1],(s=Math.pow(v-g,2)+Math.pow(b-x,2))<=d&&i.push([u,s]);for(r=this.model.properties.direction.value(),l=[],c=0,p=i.length;c<p;c++)N=i[c],u=N[0],s=N[1],e=Math.atan2(y-this.sy[u],m-this.sx[u]),a.angle_between(-e,-this._start_angle[u],-this._end_angle[u],r)&&l.push([u,s]);return o.create_1d_hit_test_result(l);var E,z,C,O,N},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Wedge=l,l.prototype.default_view=n.WedgeView,l.prototype.type=\"Wedge\",l.mixins([\"line\",\"fill\"]),l.define({direction:[s.Direction,\"anticlock\"],radius:[s.DistanceSpec],start_angle:[s.AngleSpec],end_angle:[s.AngleSpec]})},function(t,e,n){var i=t(364),r=t(36),o=t(108);n.XYGlyphView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i,o,s;for(n=[],t=e=0,i=this._x.length;0<=i?e<i:e>i;t=0<=i?++e:--e)o=this._x[t],s=this._y[t],!isNaN(o+s)&&isFinite(o+s)&&n.push({minX:o,minY:s,maxX:o,maxY:s,i:t});return new r.RBush(n)},e}(o.GlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.XYGlyph=s,s.prototype.type=\"XYGlyph\",s.prototype.default_view=n.XYGlyphView,s.coords([[\"x\",\"y\"]])},function(t,e,n){var i=t(364),r=t(50),o=t(22),s=t(9);n.GraphHitTestPolicy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.do_selection=function(t,e,n,i){return!1},e.prototype.do_inspection=function(t,e,n,i){return!1},e}(r.Model);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,o;return o=e.node_view,null!==(r=o.glyph.hit_test(t))&&(this._node_selector.update(r,n,i),!this._node_selector.indices.is_empty())},e.prototype.do_selection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.node_view.model.data_source.selected=this._node_selector.indices,e.node_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._node_selector=e.model.get_selection_manager().get_or_create_inspector(e.node_view.model),r=this._do(t,e,n,i),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.node_view.model.data_source.inspect.emit([e.node_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.NodesOnly=a,a.prototype.type=\"NodesOnly\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,a,l,u,h,c,_,p,d,f,m,v;if(g=[e.node_view,e.edge_view],m=g[0],l=g[1],null===(u=m.glyph.hit_test(t)))return!1;for(this._node_selector.update(u,n,i),f=function(){var t,e,n,i;for(n=u[\"1d\"].indices,i=[],t=0,e=n.length;t<e;t++)h=n[t],i.push(m.model.data_source.data.index[h]);return i}(),a=l.model.data_source,r=[],h=c=0,v=a.data.start.length;0<=v?c<v:c>v;h=0<=v?++c:--c)(o.contains(f,a.data.start[h])||o.contains(f,a.data.end[h]))&&r.push(h);for(d=s.create_hit_test_result(),_=0,p=r.length;_<p;_++)h=r[_],d[\"2d\"].indices[h]=[0];return this._edge_selector.update(d,n,i),!this._node_selector.indices.is_empty();var g},e.prototype.do_selection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.selector,this._edge_selector=e.edge_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.node_view.model.data_source.selected=this._node_selector.indices,e.edge_view.model.data_source.selected=this._edge_selector.indices,e.node_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.get_or_create_inspector(e.node_view.model),this._edge_selector=e.edge_view.model.data_source.selection_manager.get_or_create_inspector(e.edge_view.model),r=this._do(t,e,n,i),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.edge_view.model.data_source.setv({inspected:this._edge_selector.indices},{silent:!0}),e.node_view.model.data_source.inspect.emit([e.node_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.NodesAndLinkedEdges=l,l.prototype.type=\"NodesAndLinkedEdges\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,a,l,u,h,c,_,p,d,f;if(m=[e.node_view,e.edge_view],d=m[0],a=m[1],null===(l=a.glyph.hit_test(t)))return!1;for(this._edge_selector.update(l,n,i),r=function(){var t,e,n,i;for(n=Object.keys(l[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(parseInt(u));return i}(),f=[],h=0,c=r.length;h<c;h++)u=r[h],f.push(a.model.data_source.data.start[u]),f.push(a.model.data_source.data.end[u]);return p=function(){var t,e,n,i;for(n=o.uniq(f),i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(d.model.data_source.data.index.indexOf(u));return i}(),_=s.create_hit_test_result(),_[\"1d\"].indices=p,this._node_selector.update(_,n,i),!this._edge_selector.indices.is_empty();var m},e.prototype.do_selection=function(t,e,n,i){var r;return this._edge_selector=e.edge_view.model.data_source.selection_manager.selector,this._node_selector=e.node_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.edge_view.model.data_source.selected=this._edge_selector.indices,e.node_view.model.data_source.selected=this._node_selector.indices,e.edge_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._edge_selector=e.edge_view.model.data_source.selection_manager.get_or_create_inspector(e.edge_view.model),this._node_selector=e.node_view.model.data_source.selection_manager.get_or_create_inspector(e.node_view.model),r=this._do(t,e,n,i),e.edge_view.model.data_source.setv({inspected:this._edge_selector.indices},{silent:!0}),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.edge_view.model.data_source.inspect.emit([e.edge_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.EdgesAndLinkedNodes=u,u.prototype.type=\"EdgesAndLinkedNodes\"},function(t,e,n){var i=t(364);i.__exportStar(t(129),n),i.__exportStar(t(131),n),i.__exportStar(t(132),n)},function(t,e,n){var i=t(364),r=t(50);n.LayoutProvider=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_node_coordinates=function(t){return[[],[]]},e.prototype.get_edge_coordinates=function(t){return[[],[]]},e}(r.Model)},function(t,e,n){var i=t(364),r=t(131),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_node_coordinates=function(t){var e,n,i,r,o,s,a,l;for(s=(u=[[],[]])[0],l=u[1],r=t.data.index,n=0,i=r.length;n<i;n++)e=r[n],o=null!=this.graph_layout[e]?this.graph_layout[e][0]:NaN,a=null!=this.graph_layout[e]?this.graph_layout[e][1]:NaN,s.push(o),l.push(a);return[s,l];var u},e.prototype.get_edge_coordinates=function(t){var e,n,i,r,o,s,a,l,u,h,c;for(h=(_=[[],[]])[0],c=_[1],u=t.data.start,n=t.data.end,i=null!=t.data.xs&&null!=t.data.ys,r=s=0,a=u.length;0<=a?s<a:s>a;r=0<=a?++s:--s)o=null!=this.graph_layout[u[r]]&&null!=this.graph_layout[n[r]],i&&o?(h.push(t.data.xs[r]),c.push(t.data.ys[r])):(o?(p=[this.graph_layout[u[r]],this.graph_layout[n[r]]],l=p[0],e=p[1]):(l=(d=[[NaN,NaN],[NaN,NaN]])[0],e=d[1]),h.push([l[0],e[0]]),c.push([l[1],e[1]]));return[h,c];var _,p,d},e}(r.LayoutProvider);n.StaticLayoutProvider=s,s.prototype.type=\"StaticLayoutProvider\",s.define({graph_layout:[o.Any,{}]})},function(t,e,n){var i=t(364),r=t(163),o=t(165),s=t(15),a=t(42);n.GridView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._x_range_name=this.model.x_range_name,this._y_range_name=this.model.y_range_name},e.prototype.render=function(){var t;if(!1!==this.model.visible)return(t=this.plot_view.canvas_view.ctx).save(),this._draw_regions(t),this._draw_minor_grids(t),this._draw_grids(t),t.restore()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype._draw_regions=function(t){var e,n,i,r,o,s,a,l,u;if(this.visuals.band_fill.doit){for(h=this.model.grid_coords(\"major\",!1),l=h[0],u=h[1],this.visuals.band_fill.set_value(t),e=n=0,i=l.length-1;0<=i?n<i:n>i;e=0<=i?++n:--n)e%2==1&&(c=this.plot_view.map_to_screen(l[e],u[e],this._x_range_name,this._y_range_name),r=c[0],s=c[1],_=this.plot_view.map_to_screen(l[e+1],u[e+1],this._x_range_name,this._y_range_name),o=_[0],a=_[1],t.fillRect(r[0],s[0],o[1]-r[0],a[1]-s[0]),t.fill());var h,c,_}},e.prototype._draw_grids=function(t){var e,n;if(this.visuals.grid_line.doit){return i=this.model.grid_coords(\"major\"),e=i[0],n=i[1],this._draw_grid_helper(t,this.visuals.grid_line,e,n);var i}},e.prototype._draw_minor_grids=function(t){var e,n;if(this.visuals.minor_grid_line.doit){return i=this.model.grid_coords(\"minor\"),e=i[0],n=i[1],this._draw_grid_helper(t,this.visuals.minor_grid_line,e,n);var i}},e.prototype._draw_grid_helper=function(t,e,n,i){var r,o,s,a,l,u,h;for(e.set_value(t),r=o=0,a=n.length;0<=a?o<a:o>a;r=0<=a?++o:--o){for(c=this.plot_view.map_to_screen(n[r],i[r],this._x_range_name,this._y_range_name),u=c[0],h=c[1],t.beginPath(),t.moveTo(Math.round(u[0]),Math.round(h[0])),r=s=1,l=u.length;1<=l?s<l:s>l;r=1<=l?++s:--s)t.lineTo(Math.round(u[r]),Math.round(h[r]));t.stroke()}var c},e}(o.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.ranges=function(){var t,e,n,i;return e=this.dimension,n=(e+1)%2,t=this.plot.plot_canvas.frame,i=[t.x_ranges[this.x_range_name],t.y_ranges[this.y_range_name]],[i[e],i[n]]},e.prototype.computed_bounds=function(){var t,e,n,i,r;return o=this.ranges(),e=o[0],o[1],r=this.bounds,n=[e.min,e.max],a.isArray(r)?(i=Math.min(r[0],r[1]),t=Math.max(r[0],r[1]),i<n[0]?i=n[0]:i>n[1]&&(i=null),t>n[1]?t=n[1]:t<n[0]&&(t=null)):(i=n[0],t=n[1]),[i,t];var o},e.prototype.grid_coords=function(t,e){void 0===e&&(e=!0);var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S;for(h=this.dimension,_=(h+1)%2,T=this.ranges(),y=T[0],s=T[1],M=this.computed_bounds(),w=M[0],u=M[1],S=Math.min(w,u),u=Math.max(w,u),w=S,k=this.ticker.get_ticks(w,u,y,s.min,{})[t],v=y.min,m=y.max,r=s.min,i=s.max,o=[[],[]],c=p=0,b=k.length;0<=b?p<b:p>b;c=0<=b?++p:--p)if(k[c]!==v&&k[c]!==m||!e){for(a=[],l=[],g=d=0,x=n=2;0<=x?d<x:d>x;g=0<=x?++d:--d)f=r+(i-r)/(n-1)*g,a.push(k[c]),l.push(f);o[h].push(a),o[_].push(l)}return o;var T,M},e}(r.GuideRenderer);n.Grid=l,l.prototype.default_view=n.GridView,l.prototype.type=\"Grid\",l.mixins([\"line:grid_\",\"line:minor_grid_\",\"fill:band_\"]),l.define({bounds:[s.Any,\"auto\"],dimension:[s.Number,0],ticker:[s.Instance],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),l.override({level:\"underlay\",band_fill_color:null,band_fill_alpha:0,grid_line_color:\"#e5e5e5\",minor_grid_line_color:null})},function(t,e,n){var i=t(133);n.Grid=i.Grid},function(t,e,n){var i=t(364);i.__exportStar(t(57),n),i.__exportStar(t(73),n),i.__exportStar(t(77),n),i.__exportStar(t(81),n),i.__exportStar(t(83),n),i.__exportStar(t(89),n),i.__exportStar(t(95),n),i.__exportStar(t(113),n),i.__exportStar(t(130),n),i.__exportStar(t(134),n),i.__exportStar(t(138),n),i.__exportStar(t(145),n),i.__exportStar(t(238),n),i.__exportStar(t(148),n),i.__exportStar(t(152),n),i.__exportStar(t(158),n),i.__exportStar(t(164),n),i.__exportStar(t(167),n),i.__exportStar(t(177),n),i.__exportStar(t(187),n),i.__exportStar(t(199),n),i.__exportStar(t(226),n)},function(t,e,n){var i=t(364),r=[].indexOf,o=t(13),s=t(15),a=t(22),l=t(30),u=t(139),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.children.change,function(){return e.rebuild_child_views()})},e.prototype.get_height=function(){var t,e;return e=this.model.get_layoutable_children(),t=e.map(function(t){return t._height.value}),this.model._horizontal?a.max(t):a.sum(t)},e.prototype.get_width=function(){var t,e;return e=this.model.get_layoutable_children(),t=e.map(function(t){return t._width.value}),this.model._horizontal?a.sum(t):a.max(t)},e}(u.LayoutDOMView);n.BoxView=h,h.prototype.className=\"bk-grid\";var c=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._child_equal_size_width=new o.Variable(i.toString()+\".child_equal_size_width\"),i._child_equal_size_height=new o.Variable(i.toString()+\".child_equal_size_height\"),i._box_equal_size_top=new o.Variable(i.toString()+\".box_equal_size_top\"),i._box_equal_size_bottom=new o.Variable(i.toString()+\".box_equal_size_bottom\"),i._box_equal_size_left=new o.Variable(i.toString()+\".box_equal_size_left\"),i._box_equal_size_right=new o.Variable(i.toString()+\".box_equal_size_right\"),i._box_cell_align_top=new o.Variable(i.toString()+\".box_cell_align_top\"),i._box_cell_align_bottom=new o.Variable(i.toString()+\".box_cell_align_bottom\"),i._box_cell_align_left=new o.Variable(i.toString()+\".box_cell_align_left\"),i._box_cell_align_right=new o.Variable(i.toString()+\".box_cell_align_right\"),i}return i.__extends(e,t),e.prototype.get_layoutable_children=function(){return this.children},e.prototype.get_constrained_variables=function(){return l.extend({},t.prototype.get_constrained_variables.call(this),{box_equal_size_top:this._box_equal_size_top,box_equal_size_bottom:this._box_equal_size_bottom,box_equal_size_left:this._box_equal_size_left,box_equal_size_right:this._box_equal_size_right,box_cell_align_top:this._box_cell_align_top,box_cell_align_bottom:this._box_cell_align_bottom,box_cell_align_left:this._box_cell_align_left,box_cell_align_right:this._box_cell_align_right})},e.prototype.get_constraints=function(){var e,n,i,r,s,a,l,u,h,c,_,p,d;if(r=t.prototype.get_constraints.call(this),e=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.push.apply(r,t)},0===(i=this.get_layoutable_children()).length)return r;for(a=0,h=i.length;a<h;a++)n=i[a],d=n.get_constrained_variables(),_=this._child_rect(d),this._horizontal?null!=d.height&&e(o.EQ(_.height,[-1,this._height])):null!=d.width&&e(o.EQ(_.width,[-1,this._width])),this._horizontal?null!=d.box_equal_size_left&&null!=d.box_equal_size_right&&null!=d.width&&e(o.EQ([-1,d.box_equal_size_left],[-1,d.box_equal_size_right],d.width,this._child_equal_size_width)):null!=d.box_equal_size_top&&null!=d.box_equal_size_bottom&&null!=d.height&&e(o.EQ([-1,d.box_equal_size_top],[-1,d.box_equal_size_bottom],d.height,this._child_equal_size_height));for(u=this._info(i[0].get_constrained_variables()),e(o.EQ(u.span.start,0)),s=l=1,p=i.length;1<=p?l<p:l>p;s=1<=p?++l:--l)c=this._info(i[s].get_constrained_variables()),u.span.size&&e(o.EQ(u.span.start,u.span.size,[-1,c.span.start])),e(o.WEAK_EQ(u.whitespace.after,c.whitespace.before,0-this.spacing)),e(o.GE(u.whitespace.after,c.whitespace.before,0-this.spacing)),u=c;return this._horizontal?null!=d.width&&e(o.EQ(u.span.start,u.span.size,[-1,this._width])):null!=d.height&&e(o.EQ(u.span.start,u.span.size,[-1,this._height])),r=r.concat(this._align_outer_edges_constraints(!0),this._align_outer_edges_constraints(!1),this._align_inner_cell_edges_constraints(),this._box_equal_size_bounds(!0),this._box_equal_size_bounds(!1),this._box_cell_align_bounds(!0),this._box_cell_align_bounds(!1),this._box_whitespace(!0),this._box_whitespace(!1))},e.prototype._child_rect=function(t){return{x:t.origin_x,y:t.origin_y,width:t.width,height:t.height}},e.prototype._span=function(t){return this._horizontal?{start:t.x,size:t.width}:{start:t.y,size:t.height}},e.prototype._info=function(t){var e,n;return n=this._horizontal?{before:t.whitespace_left,after:t.whitespace_right}:{before:t.whitespace_top,after:t.whitespace_bottom},e=this._span(this._child_rect(t)),{span:e,whitespace:n}},e.prototype._flatten_cell_edge_variables=function(t){var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;for(x=t?e._top_bottom_inner_cell_edge_variables:e._left_right_inner_cell_edge_variables,n=t!==this._horizontal,l=this.get_layoutable_children(),r=l.length,h={},o=0,c=0,f=l.length;c<f;c++){for(a=l[c],s=a instanceof e?a._flatten_cell_edge_variables(t):{},i=a.get_constrained_variables(),_=0,m=x.length;_<m;_++)(v=x[_])in i&&(s[v]=[i[v]]);for(p in s)w=s[p],n?(y=p.split(\" \"),d=y[0],b=y.length>1?y[1]:\"\",u=this._horizontal?\"row\":\"col\",g=d+\" \"+u+\"-\"+r+\"-\"+o+\"-\"+b):g=p,h[g]=g in h?h[g].concat(w):w;o+=1}return h},e.prototype._align_inner_cell_edges_constraints=function(){var t,e,n,i,s,a,l,u;if(t=[],null!=this.document&&r.call(this.document.roots(),this)>=0){e=this._flatten_cell_edge_variables(this._horizontal);for(s in e)if((u=e[s]).length>1)for(a=u[0],n=i=1,l=u.length;1<=l?i<l:i>l;n=1<=l?++i:--i)t.push(o.EQ(u[n],[-1,a]))}return t},e.prototype._find_edge_leaves=function(t){var n,i,r,o,s,a,l,u;if(r=this.get_layoutable_children(),a=[[],[]],r.length>0)if(this._horizontal===t)u=r[0],o=r[r.length-1],u instanceof e?a[0]=a[0].concat(u._find_edge_leaves(t)[0]):a[0].push(u),o instanceof e?a[1]=a[1].concat(o._find_edge_leaves(t)[1]):a[1].push(o);else for(s=0,l=r.length;s<l;s++)(n=r[s])instanceof e?(i=n._find_edge_leaves(t),a[0]=a[0].concat(i[0]),a[1]=a[1].concat(i[1])):(a[0].push(n),a[1].push(n));return a},e.prototype._align_outer_edges_constraints=function(t){var e,n,i,r,s,a,l,u,h;return c=this._find_edge_leaves(t),u=c[0],r=c[1],t?(h=\"on_edge_align_left\",s=\"on_edge_align_right\"):(h=\"on_edge_align_top\",s=\"on_edge_align_bottom\"),n=function(t,e){var n,i,r,o,s;for(n=[],i=0,o=t.length;i<o;i++)r=t[i],s=r.get_constrained_variables(),e in s&&n.push(s[e]);return n},l=n(u,h),i=n(r,s),a=[],(e=function(t){var e,n,i,r,s;if(t.length>1){for(n=t[0],i=r=1,s=t.length;1<=s?r<s:r>s;i=1<=s?++r:--r)e=t[i],a.push(o.EQ([-1,n],e));return null}})(l),e(i),a;var c},e.prototype._box_insets_from_child_insets=function(t,e,n,i){var r,s,a,l,u,h,c,_;return p=this._find_edge_leaves(t),c=p[0],s=p[1],t?(_=e+\"_left\",a=e+\"_right\",u=this[n+\"_left\"],l=this[n+\"_right\"]):(_=e+\"_top\",a=e+\"_bottom\",u=this[n+\"_top\"],l=this[n+\"_bottom\"]),h=[],(r=function(t,e,n){var r,s,a,l;for([],r=0,a=e.length;r<a;r++)s=e[r],l=s.get_constrained_variables(),n in l&&(i?h.push(o.GE([-1,t],l[n])):h.push(o.EQ([-1,t],l[n])));return null})(u,c,_),r(l,s,a),h;var p},e.prototype._box_equal_size_bounds=function(t){return this._box_insets_from_child_insets(t,\"box_equal_size\",\"_box_equal_size\",!1)},e.prototype._box_cell_align_bounds=function(t){return this._box_insets_from_child_insets(t,\"box_cell_align\",\"_box_cell_align\",!1)},e.prototype._box_whitespace=function(t){return this._box_insets_from_child_insets(t,\"whitespace\",\"_whitespace\",!0)},e}(u.LayoutDOM);n.Box=c,c.prototype.default_view=h,c.define({children:[s.Array,[]]}),c.internal({spacing:[s.Number,6]}),c._left_right_inner_cell_edge_variables=[\"box_cell_align_left\",\"box_cell_align_right\"],c._top_bottom_inner_cell_edge_variables=[\"box_cell_align_top\",\"box_cell_align_bottom\"]},function(t,e,n){var i=t(364),r=t(136),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.BoxView);n.ColumnView=o,o.prototype.className=\"bk-grid-column\";var s=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._horizontal=!1,i}return i.__extends(e,t),e}(r.Box);n.Column=s,s.prototype.type=\"Column\",s.prototype.default_view=o},function(t,e,n){var i=t(136);n.Box=i.Box;var r=t(137);n.Column=r.Column;var o=t(139);n.LayoutDOM=o.LayoutDOM;var s=t(140);n.Row=s.Row;var a=t(141);n.Spacer=a.Spacer;var l=t(142);n.WidgetBox=l.WidgetBox},function(t,e,n){var i=t(364),r=t(50),o=t(5),s=t(15),a=t(11),l=t(13),u=t(4),h=t(6),c=t(14);n.LayoutDOMView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.is_root&&(this._solver=new l.Solver),this.child_views={},this.build_child_views()},e.prototype.remove=function(){var e,n;n=this.child_views;for(e in n)n[e].remove();return this.child_views={},t.prototype.remove.call(this)},e.prototype.has_finished=function(){var e,n;if(!t.prototype.has_finished.call(this))return!1;n=this.child_views;for(e in n)if(!n[e].has_finished())return!1;return!0},e.prototype.notify_finished=function(){return this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document?(this._idle_notified=!0,this.model.document.notify_idle(this.model)):void 0:t.prototype.notify_finished.call(this)},e.prototype._calc_width_height=function(){var t,e,n;for(e=this.el;;){if(null==(e=e.parentNode)){c.logger.warn(\"detached element\"),n=t=null;break}if(i=e.getBoundingClientRect(),n=i.width,0!==(t=i.height))break}return[n,t];var i},e.prototype._init_solver=function(){var t,e,n,i,r,o,s,a,u;for(this._root_width=new l.Variable(this.toString()+\".root_width\"),this._root_height=new l.Variable(this.toString()+\".root_height\"),this._solver.add_edit_variable(this._root_width),this._solver.add_edit_variable(this._root_height),i=this.model.get_all_editables(),r=0,s=i.length;r<s;r++)n=i[r],this._solver.add_edit_variable(n,l.Strength.strong);for(e=this.model.get_all_constraints(),o=0,a=e.length;o<a;o++)t=e[o],this._solver.add_constraint(t);return null!=(u=this.model.get_constrained_variables()).width&&this._solver.add_constraint(l.EQ(u.width,this._root_width)),null!=u.height&&this._solver.add_constraint(l.EQ(u.height,this._root_height)),this._solver.update_variables(),this._solver_inited=!0},e.prototype._suggest_dims=function(t,e){var n;if(null!=(n=this.model.get_constrained_variables()).width||null!=n.height)return null!==t&&null!==e||(i=this._calc_width_height(),t=i[0],e=i[1]),null!=n.width&&null!=t&&this._solver.suggest_value(this._root_width,t),null!=n.height&&null!=e&&this._solver.suggest_value(this._root_height,e),this._solver.update_variables();var i},e.prototype.resize=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=null),this.is_root?this._do_layout(!1,t,e):this.root.resize(t,e)},e.prototype.partial_layout=function(){return this.is_root?this._do_layout(!1):this.root.partial_layout()},e.prototype.layout=function(t){return void 0===t&&(t=!0),this.is_root?this._do_layout(!0):this.root.layout()},e.prototype._do_layout=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),this._solver_inited&&!t||(this._solver.clear(),this._init_solver()),this._suggest_dims(e,n),this._layout(),this._layout(),this._layout(!0),this.notify_finished()},e.prototype._layout=function(t){void 0===t&&(t=!1);var e,n,i,r,o;for(o=this.model.get_layoutable_children(),i=0,r=o.length;i<r;i++)e=o[i],null!=(n=this.child_views[e.id])._layout&&n._layout(t);if(this.render(),t)return this._has_finished=!0},e.prototype.rebuild_child_views=function(){return this.solver.clear(),this.build_child_views(),this.layout()},e.prototype.build_child_views=function(){var t,e,n,i,r,s;for(n=this.model.get_layoutable_children(),u.build_views(this.child_views,n,{parent:this}),o.empty(this.el),s=[],i=0,r=n.length;i<r;i++)t=n[i],e=this.child_views[t.id],s.push(this.el.appendChild(e.el));return s},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.is_root&&window.addEventListener(\"resize\",function(){return e.resize()}),this.connect(this.model.properties.sizing_mode.change,function(){return e.layout()})},e.prototype._render_classes=function(){var t,e,n,i,r;if(this.el.className=\"\",null!=this.className&&this.el.classList.add(this.className),this.el.classList.add(\"bk-layout-\"+this.model.sizing_mode),null!=this.model.css_classes){for(i=this.model.css_classes,r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(this.el.classList.add(t));return r}},e.prototype.render=function(){var t,e;switch(this._render_classes(),this.model.sizing_mode){case\"fixed\":null!=this.model.width?e=this.model.width:(e=this.get_width(),this.model.setv({width:e},{silent:!0})),null!=this.model.height?t=this.model.height:(t=this.get_height(),this.model.setv({height:t},{silent:!0})),this.solver.suggest_value(this.model._width,e),this.solver.suggest_value(this.model._height,t);break;case\"scale_width\":t=this.get_height(),this.solver.suggest_value(this.model._height,t);break;case\"scale_height\":e=this.get_width(),this.solver.suggest_value(this.model._width,e);break;case\"scale_both\":n=this.get_width_height(),e=n[0],t=n[1],this.solver.suggest_value(this.model._width,e),this.solver.suggest_value(this.model._height,t)}return this.solver.update_variables(),this.position();var n},e.prototype.position=function(){switch(this.model.sizing_mode){case\"fixed\":case\"scale_width\":case\"scale_height\":this.el.style.position=\"relative\",this.el.style.left=\"\",this.el.style.top=\"\";break;case\"scale_both\":case\"stretch_both\":this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\"}return this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"},e.prototype.get_height=function(){throw new Error(\"not implemented\")},e.prototype.get_width=function(){throw new Error(\"not implemented\")},e.prototype.get_width_height=function(){var t,e,n,i,r,o,s,a,l;return s=this.el.parentNode.clientHeight,a=this.el.parentNode.clientWidth,t=this.model.get_aspect_ratio(),r=a,n=a/t,o=s*t,i=s,r<o?(l=r,e=n):(l=o,e=i),[l,e]},e}(h.DOMView);var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._width=new l.Variable(this.toString()+\".width\"),this._height=new l.Variable(this.toString()+\".height\"),this._left=new l.Variable(this.toString()+\".left\"),this._right=new l.Variable(this.toString()+\".right\"),this._top=new l.Variable(this.toString()+\".top\"),this._bottom=new l.Variable(this.toString()+\".bottom\"),this._dom_top=new l.Variable(this.toString()+\".dom_top\"),this._dom_left=new l.Variable(this.toString()+\".dom_left\"),this._width_minus_right=new l.Variable(this.toString()+\".width_minus_right\"),this._height_minus_bottom=new l.Variable(this.toString()+\".height_minus_bottom\"),this._whitespace_top=new l.Variable(this.toString()+\".whitespace_top\"),this._whitespace_bottom=new l.Variable(this.toString()+\".whitespace_bottom\"),this._whitespace_left=new l.Variable(this.toString()+\".whitespace_left\"),this._whitespace_right=new l.Variable(this.toString()+\".whitespace_right\")},e.prototype.dump_layout=function(){var t,n,i;for(t={},i=[this];i.length>0;)(n=i.shift())instanceof e&&i.push.apply(i,n.get_layoutable_children()),t[n.toString()]=n.layout_bbox;return console.table(t)},e.prototype.get_all_constraints=function(){var t,e,n,i,r;for(e=this.get_constraints(),r=this.get_layoutable_children(),n=0,i=r.length;n<i;n++)t=r[n],e=t instanceof a.LayoutCanvas?e.concat(t.get_constraints()):e.concat(t.get_all_constraints());return e},e.prototype.get_all_editables=function(){var t,e,n,i,r;for(e=this.get_editables(),r=this.get_layoutable_children(),n=0,i=r.length;n<i;n++)t=r[n],e=t instanceof a.LayoutCanvas?e.concat(t.get_editables()):e.concat(t.get_all_editables());return e},e.prototype.get_constraints=function(){return[l.GE(this._dom_left),l.GE(this._dom_top),l.GE(this._left),l.GE(this._width,[-1,this._right]),l.GE(this._top),l.GE(this._height,[-1,this._bottom]),l.EQ(this._width_minus_right,[-1,this._width],this._right),l.EQ(this._height_minus_bottom,[-1,this._height],this._bottom)]},e.prototype.get_layoutable_children=function(){return[]},e.prototype.get_editables=function(){switch(this.sizing_mode){case\"fixed\":return[this._height,this._width];case\"scale_width\":return[this._height];case\"scale_height\":return[this._width];case\"scale_both\":return[this._width,this._height];default:return[]}},e.prototype.get_constrained_variables=function(){var t;switch(t={origin_x:this._dom_left,origin_y:this._dom_top,whitespace_top:this._whitespace_top,whitespace_bottom:this._whitespace_bottom,whitespace_left:this._whitespace_left,whitespace_right:this._whitespace_right},this.sizing_mode){case\"stretch_both\":t.width=this._width,t.height=this._height;break;case\"scale_width\":t.width=this._width;break;case\"scale_height\":t.height=this._height}return t},e.prototype.get_aspect_ratio=function(){return this.width/this.height},e}(r.Model);n.LayoutDOM=_,_.prototype.type=\"LayoutDOM\",_.getters({layout_bbox:function(){return{top:this._top.value,left:this._left.value,width:this._width.value,height:this._height.value,right:this._right.value,bottom:this._bottom.value,dom_top:this._dom_top.value,dom_left:this._dom_left.value}}}),_.define({height:[s.Number],width:[s.Number],disabled:[s.Bool,!1],sizing_mode:[s.SizingMode,\"fixed\"],css_classes:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(136),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.BoxView);n.RowView=o,o.prototype.className=\"bk-grid-row\";var s=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._horizontal=!0,i}return i.__extends(e,t),e}(r.Box);n.Row=s,s.prototype.type=\"Row\",s.prototype.default_view=o},function(t,e,n){var i=t(364),r=t(139),o=t(30),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){if(t.prototype.render.call(this),\"fixed\"===this.sizing_mode)return this.el.style.width=this.model.width+\"px\",this.el.style.height=this.model.height+\"px\"},e.prototype.get_height=function(){return 1},e}(r.LayoutDOMView);n.SpacerView=s,s.prototype.className=\"bk-spacer-box\";var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_constrained_variables=function(){return o.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this._top,on_edge_align_bottom:this._height_minus_bottom,on_edge_align_left:this._left,on_edge_align_right:this._width_minus_right,box_cell_align_top:this._top,box_cell_align_bottom:this._height_minus_bottom,box_cell_align_left:this._left,box_cell_align_right:this._width_minus_right,box_equal_size_top:this._top,box_equal_size_bottom:this._height_minus_bottom,box_equal_size_left:this._left,box_equal_size_right:this._width_minus_right})},e}(r.LayoutDOM);n.Spacer=a,a.prototype.type=\"Spacer\",a.prototype.default_view=s},function(t,e,n){var i=t(364),r={}.hasOwnProperty,o=t(14),s=t(15),a=t(30),l=t(139),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.children.change,function(){return e.rebuild_child_views()})},e.prototype.render=function(){var t,e,n;return this._render_classes(),\"fixed\"!==this.model.sizing_mode&&\"scale_height\"!==this.model.sizing_mode||(n=this.get_width(),this.model._width.value!==n&&this.solver.suggest_value(this.model._width,n)),\"fixed\"!==this.model.sizing_mode&&\"scale_width\"!==this.model.sizing_mode||(e=this.get_height(),this.model._height.value!==e&&this.solver.suggest_value(this.model._height,e)),this.solver.update_variables(),\"stretch_both\"===this.model.sizing_mode?(this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\",this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"):(t=this.model._width.value-20>0?this.model._width.value-20+\"px\":\"100%\",this.el.style.width=t)},e.prototype.get_height=function(){var t,e,n,i,o,s,a,l;n=0,a=this.child_views;for(i in a)r.call(a,i)&&(t=a[i],e=t.el,l=getComputedStyle(e),s=parseInt(l.marginTop)||0,o=parseInt(l.marginBottom)||0,n+=e.offsetHeight+s+o);return n+20},e.prototype.get_width=function(){var t,e,n,i,o;if(null!=this.model.width)return this.model.width;o=this.el.scrollWidth+20,i=this.child_views;for(n in i)r.call(i,n)&&(t=i[n],(e=t.el.scrollWidth)>o&&(o=e));return o},e}(l.LayoutDOMView);n.WidgetBoxView=u,u.prototype.className=\"bk-widget-box\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),\"fixed\"===this.sizing_mode&&null===this.width&&(this.width=300,o.logger.info(\"WidgetBox mode is fixed, but no width specified. Using default of 300.\")),\"scale_height\"===this.sizing_mode)return o.logger.warn(\"sizing_mode `scale_height` is not experimental for WidgetBox. Please report your results to the bokeh dev team so we can improve.\")},e.prototype.get_constrained_variables=function(){var e;return e=a.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this._top,on_edge_align_bottom:this._height_minus_bottom,on_edge_align_left:this._left,on_edge_align_right:this._width_minus_right,box_cell_align_top:this._top,box_cell_align_bottom:this._height_minus_bottom,box_cell_align_left:this._left,box_cell_align_right:this._width_minus_right,box_equal_size_top:this._top,box_equal_size_bottom:this._height_minus_bottom}),\"fixed\"!==this.sizing_mode&&(e.box_equal_size_left=this._left,e.box_equal_size_right=this._width_minus_right),e},e.prototype.get_layoutable_children=function(){return this.children},e}(l.LayoutDOM);n.WidgetBox=h,h.prototype.type=\"WidgetBox\",h.prototype.default_view=u,h.define({children:[s.Array,[]]})},function(t,e,n){var i,r=t(364),o=t(144),s=t(15),a=t(22),l=t(42);i=function(t,e){var n,i,r;if(t.length!==e.length)return!1;for(n=i=0,r=t.length;0<=r?i<r:i>r;n=0<=r?++i:--i)if(t[n]!==e[n])return!1;return!0};var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._get_values=function(t,e){var n,r,o,s,u,h;for(h=[],o=0,u=t.length;o<u;o++)r=t[o],l.isString(r)?s=this.factors.indexOf(r):(null!=this.start?r=null!=this.end?r.slice(this.start,this.end):r.slice(this.start):null!=this.end&&(r=r.slice(0,this.end)),s=1===r.length?this.factors.indexOf(r[0]):a.findIndex(this.factors,function(t){return i(t,r)})),n=s<0||s>=e.length?this.nan_color:e[s],h.push(n);return h},e}(o.ColorMapper);n.CategoricalColorMapper=u,u.prototype.type=\"CategoricalColorMapper\",u.define({factors:[s.Array],start:[s.Number,0],end:[s.Number]})},function(t,e,n){var i=t(364),r=t(15),o=t(243),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._little_endian=this._is_little_endian(),this._palette=this._build_palette(this.palette),this.connect(this.change,function(){return this._palette=this._build_palette(this.palette)})},e.prototype.v_map_screen=function(t,e){void 0===e&&(e=!1);var n,i,r,o,s,a,l,u,h,c;if(c=this._get_values(t,this._palette,e),n=new ArrayBuffer(4*t.length),this._little_endian)for(i=new Uint8Array(n),r=s=0,l=t.length;0<=l?s<l:s>l;r=0<=l?++s:--s)h=c[r],i[o=4*r]=Math.floor(h/4278190080*255),i[o+1]=(16711680&h)>>16,i[o+2]=(65280&h)>>8,i[o+3]=255&h;else for(i=new Uint32Array(n),r=a=0,u=t.length;0<=u?a<u:a>u;r=0<=u?++a:--a)h=c[r],i[r]=h<<8|255;return n},e.prototype.compute=function(t){return null},e.prototype.v_compute=function(t){return this._get_values(t,this.palette)},e.prototype._get_values=function(t,e,n){return void 0===n&&(n=!1),[]},e.prototype._is_little_endian=function(){var t,e,n,i;return t=new ArrayBuffer(4),n=new Uint8Array(t),e=new Uint32Array(t),e[1]=168496141,i=!0,10===n[4]&&11===n[5]&&12===n[6]&&13===n[7]&&(i=!1),i},e.prototype._build_palette=function(t){var e,n,i,r,o;for(r=new Uint32Array(t.length),e=function(t){return s.isNumber(t)?t:(9!==t.length&&(t+=\"ff\"),parseInt(t.slice(1),16))},n=i=0,o=t.length;0<=o?i<o:i>o;n=0<=o?++i:--i)r[n]=e(t[n]);return r},e}(o.Transform);n.ColorMapper=a,a.prototype.type=\"ColorMapper\",a.define({palette:[r.Any],nan_color:[r.Color,\"gray\"]})},function(t,e,n){var i=t(143);n.CategoricalColorMapper=i.CategoricalColorMapper;var r=t(144);n.ColorMapper=r.ColorMapper;var o=t(146);n.LinearColorMapper=o.LinearColorMapper;var s=t(147);n.LogColorMapper=s.LogColorMapper},function(t,e,n){var i=t(364),r=t(15),o=t(26),s=t(22),a=t(144),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._nan_color=this._build_palette([o.color2hex(this.nan_color)])[0],this._high_color=null!=this.high_color?this._build_palette([o.color2hex(this.high_color)])[0]:void 0,this._low_color=null!=this.low_color?this._build_palette([o.color2hex(this.low_color)])[0]:void 0},e.prototype._get_values=function(t,e,n){void 0===n&&(n=!1);var i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y;for(h=null!=(v=this.low)?v:s.min(t),r=null!=(g=this.high)?g:s.max(t),_=e.length-1,y=[],p=n?this._nan_color:this.nan_color,c=n?this._low_color:this.low_color,o=n?this._high_color:this.high_color,d=1/(r-h),m=1/e.length,a=0,u=t.length;a<u;a++)i=t[a],isNaN(i)?y.push(p):i!==r?(f=(i-h)*d,(l=Math.floor(f/m))<0?null!=this.low_color?y.push(c):y.push(e[0]):l>_?null!=this.high_color?y.push(o):y.push(e[_]):y.push(e[l])):y.push(e[_]);return y},e}(a.ColorMapper);n.LinearColorMapper=l,l.prototype.type=\"LinearColorMapper\",l.define({high:[r.Number],low:[r.Number],high_color:[r.Color],low_color:[r.Color]})},function(t,e,n){var i,r,o=t(364),s=t(15),a=t(26),l=t(22),u=t(144);i=null!=(r=Math.log1p)?r:function(t){return Math.log(1+t)};var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._nan_color=this._build_palette([a.color2hex(this.nan_color)])[0],this._high_color=null!=this.high_color?this._build_palette([a.color2hex(this.high_color)])[0]:void 0,this._low_color=null!=this.low_color?this._build_palette([a.color2hex(this.low_color)])[0]:void 0},e.prototype._get_values=function(t,e,n){void 0===n&&(n=!1);var r,o,s,a,u,h,c,_,p,d,f,m,v,g,y,b;for(f=e.length,_=null!=(v=this.low)?v:l.min(t),o=null!=(g=this.high)?g:l.max(t),y=f/(i(o)-i(_)),d=e.length-1,b=[],m=n?this._nan_color:this.nan_color,s=n?this._high_color:this.high_color,p=n?this._low_color:this.low_color,a=0,h=t.length;a<h;a++)r=t[a],isNaN(r)?b.push(m):r>o?null!=this.high_color?b.push(s):b.push(e[d]):r!==o?r<_?null!=this.low_color?b.push(p):b.push(e[0]):(c=i(r)-i(_),(u=Math.floor(c*y))>d&&(u=d),b.push(e[u])):b.push(e[d]);return b},e}(u.ColorMapper);n.LogColorMapper=h,h.prototype.type=\"LogColorMapper\",h.define({high:[s.Number],low:[s.Number],high_color:[s.Color],low_color:[s.Color]})},function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x=t(364),w=t(149);i=Math.sqrt(3),l=function(t,e){return t.moveTo(-e,e),t.lineTo(e,-e),t.moveTo(-e,-e),t.lineTo(e,e)},o=function(t,e){return t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-e,0),t.lineTo(e,0)},s=function(t,e){return t.moveTo(0,e),t.lineTo(e/1.5,0),t.lineTo(0,-e),t.lineTo(-e/1.5,0),t.closePath()},a=function(t,e){var n,r;return r=e*i,n=r/3,t.moveTo(-e,n),t.lineTo(e,n),t.lineTo(0,n-r),t.closePath()},u=function(t,e,n,i,r,s,a){var u;u=.65*r,o(t,r),l(t,u),s.doit&&(s.set_vectorize(t,e),t.stroke())},h=function(t,e,n,i,r,s,a){t.arc(0,0,r,0,2*Math.PI,!1),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,r),t.stroke())},c=function(t,e,n,i,r,o,s){t.arc(0,0,r,0,2*Math.PI,!1),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,r),t.stroke())},_=function(t,e,n,i,r,s,a){o(t,r),s.doit&&(s.set_vectorize(t,e),t.stroke())},p=function(t,e,n,i,r,o,a){s(t,r),a.doit&&(a.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},d=function(t,e,n,i,r,a,l){s(t,r),l.doit&&(l.set_vectorize(t,e),t.fill()),a.doit&&(a.set_vectorize(t,e),o(t,r),t.stroke())},f=function(t,e,n,i,r,o,s){t.rotate(Math.PI),a(t,r),t.rotate(-Math.PI),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},m=function(t,e,n,i,r,o,s){var a;a=2*r,t.rect(-r,-r,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},v=function(t,e,n,i,r,s,a){var l;l=2*r,t.rect(-r,-r,l,l),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,r),t.stroke())},g=function(t,e,n,i,r,o,s){var a;a=2*r,t.rect(-r,-r,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,r),t.stroke())},y=function(t,e,n,i,r,o,s){a(t,r),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},b=function(t,e,n,i,r,o,s){l(t,r),o.doit&&(o.set_vectorize(t,e),t.stroke())},r=function(t,e){var n;return n=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return x.__extends(e,t),e}(w.MarkerView);return t.prototype._render_one=e,t}(),function(){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return x.__extends(e,t),e}(w.Marker);return e.prototype.default_view=n,e.prototype.type=t,e}()},n.Asterisk=r(\"Asterisk\",u),n.CircleCross=r(\"CircleCross\",h),n.CircleX=r(\"CircleX\",c),n.Cross=r(\"Cross\",_),n.Diamond=r(\"Diamond\",p),n.DiamondCross=r(\"DiamondCross\",d),n.InvertedTriangle=r(\"InvertedTriangle\",f),n.Square=r(\"Square\",m),n.SquareCross=r(\"SquareCross\",v),n.SquareX=r(\"SquareX\",g),n.Triangle=r(\"Triangle\",y),n.X=r(\"X\",b)},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.MarkerView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c;return l=[o],h={},h[o]=(e+n)/2,c={},c[o]=(i+r)/2,u={},u[o]=.4*Math.min(Math.abs(n-e),Math.abs(r-i)),s={},s[o]=this._angle[o],a={sx:h,sy:c,_size:u,_angle:s},this._render(t,l,a)},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n._size,c=n._angle;for(a=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(l[i]+u[i]+h[i]+c[i])||(s=h[i]/2,t.beginPath(),t.translate(l[i],u[i]),c[i]&&t.rotate(c[i]),this._render_one(t,i,l[i],u[i],s,this.visuals.line,this.visuals.fill),c[i]&&t.rotate(-c[i]),a.push(t.translate(-l[i],-u[i])));return a},e.prototype._mask_data=function(t){var e,n,i,r,s,a,l,u,h,c,_;return n=this.renderer.plot_view.frame.bbox.h_range,i=n.start-this.max_size,r=n.end+this.max_size,p=this.renderer.xscale.r_invert(i,r),u=p[0],h=p[1],l=this.renderer.plot_view.frame.bbox.v_range,s=l.start-this.max_size,a=l.end+this.max_size,d=this.renderer.yscale.r_invert(s,a),c=d[0],_=d[1],e=o.validate_bbox_coords([u,h],[c,_]),this.index.indices(e);var p,d},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;for(h=t.sx,p=t.sy,c=h-this.max_size,_=h+this.max_size,b=this.renderer.xscale.r_invert(c,_),m=b[0],v=b[1],d=p-this.max_size,f=p+this.max_size,x=this.renderer.yscale.r_invert(d,f),g=x[0],y=x[1],e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),r=[],a=0,l=n.length;a<l;a++)s=n[a],u=this._size[s]/2,i=Math.abs(this.sx[s]-h)+Math.abs(this.sy[s]-p),Math.abs(this.sx[s]-h)<=u&&Math.abs(this.sy[s]-p)<=u&&r.push([s,i]);return o.create_1d_hit_test_result(r);var b,x},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;return h=t.sx,p=t.sy,b=this.bounds(),s=b.minX,a=b.minY,i=b.maxX,r=b.maxY,u=o.create_hit_test_result(),\"h\"===t.direction?(g=a,y=r,l=this.max_size/2,c=h-l,_=h+l,x=this.renderer.xscale.r_invert(c,_),m=x[0],v=x[1]):(m=s,v=i,l=this.max_size/2,d=p-l,f=p+l,w=this.renderer.yscale.r_invert(d,f),g=w[0],y=w[1]),e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),u[\"1d\"].indices=n,u;var b,x,w},e.prototype._hit_rect=function(t){var e,n,i,r,s,a,l,u,h,c;return i=t.sx0,r=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,r),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=o.validate_bbox_coords([l,u],[h,c]),n=o.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},e.prototype._hit_poly=function(t){var e,n,i,r,s,a,l,u,h,c;for(h=t.sx,c=t.sy,e=function(){u=[];for(var t=0,e=this.sx.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this),n=[],i=s=0,a=e.length;0<=a?s<a:s>a;i=0<=a?++s:--s)r=e[i],o.point_in_poly(this.sx[i],this.sy[i],h,c)&&n.push(r);return l=o.create_hit_test_result(),l[\"1d\"].indices=n,l},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Marker=a,a.mixins([\"line\",\"fill\"]),a.define({size:[s.DistanceSpec,{units:\"screen\",value:4}],angle:[s.AngleSpec,0]})},function(t,e,n){var i=t(364),r=t(14),o=t(151),s=t(153),a=t(15),l=t(50),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Model);n.MapOptions=u,u.prototype.type=\"MapOptions\",u.define({lat:[a.Number],lng:[a.Number],zoom:[a.Number,12]});var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(u);n.GMapOptions=h,h.prototype.type=\"GMapOptions\",h.define({map_type:[a.String,\"roadmap\"],scale_control:[a.Bool,!1],styles:[a.String]}),n.GMapPlotView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.PlotView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),!this.api_key)return r.logger.error(\"api_key is required. See https://developers.google.com/maps/documentation/javascript/get-api-key for more information on how to obtain your own.\")},e.prototype._init_plot_canvas=function(){return new o.GMapPlotCanvas({plot:this})},e}(s.Plot);n.GMapPlot=c,c.prototype.type=\"GMapPlot\",c.prototype.default_view=n.GMapPlotView,c.define({map_options:[a.Instance],api_key:[a.String]})},function(t,e,n){var i,r,o=t(364),s=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},a=t(31),l=t(154),u=t(20);i=new u.Signal(this,\"gmaps_ready\"),r=function(t){var e;return window._bokeh_gmaps_callback=function(){return i.emit()},e=document.createElement(\"script\"),e.type=\"text/javascript\",e.src=\"https://maps.googleapis.com/maps/api/js?key=\"+t+\"&callback=_bokeh_gmaps_callback\",document.body.appendChild(e)},n.GMapPlotCanvasView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._get_latlon_bounds=e._get_latlon_bounds.bind(e),e._get_projected_bounds=e._get_projected_bounds.bind(e),e._set_bokeh_ranges=e._set_bokeh_ranges.bind(e),e}return o.__extends(e,t),e.prototype.initialize=function(e){var n,o,s=this;return this.pause(),t.prototype.initialize.call(this,e),this._tiles_loaded=!1,this.zoom_count=0,n=this.model.plot.map_options,this.initial_zoom=n.zoom,this.initial_lat=n.lat,this.initial_lng=n.lng,this.canvas_view.map_el.style.position=\"absolute\",null==(null!=(o=window.google)?o.maps:void 0)&&(null==window._bokeh_gmaps_callback&&r(this.model.plot.api_key),i.connect(function(){return s.request_render()})),this.unpause()},e.prototype.update_range=function(e){var n,i,r,o,s;if(null==e)this.model.plot.map_options,this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),t.prototype.update_range.call(this,null);else if(null!=e.sdx||null!=e.sdy)this.map.panBy(e.sdx,e.sdy),t.prototype.update_range.call(this,e);else if(null!=e.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),t.prototype.update_range.call(this,e),s=e.factor<0?-1:1,i=this.map.getZoom(),(n=i+s)>=2&&(this.map.setZoom(n),a=this._get_projected_bounds(),o=a[0],r=a[1],a[2],a[3],r-o<0&&this.map.setZoom(i)),this.unpause()}return this._set_bokeh_ranges();var a},e.prototype._build_map=function(){var t,e,n,i=this;return e=window.google.maps,this.map_types={satellite:e.MapTypeId.SATELLITE,terrain:e.MapTypeId.TERRAIN,roadmap:e.MapTypeId.ROADMAP,hybrid:e.MapTypeId.HYBRID},n=this.model.plot.map_options,t={center:new e.LatLng(n.lat,n.lng),zoom:n.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[n.map_type],scaleControl:n.scale_control},null!=n.styles&&(t.styles=JSON.parse(n.styles)),this.map=new e.Map(this.canvas_view.map_el,t),e.event.addListener(this.map,\"idle\",function(){return i._set_bokeh_ranges()}),e.event.addListener(this.map,\"bounds_changed\",function(){return i._set_bokeh_ranges()}),e.event.addListenerOnce(this.map,\"tilesloaded\",function(){return i._render_finished()}),this.connect(this.model.plot.properties.map_options.change,function(){return i._update_options()}),this.connect(this.model.plot.map_options.properties.styles.change,function(){return i._update_styles()}),this.connect(this.model.plot.map_options.properties.lat.change,function(){return i._update_center(\"lat\")}),this.connect(this.model.plot.map_options.properties.lng.change,function(){return i._update_center(\"lng\")}),this.connect(this.model.plot.map_options.properties.zoom.change,function(){return i._update_zoom()}),this.connect(this.model.plot.map_options.properties.map_type.change,function(){return i._update_map_type()}),this.connect(this.model.plot.map_options.properties.scale_control.change,function(){return i._update_scale_control()})},e.prototype._render_finished=function(){return this._tiles_loaded=!0,this.notify_finished()},e.prototype.has_finished=function(){return t.prototype.has_finished.call(this)&&!0===this._tiles_loaded},e.prototype._get_latlon_bounds=function(){var t,n,i,r,o,a,l;return s(this,e),n=this.map.getBounds(),i=n.getNorthEast(),t=n.getSouthWest(),o=t.lng(),r=i.lng(),l=t.lat(),a=i.lat(),[o,r,l,a]},e.prototype._get_projected_bounds=function(){var t,n,i,r,o,l,u,h;return s(this,e),c=this._get_latlon_bounds(),l=c[0],o=c[1],h=c[2],u=c[3],_=a.proj4(a.mercator,[l,h]),n=_[0],r=_[1],p=a.proj4(a.mercator,[o,u]),t=p[0],i=p[1],[n,t,r,i];var c,_,p},e.prototype._set_bokeh_ranges=function(){var t,n,i,r;return s(this,e),o=this._get_projected_bounds(),n=o[0],t=o[1],r=o[2],i=o[3],this.frame.x_range.setv({start:n,end:t}),this.frame.y_range.setv({start:r,end:i});var o},e.prototype._update_center=function(t){var e;return e=this.map.getCenter().toJSON(),e[t]=this.model.plot.map_options[t],this.map.setCenter(e),this._set_bokeh_ranges()},e.prototype._update_map_type=function(){return window.google.maps,this.map.setOptions({mapTypeId:this.map_types[this.model.plot.map_options.map_type]})},e.prototype._update_scale_control=function(){return window.google.maps,this.map.setOptions({scaleControl:this.model.plot.map_options.scale_control})},e.prototype._update_options=function(){return this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()},e.prototype._update_styles=function(){return this.map.setOptions({styles:JSON.parse(this.model.plot.map_options.styles)})},e.prototype._update_zoom=function(){return this.map.setOptions({zoom:this.model.plot.map_options.zoom}),this._set_bokeh_ranges()},e.prototype._map_hook=function(t,e){var n,i,r,o,s;if(i=e[0],o=e[1],s=e[2],n=e[3],this.canvas_view.map_el.style.top=o+\"px\",this.canvas_view.map_el.style.left=i+\"px\",this.canvas_view.map_el.style.width=s+\"px\",this.canvas_view.map_el.style.height=n+\"px\",null==this.map&&null!=(null!=(r=window.google)?r.maps:void 0))return this._build_map()},e.prototype._paint_empty=function(t,e){var n,i,r,o,s,a;return s=this.canvas._width.value,o=this.canvas._height.value,r=e[0],a=e[1],i=e[2],n=e[3],t.clearRect(0,0,s,o),t.beginPath(),t.moveTo(0,0),t.lineTo(0,o),t.lineTo(s,o),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(r,a),t.lineTo(r+i,a),t.lineTo(r+i,a+n),t.lineTo(r,a+n),t.lineTo(r,a),t.closePath(),t.fillStyle=this.model.plot.border_fill_color,t.fill()},e}(l.PlotCanvasView);var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.initialize=function(e,n){return this.use_map=!0,t.prototype.initialize.call(this,e,n)},e}(l.PlotCanvas);n.GMapPlotCanvas=h,h.prototype.type=\"GMapPlotCanvas\",h.prototype.default_view=n.GMapPlotCanvasView},function(t,e,n){var i=t(150);n.MapOptions=i.MapOptions;var r=t(150);n.GMapOptions=r.GMapOptions;var o=t(150);n.GMapPlot=o.GMapPlot;var s=t(151);n.GMapPlotCanvas=s.GMapPlotCanvas;var a=t(153);n.Plot=a.Plot;var l=t(154);n.PlotCanvas=l.PlotCanvas},function(t,e,n){var i=t(364),r=t(13),o=t(14),s=t(15),a=t(22),l=t(30),u=t(42),h=t(139),c=t(65),_=t(168),p=t(233),d=t(66),f=t(154),m=t(173),v=t(161),g=t(3),y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e;return t.prototype.connect_signals.call(this),e=\"Title object cannot be replaced. Try changing properties on title to update it after initialization.\",this.connect(this.model.properties.title.change,function(){return o.logger.warn(e)})},e.prototype.get_height=function(){return this.model._width.value/this.model.get_aspect_ratio()},e.prototype.get_width=function(){return this.model._height.value*this.model.get_aspect_ratio()},e.prototype.save=function(t){return this.plot_canvas_view.save(t)},e}(h.LayoutDOMView);n.PlotView=y,y.prototype.className=\"bk-plot-layout\",y.getters({plot_canvas_view:function(){return this.child_views[this.model._plot_canvas.id]}});var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,r,o,s,a,h,c,_,p,d,f,m,v,g,y;for(t.prototype.initialize.call(this,e),_=l.values(this.extra_x_ranges).concat(this.x_range),n=0,s=_.length;n<s;n++)g=_[n],c=g.plots,u.isArray(c)&&(c=c.concat(this),g.setv({plots:c},{silent:!0}));for(p=l.values(this.extra_y_ranges).concat(this.y_range),i=0,a=p.length;i<a;i++)y=p[i],c=y.plots,u.isArray(c)&&(c=c.concat(this),y.setv({plots:c},{silent:!0}));for(null!=this.min_border&&(null==this.min_border_top&&(this.min_border_top=this.min_border),null==this.min_border_bottom&&(this.min_border_bottom=this.min_border),null==this.min_border_left&&(this.min_border_left=this.min_border),null==this.min_border_right&&(this.min_border_right=this.min_border)),this._init_title_panel(),this._init_toolbar_panel(),this._plot_canvas=this._init_plot_canvas(),this.plot_canvas.toolbar=this.toolbar,null==this.width&&(this.width=this.plot_width),null==this.height&&(this.height=this.plot_height),m=[],r=0,h=(d=[\"above\",\"below\",\"left\",\"right\"]).length;r<h;r++)v=d[r],o=this.getv(v),m.push(function(){var t,e,n;for(n=[],t=0,e=o.length;t<e;t++)f=o[t],n.push(f.add_panel(v));return n}());return m},e.prototype._init_plot_canvas=function(){return new f.PlotCanvas({plot:this})},e.prototype._init_title_panel=function(){var t;if(null!=this.title)return t=u.isString(this.title)?new c.Title({text:this.title}):this.title,this.add_layout(t,this.title_location)},e.prototype._init_toolbar_panel=function(){var t,e,n,i,r,o,s=this;if(null!=this._toolbar_panel){for(r=[this.left,this.right,this.above,this.below,this.renderers],t=0,n=r.length;t<n;t++)e=r[t],a.removeBy(e,function(t){return t===s._toolbar_panel});this._toolbar_panel=null}switch(this.toolbar_location){case\"left\":case\"right\":case\"above\":case\"below\":return this._toolbar_panel=new d.ToolbarPanel({toolbar:this.toolbar}),this.toolbar.toolbar_location=this.toolbar_location,this.toolbar_sticky&&(i=this.getv(this.toolbar_location),null!=(o=a.find(i,function(t){return t instanceof c.Title})))?(this._toolbar_panel.set_panel(o.panel),void this.add_renderers(this._toolbar_panel)):this.add_layout(this._toolbar_panel,this.toolbar_location)}},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.properties.toolbar_location.change,function(){return e._init_toolbar_panel()})},e.prototype._doc_attached=function(){return this.plot_canvas.attach_document(this.document),t.prototype._doc_attached.call(this)},e.prototype.add_renderers=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n;return n=this.renderers,n=n.concat(t),this.renderers=n},e.prototype.add_layout=function(t,e){void 0===e&&(e=\"center\");return null!=t.props.plot&&(t.plot=this),\"center\"!==e&&(this.getv(e).push(t),t.add_panel(e)),this.add_renderers(t)},e.prototype.add_glyph=function(t,e,n){void 0===n&&(n={});var i;return null==e&&(e=new m.ColumnDataSource),n=l.extend({},n,{data_source:e,glyph:t}),i=new v.GlyphRenderer(n),this.add_renderers(i),i},e.prototype.add_tools=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n,i,r;for(n=0,i=t.length;n<i;n++)null!=(r=t[n]).overlay&&this.add_renderers(r.overlay);return this.toolbar.tools=this.toolbar.tools.concat(t)},e.prototype.get_layoutable_children=function(){return[this.plot_canvas]},e.prototype.get_constraints=function(){var e;return(e=t.prototype.get_constraints.call(this)).push(r.EQ(this._width,[-1,this.plot_canvas._width])),e.push(r.EQ(this._height,[-1,this.plot_canvas._height])),e},e.prototype.get_constrained_variables=function(){var e;return e=l.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this.plot_canvas._top,on_edge_align_bottom:this.plot_canvas._height_minus_bottom,on_edge_align_left:this.plot_canvas._left,on_edge_align_right:this.plot_canvas._width_minus_right,box_cell_align_top:this.plot_canvas._top,box_cell_align_bottom:this.plot_canvas._height_minus_bottom,box_cell_align_left:this.plot_canvas._left,box_cell_align_right:this.plot_canvas._width_minus_right,box_equal_size_top:this.plot_canvas._top,box_equal_size_bottom:this.plot_canvas._height_minus_bottom}),\"fixed\"!==this.sizing_mode&&(e.box_equal_size_left=this.plot_canvas._left,e.box_equal_size_right=this.plot_canvas._width_minus_right),e},e}(h.LayoutDOM);n.Plot=b,b.prototype.type=\"Plot\",b.prototype.default_view=y,b.getters({plot_canvas:function(){return this._plot_canvas}}),b.mixins([\"line:outline_\",\"fill:background_\",\"fill:border_\"]),b.define({toolbar:[s.Instance,function(){return new p.Toolbar}],toolbar_location:[s.Location,\"right\"],toolbar_sticky:[s.Boolean,!0],plot_width:[s.Number,600],plot_height:[s.Number,600],title:[s.Any,function(){return new c.Title({text:\"\"})}],title_location:[s.Location,\"above\"],h_symmetry:[s.Bool,!0],v_symmetry:[s.Bool,!1],above:[s.Array,[]],below:[s.Array,[]],left:[s.Array,[]],right:[s.Array,[]],renderers:[s.Array,[]],x_range:[s.Instance],extra_x_ranges:[s.Any,{}],y_range:[s.Instance],extra_y_ranges:[s.Any,{}],x_scale:[s.Instance,function(){return new _.LinearScale}],y_scale:[s.Instance,function(){return new _.LinearScale}],lod_factor:[s.Number,10],lod_interval:[s.Number,300],lod_threshold:[s.Number,2e3],lod_timeout:[s.Number,500],hidpi:[s.Bool,!0],output_backend:[s.OutputBackend,\"canvas\"],min_border:[s.Number,5],min_border_top:[s.Number,null],min_border_left:[s.Number,null],min_border_bottom:[s.Number,null],min_border_right:[s.Number,null],inner_width:[s.Number],inner_height:[s.Number],layout_width:[s.Number],layout_height:[s.Number],match_aspect:[s.Bool,!1],aspect_scale:[s.Number,1]}),b.override({outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"}),b.getters({all_renderers:function(){var t,e,n,i,r;for(i=this.renderers,n=this.toolbar.tools,t=0,e=n.length;t<e;t++)r=n[t],i=i.concat(r.synthetic_renderers);return i},webgl:function(){return log.warning(\"webgl attr is deprecated, use output_backend\"),\"webgl\"===this.output_backend},tool_events:function(){return log.warning(\"tool_events attr is deprecated, use SelectionGeometry Event\"),null}}),g.register_with_event(g.UIEvent,b)},function(t,e,n){var i,r,o,s,a,l=t(364),u=[].indexOf,h=t(79),c=t(80),_=t(156),p=t(161),d=t(139),f=t(20),m=t(4),v=t(21),g=t(46),y=t(6),b=t(11),x=t(10),w=t(13),k=t(14),S=t(7),T=t(15),M=t(41),A=t(42),E=t(22),z=t(30),C=t(12);a=null;var O=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.view_options=function(){return z.extend({plot_view:this,parent:this},this.options)},e.prototype.pause=function(){return null==this._is_paused?this._is_paused=1:this._is_paused+=1},e.prototype.unpause=function(t){if(void 0===t&&(t=!1),this._is_paused-=1,0===this._is_paused&&!t)return this.request_render()},e.prototype.request_render=function(){return this.request_paint()},e.prototype.request_paint=function(){this.is_paused||this.throttled_paint()},e.prototype.remove=function(){return m.remove_views(this.renderer_views),m.remove_views(this.tool_views),this.canvas_view.remove(),this.canvas_view=null,t.prototype.remove.call(this)},e.prototype.initialize=function(e){var n,i,r,o,s=this;for(this.pause(),t.prototype.initialize.call(this,e),this.force_paint=new f.Signal(this,\"force_paint\"),this.state_changed=new f.Signal(this,\"state_changed\"),this.lod_started=!1,this.visuals=new g.Visuals(this.model.plot),this._initial_state_info={range:null,selection:{},dimensions:{width:this.model.canvas._width.value,height:this.model.canvas._height.value}},this.frame=this.model.frame,this.canvas=this.model.canvas,this.canvas_view=new this.canvas.default_view({model:this.canvas,parent:this}),this.el.appendChild(this.canvas_view.el),this.canvas_view.render(),\"webgl\"===this.model.plot.output_backend&&this.init_webgl(),this.throttled_paint=M.throttle(function(){return s.force_paint.emit()},15),this.ui_event_bus=new v.UIEvents(this,this.model.toolbar,this.canvas_view.el,this.model.plot),this.levels={},o=S.RenderLevel,n=0,i=o.length;n<i;n++)r=o[n],this.levels[r]={};return this.renderer_views={},this.tool_views={},this.build_levels(),this.build_tools(),this.update_dataranges(),this.unpause(!0),k.logger.debug(\"PlotView initialized\"),this},e.prototype.set_cursor=function(t){return void 0===t&&(t=\"default\"),this.canvas_view.el.style.cursor=t},e.prototype.init_webgl=function(){var t,e,n;return t=this.canvas_view.ctx,null==(e=a)&&(a=e=document.createElement(\"canvas\"),n={premultipliedAlpha:!0},e.gl=e.getContext(\"webgl\",n)||e.getContext(\"experimental-webgl\",n)),null!=e.gl?t.glcanvas=e:k.logger.warn(\"WebGL is not supported, falling back to 2D canvas.\")},e.prototype.prepare_webgl=function(t,e){var n,i,r;if(i=this.canvas_view.ctx,n=this.canvas_view.get_canvas_element(),i.glcanvas)return i.glcanvas.width=n.width,i.glcanvas.height=n.height,(r=i.glcanvas.gl).viewport(0,0,i.glcanvas.width,i.glcanvas.height),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT||r.DEPTH_BUFFER_BIT),r.enable(r.SCISSOR_TEST),r.scissor(t*e[0],t*e[1],t*e[2],t*e[3]),r.enable(r.BLEND),r.blendFuncSeparate(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA,r.ONE_MINUS_DST_ALPHA,r.ONE)},e.prototype.blit_webgl=function(t){var e;if((e=this.canvas_view.ctx).glcanvas)return k.logger.debug(\"drawing with WebGL\"),e.restore(),e.drawImage(e.glcanvas,0,0),e.save(),e.scale(t,t),e.translate(.5,.5)},e.prototype.update_dataranges=function(){var t,e,n,i,r,o,s,a,l,u,h,c,p,d,f,m,v,g,y,b,x,w,S,T,M,A,E,C,O,N,j,P,D,F,I,B;for(o=this.model.frame,e={},g={},i=!1,S=z.values(o.x_ranges).concat(z.values(o.y_ranges)),l=0,c=S.length;l<c;l++)(w=S[l])instanceof _.DataRange1d&&\"log\"===w.scale_hint&&(i=!0);T=this.renderer_views;for(u in T)j=T[u],null!=(t=null!=(M=j.glyph)&&\"function\"==typeof M.bounds?M.bounds():void 0)&&(e[u]=t),i&&null!=(v=null!=(A=j.glyph)&&\"function\"==typeof A.log_bounds?A.log_bounds():void 0)&&(g[u]=v);if(r=!1,s=!1,!1!==this.model.plot.match_aspect&&0!==this.frame._width.value&&0!==this.frame._height.value){w=1/this.model.plot.aspect_scale*(this.frame._width.value/this.frame._height.value);for(u in e)j=e[u],isFinite(j.maxX)&&isFinite(j.minX)&&isFinite(j.maxY)&&isFinite(j.minY)&&((P=j.maxX-j.minX)<=0&&(P=1),(a=j.maxY-j.minY)<=0&&(a=1),D=.5*(j.maxX+j.minX),I=.5*(j.maxY+j.minY),P<w*a?P=w*a:a=P/w,e[u].maxX=D+.5*P,e[u].minX=D-.5*P,e[u].maxY=I+.5*a,e[u].minY=I-.5*a)}for(E=z.values(o.x_ranges),h=0,p=E.length;h<p;h++)(F=E[h])instanceof _.DataRange1d&&(n=\"log\"===F.scale_hint?g:e,F.update(n,0,this.model.id),F.follow&&(r=!0)),null!=F.bounds&&(s=!0);for(C=z.values(o.y_ranges),y=0,d=C.length;y<d;y++)(B=C[y])instanceof _.DataRange1d&&(n=\"log\"===B.scale_hint?g:e,B.update(n,1,this.model.id),B.follow&&(r=!0)),null!=B.bounds&&(s=!0);if(r&&s){for(k.logger.warn(\"Follow enabled so bounds are unset.\"),O=z.values(o.x_ranges),b=0,f=O.length;b<f;b++)(F=O[b]).bounds=null;for(N=z.values(o.y_ranges),x=0,m=N.length;x<m;x++)(B=N[x]).bounds=null}return this.range_update_timestamp=Date.now()},e.prototype.map_to_screen=function(t,e,n,i){return void 0===n&&(n=\"default\"),void 0===i&&(i=\"default\"),this.frame.map_to_screen(t,e,n,i)},e.prototype.push_state=function(t,e){var n,i;return n=(null!=(i=this.state.history[this.state.index])?i.info:void 0)||{},e=z.extend({},this._initial_state_info,n,e),this.state.history.slice(0,this.state.index+1),this.state.history.push({type:t,info:e}),this.state.index=this.state.history.length-1,this.state_changed.emit()},e.prototype.clear_state=function(){return this.state={history:[],index:-1},this.state_changed.emit()},e.prototype.can_undo=function(){return this.state.index>=0},e.prototype.can_redo=function(){return this.state.index<this.state.history.length-1},e.prototype.undo=function(){if(this.can_undo())return this.state.index-=1,this._do_state_change(this.state.index),this.state_changed.emit()},e.prototype.redo=function(){if(this.can_redo())return this.state.index+=1,this._do_state_change(this.state.index),this.state_changed.emit()},e.prototype._do_state_change=function(t){var e,n;if(null!=(e=(null!=(n=this.state.history[t])?n.info:void 0)||this._initial_state_info).range&&this.update_range(e.range),null!=e.selection)return this.update_selection(e.selection)},e.prototype.get_selection=function(){var t,e,n,i,r,o;for(o=[],n=this.model.plot.renderers,t=0,e=n.length;t<e;t++)(i=n[t])instanceof p.GlyphRenderer&&(r=i.data_source.selected,o[i.id]=r);return o},e.prototype.update_selection=function(t){var e,n,i,r,o,s,a;for(r=this.model.plot.renderers,a=[],n=0,i=r.length;n<i;n++)(s=r[n])instanceof p.GlyphRenderer&&(e=s.data_source,null!=t?(o=s.id,u.call(t,o)>=0?a.push(e.selected=t[s.id]):a.push(void 0)):a.push(e.selection_manager.clear()));return a},e.prototype.reset_selection=function(){return this.update_selection(null)},e.prototype._update_ranges_together=function(t){var e,n,i,r,o,s,a,l;for(l=1,e=0,i=t.length;e<i;e++)u=t[e],a=u[0],o=u[1],l=Math.min(l,this._get_weight_to_constrain_interval(a,o));if(l<1){for(s=[],n=0,r=t.length;n<r;n++)h=t[n],a=h[0],(o=h[1]).start=l*o.start+(1-l)*a.start,s.push(o.end=l*o.end+(1-l)*a.end);return s}var u,h},e.prototype._update_ranges_individually=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f;for(i=!1,o=0,a=t.length;o<a;o++)m=t[o],d=m[0],_=m[1],r=d.start>d.end,n||(f=this._get_weight_to_constrain_interval(d,_))<1&&(_.start=f*_.start+(1-f)*d.start,_.end=f*_.end+(1-f)*d.end),null!=d.bounds&&(h=d.bounds[0],u=d.bounds[1],c=Math.abs(_.end-_.start),r?(null!=h&&h>=_.end&&(i=!0,_.end=h,null==e&&null==n||(_.start=h+c)),null!=u&&u<=_.start&&(i=!0,_.start=u,null==e&&null==n||(_.end=u-c))):(null!=h&&h>=_.start&&(i=!0,_.start=h,null==e&&null==n||(_.end=h+c)),null!=u&&u<=_.end&&(i=!0,_.end=u,null==e&&null==n||(_.start=u-c))));if(!n||!i){for(p=[],s=0,l=t.length;s<l;s++)v=t[s],d=v[0],_=v[1],d.have_updated_interactively=!0,d.start!==_.start||d.end!==_.end?p.push(d.setv(_)):p.push(void 0);return p;var m,v}},e.prototype._get_weight_to_constrain_interval=function(t,e){var n,i,r,o,s,a,l,u;return s=t.min_interval,i=t.max_interval,u=1,null!=t.bounds&&(h=t.bounds,o=h[0],n=h[1],null!=o&&null!=n&&(r=Math.abs(n-o),i=null!=i?Math.min(i,r):r)),null==s&&null==i||(l=Math.abs(t.end-t.start),a=Math.abs(e.end-e.start),s>0&&a<s&&(u=(l-s)/(l-a)),i>0&&a>i&&(u=(i-l)/(a-l)),u=Math.max(0,Math.min(1,u))),u;var h},e.prototype.update_range=function(t,e,n){var i,r,o,s,a,l,u;if(this.pause(),null==t){o=this.frame.x_ranges;for(i in o)(u=o[i]).reset();s=this.frame.y_ranges;for(i in s)(u=s[i]).reset();this.update_dataranges()}else{r=[],a=this.frame.x_ranges;for(i in a)u=a[i],r.push([u,t.xrs[i]]);l=this.frame.y_ranges;for(i in l)u=l[i],r.push([u,t.yrs[i]]);n&&this._update_ranges_together(r),this._update_ranges_individually(r,e,n)}return this.unpause()},e.prototype.reset_range=function(){return this.update_range(null)},e.prototype.build_levels=function(){var t,e,n,i,r,o,s,a,l,u,h;for(l=this.model.plot.all_renderers,a=Object.keys(this.renderer_views),s=m.build_views(this.renderer_views,l,this.view_options()),u=E.difference(a,function(){var t,e,n;for(n=[],t=0,e=l.length;t<e;t++)o=l[t],n.push(o.id);return n}()),e=0,i=u.length;e<i;e++)t=u[e],delete this.levels.glyph[t];for(n=0,r=s.length;n<r;n++)h=s[n],this.levels[h.model.level][h.model.id]=h;return this},e.prototype.get_renderer_views=function(){var t,e,n,i,r;for(i=this.model.plot.renderers,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(this.levels[n.level][n.id]);return r},e.prototype.build_tools=function(){var t,e,n,i,r,o;for(r=this.model.plot.toolbar.tools,n=m.build_views(this.tool_views,r,this.view_options()),i=[],t=0,e=n.length;t<e;t++)o=n[t],i.push(this.ui_event_bus.register_tool(o));return i},e.prototype.connect_signals=function(){var e,n,i,r,o=this;t.prototype.connect_signals.call(this),this.connect(this.force_paint,function(){return o.repaint()}),n=this.model.frame.x_ranges;for(e in n)r=n[e],this.connect(r.change,function(){return this.request_render()});i=this.model.frame.y_ranges;for(e in i)r=i[e],this.connect(r.change,function(){return this.request_render()});return this.connect(this.model.plot.properties.renderers.change,function(){return o.build_levels()}),this.connect(this.model.plot.toolbar.properties.tools.change,function(){return o.build_levels(),o.build_tools()}),this.connect(this.model.plot.change,function(){return this.request_render()})},e.prototype.set_initial_range=function(){var t,e,n,i,r,o,s;t=!0,o={},n=this.frame.x_ranges;for(e in n){if(null==(r=n[e]).start||null==r.end||A.isStrictNaN(r.start+r.end)){t=!1;break}o[e]={start:r.start,end:r.end}}if(t){s={},i=this.frame.y_ranges;for(e in i){if(null==(r=i[e]).start||null==r.end||A.isStrictNaN(r.start+r.end)){t=!1;break}s[e]={start:r.start,end:r.end}}}return t?(this._initial_state_info.range=this.initial_range_info={xrs:o,yrs:s},k.logger.debug(\"initial ranges set\")):k.logger.warn(\"could not set initial ranges\")},e.prototype.update_constraints=function(){var t,e,n;this.solver.suggest_value(this.frame._width,this.canvas._width.value),this.solver.suggest_value(this.frame._height,this.canvas._height.value),e=this.renderer_views;for(t in e)null!=(n=e[t]).model.panel&&C.update_panel_constraints(n);return this.solver.update_variables()},e.prototype._layout=function(t){if(void 0===t&&(t=!1),this.render(),t)return this.model.plot.setv({inner_width:Math.round(this.frame._width.value),inner_height:Math.round(this.frame._height.value),layout_width:Math.round(this.canvas._width.value),layout_height:Math.round(this.canvas._height.value)},{no_change:!0}),this.paint()},e.prototype.has_finished=function(){var e,n,i;if(!t.prototype.has_finished.call(this))return!1;n=this.levels;for(e in n){i=n[e];for(e in i)if(!i[e].has_finished())return!1}return!0},e.prototype.render=function(){var t,e;return e=this.model._width.value,t=this.model._height.value,this.canvas_view.set_dims([e,t]),this.update_constraints(),!1!==this.model.plot.match_aspect&&0!==this.frame._width.value&&0!==this.frame._height.value&&this.update_dataranges(),this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\",this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"},e.prototype._needs_layout=function(){var t,e,n;e=this.renderer_views;for(t in e)if(null!=(n=e[t]).model.panel&&C._view_sizes.get(n)!==n.get_size())return!0;return!1},e.prototype.repaint=function(){return this._needs_layout()?this.parent.partial_layout():this.paint()},e.prototype.paint=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_=this;if(!this.is_paused){k.logger.trace(\"PlotCanvas.render() for \"+this.model.id),this.canvas_view.prepare_canvas(),null!=this.model.document&&((i=this.model.document.interactive_duration())>=0&&i<this.model.plot.lod_interval?(o=this.model.plot.lod_timeout,setTimeout(function(){return _.model.document.interactive_duration()>o&&_.model.document.interactive_stop(_.model.plot),_.request_render()},o)):this.model.document.interactive_stop(this.model.plot)),a=this.renderer_views;for(r in a)if(l=a[r],null==this.range_update_timestamp||l.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}return this.model.frame._update_scales(),t=this.canvas_view.ctx,t.pixel_ratio=s=this.canvas.pixel_ratio,t.save(),t.scale(s,s),t.translate(.5,.5),e=[this.frame._left.value,this.frame._top.value,this.frame._width.value,this.frame._height.value],this._map_hook(t,e),this._paint_empty(t,e),this.prepare_webgl(s,e),t.save(),this.visuals.outline_line.doit&&(this.visuals.outline_line.set_value(t),c=e[1],n=e[3],(h=e[0])+(u=e[2])===this.canvas._width.value&&(u-=1),c+n===this.canvas._height.value&&(n-=1),t.strokeRect(h,c,u,n)),t.restore(),this._paint_levels(t,[\"image\",\"underlay\",\"glyph\"],e),this.blit_webgl(s),this._paint_levels(t,[\"annotation\"],e),this._paint_levels(t,[\"overlay\"]),null==this.initial_range_info&&this.set_initial_range(),t.restore(),this._has_finished?void 0:(this._has_finished=!0,this.notify_finished())}},e.prototype._paint_levels=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f;for(t.save(),null!=n&&\"canvas\"===this.model.plot.output_backend&&(t.beginPath(),t.rect.apply(t,n),t.clip()),r={},_=this.model.plot.renderers,i=o=0,a=_.length;o<a;i=++o)p=_[i],r[p.id]=i;for(f=function(t){return r[t.model.id]},s=0,l=e.length;s<l;s++)for(h=e[s],d=E.sortBy(z.values(this.levels[h]),f),c=0,u=d.length;c<u;c++)d[c].render();return t.restore()},e.prototype._map_hook=function(t,e){},e.prototype._paint_empty=function(t,e){if(t.clearRect(0,0,this.canvas_view.model._width.value,this.canvas_view.model._height.value),this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(t),t.fillRect(0,0,this.canvas_view.model._width.value,this.canvas_view.model._height.value),t.clearRect.apply(t,e)),this.visuals.background_fill.doit)return this.visuals.background_fill.set_value(t),t.fillRect.apply(t,e)},e.prototype.save=function(t){var e,n,i,r,o,s,a;return\"canvas\"===(o=this.model.plot.output_backend)||\"webgl\"===o?null!=(n=this.canvas_view.get_canvas_element()).msToBlob?(e=n.msToBlob(),window.navigator.msSaveBlob(e,t)):(r=document.createElement(\"a\"),r.href=n.toDataURL(\"image/png\"),r.download=t+\".png\",r.target=\"_blank\",r.dispatchEvent(new MouseEvent(\"click\"))):\"svg\"===this.model.plot.output_backend?(s=this.canvas_view.ctx.getSerializedSvg(!0),a=new Blob([s],{type:\"text/plain\"}),i=document.createElement(\"a\"),i.download=t+\".svg\",i.innerHTML=\"Download svg\",i.href=window.URL.createObjectURL(a),i.onclick=function(t){return document.body.removeChild(t.target)},i.style.display=\"none\",document.body.appendChild(i),i.click()):void 0},e}(y.DOMView);n.PlotCanvasView=O,O.prototype.className=\"bk-plot-wrapper\",O.prototype.state={history:[],index:-1},O.getters({canvas_overlays:function(){return this.canvas_view.overlays_el},canvas_events:function(){return this.canvas_view.events_el},is_paused:function(){return null!=this._is_paused&&0!==this._is_paused}}),i=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"AbovePanel\",t}(),r=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"BelowPanel\",t}(),o=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"LeftPanel\",t}(),s=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"RightPanel\",t}();var N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.initialize=function(e,n){var a;return t.prototype.initialize.call(this,e,n),this.canvas=new h.Canvas({map:null!=(a=this.use_map)&&a,use_hidpi:this.plot.hidpi,output_backend:this.plot.output_backend}),this.frame=new c.CartesianFrame({x_range:this.plot.x_range,extra_x_ranges:this.plot.extra_x_ranges,x_scale:this.plot.x_scale,y_range:this.plot.y_range,extra_y_ranges:this.plot.extra_y_ranges,y_scale:this.plot.y_scale}),this.above_panel=new i,this.below_panel=new r,this.left_panel=new o,this.right_panel=new s,k.logger.debug(\"PlotCanvas initialized\")},e.prototype._doc_attached=function(){return this.canvas.attach_document(this.document),this.frame.attach_document(this.document),this.above_panel.attach_document(this.document),this.below_panel.attach_document(this.document),this.left_panel.attach_document(this.document),this.right_panel.attach_document(this.document),t.prototype._doc_attached.call(this),k.logger.debug(\"PlotCanvas attached to document\")},e.prototype.get_layoutable_children=function(){var t,e;return t=[this.above_panel,this.below_panel,this.left_panel,this.right_panel,this.canvas,this.frame],(e=function(e){var n,i,r,o;for(o=[],n=0,i=e.length;n<i;n++)null!=(r=e[n]).panel?o.push(t.push(r.panel)):o.push(void 0);return o})(this.plot.above),e(this.plot.below),e(this.plot.left),e(this.plot.right),t},e.prototype.get_constraints=function(){return t.prototype.get_constraints.call(this).concat(this._get_constant_constraints(),this._get_side_constraints())},e.prototype._get_constant_constraints=function(){return[w.EQ(this.canvas._left,0),w.EQ(this.canvas._top,0),w.GE(this.above_panel._top,[-1,this.canvas._top]),w.EQ(this.above_panel._bottom,[-1,this.frame._top]),w.EQ(this.above_panel._left,[-1,this.left_panel._right]),w.EQ(this.above_panel._right,[-1,this.right_panel._left]),w.EQ(this.below_panel._top,[-1,this.frame._bottom]),w.LE(this.below_panel._bottom,[-1,this.canvas._bottom]),w.EQ(this.below_panel._left,[-1,this.left_panel._right]),w.EQ(this.below_panel._right,[-1,this.right_panel._left]),w.EQ(this.left_panel._top,[-1,this.above_panel._bottom]),w.EQ(this.left_panel._bottom,[-1,this.below_panel._top]),w.GE(this.left_panel._left,[-1,this.canvas._left]),w.EQ(this.left_panel._right,[-1,this.frame._left]),w.EQ(this.right_panel._top,[-1,this.above_panel._bottom]),w.EQ(this.right_panel._bottom,[-1,this.below_panel._top]),w.EQ(this.right_panel._left,[-1,this.frame._right]),w.LE(this.right_panel._right,[-1,this.canvas._right]),w.EQ(this._top,[-1,this.above_panel._bottom]),w.EQ(this._left,[-1,this.left_panel._right]),w.EQ(this._height,[-1,this._bottom],[-1,this.canvas._bottom],this.below_panel._top),w.EQ(this._width,[-1,this._right],[-1,this.canvas._right],this.right_panel._left),w.GE(this._top,-this.plot.min_border_top),w.GE(this._left,-this.plot.min_border_left),w.GE(this._height,[-1,this._bottom],-this.plot.min_border_bottom),w.GE(this._width,[-1,this._right],-this.plot.min_border_right)]},e.prototype._get_side_constraints=function(){var t,e,n,i,r;return i=function(t){var e,n,i,r;for(r=[],e=0,n=t.length;e<n;e++)i=t[e],r.push(i.panel);return r},t=x.vstack(this.above_panel,i(this.plot.above)),e=x.vstack(this.below_panel,E.reversed(i(this.plot.below))),n=x.hstack(this.left_panel,i(this.plot.left)),r=x.hstack(this.right_panel,E.reversed(i(this.plot.right))),[].concat(t,e,n,r)},e}(d.LayoutDOM);n.PlotCanvas=N,N.prototype.type=\"PlotCanvas\",N.prototype.default_view=O,N.override({sizing_mode:\"stretch_both\"}),N.internal({plot:[T.Instance],toolbar:[T.Instance],canvas:[T.Instance],frame:[T.Instance]})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Range);n.DataRange=s,s.prototype.type=\"DataRange\",s.define({names:[o.Array,[]],renderers:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(155),o=t(161),s=t(14),a=t(15),l=t(23),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.plot_bounds={},this.have_updated_interactively=!1,this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span},e.prototype.computed_renderers=function(){var t,e,n,i,r,a,l,u,h,c,_;if(a=this.names,0===(c=this.renderers).length)for(h=this.plots,e=0,i=h.length;e<i;e++)l=h[e],t=l.renderers,_=function(){var e,n,i;for(i=[],e=0,n=t.length;e<n;e++)(u=t[e])instanceof o.GlyphRenderer&&i.push(u);return i}(),c=c.concat(_);for(a.length>0&&(c=function(){var t,e,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],a.indexOf(u.name)>=0&&n.push(u);return n}()),s.logger.debug(\"computed \"+c.length+\" renderers for DataRange1d \"+this.id),n=0,r=c.length;n<r;n++)u=c[n],s.logger.trace(\" - \"+u.type+\" \"+u.id);return c},e.prototype._compute_plot_bounds=function(t,e){var n,i,r,o;for(o=l.empty(),n=0,i=t.length;n<i;n++)r=t[n],null!=e[r.id]&&(o=l.union(o,e[r.id]));return o},e.prototype._compute_min_max=function(t,e){var n,i,r,o,s;o=l.empty();for(n in t)s=t[n],o=l.union(o,s);return 0===e?(a=[o.minX,o.maxX],r=a[0],i=a[1]):(u=[o.minY,o.maxY],r=u[0],i=u[1]),[r,i];var a,u},e.prototype._compute_range=function(t,e){var n,i,r,o,a,l,u,h,c,_;return u=null!=(h=this.range_padding)?h:0,\"log\"===this.scale_hint?((isNaN(t)||!isFinite(t)||t<=0)&&(t=isNaN(e)||!isFinite(e)||e<=0?.1:e/100,s.logger.warn(\"could not determine minimum data value for log axis, DataRange1d using value \"+t)),(isNaN(e)||!isFinite(e)||e<=0)&&(e=isNaN(t)||!isFinite(t)||t<=0?10:100*t,s.logger.warn(\"could not determine maximum data value for log axis, DataRange1d using value \"+e)),e===t?(c=this.default_span+.001,n=Math.log(t)/Math.log(10)):(\"percent\"===this.range_padding_units?(l=Math.log(t)/Math.log(10),a=Math.log(e)/Math.log(10),c=(a-l)*(1+u)):(l=Math.log(t-u)/Math.log(10),a=Math.log(e+u)/Math.log(10),c=a-l),n=(l+a)/2),p=[Math.pow(10,n-c/2),Math.pow(10,n+c/2)],_=p[0],i=p[1]):(c=e===t?this.default_span:\"percent\"===this.range_padding_units?(e-t)*(1+u):e-t+2*u,_=(d=[(n=(e+t)/2)-c/2,n+c/2])[0],i=d[1]),o=1,this.flipped&&(_=(f=[i,_])[0],i=f[1],o=-1),null!=(r=this.follow_interval)&&Math.abs(_-i)>r&&(\"start\"===this.follow?i=_+o*r:\"end\"===this.follow&&(_=i-o*r)),[_,i];var p,d,f},e.prototype.update=function(t,e,n){var i,r,o,s,a,l,u,h;if(!this.have_updated_interactively){return u=this.computed_renderers(),this.plot_bounds[n]=this._compute_plot_bounds(u,t),c=this._compute_min_max(this.plot_bounds,e),a=c[0],s=c[1],_=this._compute_range(a,s),h=_[0],o=_[1],null!=this._initial_start&&(\"log\"===this.scale_hint?this._initial_start>0&&(h=this._initial_start):h=this._initial_start),null!=this._initial_end&&(\"log\"===this.scale_hint?this._initial_end>0&&(o=this._initial_end):o=this._initial_end),p=[this.start,this.end],r=p[0],i=p[1],h===r&&o===i||(l={},h!==r&&(l.start=h),o!==i&&(l.end=o),this.setv(l)),\"auto\"===this.bounds&&this.setv({bounds:[h,o]},{silent:!0}),this.change.emit();var c,_,p}},e.prototype.reset=function(){return this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()},e}(r.DataRange);n.DataRange1d=u,u.prototype.type=\"DataRange1d\",u.define({start:[a.Number],end:[a.Number],range_padding:[a.Number,.1],range_padding_units:[a.PaddingUnits,\"percent\"],flipped:[a.Bool,!1],follow:[a.StartEnd],follow_interval:[a.Number],default_span:[a.Number,2],bounds:[a.Any],min_interval:[a.Any],max_interval:[a.Any]}),u.internal({scale_hint:[a.String,\"auto\"]}),u.getters({min:function(){return Math.min(this.start,this.end)},max:function(){return Math.max(this.start,this.end)}})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=t(22),a=t(42);n.map_one_level=function(t,e,n){void 0===n&&(n=0);var i,r,o,s,a;for(a={},r=o=0,s=t.length;o<s;r=++o){if((i=t[r])in a)throw new Error(\"duplicate factor or subfactor \"+i);a[i]={value:.5+r*(1+e)+n}}return[a,(t.length-1)*e]},n.map_two_levels=function(t,e,i,r){void 0===r&&(r=0);var o,a,l,u,h,c,_,p,d,f,m,v,g,y,b;for(_={},g={},y=[],l=0,h=t.length;l<h;l++)x=t[l],o=x[0],a=x[1],o in g||(g[o]=[],y.push(o)),g[o].push(a);for(f=r,b=0,u=0,c=y.length;u<c;u++)o=y[u],p=g[o].length,w=n.map_one_level(g[o],i,f),d=w[0],m=w[1],b+=m,v=s.sum(function(){var t,e,n,i;for(n=g[o],i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(d[a].value);return i}()),_[o]={value:v/p,mapping:d},f+=p+e+m;return[_,y,(y.length-1)*e+b];var x,w},n.map_three_levels=function(t,e,i,r,o){void 0===o&&(o=0);var a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M;for(m={},S={},T=[],h=0,p=t.length;h<p;h++)A=t[h],a=A[0],l=A[1],u=A[2],a in S||(S[a]=[],T.push(a)),S[a].push([l,u]);for(v=[],x=o,M=0,c=0,d=T.length;c<d;c++){for(a=T[c],g=S[a].length,E=n.map_two_levels(S[a],i,r,x),y=E[0],b=E[1],w=E[2],_=0,f=b.length;_<f;_++)l=b[_],v.push([a,l]);M+=w,k=s.sum(function(){var t,e,n,i;for(n=S[a],i=[],e=0,t=n.length;e<t;e++)r=n[e],l=r[0],u=r[1],i.push(y[l].value);return i;var r}()),m[a]={value:k/g,mapping:y},x+=g+e+w}return[m,T,v,(T.length-1)*e+M];var A,E};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._init(),this.connect(this.properties.factors.change,function(){return this._init()}),this.connect(this.properties.factor_padding.change,function(){return this._init()}),this.connect(this.properties.group_padding.change,function(){return this._init()}),this.connect(this.properties.subgroup_padding.change,function(){return this._init()}),this.connect(this.properties.range_padding.change,function(){return this._init()}),this.connect(this.properties.range_padding_units.change,function(){return this._init()})},e.prototype.reset=function(){return this._init(),this.change.emit()},e.prototype.synthetic=function(t){var e;return a.isNumber(t)?t:a.isString(t)?this._lookup([t]):(e=0,a.isNumber(t[t.length-1])&&(e=t[t.length-1],t=t.slice(0,-1)),this._lookup(t)+e)},e.prototype.v_synthetic=function(t){var e;return function(){var n,i,r;for(r=[],n=0,i=t.length;n<i;n++)e=t[n],r.push(this.synthetic(e));return r}.call(this)},e.prototype._init=function(){var t,e,i,r,o;if(s.all(this.factors,a.isString))r=1,l=n.map_one_level(this.factors,this.factor_padding),this._mapping=l[0],i=l[1];else if(s.all(this.factors,function(t){return a.isArray(t)&&2===t.length&&a.isString(t[0])&&a.isString(t[1])}))r=2,u=n.map_two_levels(this.factors,this.group_padding,this.factor_padding),this._mapping=u[0],this.tops=u[1],i=u[2];else{if(!s.all(this.factors,function(t){return a.isArray(t)&&3===t.length&&a.isString(t[0])&&a.isString(t[1])&&a.isString(t[2])}))throw new Error(\"\");r=3,h=n.map_three_levels(this.factors,this.group_padding,this.subgroup_padding,this.factor_padding),this._mapping=h[0],this.tops=h[1],this.mids=h[2],i=h[3]}if(o=0,t=this.factors.length+i,\"percent\"===this.range_padding_units?(e=(t-o)*this.range_padding/2,o-=e,t+=e):(o-=this.range_padding,t+=this.range_padding),this.setv({start:o,end:t,levels:r},{silent:!0}),\"auto\"===this.bounds)return this.setv({bounds:[o,t]},{silent:!0});var l,u,h},e.prototype._lookup=function(t){return 1===t.length?this._mapping[t[0]].value:2===t.length?this._mapping[t[0]].mapping[t[1]].value:3===t.length?this._mapping[t[0]].mapping[t[1]].mapping[t[2]].value:void 0},e}(r.Range);n.FactorRange=l,l.prototype.type=\"FactorRange\",l.define({factors:[o.Array,[]],factor_padding:[o.Number,0],subgroup_padding:[o.Number,.8],group_padding:[o.Number,1.4],range_padding:[o.Number,0],range_padding_units:[o.PaddingUnits,\"percent\"],start:[o.Number],end:[o.Number],bounds:[o.Any],min_interval:[o.Any],max_interval:[o.Any]}),l.getters({min:function(){return this.start},max:function(){return this.end}}),l.internal({levels:[o.Number],mids:[o.Array],tops:[o.Array],tops_groups:[o.Array]})},function(t,e,n){var i=t(155);n.DataRange=i.DataRange;var r=t(156);n.DataRange1d=r.DataRange1d;var o=t(157);n.FactorRange=o.FactorRange;var s=t(159);n.Range=s.Range;var a=t(160);n.Range1d=a.Range1d},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.change,function(){return this._emit_callback()})},e.prototype.reset=function(){return this.change.emit()},e.prototype._emit_callback=function(){if(null!=this.callback)return s.isFunction(this.callback)?this.callback(this):this.callback.execute(this)},e}(r.Model);n.Range=a,a.prototype.type=\"Range\",a.define({callback:[o.Any]}),a.internal({plots:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_auto_bounds=function(){var t,e;if(\"auto\"===this.bounds)return e=Math.min(this._initial_start,this._initial_end),t=Math.max(this._initial_start,this._initial_end),this.setv({bounds:[e,t]},{silent:!0})},e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._initial_start=this.start,this._initial_end=this.end,this._set_auto_bounds()},Object.defineProperty(e.prototype,\"min\",{get:function(){return Math.min(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max\",{get:function(){return Math.max(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_reversed\",{get:function(){return this.start>this.end},enumerable:!0,configurable:!0}),e.prototype.reset=function(){return this._set_auto_bounds(),this.start!==this._initial_start||this.end!==this._initial_end?this.setv({start:this._initial_start,end:this._initial_end}):this.change.emit()},e}(r.Range);n.Range1d=s,s.prototype.type=\"Range1d\",s.define({start:[o.Number,0],end:[o.Number,1],bounds:[o.Any],min_interval:[o.Any],max_interval:[o.Any]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(165),s=t(114),a=t(178),l=t(172),u=t(14),h=t(15),c=t(22),_=t(30);n.GlyphRendererView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,o,s,l,u,h,c,p,d;if(t.prototype.initialize.call(this,e),n=this.model.glyph,s=r.call(n.mixins,\"fill\")>=0,l=r.call(n.mixins,\"line\")>=0,o=_.clone(n.attributes),delete o.id,h=function(t){var e;return e=_.clone(o),s&&_.extend(e,t.fill),l&&_.extend(e,t.line),new n.constructor(e)},this.glyph=this.build_glyph_view(n),null==(d=this.model.selection_glyph)?d=h({fill:{},line:{}}):\"auto\"===d&&(d=h(this.model.selection_defaults)),this.selection_glyph=this.build_glyph_view(d),null==(p=this.model.nonselection_glyph)?p=h({fill:{},line:{}}):\"auto\"===p&&(p=h(this.model.nonselection_defaults)),this.nonselection_glyph=this.build_glyph_view(p),null!=(u=this.model.hover_glyph)&&(this.hover_glyph=this.build_glyph_view(u)),null!=(c=this.model.muted_glyph)&&(this.muted_glyph=this.build_glyph_view(c)),i=h(this.model.decimated_defaults),this.decimated_glyph=this.build_glyph_view(i),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),this.model.data_source instanceof a.RemoteDataSource)return this.model.data_source.setup()},e.prototype.build_glyph_view=function(t){return new t.default_view({model:t,renderer:this,plot_view:this.plot_view,parent:this})},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()}),this.connect(this.model.glyph.change,function(){return this.set_data()}),this.connect(this.model.data_source.change,function(){return this.set_data()}),this.connect(this.model.data_source.streaming,function(){return this.set_data()}),this.connect(this.model.data_source.patching,function(t){return this.set_data(!0,t)}),this.connect(this.model.data_source.select,function(){return this.request_render()}),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,function(){return this.request_render()}),this.connect(this.model.properties.view.change,function(){return this.set_data()}),this.connect(this.model.view.change,function(){return this.set_data()}),this.connect(this.model.glyph.transformchange,function(){return this.set_data()})},e.prototype.have_selection_glyphs=function(){return null!=this.selection_glyph&&null!=this.nonselection_glyph},e.prototype.set_data=function(t,e){void 0===t&&(t=!0);var n,i,r,o,s,a,l;for(l=Date.now(),a=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(a,this.all_indices,e),this.glyph.set_visuals(a),this.decimated_glyph.set_visuals(a),this.have_selection_glyphs()&&(this.selection_glyph.set_visuals(a),this.nonselection_glyph.set_visuals(a)),null!=this.hover_glyph&&this.hover_glyph.set_visuals(a),null!=this.muted_glyph&&this.muted_glyph.set_visuals(a),o=this.plot_model.plot.lod_factor,this.decimated=[],i=r=0,s=Math.floor(this.all_indices.length/o);0<=s?r<s:r>s;i=0<=s?++r:--r)this.decimated.push(i*o);if(n=Date.now()-l,u.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): set_data finished in \"+n+\"ms\"),this.set_data_timestamp=Date.now(),t)return this.request_render()},e.prototype.render=function(){var t,e,n,i,o,a,l,h,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j;if(this.model.visible){if(C=Date.now(),l=this.glyph.glglyph,Date.now(),this.glyph.map_data(),e=Date.now()-C,O=Date.now(),(p=this.glyph.mask_data(this.all_indices)).length===this.all_indices.length&&(p=function(){M=[];for(var t=0,e=this.all_indices.length;0<=e?t<e:t>e;0<=e?t++:t--)M.push(t);return M}.apply(this)),n=Date.now()-O,(t=this.plot_view.canvas_view.ctx).save(),A=this.model.data_source.selected,A=A&&0!==A.length?A[\"0d\"].glyph?this.model.view.convert_indices_from_subset(p):A[\"1d\"].indices.length>0?A[\"1d\"].indices:function(){var t,e,n,i;for(n=Object.keys(A[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)_=n[t],i.push(parseInt(_));return i}():[],d=this.model.data_source.inspected,d=d&&0!==d.length?d[\"0d\"].glyph?this.model.view.convert_indices_from_subset(p):d[\"1d\"].indices.length>0?d[\"1d\"].indices:function(){var t,e,n,i;for(n=Object.keys(d[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)_=n[t],i.push(parseInt(_));return i}():[],d=function(){var t,e,n,i;for(i=[],t=0,e=p.length;t<e;t++)_=p[t],n=this.all_indices[_],r.call(d,n)>=0&&i.push(_);return i}.call(this),b=this.plot_model.plot.lod_threshold,(null!=(S=this.model.document)?S.interactive_duration():void 0)>0&&!l&&null!=b&&this.all_indices.length>b?(p=this.decimated,h=this.decimated_glyph,k=this.decimated_glyph,z=this.selection_glyph):(h=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,k=this.nonselection_glyph,z=this.selection_glyph),null!=this.hover_glyph&&d.length&&(p=c.difference(p,d)),A.length&&this.have_selection_glyphs()){for(j=Date.now(),E={},f=0,v=A.length;f<v;f++)_=A[f],E[_]=!0;if(A=new Array,w=new Array,this.glyph instanceof s.LineView)for(T=this.all_indices,m=0,g=T.length;m<g;m++)_=T[m],null!=E[_]?A.push(_):w.push(_);else for(x=0,y=p.length;x<y;x++)_=p[x],null!=E[this.all_indices[_]]?A.push(_):w.push(_);o=Date.now()-j,N=Date.now(),k.render(t,w,this.glyph),z.render(t,A,this.glyph),null!=this.hover_glyph&&(this.glyph instanceof s.LineView?this.hover_glyph.render(t,this.model.view.convert_indices_from_subset(d),this.glyph):this.hover_glyph.render(t,d,this.glyph)),i=Date.now()-N}else N=Date.now(),this.glyph instanceof s.LineView?this.hover_glyph&&d.length?this.hover_glyph.render(t,this.model.view.convert_indices_from_subset(d),this.glyph):h.render(t,this.all_indices,this.glyph):(h.render(t,p,this.glyph),this.hover_glyph&&d.length&&this.hover_glyph.render(t,d,this.glyph)),i=Date.now()-N;return this.last_dtrender=i,a=Date.now()-C,u.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): render finished in \"+a+\"ms\"),u.logger.trace(\" - map_data finished in       : \"+e+\"ms\"),null!=n&&u.logger.trace(\" - mask_data finished in      : \"+n+\"ms\"),null!=o&&u.logger.trace(\" - selection mask finished in : \"+o+\"ms\"),u.logger.trace(\" - glyph renders finished in  : \"+i+\"ms\"),t.restore()}},e.prototype.draw_legend=function(t,e,n,i,r,o,s){var a;return a=this.model.get_reference_point(o,s),this.glyph.draw_legend_for_index(t,e,n,i,r,a)},e.prototype.hit_test=function(t,e,n,i){return void 0===i&&(i=\"select\"),this.model.hit_test_helper(t,this,e,n,i)},e}(o.RendererView);var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),null==this.view.source)return this.view.source=this.data_source,this.view.compute_indices()},e.prototype.get_reference_point=function(t,e){var n,i,r;return r=0,null!=t&&null!=this.data_source.get_column&&(n=this.data_source.get_column(t))&&(i=n.indexOf(e))>0&&(r=i),r},e.prototype.hit_test_helper=function(t,e,n,i,r){var o,s,a,l;return!!this.visible&&(null!==(o=e.glyph.hit_test(t))&&(s=this.view.convert_selection_from_subset(o),\"select\"===r?((l=this.data_source.selection_manager.selector).update(s,n,i),this.data_source.selected=l.indices,this.data_source.select.emit()):((a=this.data_source.selection_manager.get_or_create_inspector(this)).update(s,!0,!1,!0),this.data_source.setv({inspected:a.indices},{silent:!0}),this.data_source.inspect.emit([e,{geometry:t}])),!s.is_empty()))},e.prototype.get_selection_manager=function(){return this.data_source.selection_manager},e}(o.Renderer);n.GlyphRenderer=p,p.prototype.default_view=n.GlyphRendererView,p.prototype.type=\"GlyphRenderer\",p.define({x_range_name:[h.String,\"default\"],y_range_name:[h.String,\"default\"],data_source:[h.Instance],view:[h.Instance,function(){return new l.CDSView}],glyph:[h.Instance],hover_glyph:[h.Instance],nonselection_glyph:[h.Any,\"auto\"],selection_glyph:[h.Any,\"auto\"],muted_glyph:[h.Instance],muted:[h.Bool,!1]}),p.override({level:\"glyph\"}),p.prototype.selection_defaults={fill:{},line:{}},p.prototype.decimated_defaults={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},p.prototype.nonselection_defaults={fill:{fill_alpha:.2,line_alpha:.2},line:{}}},function(t,e,n){var i=t(364),r=t(165),o=t(129),s=t(15),a=t(4);n.GraphRendererView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.xscale=this.plot_view.frame.xscales.default,this.yscale=this.plot_view.frame.yscales.default,this._renderer_views={},n=a.build_views(this._renderer_views,[this.model.node_renderer,this.model.edge_renderer],this.plot_view.view_options()),this.node_view=n[0],this.edge_view=n[1],this.set_data();var n},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.layout_provider.change,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.inspect,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.change,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.inspect,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.change,function(){return this.set_data()})},e.prototype.set_data=function(t){if(void 0===t&&(t=!0),this.node_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.edge_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),e=this.model.layout_provider.get_node_coordinates(this.model.node_renderer.data_source),this.node_view.glyph._x=e[0],this.node_view.glyph._y=e[1],n=this.model.layout_provider.get_edge_coordinates(this.model.edge_renderer.data_source),this.edge_view.glyph._xs=n[0],this.edge_view.glyph._ys=n[1],this.node_view.glyph.index=this.node_view.glyph._index_data(),this.edge_view.glyph.index=this.edge_view.glyph._index_data(),t)return this.request_render();var e,n},e.prototype.render=function(){return this.edge_view.render(),this.node_view.render()},e.prototype.hit_test=function(t,e,n,i){void 0===i&&(i=\"select\");var r,o;return!!this.model.visible&&(!1,\"select\"===i?null!=(r=this.model.selection_policy)?r.do_selection(t,this,e,n):void 0:null!=(o=this.model.inspection_policy)?o.do_inspection(t,this,e,n):void 0)},e}(r.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_selection_manager=function(){return this.node_renderer.data_source.selection_manager},e}(r.Renderer);n.GraphRenderer=l,l.prototype.default_view=n.GraphRendererView,l.prototype.type=\"GraphRenderer\",l.define({x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],layout_provider:[s.Instance],node_renderer:[s.Instance],edge_renderer:[s.Instance],selection_policy:[s.Instance,function(){return new o.NodesOnly}],inspection_policy:[s.Instance,function(){return new o.NodesOnly}]}),l.override({level:\"glyph\"})},function(t,e,n){var i=t(364),r=t(165),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Renderer);n.GuideRenderer=s,s.prototype.type=\"GuideRenderer\",s.define({plot:[o.Instance]}),s.override({level:\"overlay\"})},function(t,e,n){var i=t(161);n.GlyphRenderer=i.GlyphRenderer;var r=t(162);n.GraphRenderer=r.GraphRenderer;var o=t(163);n.GuideRenderer=o.GuideRenderer;var s=t(165);n.Renderer=s.Renderer},function(t,e,n){var i=t(364),r=t(6),o=t(46),s=t(15),a=t(32),l=t(30),u=t(50),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view=e.plot_view,this.visuals=new o.Visuals(this.model),this._has_finished=!0},e.prototype.request_render=function(){return this.plot_view.request_render()},e.prototype.set_data=function(t){var e;if(e=this.model.materialize_dataspecs(t),l.extend(this,e),this.plot_model.use_map&&(null!=this._x&&(n=a.project_xy(this._x,this._y),this._x=n[0],this._y=n[1]),null!=this._xs))return i=a.project_xsys(this._xs,this._ys),this._xs=i[0],this._ys=i[1],i;var n,i},e.prototype.map_to_screen=function(t,e){return this.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},e}(r.DOMView);n.RendererView=h,h.getters({plot_model:function(){return this.plot_view.model}});var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(u.Model);n.Renderer=c,c.prototype.type=\"Renderer\",c.define({level:[s.RenderLevel,null],visible:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(168),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(e){return t.prototype.compute.call(this,this.source_range.synthetic(e))},e.prototype.v_compute=function(e){return t.prototype.v_compute.call(this,this.source_range.v_synthetic(e))},e}(r.LinearScale);n.CategoricalScale=o,o.prototype.type=\"CategoricalScale\"},function(t,e,n){var i=t(166);n.CategoricalScale=i.CategoricalScale;var r=t(168);n.LinearScale=r.LinearScale;var o=t(169);n.LogScale=o.LogScale;var s=t(170);n.Scale=s.Scale},function(t,e,n){var i=t(364),r=t(170),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n;return i=this._compute_state(),e=i[0],n=i[1],e*t+n;var i},e.prototype.v_compute=function(t){var e,n,i,r,o,s,a;for(l=this._compute_state(),e=l[0],o=l[1],s=new Float64Array(t.length),i=n=0,r=t.length;n<r;i=++n)a=t[i],s[i]=e*a+o;return s;var l},e.prototype.invert=function(t){var e,n;return i=this._compute_state(),e=i[0],n=i[1],(t-n)/e;var i},e.prototype.v_invert=function(t){var e,n,i,r,o,s,a;for(l=this._compute_state(),e=l[0],o=l[1],s=new Float64Array(t.length),i=n=0,r=t.length;n<r;i=++n)a=t[i],s[i]=(a-o)/e;return s;var l},e.prototype._compute_state=function(){var t,e,n,i,r,o;return i=this.source_range.start,n=this.source_range.end,o=this.target_range.start,r=this.target_range.end,t=(r-o)/(n-i),e=-t*i+o,[t,e]},e}(r.Scale);n.LinearScale=o,o.prototype.type=\"LinearScale\"},function(t,e,n){var i=t(364),r=t(170),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,r,o,s;return a=this._compute_state(),n=a[0],o=a[1],i=a[2],r=a[3],0===i?s=0:(e=(Math.log(t)-r)/i,s=isFinite(e)?e*n+o:NaN),s;var a},e.prototype.v_compute=function(t){var e,n,i,r,o,s,a,l,u,h,c,_;if(p=this._compute_state(),n=p[0],l=p[1],r=p[2],o=p[3],c=new Float64Array(t.length),0===r)for(i=s=0,u=t.length;0<=u?s<u:s>u;i=0<=u?++s:--s)c[i]=0;else for(i=a=0,h=t.length;0<=h?a<h:a>h;i=0<=h?++a:--a)e=(Math.log(t[i])-o)/r,_=isFinite(e)?e*n+l:NaN,c[i]=_;return c;var p},e.prototype.invert=function(t){var e,n,i,r,o;return s=this._compute_state(),e=s[0],r=s[1],n=s[2],i=s[3],o=(t-r)/e,Math.exp(n*o+i);var s},e.prototype.v_invert=function(t){var e,n,i,r,o,s,a,l,u;for(h=this._compute_state(),e=h[0],s=h[1],i=h[2],r=h[3],l=new Float64Array(t.length),n=o=0,a=t.length;0<=a?o<a:o>a;n=0<=a?++o:--o)u=(t[n]-s)/e,l[n]=Math.exp(i*u+r);return l;var h},e.prototype._get_safe_factor=function(t,e){var n,i,r;return r=t<0?0:t,n=e<0?0:e,r===n&&(0===r?(r=(o=[1,10])[0],n=o[1]):(i=Math.log(r)/Math.log(10),r=Math.pow(10,Math.floor(i)),n=Math.ceil(i)!==Math.floor(i)?Math.pow(10,Math.ceil(i)):Math.pow(10,Math.ceil(i)+1))),[r,n];var o},e.prototype._compute_state=function(){var t,e,n,i,r,o,s,a,l,u,h;return a=this.source_range.start,s=this.source_range.end,h=this.target_range.start,u=this.target_range.end,o=u-h,c=this._get_safe_factor(a,s),l=c[0],t=c[1],0===l?(n=Math.log(t),i=0):(n=Math.log(t)-Math.log(l),i=Math.log(l)),e=o,r=h,[e,r,n,i];var c},e}(r.Scale);n.LogScale=o,o.prototype.type=\"LogScale\"},function(t,e,n){var i=t(364),r=t(238),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.r_compute=function(t,e){return this.target_range.is_reversed?[this.compute(e),this.compute(t)]:[this.compute(t),this.compute(e)]},e.prototype.r_invert=function(t,e){return this.target_range.is_reversed?[this.invert(e),this.invert(t)]:[this.invert(t),this.invert(e)]},e}(r.Transform);n.Scale=s,s.prototype.type=\"Scale\",s.internal({source_range:[o.Any],target_range:[o.Any]})},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=t(178),s=t(14),a=t(15),l=function(t){function e(){var e=t.apply(this,arguments)||this;return e.destroy=e.destroy.bind(e),e.setup=e.setup.bind(e),e.get_data=e.get_data.bind(e),e}return i.__extends(e,t),e.prototype.destroy=function(){if(r(this,e),null!=this.interval)return clearInterval(this.interval)},e.prototype.setup=function(){if(r(this,e),null==this.initialized&&(this.initialized=!0,this.get_data(this.mode),this.polling_interval))return this.interval=setInterval(this.get_data,this.polling_interval,this.mode,this.max_size,this.if_modified)},e.prototype.get_data=function(t,n,i){var o=this;void 0===n&&(n=0),void 0===i&&(i=!1);var a,l,u,h;r(this,e),(h=new XMLHttpRequest).open(this.method,this.data_url,!0),h.withCredentials=!1,h.setRequestHeader(\"Content-Type\",this.content_type),l=this.http_headers;for(a in l)u=l[a],h.setRequestHeader(a,u);return h.addEventListener(\"load\",function(){var e,i,r,s,a,l;if(200===h.status)switch(i=JSON.parse(h.responseText),t){case\"replace\":return o.data=i;case\"append\":for(a=o.data,l=o.columns(),r=0,s=l.length;r<s;r++)e=l[r],i[e]=a[e].concat(i[e]).slice(-n);return o.data=i}}),h.addEventListener(\"error\",function(){return s.logger.error(\"Failed to fetch JSON from \"+o.data_url+\" with code \"+h.status)}),h.send(),null},e}(o.RemoteDataSource);n.AjaxDataSource=l,l.prototype.type=\"AjaxDataSource\",l.define({mode:[a.String,\"replace\"],content_type:[a.String,\"application/json\"],http_headers:[a.Any,{}],max_size:[a.Number],method:[a.String,\"POST\"],if_modified:[a.Bool,!1]})},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(9),a=t(22),l=t(174),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.compute_indices()},e.prototype.connect_signals=function(){var e,n,i;if(t.prototype.connect_signals.call(this),this.connect(this.properties.filters.change,function(){return this.compute_indices(),this.change.emit()}),null!=(null!=(e=this.source)?e.change:void 0)&&this.connect(this.source.change,function(){return this.compute_indices()}),null!=(null!=(n=this.source)?n.streaming:void 0)&&this.connect(this.source.streaming,function(){return this.compute_indices()}),null!=(null!=(i=this.source)?i.patching:void 0))return this.connect(this.source.patching,function(){return this.compute_indices()})},e.prototype.compute_indices=function(){var t,e,n,i;return e=function(){var e,n,i,r;for(i=this.filters,r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(t.compute_indices(this.source));return r}.call(this),(e=function(){var t,i,r;for(r=[],t=0,i=e.length;t<i;t++)null!=(n=e[t])&&r.push(n);return r}()).length>0?this.indices=a.intersection.apply(this,e):this.source instanceof l.ColumnarDataSource&&(this.indices=null!=(i=this.source)?i.get_indices():void 0),this.indices_map_to_subset()},e.prototype.indices_map_to_subset=function(){var t,e,n,i;for(this.indices_map={},i=[],t=e=0,n=this.indices.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.indices_map[this.indices[t]]=t);return i},e.prototype.convert_selection_from_subset=function(t){var e,n,i;return(i=s.create_hit_test_result()).update_through_union(t),n=function(){var n,i,r,o;for(r=t[\"1d\"].indices,o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(this.indices[e]);return o}.call(this),i[\"1d\"].indices=n,i},e.prototype.convert_selection_to_subset=function(t){var e,n,i;return(i=s.create_hit_test_result()).update_through_union(t),n=function(){var n,i,r,o;for(r=t[\"1d\"].indices,o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(this.indices_map[e]);return o}.call(this),i[\"1d\"].indices=n,i},e.prototype.convert_indices_from_subset=function(t){var e;return function(){var n,i,r;for(r=[],n=0,i=t.length;n<i;n++)e=t[n],r.push(this.indices[e]);return r}.call(this)},e}(r.Model);n.CDSView=u,u.prototype.type=\"CDSView\",u.define({filters:[o.Array,[]],source:[o.Instance]}),u.internal({indices:[o.Array,[]],indices_map:[o.Any,{}]})},function(t,e,n){var i=t(364),r={}.hasOwnProperty,o=t(174),s=t(8),a=t(15),l=t(27),u=t(35),h=t(42);n.concat_typed_arrays=function(t,e){var n;return(n=new t.constructor(t.length+e.length)).set(t,0),n.set(e,t.length),n},n.stream_to_column=function(t,e,i){var r,o,s,a,l,u,h,c,_,p;if(null!=t.concat)return(t=t.concat(e)).length>i&&(t=t.slice(-i)),t;if(p=t.length+e.length,null!=i&&p>i){for(c=p-i,r=t.length,t.length<i&&((_=new t.constructor(i)).set(t,0),t=_),o=s=l=c,u=r;l<=u?s<u:s>u;o=l<=u?++s:--s)t[o-c]=t[o];for(o=a=0,h=e.length;0<=h?a<h:a>h;o=0<=h?++a:--a)t[o+(r-c)]=e[o];return t}return _=new t.constructor(e),n.concat_typed_arrays(t,_)},n.slice=function(t,e){var n,i,r;return h.isObject(t)?[null!=(n=t.start)?n:0,null!=(i=t.stop)?i:e,null!=(r=t.step)?r:1]:(o=[t,t+1,1],o[0],o[1],o[2],o);var o},n.patch_to_column=function(t,e,i){var r,o,s,a,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E;for(x=new l.Set,w=!1,v=0,g=e.length;v<g;v++)for(z=e[v],s=z[0],E=z[1],h.isArray(s)?(x.push(s[0]),A=i[s[0]],_=t[s[0]]):(h.isNumber(s)?(E=[E],x.push(s)):w=!0,s=[0,0,s],A=[1,t.length],_=t),2===s.length&&(A=[1,A[0]],s=[s[0],0,s[1]]),r=0,C=n.slice(s[1],A[0]),a=C[0],c=C[1],u=C[2],O=n.slice(s[2],A[1]),d=O[0],m=O[1],f=O[2],o=y=a,k=c,S=u;S>0?y<k:y>k;o=y+=S)for(p=b=d,T=m,M=f;M>0?b<T:b>T;p=b+=M)w&&x.push(p),_[o*A[1]+p]=E[r],r++;return x;var z,C,O};var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),n=u.decode_column_data(this.data),this.data=n[0],this._shapes=n[1],n;var n},e.prototype.attributes_as_json=function(t,n){void 0===t&&(t=!0),void 0===n&&(n=e._value_to_json);var i,o,s,a;i={},s=this.serializable_attributes();for(o in s)r.call(s,o)&&(a=s[o],\"data\"===o&&(a=u.encode_column_data(a,this._shapes)),t?i[o]=a:o in this._set_after_defaults&&(i[o]=a));return n(\"attributes\",i,this)},e._value_to_json=function(t,e,n){return h.isObject(e)&&\"data\"===t?u.encode_column_data(e,n._shapes):s.HasProps._value_to_json(t,e,n)},e.prototype.stream=function(t,e){var i,r;i=this.data;for(r in t)t[r],i[r]=n.stream_to_column(i[r],t[r],e);return this.setv({data:i},{silent:!0}),this.streaming.emit()},e.prototype.patch=function(t){var e,i,r,o;e=this.data,o=new l.Set;for(i in t)r=t[i],o=o.union(n.patch_to_column(e[i],r,this._shapes[i]));return this.setv({data:e},{silent:!0}),this.patching.emit(o.values)},e}(o.ColumnarDataSource);n.ColumnDataSource=c,c.prototype.type=\"ColumnDataSource\",c.define({data:[a.Any,{}]})},function(t,e,n){var i=t(364),r=t(175),o=t(20),s=t(14),a=t(17),l=t(15),u=t(22),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.select=new o.Signal(this,\"select\"),this.inspect=new o.Signal(this,\"inspect\"),this.streaming=new o.Signal(this,\"streaming\"),this.patching=new o.Signal(this,\"patching\")},e.prototype.get_column=function(t){var e;return null!=(e=this.data[t])?e:null},e.prototype.columns=function(){return Object.keys(this.data)},e.prototype.get_length=function(t){void 0===t&&(t=!0);var e,n,i,r;switch((n=u.uniq(function(){var t,n;t=this.data,n=[];for(e in t)r=t[e],n.push(r.length);return n}.call(this))).length){case 0:return null;case 1:return n[0];default:if(i=\"data source has columns of inconsistent lengths\",t)return s.logger.warn(i),n.sort()[0];throw new Error(i)}},e.prototype.get_indices=function(){var t,e;return null==(t=this.get_length())&&(t=1),function(){e=[];for(var n=0;0<=t?n<t:n>t;0<=t?n++:n--)e.push(n);return e}.apply(this)},e}(r.DataSource);n.ColumnarDataSource=h,h.prototype.type=\"ColumnarDataSource\",h.define({column_names:[l.Array,[]]}),h.internal({selection_manager:[l.Instance,function(t){return new a.SelectionManager({source:t})}],inspected:[l.Any],_shapes:[l.Any,{}]})},function(t,e,n){var i=t(364),r=t(50),o=t(9),s=t(15),a=t(42),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.properties.selected.change,function(){var t;if(null!=(t=n.callback))return a.isFunction(t)?t(n):t.execute(n)})},e}(r.Model);n.DataSource=l,l.prototype.type=\"DataSource\",l.define({selected:[s.Any,o.create_hit_test_result()],callback:[s.Any]})},function(t,e,n){var i=t(364),r=t(174),o=t(14),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this._update_data(),this.connect(this.properties.geojson.change,function(){return n._update_data()})},e.prototype._update_data=function(){return this.data=this.geojson_to_column_data()},e.prototype._get_new_list_array=function(t){var e,n,i;for(i=[],e=0,n=t;0<=n?e<n:e>n;0<=n?++e:--e)i.push([]);return i},e.prototype._get_new_nan_array=function(t){var e,n,i;for(i=[],e=0,n=t;0<=n?e<n:e>n;0<=n?++e:--e)i.push(NaN);return i},e.prototype._flatten_function=function(t,e){return t.concat([[NaN,NaN,NaN]]).concat(e)},e.prototype._add_properties=function(t,e,n,i){var r,o;o=[];for(r in t.properties)e.hasOwnProperty(r)||(e[r]=this._get_new_nan_array(i)),o.push(e[r][n]=t.properties[r]);return o},e.prototype._add_geometry=function(t,e,n){var i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;switch(t.type){case\"Point\":return r=t.coordinates,e.x[n]=r[0],e.y[n]=r[1],e.z[n]=null!=(x=r[2])?x:NaN;case\"LineString\":for(i=t.coordinates,A=[],u=h=0,_=i.length;h<_;u=++h)r=i[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],A.push(e.zs[n][u]=null!=(w=r[2])?w:NaN);return A;case\"Polygon\":for(t.coordinates.length>1&&o.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),s=t.coordinates[0],E=[],u=c=0,p=s.length;c<p;u=++c)r=s[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],E.push(e.zs[n][u]=null!=(k=r[2])?k:NaN);return E;case\"MultiPoint\":return o.logger.warn(\"MultiPoint not supported in Bokeh\");case\"MultiLineString\":for(l=t.coordinates.reduce(this._flatten_function),z=[],u=v=0,d=l.length;v<d;u=++v)r=l[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],z.push(e.zs[n][u]=null!=(S=r[2])?S:NaN);return z;case\"MultiPolygon\":for(a=[],T=t.coordinates,g=0,f=T.length;g<f;g++)(b=T[g]).length>1&&o.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),a.push(b[0]);for(l=a.reduce(this._flatten_function),C=[],u=y=0,m=l.length;y<m;u=++y)r=l[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],C.push(e.zs[n][u]=null!=(M=r[2])?M:NaN);return C;default:throw new Error(\"Invalid type \"+t.type)}},e.prototype._get_items_length=function(t){var e,n,i,r,o,s,a,l,u,h;for(e=0,i=s=0,l=t.length;s<l;i=++s)if(r=t[i],\"GeometryCollection\"===(n=\"Feature\"===r.type?r.geometry:r).type)for(h=n.geometries,o=a=0,u=h.length;a<u;o=++a)h[o],e+=1;else e+=1;return e},e.prototype.geojson_to_column_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f;if(i=JSON.parse(this.geojson),\"GeometryCollection\"!==(d=i.type)&&\"FeatureCollection\"!==d)throw new Error(\"Bokeh only supports type GeometryCollection and FeatureCollection at top level\");if(\"GeometryCollection\"===i.type){if(null==i.geometries)throw new Error(\"No geometries found in GeometryCollection\");if(0===i.geometries.length)throw new Error(\"geojson.geometries must have one or more items\");l=i.geometries}if(\"FeatureCollection\"===i.type){if(null==i.features)throw new Error(\"No features found in FeaturesCollection\");if(0===i.features.length)throw new Error(\"geojson.features must have one or more items\");l=i.features}for(a=this._get_items_length(l),e={x:this._get_new_nan_array(a),y:this._get_new_nan_array(a),z:this._get_new_nan_array(a),xs:this._get_new_list_array(a),ys:this._get_new_list_array(a),zs:this._get_new_list_array(a)},t=0,o=h=0,_=l.length;h<_;o=++h)if(s=l[o],\"GeometryCollection\"===(r=\"Feature\"===s.type?s.geometry:s).type)for(f=r.geometries,u=c=0,p=f.length;c<p;u=++c)n=f[u],this._add_geometry(n,e,t),\"Feature\"===s.type&&this._add_properties(s,e,t,a),t+=1;else this._add_geometry(r,e,t),\"Feature\"===s.type&&this._add_properties(s,e,t,a),t+=1;return e},e}(r.ColumnarDataSource);n.GeoJSONDataSource=a,a.prototype.type=\"GeoJSONDataSource\",a.define({geojson:[s.Any]}),a.internal({data:[s.Any,{}]})},function(t,e,n){var i=t(171);n.AjaxDataSource=i.AjaxDataSource;var r=t(173);n.ColumnDataSource=r.ColumnDataSource;var o=t(174);n.ColumnarDataSource=o.ColumnarDataSource;var s=t(172);n.CDSView=s.CDSView;var a=t(175);n.DataSource=a.DataSource;var l=t(176);n.GeoJSONDataSource=l.GeoJSONDataSource;var u=t(178);n.RemoteDataSource=u.RemoteDataSource},function(t,e,n){var i=t(364),r=t(173),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ColumnDataSource);n.RemoteDataSource=s,s.prototype.type=\"RemoteDataSource\",s.define({data_url:[o.String],polling_interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=t(22),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n);var i=s.nth(this.mantissas,-1)/this.base,r=s.nth(this.mantissas,0)*this.base;this.extended_mantissas=[i].concat(this.mantissas,[r]),this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()},e.prototype.get_interval=function(t,e,n){var i=e-t,r=this.get_ideal_interval(t,e,n),o=Math.floor(function(t,e){void 0===e&&(e=Math.E);return Math.log(t)/Math.log(e)}(r/this.base_factor,this.base)),a=Math.pow(this.base,o)*this.base_factor,l=this.extended_mantissas,u=l.map(function(t){return Math.abs(n-i/(t*a))}),h=l[s.argmin(u)],c=h*a;return function(t,e,n){return Math.max(e,Math.min(n,t))}(c,this.get_min_interval(),this.get_max_interval())},e}(r.ContinuousTicker);n.AdaptiveTicker=a,a.prototype.type=\"AdaptiveTicker\",a.define({base:[o.Number,10],mantissas:[o.Array,[1,2,5]],min_interval:[o.Number,0],max_interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(179),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AdaptiveTicker);n.BasicTicker=o,o.prototype.type=\"BasicTicker\"},function(t,e,n){var i=t(364),r=t(192),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks=function(t,e,n,i,r){var o=this._collect(n.factors,n,t,e),s=this._collect(n.tops||[],n,t,e),a=this._collect(n.mids||[],n,t,e);return{major:o,minor:[],tops:s,mids:a}},e.prototype._collect=function(t,e,n,i){for(var r=[],o=0,s=t;o<s.length;o++){var a=s[o],l=e.synthetic(a);l>n&&l<i&&r.push(a)}return r},e}(r.Ticker);n.CategoricalTicker=o,o.prototype.type=\"CategoricalTicker\"},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=t(22),a=t(30),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),Object.defineProperty(e.prototype,\"min_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_min_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_max_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"min_interval\",{get:function(){return this.min_intervals[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_interval\",{get:function(){return this.max_intervals[0]},enumerable:!0,configurable:!0}),e.prototype.get_best_ticker=function(t,e,n){var i,r=e-t,o=this.get_ideal_interval(t,e,n),l=[s.sortedIndex(this.min_intervals,o)-1,s.sortedIndex(this.max_intervals,o)],u=[this.min_intervals[l[0]],this.max_intervals[l[1]]],h=u.map(function(t){return Math.abs(n-r/t)});if(a.isEmpty(h.filter(function(t){return!isNaN(t)})))i=this.tickers[0];else{var c=s.argmin(h),_=l[c];i=this.tickers[_]}return i},e.prototype.get_interval=function(t,e,n){var i=this.get_best_ticker(t,e,n);return i.get_interval(t,e,n)},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=this.get_best_ticker(t,e,i);return r.get_ticks_no_defaults(t,e,n,i)},e}(r.ContinuousTicker);n.CompositeTicker=l,l.prototype.type=\"CompositeTicker\",l.define({tickers:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(192),o=t(15),s=t(22),a=t(42),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks=function(t,e,n,i,r){return this.get_ticks_no_defaults(t,e,i,this.desired_num_ticks)},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=this.get_interval(t,e,i),o=Math.floor(t/r),l=Math.ceil(e/r),u=(a.isStrictNaN(o)||a.isStrictNaN(l)?[]:s.range(o,l+1)).map(function(t){return t*r}).filter(function(n){return t<=n&&n<=e}),h=this.num_minor_ticks,c=[];if(h>0&&u.length>0){for(var _=r/h,p=s.range(0,h).map(function(t){return t*_}),d=0,f=p.slice(1);d<f.length;d++){var m=f[d];c.push(u[0]-m)}for(var v=0,g=u;v<g.length;v++)for(var y=g[v],b=0,x=p;b<x.length;b++){var m=x[b];c.push(y+m)}}return{major:u,minor:c}},e.prototype.get_min_interval=function(){return this.min_interval},e.prototype.get_max_interval=function(){return null!=this.max_interval?this.max_interval:1/0},e.prototype.get_ideal_interval=function(t,e,n){var i=e-t;return i/n},e}(r.Ticker);n.ContinuousTicker=l,l.prototype.type=\"ContinuousTicker\",l.define({num_minor_ticks:[o.Number,5],desired_num_ticks:[o.Number,6]})},function(t,e,n){var i=t(364),r=t(22),o=t(179),s=t(182),a=t(185),l=t(190),u=t(194),h=t(193),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.CompositeTicker);n.DatetimeTicker=c,c.prototype.type=\"DatetimeTicker\",c.override({num_minor_ticks:0,tickers:function(){return[new o.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*h.ONE_MILLI,num_minor_ticks:0}),new o.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:h.ONE_SECOND,max_interval:30*h.ONE_MINUTE,num_minor_ticks:0}),new o.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:h.ONE_HOUR,max_interval:12*h.ONE_HOUR,num_minor_ticks:0}),new a.DaysTicker({days:r.range(1,32)}),new a.DaysTicker({days:r.range(1,31,3)}),new a.DaysTicker({days:[1,8,15,22]}),new a.DaysTicker({days:[1,15]}),new l.MonthsTicker({months:r.range(0,12,1)}),new l.MonthsTicker({months:r.range(0,12,2)}),new l.MonthsTicker({months:r.range(0,12,4)}),new l.MonthsTicker({months:r.range(0,12,6)}),new u.YearsTicker({})]}})},function(t,e,n){var i=t(364),r=t(191),o=t(193),s=t(15),a=t(22),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){e.num_minor_ticks=0,t.prototype.initialize.call(this,e,n);var i=this.days;i.length>1?this.interval=(i[1]-i[0])*o.ONE_DAY:this.interval=31*o.ONE_DAY},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=function(t,e){var n=o.last_month_no_later_than(new Date(t)),i=o.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);var r=[],s=n;for(;r.push(o.copy_date(s)),s.setUTCMonth(s.getUTCMonth()+1),!(s>i););return r}(t,e),s=this.days,l=this.interval,u=a.concat(r.map(function(t){return function(t,e){for(var n=[],i=0,r=s;i<r.length;i++){var a=r[i],l=o.copy_date(t);l.setUTCDate(a);var u=new Date(l.getTime()+e/2);u.getUTCMonth()==t.getUTCMonth()&&n.push(l)}return n}(t,l)})),h=u.map(function(t){return t.getTime()}),c=h.filter(function(n){return t<=n&&n<=e});return{major:c,minor:[]}},e}(r.SingleIntervalTicker);n.DaysTicker=l,l.prototype.type=\"DaysTicker\",l.define({days:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.min_interval=0,e.max_interval=0,e}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(t,e,n,i){return{major:this.ticks,minor:[]}},e.prototype.get_interval=function(t,e,n){return 0},e}(r.ContinuousTicker);n.FixedTicker=s,s.prototype.type=\"FixedTicker\",s.define({ticks:[o.Array,[]]})},function(t,e,n){var i=t(179);n.AdaptiveTicker=i.AdaptiveTicker;var r=t(180);n.BasicTicker=r.BasicTicker;var o=t(181);n.CategoricalTicker=o.CategoricalTicker;var s=t(182);n.CompositeTicker=s.CompositeTicker;var a=t(183);n.ContinuousTicker=a.ContinuousTicker;var l=t(184);n.DatetimeTicker=l.DatetimeTicker;var u=t(185);n.DaysTicker=u.DaysTicker;var h=t(186);n.FixedTicker=h.FixedTicker;var c=t(188);n.LogTicker=c.LogTicker;var _=t(189);n.MercatorTicker=_.MercatorTicker;var p=t(190);n.MonthsTicker=p.MonthsTicker;var d=t(191);n.SingleIntervalTicker=d.SingleIntervalTicker;var f=t(192);n.Ticker=f.Ticker;var m=t(194);n.YearsTicker=m.YearsTicker},function(t,e,n){var i=t(364),r=t(22),o=t(179),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(t,e,n,i){var o,s=this.num_minor_ticks,a=[],l=this.base,u=Math.log(t)/Math.log(l),h=Math.log(e)/Math.log(l),c=h-u;if(isFinite(c))if(c<2){var _=this.get_interval(t,e,i),p=Math.floor(t/_),d=Math.ceil(e/_);if(o=r.range(p,d+1).filter(function(t){return 0!=t}).map(function(t){return t*_}).filter(function(n){return t<=n&&n<=e}),s>0&&o.length>0){for(var f=_/s,m=r.range(0,s).map(function(t){return t*f}),v=0,g=m.slice(1);v<g.length;v++){var y=g[v];a.push(o[0]-y)}for(var b=0,x=o;b<x.length;b++)for(var w=x[b],k=0,S=m;k<S.length;k++){var y=S[k];a.push(w+y)}}}else{var T=Math.ceil(.999999*u),M=Math.floor(1.000001*h),A=Math.ceil((M-T)/9);if(o=r.range(T,M+1,A).map(function(t){return Math.pow(l,t)}).filter(function(n){return t<=n&&n<=e}),s>0&&o.length>0){for(var E=Math.pow(l,A)/s,m=r.range(1,s+1).map(function(t){return t*E}),z=0,C=m;z<C.length;z++){var y=C[z];a.push(o[0]/y)}a.push(o[0]);for(var O=0,N=o;O<N.length;O++)for(var w=N[O],j=0,P=m;j<P.length;j++){var y=P[j];a.push(w*y)}}}else o=[];return{major:o,minor:a}},e}(o.AdaptiveTicker);n.LogTicker=s,s.prototype.type=\"LogTicker\",s.override({mantissas:[1,5]})},function(t,e,n){var i=t(364),r=t(180),o=t(15),s=t(31),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(e,n,i,r){if(null==this.dimension)throw new Error(\"MercatorTicker.dimension not configured\");T=s.clip_mercator(e,n,this.dimension),e=T[0],n=T[1];var o,a,l;\"lon\"===this.dimension?(M=s.proj4(s.mercator).inverse([e,i]),o=M[0],l=M[1],A=s.proj4(s.mercator).inverse([n,i]),a=A[0],l=A[1]):(E=s.proj4(s.mercator).inverse([i,e]),l=E[0],o=E[1],z=s.proj4(s.mercator).inverse([i,n]),l=z[0],a=z[1]);var u=t.prototype.get_ticks_no_defaults.call(this,o,a,i,r),h=[],c=[];if(\"lon\"===this.dimension){for(var _=0,p=u.major;_<p.length;_++){var d=p[_];if(s.in_bounds(d,\"lon\")){var f=s.proj4(s.mercator).forward([d,l])[0];h.push(f)}}for(var m=0,v=u.minor;m<v.length;m++){var d=v[m];if(s.in_bounds(d,\"lon\")){var f=s.proj4(s.mercator).forward([d,l])[0];c.push(f)}}}else{for(var g=0,y=u.major;g<y.length;g++){var d=y[g];if(s.in_bounds(d,\"lat\")){var b=s.proj4(s.mercator).forward([l,d]),x=b[1];h.push(x)}}for(var w=0,k=u.minor;w<k.length;w++){var d=k[w];if(s.in_bounds(d,\"lat\")){var S=s.proj4(s.mercator).forward([l,d]),x=S[1];c.push(x)}}}return{major:h,minor:c};var T,M,A,E,z},e}(r.BasicTicker);n.MercatorTicker=a,a.prototype.type=\"MercatorTicker\",a.define({dimension:[o.LatLon]})},function(t,e,n){var i=t(364),r=t(191),o=t(193),s=t(15),a=t(22),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n);var i=this.months;i.length>1?this.interval=(i[1]-i[0])*o.ONE_MONTH:this.interval=12*o.ONE_MONTH},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=function(t,e){var n=o.last_year_no_later_than(new Date(t)),i=o.last_year_no_later_than(new Date(e));i.setUTCFullYear(i.getUTCFullYear()+1);var r=[],s=n;for(;r.push(o.copy_date(s)),s.setUTCFullYear(s.getUTCFullYear()+1),!(s>i););return r}(t,e),s=this.months,l=a.concat(r.map(function(t){return s.map(function(e){var n=o.copy_date(t);return n.setUTCMonth(e),n})})),u=l.map(function(t){return t.getTime()}),h=u.filter(function(n){return t<=n&&n<=e});return{major:h,minor:[]}},e}(r.SingleIntervalTicker);n.MonthsTicker=l,l.prototype.type=\"MonthsTicker\",l.define({months:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_interval=function(t,e,n){return this.interval},Object.defineProperty(e.prototype,\"min_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),e}(r.ContinuousTicker);n.SingleIntervalTicker=s,s.prototype.type=\"SingleIntervalTicker\",s.define({interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(50),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Model);n.Ticker=o,o.prototype.type=\"Ticker\"},function(t,e,n){function i(t){return new Date(t.getTime())}function r(t){var e=i(t);return e.setUTCDate(1),e.setUTCHours(0),e.setUTCMinutes(0),e.setUTCSeconds(0),e.setUTCMilliseconds(0),e}n.ONE_MILLI=1,n.ONE_SECOND=1e3,n.ONE_MINUTE=60*n.ONE_SECOND,n.ONE_HOUR=60*n.ONE_MINUTE,n.ONE_DAY=24*n.ONE_HOUR,n.ONE_MONTH=30*n.ONE_DAY,n.ONE_YEAR=365*n.ONE_DAY,n.copy_date=i,n.last_month_no_later_than=r,n.last_year_no_later_than=function(t){var e=r(t);return e.setUTCMonth(0),e}},function(t,e,n){var i=t(364),r=t(180),o=t(191),s=t(193),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this.interval=s.ONE_YEAR,this.basic_ticker=new r.BasicTicker({num_minor_ticks:0})},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=s.last_year_no_later_than(new Date(t)).getUTCFullYear(),o=s.last_year_no_later_than(new Date(e)).getUTCFullYear(),a=this.basic_ticker.get_ticks_no_defaults(r,o,n,i).major,l=a.map(function(t){return Date.UTC(t,0,1)}),u=l.filter(function(n){return t<=n&&n<=e});return{major:u,minor:[]}},e}(o.SingleIntervalTicker);n.YearsTicker=a,a.prototype.type=\"YearsTicker\"},function(t,e,n){var i=t(364),r=t(200),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i,r,o,s,a;return i=this.string_lookup_replace(this.url,this.extra_url_vars),this.use_latlon?(l=this.get_tile_geographic_bounds(t,e,n),o=l[0],a=l[1],r=l[2],s=l[3]):(u=this.get_tile_meter_bounds(t,e,n),o=u[0],a=u[1],r=u[2],s=u[3]),i.replace(\"{XMIN}\",o).replace(\"{YMIN}\",a).replace(\"{XMAX}\",r).replace(\"{YMAX}\",s);var l,u},e}(r.MercatorTileSource);n.BBoxTileSource=s,s.prototype.type=\"BBoxTileSource\",s.define({use_latlon:[o.Bool,!1]})},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=t(165),s=t(14),a=t(15);n.DynamicImageView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._on_image_load=e._on_image_load.bind(e),e._on_image_error=e._on_image_error.bind(e),e}return i.__extends(e,t),e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype.get_extent=function(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]},e.prototype._set_data=function(){return this.map_plot=this.plot_view.model.plot,this.map_canvas=this.plot_view.canvas_view.ctx,this.map_frame=this.plot_view.frame,this.x_range=this.map_plot.x_range,this.y_range=this.map_plot.y_range,this.lastImage=void 0,this.extent=this.get_extent()},e.prototype._map_data=function(){return this.initial_extent=this.get_extent()},e.prototype._on_image_load=function(t){var n;if(r(this,e),n=t.target.image_data,n.img=t.target,n.loaded=!0,this.lastImage=n,this.get_extent().join(\":\")===n.cache_key)return this.request_render()},e.prototype._on_image_error=function(t){var n;return r(this,e),s.logger.error(\"Error loading image: \"+t.target.src),n=t.target.image_data,this.model.image_source.remove_image(n)},e.prototype._create_image=function(t){var e;return e=new Image,e.onload=this._on_image_load,e.onerror=this._on_image_error,e.alt=\"\",e.image_data={bounds:t,loaded:!1,cache_key:t.join(\":\")},this.model.image_source.add_image(e.image_data),e.src=this.model.image_source.get_image_url(t[0],t[1],t[2],t[3],Math.ceil(this.map_frame._height.value),Math.ceil(this.map_frame._width.value)),e},e.prototype.render=function(t,e,n){var i,r,o=this;if(null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),i=this.get_extent(),this.render_timer&&clearTimeout(this.render_timer),null==(r=this.model.image_source.images[i.join(\":\")])||!r.loaded)return null!=this.lastImage&&this._draw_image(this.lastImage.cache_key),null==r?this.render_timer=setTimeout(function(){return o._create_image(i)},125):void 0;this._draw_image(i.join(\":\"))},e.prototype._draw_image=function(t){var e,n,i,r,o,s,a,l,u;if(null!=(e=this.model.image_source.images[t]))return this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha,h=this.plot_view.map_to_screen([e.bounds[0]],[e.bounds[3]]),s=h[0],u=h[1],c=this.plot_view.map_to_screen([e.bounds[2]],[e.bounds[1]]),o=c[0],l=c[1],s=s[0],u=u[0],o=o[0],l=l[0],i=o-s,n=l-u,r=s,a=u,this.map_canvas.drawImage(e.img,r,a,i,n),this.map_canvas.restore();var h,c},e.prototype._set_rect=function(){var t,e,n,i,r;return n=this.plot_model.plot.properties.outline_line_width.value(),e=this.map_frame._left.value+n/2,i=this.map_frame._top.value+n/2,r=this.map_frame._width.value-n,t=this.map_frame._height.value-n,this.map_canvas.rect(e,i,r,t),this.map_canvas.clip()},e}(o.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Renderer);n.DynamicImageRenderer=l,l.prototype.default_view=n.DynamicImageView,l.prototype.type=\"DynamicImageRenderer\",l.define({alpha:[a.Number,1],image_source:[a.Instance],render_parents:[a.Bool,!0]}),l.override({level:\"underlay\"})},function(t,e,n){n.ImagePool=function(){function t(){this.images=[]}return t.prototype.pop=function(){var t;return null!=(t=this.images.pop())?t:new Image},t.prototype.push=function(t){if(!(this.images.length>50))return t.constructor===Array?Array.prototype.push.apply(this.images,t):this.images.push(t)},t}()},function(t,e,n){var i=t(364),r=t(15),o=t(50),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.images={},this.normalize_case()},e.prototype.normalize_case=function(){\"Note: should probably be refactored into subclasses.\";var t;return t=this.url,t=t.replace(\"{xmin}\",\"{XMIN}\"),t=t.replace(\"{ymin}\",\"{YMIN}\"),t=t.replace(\"{xmax}\",\"{XMAX}\"),t=t.replace(\"{ymax}\",\"{YMAX}\"),t=t.replace(\"{height}\",\"{HEIGHT}\"),t=t.replace(\"{width}\",\"{WIDTH}\"),this.url=t},e.prototype.string_lookup_replace=function(t,e){var n,i,r;i=t;for(n in e)r=e[n],i=i.replace(\"{\"+n+\"}\",r.toString());return i},e.prototype.add_image=function(t){return this.images[t.cache_key]=t},e.prototype.remove_image=function(t){return delete this.images[t.cache_key]},e.prototype.get_image_url=function(t,e,n,i,r,o){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{XMIN}\",t).replace(\"{YMIN}\",e).replace(\"{XMAX}\",n).replace(\"{YMAX}\",i).replace(\"{WIDTH}\",o).replace(\"{HEIGHT}\",r)},e}(o.Model);n.ImageSource=s,s.prototype.type=\"ImageSource\",s.define({url:[r.String,\"\"],extra_url_vars:[r.Any,{}]})},function(t,e,n){var i=t(195);n.BBoxTileSource=i.BBoxTileSource;var r=t(196);n.DynamicImageRenderer=r.DynamicImageRenderer;var o=t(198);n.ImageSource=o.ImageSource;var s=t(200);n.MercatorTileSource=s.MercatorTileSource;var a=t(201);n.QUADKEYTileSource=a.QUADKEYTileSource;var l=t(202);n.TileRenderer=l.TileRenderer;var u=t(203);n.TileSource=u.TileSource;var h=t(205);n.TMSTileSource=h.TMSTileSource;var c=t(206);n.WMTSTileSource=c.WMTSTileSource},function(t,e,n){var i=t(364),r=[].indexOf,o=t(203),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n;return t.prototype.initialize.call(this,e),this._resolutions=function(){var t,e,i,r;for(r=[],n=t=e=this.min_zoom,i=this.max_zoom;e<=i?t<=i:t>=i;n=e<=i?++t:--t)r.push(this.get_resolution(n));return r}.call(this)},e.prototype._computed_initial_resolution=function(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size},e.prototype.is_valid_tile=function(t,e,n){return!(!this.wrap_around&&(t<0||t>=Math.pow(2,n)))&&!(e<0||e>=Math.pow(2,n))},e.prototype.retain_children=function(t){var e,n,i,r,o,s,a;r=t.quadkey,i=r.length,n=i+3,o=this.tiles,s=[];for(e in o)0===(a=o[e]).quadkey.indexOf(r)&&a.quadkey.length>i&&a.quadkey.length<=n?s.push(a.retain=!0):s.push(void 0);return s},e.prototype.retain_neighbors=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d;f=t.tile_coords,h=f[0],c=f[1],_=f[2],n=function(){var t,e,n,i;for(i=[],p=t=e=h-4,n=h+4;e<=n?t<=n:t>=n;p=e<=n?++t:--t)i.push(p);return i}(),i=function(){var t,e,n,i;for(i=[],d=t=e=c-4,n=c+4;e<=n?t<=n:t>=n;d=e<=n?++t:--t)i.push(d);return i}(),o=this.tiles,l=[];for(e in o)(u=o[e]).tile_coords[2]===_&&(s=u.tile_coords[0],r.call(n,s)>=0)&&(a=u.tile_coords[1],r.call(i,a)>=0)?l.push(u.retain=!0):l.push(void 0);return l;var f},e.prototype.retain_parents=function(t){var e,n,i,r,o;n=t.quadkey,i=this.tiles,r=[];for(e in i)o=i[e],r.push(o.retain=0===n.indexOf(o.quadkey));return r},e.prototype.children_by_tile_xyz=function(t,e,n){var i,r,o,s,a,l;for(0!==(l=this.calculate_world_x_by_tile_xyz(t,e,n))&&(u=this.normalize_xyz(t,e,n),t=u[0],e=u[1],n=u[2]),a=this.tile_xyz_to_quadkey(t,e,n),r=[],o=s=0;s<=3;o=s+=1)h=this.quadkey_to_tile_xyz(a+o.toString()),t=h[0],e=h[1],n=h[2],0!==l&&(c=this.denormalize_xyz(t,e,n,l),t=c[0],e=c[1],n=c[2]),null!=(i=this.get_tile_meter_bounds(t,e,n))&&r.push([t,e,n,i]);return r;var u,h,c},e.prototype.parent_by_tile_xyz=function(t,e,n){var i,r;return r=this.tile_xyz_to_quadkey(t,e,n),i=r.substring(0,r.length-1),this.quadkey_to_tile_xyz(i)},e.prototype.get_resolution=function(t){return this._computed_initial_resolution()/Math.pow(2,t)},e.prototype.get_resolution_by_extent=function(t,e,n){var i,r;return i=(t[2]-t[0])/n,r=(t[3]-t[1])/e,[i,r]},e.prototype.get_level_by_extent=function(t,e,n){var i,r,o,s,a,l,u,h;for(u=(t[2]-t[0])/n,h=(t[3]-t[1])/e,l=Math.max(u,h),i=0,a=this._resolutions,r=0,o=a.length;r<o;r++){if(s=a[r],l>s){if(0===i)return 0;if(i>0)return i-1}i+=1}},e.prototype.get_closest_level_by_extent=function(t,e,n){var i,r,o,s;return o=(t[2]-t[0])/n,s=(t[3]-t[1])/e,r=Math.max(o,s),this._resolutions,i=this._resolutions.reduce(function(t,e){return Math.abs(e-r)<Math.abs(t-r)?e:t}),this._resolutions.indexOf(i)},e.prototype.snap_to_zoom=function(t,e,n,i){var r,o,s,a,l,u,h,c,_;return r=this._resolutions[i],o=n*r,s=e*r,u=t[0],_=t[1],l=t[2],c=t[3],a=(o-(l-u))/2,h=(s-(c-_))/2,[u-a,_-h,l+a,c+h]},e.prototype.tms_to_wmts=function(t,e,n){\"Note this works both ways\";return[t,Math.pow(2,n)-1-e,n]},e.prototype.wmts_to_tms=function(t,e,n){\"Note this works both ways\";return[t,Math.pow(2,n)-1-e,n]},e.prototype.pixels_to_meters=function(t,e,n){var i,r,o;return o=this.get_resolution(n),i=t*o-this.x_origin_offset,r=e*o-this.y_origin_offset,[i,r]},e.prototype.meters_to_pixels=function(t,e,n){var i,r,o;return o=this.get_resolution(n),i=(t+this.x_origin_offset)/o,r=(e+this.y_origin_offset)/o,[i,r]},e.prototype.pixels_to_tile=function(t,e){var n,i;return n=Math.ceil(t/parseFloat(this.tile_size)),n=0===n?n:n-1,i=Math.max(Math.ceil(e/parseFloat(this.tile_size))-1,0),[n,i]},e.prototype.pixels_to_raster=function(t,e,n){var i;return i=this.tile_size<<n,[t,i-e]},e.prototype.meters_to_tile=function(t,e,n){var i,r;return o=this.meters_to_pixels(t,e,n),i=o[0],r=o[1],this.pixels_to_tile(i,r);var o},e.prototype.get_tile_meter_bounds=function(t,e,n){var i,r,o,s;return a=this.pixels_to_meters(t*this.tile_size,e*this.tile_size,n),r=a[0],s=a[1],l=this.pixels_to_meters((t+1)*this.tile_size,(e+1)*this.tile_size,n),i=l[0],o=l[1],null!=r&&null!=s&&null!=i&&null!=o?[r,s,i,o]:void 0;var a,l},e.prototype.get_tile_geographic_bounds=function(t,e,n){var i,r,o,s,a;return i=this.get_tile_meter_bounds(t,e,n),l=this.utils.meters_extent_to_geographic(i),a=l[0],s=l[1],o=l[2],r=l[3],[a,s,o,r];var l},e.prototype.get_tiles_by_extent=function(t,e,n){void 0===n&&(n=1);var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v;for(f=t[0],v=t[1],d=t[2],m=t[3],g=this.meters_to_tile(f,v,e),h=g[0],p=g[1],y=this.meters_to_tile(d,m,e),u=y[0],_=y[1],h-=n,u+=n,a=[],c=i=_+=n,o=p-=n;i>=o;c=i+=-1)for(l=r=h,s=u;r<=s;l=r+=1)this.is_valid_tile(l,c,e)&&a.push([l,c,e,this.get_tile_meter_bounds(l,c,e)]);return a=this.sort_tiles_from_center(a,[h,p,u,_]);var g,y},e.prototype.quadkey_to_tile_xyz=function(t){\"Computes tile x, y and z values based on quadKey.\";var e,n,i,r,o,s,a;for(r=0,o=0,s=t.length,e=n=s;n>0;e=n+=-1)switch(a=t.charAt(s-e),i=1<<e-1,a){case\"0\":continue;case\"1\":r|=i;break;case\"2\":o|=i;break;case\"3\":r|=i,o|=i;break;default:throw new TypeError(\"Invalid Quadkey: \"+t)}return[r,o,s]},e.prototype.tile_xyz_to_quadkey=function(t,e,n){\"Computes quadkey value based on tile x, y and z values.\";var i,r,o,s,a;for(a=\"\",r=o=n;o>0;r=o+=-1)i=0,0!=(t&(s=1<<r-1))&&(i+=1),0!=(e&s)&&(i+=2),a+=i.toString();return a},e.prototype.children_by_tile_xyz=function(t,e,n){var i,r,o,s,a;for(a=this.tile_xyz_to_quadkey(t,e,n),r=[],o=s=0;s<=3;o=s+=1)l=this.quadkey_to_tile_xyz(a+o.toString()),t=l[0],e=l[1],n=l[2],null!=(i=this.get_tile_meter_bounds(t,e,n))&&r.push([t,e,n,i]);return r;var l},e.prototype.parent_by_tile_xyz=function(t,e,n){var i,r;return r=this.tile_xyz_to_quadkey(t,e,n),i=r.substring(0,r.length-1),this.quadkey_to_tile_xyz(i)},e.prototype.get_closest_parent_by_tile_xyz=function(t,e,n){var i,r;for(r=this.calculate_world_x_by_tile_xyz(t,e,n),o=this.normalize_xyz(t,e,n),t=o[0],e=o[1],n=o[2],i=this.tile_xyz_to_quadkey(t,e,n);i.length>0;)if(i=i.substring(0,i.length-1),s=this.quadkey_to_tile_xyz(i),t=s[0],e=s[1],n=s[2],a=this.denormalize_xyz(t,e,n,r),t=a[0],e=a[1],n=a[2],this.tile_xyz_to_key(t,e,n)in this.tiles)return[t,e,n];return[0,0,0];var o,s,a},e.prototype.normalize_xyz=function(t,e,n){var i;return this.wrap_around?(i=Math.pow(2,n),[(t%i+i)%i,e,n]):[t,e,n]},e.prototype.denormalize_xyz=function(t,e,n,i){return[t+i*Math.pow(2,n),e,n]},e.prototype.denormalize_meters=function(t,e,n,i){return[t+2*i*Math.PI*6378137,e]},e.prototype.calculate_world_x_by_tile_xyz=function(t,e,n){return Math.floor(t/Math.pow(2,n))},e}(o.TileSource);n.MercatorTileSource=a,a.prototype.type=\"MercatorTileSource\",a.define({wrap_around:[s.Bool,!0]}),a.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i,r;return i=this.string_lookup_replace(this.url,this.extra_url_vars),o=this.tms_to_wmts(t,e,n),t=o[0],e=o[1],n=o[2],r=this.tile_xyz_to_quadkey(t,e,n),i.replace(\"{Q}\",r);var o},e}(r.MercatorTileSource);n.QUADKEYTileSource=o,o.prototype.type=\"QUADKEYTileSource\"},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=[].indexOf,s=t(197),a=t(206),l=t(165),u=t(5),h=t(15),c=t(42);n.TileRendererView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._add_attribution=e._add_attribution.bind(e),e._on_tile_load=e._on_tile_load.bind(e),e._on_tile_cache_load=e._on_tile_cache_load.bind(e),e._on_tile_error=e._on_tile_error.bind(e),e._prefetch_tiles=e._prefetch_tiles.bind(e),e._update=e._update.bind(e),e}return i.__extends(e,t),e.prototype.initialize=function(e){return this.attributionEl=null,this._tiles=[],t.prototype.initialize.call(this,e)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype.get_extent=function(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]},e.prototype._set_data=function(){return this.pool=new s.ImagePool,this.map_plot=this.plot_model.plot,this.map_canvas=this.plot_view.canvas_view.ctx,this.map_frame=this.plot_model.frame,this.x_range=this.map_plot.x_range,this.y_range=this.map_plot.y_range,this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0},e.prototype._add_attribution=function(){var t,n,i,o;if(r(this,e),t=this.model.tile_source.attribution,c.isString(t)&&t.length>0)return null==this.attributionEl&&(o=this.plot_model.canvas._right.value-this.plot_model.frame._right.value,n=this.plot_model.canvas._bottom.value-this.plot_model.frame._bottom.value,i=this.map_frame._width.value,this.attributionEl=u.div({class:\"bk-tile-attribution\",style:{position:\"absolute\",bottom:n+\"px\",right:o+\"px\",\"max-width\":i+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.8)\",\"font-size\":\"9pt\",\"font-family\":\"sans-serif\"}}),this.plot_view.canvas_view.events_el.appendChild(this.attributionEl)),this.attributionEl.innerHTML=t},e.prototype._map_data=function(){var t,e;return this.initial_extent=this.get_extent(),e=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value),t=this.model.tile_source.snap_to_zoom(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value,e),this.x_range.start=t[0],this.y_range.start=t[1],this.x_range.end=t[2],this.y_range.end=t[3],this._add_attribution()},e.prototype._on_tile_load=function(t){var n;return r(this,e),n=t.target.tile_data,n.img=t.target,n.current=!0,n.loaded=!0,this.request_render()},e.prototype._on_tile_cache_load=function(t){var n;return r(this,e),n=t.target.tile_data,n.img=t.target,n.loaded=!0,n.finished=!0,this.notify_finished()},e.prototype._on_tile_error=function(t){var n;return r(this,e),n=t.target.tile_data,n.finished=!0},e.prototype._create_tile=function(t,e,n,i,r){void 0===r&&(r=!1);var o,s;return o=this.model.tile_source.normalize_xyz(t,e,n),s=this.pool.pop(),s.onload=r?this._on_tile_cache_load:this._on_tile_load,s.onerror=this._on_tile_error,s.alt=\"\",s.tile_data={tile_coords:[t,e,n],normalized_coords:o,quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,n),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,n),bounds:i,loaded:!1,finished:!1,x_coord:i[0],y_coord:i[3]},this.model.tile_source.tiles[s.tile_data.cache_key]=s.tile_data,s.src=(a=this.model.tile_source).get_image_url.apply(a,o),this._tiles.push(s),s;var a},e.prototype._enforce_aspect_ratio=function(){var t,e,n;return(this._last_height!==this.map_frame._height.value||this._last_width!==this.map_frame._width.value)&&(t=this.get_extent(),n=this.model.tile_source.get_level_by_extent(t,this.map_frame._height.value,this.map_frame._width.value),e=this.model.tile_source.snap_to_zoom(t,this.map_frame._height.value,this.map_frame._width.value,n),this.x_range.setv({start:e[0],end:e[2]}),this.y_range.setv({start:e[1],end:e[3]}),this.extent=e,this._last_height=this.map_frame._height.value,this._last_width=this.map_frame._width.value,!0)},e.prototype.has_finished=function(){var e,n,i;if(!t.prototype.has_finished.call(this))return!1;if(0===this._tiles.length)return!1;for(i=this._tiles,e=0,n=i.length;e<n;e++)if(!i[e].tile_data.finished)return!1;return!0},e.prototype.render=function(t,e,n){if(null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),!this._enforce_aspect_ratio())return this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles,500),this.has_finished()?this.notify_finished():void 0},e.prototype._draw_tile=function(t){var e,n,i,r,o,s,a,l,u;if(null!=(u=this.model.tile_source.tiles[t]))return h=this.plot_view.map_to_screen([u.bounds[0]],[u.bounds[3]]),o=h[0],l=h[1],c=this.plot_view.map_to_screen([u.bounds[2]],[u.bounds[1]]),r=c[0],a=c[1],o=o[0],l=l[0],r=r[0],a=a[0],n=r-o,e=a-l,i=o,s=l,this.map_canvas.drawImage(u.img,i,s,n,e);var h,c},e.prototype._set_rect=function(){var t,e,n,i,r;return n=this.plot_model.plot.properties.outline_line_width.value(),e=this.map_frame._left.value+n/2,i=this.map_frame._top.value+n/2,r=this.map_frame._width.value-n,t=this.map_frame._height.value-n,this.map_canvas.rect(e,i,r,t),this.map_canvas.clip()},e.prototype._render_tiles=function(t){var e,n,i;for(this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha,e=0,n=t.length;e<n;e++)i=t[e],this._draw_tile(i);return this.map_canvas.restore()},e.prototype._prefetch_tiles=function(){var t,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b;for(r(this,e),d=this.model.tile_source,l=this.get_extent(),u=this.map_frame._height.value,m=this.map_frame._width.value,b=this.model.tile_source.get_level_by_extent(l,u,m),f=this.model.tile_source.get_tiles_by_extent(l,b),_=[],p=h=0,c=Math.min(10,f.length);h<=c;p=h+=1)v=p[0],g=p[1],y=p[2],p[3],i=this.model.tile_source.children_by_tile_xyz(v,g,y),_.push(function(){var e,r,l;for(l=[],e=0,r=i.length;e<r;e++)t=i[e],o=t[0],s=t[1],a=t[2],n=t[3],d.tile_xyz_to_key(o,s,a)in d.tiles||l.push(this._create_tile(o,s,a,n,!0));return l}.call(this));return _},e.prototype._fetch_tiles=function(t){var e,n,i,r,o,s,a,l;for(r=[],n=0,i=t.length;n<i;n++)o=t[n],s=o[0],a=o[1],l=o[2],e=o[3],r.push(this._create_tile(s,a,l,e));return r},e.prototype._update=function(){var t,n,i,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D,F,I,B,R=this;for(r(this,e),O=this.model.tile_source,b=O.min_zoom,y=O.max_zoom,O.update(),h=this.get_extent(),B=this.extent[2]-this.extent[0]<h[2]-h[0],c=this.map_frame._height.value,j=this.map_frame._width.value,I=O.get_level_by_extent(h,c,j),E=!1,I<b?(h=this.extent,I=b,E=!0):I>y&&(h=this.extent,I=y,E=!0),E&&(this.x_range.setv({x_range:{start:h[0],end:h[2]}}),this.y_range.setv({start:h[1],end:h[3]}),this.extent=h),this.extent=h,N=O.get_tiles_by_extent(h,I),S=[],x=[],n=[],s=[],_=0,m=N.length;_<m;_++){if(z=N[_],P=z[0],D=z[1],F=z[2],z[3],f=O.tile_xyz_to_key(P,D,F),null!=(C=O.tiles[f])&&!0===C.loaded)n.push(f);else if(this.model.render_parents&&(L=O.get_closest_parent_by_tile_xyz(P,D,F),T=L[0],M=L[1],A=L[2],w=O.tile_xyz_to_key(T,M,A),null!=(k=O.tiles[w])&&k.loaded&&o.call(S,w)<0&&S.push(w),B))for(s=O.children_by_tile_xyz(P,D,F),p=0,v=s.length;p<v;p++)t=s[p],a=t[0],l=t[1],u=t[2],t[3],(i=O.tile_xyz_to_key(a,l,u))in O.tiles&&s.push(i);null==C&&x.push(z)}for(this._render_tiles(S),this._render_tiles(s),this._render_tiles(n),d=0,g=n.length;d<g;d++)z=n[d],O.tiles[z].current=!0;return null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout(function(){return R._fetch_tiles(x)},65);var L},e}(l.RendererView);var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Renderer);n.TileRenderer=_,_.prototype.default_view=n.TileRendererView,_.prototype.type=\"TileRenderer\",_.define({alpha:[h.Number,1],x_range_name:[h.String,\"default\"],y_range_name:[h.String,\"default\"],tile_source:[h.Instance,function(){return new a.WMTSTileSource}],render_parents:[h.Bool,!0]}),_.override({level:\"underlay\"})},function(t,e,n){var i=t(364),r=t(197),o=t(204),s=t(14),a=t(15),l=t(50),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.utils=new o.ProjectionUtils,this.pool=new r.ImagePool,this.tiles={},this.normalize_case()},e.prototype.string_lookup_replace=function(t,e){var n,i,r;i=t;for(n in e)r=e[n],i=i.replace(\"{\"+n+\"}\",r.toString());return i},e.prototype.normalize_case=function(){\"Note: should probably be refactored into subclasses.\";var t;return t=this.url,t=t.replace(\"{x}\",\"{X}\"),t=t.replace(\"{y}\",\"{Y}\"),t=t.replace(\"{z}\",\"{Z}\"),t=t.replace(\"{q}\",\"{Q}\"),t=t.replace(\"{xmin}\",\"{XMIN}\"),t=t.replace(\"{ymin}\",\"{YMIN}\"),t=t.replace(\"{xmax}\",\"{XMAX}\"),t=t.replace(\"{ymax}\",\"{YMAX}\"),this.url=t},e.prototype.update=function(){var t,e,n,i;s.logger.debug(\"TileSource: tile cache count: \"+Object.keys(this.tiles).length),e=this.tiles,n=[];for(t in e)(i=e[t]).current=!1,n.push(i.retain=!1);return n},e.prototype.tile_xyz_to_key=function(t,e,n){return t+\":\"+e+\":\"+n},e.prototype.key_to_tile_xyz=function(t){var e;return function(){var n,i,r,o;for(r=t.split(\":\"),o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(parseInt(e));return o}()},e.prototype.sort_tiles_from_center=function(t,e){var n,i,r,o,s,a;return o=e[0],a=e[1],r=e[2],s=e[3],n=(r-o)/2+o,i=(s-a)/2+a,t.sort(function(t,e){var r,o;return r=Math.sqrt(Math.pow(n-t[0],2)+Math.pow(i-t[1],2)),o=Math.sqrt(Math.pow(n-e[0],2)+Math.pow(i-e[1],2)),r-o}),t},e.prototype.prune_tiles=function(){var t,e,n,i,r;e=this.tiles;for(t in e)(r=e[t]).retain=r.current||r.tile_coords[2]<3,r.current&&(this.retain_neighbors(r),this.retain_children(r),this.retain_parents(r));n=this.tiles,i=[];for(t in n)(r=n[t]).retain?i.push(void 0):i.push(this.remove_tile(t));return i},e.prototype.remove_tile=function(t){var e;if(null!=(e=this.tiles[t]))return this.pool.push(e.img),delete this.tiles[t]},e.prototype.get_image_url=function(t,e,n){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n)},e.prototype.retain_neighbors=function(t){throw new Error(\"Not Implemented\")},e.prototype.retain_parents=function(t){throw new Error(\"Not Implemented\")},e.prototype.retain_children=function(t){throw new Error(\"Not Implemented\")},e.prototype.tile_xyz_to_quadkey=function(t,e,n){throw new Error(\"Not Implemented\")},e.prototype.quadkey_to_tile_xyz=function(t){throw new Error(\"Not Implemented\")},e}(l.Model);n.TileSource=u,u.prototype.type=\"TileSource\",u.define({url:[a.String,\"\"],tile_size:[a.Number,256],max_zoom:[a.Number,30],min_zoom:[a.Number,0],extra_url_vars:[a.Any,{}],attribution:[a.String,\"\"],x_origin_offset:[a.Number],y_origin_offset:[a.Number],initial_resolution:[a.Number]})},function(t,e,n){var i=t(31);n.ProjectionUtils=function(){function t(){this.origin_shift=2*Math.PI*6378137/2}return t.prototype.geographic_to_meters=function(t,e){return i.proj4(i.wgs84,i.mercator,[t,e])},t.prototype.meters_to_geographic=function(t,e){return i.proj4(i.mercator,i.wgs84,[t,e])},t.prototype.geographic_extent_to_meters=function(t){var e,n,i,r;return n=t[0],r=t[1],e=t[2],i=t[3],o=this.geographic_to_meters(n,r),n=o[0],r=o[1],s=this.geographic_to_meters(e,i),e=s[0],i=s[1],[n,r,e,i];var o,s},t.prototype.meters_extent_to_geographic=function(t){var e,n,i,r;return n=t[0],r=t[1],e=t[2],i=t[3],o=this.meters_to_geographic(n,r),n=o[0],r=o[1],s=this.meters_to_geographic(e,i),e=s[0],i=s[1],[n,r,e,i];var o,s},t}()},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n)},e}(r.MercatorTileSource);n.TMSTileSource=o,o.prototype.type=\"TMSTileSource\"},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i;return i=this.string_lookup_replace(this.url,this.extra_url_vars),r=this.tms_to_wmts(t,e,n),t=r[0],e=r[1],n=r[2],i.replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n);var r},e}(r.MercatorTileSource);n.WMTSTileSource=o,o.prototype.type=\"WMTSTileSource\"},function(t,e,n){var i=t(364),r=t(215),o=t(20);n.ActionToolButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._clicked=function(){return this.model.do.emit()},e}(r.ButtonToolButtonView),n.ActionToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.do,function(){return this.doit()})},e}(r.ButtonToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.do=new o.Signal(this,\"do\")},e}(r.ButtonTool);n.ActionTool=s,s.prototype.button_view=n.ActionToolButtonView},function(t,e,n){var i=t(364),r=t(207),o=t(15);n.HelpToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return window.open(this.model.redirect)},e}(r.ActionToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.HelpTool=s,s.prototype.default_view=n.HelpToolView,s.prototype.type=\"HelpTool\",s.prototype.tool_name=\"Help\",s.prototype.icon=\"bk-tool-icon-help\",s.define({help_tooltip:[o.String,\"Click the question mark to learn more about Bokeh plot tools.\"],redirect:[o.String,\"https://bokeh.pydata.org/en/latest/docs/user_guide/tools.html#built-in-tools\"]}),s.getters({tooltip:function(){return this.help_tooltip}})},function(t,e,n){var i=t(364),r=t(207);n.RedoToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.plot_view.state_changed,function(){return n.model.disabled=!n.plot_view.can_redo()})},e.prototype.doit=function(){return this.plot_view.redo()},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.RedoTool=o,o.prototype.default_view=n.RedoToolView,o.prototype.type=\"RedoTool\",o.prototype.tool_name=\"Redo\",o.prototype.icon=\"bk-tool-icon-redo\",o.override({disabled:!0})},function(t,e,n){var i=t(364),r=t(207),o=t(3),s=t(15);n.ResetToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return this.plot_view.clear_state(),this.plot_view.reset_range(),this.plot_view.reset_selection(),this.plot_model.plot.trigger_event(new o.Reset)},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ResetTool=a,a.prototype.default_view=n.ResetToolView,a.prototype.type=\"ResetTool\",a.prototype.tool_name=\"Reset\",a.prototype.icon=\"bk-tool-icon-reset\",a.define({reset_size:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(207);n.SaveToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return this.plot_view.save(\"bokeh_plot\")},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.SaveTool=o,o.prototype.default_view=n.SaveToolView,o.prototype.type=\"SaveTool\",o.prototype.tool_name=\"Save\",o.prototype.icon=\"bk-tool-icon-save\"},function(t,e,n){var i=t(364),r=t(207);n.UndoToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.plot_view.state_changed,function(){return n.model.disabled=!n.plot_view.can_undo()})},e.prototype.doit=function(){return this.plot_view.undo()},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.UndoTool=o,o.prototype.default_view=n.UndoToolView,o.prototype.type=\"UndoTool\",o.prototype.tool_name=\"Undo\",o.prototype.icon=\"bk-tool-icon-undo\",o.override({disabled:!0})},function(t,e,n){var i=t(364),r=t(207),o=t(44),s=t(15);n.ZoomInToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){var t,e,n,i,r,s;return e=this.plot_model.frame,t=this.model.dimensions,n=\"width\"===t||\"both\"===t,r=\"height\"===t||\"both\"===t,s=o.scale_range(e,this.model.factor,n,r),this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),null!=(i=this.model.document)&&i.interactive_start(this.plot_model.plot),null},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ZoomInTool=a,a.prototype.default_view=n.ZoomInToolView,a.prototype.type=\"ZoomInTool\",a.prototype.tool_name=\"Zoom In\",a.prototype.icon=\"bk-tool-icon-zoom-in\",a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({factor:[s.Percent,.1],dimensions:[s.Dimensions,\"both\"]})},function(t,e,n){var i=t(364),r=t(207),o=t(44),s=t(15);n.ZoomOutToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){var t,e,n,i,r,s;return e=this.plot_model.frame,t=this.model.dimensions,n=\"width\"===t||\"both\"===t,r=\"height\"===t||\"both\"===t,s=o.scale_range(e,-this.model.factor,n,r),this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),null!=(i=this.model.document)&&i.interactive_start(this.plot_model.plot),null},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ZoomOutTool=a,a.prototype.default_view=n.ZoomOutToolView,a.prototype.type=\"ZoomOutTool\",a.prototype.tool_name=\"Zoom Out\",a.prototype.icon=\"bk-tool-icon-zoom-out\",a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({factor:[s.Percent,.1],dimensions:[s.Dimensions,\"both\"]})},function(t,e,n){var i=t(364),r=t(6),o=t(231),s=t(5),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.model.change,function(){return n.render()}),this.el.addEventListener(\"click\",function(t){return t.stopPropagation(),t.preventDefault(),n._clicked()}),this.render()},e.prototype.render=function(){return s.empty(this.el),this.el.disabled=this.model.disabled,this.el.classList.add(this.model.icon),this.el.title=this.model.tooltip},e.prototype._clicked=function(){},e}(r.DOMView);n.ButtonToolButtonView=l,l.prototype.className=\"bk-toolbar-button\",n.ButtonToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ToolView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Tool);n.ButtonTool=u,u.prototype.button_view=l,u.prototype.icon=null,u.getters({tooltip:function(){return this.tool_name}}),u.internal({disabled:[a.Boolean,!1]})},function(t,e,n){var i,r=t(364),o=t(222),s=t(55),a=t(15);n.BoxSelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._pan_start=function(t){var e,n;return i=t.bokeh,e=i.sx,n=i.sy,this._base_point=[e,n],null;var i},e.prototype._pan=function(t){var e,n,i,r,o,s,a,l,u;return h=t.bokeh,s=h.sx,l=h.sy,n=[s,l],r=this.plot_model.frame,i=this.model.dimensions,c=this.model._get_dim_limits(this._base_point,n,r,i),a=c[0],u=c[1],this.model.overlay.update({left:a[0],right:a[1],top:u[0],bottom:u[1]}),this.model.select_every_mousemove&&(e=null!=(o=t.srcEvent.shiftKey)&&o,this._do_select(a,u,!1,e)),null;var h,c},e.prototype._pan_end=function(t){var e,n,i,r,o,s,a,l,u;return h=t.bokeh,s=h.sx,l=h.sy,n=[s,l],r=this.plot_model.frame,i=this.model.dimensions,c=this.model._get_dim_limits(this._base_point,n,r,i),a=c[0],u=c[1],e=null!=(o=t.srcEvent.shiftKey)&&o,this._do_select(a,u,!0,e),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.push_state(\"box_select\",{selection:this.plot_view.get_selection()}),null;var h,c},e.prototype._do_select=function(t,e,n,i){var r=t[0],o=t[1],s=e[0],a=e[1];void 0===i&&(i=!1);var l;return l={type:\"rect\",sx0:r,sx1:o,sy0:s,sy1:a},this._select(l,n,i)},e.prototype._emit_callback=function(t){var e,n,i,r,o,s,a,l;n=this.computed_renderers[0],e=this.plot_model.frame,a=e.xscales[n.x_range_name],l=e.yscales[n.y_range_name],i=t.sx0,r=t.sx1,o=t.sy0,s=t.sy1,u=a.r_invert(i,r),t.x0=u[0],t.x1=u[1],h=l.r_invert(o,s),t.y0=h[0],t.y1=h[1],this.model.callback.execute(this.model,{geometry:t});var u,h},e}(o.SelectToolView),i=function(){return new s.BoxAnnotation({level:\"overlay\",render_mode:\"css\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.BoxSelectTool=l,l.prototype.default_view=n.BoxSelectToolView,l.prototype.type=\"BoxSelectTool\",l.prototype.tool_name=\"Box Select\",l.prototype.icon=\"bk-tool-icon-box-select\",l.prototype.event_type=\"pan\",l.prototype.default_order=30,l.define({dimensions:[a.Dimensions,\"both\"],select_every_mousemove:[a.Bool,!1],callback:[a.Instance],overlay:[a.Instance,i]}),l.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}})},function(t,e,n){var i,r=t(364),o=t(218),s=t(55),a=t(15);n.BoxZoomToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._match_aspect=function(t,e,n){var i,r,o,s,a,l,u,h,c;return i=n.bbox.aspect,h=Math.abs(t[0]-e[0]),u=Math.abs(t[1]-e[1]),(l=0===u?0:h/u)>=i?(c=(_=[1,l/i])[0],_[1]):(c=(p=[i/l,1])[0],p[1]),t[0]<=e[0]?(o=t[0],(s=t[0]+h*c)>hend&&(s=hend)):(s=t[0],(o=t[0]-h*c)<hstart&&(o=hstart)),h=Math.abs(s-o),t[1]<=e[1]?(r=t[1],(a=t[1]+h/i)>vend&&(a=vend)):(a=t[1],(r=t[1]-h/i)<vstart&&(r=vstart)),u=Math.abs(a-r),t[0]<=e[0]?s=t[0]+i*u:o=t[0]-i*u,[[o,s],[r,a]];var _,p},e.prototype._pan_start=function(t){return this._base_point=[t.bokeh.sx,t.bokeh.sy],null},e.prototype._pan=function(t){var e,n,i,r,o;return e=[t.bokeh.sx,t.bokeh.sy],i=this.plot_model.frame,n=this.model.dimensions,this.model.match_aspect&&\"both\"===n?(s=this._match_aspect(this._base_point,e,i),r=s[0],o=s[1]):(a=this.model._get_dim_limits(this._base_point,e,i,n),r=a[0],o=a[1]),this.model.overlay.update({left:r[0],right:r[1],top:o[0],bottom:o[1]}),null;var s,a},e.prototype._pan_end=function(t){var e,n,i,r,o;return e=[t.bokeh.sx,t.bokeh.sy],i=this.plot_model.frame,n=this.model.dimensions,this.model.match_aspect&&\"both\"===n?(s=this._match_aspect(this._base_point,e,i),r=s[0],o=s[1]):(a=this.model._get_dim_limits(this._base_point,e,i,n),r=a[0],o=a[1]),this._update(r,o),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,null;var s,a},e.prototype._update=function(t,e){var n,i,r,o,s,a,l,u,h,c=t[0],_=t[1],p=e[0],d=e[1];if(!(Math.abs(_-c)<=5||Math.abs(d-p)<=5)){l={},r=this.plot_view.frame.xscales;for(i in r)s=r[i],f=s.r_invert(c,_),a=f[0],n=f[1],l[i]={start:a,end:n};u={},o=this.plot_view.frame.yscales;for(i in o)s=o[i],m=s.r_invert(p,d),a=m[0],n=m[1],u[i]={start:a,end:n};return h={xrs:l,yrs:u},this.plot_view.push_state(\"box_zoom\",{range:h}),this.plot_view.update_range(h);var f,m}},e}(o.GestureToolView),i=function(){return new s.BoxAnnotation({level:\"overlay\",render_mode:\"css\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.GestureTool);n.BoxZoomTool=l,l.prototype.default_view=n.BoxZoomToolView,l.prototype.type=\"BoxZoomTool\",l.prototype.tool_name=\"Box Zoom\",l.prototype.icon=\"bk-tool-icon-box-zoom\",l.prototype.event_type=\"pan\",l.prototype.default_order=20,l.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),l.define({dimensions:[a.Dimensions,\"both\"],overlay:[a.Instance,i],match_aspect:[a.Bool,!1]})},function(t,e,n){var i=t(364),r=t(215),o=t(230);n.GestureToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ButtonToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ButtonTool);n.GestureTool=s,s.prototype.button_view=o.OnOffButtonView,s.prototype.event_type=null,s.prototype.default_order=null},function(t,e,n){var i,r=t(364),o=t(222),s=t(62),a=t(15);n.LassoSelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.properties.active.change,function(){return this._active_change()}),this.data=null},e.prototype._active_change=function(){if(!this.model.active)return this._clear_overlay()},e.prototype._keyup=function(t){if(13===t.keyCode)return this._clear_overlay()},e.prototype._pan_start=function(t){var e,n;return i=t.bokeh,e=i.sx,n=i.sy,this.data={sx:[e],sy:[n]},null;var i},e.prototype._pan=function(t){var e,n,i,r;if(o=t.bokeh,i=o.sx,r=o.sy,s=this.plot_model.frame.bbox.clip(i,r),i=s[0],r=s[1],this.data.sx.push(i),this.data.sy.push(r),this.model.overlay.update({xs:this.data.sx,ys:this.data.sy}),this.model.select_every_mousemove)return e=null!=(n=t.srcEvent.shiftKey)&&n,this._do_select(this.data.sx,this.data.sy,!1,e);var o,s},e.prototype._pan_end=function(t){var e,n;return this._clear_overlay(),e=null!=(n=t.srcEvent.shiftKey)&&n,this._do_select(this.data.sx,this.data.sy,!0,e),this.plot_view.push_state(\"lasso_select\",{selection:this.plot_view.get_selection()})},e.prototype._clear_overlay=function(){return this.model.overlay.update({xs:[],ys:[]})},e.prototype._do_select=function(t,e,n,i){var r;return r={type:\"poly\",sx:t,sy:e},this._select(r,n,i)},e.prototype._emit_callback=function(t){var e,n,i,r;n=this.computed_renderers[0],e=this.plot_model.frame,i=e.xscales[n.x_range_name],r=e.yscales[n.y_range_name],t.x=i.v_invert(t.sx),t.y=r.v_invert(t.sy),this.model.callback.execute(this.model,{geometry:t})},e}(o.SelectToolView),i=function(){return new s.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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.LassoSelectTool=l,l.prototype.default_view=n.LassoSelectToolView,l.prototype.type=\"LassoSelectTool\",l.prototype.tool_name=\"Lasso Select\",l.prototype.icon=\"bk-tool-icon-lasso-select\",l.prototype.event_type=\"pan\",l.prototype.default_order=12,l.define({select_every_mousemove:[a.Bool,!0],callback:[a.Instance],overlay:[a.Instance,i]})},function(t,e,n){var i=t(364),r=t(218),o=t(15);n.PanToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._pan_start=function(t){var e,n,i,r,o,s;return this.last_dx=0,this.last_dy=0,a=t.bokeh,r=a.sx,o=a.sy,(e=this.plot_view.frame.bbox).contains(r,o)||(n=e.h_range,s=e.v_range,(r<n.start||r>n.end)&&(this.v_axis_only=!0),(o<s.start||o>s.end)&&(this.h_axis_only=!0)),null!=(i=this.model.document)?i.interactive_start(this.plot_model.plot):void 0;var a},e.prototype._pan=function(t){var e;return this._update(t.deltaX,t.deltaY),null!=(e=this.model.document)?e.interactive_start(this.plot_model.plot):void 0},e.prototype._pan_end=function(t){if(this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info)return this.plot_view.push_state(\"pan\",{range:this.pan_info})},e.prototype._update=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T;r=this.plot_view.frame,a=t-this.last_dx,l=e-this.last_dy,o=r.bbox.h_range,g=o.start-a,v=o.end-a,k=r.bbox.v_range,w=k.start-l,x=k.end-l,\"width\"!==(n=this.model.dimensions)&&\"both\"!==n||this.v_axis_only?(f=o.start,m=o.end,_=0):(f=g,m=v,_=-a),\"height\"!==n&&\"both\"!==n||this.h_axis_only?(y=k.start,b=k.end,p=0):(y=w,b=x,p=-l),this.last_dx=t,this.last_dy=e,S={},u=r.xscales;for(s in u)c=u[s],M=c.r_invert(f,m),d=M[0],i=M[1],S[s]={start:d,end:i};T={},h=r.yscales;for(s in h)c=h[s],A=c.r_invert(y,b),d=A[0],i=A[1],T[s]={start:d,end:i};return this.pan_info={xrs:S,yrs:T,sdx:_,sdy:p},this.plot_view.update_range(this.pan_info,!0),null;var M,A},e}(r.GestureToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.PanTool=s,s.prototype.default_view=n.PanToolView,s.prototype.type=\"PanTool\",s.prototype.tool_name=\"Pan\",s.prototype.event_type=\"pan\",s.prototype.default_order=10,s.define({dimensions:[o.Dimensions,\"both\"]}),s.getters({tooltip:function(){return this._get_dim_tooltip(\"Pan\",this.dimensions)},icon:function(){return\"bk-tool-icon-\"+function(){switch(this.dimensions){case\"both\":return\"pan\";case\"width\":return\"xpan\";case\"height\":return\"ypan\"}}.call(this)}})},function(t,e,n){var i,r=t(364),o=t(222),s=t(62),a=t(15),l=t(22);n.PolySelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.properties.active.change,function(){return this._active_change()}),this.data={sx:[],sy:[]}},e.prototype._active_change=function(){if(!this.model.active)return this._clear_data()},e.prototype._keyup=function(t){if(13===t.keyCode)return this._clear_data()},e.prototype._doubletap=function(t){var e,n;return e=null!=(n=t.srcEvent.shiftKey)&&n,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()},e.prototype._clear_data=function(){return this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})},e.prototype._tap=function(t){var e,n;if(i=t.bokeh,e=i.sx,n=i.sy,this.plot_model.frame.bbox.contains(e,n)){return this.data.sx.push(e),this.data.sy.push(n),this.model.overlay.update({xs:l.copy(this.data.sx),ys:l.copy(this.data.sy)});var i}},e.prototype._do_select=function(t,e,n,i){var r;return r={type:\"poly\",sx:t,sy:e},this._select(r,n,i)},e.prototype._emit_callback=function(t){var e,n,i;n=this.computed_renderers[0],e=this.plot_model.frame,i=e.xscales[n.x_range_name],e.yscales[n.y_range_name],t.x=i.v_invert(t.sx),t.y=i.v_invert(t.sy),this.model.callback.execute(this.model,{geometry:t})},e}(o.SelectToolView),i=function(){return new s.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]}})};var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.PolySelectTool=u,u.prototype.default_view=n.PolySelectToolView,u.prototype.type=\"PolySelectTool\",u.prototype.tool_name=\"Poly Select\",u.prototype.icon=\"bk-tool-icon-polygon-select\",u.prototype.event_type=\"tap\",u.prototype.default_order=11,u.define({callback:[a.Instance],overlay:[a.Instance,i]})},function(t,e,n){var i=t(364),r=t(218),o=t(161),s=t(162),a=t(14),l=t(15),u=t(30),h=t(3),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._computed_renderers_by_data_source=function(){var t,e,n,i,r,a;for(r={},i=this.computed_renderers,t=0,e=i.length;t<e;t++)(n=i[t])instanceof s.GraphRenderer?a=n.node_renderer.data_source.id:n instanceof o.GlyphRenderer&&(a=n.data_source.id),r[a]=a in r?r[a].concat([n]):[n];return r},e.prototype._keyup=function(t){var e,n,i,r,o,s,a;if(27===t.keyCode){for(o=this.computed_renderers,s=[],n=0,i=o.length;n<i;n++)r=o[n],e=r.data_source,a=e.selection_manager,s.push(a.clear());return s}},e.prototype._select=function(t,e,n){var i,r,o,s,a,l,u,h;u=this._computed_renderers_by_data_source();for(i in u){for(l=u[i],h=l[0].get_selection_manager(),a=[],r=0,o=l.length;r<o;r++)(s=l[r]).id in this.plot_view.renderer_views&&a.push(this.plot_view.renderer_views[s.id]);h.select(a,t,e,n)}return null!=this.model.callback&&this._emit_callback(t),this._emit_selection_event(t,e),null},e.prototype._emit_selection_event=function(t,e){void 0===e&&(e=!0);var n,i,r,o,s,l;switch(n=u.clone(t),s=this.plot_view.frame.xscales.default,l=this.plot_view.frame.yscales.default,n.type){case\"point\":n.x=s.invert(n.sx),n.y=l.invert(n.sy);break;case\"rect\":c=s.r_invert(n.sx0,n.sx1),n.x0=c[0],n.x1=c[1],_=l.r_invert(n.sy0,n.sy1),n.y0=_[0],n.y1=_[1];break;case\"poly\":for(n.x=new Array(n.sx.length),n.y=new Array(n.sy.length),i=r=0,o=n.sx.length;0<=o?r<o:r>o;i=0<=o?++r:--r)n.x[i]=s.invert(n.sx[i]),n.y[i]=l.invert(n.sy[i]);break;default:a.logger.debug(\"Unrecognized selection geometry type: '\"+n.type+\"'\")}return this.plot_model.plot.trigger_event(new h.SelectionGeometry({geometry:n,final:e}));var c,_},e}(r.GestureToolView);n.SelectToolView=c,c.getters({computed_renderers:function(){var t,e,n,i;return i=this.model.renderers,e=this.model.names,0===i.length&&(t=this.plot_model.plot.renderers,i=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)((n=t[e])instanceof o.GlyphRenderer||n instanceof s.GraphRenderer)&&r.push(n);return r}()),e.length>0&&(i=function(){var t,r,o;for(o=[],t=0,r=i.length;t<r;t++)n=i[t],e.indexOf(n.name)>=0&&o.push(n);return o}()),i}});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.SelectTool=_,_.define({renderers:[l.Array,[]],names:[l.Array,[]]}),_.internal({multi_select_modifier:[l.String,\"shift\"]})},function(t,e,n){var i=t(364),r=t(222),o=t(15),s=t(42);n.TapToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._tap=function(t){var e,n,i,r;return o=t.bokeh,i=o.sx,r=o.sy,e=null!=(n=t.srcEvent.shiftKey)&&n,this._select(i,r,!0,e);var o},e.prototype._select=function(t,e,n,i){var r,o,a,l,u,h,c,_,p,d,f,m;if(l={type:\"point\",sx:t,sy:e},o=this.model.callback,a={geometries:l},\"select\"===this.model.behavior){f=this._computed_renderers_by_data_source();for(r in f)d=f[r],m=d[0].get_selection_manager(),_=function(){var t,e,n;for(n=[],t=0,e=d.length;t<e;t++)c=d[t],n.push(this.plot_view.renderer_views[c.id]);return n}.call(this),m.select(_,l,n,i)&&null!=o&&(a.source=m.source,s.isFunction(o)?o(this,a):o.execute(this,a));this._emit_selection_event(l),this.plot_view.push_state(\"tap\",{selection:this.plot_view.get_selection()})}else for(p=this.computed_renderers,u=0,h=p.length;u<h;u++)c=p[u],m=c.get_selection_manager(),m.inspect(this.plot_view.renderer_views[c.id],l)&&null!=o&&(a.source=m.source,s.isFunction(o)?o(this,a):o.execute(this,a));return null},e}(r.SelectToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.SelectTool);n.TapTool=a,a.prototype.default_view=n.TapToolView,a.prototype.type=\"TapTool\",a.prototype.tool_name=\"Tap\",a.prototype.icon=\"bk-tool-icon-tap-select\",a.prototype.event_type=\"tap\",a.prototype.default_order=10,a.define({behavior:[o.String,\"select\"],callback:[o.Any]})},function(t,e,n){var i=t(364),r=t(218),o=t(15);n.WheelPanToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._scroll=function(t){var e;return(e=this.model.speed*t.bokeh.delta)>.9?e=.9:e<-.9&&(e=-.9),this._update_ranges(e)},e.prototype._update_ranges=function(t){var e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;switch(n=this.plot_model.frame,i=n.bbox.h_range,x=n.bbox.v_range,S=[i.start,i.end],d=S[0],p=S[1],T=[x.start,x.end],y=T[0],g=T[1],this.model.dimension){case\"height\":b=Math.abs(g-y),c=d,_=p,m=y-b*t,v=g-b*t;break;case\"width\":f=Math.abs(p-d),c=d-f*t,_=p-f*t,m=y,v=g}w={},s=n.xscales;for(r in s)u=s[r],M=u.r_invert(c,_),h=M[0],e=M[1],w[r]={start:h,end:e};k={},a=n.yscales;for(r in a)u=a[r],A=u.r_invert(m,v),h=A[0],e=A[1],k[r]={start:h,end:e};return o={xrs:w,yrs:k,factor:t},this.plot_view.push_state(\"wheel_pan\",{range:o}),this.plot_view.update_range(o,!1,!0),null!=(l=this.model.document)&&l.interactive_start(this.plot_model.plot),null;var S,T,M,A},e}(r.GestureToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.WheelPanTool=s,s.prototype.type=\"WheelPanTool\",s.prototype.default_view=n.WheelPanToolView,s.prototype.tool_name=\"Wheel Pan\",s.prototype.icon=\"bk-tool-icon-wheel-pan\",s.prototype.event_type=\"scroll\",s.prototype.default_order=12,s.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimension)}}),s.define({dimension:[o.Dimension,\"width\"]}),s.internal({speed:[o.Number,.001]})},function(t,e,n){var i=t(364),r=t(218),o=t(44),s=t(15);n.WheelZoomToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._pinch=function(t){var e;return e=t.scale>=1?20*(t.scale-1):-20/t.scale,t.bokeh.delta=e,this._scroll(t)},e.prototype._scroll=function(t){var e,n,i,r,s,a,l,u,h,c,_;return i=this.plot_model.frame,s=i.bbox.h_range,c=i.bbox.v_range,p=t.bokeh,l=p.sx,u=p.sy,e=this.model.dimensions,r=(\"width\"===e||\"both\"===e)&&s.start<l&&l<s.end,h=(\"height\"===e||\"both\"===e)&&c.start<u&&u<c.end,n=this.model.speed*t.bokeh.delta,_=o.scale_range(i,n,r,h,{x:l,y:u}),this.plot_view.push_state(\"wheel_zoom\",{range:_}),this.plot_view.update_range(_,!1,!0),null!=(a=this.model.document)&&a.interactive_start(this.plot_model.plot),null;var p},e}(r.GestureToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.WheelZoomTool=a,a.prototype.default_view=n.WheelZoomToolView,a.prototype.type=\"WheelZoomTool\",a.prototype.tool_name=\"Wheel Zoom\",a.prototype.icon=\"bk-tool-icon-wheel-zoom\",a.prototype.event_type=\"ontouchstart\"in window||navigator.maxTouchPoints>0?\"pinch\":\"scroll\",a.prototype.default_order=10,a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({dimensions:[s.Dimensions,\"both\"]}),a.internal({speed:[s.Number,1/600]})},function(t,e,n){var i=t(207);n.ActionTool=i.ActionTool;var r=t(208);n.HelpTool=r.HelpTool;var o=t(209);n.RedoTool=o.RedoTool;var s=t(210);n.ResetTool=s.ResetTool;var a=t(211);n.SaveTool=a.SaveTool;var l=t(212);n.UndoTool=l.UndoTool;var u=t(213);n.ZoomInTool=u.ZoomInTool;var h=t(214);n.ZoomOutTool=h.ZoomOutTool;var c=t(215);n.ButtonTool=c.ButtonTool;var _=t(216);n.BoxSelectTool=_.BoxSelectTool;var p=t(217);n.BoxZoomTool=p.BoxZoomTool;var d=t(218);n.GestureTool=d.GestureTool;var f=t(219);n.LassoSelectTool=f.LassoSelectTool;var m=t(220);n.PanTool=m.PanTool;var v=t(221);n.PolySelectTool=v.PolySelectTool;var g=t(222);n.SelectTool=g.SelectTool;var y=t(223);n.TapTool=y.TapTool;var b=t(224);n.WheelPanTool=b.WheelPanTool;var x=t(225);n.WheelZoomTool=x.WheelZoomTool;var w=t(227);n.CrosshairTool=w.CrosshairTool;var k=t(228);n.HoverTool=k.HoverTool;var S=t(229);n.InspectTool=S.InspectTool;var T=t(231);n.Tool=T.Tool;var M=t(232);n.ToolProxy=M.ToolProxy;var A=t(233);n.Toolbar=A.Toolbar;var E=t(234);n.ToolbarBase=E.ToolbarBase;var z=t(235);n.ProxyToolbar=z.ProxyToolbar;var C=t(235);n.ToolbarBox=C.ToolbarBox},function(t,e,n){var i=t(364),r=t(229),o=t(63),s=t(15),a=t(30);n.CrosshairToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._move=function(t){var e,n;if(this.model.active){return i=t.bokeh,e=i.sx,n=i.sy,this.plot_model.frame.bbox.contains(e,n)||(e=n=null),this._update_spans(e,n);var i}},e.prototype._move_exit=function(t){return this._update_spans(null,null)},e.prototype._update_spans=function(t,e){var n;if(\"width\"!==(n=this.model.dimensions)&&\"both\"!==n||(this.model.spans.width.computed_location=e),\"height\"===n||\"both\"===n)return this.model.spans.height.computed_location=t},e}(r.InspectToolView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.spans={width:new o.Span({for_hover:!0,dimension:\"width\",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha}),height:new o.Span({for_hover:!0,dimension:\"height\",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha})}},e}(r.InspectTool);n.CrosshairTool=l,l.prototype.default_view=n.CrosshairToolView,l.prototype.type=\"CrosshairTool\",l.prototype.tool_name=\"Crosshair\",l.prototype.icon=\"bk-tool-icon-crosshair\",l.define({dimensions:[s.Dimensions,\"both\"],line_color:[s.Color,\"black\"],line_width:[s.Number,1],line_alpha:[s.Number,1]}),l.internal({location_units:[s.SpatialUnits,\"screen\"],render_mode:[s.RenderMode,\"css\"],spans:[s.Any]}),l.getters({tooltip:function(){return this._get_dim_tooltip(\"Crosshair\",this.dimensions)},synthetic_renderers:function(){return a.values(this.spans)}})},function(t,e,n){var i=t(364),r=t(229),o=t(67),s=t(161),a=t(162),l=t(9),u=t(39),h=t(5),c=t(15),_=t(26),p=t(30),d=t(42),f=t(4);n._nearest_line_hit=function(t,e,n,i,r,o){var s,a,u,h,c,_;if(s=r[t],a=o[t],u=r[t+1],h=o[t+1],\"span\"===e.type)switch(e.direction){case\"h\":c=Math.abs(s-n),_=Math.abs(u-n);break;case\"v\":c=Math.abs(a-i),_=Math.abs(h-i)}else c=l.dist_2_pts(s,a,n,i),_=l.dist_2_pts(u,h,n,i);return c<_?[[s,a],t]:[[u,h],t+1]},n._line_hit=function(t,e,n){return[[t[n],e[n]],n]};var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.ttviews={}},e.prototype.remove=function(){return f.remove_views(this.ttviews),t.prototype.remove.call(this)},e.prototype.connect_signals=function(){var e,n,i,r;for(t.prototype.connect_signals.call(this),r=this.computed_renderers,e=0,n=r.length;e<n;e++)(i=r[e])instanceof s.GlyphRenderer?this.connect(i.data_source.inspect,this._update):i instanceof a.GraphRenderer&&(this.connect(i.node_renderer.data_source.inspect,this._update),this.connect(i.edge_renderer.data_source.inspect,this._update));return this.connect(this.model.properties.renderers.change,function(){return this._computed_renderers=this._ttmodels=null}),this.connect(this.model.properties.names.change,function(){return this._computed_renderers=this._ttmodels=null}),this.connect(this.model.properties.tooltips.change,function(){return this._ttmodels=null})},e.prototype._compute_renderers=function(){var t,e,n,i;return i=this.model.renderers,e=this.model.names,0===i.length&&(t=this.plot_model.plot.renderers,i=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)((n=t[e])instanceof s.GlyphRenderer||n instanceof a.GraphRenderer)&&r.push(n);return r}()),e.length>0&&(i=function(){var t,r,o;for(o=[],t=0,r=i.length;t<r;t++)n=i[t],e.indexOf(n.name)>=0&&o.push(n);return o}()),i},e.prototype._compute_ttmodels=function(){var t,e,n,i,r,l,u;if(u={},null!=(l=this.model.tooltips))for(i=this.computed_renderers,t=0,e=i.length;t<e;t++)(n=i[t])instanceof s.GlyphRenderer?(r=new o.Tooltip({custom:d.isString(l)||d.isFunction(l),attachment:this.model.attachment,show_arrow:this.model.show_arrow}),u[n.id]=r):n instanceof a.GraphRenderer&&(r=new o.Tooltip({custom:d.isString(l)||d.isFunction(l),attachment:this.model.attachment,show_arrow:this.model.show_arrow}),u[n.node_renderer.id]=r,u[n.edge_renderer.id]=r);return f.build_views(this.ttviews,p.values(u),{parent:this,plot_view:this.plot_view}),u},e.prototype._clear=function(){var t,e,n,i;this._inspect(Infinity,Infinity),t=this.ttmodels,e=[];for(n in t)i=t[n],e.push(i.clear());return e},e.prototype._move=function(t){var e,n;if(this.model.active){return i=t.bokeh,e=i.sx,n=i.sy,this.plot_view.frame.bbox.contains(e,n)?this._inspect(e,n):this._clear();var i}},e.prototype._move_exit=function(){return this._clear()},e.prototype._inspect=function(t,e){var n,i,r,o,s,a;for(a=\"mouse\"===this.model.mode?\"point\":\"span\",n={type:a,sx:t,sy:e},\"span\"===a&&(n.direction=\"vline\"===this.model.mode?\"h\":\"v\"),s=this.computed_renderers,i=0,r=s.length;i<r;i++)o=s[i],o.get_selection_manager().inspect(this.plot_view.renderer_views[o.id],n);null!=this.model.callback&&this._emit_callback(n)},e.prototype._update=function(t){var e,i,r,o,a,l,u,h,c,_,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D,F=t[0],I=t[1].geometry;if(this.model.active&&null!=(C=null!=(b=this.ttmodels[F.model.id])?b:null)&&(C.clear(),c=F.model.get_selection_manager().inspectors[F.model.id].indices,F.model instanceof s.GlyphRenderer&&(c=F.model.view.convert_selection_to_subset(c)),r=F.model.get_selection_manager().source,!c.is_empty())){for(o=this.plot_model.frame,E=I.sx,z=I.sy,j=o.xscales[F.model.x_range_name],D=o.yscales[F.model.y_range_name],N=j.invert(E),P=D.invert(z),a=F.glyph,x=c[\"0d\"].indices,f=0,v=x.length;f<v;f++){switch(l=x[f],e=a._x[l+1],i=a._y[l+1],u=l,this.model.line_policy){case\"interp\":B=a.get_interpolation_hit(l,I),e=B[0],i=B[1],M=j.compute(e),A=D.compute(i);break;case\"prev\":R=n._line_hit(a.sx,a.sy,l),L=R[0],M=L[0],A=L[1],u=R[1];break;case\"next\":V=n._line_hit(a.sx,a.sy,l+1),G=V[0],M=G[0],A=G[1],u=V[1];break;case\"nearest\":U=n._nearest_line_hit(l,I,E,z,a.sx,a.sy),Y=U[0],M=Y[0],A=Y[1],u=U[1],e=a._x[u],i=a._y[u];break;default:M=(q=[E,z])[0],A=q[1]}O={index:u,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i,rx:M,ry:A},C.add(M,A,this._render_tooltips(r,u,O))}for(w=c[\"1d\"].indices,m=0,g=w.length;m<g;m++)if(l=w[m],p.isEmpty(c[\"2d\"].indices))e=null!=(S=a._x)?S[l]:void 0,i=null!=(T=a._y)?T[l]:void 0,\"snap_to_data\"===this.model.point_policy?(null==(y=a.get_anchor_point(this.model.anchor,l,[E,z]))&&(y=a.get_anchor_point(\"center\",l,[E,z])),M=y.x,A=y.y):(M=(K=[E,z])[0],A=K[1]),h=F.model instanceof s.GlyphRenderer?F.model.view.convert_indices_from_subset([l])[0]:l,O={index:h,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i},C.add(M,A,this._render_tooltips(r,h,O));else{k=c[\"2d\"].indices;for(l in k){switch(_=k[l][0],e=a._xs[l][_],i=a._ys[l][_],d=_,this.model.line_policy){case\"interp\":X=a.get_interpolation_hit(l,_,I),e=X[0],i=X[1],M=j.compute(e),A=D.compute(i);break;case\"prev\":W=n._line_hit(a.sxs[l],a.sys[l],_),H=W[0],M=H[0],A=H[1],d=W[1];break;case\"next\":J=n._line_hit(a.sxs[l],a.sys[l],_+1),Q=J[0],M=Q[0],A=Q[1],d=J[1];break;case\"nearest\":$=n._nearest_line_hit(_,I,E,z,a.sxs[l],a.sys[l]),Z=$[0],M=Z[0],A=Z[1],d=$[1],e=a._xs[l][d],i=a._ys[l][d]}h=F.model instanceof s.GlyphRenderer?F.model.view.convert_indices_from_subset([l])[0]:l,O={index:h,segment_index:d,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i},C.add(M,A,this._render_tooltips(r,h,O))}}return null;var B,R,L,V,G,U,Y,q,X,W,H,J,Q,$,Z,K}},e.prototype._emit_callback=function(t){var e,n,i,r,o,s,a,l,u,h,c;for(u=this.computed_renderers,o=0,s=u.length;o<s;o++)l=u[o],r=l.data_source.inspected,i=this.plot_model.frame,h=i.xscales[l.x_range_name],c=i.yscales[l.y_range_name],t.x=h.invert(t.sx),t.y=c.invert(t.sy),e=this.model.callback,a=(_=[e,{index:r,geometry:t,renderer:l}])[0],n=_[1],d.isFunction(e)?e(a,n):e.execute(a,n);var _},e.prototype._render_tooltips=function(t,e,n){var i,r,o,s,a,l,c,p,f,m,v,g,y,b,x;if(b=this.model.tooltips,d.isString(b))return a=h.div(),a.innerHTML=u.replace_placeholders(b,t,e,this.model.formatters,n),a;if(d.isFunction(b))return b(t,n);for(g=h.div({style:{display:\"table\",borderSpacing:\"2px\"}}),c=0,f=b.length;c<f;c++)if(w=b[c],p=w[0],x=w[1],v=h.div({style:{display:\"table-row\"}}),g.appendChild(v),i=h.div({style:{display:\"table-cell\"},class:\"bk-tooltip-row-label\"},p+\": \"),v.appendChild(i),i=h.div({style:{display:\"table-cell\"},class:\"bk-tooltip-row-value\"}),v.appendChild(i),x.indexOf(\"$color\")>=0){if(k=x.match(/\\$color(\\[.*\\])?:(\\w*)/),k[0],m=k[1],r=k[2],null==(s=t.get_column(r))){a=h.span({},r+\" unknown\"),i.appendChild(a);continue}if(l=(null!=m?m.indexOf(\"hex\"):void 0)>=0,y=(null!=m?m.indexOf(\"swatch\"):void 0)>=0,null==(o=s[e])){a=h.span({},\"(null)\"),i.appendChild(a);continue}l&&(o=_.color2hex(o)),a=h.span({},o),i.appendChild(a),y&&(a=h.span({class:\"bk-tooltip-color-block\",style:{backgroundColor:o}},\" \"),i.appendChild(a))}else x=x.replace(\"$~\",\"$data_\"),(a=h.span()).innerHTML=u.replace_placeholders(x,t,e,this.model.formatters,n),i.appendChild(a);return g;var w,k},e}(r.InspectToolView);n.HoverToolView=m,m.getters({computed_renderers:function(){return null==this._computed_renderers&&(this._computed_renderers=this._compute_renderers()),this._computed_renderers},ttmodels:function(){return null==this._ttmodels&&(this._ttmodels=this._compute_ttmodels()),this._ttmodels}});var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.InspectTool);n.HoverTool=v,v.prototype.default_view=m,v.prototype.type=\"HoverTool\",v.prototype.tool_name=\"Hover\",v.prototype.icon=\"bk-tool-icon-hover\",v.define({tooltips:[c.Any,[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[c.Any,{}],renderers:[c.Array,[]],names:[c.Array,[]],mode:[c.String,\"mouse\"],point_policy:[c.String,\"snap_to_data\"],line_policy:[c.String,\"nearest\"],show_arrow:[c.Boolean,!0],anchor:[c.String,\"center\"],attachment:[c.String,\"horizontal\"],callback:[c.Any]})},function(t,e,n){var i=t(364),r=t(15),o=t(215),s=t(230);n.InspectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ButtonToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ButtonTool);n.InspectTool=a,a.prototype.button_view=s.OnOffButtonView,a.prototype.event_type=\"move\",a.define({toggleable:[r.Bool,!0]}),a.override({active:!0})},function(t,e,n){var i=t(364),r=t(215);n.OnOffButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.model.active?this.el.classList.add(\"bk-active\"):this.el.classList.remove(\"bk-active\")},e.prototype._clicked=function(){var t;return t=this.model.active,this.model.active=!t},e}(r.ButtonToolButtonView)},function(t,e,n){var i=t(364),r=t(15),o=t(45),s=t(22),a=t(50),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view=e.plot_view},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.active.change,function(){return e.model.active?e.activate():e.deactivate()})},e.prototype.activate=function(){},e.prototype.deactivate=function(){},e}(o.View);n.ToolView=l,l.getters({plot_model:function(){return this.plot_view.model}});var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._get_dim_tooltip=function(t,e){switch(e){case\"width\":return t+\" (x-axis)\";case\"height\":return t+\" (y-axis)\";case\"both\":return t}},e.prototype._get_dim_limits=function(t,e,n,i){var r,o,a,l,u=t[0],h=t[1],c=e[0],_=e[1];return r=n.bbox.h_range,\"width\"===i||\"both\"===i?(o=[s.min([u,c]),s.max([u,c])],o=[s.max([o[0],r.start]),s.min([o[1],r.end])]):o=[r.start,r.end],l=n.bbox.v_range,\"height\"===i||\"both\"===i?(a=[s.min([h,_]),s.max([h,_])],a=[s.max([a[0],l.start]),s.min([a[1],l.end])]):a=[l.start,l.end],[o,a]},e}(a.Model);n.Tool=u,u.getters({synthetic_renderers:function(){return[]}}),u.internal({active:[r.Boolean,!1]})},function(t,e,n){var i=t(364),r=t(15),o=t(20),s=t(50),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.do=new o.Signal(this,\"do\"),this.connect(this.do,function(){return this.doit()}),this.connect(this.properties.active.change,function(){return this.set_active()})},e.prototype.doit=function(){var t,e,n;for(n=this.tools,t=0,e=n.length;t<e;t++)n[t].do.emit();return null},e.prototype.set_active=function(){var t,e,n;for(n=this.tools,t=0,e=n.length;t<e;t++)n[t].active=this.active;return null},e.prototype._clicked=function(){var t;return t=this.model.active,this.model.active=!t},e}(s.Model);n.ToolProxy=a,a.getters({button_view:function(){return this.tools[0].button_view},event_type:function(){return this.tools[0].event_type},tooltip:function(){return this.tools[0].tool_name},tool_name:function(){return this.tools[0].tool_name},icon:function(){return this.tools[0].icon}}),a.define({tools:[r.Array,[]],active:[r.Bool,!1],disabled:[r.Bool,!1]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(15),s=t(22),a=t(14),l=t(207),u=t(208),h=t(218),c=t(229),_=t(234),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.connect(this.properties.tools.change,function(){return this._init_tools()}),this._init_tools()},e.prototype._init_tools=function(){var t,e,n,i,o,_,p,d,f,m,v,g=this;for(f=this.tools,i=0,_=f.length;i<_;i++)if((m=f[i])instanceof c.InspectTool)s.any(this.inspectors,function(t){return t.id===m.id})||(this.inspectors=this.inspectors.concat([m]));else if(m instanceof u.HelpTool)s.any(this.help,function(t){return t.id===m.id})||(this.help=this.help.concat([m]));else if(m instanceof l.ActionTool)s.any(this.actions,function(t){return t.id===m.id})||(this.actions=this.actions.concat([m]));else if(m instanceof h.GestureTool)for(n=m.event_type,d=!0,\"string\"==typeof n&&(n=[n],d=!1),o=0,p=n.length;o<p;o++)(e=n[o])in this.gestures?(d?s.any(this.gestures.multi.tools,function(t){return t.id===m.id})||(this.gestures.multi.tools=this.gestures.multi.tools.concat([m])):s.any(this.gestures[e].tools,function(t){return t.id===m.id})||(this.gestures[e].tools=this.gestures[e].tools.concat([m])),this.connect(m.properties.active.change,this._active_change.bind(this,m))):a.logger.warn(\"Toolbar: unknown event type '\"+e+\"' for tool: \"+m.type+\" (\"+m.id+\")\");\"auto\"===this.active_inspect||(this.active_inspect instanceof c.InspectTool?this.inspectors.map(function(t){if(t!==g.active_inspect)return t.active=!1}):this.active_inspect instanceof Array?this.inspectors.map(function(t){if(r.call(g.active_inspect,t)<0)return t.active=!1}):null===this.active_inspect&&this.inspectors.map(function(t){return t.active=!1})),t=function(t){return t.active?g._active_change(t):t.active=!0};for(e in this.gestures)if(0!==(v=this.gestures[e].tools).length){if(this.gestures[e].tools=s.sortBy(v,function(t){return t.default_order}),\"tap\"===e){if(null===this.active_tap)continue;t(\"auto\"===this.active_tap?this.gestures[e].tools[0]:this.active_tap)}if(\"pan\"===e){if(null===this.active_drag)continue;t(\"auto\"===this.active_drag?this.gestures[e].tools[0]:this.active_drag)}if(\"pinch\"===e||\"scroll\"===e){if(null===this.active_scroll||\"auto\"===this.active_scroll)continue;t(this.active_scroll)}}return null},e}(_.ToolbarBase);n.Toolbar=p,p.prototype.type=\"Toolbar\",p.prototype.default_view=_.ToolbarBaseView,p.define({active_drag:[o.Any,\"auto\"],active_inspect:[o.Any,\"auto\"],active_scroll:[o.Any,\"auto\"],active_tap:[o.Any,\"auto\"]})},function(t,e,n){var i=t(364),r=t(14),o=t(5),s=t(4),a=t(15),l=t(6),u=t(50);n.ToolbarBaseView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._tool_button_views={},this._build_tool_button_views()},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.tools.change,function(){return e._build_tool_button_views()})},e.prototype.remove=function(){return s.remove_views(this._tool_button_views),t.prototype.remove.call(this)},e.prototype._build_tool_button_views=function(){var t,e;return e=null!=(t=this.model._proxied_tools)?t:this.model.tools,s.build_views(this._tool_button_views,e,{parent:this},function(t){return t.button_view})},e.prototype.render=function(){var t,e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;o.empty(this.el),this.el.classList.add(\"bk-toolbar\"),this.el.classList.add(\"bk-toolbar-\"+this.model.toolbar_location),null!=this.model.logo&&(i=\"grey\"===this.model.logo?\"bk-grey\":null,m=o.a({href:\"https://bokeh.pydata.org/\",target:\"_blank\",class:[\"bk-logo\",\"bk-logo-small\",i]}),this.el.appendChild(m)),e=[],s=this.model.gestures;for(r in s){for(n=[],g=s[r].tools,a=0,c=g.length;a<c;a++)w=g[a],n.push(this._tool_button_views[w.id].el);e.push(n)}for(n=[],y=this.model.actions,l=0,_=y.length;l<_;l++)w=y[l],n.push(this._tool_button_views[w.id].el);for(e.push(n),n=[],b=this.model.inspectors,u=0,p=b.length;u<p;u++)(w=b[u]).toggleable&&n.push(this._tool_button_views[w.id].el);for(e.push(n),n=[],x=this.model.help,h=0,d=x.length;h<d;h++)w=x[h],n.push(this._tool_button_views[w.id].el);for(e.push(n),v=0,f=e.length;v<f;v++)0!==(n=e[v]).length&&(t=o.div({class:\"bk-button-bar\"},n),this.el.appendChild(t));return this},e}(l.DOMView);var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._active_change=function(t){var e,n,i,o,s;for(\"string\"==typeof(i=t.event_type)&&(i=[i]),o=0,s=i.length;o<s;o++)n=i[o],t.active?(null!=(e=this.gestures[n].active)&&t!==e&&(r.logger.debug(\"Toolbar: deactivating tool: \"+e.type+\" (\"+e.id+\") for event type '\"+n+\"'\"),e.active=!1),this.gestures[n].active=t,r.logger.debug(\"Toolbar: activating tool: \"+t.type+\" (\"+t.id+\") for event type '\"+n+\"'\")):this.gestures[n].active=null;return null},e}(u.Model);n.ToolbarBase=h,h.prototype.type=\"ToolbarBase\",h.prototype.default_view=n.ToolbarBaseView,h.getters({horizontal:function(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location},vertical:function(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}}),h.define({tools:[a.Array,[]],logo:[a.String,\"normal\"]}),h.internal({gestures:[a.Any,function(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},rotate:{tools:[],active:null},multi:{tools:[],active:null}}}],actions:[a.Array,[]],inspectors:[a.Array,[]],help:[a.Array,[]],toolbar_location:[a.Location,\"right\"]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(15),s=t(5),a=t(22),l=t(207),u=t(208),h=t(218),c=t(229),_=t(234),p=t(232),d=t(139),f=t(4),m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._init_tools(),this._merge_tools()},e.prototype._init_tools=function(){var t,e,n,i,r,o;for(i=this.tools,r=[],e=0,n=i.length;e<n;e++)(o=i[e])instanceof c.InspectTool?a.any(this.inspectors,function(t){return t.id===o.id})?r.push(void 0):r.push(this.inspectors=this.inspectors.concat([o])):o instanceof u.HelpTool?a.any(this.help,function(t){return t.id===o.id})?r.push(void 0):r.push(this.help=this.help.concat([o])):o instanceof l.ActionTool?a.any(this.actions,function(t){return t.id===o.id})?r.push(void 0):r.push(this.actions=this.actions.concat([o])):o instanceof h.GestureTool?(t=o.event_type,a.any(this.gestures[t].tools,function(t){return t.id===o.id})?r.push(void 0):r.push(this.gestures[t].tools=this.gestures[t].tools.concat([o]))):r.push(void 0);return r},e.prototype._merge_tools=function(){var t,e,n,i,o,s,l,u,h,c,_,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j=this;for(this._proxied_tools=[],u={},t={},i={},y=[],b=[],w=this.help,s=0,d=w.length;s<d;s++)o=w[s],k=o.redirect,r.call(b,k)<0&&(y.push(o),b.push(o.redirect));(P=this._proxied_tools).push.apply(P,y),this.help=y,S=this.gestures;for(n in S){l=S[n],n in i||(i[n]={}),T=l.tools;for(h=0,f=T.length;h<f;h++)(C=T[h]).type in i[n]||(i[n][C.type]=[]),i[n][C.type].push(C)}for(M=this.inspectors,c=0,m=M.length;c<m;c++)(C=M[c]).type in u||(u[C.type]=[]),u[C.type].push(C);for(A=this.actions,_=0,v=A.length;_<v;_++)(C=A[_]).type in t||(t[C.type]=[]),t[C.type].push(C);g=function(t,e){void 0===e&&(e=!1);var n;return n=new p.ToolProxy({tools:t,active:e}),j._proxied_tools.push(n),n};for(n in i){this.gestures[n].tools=[],E=i[n];for(O in E)(N=E[O]).length>0&&(x=g(N),this.gestures[n].tools.push(x),this.connect(x.properties.active.change,this._active_change.bind(this,x)))}this.actions=[];for(O in t)(N=t[O]).length>0&&this.actions.push(g(N));this.inspectors=[];for(O in u)(N=u[O]).length>0&&this.inspectors.push(g(N,!0));z=[];for(e in this.gestures)0!==(N=this.gestures[e].tools).length&&(this.gestures[e].tools=a.sortBy(N,function(t){return t.default_order}),\"pinch\"!==e&&\"scroll\"!==e?z.push(this.gestures[e].tools[0].active=!0):z.push(void 0));return z;var P},e}(_.ToolbarBase);n.ProxyToolbar=m,m.prototype.type=\"ProxyToolbar\";var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.model.toolbar.toolbar_location=this.model.toolbar_location,this._toolbar_views={},f.build_views(this._toolbar_views,[this.model.toolbar],{parent:this})},e.prototype.remove=function(){return f.remove_views(this._toolbar_views),t.prototype.remove.call(this)},e.prototype.render=function(){var e;return t.prototype.render.call(this),(e=this._toolbar_views[this.model.toolbar.id]).render(),s.empty(this.el),this.el.appendChild(e.el)},e.prototype.get_width=function(){return this.model.toolbar.vertical?30:null},e.prototype.get_height=function(){return this.model.toolbar.horizontal?30:null},e}(d.LayoutDOMView);n.ToolbarBoxView=v,v.prototype.className=\"bk-toolbar-box\";var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(d.LayoutDOM);n.ToolbarBox=g,g.prototype.type=\"ToolbarBox\",g.prototype.default_view=v,g.define({toolbar:[o.Instance],toolbar_location:[o.Location,\"right\"]}),g.getters({sizing_mode:function(){switch(this.toolbar_location){case\"above\":case\"below\":return\"scale_width\";case\"left\":case\"right\":return\"scale_height\"}}})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=t(30),a=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(r,e),r.prototype.compute=function(e){return this.scalar_transform.apply(this,this.values.concat([e,t,n]))},r.prototype.v_compute=function(e){return this.vector_transform.apply(this,this.values.concat([e,t,n]))},r.prototype._make_transform=function(t,e){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[t,\"require\",\"exports\",e])))},r.prototype._make_values=function(){return s.values(this.args)},r}(r.Transform);n.CustomJSTransform=a,a.prototype.type=\"CustomJSTransform\",a.define({args:[o.Any,{}],func:[o.String,\"\"],v_func:[o.String,\"\"]}),a.getters({values:function(){return this._make_values()},scalar_transform:function(){return this._make_transform(\"x\",this.func)},vector_transform:function(){return this._make_transform(\"xs\",this.v_func)}})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t,e){void 0===e&&(e=!0);var n;return null!=(null!=(n=this.range)?n.synthetic:void 0)&&e&&(t=this.range.synthetic(t)),t+this.value},e}(r.Transform);n.Dodge=s,s.define({value:[o.Number,0],range:[o.Instance]})},function(t,e,n){var i=t(236);n.CustomJSTransform=i.CustomJSTransform;var r=t(237);n.Dodge=r.Dodge;var o=t(239);n.Interpolator=o.Interpolator;var s=t(240);n.Jitter=s.Jitter;var a=t(241);n.LinearInterpolator=a.LinearInterpolator;var l=t(242);n.StepInterpolator=l.StepInterpolator;var u=t(243);n.Transform=u.Transform},function(t,e,n){var i=t(364),r=[].indexOf,o=t(243),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._x_sorted=[],this._y_sorted=[],this._sorted_dirty=!0,this.connect(this.change,function(){return this._sorted_dirty=!0})},e.prototype.sort=function(t){void 0===t&&(t=!1);var e,n,i,o,s,a,l,u,h,c,_;if(typeof this.x!=typeof this.y)throw new Error(\"The parameters for x and y must be of the same type, either both strings which define a column in the data source or both arrays of the same length\");if(\"string\"==typeof this.x&&null===this.data)throw new Error(\"If the x and y parameters are not specified as an array, the data parameter is reqired.\");if(!1!==this._sorted_dirty){if(c=[],_=[],\"string\"==typeof this.x){if(n=this.data,e=n.columns(),l=this.x,r.call(e,l)<0)throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");if(u=this.y,r.call(e,u)<0)throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");c=n.get_column(this.x),_=n.get_column(this.y)}else c=this.x,_=this.y;if(c.length!==_.length)throw new Error(\"The length for x and y do not match\");if(c.length<2)throw new Error(\"x and y must have at least two elements to support interpolation\");a=[];for(o in c)a.push({x:c[o],y:_[o]});for(!0===t?a.sort(function(t,e){var n,i;return null!=(n=t.x<e.x)?n:-{1:null!=(i=t.x===e.x)?i:{0:1}}}):a.sort(function(t,e){var n,i;return null!=(n=t.x>e.x)?n:-{1:null!=(i=t.x===e.x)?i:{0:1}}}),s=i=0,h=a.length;0<=h?i<h:i>h;s=0<=h?++i:--i)this._x_sorted[s]=a[s].x,this._y_sorted[s]=a[s].y;return this._sorted_dirty=!1}},e}(o.Transform);n.Interpolator=a,a.define({x:[s.Any],y:[s.Any],data:[s.Any],clip:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=t(29),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t,e){void 0===e&&(e=!0);var n;return null!=(null!=(n=this.range)?n.synthetic:void 0)&&e&&(t=this.range.synthetic(t)),\"uniform\"===this.distribution?t+this.mean+(s.random()-.5)*this.width:\"normal\"===this.distribution?t+s.rnorm(this.mean,this.width):void 0},e}(r.Transform);n.Jitter=a,a.define({mean:[o.Number,0],width:[o.Number,1],distribution:[o.Distribution,\"uniform\"],range:[o.Instance]})},function(t,e,n){var i=t(364),r=t(22),o=t(239);n.LinearInterpolator=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,o,s;if(this.sort(!1),!0===this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return null}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return t===this._x_sorted[0]?this._y_sorted[0]:(e=r.findLastIndex(this._x_sorted,function(e){return e<t}),n=this._x_sorted[e],i=this._x_sorted[e+1],o=this._y_sorted[e],s=this._y_sorted[e+1],o+(t-n)/(i-n)*(s-o))},e.prototype.v_compute=function(t){var e,n,i,r,o;for(r=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)o=t[n],r[n]=this.compute(o);return r},e}(o.Interpolator)},function(t,e,n){var i=t(364),r=t(239),o=t(15),s=t(22),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,r;if(this.sort(!1),!0===this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return null}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return n=-1,\"after\"===this.mode&&(n=s.findLastIndex(this._x_sorted,function(e){return t>=e})),\"before\"===this.mode&&(n=s.findIndex(this._x_sorted,function(e){return t<=e})),\"center\"===this.mode&&(e=function(){var e,n,i,o;for(i=this._x_sorted,o=[],e=0,n=i.length;e<n;e++)r=i[e],o.push(Math.abs(r-t));return o}.call(this),i=s.min(e),n=s.findIndex(e,function(t){return i===t})),-1!==n?this._y_sorted[n]:null},e.prototype.v_compute=function(t){var e,n,i,r,o;for(r=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)o=t[n],r[n]=this.compute(o);return r},e}(r.Interpolator);n.StepInterpolator=a,a.define({mode:[o.StepMode,\"after\"]})},function(t,e,n){var i=t(364),r=t(50);n.Transform=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.v_compute=function(t){var e,n,i,r,o,s;for(null!=(null!=(r=this.range)?r.v_synthetic:void 0)&&(t=this.range.v_synthetic(t)),o=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)s=t[n],o[n]=this.compute(s,!1);return o},e}(r.Model)},function(t,e,n){\"function\"!=typeof WeakMap&&t(313),\"function\"!=typeof Set&&t(303);var i=String.prototype;i.repeat||(i.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 n=\"\";1==(1&t)&&(n+=e),0!=(t>>>=1);)e+=e;return n})},function(t,e,n){var i=t(37),r=function(){function t(t,e,n){this.header=t,this.metadata=e,this.content=n,this.buffers=[]}return t.assemble=function(e,n,i){var r=JSON.parse(e),o=JSON.parse(n),s=JSON.parse(i);return new t(r,o,s)},t.prototype.assemble_buffer=function(t,e){var n=null!=this.header.num_buffers?this.header.num_buffers:0;if(n<=this.buffers.length)throw new Error(\"too many buffers received, expecting #{nb}\");this.buffers.push([t,e])},t.create=function(e,n,i){void 0===i&&(i={});var r=t.create_header(e);return new t(r,n,i)},t.create_header=function(t){return{msgid:i.uniqueId(),msgtype:t}},t.prototype.complete=function(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(!(\"num_buffers\"in this.header)||this.buffers.length===this.header.num_buffers)},t.prototype.send=function(t){var e=null!=this.header.num_buffers?this.header.num_buffers:0;if(e>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");var n=JSON.stringify(this.header),i=JSON.stringify(this.metadata),r=JSON.stringify(this.content);t.send(n),t.send(i),t.send(r)},t.prototype.msgid=function(){return this.header.msgid},t.prototype.msgtype=function(){return this.header.msgtype},t.prototype.reqid=function(){return this.header.reqid},t.prototype.problem=function(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"},t}();n.Message=r},function(t,e,n){var i=t(245),r=function(){function t(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}return t.prototype.consume=function(t){this._current_consumer(t)},t.prototype._HEADER=function(t){this._assume_text(t),this.message=null,this._partial=null,this._fragments=[t],this._buf_header=null,this._current_consumer=this._METADATA},t.prototype._METADATA=function(t){this._assume_text(t),this._fragments.push(t),this._current_consumer=this._CONTENT},t.prototype._CONTENT=function(t){this._assume_text(t),this._fragments.push(t);var e=this._fragments.slice(0,3),n=e[0],r=e[1],o=e[2];this._partial=i.Message.assemble(n,r,o),this._check_complete()},t.prototype._BUFFER_HEADER=function(t){this._assume_text(t),this._buf_header=t,this._current_consumer=this._BUFFER_PAYLOAD},t.prototype._BUFFER_PAYLOAD=function(t){this._assume_binary(t),this._partial.assemble_buffer(this._buf_header,t),this._check_complete()},t.prototype._assume_text=function(t){if(t instanceof ArrayBuffer)throw new Error(\"Expected text fragment but received binary fragment\")},t.prototype._assume_binary=function(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")},t.prototype._check_complete=function(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER},t}();n.Receiver=r},function(t,e,n){n.safely=function(t,e){void 0===e&&(e=!1);try{return t()}catch(t){if(function(t){var e=document.createElement(\"div\");e.style.backgroundColor=\"#f2dede\",e.style.border=\"1px solid #a94442\",e.style.borderRadius=\"4px\",e.style.display=\"inline-block\",e.style.fontFamily=\"sans-serif\",e.style.marginTop=\"5px\",e.style.minWidth=\"200px\",e.style.padding=\"5px 5px 5px 10px\";var n=document.createElement(\"span\");n.style.backgroundColor=\"#a94442\",n.style.borderRadius=\"0px 4px 0px 0px\",n.style.color=\"white\",n.style.cursor=\"pointer\",n.style.cssFloat=\"right\",n.style.fontSize=\"0.8em\",n.style.margin=\"-6px -6px 0px 0px\",n.style.padding=\"2px 5px 4px 5px\",n.title=\"close\",n.setAttribute(\"aria-label\",\"close\"),n.appendChild(document.createTextNode(\"x\")),n.addEventListener(\"click\",function(){return o.removeChild(e)});var i=document.createElement(\"h3\");i.style.color=\"#a94442\",i.style.margin=\"8px 0px 0px 0px\",i.style.padding=\"0px\",i.appendChild(document.createTextNode(\"Bokeh Error\"));var r=document.createElement(\"pre\");r.style.whiteSpace=\"unset\",r.style.overflowX=\"auto\",r.appendChild(document.createTextNode(t.message||t)),e.appendChild(n),e.appendChild(i),e.appendChild(r);var o=document.getElementsByTagName(\"body\")[0];o.insertBefore(e,o.firstChild)}(t),e)return;throw t}}},function(t,e,n){n.version=\"0.12.13\"},/*!!\n",
       "       *  Canvas 2 Svg v1.0.21\n",
       "       *  A low level canvas to SVG converter. Uses a mock canvas context to build an SVG document.\n",
       "       *\n",
       "       *  Licensed under the MIT license:\n",
       "       *  http://www.opensource.org/licenses/mit-license.php\n",
       "       *\n",
       "       *  Author:\n",
       "       *  Kerry Liu\n",
       "       *\n",
       "       *  Copyright (c) 2014 Gliffy Inc.\n",
       "       */\n",
       "      function(t,e,n){!function(){\"use strict\";function t(t,e){var n,i=Object.keys(e);for(n=0;n<i.length;n++)t=t.replace(new RegExp(\"\\\\{\"+i[n]+\"\\\\}\",\"gi\"),e[i[n]]);return t}function n(t){var e,n,i;if(!t)throw new Error(\"cannot create a random attribute name for an undefined object\");e=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",n=\"\";do{for(n=\"\",i=0;i<12;i++)n+=e[Math.floor(Math.random()*e.length)]}while(t[n]);return n}var i,r,o,s,a;a=function(t,e){var n,i,r,o={};for(t=t.split(\",\"),e=e||10,n=0;n<t.length;n+=2)i=\"&\"+t[n+1]+\";\",r=parseInt(t[n],e),o[i]=\"&#\"+r+\";\";return o[\"\\\\xa0\"]=\"&#160;\",o}(\"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro\",32),i={strokeStyle:{svgAttr:\"stroke\",canvas:\"#000000\",svg:\"none\",apply:\"stroke\"},fillStyle:{svgAttr:\"fill\",canvas:\"#000000\",svg:null,apply:\"fill\"},lineCap:{svgAttr:\"stroke-linecap\",canvas:\"butt\",svg:\"butt\",apply:\"stroke\"},lineJoin:{svgAttr:\"stroke-linejoin\",canvas:\"miter\",svg:\"miter\",apply:\"stroke\"},miterLimit:{svgAttr:\"stroke-miterlimit\",canvas:10,svg:4,apply:\"stroke\"},lineWidth:{svgAttr:\"stroke-width\",canvas:1,svg:1,apply:\"stroke\"},globalAlpha:{svgAttr:\"opacity\",canvas:1,svg:1,apply:\"fill stroke\"},font:{canvas:\"10px sans-serif\"},shadowColor:{canvas:\"#000000\"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:\"start\"},textBaseline:{canvas:\"alphabetic\"},lineDash:{svgAttr:\"stroke-dasharray\",canvas:[],svg:null,apply:\"stroke\"}},(o=function(t,e){this.__root=t,this.__ctx=e}).prototype.addColorStop=function(e,n){var i,r=this.__ctx.__createElement(\"stop\");r.setAttribute(\"offset\",e),-1!==n.indexOf(\"rgba\")?(i=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(n),r.setAttribute(\"stop-color\",t(\"rgb({r},{g},{b})\",{r:i[1],g:i[2],b:i[3]})),r.setAttribute(\"stop-opacity\",i[4])):r.setAttribute(\"stop-color\",n),this.__root.appendChild(r)},s=function(t,e){this.__root=t,this.__ctx=e},(r=function(t){var e,n={width:500,height:500,enableMirroring:!1};if(arguments.length>1?((e=n).width=arguments[0],e.height=arguments[1]):e=t||n,!(this instanceof r))return new r(e);this.width=e.width||n.width,this.height=e.height||n.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement(\"canvas\"),this.__ctx=this.__canvas.getContext(\"2d\")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.__root.setAttribute(\"version\",1.1),this.__root.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.__root.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),this.__root.setAttribute(\"width\",this.width),this.__root.setAttribute(\"height\",this.height),this.__ids={},this.__defs=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var i,r,o=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",t),s=Object.keys(e);for(n&&(o.setAttribute(\"fill\",\"none\"),o.setAttribute(\"stroke\",\"none\")),i=0;i<s.length;i++)r=s[i],o.setAttribute(r,e[r]);return o},r.prototype.__setDefaultStyles=function(){var t,e,n=Object.keys(i);for(t=0;t<n.length;t++)this[e=n[t]]=i[e].canvas},r.prototype.__applyStyleState=function(t){var e,n,i=Object.keys(t);for(e=0;e<i.length;e++)this[n=i[e]]=t[n]},r.prototype.__getStyleState=function(){var t,e,n={},r=Object.keys(i);for(t=0;t<r.length;t++)e=r[t],n[e]=this[e];return n},r.prototype.__applyStyleToCurrentElement=function(e){var n=this.__currentElement,r=this.__currentElementsToStyle;r&&(n.setAttribute(e,\"\"),n=r.element,r.children.forEach(function(t){t.setAttribute(e,\"\")}));var a,l,u,h,c,_=Object.keys(i);for(a=0;a<_.length;a++)if(l=i[_[a]],u=this[_[a]],l.apply)if(u instanceof s){if(u.__ctx)for(;u.__ctx.__defs.childNodes.length;)h=u.__ctx.__defs.childNodes[0].getAttribute(\"id\"),this.__ids[h]=h,this.__defs.appendChild(u.__ctx.__defs.childNodes[0]);n.setAttribute(l.apply,t(\"url(#{id})\",{id:u.__root.getAttribute(\"id\")}))}else if(u instanceof o)n.setAttribute(l.apply,t(\"url(#{id})\",{id:u.__root.getAttribute(\"id\")}));else if(-1!==l.apply.indexOf(e)&&l.svg!==u)if(\"stroke\"!==l.svgAttr&&\"fill\"!==l.svgAttr||-1===u.indexOf(\"rgba\")){var p=l.svgAttr;if(\"globalAlpha\"===_[a]&&(p=e+\"-\"+l.svgAttr,n.getAttribute(p)))continue;n.setAttribute(p,u)}else{c=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(u),n.setAttribute(l.svgAttr,t(\"rgb({r},{g},{b})\",{r:c[1],g:c[2],b:c[3]}));var d=c[4],f=this.globalAlpha;null!=f&&(d*=f),n.setAttribute(l.svgAttr+\"-opacity\",d)}},r.prototype.__closestGroupOrSvg=function(t){return\"g\"===(t=t||this.__currentElement).nodeName||\"svg\"===t.nodeName?t:this.__closestGroupOrSvg(t.parentNode)},r.prototype.getSerializedSvg=function(t){var e,n,i,r,o,s=(new XMLSerializer).serializeToString(this.__root);if(/xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg\".+xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg/gi.test(s)&&(s=s.replace('xmlns=\"http://www.w3.org/2000/svg','xmlns:xlink=\"http://www.w3.org/1999/xlink')),t)for(e=Object.keys(a),n=0;n<e.length;n++)i=e[n],r=a[i],(o=new RegExp(i,\"gi\")).test(s)&&(s=s.replace(o,r));return s},r.prototype.getSvg=function(){return this.__root},r.prototype.save=function(){var t=this.__createElement(\"g\"),e=this.__closestGroupOrSvg();this.__groupStack.push(e),e.appendChild(t),this.__currentElement=t,this.__stack.push(this.__getStyleState())},r.prototype.restore=function(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var t=this.__stack.pop();this.__applyStyleState(t)},r.prototype.__addTransform=function(t){var e=this.__closestGroupOrSvg();if(e.childNodes.length>0){\"path\"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement(\"g\");e.appendChild(n),this.__currentElement=n}var i=this.__currentElement.getAttribute(\"transform\");i?i+=\" \":i=\"\",i+=t,this.__currentElement.setAttribute(\"transform\",i)},r.prototype.scale=function(e,n){void 0===n&&(n=e),this.__addTransform(t(\"scale({x},{y})\",{x:e,y:n}))},r.prototype.rotate=function(e){var n=180*e/Math.PI;this.__addTransform(t(\"rotate({angle},{cx},{cy})\",{angle:n,cx:0,cy:0}))},r.prototype.translate=function(e,n){this.__addTransform(t(\"translate({x},{y})\",{x:e,y:n}))},r.prototype.transform=function(e,n,i,r,o,s){this.__addTransform(t(\"matrix({a},{b},{c},{d},{e},{f})\",{a:e,b:n,c:i,d:r,e:o,f:s}))},r.prototype.beginPath=function(){var t;this.__currentDefaultPath=\"\",this.__currentPosition={},t=this.__createElement(\"path\",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},r.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;\"path\"===t.nodeName?t.setAttribute(\"d\",this.__currentDefaultPath):console.error(\"Attempted to apply path command to node\",t.nodeName)},r.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=\" \",this.__currentDefaultPath+=t},r.prototype.moveTo=function(e,n){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:e,y:n},this.__addPathCommand(t(\"M {x} {y}\",{x:e,y:n}))},r.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand(\"Z\")},r.prototype.lineTo=function(e,n){this.__currentPosition={x:e,y:n},this.__currentDefaultPath.indexOf(\"M\")>-1?this.__addPathCommand(t(\"L {x} {y}\",{x:e,y:n})):this.__addPathCommand(t(\"M {x} {y}\",{x:e,y:n}))},r.prototype.bezierCurveTo=function(e,n,i,r,o,s){this.__currentPosition={x:o,y:s},this.__addPathCommand(t(\"C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}\",{cp1x:e,cp1y:n,cp2x:i,cp2y:r,x:o,y:s}))},r.prototype.quadraticCurveTo=function(e,n,i,r){this.__currentPosition={x:i,y:r},this.__addPathCommand(t(\"Q {cpx} {cpy} {x} {y}\",{cpx:e,cpy:n,x:i,y:r}))};var l=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};r.prototype.arcTo=function(t,e,n,i,r){var o=this.__currentPosition&&this.__currentPosition.x,s=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==s){if(r<0)throw new Error(\"IndexSizeError: The radius provided (\"+r+\") is negative.\");if(o===t&&s===e||t===n&&e===i||0===r)this.lineTo(t,e);else{var a=l([o-t,s-e]),u=l([n-t,i-e]);if(a[0]*u[1]!=a[1]*u[0]){var h=a[0]*u[0]+a[1]*u[1],c=Math.acos(Math.abs(h)),_=l([a[0]+u[0],a[1]+u[1]]),p=r/Math.sin(c/2),d=t+p*_[0],f=e+p*_[1],m=[-a[1],a[0]],v=[u[1],-u[0]],g=function(t){var e=t[0],n=t[1];return n>=0?Math.acos(e):-Math.acos(e)},y=g(m),b=g(v);this.lineTo(d+m[0]*r,f+m[1]*r),this.arc(d,f,r,y,b)}else this.lineTo(t,e)}}},r.prototype.stroke=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill stroke markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.fill=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke fill markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\")},r.prototype.rect=function(t,e,n,i){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+i),this.lineTo(t,e+i),this.lineTo(t,e),this.closePath()},r.prototype.fillRect=function(t,e,n,i){var r;r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i},!0),this.__closestGroupOrSvg().appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement(\"fill\")},r.prototype.strokeRect=function(t,e,n,i){var r;r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i},!0),this.__closestGroupOrSvg().appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg(),e=t.getAttribute(\"transform\"),n=this.__root.childNodes[1],i=n.childNodes,r=i.length-1;r>=0;r--)i[r]&&n.removeChild(i[r]);this.__currentElement=n,this.__groupStack=[],e&&this.__addTransform(e)},r.prototype.clearRect=function(t,e,n,i){if(0!==t||0!==e||n!==this.width||i!==this.height){var r,o=this.__closestGroupOrSvg();r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i,fill:\"#FFFFFF\"},!0),o.appendChild(r)}else this.__clearCanvas()},r.prototype.createLinearGradient=function(t,e,i,r){var s=this.__createElement(\"linearGradient\",{id:n(this.__ids),x1:t+\"px\",x2:i+\"px\",y1:e+\"px\",y2:r+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(s),new o(s,this)},r.prototype.createRadialGradient=function(t,e,i,r,s,a){var l=this.__createElement(\"radialGradient\",{id:n(this.__ids),cx:r+\"px\",cy:s+\"px\",r:a+\"px\",fx:t+\"px\",fy:e+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(l),new o(l,this)},r.prototype.__parseFont=function(){var t=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font),e={style:t[1]||\"normal\",size:t[4]||\"10px\",family:t[6]||\"sans-serif\",weight:t[3]||\"normal\",decoration:t[2]||\"normal\",href:null};return\"underline\"===this.__fontUnderline&&(e.decoration=\"underline\"),this.__fontHref&&(e.href=this.__fontHref),e},r.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement(\"a\");return n.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.href),n.appendChild(e),n}return e},r.prototype.__applyText=function(t,e,n,i){var r=this.__parseFont(),o=this.__closestGroupOrSvg(),s=this.__createElement(\"text\",{\"font-family\":r.family,\"font-size\":r.size,\"font-style\":r.style,\"font-weight\":r.weight,\"text-decoration\":r.decoration,x:e,y:n,\"text-anchor\":function(t){var e={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return e[t]||e.start}(this.textAlign),\"dominant-baseline\":function(t){var e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return e[t]||e.alphabetic}(this.textBaseline)},!0);s.appendChild(this.__document.createTextNode(t)),this.__currentElement=s,this.__applyStyleToCurrentElement(i),o.appendChild(this.__wrapTextLink(r,s))},r.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,\"fill\")},r.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,\"stroke\")},r.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},r.prototype.arc=function(e,n,i,r,o,s){if(r!==o){r%=2*Math.PI,o%=2*Math.PI,r===o&&(o=(o+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));var a=e+i*Math.cos(o),l=n+i*Math.sin(o),u=e+i*Math.cos(r),h=n+i*Math.sin(r),c=s?0:1,_=0,p=o-r;p<0&&(p+=2*Math.PI),_=s?p>Math.PI?0:1:p>Math.PI?1:0,this.lineTo(u,h),this.__addPathCommand(t(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\",{rx:i,ry:i,xAxisRotation:0,largeArcFlag:_,sweepFlag:c,endX:a,endY:l})),this.__currentPosition={x:a,y:l}}},r.prototype.clip=function(){var e=this.__closestGroupOrSvg(),i=this.__createElement(\"clipPath\"),r=n(this.__ids),o=this.__createElement(\"g\");this.__applyCurrentDefaultPath(),e.removeChild(this.__currentElement),i.setAttribute(\"id\",r),i.appendChild(this.__currentElement),this.__defs.appendChild(i),e.setAttribute(\"clip-path\",t(\"url(#{id})\",{id:r})),e.appendChild(o),this.__currentElement=o},r.prototype.drawImage=function(){var t,e,n,i,o,s,a,l,u,h,c,_,p,d,f=Array.prototype.slice.call(arguments),m=f[0],v=0,g=0;if(3===f.length)t=f[1],e=f[2],o=m.width,s=m.height,n=o,i=s;else if(5===f.length)t=f[1],e=f[2],n=f[3],i=f[4],o=m.width,s=m.height;else{if(9!==f.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);v=f[1],g=f[2],o=f[3],s=f[4],t=f[5],e=f[6],n=f[7],i=f[8]}a=this.__closestGroupOrSvg(),this.__currentElement;var y=\"translate(\"+t+\", \"+e+\")\";if(m instanceof r){if((l=m.getSvg().cloneNode(!0)).childNodes&&l.childNodes.length>1){for(u=l.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute(\"id\"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(h=l.childNodes[1]){var b,x=h.getAttribute(\"transform\");b=x?x+\" \"+y:y,h.setAttribute(\"transform\",b),a.appendChild(h)}}}else\"IMG\"===m.nodeName?((c=this.__createElement(\"image\")).setAttribute(\"width\",n),c.setAttribute(\"height\",i),c.setAttribute(\"preserveAspectRatio\",\"none\"),(v||g||o!==m.width||s!==m.height)&&((_=this.__document.createElement(\"canvas\")).width=n,_.height=i,(p=_.getContext(\"2d\")).drawImage(m,v,g,o,s,0,0,n,i),m=_),c.setAttribute(\"transform\",y),c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===m.nodeName?m.toDataURL():m.getAttribute(\"src\")),a.appendChild(c)):\"CANVAS\"===m.nodeName&&((c=this.__createElement(\"image\")).setAttribute(\"width\",n),c.setAttribute(\"height\",i),c.setAttribute(\"preserveAspectRatio\",\"none\"),(_=this.__document.createElement(\"canvas\")).width=n,_.height=i,(p=_.getContext(\"2d\")).imageSmoothingEnabled=!1,p.mozImageSmoothingEnabled=!1,p.oImageSmoothingEnabled=!1,p.webkitImageSmoothingEnabled=!1,p.drawImage(m,v,g,o,s,0,0,n,i),m=_,c.setAttribute(\"transform\",y),c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",m.toDataURL()),a.appendChild(c))},r.prototype.createPattern=function(t,e){var i,o=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),a=n(this.__ids);return o.setAttribute(\"id\",a),o.setAttribute(\"width\",t.width),o.setAttribute(\"height\",t.height),\"CANVAS\"===t.nodeName||\"IMG\"===t.nodeName?((i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\")).setAttribute(\"width\",t.width),i.setAttribute(\"height\",t.height),i.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===t.nodeName?t.toDataURL():t.getAttribute(\"src\")),o.appendChild(i),this.__defs.appendChild(o)):t instanceof r&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new s(o,this)},r.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null},r.prototype.drawFocusRing=function(){},r.prototype.createImageData=function(){},r.prototype.getImageData=function(){},r.prototype.putImageData=function(){},r.prototype.globalCompositeOperation=function(){},r.prototype.setTransform=function(){},\"object\"==typeof window&&(window.C2S=r),\"object\"==typeof e&&\"object\"==typeof e.exports&&(e.exports=r)}()},function(t,e,n){var i,r=t(273),o=t(283),s=t(287),a=t(282),l=t(287),u=t(289),h=Function.prototype.bind,c=Object.defineProperty,_=Object.prototype.hasOwnProperty;i=function(t,e,n){var i,o=u(e)&&l(e.value);return i=r(e),delete i.writable,delete i.value,i.get=function(){return!n.overwriteDefinition&&_.call(this,t)?o:(e.value=h.call(o,n.resolveContext?n.resolveContext(this):this),c(this,t,e),this[t])},i},e.exports=function(t){var e=o(arguments[1]);return null!=e.resolveContext&&s(e.resolveContext),a(t,function(t,n){return i(n,t,e)})}},function(t,e,n){var i=t(270),r=t(283),o=t(276),s=t(290);(e.exports=function(t,e){var n,o,a,l,u;return arguments.length<2||\"string\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(n=a=!0,o=!1):(n=s.call(t,\"c\"),o=s.call(t,\"e\"),a=s.call(t,\"w\")),u={value:e,configurable:n,enumerable:o,writable:a},l?i(r(l),u):u}).gs=function(t,e,n){var a,l,u,h;return\"string\"!=typeof t?(u=n,n=e,e=t,t=null):u=arguments[3],null==e?e=void 0:o(e)?null==n?n=void 0:o(n)||(u=n,n=void 0):(u=e,e=n=void 0),null==t?(a=!0,l=!1):(a=s.call(t,\"c\"),l=s.call(t,\"e\")),h={get:e,set:n,configurable:a,enumerable:l},u?i(r(u),h):h}},function(t,e,n){var i=t(289);e.exports=function(){return i(this).length=0,this}},function(t,e,n){var i=t(264),r=t(268),o=t(289),s=Array.prototype.indexOf,a=Object.prototype.hasOwnProperty,l=Math.abs,u=Math.floor;e.exports=function(t){var e,n,h,c;if(!i(t))return s.apply(this,arguments);for(n=r(o(this).length),h=arguments[1],h=isNaN(h)?0:h>=0?u(h):r(this.length)-u(l(h)),e=h;e<n;++e)if(a.call(this,e)&&(c=this[e],i(c)))return e;return-1}},function(t,e,n){e.exports=t(255)()?Array.from:t(256)},function(t,e,n){e.exports=function(){var t,e,n=Array.from;return\"function\"==typeof n&&(t=[\"raz\",\"dwa\"],e=n(t),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},function(t,e,n){var i=t(308).iterator,r=t(257),o=t(258),s=t(268),a=t(287),l=t(289),u=t(278),h=t(293),c=Array.isArray,_=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,n,f,m,v,g,y,b,x,w,k=arguments[1],S=arguments[2];if(t=Object(l(t)),u(k)&&a(k),this&&this!==Array&&o(this))e=this;else{if(!k){if(r(t))return 1!==(v=t.length)?Array.apply(null,t):(m=new Array(1),m[0]=t[0],m);if(c(t)){for(m=new Array(v=t.length),n=0;n<v;++n)m[n]=t[n];return m}}m=[]}if(!c(t))if(void 0!==(x=t[i])){for(y=a(x).call(t),e&&(m=new e),b=y.next(),n=0;!b.done;)w=k?_.call(k,S,b.value,n):b.value,e?(p.value=w,d(m,n,p)):m[n]=w,b=y.next(),++n;v=n}else if(h(t)){for(v=t.length,e&&(m=new e),n=0,f=0;n<v;++n)w=t[n],n+1<v&&(g=w.charCodeAt(0))>=55296&&g<=56319&&(w+=t[++n]),w=k?_.call(k,S,w,f):w,e?(p.value=w,d(m,f,p)):m[f]=w,++f;v=f}if(void 0===v)for(v=s(t.length),e&&(m=new e(v)),n=0;n<v;++n)w=k?_.call(k,S,t[n],n):t[n],e?(p.value=w,d(m,n,p)):m[n]=w;return e&&(p.value=null,m.length=v),m}},function(t,e,n){var i=Object.prototype.toString,r=i.call(function(){return arguments}());e.exports=function(t){return i.call(t)===r}},function(t,e,n){var i=Object.prototype.toString,r=i.call(t(259));e.exports=function(t){return\"function\"==typeof t&&i.call(t)===r}},function(t,e,n){e.exports=function(){}},function(t,e,n){e.exports=function(){return this}()},function(t,e,n){e.exports=t(262)()?Math.sign:t(263)},function(t,e,n){e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},function(t,e,n){e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},function(t,e,n){e.exports=t(265)()?Number.isNaN:t(266)},function(t,e,n){e.exports=function(){var t=Number.isNaN;return\"function\"==typeof t&&(!t({})&&t(NaN)&&!t(34))}},function(t,e,n){e.exports=function(t){return t!=t}},function(t,e,n){var i=t(261),r=Math.abs,o=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?i(t)*o(r(t)):t}},function(t,e,n){var i=t(267),r=Math.max;e.exports=function(t){return r(0,i(t))}},function(t,e,n){var i=t(287),r=t(289),o=Function.prototype.bind,s=Function.prototype.call,a=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(n,u){var h,c=arguments[2],_=arguments[3];return n=Object(r(n)),i(u),h=a(n),_&&h.sort(\"function\"==typeof _?o.call(_,n):void 0),\"function\"!=typeof t&&(t=h[t]),s.call(t,h,function(t,i){return l.call(n,t)?s.call(u,c,n[t],t,n,i):e})}}},function(t,e,n){e.exports=t(271)()?Object.assign:t(272)},function(t,e,n){e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},function(t,e,n){var i=t(279),r=t(289),o=Math.max;e.exports=function(t,e){var n,s,a,l=o(arguments.length,2);for(t=Object(r(t)),a=function(i){try{t[i]=e[i]}catch(t){n||(n=t)}},s=1;s<l;++s)e=arguments[s],i(e).forEach(a);if(void 0!==n)throw n;return t}},function(t,e,n){var i=t(254),r=t(270),o=t(289);e.exports=function(t){var e=Object(o(t)),n=arguments[1],s=Object(arguments[2]);if(e!==t&&!n)return e;var a={};return n?i(n,function(e){(s.ensure||e in t)&&(a[e]=t[e])}):r(a,t),a}},function(t,e,n){var i,r=Object.create;t(285)()||(i=t(286)),e.exports=function(){var t,e,n;return i?1!==i.level?r:(t={},e={},n={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){e[t]=\"__proto__\"!==t?n:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(t,e),Object.defineProperty(i,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:t}),function(e,n){return r(null===e?t:e,n)}):r}()},function(t,e,n){e.exports=t(269)(\"forEach\")},function(t,e,n){e.exports=function(t){return\"function\"==typeof t}},function(t,e,n){var i=t(278),r={function:!0,object:!0};e.exports=function(t){return i(t)&&r[typeof t]||!1}},function(t,e,n){var i=t(259)();e.exports=function(t){return t!==i&&null!==t}},function(t,e,n){e.exports=t(280)()?Object.keys:t(281)},function(t,e,n){e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},function(t,e,n){var i=t(278),r=Object.keys;e.exports=function(t){return r(i(t)?Object(t):t)}},function(t,e,n){var i=t(287),r=t(275),o=Function.prototype.call;e.exports=function(t,e){var n={},s=arguments[2];return i(e),r(t,function(t,i,r,a){n[i]=o.call(e,s,t,i,r,a)}),n}},function(t,e,n){var i=t(278),r=Array.prototype.forEach,o=Object.create;e.exports=function(t){var e=o(null);return r.call(arguments,function(t){i(t)&&function(t,e){var n;for(n in t)e[n]=t[n]}(Object(t),e)}),e}},function(t,e,n){e.exports=t(285)()?Object.setPrototypeOf:t(286)},function(t,e,n){var i=Object.create,r=Object.getPrototypeOf,o={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||i;return\"function\"==typeof t&&r(t(e(null),o))===o}},function(t,e,n){var i,r=t(277),o=t(289),s=Object.prototype.isPrototypeOf,a=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};i=function(t,e){if(o(t),null===e||r(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=function(t){var e,n;return t?(2===t.level?t.set?(n=t.set,e=function(t,e){return n.call(i(t,e),e),t}):e=function(t,e){return i(t,e).__proto__=e,t}:e=function t(e,n){var r;return i(e,n),(r=s.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===n&&(n=t.nullPolyfill),e.__proto__=n,r&&a(t.nullPolyfill,\"__proto__\",l),e},Object.defineProperty(e,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),n={},i=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(i){try{(t=i.set).call(e,n)}catch(t){}if(Object.getPrototypeOf(e)===n)return{set:t,level:2}}return e.__proto__=n,Object.getPrototypeOf(e)===n?{level:2}:(e={},e.__proto__=n,Object.getPrototypeOf(e)===n&&{level:1})}()),t(274)},function(t,e,n){e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},function(t,e,n){var i=t(277);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not an Object\");return t}},function(t,e,n){var i=t(278);e.exports=function(t){if(!i(t))throw new TypeError(\"Cannot use null or undefined\");return t}},function(t,e,n){e.exports=t(291)()?String.prototype.contains:t(292)},function(t,e,n){e.exports=function(){return\"function\"==typeof\"razdwatrzy\".contains&&(!0===\"razdwatrzy\".contains(\"dwa\")&&!1===\"razdwatrzy\".contains(\"foo\"))}},function(t,e,n){var i=String.prototype.indexOf;e.exports=function(t){return i.call(this,t,arguments[1])>-1}},function(t,e,n){var i=Object.prototype.toString,r=i.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||i.call(t)===r)||!1}},function(t,e,n){var i=Object.create(null),r=Math.random;e.exports=function(){var t;do{t=r().toString(36).slice(2)}while(i[t]);return t}},function(t,e,n){var i,r=t(284),o=t(290),s=t(251),a=t(308),l=t(298),u=Object.defineProperty;i=e.exports=function(t,e){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?o.call(e,\"key+value\")?\"key+value\":o.call(e,\"key\")?\"key\":\"value\":\"value\",u(this,\"__kind__\",s(\"\",e))},r&&r(i,l),delete i.prototype.constructor,i.prototype=Object.create(l.prototype,{_resolve:s(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),u(i.prototype,a.toStringTag,s(\"c\",\"Array Iterator\"))},function(t,e,n){var i=t(257),r=t(287),o=t(293),s=t(297),a=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;e.exports=function(t,e){var n,h,c,_,p,d,f,m,v=arguments[2];if(a(t)||i(t)?n=\"array\":o(t)?n=\"string\":t=s(t),r(e),c=function(){_=!0},\"array\"!==n)if(\"string\"!==n)for(h=t.next();!h.done;){if(l.call(e,v,h.value,c),_)return;h=t.next()}else for(d=t.length,p=0;p<d&&(f=t[p],p+1<d&&(m=f.charCodeAt(0))>=55296&&m<=56319&&(f+=t[++p]),l.call(e,v,f,c),!_);++p);else u.call(t,function(t){return l.call(e,v,t,c),_})}},function(t,e,n){var i=t(257),r=t(293),o=t(295),s=t(300),a=t(301),l=t(308).iterator;e.exports=function(t){return\"function\"==typeof a(t)[l]?t[l]():i(t)?new o(t):r(t)?new s(t):new o(t)}},function(t,e,n){var i,r=t(252),o=t(270),s=t(287),a=t(289),l=t(251),u=t(250),h=t(308),c=Object.defineProperty,_=Object.defineProperties;e.exports=i=function(t,e){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");_(this,{__list__:l(\"w\",a(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(s(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete i.prototype.constructor,_(i.prototype,o({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:l(function(){return\"[object \"+(this[h.toStringTag]||\"Object\")+\"]\"})},u({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,n){e>=t&&(this.__redo__[n]=++e)},this),this.__redo__.push(t)):c(this,\"__redo__\",l(\"c\",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,n){e>t&&(this.__redo__[n]=--e)},this)))}),_onClear:l(function(){this.__redo__&&r.call(this.__redo__),this.__nextIndex__=0})}))),c(i.prototype,h.iterator,l(function(){return this}))},function(t,e,n){var i=t(257),r=t(278),o=t(293),s=t(308).iterator,a=Array.isArray;e.exports=function(t){return!!r(t)&&(!!a(t)||(!!o(t)||(!!i(t)||\"function\"==typeof t[s])))}},function(t,e,n){var i,r=t(284),o=t(251),s=t(308),a=t(298),l=Object.defineProperty;i=e.exports=function(t){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");t=String(t),a.call(this,t),l(this,\"__length__\",o(\"\",t.length))},r&&r(i,a),delete i.prototype.constructor,i.prototype=Object.create(a.prototype,{_next:o(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:o(function(t){var e,n=this.__list__[t];return this.__nextIndex__===this.__length__?n:(e=n.charCodeAt(0))>=55296&&e<=56319?n+this.__list__[this.__nextIndex__++]:n})}),l(i.prototype,s.toStringTag,o(\"c\",\"String Iterator\"))},function(t,e,n){var i=t(299);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not iterable\");return t}},/*!\n",
       "       * @overview es6-promise - a tiny implementation of Promises/A+.\n",
       "       * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n",
       "       * @license   Licensed under MIT license\n",
       "       *            See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE\n",
       "       * @version   3.0.2\n",
       "       */\n",
       "      function(t,e,n){(function(){\"use strict\";function n(t){return\"function\"==typeof t}function i(){return function(){setTimeout(r,1)}}function r(){for(var t=0;t<w;t+=2){var e=z[t],n=z[t+1];e(n),z[t]=void 0,z[t+1]=void 0}w=0}function o(){try{var e=t,n=e(\"vertx\");return g=n.runOnLoop||n.runOnContext,function(){g(r)}}catch(t){return i()}}function s(){}function a(t,e){if(e.constructor===t.constructor)!function(t,e){e._state===O?h(t,e._result):e._state===N?c(t,e._result):_(e,void 0,function(e){l(t,e)},function(e){c(t,e)})}(t,e);else{var i=function(t){try{return t.then}catch(t){return j.error=t,j}}(e);i===j?c(t,j.error):void 0===i?h(t,e):n(i)?function(t,e,n){k(function(t){var i=!1,r=function(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}(n,e,function(n){i||(i=!0,e!==n?l(t,n):h(t,n))},function(e){i||(i=!0,c(t,e))},t._label);!i&&r&&(i=!0,c(t,r))},t)}(t,e,i):h(t,e)}}function l(t,e){t===e?c(t,new TypeError(\"You cannot resolve a promise with itself\")):!function(t){return\"function\"==typeof t||\"object\"==typeof t&&null!==t}(e)?h(t,e):a(t,e)}function u(t){t._onerror&&t._onerror(t._result),p(t)}function h(t,e){t._state===C&&(t._result=e,t._state=O,0!==t._subscribers.length&&k(p,t))}function c(t,e){t._state===C&&(t._state=N,t._result=e,k(u,t))}function _(t,e,n,i){var r=t._subscribers,o=r.length;t._onerror=null,r[o]=e,r[o+O]=n,r[o+N]=i,0===o&&t._state&&k(p,t)}function p(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i,r,o=t._result,s=0;s<e.length;s+=3)i=e[s],r=e[s+n],i?f(n,i,r,o):r(o);t._subscribers.length=0}}function d(){this.error=null}function f(t,e,i,r){var o,s,a,u,_=n(i);if(_){if((o=function(t,e){try{return t(e)}catch(t){return P.error=t,P}}(i,r))===P?(u=!0,s=o.error,o=null):a=!0,e===o)return void c(e,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=r,a=!0;e._state!==C||(_&&a?l(e,o):u?c(e,s):t===O?h(e,o):t===N&&c(e,o))}function m(t,e){this._instanceConstructor=t,this.promise=new t(s),this._validateInput(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._init(),0===this.length?h(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&h(this.promise,this._result))):c(this.promise,this._validationError())}function v(t){this._id=L++,this._state=void 0,this._result=void 0,this._subscribers=[],s!==t&&(n(t)||function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof v||function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}(),function(t,e){try{e(function(e){l(t,e)},function(e){c(t,e)})}catch(e){c(t,e)}}(this,t))}var g,y,b,x=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},w=0,k=function(t,e){z[w]=t,z[w+1]=e,2===(w+=2)&&(y?y(r):b())},S=\"undefined\"!=typeof window?window:void 0,T=S||{},M=T.MutationObserver||T.WebKitMutationObserver,A=\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),E=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,z=new Array(1e3);b=A?function(){process.nextTick(r)}:M?function(){var t=0,e=new M(r),n=document.createTextNode(\"\");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}():E?function(){var t=new MessageChannel;return t.port1.onmessage=r,function(){t.port2.postMessage(0)}}():void 0===S&&\"function\"==typeof t?o():i();var C=void 0,O=1,N=2,j=new d,P=new d;m.prototype._validateInput=function(t){return x(t)},m.prototype._validationError=function(){return new Error(\"Array Methods must be provided an Array\")},m.prototype._init=function(){this._result=new Array(this.length)};var D=m;m.prototype._enumerate=function(){for(var t=this.length,e=this.promise,n=this._input,i=0;e._state===C&&i<t;i++)this._eachEntry(n[i],i)},m.prototype._eachEntry=function(t,e){var n=this._instanceConstructor;!function(t){return\"object\"==typeof t&&null!==t}(t)?(this._remaining--,this._result[e]=t):t.constructor===n&&t._state!==C?(t._onerror=null,this._settledAt(t._state,e,t._result)):this._willSettleAt(n.resolve(t),e)},m.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===C&&(this._remaining--,t===N?c(i,n):this._result[e]=n),0===this._remaining&&h(i,this._result)},m.prototype._willSettleAt=function(t,e){var n=this;_(t,void 0,function(t){n._settledAt(O,e,t)},function(t){n._settledAt(N,e,t)})};var F=function(t){return new D(this,t).promise},I=function(t){function e(t){l(i,t)}function n(t){c(i,t)}var i=new this(s);if(!x(t))return c(i,new TypeError(\"You must pass an array to race.\")),i;var r=t.length;for(var o=0;i._state===C&&o<r;o++)_(this.resolve(t[o]),void 0,e,n);return i},B=function(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(s);return l(e,t),e},R=function(t){var e=new this(s);return c(e,t),e},L=0,V=v;v.all=F,v.race=I,v.resolve=B,v.reject=R,v._setScheduler=function(t){y=t},v._setAsap=function(t){k=t},v._asap=k,v.prototype={constructor:v,then:function(t,e){var n=this._state;if(n===O&&!t||n===N&&!e)return this;var i=new this.constructor(s),r=this._result;if(n){var o=arguments[n-1];k(function(){f(n,i,o,r)})}else _(this,i,t,e);return i},catch:function(t){return this.then(null,t)}};var G=function(){var t;if(\"undefined\"!=typeof global)t=global;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e&&\"[object Promise]\"===Object.prototype.toString.call(e.resolve())&&!e.cast)return;t.Promise=V},U={Promise:V,polyfill:G};void 0!==e&&e.exports?e.exports=U:void 0!==this&&(this.ES6Promise=U),G()}).call(this)},function(t,e,n){t(304)()||Object.defineProperty(t(260),\"Set\",{value:t(307),configurable:!0,enumerable:!1,writable:!0})},function(t,e,n){e.exports=function(){var t,e,n;return\"function\"==typeof Set&&(t=new Set([\"raz\",\"dwa\",\"trzy\"]),\"[object Set]\"===String(t)&&(3===t.size&&(\"function\"==typeof t.add&&(\"function\"==typeof t.clear&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.entries&&(\"function\"==typeof t.forEach&&(\"function\"==typeof t.has&&(\"function\"==typeof t.keys&&(\"function\"==typeof t.values&&(e=t.values(),!1===(n=e.next()).done&&\"raz\"===n.value)))))))))))}},function(t,e,n){e.exports=\"undefined\"!=typeof Set&&\"[object Set]\"===Object.prototype.toString.call(Set.prototype)},function(t,e,n){var i,r=t(284),o=t(290),s=t(251),a=t(298),l=t(308).toStringTag,u=Object.defineProperty;i=e.exports=function(t,e){if(!(this instanceof i))return new i(t,e);a.call(this,t.__setData__,t),e=e&&o.call(e,\"key+value\")?\"key+value\":\"value\",u(this,\"__kind__\",s(\"\",e))},r&&r(i,a),i.prototype=Object.create(a.prototype,{constructor:s(i),_resolve:s(function(t){return\"value\"===this.__kind__?this.__list__[t]:[this.__list__[t],this.__list__[t]]}),toString:s(function(){return\"[object Set Iterator]\"})}),u(i.prototype,l,s(\"c\",\"Set Iterator\"))},function(t,e,n){var i,r,o,s=t(252),a=t(253),l=t(284),u=t(287),h=t(251),c=t(317),_=t(308),p=t(301),d=t(296),f=t(306),m=t(305),v=Function.prototype.call,g=Object.defineProperty,y=Object.getPrototypeOf;m&&(o=Set),e.exports=i=function(){var t,e=arguments[0];if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");return t=m&&l?l(new o,y(this)):this,null!=e&&p(e),g(t,\"__setData__\",h(\"c\",[])),e?(d(e,function(t){-1===a.call(this,t)&&this.push(t)},t.__setData__),t):t},m&&(l&&l(i,o),i.prototype=Object.create(o.prototype,{constructor:h(i)})),c(Object.defineProperties(i.prototype,{add:h(function(t){return this.has(t)?this:(this.emit(\"_add\",this.__setData__.push(t)-1,t),this)}),clear:h(function(){this.__setData__.length&&(s.call(this.__setData__),this.emit(\"_clear\"))}),delete:h(function(t){var e=a.call(this.__setData__,t);return-1!==e&&(this.__setData__.splice(e,1),this.emit(\"_delete\",e,t),!0)}),entries:h(function(){return new f(this,\"key+value\")}),forEach:h(function(t){var e,n,i,r=arguments[1];for(u(t),e=this.values(),n=e._next();void 0!==n;)i=e._resolve(n),v.call(t,r,i,i,this),n=e._next()}),has:h(function(t){return-1!==a.call(this.__setData__,t)}),keys:h(r=function(){return this.values()}),size:h.gs(function(){return this.__setData__.length}),values:h(function(){return new f(this)}),toString:h(function(){return\"[object Set]\"})})),g(i.prototype,_.iterator,h(r)),g(i.prototype,_.toStringTag,h(\"c\",\"Set\"))},function(t,e,n){e.exports=t(309)()?Symbol:t(311)},function(t,e,n){var i={object:!0,symbol:!0};e.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!i[typeof Symbol.iterator]&&(!!i[typeof Symbol.toPrimitive]&&!!i[typeof Symbol.toStringTag])}},function(t,e,n){e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},function(t,e,n){var i,r,o,s,a=t(251),l=t(312),u=Object.create,h=Object.defineProperties,c=Object.defineProperty,_=Object.prototype,p=u(null);if(\"function\"==typeof Symbol){i=Symbol;try{String(i()),s=!0}catch(t){}}var d=function(){var t=u(null);return function(e){for(var n,i,r=0;t[e+(r||\"\")];)++r;return e+=r||\"\",t[e]=!0,n=\"@@\"+e,c(_,n,a.gs(null,function(t){i||(i=!0,c(this,n,a(t)),i=!1)})),n}}();o=function(t){if(this instanceof o)throw new TypeError(\"Symbol is not a constructor\");return r(t)},e.exports=r=function t(e){var n;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return s?i(e):(n=u(o.prototype),e=void 0===e?\"\":String(e),h(n,{__description__:a(\"\",e),__name__:a(\"\",d(e))}))},h(r,{for:a(function(t){return p[t]?p[t]:p[t]=r(String(t))}),keyFor:a(function(t){var e;l(t);for(e in p)if(p[e]===t)return e}),hasInstance:a(\"\",i&&i.hasInstance||r(\"hasInstance\")),isConcatSpreadable:a(\"\",i&&i.isConcatSpreadable||r(\"isConcatSpreadable\")),iterator:a(\"\",i&&i.iterator||r(\"iterator\")),match:a(\"\",i&&i.match||r(\"match\")),replace:a(\"\",i&&i.replace||r(\"replace\")),search:a(\"\",i&&i.search||r(\"search\")),species:a(\"\",i&&i.species||r(\"species\")),split:a(\"\",i&&i.split||r(\"split\")),toPrimitive:a(\"\",i&&i.toPrimitive||r(\"toPrimitive\")),toStringTag:a(\"\",i&&i.toStringTag||r(\"toStringTag\")),unscopables:a(\"\",i&&i.unscopables||r(\"unscopables\"))}),h(o.prototype,{constructor:a(r),toString:a(\"\",function(){return this.__name__})}),h(r.prototype,{toString:a(function(){return\"Symbol (\"+l(this).__description__+\")\"}),valueOf:a(function(){return l(this)})}),c(r.prototype,r.toPrimitive,a(\"\",function(){var t=l(this);return\"symbol\"==typeof t?t:t.toString()})),c(r.prototype,r.toStringTag,a(\"c\",\"Symbol\")),c(o.prototype,r.toStringTag,a(\"c\",r.prototype[r.toStringTag])),c(o.prototype,r.toPrimitive,a(\"c\",r.prototype[r.toPrimitive]))},function(t,e,n){var i=t(310);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not a symbol\");return t}},function(t,e,n){t(314)()||Object.defineProperty(t(260),\"WeakMap\",{value:t(316),configurable:!0,enumerable:!1,writable:!0})},function(t,e,n){e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},function(t,e,n){e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},function(t,e,n){var i,r=t(284),o=t(288),s=t(289),a=t(294),l=t(251),u=t(297),h=t(296),c=t(308).toStringTag,_=t(315),p=Array.isArray,d=Object.defineProperty,f=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=i=function(){var t,e=arguments[0];if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");return t=_&&r&&WeakMap!==i?r(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=u(e))),d(t,\"__weakMapData__\",l(\"c\",\"$weakMap$\"+a())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},_&&(r&&r(i,WeakMap),i.prototype=Object.create(WeakMap.prototype,{constructor:l(i)})),Object.defineProperties(i.prototype,{delete:l(function(t){return!!f.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(f.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return f.call(o(t),this.__weakMapData__)}),set:l(function(t,e){return d(o(t),this.__weakMapData__,l(\"c\",e)),this}),toString:l(function(){return\"[object WeakMap]\"})}),d(i.prototype,c,l(\"c\",\"WeakMap\"))},function(t,e,n){var i,r,o,s,a,l,u,h=t(251),c=t(287),_=Function.prototype.apply,p=Function.prototype.call,d=Object.create,f=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};a={on:i=function(t,e){var n;return c(e),v.call(this,\"__ee__\")?n=this.__ee__:(n=g.value=d(null),f(this,\"__ee__\",g),g.value=null),n[t]?\"object\"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},once:r=function(t,e){var n,r;return c(e),r=this,i.call(this,t,n=function(){o.call(r,t,n),_.call(e,this,arguments)}),n.__eeOnceListener__=e,this},off:o=function(t,e){var n,i,r,o;if(c(e),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[t])return this;if(\"object\"==typeof(i=n[t]))for(o=0;r=i[o];++o)r!==e&&r.__eeOnceListener__!==e||(2===i.length?n[t]=i[o?0:1]:i.splice(o,1));else i!==e&&i.__eeOnceListener__!==e||delete n[t];return this},emit:s=function(t){var e,n,i,r,o;if(v.call(this,\"__ee__\")&&(r=this.__ee__[t]))if(\"object\"==typeof r){for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];for(r=r.slice(),e=0;i=r[e];++e)_.call(i,this,o)}else switch(arguments.length){case 1:p.call(r,this);break;case 2:p.call(r,this,arguments[1]);break;case 3:p.call(r,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];_.call(r,this,o)}}},l={on:h(i),once:h(r),off:h(o),emit:h(s)},u=m({},l),e.exports=n=function(t){return null==t?d(u):m(Object(t),l)},n.methods=a},/*! 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(t,e,n){!function(t,n,i,r){\"use strict\";function o(t,e,n){return setTimeout(h(t,n),e)}function s(t,e,n){return!!Array.isArray(t)&&(a(t,n[e],n),!0)}function a(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==r)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function l(e,n,i){var r=\"DEPRECATED METHOD: \"+n+\"\\n\"+i+\" AT \\n\";return function(){var n=new Error(\"get-stack-trace\"),i=n&&n.stack?n.stack.replace(/^[^\\(]+?[\\n$]/gm,\"\").replace(/^\\s+at\\s+/gm,\"\").replace(/^Object.<anonymous>\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,r,i),e.apply(this,arguments)}}function u(t,e,n){var i,r=e.prototype;(i=t.prototype=Object.create(r)).constructor=t,i._super=r,n&&Z(i,n)}function h(t,e){return function(){return t.apply(e,arguments)}}function c(t,e){return typeof t==et?t.apply(e?e[0]||r:r,e):t}function _(t,e){return t===r?e:t}function p(t,e,n){a(v(e),function(e){t.addEventListener(e,n,!1)})}function d(t,e,n){a(v(e),function(e){t.removeEventListener(e,n,!1)})}function f(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function m(t,e){return t.indexOf(e)>-1}function v(t){return t.trim().split(/\\s+/g)}function g(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function y(t){return Array.prototype.slice.call(t,0)}function b(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var s=e?t[o][e]:t[o];g(r,s)<0&&i.push(t[o]),r[o]=s,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function x(t,e){for(var n,i,o=e[0].toUpperCase()+e.slice(1),s=0;s<K.length;){if(n=K[s],(i=n?n+o:e)in t)return i;s++}return r}function w(e){var n=e.ownerDocument||e;return n.defaultView||n.parentWindow||t}function k(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){c(t.options.enable,[t])&&n.handler(e)},this.init()}function S(t,e,n){var i=n.pointers.length,o=n.changedPointers.length,s=e&_t&&i-o==0,a=e&(dt|ft)&&i-o==0;n.isFirst=!!s,n.isFinal=!!a,s&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,i=e.pointers,o=i.length;n.firstInput||(n.firstInput=T(e));o>1&&!n.firstMultiple?n.firstMultiple=T(e):1===o&&(n.firstMultiple=!1);var s=n.firstInput,a=n.firstMultiple,l=a?a.center:s.center,u=e.center=M(i);e.timeStamp=rt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=C(l,u),e.distance=z(l,u),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==_t&&o.eventType!==dt||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y});e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=E(e.deltaX,e.deltaY);var h=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=it(h.x)>it(h.y)?h.x:h.y,e.scale=a?function(t,e){return z(e[0],e[1],Tt)/z(t[0],t[1],Tt)}(a.pointers,i):1,e.rotation=a?function(t,e){return C(e[1],e[0],Tt)+C(t[1],t[0],Tt)}(a.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,o,s,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=ft&&(l>ct||a.velocity===r)){var u=e.deltaX-a.deltaX,h=e.deltaY-a.deltaY,c=A(l,u,h);i=c.x,o=c.y,n=it(c.x)>it(c.y)?c.x:c.y,s=E(u,h),t.lastInterval=e}else n=a.velocity,i=a.velocityX,o=a.velocityY,s=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=o,e.direction=s}(n,e);var c=t.element;f(e.srcEvent.target,c)&&(c=e.srcEvent.target);e.target=c}(t,n),t.emit(\"hammer.input\",n),t.recognize(n),t.session.prevInput=n}function T(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:nt(t.pointers[n].clientX),clientY:nt(t.pointers[n].clientY)},n++;return{timeStamp:rt(),pointers:e,center:M(e),deltaX:t.deltaX,deltaY:t.deltaY}}function M(t){var e=t.length;if(1===e)return{x:nt(t[0].clientX),y:nt(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:nt(n/e),y:nt(i/e)}}function A(t,e,n){return{x:e/t||0,y:n/t||0}}function E(t,e){return t===e?mt:it(t)>=it(e)?t<0?vt:gt:e<0?yt:bt}function z(t,e,n){n||(n=St);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function C(t,e,n){n||(n=St);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function O(){this.evEl=At,this.evWin=Et,this.pressed=!1,k.apply(this,arguments)}function N(){this.evEl=Ot,this.evWin=Nt,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function j(){this.evTarget=Pt,this.evWin=Dt,this.started=!1,k.apply(this,arguments)}function P(){this.evTarget=It,this.targetIds={},k.apply(this,arguments)}function D(){k.apply(this,arguments);var t=h(this.handler,this);this.touch=new P(this.manager,t),this.mouse=new O(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function F(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var i=this.lastTouches,r=function(){var t=i.indexOf(n);t>-1&&i.splice(t,1)};setTimeout(r,Bt)}}function I(t,e){this.manager=t,this.set(e)}function B(t){this.options=Z({},this.defaults,t||{}),this.id=at++,this.manager=null,this.options.enable=_(this.options.enable,!0),this.state=Ht,this.simultaneous={},this.requireFail=[]}function R(t){return t&Kt?\"cancel\":t&$t?\"end\":t&Qt?\"move\":t&Jt?\"start\":\"\"}function L(t){return t==bt?\"down\":t==yt?\"up\":t==vt?\"left\":t==gt?\"right\":\"\"}function V(t,e){var n=e.manager;return n?n.get(t):t}function G(){B.apply(this,arguments)}function U(){G.apply(this,arguments),this.pX=null,this.pY=null}function Y(){G.apply(this,arguments)}function q(){B.apply(this,arguments),this._timer=null,this._input=null}function X(){G.apply(this,arguments)}function W(){G.apply(this,arguments)}function H(){B.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function J(t,e){return e=e||{},e.recognizers=_(e.recognizers,J.defaults.preset),new Q(t,e)}function Q(t,e){this.options=Z({},J.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=function(t){var e,n=t.options.inputClass;e=n||(ut?N:ht?P:lt?D:O);return new e(t,S)}(this),this.touchAction=new I(this,this.options.touchAction),$(this,!0),a(this.options.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function $(t,e){var n=t.element;if(n.style){var i;a(t.options.cssProps,function(r,o){i=x(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||\"\"}),e||(t.oldCssProps={})}}var Z,K=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],tt=n.createElement(\"div\"),et=\"function\",nt=Math.round,it=Math.abs,rt=Date.now;Z=\"function\"!=typeof Object.assign?function(t){if(t===r||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(i!==r&&null!==i)for(var o in i)i.hasOwnProperty(o)&&(e[o]=i[o])}return e}:Object.assign;var ot=l(function(t,e,n){for(var i=Object.keys(e),o=0;o<i.length;)(!n||n&&t[i[o]]===r)&&(t[i[o]]=e[i[o]]),o++;return t},\"extend\",\"Use `assign`.\"),st=l(function(t,e){return ot(t,e,!0)},\"merge\",\"Use `assign`.\"),at=1,lt=\"ontouchstart\"in t,ut=x(t,\"PointerEvent\")!==r,ht=lt&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),ct=25,_t=1,pt=2,dt=4,ft=8,mt=1,vt=2,gt=4,yt=8,bt=16,xt=vt|gt,wt=yt|bt,kt=xt|wt,St=[\"x\",\"y\"],Tt=[\"clientX\",\"clientY\"];k.prototype={handler:function(){},init:function(){this.evEl&&p(this.element,this.evEl,this.domHandler),this.evTarget&&p(this.target,this.evTarget,this.domHandler),this.evWin&&p(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&d(this.element,this.evEl,this.domHandler),this.evTarget&&d(this.target,this.evTarget,this.domHandler),this.evWin&&d(w(this.element),this.evWin,this.domHandler)}};var Mt={mousedown:_t,mousemove:pt,mouseup:dt},At=\"mousedown\",Et=\"mousemove mouseup\";u(O,k,{handler:function(t){var e=Mt[t.type];e&_t&&0===t.button&&(this.pressed=!0),e&pt&&1!==t.which&&(e=dt),this.pressed&&(e&dt&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:\"mouse\",srcEvent:t}))}});var zt={pointerdown:_t,pointermove:pt,pointerup:dt,pointercancel:ft,pointerout:ft},Ct={2:\"touch\",3:\"pen\",4:\"mouse\",5:\"kinect\"},Ot=\"pointerdown\",Nt=\"pointermove pointerup pointercancel\";t.MSPointerEvent&&!t.PointerEvent&&(Ot=\"MSPointerDown\",Nt=\"MSPointerMove MSPointerUp MSPointerCancel\"),u(N,k,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace(\"ms\",\"\"),r=zt[i],o=Ct[t.pointerType]||t.pointerType,s=\"touch\"==o,a=g(e,t.pointerId,\"pointerId\");r&_t&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):r&(dt|ft)&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(a,1))}});var jt={touchstart:_t,touchmove:pt,touchend:dt,touchcancel:ft},Pt=\"touchstart\",Dt=\"touchstart touchmove touchend touchcancel\";u(j,k,{handler:function(t){var e=jt[t.type];if(e===_t&&(this.started=!0),this.started){var n=function(t,e){var n=y(t.touches),i=y(t.changedTouches);e&(dt|ft)&&(n=b(n.concat(i),\"identifier\",!0));return[n,i]}.call(this,t,e);e&(dt|ft)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}}});var Ft={touchstart:_t,touchmove:pt,touchend:dt,touchcancel:ft},It=\"touchstart touchmove touchend touchcancel\";u(P,k,{handler:function(t){var e=Ft[t.type],n=function(t,e){var n=y(t.touches),i=this.targetIds;if(e&(_t|pt)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=y(t.changedTouches),a=[],l=this.target;if(o=n.filter(function(t){return f(t.target,l)}),e===_t)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;r=0;for(;r<s.length;)i[s[r].identifier]&&a.push(s[r]),e&(dt|ft)&&delete i[s[r].identifier],r++;if(!a.length)return;return[b(o.concat(a),\"identifier\",!0),a]}.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}});var Bt=2500,Rt=25;u(D,k,{handler:function(t,e,n){var i=\"touch\"==n.pointerType,r=\"mouse\"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(i)(function(t,e){t&_t?(this.primaryTouch=e.changedPointers[0].identifier,F.call(this,e)):t&(dt|ft)&&F.call(this,e)}).call(this,e,n);else if(r&&function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],o=Math.abs(e-r.x),s=Math.abs(n-r.y);if(o<=Rt&&s<=Rt)return!0}return!1}.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Lt=x(tt.style,\"touchAction\"),Vt=Lt!==r,Gt=\"auto\",Ut=\"manipulation\",Yt=\"none\",qt=\"pan-x\",Xt=\"pan-y\",Wt=function(){if(!Vt)return!1;var e={},n=t.CSS&&t.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(i){e[i]=!n||t.CSS.supports(\"touch-action\",i)}),e}();I.prototype={set:function(t){\"compute\"==t&&(t=this.compute()),Vt&&this.manager.element.style&&Wt[t]&&(this.manager.element.style[Lt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return a(this.manager.recognizers,function(e){c(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),function(t){if(m(t,Yt))return Yt;var e=m(t,qt),n=m(t,Xt);if(e&&n)return Yt;if(e||n)return e?qt:Xt;if(m(t,Ut))return Ut;return Gt}(t.join(\" \"))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var i=this.actions,r=m(i,Yt)&&!Wt[Yt],o=m(i,Xt)&&!Wt[Xt],s=m(i,qt)&&!Wt[qt];if(r){var a=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(a&&l&&u)return}if(!s||!o)return r||o&&n&xt||s&&n&wt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Ht=1,Jt=2,Qt=4,$t=8,Zt=$t,Kt=16;B.prototype={defaults:{},set:function(t){return Z(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(s(t,\"recognizeWith\",this))return this;var e=this.simultaneous;return t=V(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return s(t,\"dropRecognizeWith\",this)?this:(t=V(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(s(t,\"requireFailure\",this))return this;var e=this.requireFail;return t=V(t,this),-1===g(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(s(t,\"dropRequireFailure\",this))return this;t=V(t,this);var e=g(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){n.manager.emit(e,t)}var n=this,i=this.state;i<$t&&e(n.options.event+R(i)),e(n.options.event),t.additionalEvent&&e(t.additionalEvent),i>=$t&&e(n.options.event+R(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|Ht)))return!1;t++}return!0},recognize:function(t){var e=Z({},t);if(!c(this.options.enable,[this,e]))return this.reset(),void(this.state=32);this.state&(Zt|Kt|32)&&(this.state=Ht),this.state=this.process(e),this.state&(Jt|Qt|$t|Kt)&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},u(G,B,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(Jt|Qt),r=this.attrTest(t);return i&&(n&ft||!r)?e|Kt:i||r?n&dt?e|$t:e&Jt?e|Qt:Jt:32}}),u(U,G,{defaults:{event:\"pan\",threshold:10,pointers:1,direction:kt},getTouchAction:function(){var t=this.options.direction,e=[];return t&xt&&e.push(Xt),t&wt&&e.push(qt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,s=t.deltaY;return r&e.direction||(e.direction&xt?(r=0===o?mt:o<0?vt:gt,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===s?mt:s<0?yt:bt,n=s!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return G.prototype.attrTest.call(this,t)&&(this.state&Jt||!(this.state&Jt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=L(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),u(Y,G,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Yt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Jt)},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)}}),u(q,B,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Gt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(dt|ft)&&!r)this.reset();else if(t.eventType&_t)this.reset(),this._timer=o(function(){this.state=Zt,this.tryEmit()},e.time,this);else if(t.eventType&dt)return Zt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===Zt&&(t&&t.eventType&dt?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=rt(),this.manager.emit(this.options.event,this._input)))}}),u(X,G,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Yt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Jt)}}),u(W,G,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:xt|wt,pointers:1},getTouchAction:function(){return U.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(xt|wt)?e=t.overallVelocity:n&xt?e=t.overallVelocityX:n&wt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&it(e)>this.options.velocity&&t.eventType&dt},emit:function(t){var e=L(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),u(H,B,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Ut]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&_t&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=dt)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||z(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t;var l=this.count%e.taps;if(0===l)return this.hasRequireFailures()?(this._timer=o(function(){this.state=Zt,this.tryEmit()},e.interval,this),Jt):Zt}return 32},failTimeout:function(){return this._timer=o(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Zt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),J.VERSION=\"2.0.7\",J.defaults={domEvents:!1,touchAction:\"compute\",enable:!0,inputTarget:null,inputClass:null,preset:[[X,{enable:!1}],[Y,{enable:!1},[\"rotate\"]],[W,{direction:xt}],[U,{direction:xt},[\"swipe\"]],[H],[H,{event:\"doubletap\",taps:2},[\"tap\"]],[q]],cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}};Q.prototype={set:function(t){return Z(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&Zt)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(Jt|Qt|$t)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof B)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(s(t,\"add\",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(s(t,\"remove\",this))return this;if(t=this.get(t)){var e=this.recognizers,n=g(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==r&&e!==r){var n=this.handlers;return a(v(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this}},off:function(t,e){if(t!==r){var n=this.handlers;return a(v(t),function(t){e?n[t]&&n[t].splice(g(n[t],e),1):delete n[t]}),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var i=n.createEvent(\"Event\");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<i.length;)i[r](e),r++}},destroy:function(){this.element&&$(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},Z(J,{INPUT_START:_t,INPUT_MOVE:pt,INPUT_END:dt,INPUT_CANCEL:ft,STATE_POSSIBLE:Ht,STATE_BEGAN:Jt,STATE_CHANGED:Qt,STATE_ENDED:$t,STATE_RECOGNIZED:Zt,STATE_CANCELLED:Kt,STATE_FAILED:32,DIRECTION_NONE:mt,DIRECTION_LEFT:vt,DIRECTION_RIGHT:gt,DIRECTION_UP:yt,DIRECTION_DOWN:bt,DIRECTION_HORIZONTAL:xt,DIRECTION_VERTICAL:wt,DIRECTION_ALL:kt,Manager:Q,Input:k,TouchAction:I,TouchInput:P,MouseInput:O,PointerEventInput:N,TouchMouseInput:D,SingleTouchInput:j,Recognizer:B,AttrRecognizer:G,Tap:H,Pan:U,Swipe:W,Pinch:Y,Rotate:X,Press:q,on:p,off:d,each:a,merge:st,extend:ot,assign:Z,inherit:u,bindFn:h,prefixed:x});var te=void 0!==t?t:\"undefined\"!=typeof self?self:{};te.Hammer=J,void 0!==e&&e.exports?e.exports=J:t.Hammer=J}(window,document)},function(t,e,n){var i,r=t(324);!function(t){t[t.Le=0]=\"Le\",t[t.Ge=1]=\"Ge\",t[t.Eq=2]=\"Eq\"}(i=n.Operator||(n.Operator={}));var o=function(){function t(t,e,n){void 0===n&&(n=r.Strength.required),this._id=s++,this._operator=e,this._expression=t,this._strength=r.Strength.clip(n)}return t.Compare=function(t,e){return t.id-e.id},t.prototype.toString=function(){var t=this;return this._expression+\" \"+function(){switch(t._operator){case i.Le:return\"<=\";case i.Ge:return\">=\";case i.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}();n.Constraint=o;var s=0},function(t,e,n){var i=t(328),r=t(331),o=t(322),s=function(){function t(){var t=function(t){for(var e=0,n=function(){return 0},i=o.createMap(r.Variable.Compare),s=0,a=t.length;s<a;++s){var l=t[s];if(\"number\"==typeof l)e+=l;else if(l instanceof r.Variable)i.setDefault(l,n).second+=1;else{if(!(l instanceof Array))throw new Error(\"invalid Expression argument: \"+JSON.stringify(l));if(2!==l.length)throw new Error(\"array must have length 2\");var u=l[0],h=l[1];if(\"number\"!=typeof u)throw new Error(\"array item 0 must be a number\");if(!(h instanceof r.Variable))throw new Error(\"array item 1 must be a variable\");i.setDefault(h,n).second+=u}}return{terms:i,constant:e}}(arguments);this._terms=t.terms,this._constant=t.constant}return t.prototype.toString=function(){var t=[];i.forEach(this._terms,function(e){t.push([e.first,e.second])});for(var e=!0,n=\"\",r=0,o=t;r<o.length;r++){var s=o[r],a=s[0],l=s[1];e?(e=!1,n+=1==l?\"\"+a:-1==l?\"-\"+a:l+\"*\"+a):n+=1==l?\" + \"+a:-1==l?\" - \"+a:l>=0?\" + \"+l+a:\" - \"+-l+a}var u=this.constant;return u<0?n+=\" - \"+-u:u>0&&(n+=\" + \"+u),n},Object.defineProperty(t.prototype,\"terms\",{get:function(){return this._terms},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"constant\",{get:function(){return this._constant},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"value\",{get:function(){var t=this._constant;return i.forEach(this._terms,function(e){t+=e.first.value*e.second}),t},enumerable:!0,configurable:!0}),t}();n.Expression=s},function(t,e,n){/*-----------------------------------------------------------------------------\n",
       "      | Copyright (c) 2014, Nucleic Development Team.\n",
       "      |\n",
       "      | Distributed under the terms of the Modified BSD License.\n",
       "      |\n",
       "      | The full license is in the file COPYING.txt, distributed with this software.\n",
       "      |----------------------------------------------------------------------------*/\n",
       "      function i(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}i(t(331)),i(t(320)),i(t(319)),i(t(324)),i(t(323))},function(t,e,n){var i=t(328);n.createMap=function(t){return new i.AssociativeArray(t)}},function(t,e,n){function i(t){return t<0?-t<1e-8:t<1e-8}var r=t(331),o=t(320),s=t(319),a=t(324),l=t(322),u=t(328),h=function(){function t(){this._cnMap=l.createMap(s.Constraint.Compare),this._rowMap=l.createMap(_.Compare),this._varMap=l.createMap(r.Variable.Compare),this._editMap=l.createMap(r.Variable.Compare),this._infeasibleRows=[],this._objective=new d,this._artificial=null,this._idTick=0}return t.prototype.addConstraint=function(t){var e=this._cnMap.find(t);if(void 0!==e)throw new Error(\"duplicate constraint\");var n=this._createRow(t),r=n.row,o=n.tag,s=this._chooseSubject(r,o);if(s.type()===c.Invalid&&r.allDummies()){if(!i(r.constant())){for(var a=[],l=0,u=t.expression.terms._array;l<u.length;l++){var h=u[l];a.push(h.first.name)}var _=[\"LE\",\"GE\",\"EQ\"][t.op];throw new Error(\"unsatisfiable constraint [\"+a.join(\",\")+\"] operator: \"+_)}s=o.marker}if(s.type()===c.Invalid){if(!this._addWithArtificialVariable(r))throw new Error(\"unsatisfiable constraint\")}else r.solveFor(s),this._substitute(s,r),this._rowMap.insert(s,r);this._cnMap.insert(t,o),this._optimize(this._objective)},t.prototype.removeConstraint=function(t,e){void 0===e&&(e=!1);var n=this._cnMap.erase(t);if(void 0===n){if(e)return;throw new Error(\"unknown constraint\")}this._removeConstraintEffects(t,n.second);var i=n.second.marker,r=this._rowMap.erase(i);if(void 0===r){var o=this._getMarkerLeavingSymbol(i);if(o.type()===c.Invalid)throw new Error(\"failed to find leaving row\");(r=this._rowMap.erase(o)).second.solveForEx(o,i),this._substitute(i,r.second)}this._optimize(this._objective)},t.prototype.hasConstraint=function(t){return this._cnMap.contains(t)},t.prototype.addEditVariable=function(t,e){var n=this._editMap.find(t);if(void 0!==n)throw new Error(\"duplicate edit variable: \"+t.name);if((e=a.Strength.clip(e))===a.Strength.required)throw new Error(\"bad required strength\");var i=new o.Expression(t),r=new s.Constraint(i,s.Operator.Eq,e);this.addConstraint(r);var l=this._cnMap.find(r).second,u={tag:l,constraint:r,constant:0};this._editMap.insert(t,u)},t.prototype.removeEditVariable=function(t,e){void 0===e&&(e=!1);var n=this._editMap.erase(t);if(void 0===n){if(e)return;throw new Error(\"unknown edit variable: \"+t.name)}this.removeConstraint(n.second.constraint,e)},t.prototype.hasEditVariable=function(t){return this._editMap.contains(t)},t.prototype.suggestValue=function(t,e){var n=this._editMap.find(t);if(void 0===n)throw new Error(\"unknown edit variable: \"+t.name);var i=this._rowMap,r=n.second,o=e-r.constant;r.constant=e;var s=r.tag.marker,a=i.find(s);if(void 0!==a)return a.second.add(-o)<0&&this._infeasibleRows.push(s),void this._dualOptimize();var l=r.tag.other;if(void 0!==(a=i.find(l)))return a.second.add(o)<0&&this._infeasibleRows.push(l),void this._dualOptimize();for(var u=0,h=i.size();u<h;++u){var _=i.itemAt(u),p=_.second,d=p.coefficientFor(s);0!==d&&p.add(o*d)<0&&_.first.type()!==c.External&&this._infeasibleRows.push(_.first)}this._dualOptimize()},t.prototype.updateVariables=function(){for(var t=this._varMap,e=this._rowMap,n=0,i=t.size();n<i;++n){var r=t.itemAt(n),o=e.find(r.second),s=0;void 0!==o&&-0===(s=o.second.constant())&&(s=0),r.first.setValue(s)}},t.prototype.getConstraints=function(){var t=[];return u.forEach(this._cnMap,function(e){t.push(e.first)}),t},Object.defineProperty(t.prototype,\"numConstraints\",{get:function(){return this._cnMap.size()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"numEditVariables\",{get:function(){return this._editMap.size()},enumerable:!0,configurable:!0}),t.prototype._getVarSymbol=function(t){var e=this;return this._varMap.setDefault(t,function(){return e._makeSymbol(c.External)}).second},t.prototype._createRow=function(t){for(var e=t.expression,n=new d(e.constant),r=e.terms,o=0,l=r.size();o<l;++o){var u=r.itemAt(o);if(!i(u.second)){var h=this._getVarSymbol(u.first),_=this._rowMap.find(h);void 0!==_?n.insertRow(_.second,u.second):n.insertSymbol(h,u.second)}}var f=this._objective,m=t.strength,v={marker:p,other:p};switch(t.op){case s.Operator.Le:case s.Operator.Ge:var g=t.op===s.Operator.Le?1:-1,y=this._makeSymbol(c.Slack);if(v.marker=y,n.insertSymbol(y,g),m<a.Strength.required){var b=this._makeSymbol(c.Error);v.other=b,n.insertSymbol(b,-g),f.insertSymbol(b,m)}break;case s.Operator.Eq:if(m<a.Strength.required){var x=this._makeSymbol(c.Error),w=this._makeSymbol(c.Error);v.marker=x,v.other=w,n.insertSymbol(x,-1),n.insertSymbol(w,1),f.insertSymbol(x,m),f.insertSymbol(w,m)}else{var k=this._makeSymbol(c.Dummy);v.marker=k,n.insertSymbol(k)}}return n.constant()<0&&n.reverseSign(),{row:n,tag:v}},t.prototype._chooseSubject=function(t,e){for(var n=t.cells(),i=0,r=n.size();i<r;++i){var o=n.itemAt(i);if(o.first.type()===c.External)return o.first}var s=e.marker.type();return(s===c.Slack||s===c.Error)&&t.coefficientFor(e.marker)<0?e.marker:((s=e.other.type())===c.Slack||s===c.Error)&&t.coefficientFor(e.other)<0?e.other:p},t.prototype._addWithArtificialVariable=function(t){var e=this._makeSymbol(c.Slack);this._rowMap.insert(e,t.copy()),this._artificial=t.copy(),this._optimize(this._artificial);var n=i(this._artificial.constant());this._artificial=null;var r=this._rowMap.erase(e);if(void 0!==r){var o=r.second;if(o.isConstant())return n;var s=this._anyPivotableSymbol(o);if(s.type()===c.Invalid)return!1;o.solveForEx(e,s),this._substitute(s,o),this._rowMap.insert(s,o)}for(var a=this._rowMap,l=0,u=a.size();l<u;++l)a.itemAt(l).second.removeSymbol(e);return this._objective.removeSymbol(e),n},t.prototype._substitute=function(t,e){for(var n=this._rowMap,i=0,r=n.size();i<r;++i){var o=n.itemAt(i);o.second.substitute(t,e),o.second.constant()<0&&o.first.type()!==c.External&&this._infeasibleRows.push(o.first)}this._objective.substitute(t,e),this._artificial&&this._artificial.substitute(t,e)},t.prototype._optimize=function(t){for(;;){var e=this._getEnteringSymbol(t);if(e.type()===c.Invalid)return;var n=this._getLeavingSymbol(e);if(n.type()===c.Invalid)throw new Error(\"the objective is unbounded\");var i=this._rowMap.erase(n).second;i.solveForEx(n,e),this._substitute(e,i),this._rowMap.insert(e,i)}},t.prototype._dualOptimize=function(){for(var t=this._rowMap,e=this._infeasibleRows;0!==e.length;){var n=e.pop(),i=t.find(n);if(void 0!==i&&i.second.constant()<0){var r=this._getDualEnteringSymbol(i.second);if(r.type()===c.Invalid)throw new Error(\"dual optimize failed\");var o=i.second;t.erase(n),o.solveForEx(n,r),this._substitute(r,o),t.insert(r,o)}}},t.prototype._getEnteringSymbol=function(t){for(var e=t.cells(),n=0,i=e.size();n<i;++n){var r=e.itemAt(n),o=r.first;if(r.second<0&&o.type()!==c.Dummy)return o}return p},t.prototype._getDualEnteringSymbol=function(t){for(var e=Number.MAX_VALUE,n=p,i=t.cells(),r=0,o=i.size();r<o;++r){var s=i.itemAt(r),a=s.first,l=s.second;if(l>0&&a.type()!==c.Dummy){var u=this._objective.coefficientFor(a),h=u/l;h<e&&(e=h,n=a)}}return n},t.prototype._getLeavingSymbol=function(t){for(var e=Number.MAX_VALUE,n=p,i=this._rowMap,r=0,o=i.size();r<o;++r){var s=i.itemAt(r),a=s.first;if(a.type()!==c.External){var l=s.second,u=l.coefficientFor(t);if(u<0){var h=-l.constant()/u;h<e&&(e=h,n=a)}}}return n},t.prototype._getMarkerLeavingSymbol=function(t){for(var e=Number.MAX_VALUE,n=e,i=e,r=p,o=r,s=r,a=r,l=this._rowMap,u=0,h=l.size();u<h;++u){var _=l.itemAt(u),d=_.second,f=d.coefficientFor(t);if(0!==f){var m=_.first;if(m.type()===c.External)a=m;else if(f<0){var v=-d.constant()/f;v<n&&(n=v,o=m)}else{var v=d.constant()/f;v<i&&(i=v,s=m)}}}return o!==r?o:s!==r?s:a},t.prototype._removeConstraintEffects=function(t,e){e.marker.type()===c.Error&&this._removeMarkerEffects(e.marker,t.strength),e.other.type()===c.Error&&this._removeMarkerEffects(e.other,t.strength)},t.prototype._removeMarkerEffects=function(t,e){var n=this._rowMap.find(t);void 0!==n?this._objective.insertRow(n.second,-e):this._objective.insertSymbol(t,-e)},t.prototype._anyPivotableSymbol=function(t){for(var e=t.cells(),n=0,i=e.size();n<i;++n){var r=e.itemAt(n),o=r.first.type();if(o===c.Slack||o===c.Error)return r.first}return p},t.prototype._makeSymbol=function(t){return new _(t,this._idTick++)},t}();n.Solver=h;var c;!function(t){t[t.Invalid=0]=\"Invalid\",t[t.External=1]=\"External\",t[t.Slack=2]=\"Slack\",t[t.Error=3]=\"Error\",t[t.Dummy=4]=\"Dummy\"}(c||(c={}));var _=function(){function t(t,e){this._id=e,this._type=t}return t.Compare=function(t,e){return t.id()-e.id()},t.prototype.id=function(){return this._id},t.prototype.type=function(){return this._type},t}(),p=new _(c.Invalid,-1),d=function(){function t(t){void 0===t&&(t=0),this._cellMap=l.createMap(_.Compare),this._constant=t}return t.prototype.cells=function(){return this._cellMap},t.prototype.constant=function(){return this._constant},t.prototype.isConstant=function(){return this._cellMap.empty()},t.prototype.allDummies=function(){for(var t=this._cellMap,e=0,n=t.size();e<n;++e){var i=t.itemAt(e);if(i.first.type()!==c.Dummy)return!1}return!0},t.prototype.copy=function(){var e=new t(this._constant);return e._cellMap=this._cellMap.copy(),e},t.prototype.add=function(t){return this._constant+=t},t.prototype.insertSymbol=function(t,e){void 0===e&&(e=1);var n=this._cellMap.setDefault(t,function(){return 0});i(n.second+=e)&&this._cellMap.erase(t)},t.prototype.insertRow=function(t,e){void 0===e&&(e=1),this._constant+=t._constant*e;for(var n=t._cellMap,i=0,r=n.size();i<r;++i){var o=n.itemAt(i);this.insertSymbol(o.first,o.second*e)}},t.prototype.removeSymbol=function(t){this._cellMap.erase(t)},t.prototype.reverseSign=function(){this._constant=-this._constant;for(var t=this._cellMap,e=0,n=t.size();e<n;++e){var i=t.itemAt(e);i.second=-i.second}},t.prototype.solveFor=function(t){var e=this._cellMap,n=e.erase(t),i=-1/n.second;this._constant*=i;for(var r=0,o=e.size();r<o;++r)e.itemAt(r).second*=i},t.prototype.solveForEx=function(t,e){this.insertSymbol(t,-1),this.solveFor(e)},t.prototype.coefficientFor=function(t){var e=this._cellMap.find(t);return void 0!==e?e.second:0},t.prototype.substitute=function(t,e){var n=this._cellMap.erase(t);void 0!==n&&this.insertRow(e,n.second)},t}()},function(t,e,n){!function(t){function e(t,e,n,i){void 0===i&&(i=1);var r=0;return r+=1e6*Math.max(0,Math.min(1e3,t*i)),r+=1e3*Math.max(0,Math.min(1e3,e*i)),r+=Math.max(0,Math.min(1e3,n*i))}t.create=e,t.required=e(1e3,1e3,1e3),t.strong=e(1,0,0),t.medium=e(0,1,0),t.weak=e(0,0,1),t.clip=function(e){return Math.max(0,Math.min(t.required,e))}}(n.Strength||(n.Strength={}))},function(t,e,n){function i(t,e,n){for(var i,r,o=0,s=t.length;s>0;)n(t[r=o+(i=s>>1)],e)<0?(o=r+1,s-=i+1):s=i;return o}var r=t(329);n.lowerBound=i,n.binarySearch=function(t,e,n){var r=i(t,e,n);if(r===t.length)return-1;var o=t[r];if(0!==n(o,e))return-1;return r},n.binaryFind=function(t,e,n){var r=i(t,e,n);if(r===t.length)return;var o=t[r];if(0!==n(o,e))return;return o},n.asSet=function(t,e){var n=r.asArray(t),i=n.length;if(i<=1)return n;n.sort(e);for(var o=[n[0]],s=1,a=0;s<i;++s){var l=n[s];0!==e(o[a],l)&&(o.push(l),++a)}return o},n.setIsDisjoint=function(t,e,n){var i=0,r=0,o=t.length,s=e.length;for(;i<o&&r<s;){var a=n(t[i],e[r]);if(a<0)++i;else{if(!(a>0))return!1;++r}}return!0},n.setIsSubset=function(t,e,n){var i=t.length,r=e.length;if(i>r)return!1;var o=0,s=0;for(;o<i&&s<r;){var a=n(t[o],e[s]);if(a<0)return!1;a>0?++s:(++o,++s)}if(o<i)return!1;return!0},n.setUnion=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?(a.push(u),++r):(a.push(l),++i,++r)}for(;i<o;)a.push(t[i]),++i;for(;r<s;)a.push(e[r]),++r;return a},n.setIntersection=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?++i:h>0?++r:(a.push(l),++i,++r)}return a},n.setDifference=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?++r:(++i,++r)}for(;i<o;)a.push(t[i]),++i;return a},n.setSymmetricDifference=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?(a.push(u),++r):(++i,++r)}for(;i<o;)a.push(t[i]),++i;for(;r<s;)a.push(e[r]),++r;return a}},function(t,e,n){var i=t(329),r=function(){function t(){this._array=[]}return t.prototype.size=function(){return this._array.length},t.prototype.empty=function(){return 0===this._array.length},t.prototype.itemAt=function(t){return this._array[t]},t.prototype.takeAt=function(t){return this._array.splice(t,1)[0]},t.prototype.clear=function(){this._array=[]},t.prototype.swap=function(t){var e=this._array;this._array=t._array,t._array=e},t.prototype.__iter__=function(){return i.iter(this._array)},t.prototype.__reversed__=function(){return i.reversed(this._array)},t}();n.ArrayBase=r},function(t,e,n){/*-----------------------------------------------------------------------------\n",
       "      | Copyright (c) 2014, Nucleic Development Team.\n",
       "      |\n",
       "      | Distributed under the terms of the Modified BSD License.\n",
       "      |\n",
       "      | The full license is in the file COPYING.txt, distributed with this software.\n",
       "      |----------------------------------------------------------------------------*/\n",
       "      var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=t(330),o=t(326),s=t(325),a=t(329),l=function(t){function e(e){var n=t.call(this)||this;return n._compare=e,n._wrapped=function(t){return function(e,n){return t(e.first,n)}}(e),n}return i(e,t),e.prototype.comparitor=function(){return this._compare},e.prototype.indexOf=function(t){return s.binarySearch(this._array,t,this._wrapped)},e.prototype.contains=function(t){return s.binarySearch(this._array,t,this._wrapped)>=0},e.prototype.find=function(t){return s.binaryFind(this._array,t,this._wrapped)},e.prototype.setDefault=function(t,e){var n=this._array,i=s.lowerBound(n,t,this._wrapped);if(i===n.length){var o=new r.Pair(t,e());return n.push(o),o}var a=n[i];if(0!==this._compare(a.first,t)){var o=new r.Pair(t,e());return n.splice(i,0,o),o}return a},e.prototype.insert=function(t,e){var n=this._array,i=s.lowerBound(n,t,this._wrapped);if(i===n.length){var o=new r.Pair(t,e);return n.push(o),o}var a=n[i];if(0!==this._compare(a.first,t)){var o=new r.Pair(t,e);return n.splice(i,0,o),o}return a.second=e,a},e.prototype.update=function(t){var n=this;t instanceof e?this._array=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l.first,u.first);h<0?(a.push(l.copy()),++i):h>0?(a.push(u.copy()),++r):(a.push(u.copy()),++i,++r)}for(;i<o;)a.push(t[i].copy()),++i;for(;r<s;)a.push(e[r].copy()),++r;return a}(this._array,t._array,this._compare):a.forEach(t,function(t){n.insert(t.first,t.second)})},e.prototype.erase=function(t){var e=this._array,n=s.binarySearch(e,t,this._wrapped);if(!(n<0))return e.splice(n,1)[0]},e.prototype.copy=function(){for(var t=new e(this._compare),n=t._array,i=this._array,r=0,o=i.length;r<o;++r)n.push(i[r].copy());return t},e}(o.ArrayBase);n.AssociativeArray=l},function(t,e,n){function i(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}i(t(325)),i(t(326)),i(t(327)),i(t(329)),i(t(330))},function(t,e,n){var i=function(){function t(t,e){void 0===e&&(e=0),this._array=t,this._index=Math.max(0,Math.min(e,t.length))}return t.prototype.__next__=function(){return this._array[this._index++]},t.prototype.__iter__=function(){return this},t}();n.ArrayIterator=i;var r=function(){function t(t,e){void 0===e&&(e=t.length),this._array=t,this._index=Math.max(0,Math.min(e,t.length))}return t.prototype.__next__=function(){return this._array[--this._index]},t.prototype.__iter__=function(){return this},t}();n.ReverseArrayIterator=r,n.iter=function(t){if(t instanceof Array)return new i(t);return t.__iter__()},n.reversed=function(t){if(t instanceof Array)return new r(t);return t.__reversed__()},n.next=function(t){return t.__next__()},n.asArray=function(t){if(t instanceof Array)return t.slice();var e,n=[],i=t.__iter__();for(;void 0!==(e=i.__next__());)n.push(e);return n},n.forEach=function(t,e){if(t instanceof Array){for(var n=0,i=t.length;n<i;++n)if(!1===e(t[n]))return}else for(var r,o=t.__iter__();void 0!==(r=o.__next__());)if(!1===e(r))return},n.map=function(t,e){var n=[];if(t instanceof Array)for(var i=0,r=t.length;i<r;++i)n.push(e(t[i]));else for(var o,s=t.__iter__();void 0!==(o=s.__next__());)n.push(e(o));return n},n.filter=function(t,e){var n,i=[];if(t instanceof Array)for(var r=0,o=t.length;r<o;++r)n=t[r],e(n)&&i.push(n);else for(var s=t.__iter__();void 0!==(n=s.__next__());)e(n)&&i.push(n);return i}},function(t,e,n){var i=function(){function t(t,e){this.first=t,this.second=e}return t.prototype.copy=function(){return new t(this.first,this.second)},t}();n.Pair=i},function(t,e,n){var i=function(){function t(t){void 0===t&&(t=\"\"),this._value=0,this._context=null,this._id=r++,this._name=t}return t.Compare=function(t,e){return t.id-e.id},t.prototype.toString=function(){return this._name},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"name\",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.setName=function(t){this._name=t},Object.defineProperty(t.prototype,\"context\",{get:function(){return this._context},enumerable:!0,configurable:!0}),t.prototype.setContext=function(t){this._context=t},Object.defineProperty(t.prototype,\"value\",{get:function(){return this._value},enumerable:!0,configurable:!0}),t.prototype.setValue=function(t){this._value=t},t}();n.Variable=i;var r=0},/*!\n",
       "       * numbro.js\n",
       "       * version : 1.6.2\n",
       "       * author : Företagsplatsen AB\n",
       "       * license : MIT\n",
       "       * http://www.foretagsplatsen.se\n",
       "       */\n",
       "      function(t,e,n){function i(t){this._value=t}function r(t){var e,n=\"\";for(e=0;e<t;e++)n+=\"0\";return n}function o(t,e,n,i){var o,s,a=Math.pow(10,e);return s=t.toFixed(0).search(\"e\")>-1?function(t,e){var n,i,o,s,a;a=t.toString(),n=a.split(\"e\")[0],s=a.split(\"e\")[1],i=n.split(\".\")[0],o=n.split(\".\")[1]||\"\",a=i+o+r(s-o.length),e>0&&(a+=\".\"+r(e));return a}(t,e):(n(t*a)/a).toFixed(e),i&&(o=new RegExp(\"0{1,\"+i+\"}$\"),s=s.replace(o,\"\")),s}function s(t,e,n){return e.indexOf(\"$\")>-1?function(t,e,n){var i,r,o=e,s=o.indexOf(\"$\"),l=o.indexOf(\"(\"),u=o.indexOf(\"+\"),h=o.indexOf(\"-\"),_=\"\",d=\"\";-1===o.indexOf(\"$\")?\"infix\"===c[p].currency.position?(d=c[p].currency.symbol,c[p].currency.spaceSeparated&&(d=\" \"+d+\" \")):c[p].currency.spaceSeparated&&(_=\" \"):o.indexOf(\" $\")>-1?(_=\" \",o=o.replace(\" $\",\"\")):o.indexOf(\"$ \")>-1?(_=\" \",o=o.replace(\"$ \",\"\")):o=o.replace(\"$\",\"\");if(r=a(t,o,n,d),-1===e.indexOf(\"$\"))switch(c[p].currency.position){case\"postfix\":r.indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,_+c[p].currency.symbol),r=r.join(\"\")):r=r+_+c[p].currency.symbol;break;case\"infix\":break;case\"prefix\":r.indexOf(\"(\")>-1||r.indexOf(\"-\")>-1?(r=r.split(\"\"),i=Math.max(l,h)+1,r.splice(i,0,c[p].currency.symbol+_),r=r.join(\"\")):r=c[p].currency.symbol+_+r;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else s<=1?r.indexOf(\"(\")>-1||r.indexOf(\"+\")>-1||r.indexOf(\"-\")>-1?(r=r.split(\"\"),i=1,(s<l||s<u||s<h)&&(i=0),r.splice(i,0,c[p].currency.symbol+_),r=r.join(\"\")):r=c[p].currency.symbol+_+r:r.indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,_+c[p].currency.symbol),r=r.join(\"\")):r=r+_+c[p].currency.symbol;return r}(t,e,n):e.indexOf(\"%\")>-1?function(t,e,n){var i,r=\"\";t*=100,e.indexOf(\" %\")>-1?(r=\" \",e=e.replace(\" %\",\"\")):e=e.replace(\"%\",\"\");(i=a(t,e,n)).indexOf(\")\")>-1?((i=i.split(\"\")).splice(-1,0,r+\"%\"),i=i.join(\"\")):i=i+r+\"%\";return i}(t,e,n):e.indexOf(\":\")>-1?function(t){var e=Math.floor(t/60/60),n=Math.floor((t-60*e*60)/60),i=Math.round(t-60*e*60-60*n);return e+\":\"+(n<10?\"0\"+n:n)+\":\"+(i<10?\"0\"+i:i)}(t):a(t,e,n)}function a(t,e,n,i){var r,s,a,l,u,h,_,f,m,v,g,y,b,x,w,k,S,T,M=!1,A=!1,E=!1,z=\"\",C=!1,O=!1,N=!1,j=!1,P=!1,D=\"\",F=\"\",I=Math.abs(t),B=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],R=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],L=\"\",V=!1,G=!1,U=\"\";if(0===t&&null!==d)return d;if(!isFinite(t))return\"\"+t;if(0===e.indexOf(\"{\")){var Y=e.indexOf(\"}\");if(-1===Y)throw Error('Format should also contain a \"}\"');y=e.slice(1,Y),e=e.slice(Y+1)}else y=\"\";if(e.indexOf(\"}\")===e.length-1){var q=e.indexOf(\"{\");if(-1===q)throw Error('Format should also contain a \"{\"');b=e.slice(q+1,-1),e=e.slice(0,q+1)}else b=\"\";var X;if(X=-1===e.indexOf(\".\")?e.match(/([0-9]+).*/):e.match(/([0-9]+)\\..*/),T=null===X?-1:X[1].length,-1!==e.indexOf(\"-\")&&(V=!0),e.indexOf(\"(\")>-1?(M=!0,e=e.slice(1,-1)):e.indexOf(\"+\")>-1&&(A=!0,e=e.replace(/\\+/g,\"\")),e.indexOf(\"a\")>-1){if(v=e.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],v=parseInt(v[0],10),C=e.indexOf(\"aK\")>=0,O=e.indexOf(\"aM\")>=0,N=e.indexOf(\"aB\")>=0,j=e.indexOf(\"aT\")>=0,P=C||O||N||j,e.indexOf(\" a\")>-1?(z=\" \",e=e.replace(\" a\",\"\")):e=e.replace(\"a\",\"\"),u=Math.floor(Math.log(I)/Math.LN10)+1,_=u%3,_=0===_?3:_,v&&0!==I&&(h=Math.floor(Math.log(I)/Math.LN10)+1-v,f=3*~~((Math.min(v,u)-_)/3),I/=Math.pow(10,f),-1===e.indexOf(\".\")&&v>3))for(e+=\"[.]\",k=(k=0===h?0:3*~~(h/3)-h)<0?k+3:k,r=0;r<k;r++)e+=\"0\";Math.floor(Math.log(Math.abs(t))/Math.LN10)+1!==v&&(I>=Math.pow(10,12)&&!P||j?(z+=c[p].abbreviations.trillion,t/=Math.pow(10,12)):I<Math.pow(10,12)&&I>=Math.pow(10,9)&&!P||N?(z+=c[p].abbreviations.billion,t/=Math.pow(10,9)):I<Math.pow(10,9)&&I>=Math.pow(10,6)&&!P||O?(z+=c[p].abbreviations.million,t/=Math.pow(10,6)):(I<Math.pow(10,6)&&I>=Math.pow(10,3)&&!P||C)&&(z+=c[p].abbreviations.thousand,t/=Math.pow(10,3)))}if(e.indexOf(\"b\")>-1)for(e.indexOf(\" b\")>-1?(D=\" \",e=e.replace(\" b\",\"\")):e=e.replace(\"b\",\"\"),l=0;l<=B.length;l++)if(s=Math.pow(1024,l),a=Math.pow(1024,l+1),t>=s&&t<a){D+=B[l],s>0&&(t/=s);break}if(e.indexOf(\"d\")>-1)for(e.indexOf(\" d\")>-1?(D=\" \",e=e.replace(\" d\",\"\")):e=e.replace(\"d\",\"\"),l=0;l<=R.length;l++)if(s=Math.pow(1e3,l),a=Math.pow(1e3,l+1),t>=s&&t<a){D+=R[l],s>0&&(t/=s);break}if(e.indexOf(\"o\")>-1&&(e.indexOf(\" o\")>-1?(F=\" \",e=e.replace(\" o\",\"\")):e=e.replace(\"o\",\"\"),c[p].ordinal&&(F+=c[p].ordinal(t))),e.indexOf(\"[.]\")>-1&&(E=!0,e=e.replace(\"[.]\",\".\")),m=t.toString().split(\".\")[0],g=e.split(\".\")[1],x=e.indexOf(\",\"),g){if(-1!==g.indexOf(\"*\")?L=o(t,t.toString().split(\".\")[1].length,n):g.indexOf(\"[\")>-1?(g=(g=g.replace(\"]\",\"\")).split(\"[\"),L=o(t,g[0].length+g[1].length,n,g[1].length)):L=o(t,g.length,n),m=L.split(\".\")[0],L.split(\".\")[1].length){var W=i?z+i:c[p].delimiters.decimal;L=W+L.split(\".\")[1]}else L=\"\";E&&0===Number(L.slice(1))&&(L=\"\")}else m=o(t,null,n);return m.indexOf(\"-\")>-1&&(m=m.slice(1),G=!0),m.length<T&&(m=new Array(T-m.length+1).join(\"0\")+m),x>-1&&(m=m.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+c[p].delimiters.thousands)),0===e.indexOf(\".\")&&(m=\"\"),w=e.indexOf(\"(\"),S=e.indexOf(\"-\"),U=w<S?(M&&G?\"(\":\"\")+(V&&G||!M&&G?\"-\":\"\"):(V&&G||!M&&G?\"-\":\"\")+(M&&G?\"(\":\"\"),y+U+(!G&&A&&0!==t?\"+\":\"\")+m+L+(F||\"\")+(z&&!i?z:\"\")+(D||\"\")+(M&&G?\")\":\"\")+b}function l(t,e){c[t]=e}function u(t){p=t;var e=c[t].defaults;e&&e.format&&h.defaultFormat(e.format),e&&e.currencyFormat&&h.defaultCurrencyFormat(e.currencyFormat)}var h,c={},_=c,p=\"en-US\",d=null,f=\"0,0\",m=\"0$\";void 0!==e&&e.exports;(h=function(t){return h.isNumbro(t)?t=t.value():0===t||void 0===t?t=0:Number(t)||(t=h.fn.unformat(t)),new i(Number(t))}).version=\"1.6.2\",h.isNumbro=function(t){return t instanceof i},h.setLanguage=function(t,e){console.warn(\"`setLanguage` is deprecated since version 1.6.0. Use `setCulture` instead\");var n=t,i=t.split(\"-\")[0],r=null;_[n]||(Object.keys(_).forEach(function(t){r||t.split(\"-\")[0]!==i||(r=t)}),n=r||e||\"en-US\"),u(n)},h.setCulture=function(t,e){var n=t,i=t.split(\"-\")[1],r=null;c[n]||(i&&Object.keys(c).forEach(function(t){r||t.split(\"-\")[1]!==i||(r=t)}),n=r||e||\"en-US\"),u(n)},h.language=function(t,e){if(console.warn(\"`language` is deprecated since version 1.6.0. Use `culture` instead\"),!t)return p;if(t&&!e){if(!_[t])throw new Error(\"Unknown language : \"+t);u(t)}return!e&&_[t]||l(t,e),h},h.culture=function(t,e){if(!t)return p;if(t&&!e){if(!c[t])throw new Error(\"Unknown culture : \"+t);u(t)}return!e&&c[t]||l(t,e),h},h.languageData=function(t){if(console.warn(\"`languageData` is deprecated since version 1.6.0. Use `cultureData` instead\"),!t)return _[p];if(!_[t])throw new Error(\"Unknown language : \"+t);return _[t]},h.cultureData=function(t){if(!t)return c[p];if(!c[t])throw new Error(\"Unknown culture : \"+t);return c[t]},h.culture(\"en-US\",{delimiters:{thousands:\",\",decimal:\".\"},abbreviations:{thousand:\"k\",million:\"m\",billion:\"b\",trillion:\"t\"},ordinal:function(t){var e=t%10;return 1==~~(t%100/10)?\"th\":1===e?\"st\":2===e?\"nd\":3===e?\"rd\":\"th\"},currency:{symbol:\"$\",position:\"prefix\"},defaults:{currencyFormat:\",0000 a\"},formats:{fourDigits:\"0000 a\",fullWithTwoDecimals:\"$ ,0.00\",fullWithTwoDecimalsNoCurrency:\",0.00\"}}),h.languages=function(){return console.warn(\"`languages` is deprecated since version 1.6.0. Use `cultures` instead\"),_},h.cultures=function(){return c},h.zeroFormat=function(t){d=\"string\"==typeof t?t:null},h.defaultFormat=function(t){f=\"string\"==typeof t?t:\"0.0\"},h.defaultCurrencyFormat=function(t){m=\"string\"==typeof t?t:\"0$\"},h.validate=function(t,e){var n,i,r,o,s,a,l,u;if(\"string\"!=typeof t&&(t+=\"\",console.warn&&console.warn(\"Numbro.js: Value is not string. It has been co-erced to: \",t)),(t=t.trim()).match(/^\\d+$/))return!0;if(\"\"===t)return!1;try{l=h.cultureData(e)}catch(t){l=h.cultureData(h.culture())}return r=l.currency.symbol,s=l.abbreviations,n=l.delimiters.decimal,i=\".\"===l.delimiters.thousands?\"\\\\.\":l.delimiters.thousands,(null===(u=t.match(/^[^\\d]+/))||(t=t.substr(1),u[0]===r))&&((null===(u=t.match(/[^\\d]+$/))||(t=t.slice(0,-1),u[0]===s.thousand||u[0]===s.million||u[0]===s.billion||u[0]===s.trillion))&&(a=new RegExp(i+\"{2}\"),!t.match(/[^\\d.,]/g)&&!((o=t.split(n)).length>2||(o.length<2?!o[0].match(/^\\d+.*\\d$/)||o[0].match(a):1===o[0].length?!o[0].match(/^\\d+$/)||o[0].match(a)||!o[1].match(/^\\d+$/):!o[0].match(/^\\d+.*\\d$/)||o[0].match(a)||!o[1].match(/^\\d+$/)))))},e.exports={format:function(t,e,n,i){null!=n&&n!==h.culture()&&h.setCulture(n);return s(Number(t),null!=e?e:f,null==i?Math.round:i)}}},function(t,e,n){function i(t,e){if(!(this instanceof i))return new i(t);e=e||function(t){if(t)throw t};var n=r(t);if(\"object\"==typeof n){var s=i.projections.get(n.projName);if(s){if(n.datumCode&&\"none\"!==n.datumCode){var h=l[n.datumCode];h&&(n.datum_params=h.towgs84?h.towgs84.split(\",\"):null,n.ellps=h.ellipse,n.datumName=h.datumName?h.datumName:n.datumCode)}n.k0=n.k0||1,n.axis=n.axis||\"enu\";var c=a.sphere(n.a,n.b,n.rf,n.ellps,n.sphere),_=a.eccentricity(c.a,c.b,c.rf,n.R_A),p=n.datum||u(n.datumCode,n.datum_params,c.a,c.b,_.es,_.ep2);o(this,n),o(this,s),this.a=c.a,this.b=c.b,this.rf=c.rf,this.sphere=c.sphere,this.es=_.es,this.e=_.e,this.ep2=_.ep2,this.datum=p,this.init(),e(null,this)}else e(t)}else e(t)}var r=t(353),o=t(351),s=t(355),a=t(350),l=t(341),u=t(346);(i.projections=s).start(),e.exports=i},function(t,e,n){e.exports=function(t,e,n){var i,r,o,s=n.x,a=n.y,l=n.z||0,u={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(i=s,r=\"x\"):1===o?(i=a,r=\"y\"):(i=l,r=\"z\"),t.axis[o]){case\"e\":u[r]=i;break;case\"w\":u[r]=-i;break;case\"n\":u[r]=i;break;case\"s\":u[r]=-i;break;case\"u\":void 0!==n[r]&&(u.z=i);break;case\"d\":void 0!==n[r]&&(u.z=-i);break;default:return null}return u}},function(t,e,n){var i=2*Math.PI,r=t(338);e.exports=function(t){return Math.abs(t)<=3.14159265359?t:t-r(t)*i}},function(t,e,n){e.exports=function(t,e,n){var i=t*e;return n/Math.sqrt(1-i*i)}},function(t,e,n){var i=Math.PI/2;e.exports=function(t,e){for(var n,r,o=.5*t,s=i-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(s),r=i-2*Math.atan(e*Math.pow((1-n)/(1+n),o))-s,s+=r,Math.abs(r)<=1e-10)return s;return-9999}},function(t,e,n){e.exports=function(t){return t<0?-1:1}},function(t,e,n){e.exports=function(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}},function(t,e,n){var i=Math.PI/2;e.exports=function(t,e,n){var r=t*n,o=.5*t;return r=Math.pow((1-r)/(1+r),o),Math.tan(.5*(i-e))/r}},function(t,e,n){n.wgs84={towgs84:\"0,0,0\",ellipse:\"WGS84\",datumName:\"WGS84\"},n.ch1903={towgs84:\"674.374,15.056,405.346\",ellipse:\"bessel\",datumName:\"swiss\"},n.ggrs87={towgs84:\"-199.87,74.79,246.62\",ellipse:\"GRS80\",datumName:\"Greek_Geodetic_Reference_System_1987\"},n.nad83={towgs84:\"0,0,0\",ellipse:\"GRS80\",datumName:\"North_American_Datum_1983\"},n.nad27={nadgrids:\"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",ellipse:\"clrk66\",datumName:\"North_American_Datum_1927\"},n.potsdam={towgs84:\"606.0,23.0,413.0\",ellipse:\"bessel\",datumName:\"Potsdam Rauenberg 1950 DHDN\"},n.carthage={towgs84:\"-263.0,6.0,431.0\",ellipse:\"clark80\",datumName:\"Carthage 1934 Tunisia\"},n.hermannskogel={towgs84:\"653.0,-212.0,449.0\",ellipse:\"bessel\",datumName:\"Hermannskogel\"},n.ire65={towgs84:\"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",ellipse:\"mod_airy\",datumName:\"Ireland 1965\"},n.rassadiran={towgs84:\"-133.63,-157.5,-158.62\",ellipse:\"intl\",datumName:\"Rassadiran\"},n.nzgd49={towgs84:\"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",ellipse:\"intl\",datumName:\"New Zealand Geodetic Datum 1949\"},n.osgb36={towgs84:\"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",ellipse:\"airy\",datumName:\"Airy 1830\"},n.s_jtsk={towgs84:\"589,76,480\",ellipse:\"bessel\",datumName:\"S-JTSK (Ferro)\"},n.beduaram={towgs84:\"-106,-87,188\",ellipse:\"clrk80\",datumName:\"Beduaram\"},n.gunung_segara={towgs84:\"-403,684,41\",ellipse:\"bessel\",datumName:\"Gunung Segara Jakarta\"},n.rnb72={towgs84:\"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",ellipse:\"intl\",datumName:\"Reseau National Belge 1972\"}},function(t,e,n){n.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"},n.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"},n.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"},n.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"},n.airy={a:6377563.396,b:6356256.91,ellipseName:\"Airy 1830\"},n.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"},n.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"},n.mod_airy={a:6377340.189,b:6356034.446,ellipseName:\"Modified Airy\"},n.andrae={a:6377104.43,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"},n.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"},n.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"},n.bessel={a:6377397.155,rf:299.1528128,ellipseName:\"Bessel 1841\"},n.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"},n.clrk66={a:6378206.4,b:6356583.8,ellipseName:\"Clarke 1866\"},n.clrk80={a:6378249.145,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"},n.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:\"Clarke 1858\"},n.CPM={a:6375738.7,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"},n.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"},n.engelis={a:6378136.05,rf:298.2566,ellipseName:\"Engelis 1985\"},n.evrst30={a:6377276.345,rf:300.8017,ellipseName:\"Everest 1830\"},n.evrst48={a:6377304.063,rf:300.8017,ellipseName:\"Everest 1948\"},n.evrst56={a:6377301.243,rf:300.8017,ellipseName:\"Everest 1956\"},n.evrst69={a:6377295.664,rf:300.8017,ellipseName:\"Everest 1969\"},n.evrstSS={a:6377298.556,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"},n.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"},n.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"},n.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"},n.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"},n.hough={a:6378270,rf:297,ellipseName:\"Hough\"},n.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"},n.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"},n.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"},n.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"},n.new_intl={a:6378157.5,b:6356772.2,ellipseName:\"New International 1967\"},n.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"},n.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"},n.SEasia={a:6378155,b:6356773.3205,ellipseName:\"Southeast Asia\"},n.walbeck={a:6376896,b:6355834.8467,ellipseName:\"Walbeck\"},n.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"},n.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"},n.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"},n.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"},n.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"}},function(t,e,n){n.greenwich=0,n.lisbon=-9.131906111111,n.paris=2.337229166667,n.bogota=-74.080916666667,n.madrid=-3.687938888889,n.rome=12.452333333333,n.bern=7.439583333333,n.jakarta=106.807719444444,n.ferro=-17.666666666667,n.brussels=4.367975,n.stockholm=18.058277777778,n.athens=23.7163375,n.oslo=10.722916666667},function(t,e,n){n.ft={to_meter:.3048},n[\"us-ft\"]={to_meter:1200/3937}},function(t,e,n){function i(t,e,n){var i;return Array.isArray(n)?(i=s(t,e,n),3===n.length?[i.x,i.y,i.z]:[i.x,i.y]):s(t,e,n)}function r(t){return t instanceof o?t:t.oProj?t.oProj:o(t)}var o=t(333),s=t(358),a=o(\"WGS84\");e.exports=function(t,e,n){t=r(t);var o,s=!1;void 0===e?(e=t,t=a,s=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=a,s=!0);return e=r(e),n?i(t,e,n):(o={forward:function(n){return i(t,e,n)},inverse:function(n){return i(e,t,n)}},s&&(o.oProj=e),o)}},function(t,e,n){var i=1,r=2,o=4,s=5,a=484813681109536e-20;e.exports=function(t,e,n,l,u,h){var c={};c.datum_type=o,t&&\"none\"===t&&(c.datum_type=s);e&&(c.datum_params=e.map(parseFloat),0===c.datum_params[0]&&0===c.datum_params[1]&&0===c.datum_params[2]||(c.datum_type=i),c.datum_params.length>3&&(0===c.datum_params[3]&&0===c.datum_params[4]&&0===c.datum_params[5]&&0===c.datum_params[6]||(c.datum_type=r,c.datum_params[3]*=a,c.datum_params[4]*=a,c.datum_params[5]*=a,c.datum_params[6]=c.datum_params[6]/1e6+1)));return c.a=n,c.b=l,c.es=u,c.ep2=h,c}},function(t,e,n){var i=Math.PI/2;n.compareDatums=function(t,e){return t.datum_type===e.datum_type&&(!(t.a!==e.a||Math.abs(this.es-e.es)>5e-11)&&(1===t.datum_type?this.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:2!==t.datum_type||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6]))},n.geodeticToGeocentric=function(t,e,n){var r,o,s,a,l=t.x,u=t.y,h=t.z?t.z:0;if(u<-i&&u>-1.001*i)u=-i;else if(u>i&&u<1.001*i)u=i;else if(u<-i||u>i)return null;return l>Math.PI&&(l-=2*Math.PI),o=Math.sin(u),a=Math.cos(u),s=o*o,r=n/Math.sqrt(1-e*s),{x:(r+h)*a*Math.cos(l),y:(r+h)*a*Math.sin(l),z:(r*(1-e)+h)*o}},n.geocentricToGeodetic=function(t,e,n,r){var o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x=t.x,w=t.y,k=t.z?t.z:0;if(o=Math.sqrt(x*x+w*w),s=Math.sqrt(x*x+w*w+k*k),o/n<1e-12){if(g=0,s/n<1e-12)return y=i,b=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(w,x);a=k/s,l=o/s,u=1/Math.sqrt(1-e*(2-e)*l*l),_=l*(1-e)*u,p=a*u,v=0;do{v++,c=n/Math.sqrt(1-e*p*p),h=e*c/(c+(b=o*_+k*p-c*(1-e*p*p))),u=1/Math.sqrt(1-h*(2-h)*l*l),m=(f=a*u)*_-(d=l*(1-h)*u)*p,_=d,p=f}while(m*m>1e-24&&v<30);return y=Math.atan(f/Math.abs(d)),{x:g,y:y,z:b}},n.geocentricToWgs84=function(t,e,n){if(1===e)return{x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(2===e){var i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],l=n[5],u=n[6];return{x:u*(t.x-l*t.y+a*t.z)+i,y:u*(l*t.x+t.y-s*t.z)+r,z:u*(-a*t.x+s*t.y+t.z)+o}}},n.geocentricFromWgs84=function(t,e,n){if(1===e)return{x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(2===e){var i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],l=n[5],u=n[6],h=(t.x-i)/u,c=(t.y-r)/u,_=(t.z-o)/u;return{x:h+l*c-a*_,y:-l*h+c+s*_,z:a*h-s*c+_}}}},function(t,e,n){function i(t){return t===r||t===o}var r=1,o=2,s=t(347);e.exports=function(t,e,n){return s.compareDatums(t,e)?n:5===t.datum_type||5===e.datum_type?n:t.es!==e.es||t.a!==e.a||i(t.datum_type)||i(e.datum_type)?(n=s.geodeticToGeocentric(n,t.es,t.a),i(t.datum_type)&&(n=s.geocentricToWgs84(n,t.datum_type,t.datum_params)),i(e.datum_type)&&(n=s.geocentricFromWgs84(n,e.datum_type,e.datum_params)),s.geocentricToGeodetic(n,e.es,e.a,e.b)):n}},function(t,e,n){function i(t){var e=this;if(2===arguments.length){var n=arguments[1];i[t]=\"string\"==typeof n?\"+\"===n.charAt(0)?o(arguments[1]):s(arguments[1]):n}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?i.apply(e,t):i(t)});if(\"string\"==typeof t){if(t in i)return i[t]}else\"EPSG\"in t?i[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?i[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?i[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}var r=t(352),o=t(354),s=t(359);r(i),e.exports=i},function(t,e,n){var i=t(342);n.eccentricity=function(t,e,n,i){var r=t*t,o=e*e,s=(r-o)/r,a=0;i?(r=(t*=1-s*(.16666666666666666+s*(.04722222222222222+.022156084656084655*s)))*t,s=0):a=Math.sqrt(s);var l=(r-o)/o;return{es:s,e:a,ep2:l}},n.sphere=function(t,e,n,r,o){if(!t){var s=i[r];s||(s=i.WGS84),t=s.a,e=s.b,n=s.rf}return n&&!e&&(e=(1-1/n)*t),(0===n||Math.abs(t-e)<1e-10)&&(o=!0,e=t),{a:t,b:e,rf:n,sphere:o}}},function(t,e,n){e.exports=function(t,e){t=t||{};var n,i;if(!e)return t;for(i in e)void 0!==(n=e[i])&&(t[i]=n);return t}},function(t,e,n){e.exports=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},function(t,e,n){var i=t(349),r=t(359),o=t(354),s=[\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\"];e.exports=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in i}(t))return i[t];if(function(t){return s.some(function(e){return t.indexOf(e)>-1})}(t))return r(t);if(function(t){return\"+\"===t[0]}(t))return o(t)}},function(t,e,n){var i=.017453292519943295,r=t(343),o=t(344);e.exports=function(t){var e,n,s,a={},l=t.split(\"+\").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,e){var n=e.split(\"=\");return n.push(!0),t[n[0].toLowerCase()]=n[1],t},{}),u={proj:\"projName\",datum:\"datumCode\",rf:function(t){a.rf=parseFloat(t)},lat_0:function(t){a.lat0=t*i},lat_1:function(t){a.lat1=t*i},lat_2:function(t){a.lat2=t*i},lat_ts:function(t){a.lat_ts=t*i},lon_0:function(t){a.long0=t*i},lon_1:function(t){a.long1=t*i},lon_2:function(t){a.long2=t*i},alpha:function(t){a.alpha=parseFloat(t)*i},lonc:function(t){a.longc=t*i},x_0:function(t){a.x0=parseFloat(t)},y_0:function(t){a.y0=parseFloat(t)},k_0:function(t){a.k0=parseFloat(t)},k:function(t){a.k0=parseFloat(t)},a:function(t){a.a=parseFloat(t)},b:function(t){a.b=parseFloat(t)},r_a:function(){a.R_A=!0},zone:function(t){a.zone=parseInt(t,10)},south:function(){a.utmSouth=!0},towgs84:function(t){a.datum_params=t.split(\",\").map(function(t){return parseFloat(t)})},to_meter:function(t){a.to_meter=parseFloat(t)},units:function(t){a.units=t,o[t]&&(a.to_meter=o[t].to_meter)},from_greenwich:function(t){a.from_greenwich=t*i},pm:function(t){a.from_greenwich=(r[t]?r[t]:parseFloat(t))*i},nadgrids:function(t){\"@null\"===t?a.datumCode=\"none\":a.nadgrids=t},axis:function(t){3===t.length&&-1!==\"ewnsud\".indexOf(t.substr(0,1))&&-1!==\"ewnsud\".indexOf(t.substr(1,1))&&-1!==\"ewnsud\".indexOf(t.substr(2,1))&&(a.axis=t)}};for(e in l)n=l[e],e in u?\"function\"==typeof(s=u[e])?s(n):a[s]=n:a[e]=n;return\"string\"==typeof a.datumCode&&\"WGS84\"!==a.datumCode&&(a.datumCode=a.datumCode.toLowerCase()),a}},function(t,e,n){function i(t,e){var n=s.length;return t.names?(s[n]=t,t.names.forEach(function(t){o[t.toLowerCase()]=n}),this):(console.log(e),!0)}var r=[t(357),t(356)],o={},s=[];n.add=i,n.get=function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==o[e]&&s[o[e]]?s[o[e]]:void 0},n.start=function(){r.forEach(i)}},function(t,e,n){function i(t){return t}n.init=function(){},n.forward=i,n.inverse=i,n.names=[\"longlat\",\"identity\"]},function(t,e,n){var i=t(336),r=Math.PI/2,o=57.29577951308232,s=t(335),a=Math.PI/4,l=t(340),u=t(337);n.init=function(){var t=this.b/this.a;this.es=1-t*t,\"x0\"in this||(this.x0=0),\"y0\"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=i(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},n.forward=function(t){var e=t.x,n=t.y;if(n*o>90&&n*o<-90&&e*o>180&&e*o<-180)return null;var i,u;if(Math.abs(Math.abs(n)-r)<=1e-10)return null;if(this.sphere)i=this.x0+this.a*this.k0*s(e-this.long0),u=this.y0+this.a*this.k0*Math.log(Math.tan(a+.5*n));else{var h=Math.sin(n),c=l(this.e,n,h);i=this.x0+this.a*this.k0*s(e-this.long0),u=this.y0-this.a*this.k0*Math.log(c)}return t.x=i,t.y=u,t},n.inverse=function(t){var e,n,i=t.x-this.x0,o=t.y-this.y0;if(this.sphere)n=r-2*Math.atan(Math.exp(-o/(this.a*this.k0)));else{var a=Math.exp(-o/(this.a*this.k0));if(-9999===(n=u(this.e,a)))return null}return e=s(this.long0+i/(this.a*this.k0)),t.x=e,t.y=n,t},n.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"]},function(t,e,n){var i=1,r=2,o=t(348),s=t(334),a=t(333),l=t(339);e.exports=function t(e,n,u){var h;return Array.isArray(u)&&(u=l(u)),e.datum&&n.datum&&function(t,e){return(t.datum.datum_type===i||t.datum.datum_type===r)&&\"WGS84\"!==e.datumCode||(e.datum.datum_type===i||e.datum.datum_type===r)&&\"WGS84\"!==t.datumCode}(e,n)&&(h=new a(\"WGS84\"),u=t(e,h,u),e=h),\"enu\"!==e.axis&&(u=s(e,!1,u)),\"longlat\"===e.projName?u={x:.017453292519943295*u.x,y:.017453292519943295*u.y}:(e.to_meter&&(u={x:u.x*e.to_meter,y:u.y*e.to_meter}),u=e.inverse(u)),e.from_greenwich&&(u.x+=e.from_greenwich),u=o(e.datum,n.datum,u),n.from_greenwich&&(u={x:u.x-n.grom_greenwich,y:u.y}),\"longlat\"===n.projName?u={x:57.29577951308232*u.x,y:57.29577951308232*u.y}:(u=n.forward(u),n.to_meter&&(u={x:u.x/n.to_meter,y:u.y/n.to_meter})),\"enu\"!==n.axis?s(n,!0,u):u}},function(t,e,n){function i(t,e,n){t[e]=n.map(function(t){var e={};return r(t,e),e}).reduce(function(t,e){return a(t,e)},{})}function r(t,e){var n;Array.isArray(t)?(\"PARAMETER\"===(n=t.shift())&&(n=t.shift()),1===t.length?Array.isArray(t[0])?(e[n]={},r(t[0],e[n])):e[n]=t[0]:t.length?\"TOWGS84\"===n?e[n]=t:(e[n]={},[\"UNIT\",\"PRIMEM\",\"VERT_DATUM\"].indexOf(n)>-1?(e[n]={name:t[0].toLowerCase(),convert:t[1]},3===t.length&&(e[n].auth=t[2])):\"SPHEROID\"===n?(e[n]={name:t[0],a:t[1],rf:t[2]},4===t.length&&(e[n].auth=t[3])):[\"GEOGCS\",\"GEOCCS\",\"DATUM\",\"VERT_CS\",\"COMPD_CS\",\"LOCAL_CS\",\"FITTED_CS\",\"LOCAL_DATUM\"].indexOf(n)>-1?(t[0]=[\"name\",t[0]],i(e,n,t)):t.every(function(t){return Array.isArray(t)})?i(e,n,t):r(t,e[n])):e[n]=!0):e[t]=!0}function o(t){return t*s}var s=.017453292519943295,a=t(351);e.exports=function(t,e){var n=JSON.parse((\",\"+t).replace(/\\s*\\,\\s*([A-Z_0-9]+?)(\\[)/g,',[\"$1\",').slice(1).replace(/\\s*\\,\\s*([A-Z_0-9]+?)\\]/g,',\"$1\"]').replace(/,\\[\"VERTCS\".+/,\"\")),i=n.shift(),s=n.shift();n.unshift([\"name\",s]),n.unshift([\"type\",i]),n.unshift(\"output\");var l={};return r(n,l),function(t){function e(e){var n=t.to_meter||1;return parseFloat(e,10)*n}\"GEOGCS\"===t.type?t.projName=\"longlat\":\"LOCAL_CS\"===t.type?(t.projName=\"identity\",t.local=!0):\"object\"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION;t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),\"metre\"===t.units&&(t.units=\"meter\"),t.UNIT.convert&&(\"GEOGCS\"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=parseFloat(t.UNIT.convert,10)*t.DATUM.SPHEROID.a):t.to_meter=parseFloat(t.UNIT.convert,10)));t.GEOGCS&&(t.GEOGCS.DATUM?t.datumCode=t.GEOGCS.DATUM.name.toLowerCase():t.datumCode=t.GEOGCS.name.toLowerCase(),\"d_\"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),\"new_zealand_geodetic_datum_1949\"!==t.datumCode&&\"new_zealand_1949\"!==t.datumCode||(t.datumCode=\"nzgd49\"),\"wgs_1984\"===t.datumCode&&(\"Mercator_Auxiliary_Sphere\"===t.PROJECTION&&(t.sphere=!0),t.datumCode=\"wgs84\"),\"_ferro\"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),\"_jakarta\"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf(\"belge\")&&(t.datumCode=\"rnb72\"),t.GEOGCS.DATUM&&t.GEOGCS.DATUM.SPHEROID&&(t.ellps=t.GEOGCS.DATUM.SPHEROID.name.replace(\"_19\",\"\").replace(/[Cc]larke\\_18/,\"clrk\"),\"international\"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps=\"intl\"),t.a=t.GEOGCS.DATUM.SPHEROID.a,t.rf=parseFloat(t.GEOGCS.DATUM.SPHEROID.rf,10)),~t.datumCode.indexOf(\"osgb_1936\")&&(t.datumCode=\"osgb36\"));t.b&&!isFinite(t.b)&&(t.b=t.a);[[\"standard_parallel_1\",\"Standard_Parallel_1\"],[\"standard_parallel_2\",\"Standard_Parallel_2\"],[\"false_easting\",\"False_Easting\"],[\"false_northing\",\"False_Northing\"],[\"central_meridian\",\"Central_Meridian\"],[\"latitude_of_origin\",\"Latitude_Of_Origin\"],[\"latitude_of_origin\",\"Central_Parallel\"],[\"scale_factor\",\"Scale_Factor\"],[\"k0\",\"scale_factor\"],[\"latitude_of_center\",\"Latitude_of_center\"],[\"lat0\",\"latitude_of_center\",o],[\"longitude_of_center\",\"Longitude_Of_Center\"],[\"longc\",\"longitude_of_center\",o],[\"x0\",\"false_easting\",e],[\"y0\",\"false_northing\",e],[\"long0\",\"central_meridian\",o],[\"lat0\",\"latitude_of_origin\",o],[\"lat0\",\"standard_parallel_1\",o],[\"lat1\",\"standard_parallel_1\",o],[\"lat2\",\"standard_parallel_2\",o],[\"alpha\",\"azimuth\",o],[\"srsCode\",\"name\"]].forEach(function(e){return function(t,e){var n=e[0],i=e[1];!(n in t)&&i in t&&(t[n]=t[i],3===e.length&&(t[n]=e[2](t[n])))}(t,e)}),t.long0||!t.longc||\"Albers_Conic_Equal_Area\"!==t.projName&&\"Lambert_Azimuthal_Equal_Area\"!==t.projName||(t.long0=t.longc);t.lat_ts||!t.lat1||\"Stereographic_South_Pole\"!==t.projName&&\"Polar Stereographic (variant B)\"!==t.projName||(t.lat0=o(t.lat1>0?90:-90),t.lat_ts=t.lat1)}(l.output),a(e,l.output)}},function(t,e,n){function i(t,e,n,o,s){for(n=n||0,o=o||t.length-1,s=s||function(t,e){return t<e?-1:t>e?1:0};o>n;){if(o-n>600){var a=o-n+1,l=e-n+1,u=Math.log(a),h=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*h*(a-h)/a)*(l-a/2<0?-1:1),_=Math.max(n,Math.floor(e-l*h/a+c)),p=Math.min(o,Math.floor(e+(a-l)*h/a+c));i(t,e,_,p,s)}var d=t[e],f=n,m=o;for(r(t,n,e),s(t[o],d)>0&&r(t,n,o);f<m;){for(r(t,f,m),f++,m--;s(t[f],d)<0;)f++;for(;s(t[m],d)>0;)m--}0===s(t[n],d)?r(t,n,m):r(t,++m,o),m<=e&&(n=m+1),e<=m&&(o=m-1)}}function r(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}e.exports=i},function(t,e,n){function i(t,e){if(!(this instanceof i))return new i(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function r(t,e){o(t,0,t.children.length,e,t)}function o(t,e,n,i,r){r||(r=p(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(var o,a=e;a<n;a++)o=t.children[a],s(r,t.leaf?i(o):o);return r}function s(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function a(t,e){return t.minX-e.minX}function l(t,e){return t.minY-e.minY}function u(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function h(t){return t.maxX-t.minX+(t.maxY-t.minY)}function c(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function _(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function p(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(t,e,n,i,r){for(var o,s=[e,n];s.length;)n=s.pop(),e=s.pop(),n-e<=i||(o=e+Math.ceil((n-e)/i/2)*i,f(t,o,e,n,r),s.push(e,o,o,n))}e.exports=i;var f=t(360);i.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,n=[],i=this.toBBox;if(!_(t,e))return n;for(var r,o,s,a,l=[];e;){for(r=0,o=e.children.length;r<o;r++)s=e.children[r],a=e.leaf?i(s):s,_(t,a)&&(e.leaf?n.push(s):c(t,a)?this._all(s,n):l.push(s));e=l.pop()}return n},collides:function(t){var e=this.data,n=this.toBBox;if(!_(t,e))return!1;for(var i,r,o,s,a=[];e;){for(i=0,r=e.children.length;i<r;i++)if(o=e.children[i],s=e.leaf?n(o):o,_(t,s)){if(e.leaf||c(t,s))return!0;a.push(o)}e=a.pop()}return!1},load:function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var e=0,n=t.length;e<n;e++)this.insert(t[e]);return this}var i=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===i.height)this._splitRoot(this.data,i);else{if(this.data.height<i.height){var r=this.data;this.data=i,i=r}this._insert(i,this.data.height-i.height-1,!0)}else this.data=i;return this},insert:function(t){return t&&this._insert(t,this.data.height-1),this},clear:function(){return this.data=p([]),this},remove:function(t,e){if(!t)return this;for(var n,i,r,o,s=this.data,a=this.toBBox(t),l=[],u=[];s||l.length;){if(s||(s=l.pop(),i=l[l.length-1],n=u.pop(),o=!0),s.leaf&&-1!==(r=function(t,e,n){if(!n)return e.indexOf(t);for(var i=0;i<e.length;i++)if(n(t,e[i]))return i;return-1}(t,s.children,e)))return s.children.splice(r,1),l.push(s),this._condense(l),this;o||s.leaf||!c(s,a)?i?(n++,s=i.children[n],o=!1):s=null:(l.push(s),u.push(n),n=0,i=s,s=s.children[0])}return this},toBBox:function(t){return t},compareMinX:a,compareMinY:l,toJSON:function(){return this.data},fromJSON:function(t){return this.data=t,this},_all:function(t,e){for(var n=[];t;)t.leaf?e.push.apply(e,t.children):n.push.apply(n,t.children),t=n.pop();return e},_build:function(t,e,n,i){var o,s=n-e+1,a=this._maxEntries;if(s<=a)return o=p(t.slice(e,n+1)),r(o,this.toBBox),o;i||(i=Math.ceil(Math.log(s)/Math.log(a)),a=Math.ceil(s/Math.pow(a,i-1))),(o=p([])).leaf=!1,o.height=i;var l,u,h,c,_=Math.ceil(s/a),f=_*Math.ceil(Math.sqrt(a));for(d(t,e,n,f,this.compareMinX),l=e;l<=n;l+=f)for(h=Math.min(l+f-1,n),d(t,l,h,_,this.compareMinY),u=l;u<=h;u+=_)c=Math.min(u+_-1,h),o.children.push(this._build(t,u,c,i-1));return r(o,this.toBBox),o},_chooseSubtree:function(t,e,n,i){for(var r,o,s,a,l,h,c,_;i.push(e),!e.leaf&&i.length-1!==n;){for(c=_=1/0,r=0,o=e.children.length;r<o;r++)s=e.children[r],l=u(s),(h=function(t,e){return(Math.max(e.maxX,t.maxX)-Math.min(e.minX,t.minX))*(Math.max(e.maxY,t.maxY)-Math.min(e.minY,t.minY))}(t,s)-l)<_?(_=h,c=l<c?l:c,a=s):h===_&&l<c&&(c=l,a=s);e=a||e.children[0]}return e},_insert:function(t,e,n){var i=this.toBBox,r=n?t:i(t),o=[],a=this._chooseSubtree(r,this.data,e,o);for(a.children.push(t),s(a,r);e>=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(r,o,e)},_split:function(t,e){var n=t[e],i=n.children.length,o=this._minEntries;this._chooseSplitAxis(n,o,i);var s=this._chooseSplitIndex(n,o,i),a=p(n.children.splice(s,n.children.length-s));a.height=n.height,a.leaf=n.leaf,r(n,this.toBBox),r(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(n,a)},_splitRoot:function(t,e){this.data=p([t,e]),this.data.height=t.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var i,r,s,a,l,h,c,_;for(h=c=1/0,i=e;i<=n-e;i++)r=o(t,0,i,this.toBBox),s=o(t,i,n,this.toBBox),a=function(t,e){var n=Math.max(t.minX,e.minX),i=Math.max(t.minY,e.minY),r=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,r-n)*Math.max(0,o-i)}(r,s),l=u(r)+u(s),a<h?(h=a,_=i,c=l<c?l:c):a===h&&l<c&&(c=l,_=i);return _},_chooseSplitAxis:function(t,e,n){var i=t.leaf?this.compareMinX:a,r=t.leaf?this.compareMinY:l,o=this._allDistMargin(t,e,n,i),s=this._allDistMargin(t,e,n,r);o<s&&t.children.sort(i)},_allDistMargin:function(t,e,n,i){t.children.sort(i);var r,a,l=this.toBBox,u=o(t,0,e,l),c=o(t,n-e,n,l),_=h(u)+h(c);for(r=e;r<n-e;r++)a=t.children[r],s(u,t.leaf?l(a):a),_+=h(u);for(r=n-e-1;r>=e;r--)a=t.children[r],s(c,t.leaf?l(a):a),_+=h(c);return _},_adjustParentBBoxes:function(t,e,n){for(var i=n;i>=0;i--)s(e[i],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():r(t[n],this.toBBox)},_initFormat:function(t){var e=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",e.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",e.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}}},function(t,e,n){!function(){\"use strict\";function t(e){return function(e,n){var r,o,s,a,l,u,h,c,_,p=1,d=e.length,f=\"\";for(o=0;o<d;o++)if(\"string\"==typeof e[o])f+=e[o];else if(Array.isArray(e[o])){if((a=e[o])[2])for(r=n[p],s=0;s<a[2].length;s++){if(!r.hasOwnProperty(a[2][s]))throw new Error(t('[sprintf] property \"%s\" does not exist',a[2][s]));r=r[a[2][s]]}else r=a[1]?n[a[1]]:n[p++];if(i.not_type.test(a[8])&&i.not_primitive.test(a[8])&&r instanceof Function&&(r=r()),i.numeric_arg.test(a[8])&&\"number\"!=typeof r&&isNaN(r))throw new TypeError(t(\"[sprintf] expecting number but found %T\",r));switch(i.number.test(a[8])&&(c=r>=0),a[8]){case\"b\":r=parseInt(r,10).toString(2);break;case\"c\":r=String.fromCharCode(parseInt(r,10));break;case\"d\":case\"i\":r=parseInt(r,10);break;case\"j\":r=JSON.stringify(r,null,a[6]?parseInt(a[6]):0);break;case\"e\":r=a[7]?parseFloat(r).toExponential(a[7]):parseFloat(r).toExponential();break;case\"f\":r=a[7]?parseFloat(r).toFixed(a[7]):parseFloat(r);break;case\"g\":r=a[7]?String(Number(r.toPrecision(a[7]))):parseFloat(r);break;case\"o\":r=(parseInt(r,10)>>>0).toString(8);break;case\"s\":r=String(r),r=a[7]?r.substring(0,a[7]):r;break;case\"t\":r=String(!!r),r=a[7]?r.substring(0,a[7]):r;break;case\"T\":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=a[7]?r.substring(0,a[7]):r;break;case\"u\":r=parseInt(r,10)>>>0;break;case\"v\":r=r.valueOf(),r=a[7]?r.substring(0,a[7]):r;break;case\"x\":r=(parseInt(r,10)>>>0).toString(16);break;case\"X\":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(a[8])?f+=r:(!i.number.test(a[8])||c&&!a[3]?_=\"\":(_=c?\"+\":\"-\",r=r.toString().replace(i.sign,\"\")),u=a[4]?\"0\"===a[4]?\"0\":a[4].charAt(1):\" \",h=a[6]-(_+r).length,l=a[6]&&h>0?u.repeat(h):\"\",f+=a[5]?_+r+l:\"0\"===u?_+l+r:l+_+r)}return f}(function(t){if(r[t])return r[t];var e,n=t,o=[],s=0;for(;n;){if(null!==(e=i.text.exec(n)))o.push(e[0]);else if(null!==(e=i.modulo.exec(n)))o.push(\"%\");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(e[2]){s|=1;var a=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(a.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");a.push(u[1])}e[2]=a}else s|=2;if(3===s)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");o.push(e)}n=n.substring(e[0].length)}return r[t]=o}(e),arguments)}function e(e,n){return t.apply(null,[e].concat(n||[]))}var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/},r=Object.create(null);void 0!==n&&(n.sprintf=t,n.vsprintf=e),\"undefined\"!=typeof window&&(window.sprintf=t,window.vsprintf=e)}()},function(t,e,n){!function(t){\"object\"==typeof e&&e.exports?e.exports=t():this.tz=t()}(function(){function t(t,e,n){var i,r=e.day[1];do{i=new Date(Date.UTC(n,e.month,Math.abs(r++)))}while(e.day[0]<7&&i.getUTCDay()!=e.day[0]);return i={clock:e.clock,sort:i.getTime(),rule:e,save:6e4*e.save,offset:t.offset},i[i.clock]=i.sort+6e4*e.time,i.posix?i.wallclock=i[i.clock]+(t.offset+e.saved):i.posix=i[i.clock]-(t.offset+e.saved),i}function e(e,n,i){var r,o,s,a,l,u,h,c=e[e.zone],_=[],p=new Date(i).getUTCFullYear(),d=1;for(r=1,o=c.length;r<o&&!(c[r][n]<=i);r++);if((s=c[r]).rules){for(u=e[s.rules],h=p+1;h>=p-d;--h)for(r=0,o=u.length;r<o;r++)u[r].from<=h&&h<=u[r].to?_.push(t(s,u[r],h)):u[r].to<h&&1==d&&(d=h-u[r].to);for(_.sort(function(t,e){return t.sort-e.sort}),r=0,o=_.length;r<o;r++)i>=_[r][n]&&_[r][_[r].clock]>s[_[r].clock]&&(a=_[r])}return a&&((l=/^(.*)\\/(.*)$/.exec(s.format))?a.abbrev=l[a.save?2:1]:a.abbrev=s.format.replace(/%s/,a.rule.letter)),a||s}function n(t,n){return\"UTC\"==t.zone?n:(t.entry=e(t,\"posix\",n),n+t.entry.offset+t.entry.save)}function i(t,n){if(\"UTC\"==t.zone)return n;var i,r;return t.entry=i=e(t,\"wallclock\",n),0<(r=n-i.wallclock)&&r<i.save?null:n-i.offset-i.save}function r(t,e,r){var o,s=+(r[1]+1),a=r[2]*s,u=l.indexOf(r[3].toLowerCase());if(u>9)e+=a*h[u-10];else{if(o=new Date(n(t,e)),u<7)for(;a;)o.setUTCDate(o.getUTCDate()+s),o.getUTCDay()==u&&(a-=s);else 7==u?o.setUTCFullYear(o.getUTCFullYear()+a):8==u?o.setUTCMonth(o.getUTCMonth()+a):o.setUTCDate(o.getUTCDate()+a);null==(e=i(t,o.getTime()))&&(e=i(t,o.getTime()+864e5*s)-864e5*s)}return e}function o(t,e){var n,i,r;return i=new Date(Date.UTC(t.getUTCFullYear(),0)),n=Math.floor((t.getTime()-i.getTime())/864e5),i.getUTCDay()==e?r=0:8==(r=7-i.getUTCDay()+e)&&(r=1),n>=r?Math.floor((n-r)/7)+1:0}function s(t){var e,n,i;return n=t.getUTCFullYear(),e=new Date(Date.UTC(n,0)).getUTCDay(),(i=o(t,1)+(e>1&&e<=4?1:0))?53!=i||4==e||3==e&&29==new Date(n,1,29).getDate()?[i,t.getUTCFullYear()]:[1,t.getUTCFullYear()+1]:(n=t.getUTCFullYear()-1,e=new Date(Date.UTC(n,0)).getUTCDay(),i=4==e||3==e&&29==new Date(n,1,29).getDate()?53:52,[i,t.getUTCFullYear()-1])}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(t,e,n,i){var r,o,s=this.entry.offset+this.entry.save,a=Math.abs(s/1e3),l=[],u=3600;for(r=0;r<3;r++)l.push((\"0\"+Math.floor(a/u)).slice(-2)),a%=u,u/=60;return\"^\"!=n||s?(\"^\"==n&&(i=3),3==i?(o=(o=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(o=o.replace(/:00$/,\"\"))):i?(o=l.slice(0,i+1).join(\":\"),\"^\"==n&&(o=o.replace(/:00$/,\"\"))):o=l.slice(0,2).join(\"\"),o=(s<0?\"-\":\"+\")+o,o=o.replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(t){return\"%\"},n:function(t){return\"\\n\"},t:function(t){return\"\\t\"},U:function(t){return o(t,0)},W:function(t){return o(t,1)},V:function(t){return s(t)[0]},G:function(t){return s(t)[1]},g:function(t){return s(t)[1]%100},j:function(t){return Math.floor((t.getTime()-Date.UTC(t.getUTCFullYear(),0))/864e5)+1},s:function(t){return Math.floor(t.getTime()/1e3)},C:function(t){return Math.floor(t.getUTCFullYear()/100)},N:function(t){return t.getTime()%1e3*1e6},m:function(t){return t.getUTCMonth()+1},Y:function(t){return t.getUTCFullYear()},y:function(t){return t.getUTCFullYear()%100},H:function(t){return t.getUTCHours()},M:function(t){return t.getUTCMinutes()},S:function(t){return t.getUTCSeconds()},e:function(t){return t.getUTCDate()},d:function(t){return t.getUTCDate()},u:function(t){return t.getUTCDay()||7},w:function(t){return t.getUTCDay()},l:function(t){return t.getUTCHours()%12||12},I:function(t){return t.getUTCHours()%12||12},k:function(t){return t.getUTCHours()},Z:function(t){return this.entry.abbrev},a:function(t){return this[this.locale].day.abbrev[t.getUTCDay()]},A:function(t){return this[this.locale].day.full[t.getUTCDay()]},h:function(t){return this[this.locale].month.abbrev[t.getUTCMonth()]},b:function(t){return this[this.locale].month.abbrev[t.getUTCMonth()]},B:function(t){return this[this.locale].month.full[t.getUTCMonth()]},P:function(t){return this[this.locale].meridiem[Math.floor(t.getUTCHours()/12)].toLowerCase()},p:function(t){return this[this.locale].meridiem[Math.floor(t.getUTCHours()/12)]},R:function(t,e){return this.convert([e,\"%H:%M\"])},T:function(t,e){return this.convert([e,\"%H:%M:%S\"])},D:function(t,e){return this.convert([e,\"%m/%d/%y\"])},F:function(t,e){return this.convert([e,\"%Y-%m-%d\"])},x:function(t,e){return this.convert([e,this[this.locale].date])},r:function(t,e){return this.convert([e,this[this.locale].time12||\"%I:%M:%S\"])},X:function(t,e){return this.convert([e,this[this.locale].time24])},c:function(t,e){return this.convert([e,this[this.locale].dateTime])},convert:function(t){if(!t.length)return\"1.0.13\";var e,o,s,a,l,h=Object.create(this),c=[];for(e=0;e<t.length;e++)if(a=t[e],Array.isArray(a))e||isNaN(a[1])?a.splice.apply(t,[e--,1].concat(a)):l=a;else if(isNaN(a)){if(\"string\"==(s=typeof a))~a.indexOf(\"%\")?h.format=a:e||\"*\"!=a?!e&&(s=/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T\\s](\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d+))?)?(Z|(([+-])(\\d{2}(:\\d{2}){0,2})))?)?$/.exec(a))?((l=[]).push.apply(l,s.slice(1,8)),s[9]?(l.push(s[10]+1),l.push.apply(l,s[11].split(/:/))):s[8]&&l.push(1)):/^\\w{2,3}_\\w{2}$/.test(a)?h.locale=a:(s=u.exec(a))?c.push(s):h.zone=a:l=a;else if(\"function\"==s){if(s=a.call(h))return s}else if(/^\\w{2,3}_\\w{2}$/.test(a.name))h[a.name]=a;else if(a.zones){for(s in a.zones)h[s]=a.zones[s];for(s in a.rules)h[s]=a.rules[s]}}else e||(l=a);h[h.locale]||delete h.locale;h[h.zone]||delete h.zone;if(null!=l){if(\"*\"==l)l=h.clock();else if(Array.isArray(l)){for(s=[],o=!l[7],e=0;e<11;e++)s[e]=+(l[e]||0);--s[1],l=Date.UTC.apply(Date.UTC,s)+-s[7]*(36e5*s[8]+6e4*s[9]+1e3*s[10])}else l=Math.floor(l);if(!isNaN(l)){if(o&&(l=i(h,l)),null==l)return l;for(e=0,o=c.length;e<o;e++)l=r(h,l,c[e]);return h.format?(s=new Date(n(h,l)),h.format.replace(/%([-0_^]?)(:{0,3})(\\d*)(.)/g,function(t,e,n,i,r){var o,a,u=\"0\";if(o=h[r]){for(t=String(o.call(h,s,l,e,n.length)),\"_\"==(e||o.style)&&(u=\" \"),a=\"-\"==e?0:o.pad||0;t.length<a;)t=u+t;for(a=\"-\"==e?0:i||o.pad;t.length<a;)t=u+t;\"N\"==r&&a<t.length&&(t=t.slice(0,a)),\"^\"==e&&(t=t.toUpperCase())}return t})):l}}return function(){return h.convert(arguments)}},locale:\"en_US\",en_US:{date:\"%m/%d/%Y\",time24:\"%I:%M:%S %p\",time12:\"%I:%M:%S %p\",dateTime:\"%a %d %b %Y %I:%M:%S %p %Z\",meridiem:[\"AM\",\"PM\"],month:{abbrev:\"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec\".split(\"|\"),full:\"January|February|March|April|May|June|July|August|September|October|November|December\".split(\"|\")},day:{abbrev:\"Sun|Mon|Tue|Wed|Thu|Fri|Sat\".split(\"|\"),full:\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday\".split(\"|\")}}},l=\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|year|month|day|hour|minute|second|millisecond\",u=new RegExp(\"^\\\\s*([+-])(\\\\d+)\\\\s+(\"+l+\")s?\\\\s*$\",\"i\"),h=[36e5,6e4,1e3,1];return l=l.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,function(t){a[t].pad=2}),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}})},/*! *****************************************************************************\n",
       "      Copyright (c) Microsoft Corporation. All rights reserved.\n",
       "      Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n",
       "      this file except in compliance with the License. You may obtain a copy of the\n",
       "      License at http://www.apache.org/licenses/LICENSE-2.0\n",
       "\n",
       "      THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n",
       "      KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n",
       "      WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n",
       "      MERCHANTABLITY OR NON-INFRINGEMENT.\n",
       "\n",
       "      See the Apache Version 2.0 License for specific language governing permissions\n",
       "      and limitations under the License.\n",
       "      ***************************************************************************** */\n",
       "      function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y;!function(t){function n(t,e){return\"function\"==typeof Object.create?Object.defineProperty(t,\"__esModule\",{value:!0}):t.__esModule=!0,function(n,i){return t[n]=e?e(n,i):i}}var i=\"object\"==typeof global?global:\"object\"==typeof self?self:\"object\"==typeof this?this:{};t(\"object\"==typeof e&&\"object\"==typeof e.exports?n(i,n(e.exports)):n(i))}(function(t){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};i=function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)},r=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},o=function(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols)for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&(n[i[r]]=t[i[r]]);return n},s=function(t,e,n,i){var r,o=arguments.length,s=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,n,s):r(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},a=function(t,e){return function(n,i){e(n,i,t)}},l=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function s(t){try{l(i.next(t))}catch(t){o(t)}}function a(t){try{l(i.throw(t))}catch(t){o(t)}}function l(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(s,a)}l((i=i.apply(t,e||[])).next())})},h=function(t,e){function n(n){return function(s){return function(n){if(i)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(i=1,r&&(o=r[2&n[0]?\"return\":n[0]?\"throw\":\"next\"])&&!(o=o.call(r,n[1])).done)return o;switch(r=0,o&&(n=[0,o.value]),n[0]){case 0:case 1:o=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,r=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(o=a.trys,!(o=o.length>0&&o[o.length-1])&&(6===n[0]||2===n[0])){a=0;continue}if(3===n[0]&&(!o||n[1]>o[0]&&n[1]<o[3])){a.label=n[1];break}if(6===n[0]&&a.label<o[1]){a.label=o[1],o=n;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(n);break}o[2]&&a.ops.pop(),a.trys.pop();continue}n=e.call(t,a)}catch(t){n=[6,t],r=0}finally{i=o=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}var i,r,o,s,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:n(0),throw:n(1),return:n(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},c=function(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])},_=function(t){var e=\"function\"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},p=function(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)s.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return s},d=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t},f=function(t){return this instanceof f?(this.v=t,this):new f(t)},m=function(t,e,n){function i(t){u[t]&&(l[t]=function(e){return new Promise(function(n,i){h.push([t,e,n,i])>1||r(t,e)})})}function r(t,e){try{!function(t){t.value instanceof f?Promise.resolve(t.value.v).then(o,s):a(h[0][2],t)}(u[t](e))}catch(t){a(h[0][3],t)}}function o(t){r(\"next\",t)}function s(t){r(\"throw\",t)}function a(t,e){t(e),h.shift(),h.length&&r(h[0][0],h[0][1])}if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var l,u=n.apply(t,e||[]),h=[];return l={},i(\"next\"),i(\"throw\"),i(\"return\"),l[Symbol.asyncIterator]=function(){return this},l},v=function(t){function e(e,r){t[e]&&(n[e]=function(n){return(i=!i)?{value:f(t[e](n)),done:\"return\"===e}:r?r(n):n})}var n,i;return n={},e(\"next\"),e(\"throw\",function(t){throw t}),e(\"return\"),n[Symbol.iterator]=function(){return this},n},g=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e=t[Symbol.asyncIterator];return e?e.call(t):\"function\"==typeof _?_(t):t[Symbol.iterator]()},y=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t},t(\"__extends\",i),t(\"__assign\",r),t(\"__rest\",o),t(\"__decorate\",s),t(\"__param\",a),t(\"__metadata\",l),t(\"__awaiter\",u),t(\"__generator\",h),t(\"__exportStar\",c),t(\"__values\",_),t(\"__read\",p),t(\"__spread\",d),t(\"__await\",f),t(\"__asyncGenerator\",m),t(\"__asyncDelegator\",v),t(\"__asyncValues\",g),t(\"__makeTemplateObject\",y)})}],{base:0,\"client/connection\":1,\"client/session\":2,\"core/bokeh_events\":3,\"core/build_views\":4,\"core/dom\":5,\"core/dom_view\":6,\"core/enums\":7,\"core/has_props\":8,\"core/hittest\":9,\"core/layout/alignments\":10,\"core/layout/layout_canvas\":11,\"core/layout/side_panel\":12,\"core/layout/solver\":13,\"core/logging\":14,\"core/properties\":15,\"core/property_mixins\":16,\"core/selection_manager\":17,\"core/selector\":18,\"core/settings\":19,\"core/signaling\":20,\"core/ui_events\":21,\"core/util/array\":22,\"core/util/bbox\":23,\"core/util/callback\":24,\"core/util/canvas\":25,\"core/util/color\":26,\"core/util/data_structures\":27,\"core/util/eq\":28,\"core/util/math\":29,\"core/util/object\":30,\"core/util/proj4\":31,\"core/util/projections\":32,\"core/util/refs\":33,\"core/util/selection\":34,\"core/util/serialization\":35,\"core/util/spatial\":36,\"core/util/string\":37,\"core/util/svg_colors\":38,\"core/util/templating\":39,\"core/util/text\":40,\"core/util/throttle\":41,\"core/util/types\":42,\"core/util/wheel\":43,\"core/util/zoom\":44,\"core/view\":45,\"core/visuals\":46,document:47,embed:48,main:49,model:50,\"models/annotations/annotation\":51,\"models/annotations/arrow\":52,\"models/annotations/arrow_head\":53,\"models/annotations/band\":54,\"models/annotations/box_annotation\":55,\"models/annotations/color_bar\":56,\"models/annotations/index\":57,\"models/annotations/label\":58,\"models/annotations/label_set\":59,\"models/annotations/legend\":60,\"models/annotations/legend_item\":61,\"models/annotations/poly_annotation\":62,\"models/annotations/span\":63,\"models/annotations/text_annotation\":64,\"models/annotations/title\":65,\"models/annotations/toolbar_panel\":66,\"models/annotations/tooltip\":67,\"models/annotations/whisker\":68,\"models/axes/axis\":69,\"models/axes/categorical_axis\":70,\"models/axes/continuous_axis\":71,\"models/axes/datetime_axis\":72,\"models/axes/index\":73,\"models/axes/linear_axis\":74,\"models/axes/log_axis\":75,\"models/callbacks/customjs\":76,\"models/callbacks/index\":77,\"models/callbacks/open_url\":78,\"models/canvas/canvas\":79,\"models/canvas/cartesian_frame\":80,\"models/canvas/index\":81,\"models/expressions/expression\":82,\"models/expressions/index\":83,\"models/expressions/stack\":84,\"models/filters/boolean_filter\":85,\"models/filters/customjs_filter\":86,\"models/filters/filter\":87,\"models/filters/group_filter\":88,\"models/filters/index\":89,\"models/filters/index_filter\":90,\"models/formatters/basic_tick_formatter\":91,\"models/formatters/categorical_tick_formatter\":92,\"models/formatters/datetime_tick_formatter\":93,\"models/formatters/func_tick_formatter\":94,\"models/formatters/index\":95,\"models/formatters/log_tick_formatter\":96,\"models/formatters/mercator_tick_formatter\":97,\"models/formatters/numeral_tick_formatter\":98,\"models/formatters/printf_tick_formatter\":99,\"models/formatters/tick_formatter\":100,\"models/glyphs/annular_wedge\":101,\"models/glyphs/annulus\":102,\"models/glyphs/arc\":103,\"models/glyphs/bezier\":104,\"models/glyphs/box\":105,\"models/glyphs/circle\":106,\"models/glyphs/ellipse\":107,\"models/glyphs/glyph\":108,\"models/glyphs/hbar\":109,\"models/glyphs/image\":110,\"models/glyphs/image_rgba\":111,\"models/glyphs/image_url\":112,\"models/glyphs/index\":113,\"models/glyphs/line\":114,\"models/glyphs/multi_line\":115,\"models/glyphs/oval\":116,\"models/glyphs/patch\":117,\"models/glyphs/patches\":118,\"models/glyphs/quad\":119,\"models/glyphs/quadratic\":120,\"models/glyphs/ray\":121,\"models/glyphs/rect\":122,\"models/glyphs/segment\":123,\"models/glyphs/step\":124,\"models/glyphs/text\":125,\"models/glyphs/vbar\":126,\"models/glyphs/wedge\":127,\"models/glyphs/xy_glyph\":128,\"models/graphs/graph_hit_test_policy\":129,\"models/graphs/index\":130,\"models/graphs/layout_provider\":131,\"models/graphs/static_layout_provider\":132,\"models/grids/grid\":133,\"models/grids/index\":134,\"models/index\":135,\"models/layouts/box\":136,\"models/layouts/column\":137,\"models/layouts/index\":138,\"models/layouts/layout_dom\":139,\"models/layouts/row\":140,\"models/layouts/spacer\":141,\"models/layouts/widget_box\":142,\"models/mappers/categorical_color_mapper\":143,\"models/mappers/color_mapper\":144,\"models/mappers/index\":145,\"models/mappers/linear_color_mapper\":146,\"models/mappers/log_color_mapper\":147,\"models/markers/index\":148,\"models/markers/marker\":149,\"models/plots/gmap_plot\":150,\"models/plots/gmap_plot_canvas\":151,\"models/plots/index\":152,\"models/plots/plot\":153,\"models/plots/plot_canvas\":154,\"models/ranges/data_range\":155,\"models/ranges/data_range1d\":156,\"models/ranges/factor_range\":157,\"models/ranges/index\":158,\"models/ranges/range\":159,\"models/ranges/range1d\":160,\"models/renderers/glyph_renderer\":161,\"models/renderers/graph_renderer\":162,\"models/renderers/guide_renderer\":163,\"models/renderers/index\":164,\"models/renderers/renderer\":165,\"models/scales/categorical_scale\":166,\"models/scales/index\":167,\"models/scales/linear_scale\":168,\"models/scales/log_scale\":169,\"models/scales/scale\":170,\"models/sources/ajax_data_source\":171,\"models/sources/cds_view\":172,\"models/sources/column_data_source\":173,\"models/sources/columnar_data_source\":174,\"models/sources/data_source\":175,\"models/sources/geojson_data_source\":176,\"models/sources/index\":177,\"models/sources/remote_data_source\":178,\"models/tickers/adaptive_ticker\":179,\"models/tickers/basic_ticker\":180,\"models/tickers/categorical_ticker\":181,\"models/tickers/composite_ticker\":182,\"models/tickers/continuous_ticker\":183,\"models/tickers/datetime_ticker\":184,\"models/tickers/days_ticker\":185,\"models/tickers/fixed_ticker\":186,\"models/tickers/index\":187,\"models/tickers/log_ticker\":188,\"models/tickers/mercator_ticker\":189,\"models/tickers/months_ticker\":190,\"models/tickers/single_interval_ticker\":191,\"models/tickers/ticker\":192,\"models/tickers/util\":193,\"models/tickers/years_ticker\":194,\"models/tiles/bbox_tile_source\":195,\"models/tiles/dynamic_image_renderer\":196,\"models/tiles/image_pool\":197,\"models/tiles/image_source\":198,\"models/tiles/index\":199,\"models/tiles/mercator_tile_source\":200,\"models/tiles/quadkey_tile_source\":201,\"models/tiles/tile_renderer\":202,\"models/tiles/tile_source\":203,\"models/tiles/tile_utils\":204,\"models/tiles/tms_tile_source\":205,\"models/tiles/wmts_tile_source\":206,\"models/tools/actions/action_tool\":207,\"models/tools/actions/help_tool\":208,\"models/tools/actions/redo_tool\":209,\"models/tools/actions/reset_tool\":210,\"models/tools/actions/save_tool\":211,\"models/tools/actions/undo_tool\":212,\"models/tools/actions/zoom_in_tool\":213,\"models/tools/actions/zoom_out_tool\":214,\"models/tools/button_tool\":215,\"models/tools/gestures/box_select_tool\":216,\"models/tools/gestures/box_zoom_tool\":217,\"models/tools/gestures/gesture_tool\":218,\"models/tools/gestures/lasso_select_tool\":219,\"models/tools/gestures/pan_tool\":220,\"models/tools/gestures/poly_select_tool\":221,\"models/tools/gestures/select_tool\":222,\"models/tools/gestures/tap_tool\":223,\"models/tools/gestures/wheel_pan_tool\":224,\"models/tools/gestures/wheel_zoom_tool\":225,\"models/tools/index\":226,\"models/tools/inspectors/crosshair_tool\":227,\"models/tools/inspectors/hover_tool\":228,\"models/tools/inspectors/inspect_tool\":229,\"models/tools/on_off_button\":230,\"models/tools/tool\":231,\"models/tools/tool_proxy\":232,\"models/tools/toolbar\":233,\"models/tools/toolbar_base\":234,\"models/tools/toolbar_box\":235,\"models/transforms/customjs_transform\":236,\"models/transforms/dodge\":237,\"models/transforms/index\":238,\"models/transforms/interpolator\":239,\"models/transforms/jitter\":240,\"models/transforms/linear_interpolator\":241,\"models/transforms/step_interpolator\":242,\"models/transforms/transform\":243,polyfill:244,\"protocol/message\":245,\"protocol/receiver\":246,safely:247,version:248})}(this);/*!\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",
       "\n",
       "      //# sourceMappingURL=bokeh.min.js.map\n",
       "\n",
       "      /* END bokeh.min.js */\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      /* BEGIN bokeh-widgets.min.js */\n",
       "      !function(t,e){!function(t){(function(e,n,i){if(null!=t)return t.register_plugin(e,n,387);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({372:function(t,e,n){var i=t(364),r=t(15),o=t(5),s=t(4),a=t(412);n.AbstractButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.icon_views={},this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.remove=function(){return s.remove_views(this.icon_views),t.prototype.remove.call(this)},e.prototype._render_button=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.button.apply(void 0,[{type:\"button\",disabled:this.model.disabled,class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]}].concat(t))},e.prototype.render=function(){var e,n=this;return t.prototype.render.call(this),o.empty(this.el),this.buttonEl=this._render_button(this.model.label),this.buttonEl.addEventListener(\"click\",function(t){return n._button_click(t)}),this.el.appendChild(this.buttonEl),null!=(e=this.model.icon)&&(s.build_views(this.icon_views,[e],{parent:this}),o.prepend(this.buttonEl,this.icon_views[e.id].el,o.nbsp)),this},e.prototype._button_click=function(t){return t.preventDefault(),this.change_input()},e.prototype.change_input=function(){var t;return null!=(t=this.model.callback)?t.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.AbstractButton=l,l.prototype.type=\"AbstractButton\",l.prototype.default_view=n.AbstractButtonView,l.define({callback:[r.Instance],label:[r.String,\"Button\"],icon:[r.Instance],button_type:[r.String,\"default\"]})},373:function(t,e,n){var i=t(364),r=t(412),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.AbstractIcon=o,o.prototype.type=\"AbstractIcon\"},374:function(t,e,n){var i=t(364),r=t(403),o=t(15),s=t(5),a=t(14),l=t(24),u=t(412);n.AbstractSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){var t=this;return this.connect(this.model.change,function(){return t.render()})},e.prototype._calc_to=function(){},e.prototype._calc_from=function(t){},e.prototype.render=function(){var e,n,i,o,u,c,d,p,h,f,m,g,v,y,b=this;if(null==this.sliderEl&&t.prototype.render.call(this),null!=this.model.callback)switch(e=function(){return b.model.callback.execute(b.model)},this.model.callback_policy){case\"continuous\":this.callback_wrapper=e;break;case\"throttle\":this.callback_wrapper=l.throttle(e,this.model.callback_throttle)}return d=\"bk-noUi-\",_=this._calc_to(),h=_.start,n=_.end,y=_.value,f=_.step,this.model.tooltips?(i={to:function(t){return b.model.pretty(t)}},g=function(){var t,e,n;for(n=[],u=t=0,e=y.length;0<=e?t<e:t>e;u=0<=e?++t:--t)n.push(i);return n}()):g=!1,this.el.classList.add(\"bk-slider\"),null==this.sliderEl?(this.sliderEl=s.div(),this.el.appendChild(this.sliderEl),r.create(this.sliderEl,{cssPrefix:d,range:{min:h,max:n},start:y,step:f,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:g,orientation:this.model.orientation,direction:this.model.direction}),this.sliderEl.noUiSlider.on(\"slide\",function(t,e,n){return b._slide(n)}),this.sliderEl.noUiSlider.on(\"change\",function(t,e,n){return b._change(n)}),c=function(t){var e;switch(y=Number(b.sliderEl.noUiSlider.get()),t.which){case 37:y-=f;break;case 39:y+=f;break;default:return}return e=b.model.pretty(y),a.logger.debug(\"[slider keypress] value = \"+e),b.model.value=y,b.sliderEl.noUiSlider.set(y),null!=b.valueEl&&(b.valueEl.textContent=e),\"function\"==typeof b.callback_wrapper?b.callback_wrapper():void 0},(o=this.sliderEl.querySelector(\".bk-noUi-handle\")).setAttribute(\"tabindex\",0),o.addEventListener(\"click\",this.focus),o.addEventListener(\"keydown\",c),m=function(t,e){var n;return o=b.sliderEl.querySelectorAll(\".bk-noUi-handle\")[t],n=o.querySelector(\".bk-noUi-tooltip\"),n.style.display=e?\"block\":\"\"},this.sliderEl.noUiSlider.on(\"start\",function(t,e){return m(e,!0)}),this.sliderEl.noUiSlider.on(\"end\",function(t,e){return m(e,!1)})):this.sliderEl.noUiSlider.updateOptions({range:{min:h,max:n},start:y,step:f}),null!=this.titleEl&&this.el.removeChild(this.titleEl),null!=this.valueEl&&this.el.removeChild(this.valueEl),null!=this.model.title&&(0!==this.model.title.length&&(this.titleEl=s.label({},this.model.title+\":\"),this.el.insertBefore(this.titleEl,this.sliderEl)),this.model.show_value&&(p=function(){var t,e,n;for(n=[],t=0,e=y.length;t<e;t++)v=y[t],n.push(this.model.pretty(v));return n}.call(this).join(\" .. \"),this.valueEl=s.div({class:\"bk-slider-value\"},p),this.el.insertBefore(this.valueEl,this.sliderEl))),this.model.disabled||(this.sliderEl.querySelector(\".bk-noUi-connect\").style.backgroundColor=this.model.bar_color),this.model.disabled?this.sliderEl.setAttribute(\"disabled\",!0):this.sliderEl.removeAttribute(\"disabled\"),this;var _},e.prototype._slide=function(t){var e,n,i;return i=this._calc_from(t),e=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)n=t[e],r.push(this.model.pretty(n));return r}.call(this).join(\" .. \"),a.logger.debug(\"[slider slide] value = \"+e),null!=this.valueEl&&(this.valueEl.textContent=e),this.model.value=i,\"function\"==typeof this.callback_wrapper?this.callback_wrapper():void 0},e.prototype._change=function(t){var e,n,i,r;switch(r=this._calc_from(t),e=function(){var e,n,r;for(r=[],e=0,n=t.length;e<n;e++)i=t[e],r.push(this.model.pretty(i));return r}.call(this).join(\" .. \"),a.logger.debug(\"[slider change] value = \"+e),null!=this.valueEl&&(this.valueEl.value=e),this.model.value=r,this.model.callback_policy){case\"mouseup\":case\"throttle\":return null!=(n=this.model.callback)?n.execute(this.model):void 0}},e}(u.WidgetView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._formatter=function(t,e){return\"\"+t},e.prototype.pretty=function(t){return this._formatter(t,this.format)},e}(u.Widget);n.AbstractSlider=c,c.prototype.type=\"AbstractSlider\",c.prototype.default_view=n.AbstractSliderView,c.define({title:[o.String,\"\"],show_value:[o.Bool,!0],start:[o.Any],end:[o.Any],value:[o.Any],step:[o.Number,1],format:[o.String],orientation:[o.Orientation,\"horizontal\"],direction:[o.Any,\"ltr\"],tooltips:[o.Boolean,!0],callback:[o.Instance],callback_throttle:[o.Number,200],callback_policy:[o.String,\"throttle\"],bar_color:[o.Color,\"#e6e6e6\"]}),c.prototype.behaviour=null,c.prototype.connected=!1},375:function(t,e,n){var i=t(364),r=t(400),o=t(379),s=t(5),a=t(15);n.AutocompleteInputView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),o.clear_menus.connect(function(){return e._clear_menu()})},e.prototype.render=function(){var e=this;return t.prototype.render.call(this),this.inputEl.classList.add(\"bk-autocomplete-input\"),this.inputEl.addEventListener(\"keydown\",function(t){return e._keydown(t)}),this.inputEl.addEventListener(\"keyup\",function(t){return e._keyup(t)}),this.menuEl=s.ul({class:\"bk-bs-dropdown-menu\"}),this.menuEl.addEventListener(\"click\",function(t){return e._item_click(t)}),this.el.appendChild(this.menuEl),this},e.prototype._render_items=function(t){var e,n,i,r,o;for(s.empty(this.menuEl),r=[],e=0,i=t.length;e<i;e++)o=t[e],n=s.li({},s.a({data:{text:o}},o)),r.push(this.menuEl.appendChild(n));return r},e.prototype._open_menu=function(){return this.el.classList.add(\"bk-bs-open\")},e.prototype._clear_menu=function(){return this.el.classList.remove(\"bk-bs-open\")},e.prototype._item_click=function(t){var e,n;if(t.preventDefault(),t.target!==t.currentTarget)return e=t.target,n=e.dataset.text,this.model.value=n},e.prototype._keydown=function(t){},e.prototype._keyup=function(t){var e,n,i,r,o,a;switch(t.keyCode){case s.Keys.Enter:return console.log(\"enter\");case s.Keys.Esc:return this._clear_menu();case s.Keys.Up:case s.Keys.Down:return console.log(\"up/down\");default:if((a=this.inputEl.value).length<=1)return void this._clear_menu();for(e=[],r=this.model.completions,n=0,i=r.length;n<i;n++)-1!==(o=r[n]).indexOf(a)&&e.push(o);return 0===e.length?this._clear_menu():(this._render_items(e),this._open_menu())}},e}(r.TextInputView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextInput);n.AutocompleteInput=l,l.prototype.type=\"AutocompleteInput\",l.prototype.default_view=n.AutocompleteInputView,l.define({completions:[a.Array,[]]}),l.internal({active:[a.Boolean,!0]})},376:function(t,e,n){var i=t(364),r=t(15),o=t(3),s=t(372);n.ButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.change_input=function(){return this.model.trigger_event(new o.ButtonClick({})),this.model.clicks=this.model.clicks+1,t.prototype.change_input.call(this)},e}(s.AbstractButtonView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.AbstractButton);n.Button=a,a.prototype.type=\"Button\",a.prototype.default_view=n.ButtonView,a.define({clicks:[r.Number,0]}),o.register_with_event(o.ButtonClick,a)},377:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(15),a=t(412);n.CheckboxButtonGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;for(t.prototype.render.call(this),o.empty(this.el),n=o.div({class:\"bk-bs-btn-group\"}),this.el.appendChild(n),e=this.model.active,c=this.model.labels,i=a=0,u=c.length;a<u;i=++a)d=c[i],(s=o.input({type:\"checkbox\",value:\"\"+i,checked:r.call(e,i)>=0})).addEventListener(\"change\",function(){return p.change_input()}),l=o.label({class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]},s,d),r.call(e,i)>=0&&l.classList.add(\"bk-bs-active\"),n.appendChild(l);return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],n=t=0,i=r.length;t<i;n=++t)(e=r[n]).checked&&o.push(n);return o}.call(this),this.model.active=t,null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.CheckboxButtonGroup=l,l.prototype.type=\"CheckboxButtonGroup\",l.prototype.default_view=n.CheckboxButtonGroupView,l.define({active:[s.Array,[]],labels:[s.Array,[]],button_type:[s.String,\"default\"],callback:[s.Instance]})},378:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(15),a=t(412);n.CheckboxGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;for(t.prototype.render.call(this),o.empty(this.el),e=this.model.active,c=this.model.labels,i=a=0,u=c.length;a<u;i=++a)d=c[i],(s=o.input({type:\"checkbox\",value:\"\"+i})).addEventListener(\"change\",function(){return p.change_input()}),this.model.disabled&&(s.disabled=!0),r.call(e,i)>=0&&(s.checked=!0),l=o.label({},s,d),this.model.inline?(l.classList.add(\"bk-bs-checkbox-inline\"),this.el.appendChild(l)):(n=o.div({class:\"bk-bs-checkbox\"},l),this.el.appendChild(n));return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],n=t=0,i=r.length;t<i;n=++t)(e=r[n]).checked&&o.push(n);return o}.call(this),this.model.active=t,null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.CheckboxGroup=l,l.prototype.type=\"CheckboxGroup\",l.prototype.default_view=n.CheckboxGroupView,l.define({active:[s.Array,[]],labels:[s.Array,[]],inline:[s.Bool,!1],callback:[s.Instance]})},379:function(t,e,n){var i=t(20);n.clear_menus=new i.Signal({},\"clear_menus\"),document.addEventListener(\"click\",function(){return n.clear_menus.emit(void 0)})},380:function(t,e,n){var i=t(364),r=t(386),o=t(5),s=t(15),a=t(404);a.prototype.adjustPosition=function(){var t,e,n,i,r,o,s,a,l;if(!this._o.container)return this.el.style.position=\"absolute\",e=this._o.trigger,l=this.el.offsetWidth,n=this.el.offsetHeight,a=window.innerWidth||document.documentElement.clientWidth,s=window.innerHeight||document.documentElement.clientHeight,r=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,t=e.getBoundingClientRect(),i=t.left+window.pageXOffset,o=t.bottom+window.pageYOffset,i-=this.el.parentElement.offsetLeft,o-=this.el.parentElement.offsetTop,(this._o.reposition&&i+l>a||this._o.position.indexOf(\"right\")>-1&&i-l+e.offsetWidth>0)&&(i=i-l+e.offsetWidth),(this._o.reposition&&o+n>s+r||this._o.position.indexOf(\"top\")>-1&&o-n-e.offsetHeight>0)&&(o=o-n-e.offsetHeight),this.el.style.left=i+\"px\",this.el.style.top=o+\"px\"};var l=function(t){function e(){var e=t.apply(this,arguments)||this;return e._on_select=e._on_select.bind(e),e}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),null!=this._picker&&this._picker.destroy(),o.empty(this.el),this.labelEl=o.label({},this.model.title),this.el.appendChild(this.labelEl),this.inputEl=o.input({type:\"text\",class:\"bk-widget-form-input\",disabled:this.model.disabled}),this.el.appendChild(this.inputEl),this._picker=new a({field:this.inputEl,defaultDate:new Date(this.model.value),setDefaultDate:!0,minDate:null!=this.model.min_date?new Date(this.model.min_date):null,maxDate:null!=this.model.max_date?new Date(this.model.max_date):null,onSelect:this._on_select}),this._root_element.appendChild(this._picker.el),this},e.prototype._on_select=function(t){return function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")}(this,e),this.model.value=t.toDateString(),this.change_input()},e}(r.InputWidgetView);n.DatePickerView=l,l.prototype.className=\"bk-widget-form-group\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.InputWidget);n.DatePicker=u,u.prototype.type=\"DatePicker\",u.prototype.default_view=l,u.define({value:[s.Any,Date.now()],min_date:[s.Any],max_date:[s.Any]})},381:function(t,e,n){var i=t(364),r=t(363),o=t(374);n.DateRangeSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.DateRangeSlider=s,s.prototype.type=\"DateRangeSlider\",s.prototype.default_view=n.DateRangeSliderView,s.prototype.behaviour=\"drag\",s.prototype.connected=[!1,!0,!1],s.prototype._formatter=r,s.override({format:\"%d %b %Y\"})},382:function(t,e,n){var i=t(364),r=t(363),o=t(374);n.DateSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e=t[0];return e},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.DateSlider=s,s.prototype.type=\"DateSlider\",s.prototype.default_view=n.DateSliderView,s.prototype.behaviour=\"tap\",s.prototype.connected=[!0,!1],s.prototype._formatter=r,s.override({format:\"%d %b %Y\"})},383:function(t,e,n){var i=t(364),r=t(388),o=t(5),s=t(15);n.DivView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.div(),this.model.render_as_text?e.textContent=this.model.text:e.innerHTML=this.model.text,this.markupEl.appendChild(e),this},e}(r.MarkupView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.Div=a,a.prototype.type=\"Div\",a.prototype.default_view=n.DivView,a.define({render_as_text:[s.Bool,!1]})},384:function(t,e,n){var i=t(364),r=t(5),o=t(15),s=t(372),a=t(379);n.DropdownView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),a.clear_menus.connect(function(){return e._clear_menu()})},e.prototype.render=function(){var e,n,i,o,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),this.model.is_split_button?(this.el.classList.add(\"bk-bs-btn-group\"),(e=this._render_button(r.span({class:\"bk-bs-caret\"}))).classList.add(\"bk-bs-dropdown-toggle\"),e.addEventListener(\"click\",function(t){return h._caret_click(t)}),this.el.appendChild(e)):(this.el.classList.add(\"bk-bs-dropdown\"),this.buttonEl.classList.add(\"bk-bs-dropdown-toggle\"),this.buttonEl.appendChild(r.span({class:\"bk-bs-caret\"}))),this.model.active&&this.el.classList.add(\"bk-bs-open\"),s=[],d=this.model.menu,n=0,l=d.length;n<l;n++)null!=(i=d[n])?(a=i[0],p=i[1],(u=r.a({},a)).dataset.value=p,u.addEventListener(\"click\",function(t){return h._item_click(t)}),o=r.li({},u)):o=r.li({class:\"bk-bs-divider\"}),s.push(o);return c=r.ul({class:\"bk-bs-dropdown-menu\"},s),this.el.appendChild(c),this},e.prototype._clear_menu=function(){return this.model.active=!1},e.prototype._toggle_menu=function(){var t;if(t=this.model.active,a.clear_menus.emit(),!t)return this.model.active=!0},e.prototype._button_click=function(t){return t.preventDefault(),t.stopPropagation(),this.model.is_split_button?(this._clear_menu(),this.set_value(this.model.default_value)):this._toggle_menu()},e.prototype._caret_click=function(t){return t.preventDefault(),t.stopPropagation(),this._toggle_menu()},e.prototype._item_click=function(t){return t.preventDefault(),this._clear_menu(),this.set_value(t.currentTarget.dataset.value)},e.prototype.set_value=function(t){return this.buttonEl.value=this.model.value=t,this.change_input()},e}(s.AbstractButtonView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.AbstractButton);n.Dropdown=l,l.prototype.type=\"Dropdown\",l.prototype.default_view=n.DropdownView,l.define({value:[o.String],default_value:[o.String],menu:[o.Array,[]]}),l.override({label:\"Dropdown\"}),l.internal({active:[o.Boolean,!1]}),l.getters({is_split_button:function(){return null!=this.default_value}})},385:function(t,e,n){var i=t(372);n.AbstractButton=i.AbstractButton;var r=t(373);n.AbstractIcon=r.AbstractIcon;var o=t(375);n.AutocompleteInput=o.AutocompleteInput;var s=t(376);n.Button=s.Button;var a=t(377);n.CheckboxButtonGroup=a.CheckboxButtonGroup;var l=t(378);n.CheckboxGroup=l.CheckboxGroup;var u=t(380);n.DatePicker=u.DatePicker;var c=t(381);n.DateRangeSlider=c.DateRangeSlider;var d=t(382);n.DateSlider=d.DateSlider;var p=t(383);n.Div=p.Div;var h=t(384);n.Dropdown=h.Dropdown;var f=t(386);n.InputWidget=f.InputWidget;var m=t(388);n.Markup=m.Markup;var g=t(389);n.MultiSelect=g.MultiSelect;var v=t(390);n.Panel=v.Panel;var y=t(391);n.Paragraph=y.Paragraph;var b=t(392);n.PasswordInput=b.PasswordInput;var _=t(393);n.PreText=_.PreText;var w=t(394);n.RadioButtonGroup=w.RadioButtonGroup;var x=t(395);n.RadioGroup=x.RadioGroup;var k=t(396);n.RangeSlider=k.RangeSlider;var S=t(397);n.Select=S.Select;var E=t(398);n.Slider=E.Slider;var D=t(399);n.Tabs=D.Tabs;var C=t(400);n.TextInput=C.TextInput;var M=t(401);n.Toggle=M.Toggle;var A=t(412);n.Widget=A.Widget},386:function(t,e,n){var i=t(364),r=t(412),o=t(15);n.InputWidgetView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.change_input=function(){var t;return null!=(t=this.model.callback)?t.execute(this.model):void 0},e}(r.WidgetView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.InputWidget=s,s.prototype.type=\"InputWidget\",s.prototype.default_view=n.InputWidgetView,s.define({callback:[o.Instance],title:[o.String,\"\"]})},387:function(t,e,n){var i=t(385);n.Widgets=i;var r=t(0);r.register_models(i)},388:function(t,e,n){var i=t(364),r=t(15),o=t(5),s=t(30),a=t(412);n.MarkupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e;return t.prototype.render.call(this),o.empty(this.el),e=s.extend({width:this.model.width+\"px\",height:this.model.height+\"px\"},this.model.style),this.markupEl=o.div({style:e}),this.el.appendChild(this.markupEl)},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e}(a.Widget);n.Markup=l,l.prototype.type=\"Markup\",l.define({text:[r.String,\"\"],style:[r.Any,{}]})},389:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(42),a=t(15),l=t(386);n.MultiSelectView=function(t){function e(){var e=t.apply(this,arguments)||this;return e.render_selection=e.render_selection.bind(e),e}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.properties.value.change,function(){return this.render_selection()}),this.connect(this.model.properties.options.change,function(){return this.render()}),this.connect(this.model.properties.name.change,function(){return this.render()}),this.connect(this.model.properties.title.change,function(){return this.render()}),this.connect(this.model.properties.size.change,function(){return this.render()}),this.connect(this.model.properties.disabled.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i=this;return t.prototype.render.call(this),o.empty(this.el),e=o.label({for:this.model.id},this.model.title),this.el.appendChild(e),n=this.model.options.map(function(t){var e,n,a;return s.isString(t)?a=e=t:(a=t[0],e=t[1]),n=r.call(i.model.value,a)>=0,o.option({selected:n,value:a},e)}),this.selectEl=o.select({multiple:!0,class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,size:this.model.size,disabled:this.model.disabled},n),this.selectEl.addEventListener(\"change\",function(){return i.change_input()}),this.el.appendChild(this.selectEl),this},e.prototype.render_selection=function(){var t,n,i,r,o,s,a,l,u;for(function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")}(this,e),l={},s=this.model.value,n=0,r=s.length;n<r;n++)u=s[n],l[u]=!0;for(a=this.el.querySelectorAll(\"option\"),i=0,o=a.length;i<o;i++)t=a[i],l[t.value]&&(t.selected=\"selected\");return this.selectEl.size=this.model.size},e.prototype.change_input=function(){var e,n,i,r,o,s;for(i=null!==this.el.querySelector(\"select:focus\"),s=[],o=this.el.querySelectorAll(\"option\"),n=0,r=o.length;n<r;n++)(e=o[n]).selected&&s.push(e.value);if(this.model.value=s,t.prototype.change_input.call(this),i)return this.selectEl.focus()},e}(l.InputWidgetView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.InputWidget);n.MultiSelect=u,u.prototype.type=\"MultiSelect\",u.prototype.default_view=n.MultiSelectView,u.define({value:[a.Array,[]],options:[a.Array,[]],size:[a.Number,4]})},390:function(t,e,n){var i=t(364),r=t(412),o=t(15),s=t(5);n.PanelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),s.empty(this.el),this},e}(r.WidgetView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.Panel=a,a.prototype.type=\"Panel\",a.prototype.default_view=n.PanelView,a.define({title:[o.String,\"\"],child:[o.Instance],closable:[o.Bool,!1]})},391:function(t,e,n){var i=t(364),r=t(388),o=t(5);n.ParagraphView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.p({style:{margin:0}},this.model.text),this.markupEl.appendChild(e)},e}(r.MarkupView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.Paragraph=s,s.prototype.type=\"Paragraph\",s.prototype.default_view=n.ParagraphView},392:function(t,e,n){var i=t(364),r=t(400);n.PasswordInputView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.inputEl.type=\"password\"},e}(r.TextInputView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextInput);n.PasswordInput=o,o.prototype.type=\"PasswordInput\",o.prototype.default_view=n.PasswordInputView},393:function(t,e,n){var i=t(364),r=t(388),o=t(5);n.PreTextView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.pre({style:{overflow:\"auto\"}},this.model.text),this.markupEl.appendChild(e)},e}(r.MarkupView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.PreText=s,s.prototype.type=\"PreText\",s.prototype.default_view=n.PreTextView},394:function(t,e,n){var i=t(364),r=t(5),o=t(37),s=t(15),a=t(412);n.RadioButtonGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),r.empty(this.el),n=r.div({class:\"bk-bs-btn-group\"}),this.el.appendChild(n),c=o.uniqueId(),e=this.model.active,d=this.model.labels,i=a=0,u=d.length;a<u;i=++a)p=d[i],(s=r.input({type:\"radio\",name:c,value:\"\"+i,checked:i===e})).addEventListener(\"change\",function(){return h.change_input()}),l=r.label({class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]},s,p),i===e&&l.classList.add(\"bk-bs-active\"),n.appendChild(l);return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],e=t=0,i=r.length;t<i;e=++t)(n=r[e]).checked&&o.push(e);return o}.call(this),this.model.active=t[0],null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.RadioButtonGroup=l,l.prototype.type=\"RadioButtonGroup\",l.prototype.default_view=n.RadioButtonGroupView,l.define({active:[s.Any,null],labels:[s.Array,[]],button_type:[s.String,\"default\"],callback:[s.Instance]})},395:function(t,e,n){var i=t(364),r=t(5),o=t(37),s=t(15),a=t(412);n.RadioGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),r.empty(this.el),c=o.uniqueId(),e=this.model.active,d=this.model.labels,i=a=0,u=d.length;a<u;i=++a)p=d[i],(s=r.input({type:\"radio\",name:c,value:\"\"+i})).addEventListener(\"change\",function(){return h.change_input()}),this.model.disabled&&(s.disabled=!0),i===e&&(s.checked=!0),l=r.label({},s,p),this.model.inline?(l.classList.add(\"bk-bs-radio-inline\"),this.el.appendChild(l)):(n=r.div({class:\"bk-bs-radio\"},l),this.el.appendChild(n));return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],e=t=0,i=r.length;t<i;e=++t)(n=r[e]).checked&&o.push(e);return o}.call(this),this.model.active=t[0],null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.RadioGroup=l,l.prototype.type=\"RadioGroup\",l.prototype.default_view=n.RadioGroupView,l.define({active:[s.Any,null],labels:[s.Array,[]],inline:[s.Bool,!1],callback:[s.Instance]})},396:function(t,e,n){var i=t(364),r=t(332),o=t(374);n.RangeSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.RangeSlider=s,s.prototype.type=\"RangeSlider\",s.prototype.default_view=n.RangeSliderView,s.prototype.behaviour=\"drag\",s.prototype.connected=[!1,!0,!1],s.prototype._formatter=r.format,s.override({format:\"0[.]00\"})},397:function(t,e,n){var i=t(364),r=t(5),o=t(42),s=t(14),a=t(15),l=t(386);n.SelectView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.build_options=function(t){var e=this;return t.map(function(t){var n,i,s;return o.isString(t)?s=n=t:(s=t[0],n=t[1]),i=e.model.value===s,r.option({selected:i,value:s},n)})},e.prototype.render=function(){var e,n,i,s,a,l=this;if(t.prototype.render.call(this),r.empty(this.el),i=r.label({for:this.model.id},this.model.title),this.el.appendChild(i),o.isArray(this.model.options))e=this.build_options(this.model.options);else{e=[],s=this.model.options;for(n in s)a=s[n],e.push(r.optgroup({label:n},this.build_options(a)))}return this.selectEl=r.select({class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,disabled:this.model.disabled},e),this.selectEl.addEventListener(\"change\",function(){return l.change_input()}),this.el.appendChild(this.selectEl),this},e.prototype.change_input=function(){var e;return e=this.selectEl.value,s.logger.debug(\"selectbox: value = \"+e),this.model.value=e,t.prototype.change_input.call(this)},e}(l.InputWidgetView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.InputWidget);n.Select=u,u.prototype.type=\"Select\",u.prototype.default_view=n.SelectView,u.define({value:[a.String,\"\"],options:[a.Any,[]]})},398:function(t,e,n){var i=t(364),r=t(332),o=t(374);n.SliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e=t[0];return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(e):e},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.Slider=s,s.prototype.type=\"Slider\",s.prototype.default_view=n.SliderView,s.prototype.behaviour=\"tap\",s.prototype.connected=[!0,!1],s.prototype._formatter=r.format,s.override({format:\"0[.]00\"})},399:function(t,e,n){var i=t(364),r=t(5),o=t(22),s=t(15),a=t(412);n.TabsView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.tabs.change,function(){return e.rebuild_child_views()}),this.connect(this.model.properties.active.change,function(){return e.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;if(t.prototype.render.call(this),r.empty(this.el),0!==(i=this.model.tabs.length)){for(this.model.active>=i&&(this.model.active=i-1),(c=this.model.tabs.map(function(t,e){return r.li({},r.span({data:{index:e}},t.title))}))[this.model.active].classList.add(\"bk-bs-active\"),d=r.ul({class:[\"bk-bs-nav\",\"bk-bs-nav-tabs\"]},c),this.el.appendChild(d),(a=this.model.tabs.map(function(t){return r.div({class:\"bk-bs-tab-pane\"})}))[this.model.active].classList.add(\"bk-bs-active\"),l=r.div({class:\"bk-bs-tab-content\"},a),this.el.appendChild(l),d.addEventListener(\"click\",function(t){var e,n,i,r;if(t.preventDefault(),t.target!==t.currentTarget&&(e=t.target,i=p.model.active,n=parseInt(e.dataset.index),i!==n))return c[i].classList.remove(\"bk-bs-active\"),a[i].classList.remove(\"bk-bs-active\"),c[n].classList.add(\"bk-bs-active\"),a[n].classList.add(\"bk-bs-active\"),p.model.active=n,null!=(r=p.model.callback)?r.execute(p.model):void 0}),u=o.zip(this.model.children,a),n=0,s=u.length;n<s;n++)h=u[n],e=h[0],h[1].appendChild(this.child_views[e.id].el);return this;var h}},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_layoutable_children=function(){return this.children},e}(a.Widget);n.Tabs=l,l.prototype.type=\"Tabs\",l.prototype.default_view=n.TabsView,l.define({tabs:[s.Array,[]],active:[s.Number,0],callback:[s.Instance]}),l.getters({children:function(){var t,e,n,i,r;for(n=this.tabs,i=[],t=0,e=n.length;t<e;t++)r=n[t],i.push(r.child);return i}})},400:function(t,e,n){var i=t(364),r=t(14),o=t(15),s=t(5),a=t(386),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n=this;return t.prototype.render.call(this),s.empty(this.el),e=s.label({for:this.model.id},this.model.title),this.el.appendChild(e),this.inputEl=s.input({type:\"text\",class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,value:this.model.value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.inputEl.addEventListener(\"change\",function(){return n.change_input()}),this.el.appendChild(this.inputEl),this.model.height&&(this.inputEl.style.height=this.model.height-35+\"px\"),this},e.prototype.change_input=function(){var e;return e=this.inputEl.value,r.logger.debug(\"widget/text_input: value = \"+e),this.model.value=e,t.prototype.change_input.call(this)},e}(a.InputWidgetView);n.TextInputView=l,l.prototype.className=\"bk-widget-form-group\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.InputWidget);n.TextInput=u,u.prototype.type=\"TextInput\",u.prototype.default_view=l,u.define({value:[o.String,\"\"],placeholder:[o.String,\"\"]})},401:function(t,e,n){var i=t(364),r=t(15),o=t(372);n.ToggleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.model.active&&this.buttonEl.classList.add(\"bk-bs-active\"),this},e.prototype.change_input=function(){return this.model.active=!this.model.active,t.prototype.change_input.call(this)},e}(o.AbstractButtonView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractButton);n.Toggle=s,s.prototype.type=\"Toggle\",s.prototype.default_view=n.ToggleView,s.define({active:[r.Bool,!1]}),s.override({label:\"Toggle\"})},412:function(t,e,n){var i=t(364),r=t(139),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){if(this._render_classes(),null!=this.model.height&&(this.el.style.height=this.model.height+\"px\"),null!=this.model.width)return this.el.style.width=this.model.width+\"px\"},e}(r.LayoutDOMView);n.WidgetView=o,o.prototype.className=\"bk-widget\";var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LayoutDOM);n.Widget=s,s.prototype.type=\"Widget\",s.prototype.default_view=o},403:/*! nouislider - 10.1.0 - 2017-07-28 17:11:18 */\n",
       "      function(t,e,n){!function(t){\"object\"==typeof n?e.exports=t():window.noUiSlider=t()}(function(){\"use strict\";function t(t){t.preventDefault()}function e(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function n(t,e,n){n>0&&(o(t,e),setTimeout(function(){s(t,e)},n))}function i(t){return Array.isArray(t)?t:[t]}function r(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function o(t,e){t.classList?t.classList.add(e):t.className+=\" \"+e}function s(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function a(t){var e=void 0!==window.pageXOffset,n=\"CSS1Compat\"===(t.compatMode||\"\"),i=e?window.pageXOffset:n?t.documentElement.scrollLeft:t.body.scrollLeft,r=e?window.pageYOffset:n?t.documentElement.scrollTop:t.body.scrollTop;return{x:i,y:r}}function l(t,e){return 100/(e-t)}function u(t,e){return 100*e/(t[1]-t[0])}function c(t,e){for(var n=1;t>=e[n];)n+=1;return n}function d(t,e,n){if(n>=t.slice(-1)[0])return 100;var i,r,o,s,a=c(n,t);return i=t[a-1],r=t[a],o=e[a-1],s=e[a],o+function(t,e){return u(t,t[0]<0?e+Math.abs(t[0]):e-t[0])}([i,r],n)/l(o,s)}function p(t,e,n,i){if(100===i)return i;var r,o,s=c(i,t);return n?(r=t[s-1],o=t[s],i-r>(o-r)/2?o:r):e[s-1]?t[s-1]+function(t,e){return Math.round(t/e)*e}(i-t[s-1],e[s-1]):i}function h(t,n,i){var r;if(\"number\"==typeof n&&(n=[n]),\"[object Array]\"!==Object.prototype.toString.call(n))throw new Error(\"noUiSlider (\"+B+\"): 'range' contains invalid value.\");if(r=\"min\"===t?0:\"max\"===t?100:parseFloat(t),!e(r)||!e(n[0]))throw new Error(\"noUiSlider (\"+B+\"): 'range' value isn't numeric.\");i.xPct.push(r),i.xVal.push(n[0]),r?i.xSteps.push(!isNaN(n[1])&&n[1]):isNaN(n[1])||(i.xSteps[0]=n[1]),i.xHighestCompleteStep.push(0)}function f(t,e,n){if(!e)return!0;n.xSteps[t]=u([n.xVal[t],n.xVal[t+1]],e)/l(n.xPct[t],n.xPct[t+1]);var i=(n.xVal[t+1]-n.xVal[t])/n.xNumSteps[t],r=Math.ceil(Number(i.toFixed(3))-1),o=n.xVal[t]+n.xNumSteps[t]*r;n.xHighestCompleteStep[t]=o}function m(t,e,n){this.xPct=[],this.xVal=[],this.xSteps=[n||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i,r=[];for(i in t)t.hasOwnProperty(i)&&r.push([t[i],i]);for(r.length&&\"object\"==typeof r[0][0]?r.sort(function(t,e){return t[0][0]-e[0][0]}):r.sort(function(t,e){return t[0]-e[0]}),i=0;i<r.length;i++)h(r[i][1],r[i][0],this);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)f(i,this.xNumSteps[i],this)}function g(t){if(function(t){return\"object\"==typeof t&&\"function\"==typeof t.to&&\"function\"==typeof t.from}(t))return!0;throw new Error(\"noUiSlider (\"+B+\"): 'format' requires 'to' and 'from' methods.\")}function v(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'step' is not numeric.\");t.singleStep=n}function y(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider (\"+B+\"): 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider (\"+B+\"): Missing 'min' or 'max' in 'range'.\");if(e.min===e.max)throw new Error(\"noUiSlider (\"+B+\"): 'range' 'min' and 'max' cannot be equal.\");t.spectrum=new m(e,t.snap,t.singleStep)}function b(t,e){if(e=i(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider (\"+B+\"): 'start' option is incorrect.\");t.handles=e.length,t.start=e}function _(t,e){if(t.snap=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'snap' option must be a boolean.\")}function w(t,e){if(t.animate=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'animate' option must be a boolean.\")}function x(t,e){if(t.animationDuration=e,\"number\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'animationDuration' option must be a number.\")}function k(t,e){var n,i=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(n=1;n<t.handles;n++)i.push(e);i.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error(\"noUiSlider (\"+B+\"): 'connect' option doesn't match handle count.\");i=e}t.connect=i}function S(t,e){switch(e){case\"horizontal\":t.ort=0;break;case\"vertical\":t.ort=1;break;default:throw new Error(\"noUiSlider (\"+B+\"): 'orientation' option is invalid.\")}}function E(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'margin' option must be numeric.\");if(0!==n&&(t.margin=t.spectrum.getMargin(n),!t.margin))throw new Error(\"noUiSlider (\"+B+\"): 'margin' option is only supported on linear sliders.\")}function D(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'limit' option must be numeric.\");if(t.limit=t.spectrum.getMargin(n),!t.limit||t.handles<2)throw new Error(\"noUiSlider (\"+B+\"): 'limit' option is only supported on linear sliders with 2 or more handles.\")}function C(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be numeric.\");if(0!==n){if(t.padding=t.spectrum.getMargin(n),!t.padding)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option is only supported on linear sliders.\");if(t.padding<0)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be a positive number.\");if(t.padding>=50)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be less than half the range.\")}}function M(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider (\"+B+\"): 'direction' option was not recognized.\")}}function A(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'behaviour' must be a string containing options.\");var n=e.indexOf(\"tap\")>=0,i=e.indexOf(\"drag\")>=0,r=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0;if(r){if(2!==t.handles)throw new Error(\"noUiSlider (\"+B+\"): 'fixed' behaviour must be used with 2 handles\");E(t,t.start[1]-t.start[0])}t.events={tap:n||o,drag:i,fixed:r,snap:o,hover:s}}function V(t,e){if(t.multitouch=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'multitouch' option must be a boolean.\")}function N(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var n=0;n<t.handles;n++)t.tooltips.push(!0)}else{if(t.tooltips=i(e),t.tooltips.length!==t.handles)throw new Error(\"noUiSlider (\"+B+\"): must pass a formatter for all handles.\");t.tooltips.forEach(function(t){if(\"boolean\"!=typeof t&&(\"object\"!=typeof t||\"function\"!=typeof t.to))throw new Error(\"noUiSlider (\"+B+\"): 'tooltips' must be passed a formatter or 'false'.\")})}}function I(t,e){t.ariaFormat=e,g(e)}function P(t,e){t.format=e,g(e)}function R(t,e){if(void 0!==e&&\"string\"!=typeof e&&!1!==e)throw new Error(\"noUiSlider (\"+B+\"): 'cssPrefix' must be a string or `false`.\");t.cssPrefix=e}function L(t,e){if(void 0!==e&&\"object\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'cssClasses' must be an object.\");if(\"string\"==typeof t.cssPrefix){t.cssClasses={};for(var n in e)e.hasOwnProperty(n)&&(t.cssClasses[n]=t.cssPrefix+e[n])}else t.cssClasses=e}function T(t,e){if(!0!==e&&!1!==e)throw new Error(\"noUiSlider (\"+B+\"): 'useRequestAnimationFrame' option should be true (default) or false.\");t.useRequestAnimationFrame=e}function O(t){var e={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:U,format:U},n={step:{r:!1,t:v},start:{r:!0,t:b},connect:{r:!0,t:k},direction:{r:!0,t:M},snap:{r:!1,t:_},animate:{r:!1,t:w},animationDuration:{r:!1,t:x},range:{r:!0,t:y},orientation:{r:!1,t:S},margin:{r:!1,t:E},limit:{r:!1,t:D},padding:{r:!1,t:C},behaviour:{r:!0,t:A},multitouch:{r:!0,t:V},ariaFormat:{r:!1,t:I},format:{r:!1,t:P},tooltips:{r:!1,t:N},cssPrefix:{r:!1,t:R},cssClasses:{r:!1,t:L},useRequestAnimationFrame:{r:!1,t:T}},i={connect:!1,direction:\"ltr\",behaviour:\"tap\",multitouch:!1,orientation:\"horizontal\",cssPrefix:\"noUi-\",cssClasses:{target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",ltr:\"ltr\",rtl:\"rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},useRequestAnimationFrame:!0};t.format&&!t.ariaFormat&&(t.ariaFormat=t.format),Object.keys(n).forEach(function(r){if(void 0===t[r]&&void 0===i[r]){if(n[r].r)throw new Error(\"noUiSlider (\"+B+\"): '\"+r+\"' is required.\");return!0}n[r].t(e,void 0===t[r]?i[r]:t[r])}),e.pips=t.pips;var r=[[\"left\",\"top\"],[\"right\",\"bottom\"]];return e.style=r[e.dir][e.ort],e.styleOposite=r[e.dir?0:1][e.ort],e}function W(e,r,l){function u(t,e){var n=Z.createElement(\"div\");return e&&o(n,e),t.appendChild(n),n}function c(t,e){var n=u(t,r.cssClasses.origin),i=u(n,r.cssClasses.handle);return i.setAttribute(\"data-handle\",e),i.setAttribute(\"tabindex\",\"0\"),i.setAttribute(\"role\",\"slider\"),i.setAttribute(\"aria-orientation\",r.ort?\"vertical\":\"horizontal\"),0===e?o(i,r.cssClasses.handleLower):e===r.handles-1&&o(i,r.cssClasses.handleUpper),n}function d(t,e){return!!e&&u(t,r.cssClasses.connect)}function p(t,e){return!!r.tooltips[e]&&u(t.firstChild,r.cssClasses.tooltip)}function h(t,e,n){function i(t,e){var n=e===r.cssClasses.value,i=n?c:d,o=n?a:l;return e+\" \"+i[r.ort]+\" \"+o[t]}var s=Z.createElement(\"div\"),a=[r.cssClasses.valueNormal,r.cssClasses.valueLarge,r.cssClasses.valueSub],l=[r.cssClasses.markerNormal,r.cssClasses.markerLarge,r.cssClasses.markerSub],c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],d=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];return o(s,r.cssClasses.pips),o(s,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(t).forEach(function(o){!function(t,o){o[1]=o[1]&&e?e(o[0],o[1]):o[1];var a=u(s,!1);a.className=i(o[1],r.cssClasses.marker),a.style[r.style]=t+\"%\",o[1]&&((a=u(s,!1)).className=i(o[1],r.cssClasses.value),a.style[r.style]=t+\"%\",a.innerText=n.to(o[0]))}(o,t[o])}),s}function f(){j&&(!function(t){t.parentElement.removeChild(t)}(j),j=null)}function m(t){f();var e=t.mode,n=t.density||1,i=t.filter||!1,r=t.values||!1,o=t.stepped||!1,s=function(t,e,n){if(\"range\"===t||\"steps\"===t)return J.xVal;if(\"count\"===t){if(!e)throw new Error(\"noUiSlider (\"+B+\"): 'values' required for mode 'count'.\");var i,r=100/(e-1),o=0;for(e=[];(i=o++*r)<=100;)e.push(i);t=\"positions\"}if(\"positions\"===t)return e.map(function(t){return J.fromStepping(n?J.getStep(t):t)});if(\"values\"===t)return n?e.map(function(t){return J.fromStepping(J.getStep(J.toStepping(t)))}):e}(e,r,o),a=function(t,e,n){function i(t,e){return(t+e).toFixed(7)/1}var r={},o=J.xVal[0],s=J.xVal[J.xVal.length-1],a=!1,l=!1,u=0;(n=function(t){return t.filter(function(t){return!this[t]&&(this[t]=!0)},{})}(n.slice().sort(function(t,e){return t-e})))[0]!==o&&(n.unshift(o),a=!0);n[n.length-1]!==s&&(n.push(s),l=!0);return n.forEach(function(o,s){var c,d,p,h,f,m,g,v,y,b=o,_=n[s+1];if(\"steps\"===e&&(c=J.xNumSteps[s]),c||(c=_-b),!1!==b&&void 0!==_)for(c=Math.max(c,1e-7),d=b;d<=_;d=i(d,c)){for(g=(f=(h=J.toStepping(d))-u)/t,y=f/(v=Math.round(g)),p=1;p<=v;p+=1)r[(u+p*y).toFixed(5)]=[\"x\",0];m=n.indexOf(d)>-1?1:\"steps\"===e?2:0,!s&&a&&(m=0),d===_&&l||(r[h.toFixed(5)]=[d,m]),u=h}}),r}(n,e,s),l=t.format||{to:Math.round};return j=q.appendChild(h(a,i,l))}function g(){var t=T.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||T[e]:t.height||T[e]}function v(t,e,n,i){var o=function(o){return!q.hasAttribute(\"disabled\")&&(!function(t,e){return t.classList?t.classList.contains(e):new RegExp(\"\\\\b\"+e+\"\\\\b\").test(t.className)}(q,r.cssClasses.tap)&&(!!(o=function(t,e,n){var i,o,s=0===t.type.indexOf(\"touch\"),l=0===t.type.indexOf(\"mouse\"),u=0===t.type.indexOf(\"pointer\");0===t.type.indexOf(\"MSPointer\")&&(u=!0);if(s&&r.multitouch){var c=function(t){return t.target===n||n.contains(t.target)};if(\"touchstart\"===t.type){var d=Array.prototype.filter.call(t.touches,c);if(d.length>1)return!1;i=d[0].pageX,o=d[0].pageY}else{var p=Array.prototype.find.call(t.changedTouches,c);if(!p)return!1;i=p.pageX,o=p.pageY}}else if(s){if(t.touches.length>1)return!1;i=t.changedTouches[0].pageX,o=t.changedTouches[0].pageY}e=e||a(Z),(l||u)&&(i=t.clientX+e.x,o=t.clientY+e.y);return t.pageOffset=e,t.points=[i,o],t.cursor=l||u,t}(o,i.pageOffset,i.target||e))&&(!(t===F.start&&void 0!==o.buttons&&o.buttons>1)&&((!i.hover||!o.buttons)&&(H||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i))))))},s=[];return t.split(\" \").forEach(function(t){e.addEventListener(t,o,!!H&&{passive:!0}),s.push([t,o])}),s}function y(t){var e=t-function(t,e){var n=t.getBoundingClientRect(),i=t.ownerDocument,r=i.documentElement,o=a(i);/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(o.x=0);return e?n.top+o.y-r.clientTop:n.left+o.x-r.clientLeft}(T,r.ort),n=100*e/g();return r.dir?100-n:n}function b(t,e,n,i){var r=n.slice(),o=[!t,t],s=[t,!t];i=i.slice(),t&&i.reverse(),i.length>1?i.forEach(function(t,n){var i=C(r,t,r[t]+e,o[n],s[n],!1);!1===i?e=0:(e=i-r[t],r[t]=i)}):o=s=[!0];var a=!1;i.forEach(function(t,i){a=V(t,n[t]+e,o[i],s[i])||a}),a&&i.forEach(function(t){_(\"update\",t),_(\"slide\",t)})}function _(t,e,n){Object.keys(Q).forEach(function(i){var o=i.split(\".\")[0];t===o&&Q[i].forEach(function(t){t.call(z,$.map(r.format.to),e,$.slice(),n||!1,G.slice())})})}function w(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&k(t,e)}function x(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return k(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint),i=100*n/e.baseSize;b(n>0,i,e.locations,e.handleNumbers)}function k(e,n){n.handle&&(s(n.handle,r.cssClasses.active),K-=1),n.listeners.forEach(function(t){tt.removeEventListener(t[0],t[1])}),0===K&&(s(q,r.cssClasses.drag),A(),e.cursor&&(et.style.cursor=\"\",et.removeEventListener(\"selectstart\",t))),n.handleNumbers.forEach(function(t){_(\"change\",t),_(\"set\",t),_(\"end\",t)})}function S(e,n){var i;if(1===n.handleNumbers.length){var s=W[n.handleNumbers[0]];if(s.hasAttribute(\"disabled\"))return!1;i=s.children[0],K+=1,o(i,r.cssClasses.active)}e.stopPropagation();var a=[],l=v(F.move,tt,x,{target:e.target,handle:i,listeners:a,startCalcPoint:e.calcPoint,baseSize:g(),pageOffset:e.pageOffset,handleNumbers:n.handleNumbers,buttonsProperty:e.buttons,locations:G.slice()}),u=v(F.end,tt,k,{target:e.target,handle:i,listeners:a,handleNumbers:n.handleNumbers}),c=v(\"mouseout\",tt,w,{target:e.target,handle:i,listeners:a,handleNumbers:n.handleNumbers});a.push.apply(a,l.concat(u,c)),e.cursor&&(et.style.cursor=getComputedStyle(e.target).cursor,W.length>1&&o(q,r.cssClasses.drag),et.addEventListener(\"selectstart\",t,!1)),n.handleNumbers.forEach(function(t){_(\"start\",t)})}function E(t){t.stopPropagation();var e=y(t.calcPoint),i=function(t){var e=100,n=!1;return W.forEach(function(i,r){if(!i.hasAttribute(\"disabled\")){var o=Math.abs(G[r]-t);o<e&&(n=r,e=o)}}),n}(e);if(!1===i)return!1;r.events.snap||n(q,r.cssClasses.tap,r.animationDuration),V(i,e,!0,!0),A(),_(\"slide\",i,!0),_(\"update\",i,!0),_(\"change\",i,!0),_(\"set\",i,!0),r.events.snap&&S(t,{handleNumbers:[i]})}function D(t){var e=y(t.calcPoint),n=J.getStep(e),i=J.fromStepping(n);Object.keys(Q).forEach(function(t){\"hover\"===t.split(\".\")[0]&&Q[t].forEach(function(t){t.call(z,i)})})}function C(t,e,n,i,o,s){return W.length>1&&(i&&e>0&&(n=Math.max(n,t[e-1]+r.margin)),o&&e<W.length-1&&(n=Math.min(n,t[e+1]-r.margin))),W.length>1&&r.limit&&(i&&e>0&&(n=Math.min(n,t[e-1]+r.limit)),o&&e<W.length-1&&(n=Math.max(n,t[e+1]-r.limit))),r.padding&&(0===e&&(n=Math.max(n,r.padding)),e===W.length-1&&(n=Math.min(n,100-r.padding))),n=J.getStep(n),!((n=function(t){return Math.max(Math.min(t,100),0)}(n))===t[e]&&!s)&&n}function M(t){return t+\"%\"}function A(){X.forEach(function(t){var e=G[t]>50?-1:1,n=3+(W.length+e*t);W[t].childNodes[0].style.zIndex=n})}function V(t,e,n,i){return!1!==(e=C(G,t,e,n,i,!1))&&(function(t,e){G[t]=e,$[t]=J.fromStepping(e);var n=function(){W[t].style[r.style]=M(e),N(t),N(t+1)};window.requestAnimationFrame&&r.useRequestAnimationFrame?window.requestAnimationFrame(n):n()}(t,e),!0)}function N(t){if(U[t]){var e=0,n=100;0!==t&&(e=G[t-1]),t!==U.length-1&&(n=G[t]),U[t].style[r.style]=M(e),U[t].style[r.styleOposite]=M(100-n)}}function I(t,e){null!==t&&!1!==t&&(\"number\"==typeof t&&(t=String(t)),!1===(t=r.format.from(t))||isNaN(t)||V(e,J.toStepping(t),!1,!1))}function P(t,e){var o=i(t),s=void 0===G[0];e=void 0===e||!!e,o.forEach(I),r.animate&&!s&&n(q,r.cssClasses.tap,r.animationDuration),X.forEach(function(t){V(t,G[t],!0,!1)}),A(),X.forEach(function(t){_(\"update\",t),null!==o[t]&&e&&_(\"set\",t)})}function R(){var t=$.map(r.format.to);return 1===t.length?t[0]:t}function L(t,e){Q[t]=Q[t]||[],Q[t].push(e),\"update\"===t.split(\".\")[0]&&W.forEach(function(t,e){_(\"update\",e)})}var T,W,U,z,j,F=window.navigator.pointerEnabled?{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\"}:window.navigator.msPointerEnabled?{start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:{start:\"mousedown touchstart\",move:\"mousemove touchmove\",end:\"mouseup touchend\"},Y=window.CSS&&CSS.supports&&CSS.supports(\"touch-action\",\"none\"),H=Y&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e)}catch(t){}return t}(),q=e,G=[],X=[],K=0,J=r.spectrum,$=[],Q={},Z=e.ownerDocument,tt=Z.documentElement,et=Z.body;if(q.noUiSlider)throw new Error(\"noUiSlider (\"+B+\"): Slider was already initialized.\");return function(t){o(t,r.cssClasses.target),0===r.dir?o(t,r.cssClasses.ltr):o(t,r.cssClasses.rtl);0===r.ort?o(t,r.cssClasses.horizontal):o(t,r.cssClasses.vertical);T=u(t,r.cssClasses.base)}(q),function(t,e){W=[],(U=[]).push(d(e,t[0]));for(var n=0;n<r.handles;n++)W.push(c(e,n)),X[n]=n,U.push(d(e,t[n+1]))}(r.connect,T),z={destroy:function(){for(var t in r.cssClasses)r.cssClasses.hasOwnProperty(t)&&s(q,r.cssClasses[t]);for(;q.firstChild;)q.removeChild(q.firstChild);delete q.noUiSlider},steps:function(){return G.map(function(t,e){var n=J.getNearbySteps(t),i=$[e],r=n.thisStep.step,o=null;!1!==r&&i+r>n.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=J.countStepDecimals();return null!==r&&!1!==r&&(r=Number(r.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,r]})},on:L,off:function(t){var e=t&&t.split(\".\")[0],n=e&&t.substring(e.length);Object.keys(Q).forEach(function(t){var i=t.split(\".\")[0],r=t.substring(i.length);e&&e!==i||n&&n!==r||delete Q[t]})},get:R,set:P,reset:function(t){P(r.start,t)},__moveHandles:function(t,e,n){b(t,e,G,n)},options:l,updateOptions:function(t,e){var n=R(),i=[\"margin\",\"limit\",\"padding\",\"range\",\"animate\",\"snap\",\"step\",\"format\"];i.forEach(function(e){void 0!==t[e]&&(l[e]=t[e])});var o=O(l);i.forEach(function(e){void 0!==t[e]&&(r[e]=o[e])}),J=o.spectrum,r.margin=o.margin,r.limit=o.limit,r.padding=o.padding,r.pips&&m(r.pips);G=[],P(t.start||n,e)},target:q,removePips:f,pips:m},function(t){t.fixed||W.forEach(function(t,e){v(F.start,t.children[0],S,{handleNumbers:[e]})});t.tap&&v(F.start,T,E,{});t.hover&&v(F.move,T,D,{hover:!0});t.drag&&U.forEach(function(e,n){if(!1!==e&&0!==n&&n!==U.length-1){var i=W[n-1],s=W[n],a=[e];o(e,r.cssClasses.draggable),t.fixed&&(a.push(i.children[0]),a.push(s.children[0])),a.forEach(function(t){v(F.start,t,S,{handles:[i,s],handleNumbers:[n-1,n]})})}})}(r.events),P(r.start),r.pips&&m(r.pips),r.tooltips&&function(){var t=W.map(p);L(\"update\",function(e,n,i){if(t[n]){var o=e[n];!0!==r.tooltips[n]&&(o=r.tooltips[n].to(i[n])),t[n].innerHTML=o}})}(),L(\"update\",function(t,e,n,i,o){X.forEach(function(t){var e=W[t],i=C(G,t,0,!0,!0,!0),s=C(G,t,100,!0,!0,!0),a=o[t],l=r.ariaFormat.to(n[t]);e.children[0].setAttribute(\"aria-valuemin\",i.toFixed(1)),e.children[0].setAttribute(\"aria-valuemax\",s.toFixed(1)),e.children[0].setAttribute(\"aria-valuenow\",a.toFixed(1)),e.children[0].setAttribute(\"aria-valuetext\",l)})}),z}var B=\"10.1.0\";m.prototype.getMargin=function(t){var e=this.xNumSteps[0];if(e&&t/e%1!=0)throw new Error(\"noUiSlider (\"+B+\"): 'limit', 'margin' and 'padding' must be divisible by step.\");return 2===this.xPct.length&&u(this.xVal,t)},m.prototype.toStepping=function(t){return t=d(this.xVal,this.xPct,t)},m.prototype.fromStepping=function(t){return function(t,e,n){if(n>=100)return t.slice(-1)[0];var i,r,o,s,a=c(n,e);return i=t[a-1],r=t[a],o=e[a-1],s=e[a],function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,r],(n-o)*l(o,s))}(this.xVal,this.xPct,t)},m.prototype.getStep=function(t){return t=p(this.xPct,this.xSteps,this.snap,t)},m.prototype.getNearbySteps=function(t){var e=c(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e-0],step:this.xNumSteps[e-0],highestStep:this.xHighestCompleteStep[e-0]}}},m.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(r);return Math.max.apply(null,t)},m.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var U={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number};return{version:B,create:function(t,e){if(!t||!t.nodeName)throw new Error(\"noUiSlider (\"+B+\"): create requires a single element, got: \"+t);var n=O(e),i=W(t,n,e);return t.noUiSlider=i,i}}})},404:/*!\n",
       "       * Pikaday\n",
       "       *\n",
       "       * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday\n",
       "       */\n",
       "      function(t,e,n){!function(i,r){\"use strict\";var o;if(\"object\"==typeof n){try{o=t(\"moment\")}catch(t){}e.exports=r(o)}else i.Pikaday=r(i.moment)}(this,function(t){\"use strict\";var e=\"function\"==typeof t,n=!!window.addEventListener,i=window.document,r=window.setTimeout,o=function(t,e,i,r){n?t.addEventListener(e,i,!!r):t.attachEvent(\"on\"+e,i)},s=function(t,e,i,r){n?t.removeEventListener(e,i,!!r):t.detachEvent(\"on\"+e,i)},a=function(t,e){return-1!==(\" \"+t.className+\" \").indexOf(\" \"+e+\" \")},l=function(t){return/Array/.test(Object.prototype.toString.call(t))},u=function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())},c=function(t){var e=t.getDay();return 0===e||6===e},d=function(t,e){return[31,function(t){return t%4==0&&t%100!=0||t%400==0}(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},p=function(t){u(t)&&t.setHours(0,0,0,0)},h=function(t,e){return t.getTime()===e.getTime()},f=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?u(e[i])?n&&(t[i]=new Date(e[i].getTime())):l(e[i])?n&&(t[i]=e[i].slice(0)):t[i]=f({},e[i],n):!n&&r||(t[i]=e[i]);return t},m=function(t,e,n){var r;i.createEvent?((r=i.createEvent(\"HTMLEvents\")).initEvent(e,!0,!1),r=f(r,n),t.dispatchEvent(r)):i.createEventObject&&(r=i.createEventObject(),r=f(r,n),t.fireEvent(\"on\"+e,r))},g=function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),t.month>11&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t},v={field:null,bound:void 0,position:\"bottom left\",reposition:!0,format:\"YYYY-MM-DD\",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:\"\",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:\"left\",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:\"Previous Month\",nextMonth:\"Next Month\",months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},y=function(t,e,n){for(e+=t.firstDay;e>=7;)e-=7;return n?t.i18n.weekdaysShort[e]:t.i18n.weekdays[e]},b=function(t){var e=[],n=\"false\";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class=\"is-empty\"></td>';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\"),'<td data-day=\"'+t.day+'\" class=\"'+e.join(\" \")+'\" aria-selected=\"'+n+'\"><button class=\"pika-button pika-day\" type=\"button\" data-pika-year=\"'+t.year+'\" data-pika-month=\"'+t.month+'\" data-pika-day=\"'+t.day+'\">'+t.day+\"</button></td>\"},_=function(t,e,n){var i=new Date(n,0,1),r=Math.ceil(((new Date(n,e,t)-i)/864e5+i.getDay()+1)/7);return'<td class=\"pika-week\">'+r+\"</td>\"},w=function(t,e,n,i){return'<tr class=\"pika-row'+(n?\" pick-whole-week\":\"\")+(i?\" is-selected\":\"\")+'\">'+(e?t.reverse():t).join(\"\")+\"</tr>\"},x=function(t,e,n,i,r,o){var s,a,u,c,d,p=t._o,h=n===p.minYear,f=n===p.maxYear,m='<div id=\"'+o+'\" class=\"pika-title\" role=\"heading\" aria-live=\"assertive\">',g=!0,v=!0;for(u=[],s=0;s<12;s++)u.push('<option value=\"'+(n===r?s-e:12+s-e)+'\"'+(s===i?' selected=\"selected\"':\"\")+(h&&s<p.minMonth||f&&s>p.maxMonth?'disabled=\"disabled\"':\"\")+\">\"+p.i18n.months[s]+\"</option>\");for(c='<div class=\"pika-label\">'+p.i18n.months[i]+'<select class=\"pika-select pika-select-month\" tabindex=\"-1\">'+u.join(\"\")+\"</select></div>\",l(p.yearRange)?(s=p.yearRange[0],a=p.yearRange[1]+1):(s=n-p.yearRange,a=1+n+p.yearRange),u=[];s<a&&s<=p.maxYear;s++)s>=p.minYear&&u.push('<option value=\"'+s+'\"'+(s===n?' selected=\"selected\"':\"\")+\">\"+s+\"</option>\");return d='<div class=\"pika-label\">'+n+p.yearSuffix+'<select class=\"pika-select pika-select-year\" tabindex=\"-1\">'+u.join(\"\")+\"</select></div>\",p.showMonthAfterYear?m+=d+c:m+=c+d,h&&(0===i||p.minMonth>=i)&&(g=!1),f&&(11===i||p.maxMonth<=i)&&(v=!1),0===e&&(m+='<button class=\"pika-prev'+(g?\"\":\" is-disabled\")+'\" type=\"button\">'+p.i18n.previousMonth+\"</button>\"),e===t._o.numberOfMonths-1&&(m+='<button class=\"pika-next'+(v?\"\":\" is-disabled\")+'\" type=\"button\">'+p.i18n.nextMonth+\"</button>\"),m+=\"</div>\"},k=function(t,e,n){return'<table cellpadding=\"0\" cellspacing=\"0\" class=\"pika-table\" role=\"grid\" aria-labelledby=\"'+n+'\">'+function(t){var e,n=[];t.showWeekNumber&&n.push(\"<th></th>\");for(e=0;e<7;e++)n.push('<th scope=\"col\"><abbr title=\"'+y(t,e)+'\">'+y(t,e,!0)+\"</abbr></th>\");return\"<thead><tr>\"+(t.isRTL?n.reverse():n).join(\"\")+\"</tr></thead>\"}(t)+function(t){return\"<tbody>\"+t.join(\"\")+\"</tbody>\"}(e)+\"</table>\"},S=function(s){var l=this,c=l.config(s);l._onMouseDown=function(t){if(l._v){var e=(t=t||window.event).target||t.srcElement;if(e)if(a(e,\"is-disabled\")||(!a(e,\"pika-button\")||a(e,\"is-empty\")||a(e.parentNode,\"is-disabled\")?a(e,\"pika-prev\")?l.prevMonth():a(e,\"pika-next\")&&l.nextMonth():(l.setDate(new Date(e.getAttribute(\"data-pika-year\"),e.getAttribute(\"data-pika-month\"),e.getAttribute(\"data-pika-day\"))),c.bound&&r(function(){l.hide(),c.blurFieldOnSelect&&c.field&&c.field.blur()},100))),a(e,\"pika-select\"))l._c=!0;else{if(!t.preventDefault)return t.returnValue=!1,!1;t.preventDefault()}}},l._onChange=function(t){var e=(t=t||window.event).target||t.srcElement;e&&(a(e,\"pika-select-month\")?l.gotoMonth(e.value):a(e,\"pika-select-year\")&&l.gotoYear(e.value))},l._onKeyChange=function(t){if(t=t||window.event,l.isVisible())switch(t.keyCode){case 13:case 27:c.field&&c.field.blur();break;case 37:t.preventDefault(),l.adjustDate(\"subtract\",1);break;case 38:l.adjustDate(\"subtract\",7);break;case 39:l.adjustDate(\"add\",1);break;case 40:l.adjustDate(\"add\",7)}},l._onInputChange=function(n){var i;n.firedBy!==l&&(i=c.parse?c.parse(c.field.value,c.format):e?(i=t(c.field.value,c.format,c.formatStrict))&&i.isValid()?i.toDate():null:new Date(Date.parse(c.field.value)),u(i)&&l.setDate(i),l._v||l.show())},l._onInputFocus=function(){l.show()},l._onInputClick=function(){l.show()},l._onInputBlur=function(){var t=i.activeElement;do{if(a(t,\"pika-single\"))return}while(t=t.parentNode);l._c||(l._b=r(function(){l.hide()},50)),l._c=!1},l._onClick=function(t){var e=(t=t||window.event).target||t.srcElement,i=e;if(e){!n&&a(e,\"pika-select\")&&(e.onchange||(e.setAttribute(\"onchange\",\"return;\"),o(e,\"change\",l._onChange)));do{if(a(i,\"pika-single\")||i===c.trigger)return}while(i=i.parentNode);l._v&&e!==c.trigger&&i!==c.trigger&&l.hide()}},l.el=i.createElement(\"div\"),l.el.className=\"pika-single\"+(c.isRTL?\" is-rtl\":\"\")+(c.theme?\" \"+c.theme:\"\"),o(l.el,\"mousedown\",l._onMouseDown,!0),o(l.el,\"touchend\",l._onMouseDown,!0),o(l.el,\"change\",l._onChange),o(i,\"keydown\",l._onKeyChange),c.field&&(c.container?c.container.appendChild(l.el):c.bound?i.body.appendChild(l.el):c.field.parentNode.insertBefore(l.el,c.field.nextSibling),o(c.field,\"change\",l._onInputChange),c.defaultDate||(e&&c.field.value?c.defaultDate=t(c.field.value,c.format).toDate():c.defaultDate=new Date(Date.parse(c.field.value)),c.setDefaultDate=!0));var d=c.defaultDate;u(d)?c.setDefaultDate?l.setDate(d,!0):l.gotoDate(d):l.gotoDate(new Date),c.bound?(this.hide(),l.el.className+=\" is-bound\",o(c.trigger,\"click\",l._onInputClick),o(c.trigger,\"focus\",l._onInputFocus),o(c.trigger,\"blur\",l._onInputBlur)):this.show()};return S.prototype={config:function(t){this._o||(this._o=f({},v,!0));var e=f(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=n>4?4:n,u(e.minDate)||(e.minDate=!1),u(e.maxDate)||(e.maxDate=!1),e.minDate&&e.maxDate&&e.maxDate<e.minDate&&(e.maxDate=e.minDate=!1),e.minDate&&this.setMinDate(e.minDate),e.maxDate&&this.setMaxDate(e.maxDate),l(e.yearRange)){var i=(new Date).getFullYear()-10;e.yearRange[0]=parseInt(e.yearRange[0],10)||i,e.yearRange[1]=parseInt(e.yearRange[1],10)||i}else e.yearRange=Math.abs(parseInt(e.yearRange,10))||v.yearRange,e.yearRange>100&&(e.yearRange=100);return e},toString:function(n){return n=n||this._o.format,u(this._d)?this._o.toString?this._o.toString(this._d,n):e?t(this._d).format(n):this._d.toDateString():\"\"},getMoment:function(){return e?t(this._d):null},setMoment:function(n,i){e&&t.isMoment(n)&&this.setDate(n.toDate(),i)},getDate:function(){return u(this._d)?new Date(this._d.getTime()):null},setDate:function(t,e){if(!t)return this._d=null,this._o.field&&(this._o.field.value=\"\",m(this._o.field,\"change\",{firedBy:this})),this.draw();if(\"string\"==typeof t&&(t=new Date(Date.parse(t))),u(t)){var n=this._o.minDate,i=this._o.maxDate;u(n)&&t<n?t=n:u(i)&&t>i&&(t=i),this._d=new Date(t.getTime()),p(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),m(this._o.field,\"change\",{firedBy:this})),e||\"function\"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},gotoDate:function(t){var e=!0;if(u(t)){if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),i=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),r=t.getTime();i.setMonth(i.getMonth()+1),i.setDate(i.getDate()-1),e=r<n.getTime()||i.getTime()<r}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}],\"right\"===this._o.mainCalendar&&(this.calendars[0].month+=1-this._o.numberOfMonths)),this.adjustCalendars()}},adjustDate:function(t,e){var n,i=this.getDate()||new Date,r=24*parseInt(e)*60*60*1e3;\"add\"===t?n=new Date(i.valueOf()+r):\"subtract\"===t&&(n=new Date(i.valueOf()-r)),this.setDate(n)},adjustCalendars:function(){this.calendars[0]=g(this.calendars[0]);for(var t=1;t<this._o.numberOfMonths;t++)this.calendars[t]=g({month:this.calendars[0].month+t,year:this.calendars[0].year});this.draw()},gotoToday:function(){this.gotoDate(new Date)},gotoMonth:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())},nextMonth:function(){this.calendars[0].month++,this.adjustCalendars()},prevMonth:function(){this.calendars[0].month--,this.adjustCalendars()},gotoYear:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())},setMinDate:function(t){t instanceof Date?(p(t),this._o.minDate=t,this._o.minYear=t.getFullYear(),this._o.minMonth=t.getMonth()):(this._o.minDate=v.minDate,this._o.minYear=v.minYear,this._o.minMonth=v.minMonth,this._o.startRange=v.startRange),this.draw()},setMaxDate:function(t){t instanceof Date?(p(t),this._o.maxDate=t,this._o.maxYear=t.getFullYear(),this._o.maxMonth=t.getMonth()):(this._o.maxDate=v.maxDate,this._o.maxYear=v.maxYear,this._o.maxMonth=v.maxMonth,this._o.endRange=v.endRange),this.draw()},setStartRange:function(t){this._o.startRange=t},setEndRange:function(t){this._o.endRange=t},draw:function(t){if(this._v||t){var e,n=this._o,i=n.minYear,o=n.maxYear,s=n.minMonth,a=n.maxMonth,l=\"\";this._y<=i&&(this._y=i,!isNaN(s)&&this._m<s&&(this._m=s)),this._y>=o&&(this._y=o,!isNaN(a)&&this._m>a&&(this._m=a)),e=\"pika-title-\"+Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,2);for(var u=0;u<n.numberOfMonths;u++)l+='<div class=\"pika-lendar\">'+x(this,u,this.calendars[u].year,this.calendars[u].month,this.calendars[0].year,e)+this.render(this.calendars[u].year,this.calendars[u].month,e)+\"</div>\";this.el.innerHTML=l,n.bound&&\"hidden\"!==n.field.type&&r(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,r,o,s,a,l,u,c;if(!this._o.container){if(this.el.style.position=\"absolute\",t=this._o.trigger,e=t,n=this.el.offsetWidth,r=this.el.offsetHeight,o=window.innerWidth||i.documentElement.clientWidth,s=window.innerHeight||i.documentElement.clientHeight,a=window.pageYOffset||i.body.scrollTop||i.documentElement.scrollTop,\"function\"==typeof t.getBoundingClientRect)c=t.getBoundingClientRect(),l=c.left+window.pageXOffset,u=c.bottom+window.pageYOffset;else for(l=e.offsetLeft,u=e.offsetTop+e.offsetHeight;e=e.offsetParent;)l+=e.offsetLeft,u+=e.offsetTop;(this._o.reposition&&l+n>o||this._o.position.indexOf(\"right\")>-1&&l-n+t.offsetWidth>0)&&(l=l-n+t.offsetWidth),(this._o.reposition&&u+r>s+a||this._o.position.indexOf(\"top\")>-1&&u-r-t.offsetHeight>0)&&(u=u-r-t.offsetHeight),this.el.style.left=l+\"px\",this.el.style.top=u+\"px\"}},render:function(t,e,n){var i=this._o,r=new Date,o=d(t,e),s=new Date(t,e,1).getDay(),a=[],l=[];p(r),i.firstDay>0&&(s-=i.firstDay)<0&&(s+=7);for(var f=0===e?11:e-1,m=11===e?0:e+1,g=0===e?t-1:t,v=11===e?t+1:t,y=d(g,f),x=o+s,S=x;S>7;)S-=7;x+=7-S;for(var E=!1,D=0,C=0;D<x;D++){var M=new Date(t,e,D-s+1),A=!!u(this._d)&&h(M,this._d),V=h(M,r),N=-1!==i.events.indexOf(M.toDateString()),I=D<s||D>=o+s,P=D-s+1,R=e,L=t,T=i.startRange&&h(i.startRange,M),O=i.endRange&&h(i.endRange,M),W=i.startRange&&i.endRange&&i.startRange<M&&M<i.endRange,B=i.minDate&&M<i.minDate||i.maxDate&&M>i.maxDate||i.disableWeekends&&c(M)||i.disableDayFn&&i.disableDayFn(M);I&&(D<s?(P=y+P,R=f,L=g):(P-=o,R=m,L=v));var U={day:P,month:R,year:L,hasEvent:N,isSelected:A,isToday:V,isDisabled:B,isEmpty:I,isStartRange:T,isEndRange:O,isInRange:W,showDaysInNextAndPreviousMonths:i.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:i.enableSelectionDaysInNextAndPreviousMonths};i.pickWholeWeek&&A&&(E=!0),l.push(b(U)),7==++C&&(i.showWeekNumber&&l.unshift(_(D-s,e,t)),a.push(w(l,i.isRTL,i.pickWholeWeek,E)),l=[],C=0,E=!1)}return k(i,a,n)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),function(t,e){t.className=function(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}((\" \"+t.className+\" \").replace(\" \"+e+\" \",\" \"))}(this.el,\"is-hidden\"),this._o.bound&&(o(i,\"click\",this._onClick),this.adjustPosition()),\"function\"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var t=this._v;!1!==t&&(this._o.bound&&s(i,\"click\",this._onClick),this.el.style.position=\"static\",this.el.style.left=\"auto\",this.el.style.top=\"auto\",function(t,e){a(t,e)||(t.className=\"\"===t.className?e:t.className+\" \"+e)}(this.el,\"is-hidden\"),this._v=!1,void 0!==t&&\"function\"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){this.hide(),s(this.el,\"mousedown\",this._onMouseDown,!0),s(this.el,\"touchend\",this._onMouseDown,!0),s(this.el,\"change\",this._onChange),s(i,\"keydown\",this._onKeyChange),this._o.field&&(s(this._o.field,\"change\",this._onInputChange),this._o.bound&&(s(this._o.trigger,\"click\",this._onInputClick),s(this._o.trigger,\"focus\",this._onInputFocus),s(this._o.trigger,\"blur\",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},S})}},{\"models/widgets/abstract_button\":372,\"models/widgets/abstract_icon\":373,\"models/widgets/abstract_slider\":374,\"models/widgets/autocomplete_input\":375,\"models/widgets/button\":376,\"models/widgets/checkbox_button_group\":377,\"models/widgets/checkbox_group\":378,\"models/widgets/common\":379,\"models/widgets/date_picker\":380,\"models/widgets/date_range_slider\":381,\"models/widgets/date_slider\":382,\"models/widgets/div\":383,\"models/widgets/dropdown\":384,\"models/widgets/index\":385,\"models/widgets/input_widget\":386,\"models/widgets/main\":387,\"models/widgets/markup\":388,\"models/widgets/multiselect\":389,\"models/widgets/panel\":390,\"models/widgets/paragraph\":391,\"models/widgets/password_input\":392,\"models/widgets/pretext\":393,\"models/widgets/radio_button_group\":394,\"models/widgets/radio_group\":395,\"models/widgets/range_slider\":396,\"models/widgets/selectbox\":397,\"models/widgets/slider\":398,\"models/widgets/tabs\":399,\"models/widgets/text_input\":400,\"models/widgets/toggle\":401,\"models/widgets/widget\":412})}(t.Bokeh)}(this);/*!\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",
       "\n",
       "      //# sourceMappingURL=bokeh-widgets.min.js.map\n",
       "\n",
       "      /* END bokeh-widgets.min.js */\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      /* BEGIN bokeh-tables.min.js */\n",
       "      !function(a8274,a8275){!function(Bokeh){var define;(function(e,t,n){if(null!=Bokeh)return Bokeh.register_plugin(e,t,409);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({405:function(e,t,n){var o=e(364),r=e(15),i=e(5),l=e(30),a=e(6),s=e(50),u=e(407),c=function(e){function t(t){var n=e.call(this,l.extend({model:t.column.editor},t))||this;return n.args=t,n}return o.__extends(t,e),t.prototype.initialize=function(t){return e.prototype.initialize.call(this,t),this.render()},t.prototype.render=function(){return e.prototype.render.call(this),this.args.container.appendChild(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation(),this},t.prototype.renderEditor=function(){},t.prototype.disableNavigation=function(){return 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:return e.stopImmediatePropagation()}})},t.prototype.destroy=function(){return this.remove()},t.prototype.focus=function(){return this.inputEl.focus()},t.prototype.show=function(){},t.prototype.hide=function(){},t.prototype.position=function(){},t.prototype.getValue=function(){return this.inputEl.value},t.prototype.setValue=function(e){return this.inputEl.value=e},t.prototype.serializeValue=function(){return this.getValue()},t.prototype.isValueChanged=function(){return!(\"\"===this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue},t.prototype.applyValue=function(e,t){return this.args.grid.getData().setField(e[u.DTINDEX_NAME],this.args.column.field,t)},t.prototype.loadValue=function(e){var t;return t=e[this.args.column.field],this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)},t.prototype.validateValue=function(e){var t;return this.args.column.validator&&!(t=this.args.column.validator(e)).valid?t:{valid:!0,msg:null}},t.prototype.validate=function(){return this.validateValue(this.getValue())},t}(a.DOMView);n.CellEditorView=c,c.prototype.className=\"bk-cell-editor\",c.prototype.inputEl=null,c.prototype.emptyValue=null,c.prototype.defaultValue=null;var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(s.Model);n.CellEditor=d,d.prototype.type=\"CellEditor\",d.prototype.default_view=c;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t}(c);n.StringEditorView=p,p.prototype.emptyValue=\"\",p.prototype.inputEl=i.input({type:\"text\"});var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.StringEditor=f,f.prototype.type=\"StringEditor\",f.prototype.default_view=p,f.define({completions:[r.Array,[]]}),n.TextEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.TextEditor=h,h.prototype.type=\"TextEditor\",h.prototype.default_view=n.TextEditorView;var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){var e,t,n;for(n=this.model.options,e=0,t=n.length;e<t;e++)i.option=n[e],this.inputEl.appendChild(i.option({value:i.option},i.option));return this.focus()},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.select()},t}(c);n.SelectEditorView=g,g.prototype.inputEl=i.select();var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.SelectEditor=m,m.prototype.type=\"SelectEditor\",m.prototype.default_view=g,m.define({options:[r.Array,[]]}),n.PercentEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.PercentEditor=v,v.prototype.type=\"PercentEditor\",v.prototype.default_view=n.PercentEditorView;var w=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.focus()},t.prototype.loadValue=function(e){return this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue},t.prototype.serializeValue=function(){return this.inputEl.checked},t}(c);n.CheckboxEditorView=w,w.prototype.inputEl=i.input({type:\"checkbox\",value:\"true\"});var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.CheckboxEditor=y,y.prototype.type=\"CheckboxEditor\",y.prototype.default_view=w;var C=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.remove=function(){return e.prototype.remove.call(this)},t.prototype.serializeValue=function(){return parseInt(this.getValue(),10)||0},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t.prototype.validateValue=function(t){return isNaN(t)?{valid:!1,msg:\"Please enter a valid integer\"}:e.prototype.validateValue.call(this,t)},t}(c);n.IntEditorView=C,C.prototype.inputEl=i.input({type:\"text\"});var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.IntEditor=b,b.prototype.type=\"IntEditor\",b.prototype.default_view=C,b.define({step:[r.Number,1]});var x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.remove=function(){return e.prototype.remove.call(this)},t.prototype.serializeValue=function(){return parseFloat(this.getValue())||0},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t.prototype.validateValue=function(t){return isNaN(t)?{valid:!1,msg:\"Please enter a valid number\"}:e.prototype.validateValue.call(this,t)},t}(c);n.NumberEditorView=x,x.prototype.inputEl=i.input({type:\"text\"});var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.NumberEditor=R,R.prototype.type=\"NumberEditor\",R.prototype.default_view=x,R.define({step:[r.Number,.01]}),n.TimeEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var S=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.TimeEditor=S,S.prototype.type=\"TimeEditor\",S.prototype.default_view=n.TimeEditorView;var E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.calendarOpen=!1,this.inputEl.focus(),this.inputEl.select()},t.prototype.destroy=function(){return e.prototype.destroy.call(this)},t.prototype.show=function(){return e.prototype.show.call(this)},t.prototype.hide=function(){return e.prototype.hide.call(this)},t.prototype.position=function(t){return e.prototype.position.call(this)},t.prototype.getValue=function(){},t.prototype.setValue=function(e){},t}(c);n.DateEditorView=E,E.prototype.emptyValue=new Date,E.prototype.inputEl=i.input({type:\"text\"});var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.DateEditor=k,k.prototype.type=\"DateEditor\",k.prototype.default_view=E},406:function(e,t,n){var o=e(364),r=e(332),i=e(421),l=e(363),a=e(15),s=e(5),u=e(30),c=e(42),d=e(50);n.CellFormatter=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){return null==n?\"\":(n+\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")},t}(d.Model);var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){var i,l,a,u;switch(i=this.font_style,a=this.text_align,u=this.text_color,l=s.span({},null==n?\"\":\"\"+n),i){case\"bold\":l.style.fontWeight=\"bold\";break;case\"italic\":l.style.fontStyle=\"italic\"}return null!=a&&(l.style.textAlign=a),null!=u&&(l.style.color=u),l=l.outerHTML},t}(n.CellFormatter);n.StringFormatter=p,p.prototype.type=\"StringFormatter\",p.define({font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_color:[a.Color]});var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(t,n,o,i,l){var a,s,u;return a=this.format,s=this.language,u=function(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}.call(this),o=r.format(o,a,s,u),e.prototype.doFormat.call(this,t,n,o,i,l)},t}(p);n.NumberFormatter=f,f.prototype.type=\"NumberFormatter\",f.define({format:[a.String,\"0,0\"],language:[a.String,\"en\"],rounding:[a.String,\"round\"]});var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){return n?s.i({class:this.icon}).outerHTML:\"\"},t}(n.CellFormatter);n.BooleanFormatter=h,h.prototype.type=\"BooleanFormatter\",h.define({icon:[a.String,\"check\"]});var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.getFormat=function(){var e;return\"__CUSTOM__\"===(e=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 null;default:return\"__CUSTOM__\"}}.call(this))?this.format:e},t.prototype.doFormat=function(t,n,o,r,i){var a;return o=c.isString(o)?parseInt(o,10):o,a=l(o,this.getFormat()),e.prototype.doFormat.call(this,t,n,a,r,i)},t}(n.CellFormatter);n.DateFormatter=g,g.prototype.type=\"DateFormatter\",g.define({format:[a.String,\"ISO-8601\"]});var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){var l;return l=this.template,null===n?\"\":(r=u.extend({},r,{value:n}),i(l)(r))},t}(n.CellFormatter);n.HTMLTemplateFormatter=m,m.prototype.type=\"HTMLTemplateFormatter\",m.define({template:[a.String,\"<%= value %>\"]})},407:function(e,t,n){var o=e(364),r=e(419),i=e(417),l=e(416),a=e(9),s=e(15),u=e(37),c=e(22),d=e(14),p=e(411),f=e(412);n.DTINDEX_NAME=\"__bkdt_internal_index__\",n.DataProvider=function(){function e(e,t){if(this.source=e,this.view=t,n.DTINDEX_NAME in this.source.data)throw new Error(\"special name \"+n.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){var t,o,r,i,l;for(o={},l=Object.keys(this.source.data),r=0,i=l.length;r<i;r++)t=l[r],o[t]=this.source.data[t][this.index[e]];return o[n.DTINDEX_NAME]=this.index[e],o},e.prototype.setItem=function(e,t){var o,r;for(o in t)r=t[o],o!==n.DTINDEX_NAME&&(this.source.data[o][this.index[e]]=r);return this._update_source_inplace(),null},e.prototype.getField=function(e,t){return t===n.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]},e.prototype.setField=function(e,t,n){return this.source.data[t][this.index[e]]=n,this._update_source_inplace(),null},e.prototype.getItemMetadata=function(e){return null},e.prototype.getRecords=function(){var e;return function(){var t,n,o;for(o=[],e=t=0,n=this.getLength();0<=n?t<n:t>n;e=0<=n?++t:--t)o.push(this.getItem(e));return o}.call(this)},e.prototype.sort=function(e){var t,o,r,i;return 0===(t=function(){var t,n,r;for(r=[],t=0,n=e.length;t<n;t++)o=e[t],r.push([o.sortCol.field,o.sortAsc?1:-1]);return r}()).length&&(t=[[n.DTINDEX_NAME,1]]),i=this.getRecords(),r=this.index.slice(),this.index.sort(function(e,n){var o,l,a,s,u,c,d;for(l=0,a=t.length;l<a;l++)if(p=t[l],o=p[0],u=p[1],c=i[r.indexOf(e)][o],d=i[r.indexOf(n)][o],0!==(s=c===d?0:c>d?u:-u))return s;return 0;var p})},e.prototype._update_source_inplace=function(){this.source.properties.data.change.emit(this,this.source.attributes.data)},e}();var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.initialize=function(t){return e.prototype.initialize.call(this,t),this.in_selection_update=!1},t.prototype.connect_signals=function(){var t=this;return e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.render()}),this.connect(this.model.source.properties.data.change,function(){return t.updateGrid()}),this.connect(this.model.source.streaming,function(){return t.updateGrid()}),this.connect(this.model.source.patching,function(){return t.updateGrid()}),this.connect(this.model.source.change,function(){return t.updateSelection()})},t.prototype.updateGrid=function(){return this.model.view.compute_indices(),this.data.constructor(this.model.source,this.model.view),this.grid.invalidate(),this.grid.render(),this.model.source.data=this.model.source.data,this.model.source.change.emit()},t.prototype.updateSelection=function(){var e,t,n,o,r,i;if(!this.in_selection_update)return o=this.model.source.selected,r=o[\"1d\"].indices,n=function(){var e,t,n;for(n=[],e=0,t=r.length;e<t;e++)i=r[e],n.push(this.data.index.indexOf(i));return n}.call(this),this.in_selection_update=!0,this.grid.setSelectedRows(n),this.in_selection_update=!1,e=this.grid.getViewport(),this.model.scroll_to_selection&&!c.any(n,function(t){return e.top<=t&&t<=e.bottom})?(t=Math.max(0,Math.min.apply(null,n)-1),this.grid.scrollRowToTop(t)):void 0},t.prototype.newIndexColumn=function(){return{id:u.uniqueId(),name:\"#\",field:n.DTINDEX_NAME,width:40,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:\"bk-cell-index\"}},t.prototype.render=function(){var e,t,o,s,u,c,p=this;return o=function(){var e,n,o,r;for(o=this.model.columns,r=[],e=0,n=o.length;e<n;e++)t=o[e],r.push(t.toColumn());return r}.call(this),\"checkbox\"===this.model.selectable&&(e=new l.CheckboxSelectColumn({cssClass:\"bk-cell-select\"}),o.unshift(e.getColumnDefinition())),this.model.row_headers&&o.unshift(this.newIndexColumn()),(c=this.model.reorderable)&&null==(\"undefined\"!=typeof $&&null!==$&&null!=(u=$.fn)?u.sortable:void 0)&&(null==this._warned_not_reorderable&&(d.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),this._warned_not_reorderable=!0),c=!1),s={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:c,forceFitColumns:this.model.fit_columns,autoHeight:\"auto\"===this.model.height,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:!1},null!=this.model.width?this.el.style.width=this.model.width+\"px\":this.el.style.width=this.model.default_width+\"px\",null!=this.model.height&&\"auto\"!==this.model.height&&(this.el.style.height=this.model.height+\"px\"),this.data=new n.DataProvider(this.model.source,this.model.view),this.grid=new r.Grid(this.el,this.data,o,s),this.grid.onSort.subscribe(function(e,t){return o=t.sortCols,p.data.sort(o),p.grid.invalidate(),p.updateSelection(),p.grid.render()}),!1!==this.model.selectable&&(this.grid.setSelectionModel(new i.RowSelectionModel({selectActiveRow:null==e})),null!=e&&this.grid.registerPlugin(e),this.grid.onSelectedRowsChanged.subscribe(function(e,t){var n,o;if(!p.in_selection_update)return o=a.create_hit_test_result(),o[\"1d\"].indices=function(){var e,o,r,i;for(r=t.rows,i=[],e=0,o=r.length;e<o;e++)n=r[e],i.push(this.data.index[n]);return i}.call(p),p.model.source.selected=o}),this.updateSelection()),this},t}(f.WidgetView);n.DataTableView=h,h.prototype.className=\"bk-data-table\";var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(p.TableWidget);n.DataTable=g,g.prototype.type=\"DataTable\",g.prototype.default_view=h,g.define({columns:[s.Array,[]],fit_columns:[s.Bool,!0],sortable:[s.Bool,!0],reorderable:[s.Bool,!0],editable:[s.Bool,!1],selectable:[s.Bool,!0],row_headers:[s.Bool,!0],scroll_to_selection:[s.Bool,!0]}),g.override({height:400}),g.internal({default_width:[s.Number,600]})},408:function(e,t,n){var o=e(364);o.__exportStar(e(405),n),o.__exportStar(e(406),n);var r=e(407);n.DataTable=r.DataTable;var i=e(410);n.TableColumn=i.TableColumn;var l=e(411);n.TableWidget=l.TableWidget},409:function(e,t,n){var o=e(408);n.Tables=o;var r=e(0);r.register_models(o)},410:function(e,t,n){var o=e(364),r=e(406),i=e(405),l=e(15),a=e(37),s=e(50),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.toColumn=function(){var e;return{id:a.uniqueId(),field:this.field,name:this.title,width:this.width,formatter:null!=(e=this.formatter)?e.doFormat.bind(this.formatter):void 0,editor:this.editor.default_view,sortable:this.sortable,defaultSortAsc:\"ascending\"===this.default_sort}},t}(s.Model);n.TableColumn=u,u.prototype.type=\"TableColumn\",u.prototype.default_view=null,u.define({field:[l.String],title:[l.String],width:[l.Number,300],formatter:[l.Instance,function(){return new r.StringFormatter}],editor:[l.Instance,function(){return new i.StringEditor}],sortable:[l.Bool,!0],default_sort:[l.String,\"ascending\"]})},411:function(e,t,n){var o=e(364),r=e(412),i=e(172),l=e(15),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.initialize=function(t){if(e.prototype.initialize.call(this,t),null==this.view.source)return this.view.source=this.source,this.view.compute_indices()},t}(r.Widget);n.TableWidget=a,a.prototype.type=\"TableWidget\",a.define({source:[l.Instance],view:[l.Instance,function(){return new i.CDSView}]})},412:function(e,t,n){var o=e(364),r=e(139),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.render=function(){if(this._render_classes(),null!=this.model.height&&(this.el.style.height=this.model.height+\"px\"),null!=this.model.width)return this.el.style.width=this.model.width+\"px\"},t}(r.LayoutDOMView);n.WidgetView=i,i.prototype.className=\"bk-widget\";var l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(r.LayoutDOM);n.Widget=l,l.prototype.type=\"Widget\",l.prototype.default_view=i},413:/*!\n",
       "       * jQuery JavaScript Library v3.2.1\n",
       "       * https://jquery.com/\n",
       "       *\n",
       "       * Includes Sizzle.js\n",
       "       * https://sizzlejs.com/\n",
       "       *\n",
       "       * Copyright JS Foundation and other contributors\n",
       "       * Released under the MIT license\n",
       "       * https://jquery.org/license\n",
       "       *\n",
       "       * Date: 2017-03-20T18:59Z\n",
       "       */\n",
       "      function(e,t,n){!function(e,n){\"use strict\";\"object\"==typeof t&&\"object\"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return n(e)}:n(e)}(\"undefined\"!=typeof window?window:this,function(e,t){\"use strict\";function n(e,t){var n=(t=t||G).createElement(\"script\");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function o(e){var t=!!e&&\"length\"in e&&e.length,n=ae.type(e);return\"function\"!==n&&!ae.isWindow(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}function r(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function i(e,t,n){return ae.isFunction(t)?ae.grep(e,function(e,o){return!!t.call(e,o,e)!==n}):t.nodeType?ae.grep(e,function(e){return e===t!==n}):\"string\"!=typeof t?ae.grep(e,function(e){return ee.call(t,e)>-1!==n}):ve.test(t)?ae.filter(t,e,n):(t=ae.filter(t,e),ae.grep(e,function(e){return ee.call(t,e)>-1!==n&&1===e.nodeType}))}function l(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){return e}function s(e){throw e}function u(e,t,n,o){var r;try{e&&ae.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&ae.isFunction(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(o))}catch(e){n.apply(void 0,[e])}}function c(){G.removeEventListener(\"DOMContentLoaded\",c),e.removeEventListener(\"load\",c),ae.ready()}function d(){this.expando=ae.expando+d.uid++}function p(e,t,n){var o;if(void 0===n&&1===e.nodeType)if(o=\"data-\"+t.replace(Ae,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(o))){try{n=function(e){if(\"true\"===e)return!0;if(\"false\"===e)return!1;if(\"null\"===e)return null;if(e===+e+\"\")return+e;if(Ne.test(e))return JSON.parse(e);return e}(n)}catch(e){}De.set(e,t,n)}else n=void 0;return n}function f(e,t,n,o){var r,i=1,l=20,a=o?function(){return o.cur()}:function(){return ae.css(e,t,\"\")},s=a(),u=n&&n[3]||(ae.cssNumber[t]?\"\":\"px\"),c=(ae.cssNumber[t]||\"px\"!==u&&+s)&&He.exec(ae.css(e,t));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+s||1;do{c/=i=i||\".5\",ae.style(e,t,c+u)}while(i!==(i=a()/s)&&1!==i&&--l)}return n&&(c=+c||+s||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],o&&(o.unit=u,o.start=c,o.end=r)),r}function h(e){var t,n=e.ownerDocument,o=e.nodeName,r=_e[o];return r||(t=n.body.appendChild(n.createElement(o)),r=ae.css(t,\"display\"),t.parentNode.removeChild(t),\"none\"===r&&(r=\"block\"),_e[o]=r,r)}function g(e,t){for(var n,o,r=[],i=0,l=e.length;i<l;i++)(o=e[i]).style&&(n=o.style.display,t?(\"none\"===n&&(r[i]=Pe.get(o,\"display\")||null,r[i]||(o.style.display=\"\")),\"\"===o.style.display&&Fe(o)&&(r[i]=h(o))):\"none\"!==n&&(r[i]=\"none\",Pe.set(o,\"display\",n)));for(i=0;i<l;i++)null!=r[i]&&(e[i].style.display=r[i]);return e}function m(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&r(e,t)?ae.merge([e],n):n}function v(e,t){for(var n=0,o=e.length;n<o;n++)Pe.set(e[n],\"globalEval\",!t||Pe.get(t[n],\"globalEval\"))}function w(e,t,n,o,r){for(var i,l,a,s,u,c,d=t.createDocumentFragment(),p=[],f=0,h=e.length;f<h;f++)if((i=e[f])||0===i)if(\"object\"===ae.type(i))ae.merge(p,i.nodeType?[i]:i);else if(Be.test(i)){for(l=l||d.appendChild(t.createElement(\"div\")),a=(We.exec(i)||[\"\",\"\"])[1].toLowerCase(),s=Ve[a]||Ve._default,l.innerHTML=s[1]+ae.htmlPrefilter(i)+s[2],c=s[0];c--;)l=l.lastChild;ae.merge(p,l.childNodes),(l=d.firstChild).textContent=\"\"}else p.push(t.createTextNode(i));for(d.textContent=\"\",f=0;i=p[f++];)if(o&&ae.inArray(i,o)>-1)r&&r.push(i);else if(u=ae.contains(i.ownerDocument,i),l=m(d.appendChild(i),\"script\"),u&&v(l),n)for(c=0;i=l[c++];)je.test(i.type||\"\")&&n.push(i);return d}function y(){return!0}function C(){return!1}function b(){try{return G.activeElement}catch(e){}}function x(e,t,n,o,r,i){var l,a;if(\"object\"==typeof t){\"string\"!=typeof n&&(o=o||n,n=void 0);for(a in t)x(e,a,n,o,t[a],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=C;else if(!r)return e;return 1===i&&(l=r,(r=function(e){return ae().off(e),l.apply(this,arguments)}).guid=l.guid||(l.guid=ae.guid++)),e.each(function(){ae.event.add(this,t,r,o,n)})}function R(e,t){return r(e,\"table\")&&r(11!==t.nodeType?t:t.firstChild,\"tr\")?ae(\">tbody\",e)[0]||e:e}function S(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function E(e){var t=Ye.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function k(e,t){var n,o,r,i,l,a,s,u;if(1===t.nodeType){if(Pe.hasData(e)&&(i=Pe.access(e),l=Pe.set(t,i),u=i.events)){delete l.handle,l.events={};for(r in u)for(n=0,o=u[r].length;n<o;n++)ae.event.add(t,r,u[r][n])}De.hasData(e)&&(a=De.access(e),s=ae.extend({},a),De.set(t,s))}}function T(e,t){var n=t.nodeName.toLowerCase();\"input\"===n&&Me.test(e.type)?t.checked=e.checked:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}function P(e,t,o,r){t=J.apply([],t);var i,l,a,s,u,c,d=0,p=e.length,f=p-1,h=t[0],g=ae.isFunction(h);if(g||p>1&&\"string\"==typeof h&&!le.checkClone&&Ge.test(h))return e.each(function(n){var i=e.eq(n);g&&(t[0]=h.call(this,n,i.html())),P(i,t,o,r)});if(p&&(i=w(t,e[0].ownerDocument,!1,e,r),l=i.firstChild,1===i.childNodes.length&&(i=l),l||r)){for(a=ae.map(m(i,\"script\"),S),s=a.length;d<p;d++)u=i,d!==f&&(u=ae.clone(u,!0,!0),s&&ae.merge(a,m(u,\"script\"))),o.call(e[d],u,d);if(s)for(c=a[a.length-1].ownerDocument,ae.map(a,E),d=0;d<s;d++)u=a[d],je.test(u.type||\"\")&&!Pe.access(u,\"globalEval\")&&ae.contains(c,u)&&(u.src?ae._evalUrl&&ae._evalUrl(u.src):n(u.textContent.replace(Qe,\"\"),c))}return e}function D(e,t,n){for(var o,r=t?ae.filter(t,e):e,i=0;null!=(o=r[i]);i++)n||1!==o.nodeType||ae.cleanData(m(o)),o.parentNode&&(n&&ae.contains(o.ownerDocument,o)&&v(m(o,\"script\")),o.parentNode.removeChild(o));return e}function N(e,t,n){var o,r,i,l,a=e.style;return(n=n||et(e))&&(\"\"!==(l=n.getPropertyValue(t)||n[t])||ae.contains(e.ownerDocument,e)||(l=ae.style(e,t)),!le.pixelMarginRight()&&Ze.test(l)&&Je.test(t)&&(o=a.width,r=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=l,l=n.width,a.width=o,a.minWidth=r,a.maxWidth=i)),void 0!==l?l+\"\":l}function A(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}function $(e){var t=ae.cssProps[e];return t||(t=ae.cssProps[e]=function(e){if(e in lt)return e;var t=e[0].toUpperCase()+e.slice(1),n=it.length;for(;n--;)if((e=it[n]+t)in lt)return e}(e)||e),t}function H(e,t,n){var o=He.exec(t);return o?Math.max(0,o[2]-(n||0))+(o[3]||\"px\"):t}function L(e,t,n,o,r){var i,l=0;for(i=n===(o?\"border\":\"content\")?4:\"width\"===t?1:0;i<4;i+=2)\"margin\"===n&&(l+=ae.css(e,n+Le[i],!0,r)),o?(\"content\"===n&&(l-=ae.css(e,\"padding\"+Le[i],!0,r)),\"margin\"!==n&&(l-=ae.css(e,\"border\"+Le[i]+\"Width\",!0,r))):(l+=ae.css(e,\"padding\"+Le[i],!0,r),\"padding\"!==n&&(l+=ae.css(e,\"border\"+Le[i]+\"Width\",!0,r)));return l}function F(e,t,n){var o,r=et(e),i=N(e,t,r),l=\"border-box\"===ae.css(e,\"boxSizing\",!1,r);return Ze.test(i)?i:(o=l&&(le.boxSizingReliable()||i===e.style[t]),\"auto\"===i&&(i=e[\"offset\"+t[0].toUpperCase()+t.slice(1)]),(i=parseFloat(i)||0)+L(e,t,n||(l?\"border\":\"content\"),o,r)+\"px\")}function I(e,t,n,o,r){return new I.prototype.init(e,t,n,o,r)}function _(){st&&(!1===G.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(_):e.setTimeout(_,ae.fx.interval),ae.fx.tick())}function M(){return e.setTimeout(function(){at=void 0}),at=ae.now()}function W(e,t){var n,o=0,r={height:e};for(t=t?1:0;o<4;o+=2-t)n=Le[o],r[\"margin\"+n]=r[\"padding\"+n]=e;return t&&(r.opacity=r.width=e),r}function j(e,t,n){for(var o,r=(V.tweeners[t]||[]).concat(V.tweeners[\"*\"]),i=0,l=r.length;i<l;i++)if(o=r[i].call(n,t,e))return o}function V(e,t,n){var o,r,i=0,l=V.prefilters.length,a=ae.Deferred().always(function(){delete s.elem}),s=function(){if(r)return!1;for(var t=at||M(),n=Math.max(0,u.startTime+u.duration-t),o=n/u.duration||0,i=1-o,l=0,s=u.tweens.length;l<s;l++)u.tweens[l].run(i);return a.notifyWith(e,[u,i,n]),i<1&&s?n:(s||a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:ae.extend({},t),opts:ae.extend(!0,{specialEasing:{},easing:ae.easing._default},n),originalProperties:t,originalOptions:n,startTime:at||M(),duration:n.duration,tweens:[],createTween:function(t,n){var o=ae.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(o),o},stop:function(t){var n=0,o=t?u.tweens.length:0;if(r)return this;for(r=!0;n<o;n++)u.tweens[n].run(1);return t?(a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u,t])):a.rejectWith(e,[u,t]),this}}),c=u.props;for(!function(e,t){var n,o,r,i,l;for(n in e)if(o=ae.camelCase(n),r=t[o],i=e[n],Array.isArray(i)&&(r=i[1],i=e[n]=i[0]),n!==o&&(e[o]=i,delete e[n]),(l=ae.cssHooks[o])&&\"expand\"in l){i=l.expand(i),delete e[o];for(n in i)n in e||(e[n]=i[n],t[n]=r)}else t[o]=r}(c,u.opts.specialEasing);i<l;i++)if(o=V.prefilters[i].call(u,e,c,u.opts))return ae.isFunction(o.stop)&&(ae._queueHooks(u.elem,u.opts.queue).stop=ae.proxy(o.stop,o)),o;return ae.map(c,j,u),ae.isFunction(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),ae.fx.timer(ae.extend(s,{elem:e,anim:u,queue:u.opts.queue})),u}function B(e){var t=e.match(Re)||[];return t.join(\" \")}function q(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function O(e,t,n,o){var r;if(Array.isArray(t))ae.each(t,function(t,r){n||Ct.test(e)?o(e,r):O(e+\"[\"+(\"object\"==typeof r&&null!=r?t:\"\")+\"]\",r,n,o)});else if(n||\"object\"!==ae.type(t))o(e,t);else for(r in t)O(e+\"[\"+r+\"]\",t[r],n,o)}function z(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var o,r=0,i=t.toLowerCase().match(Re)||[];if(ae.isFunction(n))for(;o=i[r++];)\"+\"===o[0]?(o=o.slice(1)||\"*\",(e[o]=e[o]||[]).unshift(n)):(e[o]=e[o]||[]).push(n)}}function X(e,t,n,o){function r(a){var s;return i[a]=!0,ae.each(e[a]||[],function(e,a){var u=a(t,n,o);return\"string\"!=typeof u||l||i[u]?l?!(s=u):void 0:(t.dataTypes.unshift(u),r(u),!1)}),s}var i={},l=e===At;return r(t.dataTypes[0])||!i[\"*\"]&&r(\"*\")}function U(e,t){var n,o,r=ae.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:o||(o={}))[n]=t[n]);return o&&ae.extend(!0,e,o),e}var K=[],G=e.document,Y=Object.getPrototypeOf,Q=K.slice,J=K.concat,Z=K.push,ee=K.indexOf,te={},ne=te.toString,oe=te.hasOwnProperty,re=oe.toString,ie=re.call(Object),le={},ae=function(e,t){return new ae.fn.init(e,t)},se=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,ue=/^-ms-/,ce=/-([a-z])/g,de=function(e,t){return t.toUpperCase()};ae.fn=ae.prototype={jquery:\"3.2.1\",constructor:ae,length:0,toArray:function(){return Q.call(this)},get:function(e){return null==e?Q.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ae.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ae.each(this,e)},map:function(e){return this.pushStack(ae.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(Q.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:Z,sort:K.sort,splice:K.splice},ae.extend=ae.fn.extend=function(){var e,t,n,o,r,i,l=arguments[0]||{},a=1,s=arguments.length,u=!1;for(\"boolean\"==typeof l&&(u=l,l=arguments[a]||{},a++),\"object\"==typeof l||ae.isFunction(l)||(l={}),a===s&&(l=this,a--);a<s;a++)if(null!=(e=arguments[a]))for(t in e)n=l[t],o=e[t],l!==o&&(u&&o&&(ae.isPlainObject(o)||(r=Array.isArray(o)))?(r?(r=!1,i=n&&Array.isArray(n)?n:[]):i=n&&ae.isPlainObject(n)?n:{},l[t]=ae.extend(u,i,o)):void 0!==o&&(l[t]=o));return l},ae.extend({expando:\"jQuery\"+(\"3.2.1\"+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return\"function\"===ae.type(e)},isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=ae.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==ne.call(e))&&(!(t=Y(e))||\"function\"==typeof(n=oe.call(t,\"constructor\")&&t.constructor)&&re.call(n)===ie)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?te[ne.call(e)]||\"object\":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(ue,\"ms-\").replace(ce,de)},each:function(e,t){var n,r=0;if(o(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(se,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(o(Object(e))?ae.merge(n,\"string\"==typeof e?[e]:e):Z.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ee.call(t,e,n)},merge:function(e,t){for(var n=+t.length,o=0,r=e.length;o<n;o++)e[r++]=t[o];return e.length=r,e},grep:function(e,t,n){for(var o=[],r=0,i=e.length,l=!n;r<i;r++)!t(e[r],r)!==l&&o.push(e[r]);return o},map:function(e,t,n){var r,i,l=0,a=[];if(o(e))for(r=e.length;l<r;l++)null!=(i=t(e[l],l,n))&&a.push(i);else for(l in e)null!=(i=t(e[l],l,n))&&a.push(i);return J.apply([],a)},guid:1,proxy:function(e,t){var n,o,r;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),ae.isFunction(e))return o=Q.call(arguments,2),r=function(){return e.apply(t||this,o.concat(Q.call(arguments)))},r.guid=e.guid=e.guid||ae.guid++,r},now:Date.now,support:le}),\"function\"==typeof Symbol&&(ae.fn[Symbol.iterator]=K[Symbol.iterator]),ae.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){te[\"[object \"+t+\"]\"]=t.toLowerCase()});var pe=/*!\n",
       "       * Sizzle CSS Selector Engine v2.3.3\n",
       "       * https://sizzlejs.com/\n",
       "       *\n",
       "       * Copyright jQuery Foundation and other contributors\n",
       "       * Released under the MIT license\n",
       "       * http://jquery.org/license\n",
       "       *\n",
       "       * Date: 2016-08-08\n",
       "       */\n",
       "      function(e){function t(e,t,n,o){var r,i,l,a,s,u,c,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!o&&((t?t.ownerDocument||t:W)!==A&&N(t),t=t||A,H)){if(11!==h&&(s=ge.exec(e)))if(r=s[1]){if(9===h){if(!(l=t.getElementById(r)))return n;if(l.id===r)return n.push(l),n}else if(p&&(l=p.getElementById(r))&&_(t,l)&&l.id===r)return n.push(l),n}else{if(s[2])return Y.apply(n,t.getElementsByTagName(e)),n;if((r=s[3])&&C.getElementsByClassName&&t.getElementsByClassName)return Y.apply(n,t.getElementsByClassName(r)),n}if(C.qsa&&!O[e+\" \"]&&(!L||!L.test(e))){if(1!==h)p=t,c=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((a=t.getAttribute(\"id\"))?a=a.replace(ye,Ce):t.setAttribute(\"id\",a=M),u=S(e),i=u.length;i--;)u[i]=\"#\"+a+\" \"+f(u[i]);c=u.join(\",\"),p=me.test(e)&&d(t.parentNode)||t}if(c)try{return Y.apply(n,p.querySelectorAll(c)),n}catch(e){}finally{a===M&&t.removeAttribute(\"id\")}}}return k(e.replace(ie,\"$1\"),t,n,o)}function n(){function e(n,o){return t.push(n+\" \")>b.cacheLength&&delete e[t.shift()],e[n+\" \"]=o}var t=[];return e}function o(e){return e[M]=!0,e}function r(e){var t=A.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split(\"|\"),o=n.length;o--;)b.attrHandle[n[o]]=t}function l(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 a(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function s(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function u(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&xe(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function c(e){return o(function(t){return t=+t,o(function(n,o){for(var r,i=e([],n.length,t),l=i.length;l--;)n[r=i[l]]&&(n[r]=!(o[r]=n[r]))})})}function d(e){return e&&void 0!==e.getElementsByTagName&&e}function p(){}function f(e){for(var t=0,n=e.length,o=\"\";t<n;t++)o+=e[t].value;return o}function h(e,t,n){var o=t.dir,r=t.next,i=r||o,l=n&&\"parentNode\"===i,a=V++;return t.first?function(t,n,r){for(;t=t[o];)if(1===t.nodeType||l)return e(t,n,r);return!1}:function(t,n,s){var u,c,d,p=[j,a];if(s){for(;t=t[o];)if((1===t.nodeType||l)&&e(t,n,s))return!0}else for(;t=t[o];)if(1===t.nodeType||l)if(d=t[M]||(t[M]={}),c=d[t.uniqueID]||(d[t.uniqueID]={}),r&&r===t.nodeName.toLowerCase())t=t[o]||t;else{if((u=c[i])&&u[0]===j&&u[1]===a)return p[2]=u[2];if(c[i]=p,p[2]=e(t,n,s))return!0}return!1}}function g(e){return e.length>1?function(t,n,o){for(var r=e.length;r--;)if(!e[r](t,n,o))return!1;return!0}:e[0]}function m(e,t,n,o,r){for(var i,l=[],a=0,s=e.length,u=null!=t;a<s;a++)(i=e[a])&&(n&&!n(i,o,r)||(l.push(i),u&&t.push(a)));return l}function v(e,n,r,i,l,a){return i&&!i[M]&&(i=v(i)),l&&!l[M]&&(l=v(l,a)),o(function(o,a,s,u){var c,d,p,f=[],h=[],g=a.length,v=o||function(e,n,o){for(var r=0,i=n.length;r<i;r++)t(e,n[r],o);return o}(n||\"*\",s.nodeType?[s]:s,[]),w=!e||!o&&n?v:m(v,f,e,s,u),y=r?l||(o?e:g||i)?[]:a:w;if(r&&r(w,y,s,u),i)for(c=m(y,h),i(c,[],s,u),d=c.length;d--;)(p=c[d])&&(y[h[d]]=!(w[h[d]]=p));if(o){if(l||e){if(l){for(c=[],d=y.length;d--;)(p=y[d])&&c.push(w[d]=p);l(null,y=[],c,u)}for(d=y.length;d--;)(p=y[d])&&(c=l?J(o,p):f[d])>-1&&(o[c]=!(a[c]=p))}}else y=m(y===a?y.splice(g,y.length):y),l?l(null,a,y,u):Y.apply(a,y)})}function w(e){for(var t,n,o,r=e.length,i=b.relative[e[0].type],l=i||b.relative[\" \"],a=i?1:0,s=h(function(e){return e===t},l,!0),u=h(function(e){return J(t,e)>-1},l,!0),c=[function(e,n,o){var r=!i&&(o||n!==T)||((t=n).nodeType?s(e,n,o):u(e,n,o));return t=null,r}];a<r;a++)if(n=b.relative[e[a].type])c=[h(g(c),n)];else{if((n=b.filter[e[a].type].apply(null,e[a].matches))[M]){for(o=++a;o<r&&!b.relative[e[o].type];o++);return v(a>1&&g(c),a>1&&f(e.slice(0,a-1).concat({value:\" \"===e[a-2].type?\"*\":\"\"})).replace(ie,\"$1\"),n,a<o&&w(e.slice(a,o)),o<r&&w(e=e.slice(o)),o<r&&f(e))}c.push(n)}return g(c)}var y,C,b,x,R,S,E,k,T,P,D,N,A,$,H,L,F,I,_,M=\"sizzle\"+1*new Date,W=e.document,j=0,V=0,B=n(),q=n(),O=n(),z=function(e,t){return e===t&&(D=!0),0},X={}.hasOwnProperty,U=[],K=U.pop,G=U.push,Y=U.push,Q=U.slice,J=function(e,t){for(var n=0,o=e.length;n<o;n++)if(e[n]===t)return n;return-1},Z=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",ee=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",te=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",ne=\"\\\\[\"+ee+\"*(\"+te+\")(?:\"+ee+\"*([*^$|!~]?=)\"+ee+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+te+\"))|)\"+ee+\"*\\\\]\",oe=\":(\"+te+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+ne+\")*)|.*)\\\\)|)\",re=new RegExp(ee+\"+\",\"g\"),ie=new RegExp(\"^\"+ee+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ee+\"+$\",\"g\"),le=new RegExp(\"^\"+ee+\"*,\"+ee+\"*\"),ae=new RegExp(\"^\"+ee+\"*([>+~]|\"+ee+\")\"+ee+\"*\"),se=new RegExp(\"=\"+ee+\"*([^\\\\]'\\\"]*?)\"+ee+\"*\\\\]\",\"g\"),ue=new RegExp(oe),ce=new RegExp(\"^\"+te+\"$\"),de={ID:new RegExp(\"^#(\"+te+\")\"),CLASS:new RegExp(\"^\\\\.(\"+te+\")\"),TAG:new RegExp(\"^(\"+te+\"|[*])\"),ATTR:new RegExp(\"^\"+ne),PSEUDO:new RegExp(\"^\"+oe),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ee+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ee+\"*(?:([+-]|)\"+ee+\"*(\\\\d+)|))\"+ee+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+Z+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ee+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ee+\"*((?:-\\\\d)?\\\\d*)\"+ee+\"*\\\\)|)(?=[^-]|$)\",\"i\")},pe=/^(?:input|select|textarea|button)$/i,fe=/^h\\d$/i,he=/^[^{]+\\{\\s*\\[native \\w/,ge=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,me=/[+~]/,ve=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ee+\"?|(\"+ee+\")|.)\",\"ig\"),we=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)},ye=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,Ce=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},be=function(){N()},xe=h(function(e){return!0===e.disabled&&(\"form\"in e||\"label\"in e)},{dir:\"parentNode\",next:\"legend\"});try{Y.apply(U=Q.call(W.childNodes),W.childNodes),U[W.childNodes.length].nodeType}catch(e){Y={apply:U.length?function(e,t){G.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}C=t.support={},R=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},N=t.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:W;return o!==A&&9===o.nodeType&&o.documentElement?(A=o,$=A.documentElement,H=!R(A),W!==A&&(n=A.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",be,!1):n.attachEvent&&n.attachEvent(\"onunload\",be)),C.attributes=r(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),C.getElementsByTagName=r(function(e){return e.appendChild(A.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),C.getElementsByClassName=he.test(A.getElementsByClassName),C.getById=r(function(e){return $.appendChild(e).id=M,!A.getElementsByName||!A.getElementsByName(M).length}),C.getById?(b.filter.ID=function(e){var t=e.replace(ve,we);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&H){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var t=e.replace(ve,we);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&H){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[]}}),b.find.TAG=C.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):C.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},b.find.CLASS=C.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&H)return t.getElementsByClassName(e)},F=[],L=[],(C.qsa=he.test(A.querySelectorAll))&&(r(function(e){$.appendChild(e).innerHTML=\"<a id='\"+M+\"'></a><select id='\"+M+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&L.push(\"[*^$]=\"+ee+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||L.push(\"\\\\[\"+ee+\"*(?:value|\"+Z+\")\"),e.querySelectorAll(\"[id~=\"+M+\"-]\").length||L.push(\"~=\"),e.querySelectorAll(\":checked\").length||L.push(\":checked\"),e.querySelectorAll(\"a#\"+M+\"+*\").length||L.push(\".#.+[+~]\")}),r(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=A.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&L.push(\"name\"+ee+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&L.push(\":enabled\",\":disabled\"),$.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&L.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),L.push(\",.*:\")})),(C.matchesSelector=he.test(I=$.matches||$.webkitMatchesSelector||$.mozMatchesSelector||$.oMatchesSelector||$.msMatchesSelector))&&r(function(e){C.disconnectedMatch=I.call(e,\"*\"),I.call(e,\"[s!='']:x\"),F.push(\"!=\",oe)}),L=L.length&&new RegExp(L.join(\"|\")),F=F.length&&new RegExp(F.join(\"|\")),t=he.test($.compareDocumentPosition),_=t||he.test($.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},z=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===A||e.ownerDocument===W&&_(W,e)?-1:t===A||t.ownerDocument===W&&_(W,t)?1:P?J(P,e)-J(P,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!r||!i)return e===A?-1:t===A?1:r?-1:i?1:P?J(P,e)-J(P,t):0;if(r===i)return l(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[o]===s[o];)o++;return o?l(a[o],s[o]):a[o]===W?-1:s[o]===W?1:0},A):A},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==A&&N(e),n=n.replace(se,\"='$1']\"),C.matchesSelector&&H&&!O[n+\" \"]&&(!F||!F.test(n))&&(!L||!L.test(n)))try{var o=I.call(e,n);if(o||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return o}catch(e){}return t(n,A,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==A&&N(e),_(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==A&&N(e);var n=b.attrHandle[t.toLowerCase()],o=n&&X.call(b.attrHandle,t.toLowerCase())?n(e,t,!H):void 0;return void 0!==o?o:C.attributes||!H?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},t.escape=function(e){return(e+\"\").replace(ye,Ce)},t.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},t.uniqueSort=function(e){var t,n=[],o=0,r=0;if(D=!C.detectDuplicates,P=!C.sortStable&&e.slice(0),e.sort(z),D){for(;t=e[r++];)t===e[r]&&(o=n.push(r));for(;o--;)e.splice(n[o],1)}return P=null,e},x=t.getText=function(e){var t,n=\"\",o=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[o++];)n+=x(t);return n},(b=t.selectors={cacheLength:50,createPseudo:o,match:de,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ve,we),e[3]=(e[3]||e[4]||e[5]||\"\").replace(ve,we),\"~=\"===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&ue.test(n)&&(t=S(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(ve,we).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+\" \"];return t||(t=new RegExp(\"(^|\"+ee+\")\"+e+\"(\"+ee+\"|$)\"))&&B(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,n,o){return function(r){var i=t.attr(r,e);return null==i?\"!=\"===n:!n||(i+=\"\",\"=\"===n?i===o:\"!=\"===n?i!==o:\"^=\"===n?o&&0===i.indexOf(o):\"*=\"===n?o&&i.indexOf(o)>-1:\"$=\"===n?o&&i.slice(-o.length)===o:\"~=\"===n?(\" \"+i.replace(re,\" \")+\" \").indexOf(o)>-1:\"|=\"===n&&(i===o||i.slice(0,o.length+1)===o+\"-\"))}},CHILD:function(e,t,n,o,r){var i=\"nth\"!==e.slice(0,3),l=\"last\"!==e.slice(-4),a=\"of-type\"===t;return 1===o&&0===r?function(e){return!!e.parentNode}:function(t,n,s){var u,c,d,p,f,h,g=i!==l?\"nextSibling\":\"previousSibling\",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),w=!s&&!a,y=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[l?m.firstChild:m.lastChild],l&&w){for(d=(p=m)[M]||(p[M]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===j&&u[1],y=f&&u[2],p=f&&m.childNodes[f];p=++f&&p&&p[g]||(y=f=0)||h.pop();)if(1===p.nodeType&&++y&&p===t){c[e]=[j,f,y];break}}else if(w&&(d=(p=t)[M]||(p[M]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===j&&u[1],y=f),!1===y)for(;(p=++f&&p&&p[g]||(y=f=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++y||(w&&(d=p[M]||(p[M]={}),(c=d[p.uniqueID]||(d[p.uniqueID]={}))[e]=[j,y]),p!==t)););return(y-=r)===o||y%o==0&&y/o>=0}}},PSEUDO:function(e,n){var r,i=b.pseudos[e]||b.setFilters[e.toLowerCase()]||t.error(\"unsupported pseudo: \"+e);return i[M]?i(n):i.length>1?(r=[e,e,\"\",n],b.setFilters.hasOwnProperty(e.toLowerCase())?o(function(e,t){for(var o,r=i(e,n),l=r.length;l--;)o=J(e,r[l]),e[o]=!(t[o]=r[l])}):function(e){return i(e,0,r)}):i}},pseudos:{not:o(function(e){var t=[],n=[],r=E(e.replace(ie,\"$1\"));return r[M]?o(function(e,t,n,o){for(var i,l=r(e,null,o,[]),a=e.length;a--;)(i=l[a])&&(e[a]=!(t[a]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:o(function(e){return function(n){return t(e,n).length>0}}),contains:o(function(e){return e=e.replace(ve,we),function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),lang:o(function(e){return ce.test(e||\"\")||t.error(\"unsupported lang: \"+e),e=e.replace(ve,we).toLowerCase(),function(t){var n;do{if(n=H?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===$},focus:function(e){return e===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:u(!1),disabled:u(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return fe.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var o=n<0?n+t:n;--o>=0;)e.push(o);return e}),gt:c(function(e,t,n){for(var o=n<0?n+t:n;++o<t;)e.push(o);return e})}}).pseudos.nth=b.pseudos.eq;for(y in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[y]=a(y);for(y in{submit:!0,reset:!0})b.pseudos[y]=s(y);return p.prototype=b.filters=b.pseudos,b.setFilters=new p,S=t.tokenize=function(e,n){var o,r,i,l,a,s,u,c=q[e+\" \"];if(c)return n?0:c.slice(0);for(a=e,s=[],u=b.preFilter;a;){o&&!(r=le.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),o=!1,(r=ae.exec(a))&&(o=r.shift(),i.push({value:o,type:r[0].replace(ie,\" \")}),a=a.slice(o.length));for(l in b.filter)!(r=de[l].exec(a))||u[l]&&!(r=u[l](r))||(o=r.shift(),i.push({value:o,type:l,matches:r}),a=a.slice(o.length));if(!o)break}return n?a.length:a?t.error(e):q(e,s).slice(0)},E=t.compile=function(e,n){var r,i=[],l=[],a=O[e+\" \"];if(!a){for(n||(n=S(e)),r=n.length;r--;)(a=w(n[r]))[M]?i.push(a):l.push(a);(a=O(e,function(e,n){var r=n.length>0,i=e.length>0,l=function(o,l,a,s,u){var c,d,p,f=0,h=\"0\",g=o&&[],v=[],w=T,y=o||i&&b.find.TAG(\"*\",u),C=j+=null==w?1:Math.random()||.1,x=y.length;for(u&&(T=l===A||l||u);h!==x&&null!=(c=y[h]);h++){if(i&&c){for(d=0,l||c.ownerDocument===A||(N(c),a=!H);p=e[d++];)if(p(c,l||A,a)){s.push(c);break}u&&(j=C)}r&&((c=!p&&c)&&f--,o&&g.push(c))}if(f+=h,r&&h!==f){for(d=0;p=n[d++];)p(g,v,l,a);if(o){if(f>0)for(;h--;)g[h]||v[h]||(v[h]=K.call(s));v=m(v)}Y.apply(s,v),u&&!o&&v.length>0&&f+n.length>1&&t.uniqueSort(s)}return u&&(j=C,T=w),g};return r?o(l):l}(l,i))).selector=e}return a},k=t.select=function(e,t,n,o){var r,i,l,a,s,u=\"function\"==typeof e&&e,c=!o&&S(e=u.selector||e);if(n=n||[],1===c.length){if((i=c[0]=c[0].slice(0)).length>2&&\"ID\"===(l=i[0]).type&&9===t.nodeType&&H&&b.relative[i[1].type]){if(!(t=(b.find.ID(l.matches[0].replace(ve,we),t)||[])[0]))return n;u&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(r=de.needsContext.test(e)?0:i.length;r--&&(l=i[r],!b.relative[a=l.type]);)if((s=b.find[a])&&(o=s(l.matches[0].replace(ve,we),me.test(i[0].type)&&d(t.parentNode)||t))){if(i.splice(r,1),!(e=o.length&&f(i)))return Y.apply(n,o),n;break}}return(u||E(e,c))(o,t,!H,n,!t||me.test(e)&&d(t.parentNode)||t),n},C.sortStable=M.split(\"\").sort(z).join(\"\")===M,C.detectDuplicates=!!D,N(),C.sortDetached=r(function(e){return 1&e.compareDocumentPosition(A.createElement(\"fieldset\"))}),r(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||i(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),C.attributes&&r(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||i(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),r(function(e){return null==e.getAttribute(\"disabled\")})||i(Z,function(e,t,n){var o;if(!n)return!0===e[t]?t.toLowerCase():(o=e.getAttributeNode(t))&&o.specified?o.value:null}),t}(e);ae.find=pe,ae.expr=pe.selectors,ae.expr[\":\"]=ae.expr.pseudos,ae.uniqueSort=ae.unique=pe.uniqueSort,ae.text=pe.getText,ae.isXMLDoc=pe.isXML,ae.contains=pe.contains,ae.escapeSelector=pe.escape;var fe=function(e,t,n){for(var o=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&ae(e).is(n))break;o.push(e)}return o},he=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},ge=ae.expr.match.needsContext,me=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i,ve=/^.[^:#\\[\\.,]*$/;ae.filter=function(e,t,n){var o=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===o.nodeType?ae.find.matchesSelector(o,e)?[o]:[]:ae.find.matches(e,ae.grep(t,function(e){return 1===e.nodeType}))},ae.fn.extend({find:function(e){var t,n,o=this.length,r=this;if(\"string\"!=typeof e)return this.pushStack(ae(e).filter(function(){for(t=0;t<o;t++)if(ae.contains(r[t],this))return!0}));for(n=this.pushStack([]),t=0;t<o;t++)ae.find(e,r[t],n);return o>1?ae.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,\"string\"==typeof e&&ge.test(e)?ae(e):e||[],!1).length}});var we,ye=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,Ce=ae.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||we,\"string\"==typeof e){if(!(o=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:ye.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 ae?t[0]:t,ae.merge(this,ae.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:G,!0)),me.test(o[1])&&ae.isPlainObject(t))for(o in t)ae.isFunction(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(r=G.getElementById(o[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ae.isFunction(e)?void 0!==n.ready?n.ready(e):e(ae):ae.makeArray(e,this)};Ce.prototype=ae.fn,we=ae(G);var be=/^(?:parents|prev(?:Until|All))/,xe={children:!0,contents:!0,next:!0,prev:!0};ae.fn.extend({has:function(e){var t=ae(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ae.contains(this,t[e]))return!0})},closest:function(e,t){var n,o=0,r=this.length,i=[],l=\"string\"!=typeof e&&ae(e);if(!ge.test(e))for(;o<r;o++)for(n=this[o];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(l?l.index(n)>-1:1===n.nodeType&&ae.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?ae.uniqueSort(i):i)},index:function(e){return e?\"string\"==typeof e?ee.call(ae(e),this[0]):ee.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ae.uniqueSort(ae.merge(this.get(),ae(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ae.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return fe(e,\"parentNode\")},parentsUntil:function(e,t,n){return fe(e,\"parentNode\",n)},next:function(e){return l(e,\"nextSibling\")},prev:function(e){return l(e,\"previousSibling\")},nextAll:function(e){return fe(e,\"nextSibling\")},prevAll:function(e){return fe(e,\"previousSibling\")},nextUntil:function(e,t,n){return fe(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return fe(e,\"previousSibling\",n)},siblings:function(e){return he((e.parentNode||{}).firstChild,e)},children:function(e){return he(e.firstChild)},contents:function(e){return r(e,\"iframe\")?e.contentDocument:(r(e,\"template\")&&(e=e.content||e),ae.merge([],e.childNodes))}},function(e,t){ae.fn[e]=function(n,o){var r=ae.map(this,t,n);return\"Until\"!==e.slice(-5)&&(o=n),o&&\"string\"==typeof o&&(r=ae.filter(o,r)),this.length>1&&(xe[e]||ae.uniqueSort(r),be.test(e)&&r.reverse()),this.pushStack(r)}});var Re=/[^\\x20\\t\\r\\n\\f]+/g;ae.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return ae.each(e.match(Re)||[],function(e,n){t[n]=!0}),t}(e):ae.extend({},e);var t,n,o,r,i=[],l=[],a=-1,s=function(){for(r=r||e.once,o=t=!0;l.length;a=-1)for(n=l.shift();++a<i.length;)!1===i[a].apply(n[0],n[1])&&e.stopOnFalse&&(a=i.length,n=!1);e.memory||(n=!1),t=!1,r&&(i=n?[]:\"\")},u={add:function(){return i&&(n&&!t&&(a=i.length-1,l.push(n)),function t(n){ae.each(n,function(n,o){ae.isFunction(o)?e.unique&&u.has(o)||i.push(o):o&&o.length&&\"string\"!==ae.type(o)&&t(o)})}(arguments),n&&!t&&s()),this},remove:function(){return ae.each(arguments,function(e,t){for(var n;(n=ae.inArray(t,i,n))>-1;)i.splice(n,1),n<=a&&a--}),this},has:function(e){return e?ae.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return r=l=[],i=n=\"\",this},disabled:function(){return!i},lock:function(){return r=l=[],n||t||(i=n=\"\"),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],l.push(n),t||s()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!o}};return u},ae.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",ae.Callbacks(\"memory\"),ae.Callbacks(\"memory\"),2],[\"resolve\",\"done\",ae.Callbacks(\"once memory\"),ae.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",ae.Callbacks(\"once memory\"),ae.Callbacks(\"once memory\"),1,\"rejected\"]],o=\"pending\",r={state:function(){return o},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return ae.Deferred(function(t){ae.each(n,function(n,o){var r=ae.isFunction(e[o[4]])&&e[o[4]];i[o[1]](function(){var e=r&&r.apply(this,arguments);e&&ae.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[o[0]+\"With\"](this,r?[e]:arguments)})}),e=null}).promise()},then:function(t,o,r){function i(t,n,o,r){return function(){var u=this,c=arguments,d=function(){var e,d;if(!(t<l)){if((e=o.apply(u,c))===n.promise())throw new TypeError(\"Thenable self-resolution\");d=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,ae.isFunction(d)?r?d.call(e,i(l,n,a,r),i(l,n,s,r)):(l++,d.call(e,i(l,n,a,r),i(l,n,s,r),i(l,n,a,n.notifyWith))):(o!==a&&(u=void 0,c=[e]),(r||n.resolveWith)(u,c))}},p=r?d:function(){try{d()}catch(e){ae.Deferred.exceptionHook&&ae.Deferred.exceptionHook(e,p.stackTrace),t+1>=l&&(o!==s&&(u=void 0,c=[e]),n.rejectWith(u,c))}};t?p():(ae.Deferred.getStackHook&&(p.stackTrace=ae.Deferred.getStackHook()),e.setTimeout(p))}}var l=0;return ae.Deferred(function(e){n[0][3].add(i(0,e,ae.isFunction(r)?r:a,e.notifyWith)),n[1][3].add(i(0,e,ae.isFunction(t)?t:a)),n[2][3].add(i(0,e,ae.isFunction(o)?o:s))}).promise()},promise:function(e){return null!=e?ae.extend(e,r):r}},i={};return ae.each(n,function(e,t){var l=t[2],a=t[5];r[t[1]]=l.add,a&&l.add(function(){o=a},n[3-e][2].disable,n[0][2].lock),l.add(t[3].fire),i[t[0]]=function(){return i[t[0]+\"With\"](this===i?void 0:this,arguments),this},i[t[0]+\"With\"]=l.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,o=Array(n),r=Q.call(arguments),i=ae.Deferred(),l=function(e){return function(n){o[e]=this,r[e]=arguments.length>1?Q.call(arguments):n,--t||i.resolveWith(o,r)}};if(t<=1&&(u(e,i.done(l(n)).resolve,i.reject,!t),\"pending\"===i.state()||ae.isFunction(r[n]&&r[n].then)))return i.then();for(;n--;)u(r[n],l(n),i.reject);return i.promise()}});var Se=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ae.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Se.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},ae.readyException=function(t){e.setTimeout(function(){throw t})};var Ee=ae.Deferred();ae.fn.ready=function(e){return Ee.then(e).catch(function(e){ae.readyException(e)}),this},ae.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ae.readyWait:ae.isReady)||(ae.isReady=!0,!0!==e&&--ae.readyWait>0||Ee.resolveWith(G,[ae]))}}),ae.ready.then=Ee.then,\"complete\"===G.readyState||\"loading\"!==G.readyState&&!G.documentElement.doScroll?e.setTimeout(ae.ready):(G.addEventListener(\"DOMContentLoaded\",c),e.addEventListener(\"load\",c));var ke=function(e,t,n,o,r,i,l){var a=0,s=e.length,u=null==n;if(\"object\"===ae.type(n)){r=!0;for(a in n)ke(e,t,a,n[a],!0,i,l)}else if(void 0!==o&&(r=!0,ae.isFunction(o)||(l=!0),u&&(l?(t.call(e,o),t=null):(u=t,t=function(e,t,n){return u.call(ae(e),n)})),t))for(;a<s;a++)t(e[a],n,l?o:o.call(e[a],a,t(e[a],n)));return r?e:u?t.call(e):s?t(e[0],n):i},Te=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};d.uid=1,d.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Te(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var o,r=this.cache(e);if(\"string\"==typeof t)r[ae.camelCase(t)]=n;else for(o in t)r[ae.camelCase(o)]=t[o];return r},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][ae.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,o=e[this.expando];if(void 0!==o){if(void 0!==t){t=Array.isArray(t)?t.map(ae.camelCase):(t=ae.camelCase(t))in o?[t]:t.match(Re)||[],n=t.length;for(;n--;)delete o[t[n]]}(void 0===t||ae.isEmptyObject(o))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ae.isEmptyObject(t)}};var Pe=new d,De=new d,Ne=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Ae=/[A-Z]/g;ae.extend({hasData:function(e){return De.hasData(e)||Pe.hasData(e)},data:function(e,t,n){return De.access(e,t,n)},removeData:function(e,t){De.remove(e,t)},_data:function(e,t,n){return Pe.access(e,t,n)},_removeData:function(e,t){Pe.remove(e,t)}}),ae.fn.extend({data:function(e,t){var n,o,r,i=this[0],l=i&&i.attributes;if(void 0===e){if(this.length&&(r=De.get(i),1===i.nodeType&&!Pe.get(i,\"hasDataAttrs\"))){for(n=l.length;n--;)l[n]&&0===(o=l[n].name).indexOf(\"data-\")&&(o=ae.camelCase(o.slice(5)),p(i,o,r[o]));Pe.set(i,\"hasDataAttrs\",!0)}return r}return\"object\"==typeof e?this.each(function(){De.set(this,e)}):ke(this,function(t){var n;if(i&&void 0===t){if(void 0!==(n=De.get(i,e)))return n;if(void 0!==(n=p(i,e)))return n}else this.each(function(){De.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){De.remove(this,e)})}}),ae.extend({queue:function(e,t,n){var o;if(e)return t=(t||\"fx\")+\"queue\",o=Pe.get(e,t),n&&(!o||Array.isArray(n)?o=Pe.access(e,t,ae.makeArray(n)):o.push(n)),o||[]},dequeue:function(e,t){t=t||\"fx\";var n=ae.queue(e,t),o=n.length,r=n.shift(),i=ae._queueHooks(e,t),l=function(){ae.dequeue(e,t)};\"inprogress\"===r&&(r=n.shift(),o--),r&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete i.stop,r.call(e,l,i)),!o&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Pe.get(e,n)||Pe.access(e,n,{empty:ae.Callbacks(\"once memory\").add(function(){Pe.remove(e,[t+\"queue\",n])})})}}),ae.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?ae.queue(this[0],e):void 0===t?this:this.each(function(){var n=ae.queue(this,e,t);ae._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&ae.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ae.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,o=1,r=ae.Deferred(),i=this,l=this.length,a=function(){--o||r.resolveWith(i,[i])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";l--;)(n=Pe.get(i[l],e+\"queueHooks\"))&&n.empty&&(o++,n.empty.add(a));return a(),r.promise(t)}});var $e=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,He=new RegExp(\"^(?:([+-])=|)(\"+$e+\")([a-z%]*)$\",\"i\"),Le=[\"Top\",\"Right\",\"Bottom\",\"Left\"],Fe=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&ae.contains(e.ownerDocument,e)&&\"none\"===ae.css(e,\"display\")},Ie=function(e,t,n,o){var r,i,l={};for(i in t)l[i]=e.style[i],e.style[i]=t[i];r=n.apply(e,o||[]);for(i in t)e.style[i]=l[i];return r},_e={};ae.fn.extend({show:function(){return g(this,!0)},hide:function(){return g(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){Fe(this)?ae(this).show():ae(this).hide()})}});var Me=/^(?:checkbox|radio)$/i,We=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,je=/^$|\\/(?:java|ecma)script/i,Ve={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Be=/<|&#?\\w+;/;!function(){var e=G.createDocumentFragment(),t=e.appendChild(G.createElement(\"div\")),n=G.createElement(\"input\");n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),t.appendChild(n),le.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML=\"<textarea>x</textarea>\",le.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var qe=G.documentElement,Oe=/^key/,ze=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xe=/^([^.]*)(?:\\.(.+)|)/;ae.event={global:{},add:function(e,t,n,o,r){var i,l,a,s,u,c,d,p,f,h,g,m=Pe.get(e);if(m)for(n.handler&&(n=(i=n).handler,r=i.selector),r&&ae.find.matchesSelector(qe,r),n.guid||(n.guid=ae.guid++),(s=m.events)||(s=m.events={}),(l=m.handle)||(l=m.handle=function(t){return void 0!==ae&&ae.event.triggered!==t.type?ae.event.dispatch.apply(e,arguments):void 0}),t=(t||\"\").match(Re)||[\"\"],u=t.length;u--;)a=Xe.exec(t[u])||[],f=g=a[1],h=(a[2]||\"\").split(\".\").sort(),f&&(d=ae.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=ae.event.special[f]||{},c=ae.extend({type:f,origType:g,data:o,handler:n,guid:n.guid,selector:r,needsContext:r&&ae.expr.match.needsContext.test(r),namespace:h.join(\".\")},i),(p=s[f])||((p=s[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,o,h,l)||e.addEventListener&&e.addEventListener(f,l)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,c):p.push(c),ae.event.global[f]=!0)},remove:function(e,t,n,o,r){var i,l,a,s,u,c,d,p,f,h,g,m=Pe.hasData(e)&&Pe.get(e);if(m&&(s=m.events)){for(t=(t||\"\").match(Re)||[\"\"],u=t.length;u--;)if(a=Xe.exec(t[u])||[],f=g=a[1],h=(a[2]||\"\").split(\".\").sort(),f){for(d=ae.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,p=s[f]||[],a=a[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),l=i=p.length;i--;)c=p[i],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||o&&o!==c.selector&&(\"**\"!==o||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,d.remove&&d.remove.call(e,c));l&&!p.length&&(d.teardown&&!1!==d.teardown.call(e,h,m.handle)||ae.removeEvent(e,f,m.handle),delete s[f])}else for(f in s)ae.event.remove(e,f+t[u],n,o,!0);ae.isEmptyObject(s)&&Pe.remove(e,\"handle events\")}},dispatch:function(e){var t,n,o,r,i,l,a=ae.event.fix(e),s=new Array(arguments.length),u=(Pe.get(this,\"events\")||{})[a.type]||[],c=ae.event.special[a.type]||{};for(s[0]=a,t=1;t<arguments.length;t++)s[t]=arguments[t];if(a.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,a)){for(l=ae.event.handlers.call(this,a,u),t=0;(r=l[t++])&&!a.isPropagationStopped();)for(a.currentTarget=r.elem,n=0;(i=r.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,void 0!==(o=((ae.event.special[i.origType]||{}).handle||i.handler).apply(r.elem,s))&&!1===(a.result=o)&&(a.preventDefault(),a.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,o,r,i,l,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&!(\"click\"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(\"click\"!==e.type||!0!==u.disabled)){for(i=[],l={},n=0;n<s;n++)o=t[n],r=o.selector+\" \",void 0===l[r]&&(l[r]=o.needsContext?ae(r,this).index(u)>-1:ae.find(r,this,null,[u]).length),l[r]&&i.push(o);i.length&&a.push({elem:u,handlers:i})}return u=this,s<t.length&&a.push({elem:u,handlers:t.slice(s)}),a},addProp:function(e,t){Object.defineProperty(ae.Event.prototype,e,{enumerable:!0,configurable:!0,get:ae.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[ae.expando]?e:new ae.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&r(this,\"input\"))return this.click(),!1},_default:function(e){return r(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ae.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ae.Event=function(e,t){if(!(this instanceof ae.Event))return new ae.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?y:C,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ae.extend(this,t),this.timeStamp=e&&e.timeStamp||ae.now(),this[ae.expando]=!0},ae.Event.prototype={constructor:ae.Event,isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=y,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=y,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=y,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ae.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Oe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&ze.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},ae.event.addProp),ae.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){ae.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,o=e.relatedTarget,r=e.handleObj;return o&&(o===this||ae.contains(this,o))||(e.type=r.origType,n=r.handler.apply(this,arguments),e.type=t),n}}}),ae.fn.extend({on:function(e,t,n,o){return x(this,e,t,n,o)},one:function(e,t,n,o){return x(this,e,t,n,o,1)},off:function(e,t,n){var o,r;if(e&&e.preventDefault&&e.handleObj)return o=e.handleObj,ae(e.delegateTarget).off(o.namespace?o.origType+\".\"+o.namespace:o.origType,o.selector,o.handler),this;if(\"object\"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=C),this.each(function(){ae.event.remove(this,e,n,t)})}});var Ue=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,Ke=/<script|<style|<link/i,Ge=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Ye=/^true\\/(.*)/,Qe=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;ae.extend({htmlPrefilter:function(e){return e.replace(Ue,\"<$1></$2>\")},clone:function(e,t,n){var o,r,i,l,a=e.cloneNode(!0),s=ae.contains(e.ownerDocument,e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ae.isXMLDoc(e)))for(l=m(a),i=m(e),o=0,r=i.length;o<r;o++)T(i[o],l[o]);if(t)if(n)for(i=i||m(e),l=l||m(a),o=0,r=i.length;o<r;o++)k(i[o],l[o]);else k(e,a);return(l=m(a,\"script\")).length>0&&v(l,!s&&m(e,\"script\")),a},cleanData:function(e){for(var t,n,o,r=ae.event.special,i=0;void 0!==(n=e[i]);i++)if(Te(n)){if(t=n[Pe.expando]){if(t.events)for(o in t.events)r[o]?ae.event.remove(n,o):ae.removeEvent(n,o,t.handle);n[Pe.expando]=void 0}n[De.expando]&&(n[De.expando]=void 0)}}}),ae.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return ke(this,function(e){return void 0===e?ae.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=R(this,e);t.appendChild(e)}})},prepend:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=R(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ae.cleanData(m(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ae.clone(this,e,t)})},html:function(e){return ke(this,function(e){var t=this[0]||{},n=0,o=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ke.test(e)&&!Ve[(We.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=ae.htmlPrefilter(e);try{for(;n<o;n++)1===(t=this[n]||{}).nodeType&&(ae.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return P(this,arguments,function(t){var n=this.parentNode;ae.inArray(this,e)<0&&(ae.cleanData(m(this)),n&&n.replaceChild(t,this))},e)}}),ae.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){ae.fn[e]=function(e){for(var n,o=[],r=ae(e),i=r.length-1,l=0;l<=i;l++)n=l===i?this:this.clone(!0),ae(r[l])[t](n),Z.apply(o,n.get());return this.pushStack(o)}});var Je=/^margin/,Ze=new RegExp(\"^(\"+$e+\")(?!px)[a-z%]+$\",\"i\"),et=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText=\"box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",a.innerHTML=\"\",qe.appendChild(l);var t=e.getComputedStyle(a);n=\"1%\"!==t.top,i=\"2px\"===t.marginLeft,o=\"4px\"===t.width,a.style.marginRight=\"50%\",r=\"4px\"===t.marginRight,qe.removeChild(l),a=null}}var n,o,r,i,l=G.createElement(\"div\"),a=G.createElement(\"div\");a.style&&(a.style.backgroundClip=\"content-box\",a.cloneNode(!0).style.backgroundClip=\"\",le.clearCloneStyle=\"content-box\"===a.style.backgroundClip,l.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",l.appendChild(a),ae.extend(le,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),o},pixelMarginRight:function(){return t(),r},reliableMarginLeft:function(){return t(),i}}))}();var tt=/^(none|table(?!-c[ea]).+)/,nt=/^--/,ot={position:\"absolute\",visibility:\"hidden\",display:\"block\"},rt={letterSpacing:\"0\",fontWeight:\"400\"},it=[\"Webkit\",\"Moz\",\"ms\"],lt=G.createElement(\"div\").style;ae.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=N(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:\"cssFloat\"},style:function(e,t,n,o){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,i,l,a=ae.camelCase(t),s=nt.test(t),u=e.style;if(s||(t=$(a)),l=ae.cssHooks[t]||ae.cssHooks[a],void 0===n)return l&&\"get\"in l&&void 0!==(r=l.get(e,!1,o))?r:u[t];\"string\"==(i=typeof n)&&(r=He.exec(n))&&r[1]&&(n=f(e,t,r),i=\"number\"),null!=n&&n==n&&(\"number\"===i&&(n+=r&&r[3]||(ae.cssNumber[a]?\"\":\"px\")),le.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(u[t]=\"inherit\"),l&&\"set\"in l&&void 0===(n=l.set(e,n,o))||(s?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,o){var r,i,l,a=ae.camelCase(t),s=nt.test(t);return s||(t=$(a)),(l=ae.cssHooks[t]||ae.cssHooks[a])&&\"get\"in l&&(r=l.get(e,!0,n)),void 0===r&&(r=N(e,t,o)),\"normal\"===r&&t in rt&&(r=rt[t]),\"\"===n||n?(i=parseFloat(r),!0===n||isFinite(i)?i||0:r):r}}),ae.each([\"height\",\"width\"],function(e,t){ae.cssHooks[t]={get:function(e,n,o){if(n)return!tt.test(ae.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?F(e,t,o):Ie(e,ot,function(){return F(e,t,o)})},set:function(e,n,o){var r,i=o&&et(e),l=o&&L(e,t,o,\"border-box\"===ae.css(e,\"boxSizing\",!1,i),i);return l&&(r=He.exec(n))&&\"px\"!==(r[3]||\"px\")&&(e.style[t]=n,n=ae.css(e,t)),H(e,n,l)}}}),ae.cssHooks.marginLeft=A(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(N(e,\"marginLeft\"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),ae.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){ae.cssHooks[e+t]={expand:function(n){for(var o=0,r={},i=\"string\"==typeof n?n.split(\" \"):[n];o<4;o++)r[e+Le[o]+t]=i[o]||i[o-2]||i[0];return r}},Je.test(e)||(ae.cssHooks[e+t].set=H)}),ae.fn.extend({css:function(e,t){return ke(this,function(e,t,n){var o,r,i={},l=0;if(Array.isArray(t)){for(o=et(e),r=t.length;l<r;l++)i[t[l]]=ae.css(e,t[l],!1,o);return i}return void 0!==n?ae.style(e,t,n):ae.css(e,t)},e,t,arguments.length>1)}}),ae.Tween=I,(I.prototype={constructor:I,init:function(e,t,n,o,r,i){this.elem=e,this.prop=n,this.easing=r||ae.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=o,this.unit=i||(ae.cssNumber[n]?\"\":\"px\")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=ae.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}}).init.prototype=I.prototype,(I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ae.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){ae.fx.step[e.prop]?ae.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ae.cssProps[e.prop]]&&!ae.cssHooks[e.prop]?e.elem[e.prop]=e.now:ae.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ae.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},ae.fx=I.prototype.init,ae.fx.step={};var at,st,ut=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;ae.Animation=ae.extend(V,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return f(n.elem,e,He.exec(t),n),n}]},tweener:function(e,t){ae.isFunction(e)?(t=e,e=[\"*\"]):e=e.match(Re);for(var n,o=0,r=e.length;o<r;o++)n=e[o],V.tweeners[n]=V.tweeners[n]||[],V.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var o,r,i,l,a,s,u,c,d=\"width\"in t||\"height\"in t,p=this,f={},h=e.style,m=e.nodeType&&Fe(e),v=Pe.get(e,\"fxshow\");n.queue||(null==(l=ae._queueHooks(e,\"fx\")).unqueued&&(l.unqueued=0,a=l.empty.fire,l.empty.fire=function(){l.unqueued||a()}),l.unqueued++,p.always(function(){p.always(function(){l.unqueued--,ae.queue(e,\"fx\").length||l.empty.fire()})}));for(o in t)if(r=t[o],ut.test(r)){if(delete t[o],i=i||\"toggle\"===r,r===(m?\"hide\":\"show\")){if(\"show\"!==r||!v||void 0===v[o])continue;m=!0}f[o]=v&&v[o]||ae.style(e,o)}if(!(s=!ae.isEmptyObject(t))&&ae.isEmptyObject(f))return;d&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(u=v&&v.display)&&(u=Pe.get(e,\"display\")),\"none\"===(c=ae.css(e,\"display\"))&&(u?c=u:(g([e],!0),u=e.style.display||u,c=ae.css(e,\"display\"),g([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=u)&&\"none\"===ae.css(e,\"float\")&&(s||(p.done(function(){h.display=u}),null==u&&(c=h.display,u=\"none\"===c?\"\":c)),h.display=\"inline-block\"));n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}));s=!1;for(o in f)s||(v?\"hidden\"in v&&(m=v.hidden):v=Pe.access(e,\"fxshow\",{display:u}),i&&(v.hidden=!m),m&&g([e],!0),p.done(function(){m||g([e]),Pe.remove(e,\"fxshow\");for(o in f)ae.style(e,o,f[o])})),s=j(m?v[o]:0,o,p),o in v||(v[o]=s.start,m&&(s.end=s.start,s.start=0))}],prefilter:function(e,t){t?V.prefilters.unshift(e):V.prefilters.push(e)}}),ae.speed=function(e,t,n){var o=e&&\"object\"==typeof e?ae.extend({},e):{complete:n||!n&&t||ae.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ae.isFunction(t)&&t};return ae.fx.off?o.duration=0:\"number\"!=typeof o.duration&&(o.duration in ae.fx.speeds?o.duration=ae.fx.speeds[o.duration]:o.duration=ae.fx.speeds._default),null!=o.queue&&!0!==o.queue||(o.queue=\"fx\"),o.old=o.complete,o.complete=function(){ae.isFunction(o.old)&&o.old.call(this),o.queue&&ae.dequeue(this,o.queue)},o},ae.fn.extend({fadeTo:function(e,t,n,o){return this.filter(Fe).css(\"opacity\",0).show().end().animate({opacity:t},e,n,o)},animate:function(e,t,n,o){var r=ae.isEmptyObject(e),i=ae.speed(t,n,o),l=function(){var t=V(this,ae.extend({},e),i);(r||Pe.get(this,\"finish\"))&&t.stop(!0)};return l.finish=l,r||!1===i.queue?this.each(l):this.queue(i.queue,l)},stop:function(e,t,n){var o=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,r=null!=e&&e+\"queueHooks\",i=ae.timers,l=Pe.get(this);if(r)l[r]&&l[r].stop&&o(l[r]);else for(r in l)l[r]&&l[r].stop&&ct.test(r)&&o(l[r]);for(r=i.length;r--;)i[r].elem!==this||null!=e&&i[r].queue!==e||(i[r].anim.stop(n),t=!1,i.splice(r,1));!t&&n||ae.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||\"fx\"),this.each(function(){var t,n=Pe.get(this),o=n[e+\"queue\"],r=n[e+\"queueHooks\"],i=ae.timers,l=o?o.length:0;for(n.finish=!0,ae.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<l;t++)o[t]&&o[t].finish&&o[t].finish.call(this);delete n.finish})}}),ae.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=ae.fn[t];ae.fn[t]=function(e,o,r){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(W(t,!0),e,o,r)}}),ae.each({slideDown:W(\"show\"),slideUp:W(\"hide\"),slideToggle:W(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){ae.fn[e]=function(e,n,o){return this.animate(t,e,n,o)}}),ae.timers=[],ae.fx.tick=function(){var e,t=0,n=ae.timers;for(at=ae.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ae.fx.stop(),at=void 0},ae.fx.timer=function(e){ae.timers.push(e),ae.fx.start()},ae.fx.interval=13,ae.fx.start=function(){st||(st=!0,_())},ae.fx.stop=function(){st=null},ae.fx.speeds={slow:600,fast:200,_default:400},ae.fn.delay=function(t,n){return t=ae.fx?ae.fx.speeds[t]||t:t,n=n||\"fx\",this.queue(n,function(n,o){var r=e.setTimeout(n,t);o.stop=function(){e.clearTimeout(r)}})},function(){var e=G.createElement(\"input\"),t=G.createElement(\"select\"),n=t.appendChild(G.createElement(\"option\"));e.type=\"checkbox\",le.checkOn=\"\"!==e.value,le.optSelected=n.selected,(e=G.createElement(\"input\")).value=\"t\",e.type=\"radio\",le.radioValue=\"t\"===e.value}();var dt,pt=ae.expr.attrHandle;ae.fn.extend({attr:function(e,t){return ke(this,ae.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ae.removeAttr(this,e)})}}),ae.extend({attr:function(e,t,n){var o,r,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?ae.prop(e,t,n):(1===i&&ae.isXMLDoc(e)||(r=ae.attrHooks[t.toLowerCase()]||(ae.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void ae.removeAttr(e,t):r&&\"set\"in r&&void 0!==(o=r.set(e,n,t))?o:(e.setAttribute(t,n+\"\"),n):r&&\"get\"in r&&null!==(o=r.get(e,t))?o:null==(o=ae.find.attr(e,t))?void 0:o)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&\"radio\"===t&&r(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,o=0,r=t&&t.match(Re);if(r&&1===e.nodeType)for(;n=r[o++];)e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?ae.removeAttr(e,n):e.setAttribute(n,n),n}},ae.each(ae.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=pt[t]||ae.find.attr;pt[t]=function(e,t,o){var r,i,l=t.toLowerCase();return o||(i=pt[l],pt[l]=r,r=null!=n(e,t,o)?l:null,pt[l]=i),r}});var ft=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;ae.fn.extend({prop:function(e,t){return ke(this,ae.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ae.propFix[e]||e]})}}),ae.extend({prop:function(e,t,n){var o,r,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&ae.isXMLDoc(e)||(t=ae.propFix[t]||t,r=ae.propHooks[t]),void 0!==n?r&&\"set\"in r&&void 0!==(o=r.set(e,n,t))?o:e[t]=n:r&&\"get\"in r&&null!==(o=r.get(e,t))?o:e[t]},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,\"tabindex\");return t?parseInt(t,10):ft.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),le.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ae.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){ae.propFix[this.toLowerCase()]=this}),ae.fn.extend({addClass:function(e){var t,n,o,r,i,l,a,s=0;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,q(this)))});if(\"string\"==typeof e&&e)for(t=e.match(Re)||[];n=this[s++];)if(r=q(n),o=1===n.nodeType&&\" \"+B(r)+\" \"){for(l=0;i=t[l++];)o.indexOf(\" \"+i+\" \")<0&&(o+=i+\" \");a=B(o),r!==a&&n.setAttribute(\"class\",a)}return this},removeClass:function(e){var t,n,o,r,i,l,a,s=0;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,q(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof e&&e)for(t=e.match(Re)||[];n=this[s++];)if(r=q(n),o=1===n.nodeType&&\" \"+B(r)+\" \"){for(l=0;i=t[l++];)for(;o.indexOf(\" \"+i+\" \")>-1;)o=o.replace(\" \"+i+\" \",\" \");a=B(o),r!==a&&n.setAttribute(\"class\",a)}return this},toggleClass:function(e,t){var n=typeof e;return\"boolean\"==typeof t&&\"string\"===n?t?this.addClass(e):this.removeClass(e):ae.isFunction(e)?this.each(function(n){ae(this).toggleClass(e.call(this,n,q(this),t),t)}):this.each(function(){var t,o,r,i;if(\"string\"===n)for(o=0,r=ae(this),i=e.match(Re)||[];t=i[o++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=q(this))&&Pe.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":Pe.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,o=0;for(t=\" \"+e+\" \";n=this[o++];)if(1===n.nodeType&&(\" \"+B(q(n))+\" \").indexOf(t)>-1)return!0;return!1}});var gt=/\\r/g;ae.fn.extend({val:function(e){var t,n,o,r=this[0];if(arguments.length)return o=ae.isFunction(e),this.each(function(n){var r;1===this.nodeType&&(null==(r=o?e.call(this,n,ae(this).val()):e)?r=\"\":\"number\"==typeof r?r+=\"\":Array.isArray(r)&&(r=ae.map(r,function(e){return null==e?\"\":e+\"\"})),(t=ae.valHooks[this.type]||ae.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,r,\"value\")||(this.value=r))});if(r)return(t=ae.valHooks[r.type]||ae.valHooks[r.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(r,\"value\"))?n:\"string\"==typeof(n=r.value)?n.replace(gt,\"\"):null==n?\"\":n}}),ae.extend({valHooks:{option:{get:function(e){var t=ae.find.attr(e,\"value\");return null!=t?t:B(ae.text(e))}},select:{get:function(e){var t,n,o,i=e.options,l=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?l+1:i.length;for(o=l<0?u:a?l:0;o<u;o++)if(((n=i[o]).selected||o===l)&&!n.disabled&&(!n.parentNode.disabled||!r(n.parentNode,\"optgroup\"))){if(t=ae(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,o,r=e.options,i=ae.makeArray(t),l=r.length;l--;)((o=r[l]).selected=ae.inArray(ae.valHooks.option.get(o),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),ae.each([\"radio\",\"checkbox\"],function(){ae.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=ae.inArray(ae(e).val(),t)>-1}},le.checkOn||(ae.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var mt=/^(?:focusinfocus|focusoutblur)$/;ae.extend(ae.event,{trigger:function(t,n,o,r){var i,l,a,s,u,c,d,p=[o||G],f=oe.call(t,\"type\")?t.type:t,h=oe.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(l=a=o=o||G,3!==o.nodeType&&8!==o.nodeType&&!mt.test(f+ae.event.triggered)&&(f.indexOf(\".\")>-1&&(h=f.split(\".\"),f=h.shift(),h.sort()),u=f.indexOf(\":\")<0&&\"on\"+f,t=t[ae.expando]?t:new ae.Event(f,\"object\"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=h.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=o),n=null==n?[t]:ae.makeArray(n,[t]),d=ae.event.special[f]||{},r||!d.trigger||!1!==d.trigger.apply(o,n))){if(!r&&!d.noBubble&&!ae.isWindow(o)){for(s=d.delegateType||f,mt.test(s+f)||(l=l.parentNode);l;l=l.parentNode)p.push(l),a=l;a===(o.ownerDocument||G)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(l=p[i++])&&!t.isPropagationStopped();)t.type=i>1?s:d.bindType||f,(c=(Pe.get(l,\"events\")||{})[t.type]&&Pe.get(l,\"handle\"))&&c.apply(l,n),(c=u&&l[u])&&c.apply&&Te(l)&&(t.result=c.apply(l,n),!1===t.result&&t.preventDefault());return t.type=f,r||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(p.pop(),n)||!Te(o)||u&&ae.isFunction(o[f])&&!ae.isWindow(o)&&((a=o[u])&&(o[u]=null),ae.event.triggered=f,o[f](),ae.event.triggered=void 0,a&&(o[u]=a)),t.result}},simulate:function(e,t,n){var o=ae.extend(new ae.Event,n,{type:e,isSimulated:!0});ae.event.trigger(o,null,t)}}),ae.fn.extend({trigger:function(e,t){return this.each(function(){ae.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ae.event.trigger(e,t,n,!0)}}),ae.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),le.focusin=\"onfocusin\"in e,le.focusin||ae.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){ae.event.simulate(t,e.target,ae.event.fix(e))};ae.event.special[t]={setup:function(){var o=this.ownerDocument||this,r=Pe.access(o,t);r||o.addEventListener(e,n,!0),Pe.access(o,t,(r||0)+1)},teardown:function(){var o=this.ownerDocument||this,r=Pe.access(o,t)-1;r?Pe.access(o,t,r):(o.removeEventListener(e,n,!0),Pe.remove(o,t))}}});var vt=e.location,wt=ae.now(),yt=/\\?/;ae.parseXML=function(t){var n;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){n=void 0}return n&&!n.getElementsByTagName(\"parsererror\").length||ae.error(\"Invalid XML: \"+t),n};var Ct=/\\[\\]$/,bt=/\\r?\\n/g,xt=/^(?:submit|button|image|reset|file)$/i,Rt=/^(?:input|select|textarea|keygen)/i;ae.param=function(e,t){var n,o=[],r=function(e,t){var n=ae.isFunction(t)?t():t;o[o.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(Array.isArray(e)||e.jquery&&!ae.isPlainObject(e))ae.each(e,function(){r(this.name,this.value)});else for(n in e)O(n,e[n],t,r);return o.join(\"&\")},ae.fn.extend({serialize:function(){return ae.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ae.prop(this,\"elements\");return e?ae.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ae(this).is(\":disabled\")&&Rt.test(this.nodeName)&&!xt.test(e)&&(this.checked||!Me.test(e))}).map(function(e,t){var n=ae(this).val();return null==n?null:Array.isArray(n)?ae.map(n,function(e){return{name:t.name,value:e.replace(bt,\"\\r\\n\")}}):{name:t.name,value:n.replace(bt,\"\\r\\n\")}}).get()}});var St=/%20/g,Et=/#.*$/,kt=/([?&])_=[^&]*/,Tt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Pt=/^(?:GET|HEAD)$/,Dt=/^\\/\\//,Nt={},At={},$t=\"*/\".concat(\"*\"),Ht=G.createElement(\"a\");Ht.href=vt.href,ae.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(vt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":$t,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":ae.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?U(U(e,ae.ajaxSettings),t):U(ae.ajaxSettings,e)},ajaxPrefilter:z(Nt),ajaxTransport:z(At),ajax:function(t,n){function o(t,n,o,a){var u,p,f,C,b,x=n;c||(c=!0,s&&e.clearTimeout(s),r=void 0,l=a||\"\",R.readyState=t>0?4:0,u=t>=200&&t<300||304===t,o&&(C=function(e,t,n){var o,r,i,l,a=e.contents,s=e.dataTypes;for(;\"*\"===s[0];)s.shift(),void 0===o&&(o=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(o)for(r in a)if(a[r]&&a[r].test(o)){s.unshift(r);break}if(s[0]in n)i=s[0];else{for(r in n){if(!s[0]||e.converters[r+\" \"+s[0]]){i=r;break}l||(l=r)}i=i||l}if(i)return i!==s[0]&&s.unshift(i),n[i]}(h,R,o)),C=function(e,t,n,o){var r,i,l,a,s,u={},c=e.dataTypes.slice();if(c[1])for(l in e.converters)u[l.toLowerCase()]=e.converters[l];i=c.shift();for(;i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!s&&o&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),s=i,i=c.shift())if(\"*\"===i)i=s;else if(\"*\"!==s&&s!==i){if(!(l=u[s+\" \"+i]||u[\"* \"+i]))for(r in u)if((a=r.split(\" \"))[1]===i&&(l=u[s+\" \"+a[0]]||u[\"* \"+a[0]])){!0===l?l=u[r]:!0!==u[r]&&(i=a[0],c.unshift(a[1]));break}if(!0!==l)if(l&&e.throws)t=l(t);else try{t=l(t)}catch(e){return{state:\"parsererror\",error:l?e:\"No conversion from \"+s+\" to \"+i}}}return{state:\"success\",data:t}}(h,C,R,u),u?(h.ifModified&&((b=R.getResponseHeader(\"Last-Modified\"))&&(ae.lastModified[i]=b),(b=R.getResponseHeader(\"etag\"))&&(ae.etag[i]=b)),204===t||\"HEAD\"===h.type?x=\"nocontent\":304===t?x=\"notmodified\":(x=C.state,p=C.data,f=C.error,u=!f)):(f=x,!t&&x||(x=\"error\",t<0&&(t=0))),R.status=t,R.statusText=(n||x)+\"\",u?v.resolveWith(g,[p,x,R]):v.rejectWith(g,[R,x,f]),R.statusCode(y),y=void 0,d&&m.trigger(u?\"ajaxSuccess\":\"ajaxError\",[R,h,u?p:f]),w.fireWith(g,[R,x]),d&&(m.trigger(\"ajaxComplete\",[R,h]),--ae.active||ae.event.trigger(\"ajaxStop\")))}\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,l,a,s,u,c,d,p,f,h=ae.ajaxSetup({},n),g=h.context||h,m=h.context&&(g.nodeType||g.jquery)?ae(g):ae.event,v=ae.Deferred(),w=ae.Callbacks(\"once memory\"),y=h.statusCode||{},C={},b={},x=\"canceled\",R={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=Tt.exec(l);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?l:null},setRequestHeader:function(e,t){return null==c&&(e=b[e.toLowerCase()]=b[e.toLowerCase()]||e,C[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)R.always(e[R.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||x;return r&&r.abort(t),o(0,t),this}};if(v.promise(R),h.url=((t||h.url||vt.href)+\"\").replace(Dt,vt.protocol+\"//\"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||\"*\").toLowerCase().match(Re)||[\"\"],null==h.crossDomain){u=G.createElement(\"a\");try{u.href=h.url,u.href=u.href,h.crossDomain=Ht.protocol+\"//\"+Ht.host!=u.protocol+\"//\"+u.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&\"string\"!=typeof h.data&&(h.data=ae.param(h.data,h.traditional)),X(Nt,h,n,R),c)return R;(d=ae.event&&h.global)&&0==ae.active++&&ae.event.trigger(\"ajaxStart\"),h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),i=h.url.replace(Et,\"\"),h.hasContent?h.data&&h.processData&&0===(h.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(h.data=h.data.replace(St,\"+\")):(f=h.url.slice(i.length),h.data&&(i+=(yt.test(i)?\"&\":\"?\")+h.data,delete h.data),!1===h.cache&&(i=i.replace(kt,\"$1\"),f=(yt.test(i)?\"&\":\"?\")+\"_=\"+wt+++f),h.url=i+f),h.ifModified&&(ae.lastModified[i]&&R.setRequestHeader(\"If-Modified-Since\",ae.lastModified[i]),ae.etag[i]&&R.setRequestHeader(\"If-None-Match\",ae.etag[i])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&R.setRequestHeader(\"Content-Type\",h.contentType),R.setRequestHeader(\"Accept\",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+(\"*\"!==h.dataTypes[0]?\", \"+$t+\"; q=0.01\":\"\"):h.accepts[\"*\"]);for(p in h.headers)R.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,R,h)||c))return R.abort();if(x=\"abort\",w.add(h.complete),R.done(h.success),R.fail(h.error),r=X(At,h,n,R)){if(R.readyState=1,d&&m.trigger(\"ajaxSend\",[R,h]),c)return R;h.async&&h.timeout>0&&(s=e.setTimeout(function(){R.abort(\"timeout\")},h.timeout));try{c=!1,r.send(C,o)}catch(e){if(c)throw e;o(-1,e)}}else o(-1,\"No Transport\");return R},getJSON:function(e,t,n){return ae.get(e,t,n,\"json\")},getScript:function(e,t){return ae.get(e,void 0,t,\"script\")}}),ae.each([\"get\",\"post\"],function(e,t){ae[t]=function(e,n,o,r){return ae.isFunction(n)&&(r=r||o,o=n,n=void 0),ae.ajax(ae.extend({url:e,type:t,dataType:r,data:n,success:o},ae.isPlainObject(e)&&e))}}),ae._evalUrl=function(e){return ae.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,throws:!0})},ae.fn.extend({wrapAll:function(e){var t;return this[0]&&(ae.isFunction(e)&&(e=e.call(this[0])),t=ae(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return ae.isFunction(e)?this.each(function(t){ae(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ae(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ae.isFunction(e);return this.each(function(n){ae(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){ae(this).replaceWith(this.childNodes)}),this}}),ae.expr.pseudos.hidden=function(e){return!ae.expr.pseudos.visible(e)},ae.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ae.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Lt={0:200,1223:204},Ft=ae.ajaxSettings.xhr();le.cors=!!Ft&&\"withCredentials\"in Ft,le.ajax=Ft=!!Ft,ae.ajaxTransport(function(t){var n,o;if(le.cors||Ft&&!t.crossDomain)return{send:function(r,i){var l,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(l in t.xhrFields)a[l]=t.xhrFields[l];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r[\"X-Requested-With\"]||(r[\"X-Requested-With\"]=\"XMLHttpRequest\");for(l in r)a.setRequestHeader(l,r[l]);n=function(e){return function(){n&&(n=o=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,\"abort\"===e?a.abort():\"error\"===e?\"number\"!=typeof a.status?i(0,\"error\"):i(a.status,a.statusText):i(Lt[a.status]||a.status,a.statusText,\"text\"!==(a.responseType||\"text\")||\"string\"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),o=a.onerror=n(\"error\"),void 0!==a.onabort?a.onabort=o:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&o()})},n=n(\"abort\");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),ae.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ae.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return ae.globalEval(e),e}}}),ae.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),ae.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n;return{send:function(o,r){t=ae(\"<script>\").prop({charset:e.scriptCharset,src:e.url}).on(\"load error\",n=function(e){t.remove(),n=null,e&&r(\"error\"===e.type?404:200,e.type)}),G.head.appendChild(t[0])},abort:function(){n&&n()}}}});var It=[],_t=/(=)\\?(?=&|$)|\\?\\?/;ae.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=It.pop()||ae.expando+\"_\"+wt++;return this[e]=!0,e}}),ae.ajaxPrefilter(\"json jsonp\",function(t,n,o){var r,i,l,a=!1!==t.jsonp&&(_t.test(t.url)?\"url\":\"string\"==typeof t.data&&0===(t.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&_t.test(t.data)&&\"data\");if(a||\"jsonp\"===t.dataTypes[0])return r=t.jsonpCallback=ae.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(_t,\"$1\"+r):!1!==t.jsonp&&(t.url+=(yt.test(t.url)?\"&\":\"?\")+t.jsonp+\"=\"+r),t.converters[\"script json\"]=function(){return l||ae.error(r+\" was not called\"),l[0]},t.dataTypes[0]=\"json\",i=e[r],e[r]=function(){l=arguments},o.always(function(){void 0===i?ae(e).removeProp(r):e[r]=i,t[r]&&(t.jsonpCallback=n.jsonpCallback,It.push(r)),l&&ae.isFunction(i)&&i(l[0]),l=i=void 0}),\"script\"}),le.createHTMLDocument=function(){var e=G.implementation.createHTMLDocument(\"\").body;return e.innerHTML=\"<form></form><form></form>\",2===e.childNodes.length}(),ae.parseHTML=function(e,t,n){if(\"string\"!=typeof e)return[];\"boolean\"==typeof t&&(n=t,t=!1);var o,r,i;return t||(le.createHTMLDocument?(t=G.implementation.createHTMLDocument(\"\"),(o=t.createElement(\"base\")).href=G.location.href,t.head.appendChild(o)):t=G),r=me.exec(e),i=!n&&[],r?[t.createElement(r[1])]:(r=w([e],t,i),i&&i.length&&ae(i).remove(),ae.merge([],r.childNodes))},ae.fn.load=function(e,t,n){var o,r,i,l=this,a=e.indexOf(\" \");return a>-1&&(o=B(e.slice(a)),e=e.slice(0,a)),ae.isFunction(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(r=\"POST\"),l.length>0&&ae.ajax({url:e,type:r||\"GET\",dataType:\"html\",data:t}).done(function(e){i=arguments,l.html(o?ae(\"<div>\").append(ae.parseHTML(e)).find(o):e)}).always(n&&function(e,t){l.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},ae.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){ae.fn[t]=function(e){return this.on(t,e)}}),ae.expr.pseudos.animated=function(e){return ae.grep(ae.timers,function(t){return e===t.elem}).length},ae.offset={setOffset:function(e,t,n){var o,r,i,l,a,s,u=ae.css(e,\"position\"),c=ae(e),d={};\"static\"===u&&(e.style.position=\"relative\"),a=c.offset(),i=ae.css(e,\"top\"),s=ae.css(e,\"left\"),(\"absolute\"===u||\"fixed\"===u)&&(i+s).indexOf(\"auto\")>-1?(o=c.position(),l=o.top,r=o.left):(l=parseFloat(i)||0,r=parseFloat(s)||0),ae.isFunction(t)&&(t=t.call(e,n,ae.extend({},a))),null!=t.top&&(d.top=t.top-a.top+l),null!=t.left&&(d.left=t.left-a.left+r),\"using\"in t?t.using.call(e,d):c.css(d)}},ae.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ae.offset.setOffset(this,e,t)});var t,n,o,r,i=this[0];if(i)return i.getClientRects().length?(o=i.getBoundingClientRect(),t=i.ownerDocument,n=t.documentElement,r=t.defaultView,{top:o.top+r.pageYOffset-n.clientTop,left:o.left+r.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],o={top:0,left:0};return\"fixed\"===ae.css(n,\"position\")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),r(e[0],\"html\")||(o=e.offset()),o={top:o.top+ae.css(e[0],\"borderTopWidth\",!0),left:o.left+ae.css(e[0],\"borderLeftWidth\",!0)}),{top:t.top-o.top-ae.css(n,\"marginTop\",!0),left:t.left-o.left-ae.css(n,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&\"static\"===ae.css(e,\"position\");)e=e.offsetParent;return e||qe})}}),ae.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;ae.fn[e]=function(o){return ke(this,function(e,o,r){var i;if(ae.isWindow(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===r)return i?i[t]:e[o];i?i.scrollTo(n?i.pageXOffset:r,n?r:i.pageYOffset):e[o]=r},e,o,arguments.length)}}),ae.each([\"top\",\"left\"],function(e,t){ae.cssHooks[t]=A(le.pixelPosition,function(e,n){if(n)return n=N(e,t),Ze.test(n)?ae(e).position()[t]+\"px\":n})}),ae.each({Height:\"height\",Width:\"width\"},function(e,t){ae.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,o){ae.fn[o]=function(r,i){var l=arguments.length&&(n||\"boolean\"!=typeof r),a=n||(!0===r||!0===i?\"margin\":\"border\");return ke(this,function(t,n,r){var i;return ae.isWindow(t)?0===o.indexOf(\"outer\")?t[\"inner\"+e]:t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===r?ae.css(t,n,a):ae.style(t,n,r,a)},t,l?r:void 0,l)}})}),ae.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)}}),ae.holdReady=function(e){e?ae.readyWait++:ae.ready(!0)},ae.isArray=Array.isArray,ae.parseJSON=JSON.parse,ae.nodeName=r,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return ae});var Mt=e.jQuery,Wt=e.$;return ae.noConflict=function(t){return e.$===ae&&(e.$=Wt),t&&e.jQuery===ae&&(e.jQuery=Mt),ae},t||(e.jQuery=e.$=ae),ae})},414:/*!\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",
       "      function(e,t,n){var o=e(420);o.fn.drag=function(e,t,n){var r=\"string\"==typeof e?e:\"\",i=o.isFunction(e)?e:o.isFunction(t)?t:null;return 0!==r.indexOf(\"drag\")&&(r=\"drag\"+r),n=(e==i?t:n)||{},i?this.on(r,n,i):this.trigger(r)};var r=o.event,i=r.special,l=i.drag={defaults:{which:1,distance:0,not:\":input\",handle:null,relative:!1,drop:!0,click:!1},datakey:\"dragdata\",noBubble:!0,add:function(e){var t=o.data(this,l.datakey),n=e.data||{};t.related+=1,o.each(l.defaults,function(e,o){void 0!==n[e]&&(t[e]=n[e])})},remove:function(){o.data(this,l.datakey).related-=1},setup:function(){if(!o.data(this,l.datakey)){var e=o.extend({related:0},l.defaults);o.data(this,l.datakey,e),r.add(this,\"touchstart mousedown\",l.init,e),this.attachEvent&&this.attachEvent(\"ondragstart\",l.dontstart)}},teardown:function(){var e=o.data(this,l.datakey)||{};e.related||(o.removeData(this,l.datakey),r.remove(this,\"touchstart mousedown\",l.init),l.textselect(!0),this.detachEvent&&this.detachEvent(\"ondragstart\",l.dontstart))},init:function(e){if(!l.touched){var t,n=e.data;if(!(0!=e.which&&n.which>0&&e.which!=n.which)&&!o(e.target).is(n.not)&&(!n.handle||o(e.target).closest(n.handle,e.currentTarget).length)&&(l.touched=\"touchstart\"==e.type?this:null,n.propagates=1,n.mousedown=this,n.interactions=[l.interaction(this,n)],n.target=e.target,n.pageX=e.pageX,n.pageY=e.pageY,n.dragging=null,t=l.hijack(e,\"draginit\",n),n.propagates))return(t=l.flatten(t))&&t.length&&(n.interactions=[],o.each(t,function(){n.interactions.push(l.interaction(this,n))})),n.propagates=n.interactions.length,!1!==n.drop&&i.drop&&i.drop.handler(e,n),l.textselect(!1),l.touched?r.add(l.touched,\"touchmove touchend\",l.handler,n):r.add(document,\"mousemove mouseup\",l.handler,n),!(!l.touched||n.live)&&void 0}},interaction:function(e,t){var n=e&&e.ownerDocument?o(e)[t.relative?\"position\":\"offset\"]()||{top:0,left:0}:{top:0,left:0};return{drag:e,callback:new l.callback,droppable:[],offset:n}},handler:function(e){var t=e.data;switch(e.type){case!t.dragging&&\"touchmove\":e.preventDefault();case!t.dragging&&\"mousemove\":if(Math.pow(e.pageX-t.pageX,2)+Math.pow(e.pageY-t.pageY,2)<Math.pow(t.distance,2))break;e.target=t.target,l.hijack(e,\"dragstart\",t),t.propagates&&(t.dragging=!0);case\"touchmove\":e.preventDefault();case\"mousemove\":if(t.dragging){if(l.hijack(e,\"drag\",t),t.propagates){!1!==t.drop&&i.drop&&i.drop.handler(e,t);break}e.type=\"mouseup\"}case\"touchend\":case\"mouseup\":default:l.touched?r.remove(l.touched,\"touchmove touchend\",l.handler):r.remove(document,\"mousemove mouseup\",l.handler),t.dragging&&(!1!==t.drop&&i.drop&&i.drop.handler(e,t),l.hijack(e,\"dragend\",t)),l.textselect(!0),!1===t.click&&t.dragging&&o.data(t.mousedown,\"suppress.click\",(new Date).getTime()+5),t.dragging=l.touched=!1}},hijack:function(e,t,n,i,a){if(n){var s,u,c,d={event:e.originalEvent,type:e.type},p=t.indexOf(\"drop\")?\"drag\":\"drop\",f=i||0,h=isNaN(i)?n.interactions.length:i;e.type=t;var g=function(){};e.originalEvent=new o.Event(d.event,{preventDefault:g,stopPropagation:g,stopImmediatePropagation:g}),n.results=[];do{if(u=n.interactions[f]){if(\"dragend\"!==t&&u.cancelled)continue;c=l.properties(e,n,u),u.results=[],o(a||u[p]||n.droppable).each(function(i,a){if(c.target=a,e.isPropagationStopped=function(){return!1},!1===(s=a?r.dispatch.call(a,e,c):null)?(\"drag\"==p&&(u.cancelled=!0,n.propagates-=1),\"drop\"==t&&(u[p][i]=null)):\"dropinit\"==t&&u.droppable.push(l.element(s)||a),\"dragstart\"==t&&(u.proxy=o(l.element(s)||u.drag)[0]),u.results.push(s),delete e.result,\"dropinit\"!==t)return s}),n.results[f]=l.flatten(u.results),\"dropinit\"==t&&(u.droppable=l.flatten(u.droppable)),\"dragstart\"!=t||u.cancelled||c.update()}}while(++f<h);return e.type=d.type,e.originalEvent=d.event,l.flatten(n.results)}},properties:function(e,t,n){var o=n.callback;return o.drag=n.drag,o.proxy=n.proxy||n.drag,o.startX=t.pageX,o.startY=t.pageY,o.deltaX=e.pageX-t.pageX,o.deltaY=e.pageY-t.pageY,o.originalX=n.offset.left,o.originalY=n.offset.top,o.offsetX=o.originalX+o.deltaX,o.offsetY=o.originalY+o.deltaY,o.drop=l.flatten((n.drop||[]).slice()),o.available=l.flatten((n.droppable||[]).slice()),o},element:function(e){if(e&&(e.jquery||1==e.nodeType))return e},flatten:function(e){return o.map(e,function(e){return e&&e.jquery?o.makeArray(e):e&&e.length?l.flatten(e):e})},textselect:function(e){o(document)[e?\"off\":\"on\"](\"selectstart\",l.dontstart).css(\"MozUserSelect\",e?\"\":\"none\"),document.unselectable=e?\"off\":\"on\"},dontstart:function(){return!1},callback:function(){}};l.callback.prototype={update:function(){i.drop&&this.available.length&&o.each(this.available,function(e){i.drop.locate(this,e)})}};var a=r.dispatch;r.dispatch=function(e){if(!(o.data(this,\"suppress.\"+e.type)-(new Date).getTime()>0))return a.apply(this,arguments);o.removeData(this,\"suppress.\"+e.type)},i.draginit=i.dragstart=i.dragend=l},415:/*!\n",
       "       * jquery.event.drop - 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",
       "      function(e,t,n){var o=e(420);o.fn.drop=function(e,t,n){var r=\"string\"==typeof e?e:\"\",i=o.isFunction(e)?e:o.isFunction(t)?t:null;return 0!==r.indexOf(\"drop\")&&(r=\"drop\"+r),n=(e==i?t:n)||{},i?this.on(r,n,i):this.trigger(r)},o.drop=function(e){e=e||{},l.multi=!0===e.multi?1/0:!1===e.multi?1:isNaN(e.multi)?l.multi:e.multi,l.delay=e.delay||l.delay,l.tolerance=o.isFunction(e.tolerance)?e.tolerance:null===e.tolerance?null:l.tolerance,l.mode=e.mode||l.mode||\"intersect\"};var r=o.event,i=r.special,l=o.event.special.drop={multi:1,delay:20,mode:\"overlap\",targets:[],datakey:\"dropdata\",noBubble:!0,add:function(e){var t=o.data(this,l.datakey);t.related+=1},remove:function(){o.data(this,l.datakey).related-=1},setup:function(){if(!o.data(this,l.datakey)){o.data(this,l.datakey,{related:0,active:[],anyactive:0,winner:0,location:{}}),l.targets.push(this)}},teardown:function(){var e=o.data(this,l.datakey)||{};if(!e.related){o.removeData(this,l.datakey);var t=this;l.targets=o.grep(l.targets,function(e){return e!==t})}},handler:function(e,t){var n;if(t)switch(e.type){case\"mousedown\":case\"touchstart\":n=o(l.targets),\"string\"==typeof t.drop&&(n=n.filter(t.drop)),n.each(function(){var e=o.data(this,l.datakey);e.active=[],e.anyactive=0,e.winner=0}),t.droppable=n,i.drag.hijack(e,\"dropinit\",t);break;case\"mousemove\":case\"touchmove\":l.event=e,l.timer||l.tolerate(t);break;case\"mouseup\":case\"touchend\":l.timer=clearTimeout(l.timer),t.propagates&&(i.drag.hijack(e,\"drop\",t),i.drag.hijack(e,\"dropend\",t))}},locate:function(e,t){var n=o.data(e,l.datakey),r=o(e),i=r.offset()||{},a=r.outerHeight(),s=r.outerWidth(),u={elem:e,width:s,height:a,top:i.top,left:i.left,right:i.left+s,bottom:i.top+a};return n&&(n.location=u,n.index=t,n.elem=e),u},contains:function(e,t){return(t[0]||t.left)>=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,r,a,s,u,c,d,p=0,f=e.interactions.length,h=[l.event.pageX,l.event.pageY],g=l.tolerance||l.modes[l.mode];do{if(d=e.interactions[p]){if(!d)return;d.drop=[],s=[],u=d.droppable.length,g&&(r=l.locate(d.proxy)),t=0;do{if(c=d.droppable[t]){if(a=o.data(c,l.datakey),!(n=a.location))continue;a.winner=g?g.call(l,l.event,r,n):l.contains(n,h)?1:0,s.push(a)}}while(++t<u);s.sort(l.sort),t=0;do{(a=s[t])&&(a.winner&&d.drop.length<l.multi?(a.active[p]||a.anyactive||(!1!==i.drag.hijack(l.event,\"dropstart\",e,p,a.elem)[0]?(a.active[p]=1,a.anyactive+=1):a.winner=0),a.winner&&d.drop.push(a.elem)):a.active[p]&&1==a.anyactive&&(i.drag.hijack(l.event,\"dropend\",e,p,a.elem),a.active[p]=0,a.anyactive-=1))}while(++t<u)}}while(++p<f);l.last&&h[0]==l.last.pageX&&h[1]==l.last.pageY?delete l.timer:l.timer=setTimeout(function(){l.tolerate(e)},l.delay),l.last=l.event}};i.dropinit=i.dropstart=i.dropend=l},416:function(e,t,n){var o=e(420),r=e(418);t.exports={CheckboxSelectColumn:function(e){function t(e,t){var n,o,r=u.getSelectedRows(),i={};for(o=0;o<r.length;o++)n=r[o],i[n]=!0,i[n]!==d[n]&&(u.invalidateRow(n),delete d[n]);for(o in d)u.invalidateRow(o);d=i,u.render(),r.length&&r.length==u.getDataLength()?u.updateColumnHeader(p.columnId,\"<input type='checkbox' checked='checked'>\",p.toolTip):u.updateColumnHeader(p.columnId,\"<input type='checkbox'>\",p.toolTip)}function n(e,t){32==e.which&&u.getColumns()[t.cell].id===p.columnId&&(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit()||l(t.row),e.preventDefault(),e.stopImmediatePropagation())}function i(e,t){if(u.getColumns()[t.cell].id===p.columnId&&o(e.target).is(\":checkbox\")){if(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();l(t.row),e.stopPropagation(),e.stopImmediatePropagation()}}function l(e){d[e]?u.setSelectedRows(o.grep(u.getSelectedRows(),function(t){return t!=e})):u.setSelectedRows(u.getSelectedRows().concat(e))}function a(e,t){if(t.column.id==p.columnId&&o(e.target).is(\":checkbox\")){if(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();if(o(e.target).is(\":checked\")){for(var n=[],r=0;r<u.getDataLength();r++)n.push(r);u.setSelectedRows(n)}else u.setSelectedRows([]);e.stopPropagation(),e.stopImmediatePropagation()}}function s(e,t,n,o,r){return r?d[e]?\"<input type='checkbox' checked='checked'>\":\"<input type='checkbox'>\":null}var u,c=new r.EventHandler,d={},p=o.extend(!0,{},{columnId:\"_checkbox_selector\",cssClass:null,toolTip:\"Select/Deselect All\",width:30},e);o.extend(this,{init:function(e){u=e,c.subscribe(u.onSelectedRowsChanged,t).subscribe(u.onClick,i).subscribe(u.onHeaderClick,a).subscribe(u.onKeyDown,n)},destroy:function(){c.unsubscribeAll()},deSelectRows:function(e){var t,n=e.length,r=[];for(t=0;t<n;t++)d[e[t]]&&(r[r.length]=e[t]);u.setSelectedRows(o.grep(u.getSelectedRows(),function(e){return r.indexOf(e)<0}))},selectRows:function(e){var t,n=e.length,o=[];for(t=0;t<n;t++)d[e[t]]||(o[o.length]=e[t]);u.setSelectedRows(u.getSelectedRows().concat(o))},getColumnDefinition:function(){return{id:p.columnId,name:\"<input type='checkbox'>\",toolTip:p.toolTip,field:\"sel\",width:p.width,resizable:!1,sortable:!1,cssClass:p.cssClass,formatter:s}}})}}},417:function(e,t,n){var o=e(420),r=e(418);t.exports={RowSelectionModel:function(e){function t(e){return function(){p||(p=!0,e.apply(this,arguments),p=!1)}}function n(e){for(var t=[],n=0;n<e.length;n++)for(var o=e[n].fromRow;o<=e[n].toRow;o++)t.push(o);return t}function i(e){for(var t=[],n=d.getColumns().length-1,o=0;o<e.length;o++)t.push(new r.Range(e[o],0,e[o],n));return t}function l(){return n(h)}function a(e){(h&&0!==h.length||e&&0!==e.length)&&(h=e,g.onSelectedRangesChanged.notify(h))}function s(e,t){f.selectActiveRow&&null!=t.row&&a([new r.Range(t.row,0,t.row,d.getColumns().length-1)])}function u(e){var t=d.getActiveCell();if(t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(38==e.which||40==e.which)){var n=l();n.sort(function(e,t){return e-t}),n.length||(n=[t.row]);var o,r=n[0],s=n[n.length-1];if((o=40==e.which?t.row<s||r==s?++s:++r:t.row<s?--s:--r)>=0&&o<d.getDataLength()){d.scrollRowIntoView(o);var u=i(function(e,t){var n,o=[];for(n=e;n<=t;n++)o.push(n);for(n=t;n<e;n++)o.push(n);return o}(r,s));a(u)}e.preventDefault(),e.stopPropagation()}}function c(e){var t=d.getCellFromEvent(e);if(!t||!d.canCellBeActive(t.row,t.cell))return!1;if(!d.getOptions().multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;var r=n(h),l=o.inArray(t.row,r);if(-1===l&&(e.ctrlKey||e.metaKey))r.push(t.row),d.setActiveCell(t.row,t.cell);else if(-1!==l&&(e.ctrlKey||e.metaKey))r=o.grep(r,function(e,n){return e!==t.row}),d.setActiveCell(t.row,t.cell);else if(r.length&&e.shiftKey){var s=r.pop(),u=Math.min(t.row,s),c=Math.max(t.row,s);r=[];for(var p=u;p<=c;p++)p!==s&&r.push(p);r.push(s),d.setActiveCell(t.row,t.cell)}var f=i(r);return a(f),e.stopImmediatePropagation(),!0}var d,p,f,h=[],g=this,m=new r.EventHandler,v={selectActiveRow:!0};o.extend(this,{getSelectedRows:l,setSelectedRows:function(e){a(i(e))},getSelectedRanges:function(){return h},setSelectedRanges:a,init:function(n){f=o.extend(!0,{},v,e),d=n,m.subscribe(d.onActiveCellChanged,t(s)),m.subscribe(d.onKeyDown,t(u)),m.subscribe(d.onClick,t(c))},destroy:function(){m.unsubscribeAll()},onSelectedRangesChanged:new r.Event})}}},418:function(e,t,n){function o(){var e=!1,t=!1;this.stopPropagation=function(){e=!0},this.isPropagationStopped=function(){return e},this.stopImmediatePropagation=function(){t=!0},this.isImmediatePropagationStopped=function(){return t}}function r(){this.__nonDataRow=!0}function i(){this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}function l(){this.__groupTotals=!0,this.group=null,this.initialized=!1}function a(){var e=null;this.isActive=function(t){return t?e===t:null!==e},this.activate=function(t){if(t!==e){if(null!==e)throw new Error(\"SlickGrid.EditorLock.activate: an editController is still active, can't activate another editController\");if(!t.commitCurrentEdit)throw new Error(\"SlickGrid.EditorLock.activate: editController must implement .commitCurrentEdit()\");if(!t.cancelCurrentEdit)throw new Error(\"SlickGrid.EditorLock.activate: editController must implement .cancelCurrentEdit()\");e=t}},this.deactivate=function(t){if(e!==t)throw new Error(\"SlickGrid.EditorLock.deactivate: specified editController is not the currently active one\");e=null},this.commitCurrentEdit=function(){return!e||e.commitCurrentEdit()},this.cancelCurrentEdit=function(){return!e||e.cancelCurrentEdit()}}(i.prototype=new r).equals=function(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title},l.prototype=new r,t.exports={Event:function(){var e=[];this.subscribe=function(t){e.push(t)},this.unsubscribe=function(t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)},this.notify=function(t,n,r){n=n||new o,r=r||this;for(var i,l=0;l<e.length&&!n.isPropagationStopped()&&!n.isImmediatePropagationStopped();l++)i=e[l].call(r,n,t);return i}},EventData:o,EventHandler:function(){var e=[];this.subscribe=function(t,n){return e.push({event:t,handler:n}),t.subscribe(n),this},this.unsubscribe=function(t,n){for(var o=e.length;o--;)if(e[o].event===t&&e[o].handler===n)return e.splice(o,1),void t.unsubscribe(n);return this},this.unsubscribeAll=function(){for(var t=e.length;t--;)e[t].event.unsubscribe(e[t].handler);return e=[],this}},Range:function(e,t,n,o){void 0===n&&void 0===o&&(n=e,o=t);this.fromRow=Math.min(e,n),this.fromCell=Math.min(t,o),this.toRow=Math.max(e,n),this.toCell=Math.max(t,o),this.isSingleRow=function(){return this.fromRow==this.toRow},this.isSingleCell=function(){return this.fromRow==this.toRow&&this.fromCell==this.toCell},this.contains=function(e,t){return e>=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:r,Group:i,GroupTotals:l,EditorLock:a,GlobalEditorLock:new a,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\"}},419:function _(require,module,exports){function SlickGrid(container,data,columns,options){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;e<columns.length;e++){var t=columns[e]=$.extend({},columnDefaults,columns[e]);columnsById[t.id]=e,t.minWidth&&t.width<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&t.width>t.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=$(\"<div tabIndex='0' hideFocus style='position:fixed;width:0;height:0;top:0;left:0;outline:0;'></div>\").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$(\"<div class='slick-preheader-panel ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$preHeaderPanel=$(\"<div />\").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($preHeaderPanelScroller),options.showPreHeaderPanel||$preHeaderPanelScroller.hide()),$headerScroller=$(\"<div class='slick-header ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),($headers=$(\"<div class='slick-header-columns' style='left:-1000px' />\").appendTo($headerScroller)).width(getHeadersWidth()),$headerRowScroller=$(\"<div class='slick-headerrow ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$headerRow=$(\"<div class='slick-headerrow-columns' />\").appendTo($headerRowScroller),$headerRowSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($headerRowScroller),$topPanelScroller=$(\"<div class='slick-top-panel-scroller ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$topPanel=$(\"<div class='slick-top-panel' style='width:10000px' />\").appendTo($topPanelScroller),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),($viewport=$(\"<div class='slick-viewport' style='width:100%;overflow:auto;outline:0;position:relative;;'>\").appendTo($container)).css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),$canvas=$(\"<div class='grid-canvas' />\").appendTo($viewport),options.createFooterRow&&($footerRowScroller=$(\"<div class='slick-footerrow ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$footerRow=$(\"<div class='slick-footerrow-columns' />\").appendTo($footerRowScroller),$footerRowSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").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;t>=0;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=$(\"<div style='position:absolute; top:-10000px; left:-10000px; width:100px; height:100px; overflow:scroll;'></div>\").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;n<o;n++){var r=columns[n].width;t+=r}return e&&(t+=scrollbarDimensions.width),t}function getHeadersWidth(){var e=getColumnTotalWidth(!0);return Math.max(e,viewportW)+1e3}function getCanvasWidth(){for(var e=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,t=0,n=columns.length;n--;)t+=columns[n].width;return options.fullWidthRows?Math.max(t,e):t}function updateCanvasWidth(e){var t=canvasWidth;(canvasWidth=getCanvasWidth())!=t&&($canvas.width(canvasWidth),$headerRow.width(canvasWidth),options.createFooterRow&&$footerRow.width(canvasWidth),options.createPreHeaderPanel&&$preHeaderPanel.width(canvasWidth),$headers.width(getHeadersWidth()),viewportHasHScroll=canvasWidth>viewportW-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=$(\"<div style='display:none' />\").appendTo(document.body);;){var o=2*e;if(n.css(\"height\",o),o>t||n.height()!==o)break;e=o}return n.remove(),e}function getUID(){return uid}function getHeaderColumnWidthDiff(){return headerColumnWidthDiff}function getScrollbarDimensions(){return scrollbarDimensions}function bindAncestorScrollEvents(){for(var e=$canvas[0];(e=e.parentNode)!=document.body&&null!=e;)if(e==$viewport[0]||e.scrollWidth!=e.clientWidth||e.scrollHeight!=e.clientHeight){var t=$(e);$boundAncestors=$boundAncestors?$boundAncestors.add(t):t,t.on(\"scroll.\"+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.off(\"scroll.\"+uid),$boundAncestors=null)}function updateColumnHeader(e,t,n){if(initialized){var o=getColumnIndex(e);if(null!=o){var r=columns[o],i=$headers.children().eq(o);i&&(void 0!==t&&(columns[o].name=t),void 0!==n&&(columns[o].toolTip=n),trigger(self.onBeforeHeaderCellDestroy,{node:i[0],column:r,grid:self}),i.attr(\"title\",n||\"\").children().eq(0).html(t),trigger(self.onHeaderCellRendered,{node:i[0],column:r,grid:self}))}}}function getHeaderRow(){return $headerRow[0]}function getFooterRow(){return $footerRow[0]}function getPreHeaderPanel(){return $preHeaderPanel[0]}function getHeaderRowColumn(e){var t=getColumnIndex(e),n=$headerRow.children().eq(t);return n&&n[0]}function getFooterRowColumn(e){var t=getColumnIndex(e),n=$footerRow.children().eq(t);return n&&n[0]}function createColumnHeaders(){function e(){$(this).addClass(\"ui-state-hover\")}function t(){$(this).removeClass(\"ui-state-hover\")}$headers.find(\".slick-header-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:e,grid:self})}),$headers.empty(),$headers.width(getHeadersWidth()),$headerRow.find(\".slick-headerrow-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:self})}),$headerRow.empty(),options.createFooterRow&&($footerRow.find(\".slick-footerrow-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e})}),$footerRow.empty());for(var n=0;n<columns.length;n++){var o=columns[n],r=$(\"<div class='ui-state-default slick-header-column' />\").html(\"<span class='slick-column-name'>\"+o.name+\"</span>\").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(\"<span class='\"+sortIndicatorCssClass+\"' />\")),trigger(self.onHeaderCellRendered,{node:r[0],column:o,grid:self}),options.showHeaderRow){var i=$(\"<div class='ui-state-default slick-headerrow-column l\"+n+\" r\"+n+\"'></div>\").data(\"column\",o).appendTo($headerRow);trigger(self.onHeaderRowCellRendered,{node:i[0],column:o,grid:self})}if(options.createFooterRow&&options.showFooterRow){var l=$(\"<div class='ui-state-default slick-footerrow-column l\"+n+\" r\"+n+\"'></div>\").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<sortColumns.length;r++)if(sortColumns[r].columnId==n.id){(o=sortColumns[r]).sortAsc=!o.sortAsc;break}var i=!!o;options.tristateMultiColumnSort?(o||(o={columnId:n.id,sortAsc:n.defaultSortAsc}),i&&o.sortAsc&&(sortColumns.splice(r,1),o=null),options.multiColumnSort||(sortColumns=[]),!o||i&&options.multiColumnSort||sortColumns.push(o)):e.metaKey&&options.multiColumnSort?o&&sortColumns.splice(r,1):((e.shiftKey||e.metaKey)&&options.multiColumnSort||(sortColumns=[]),o?0==sortColumns.length&&sortColumns.push(o):(o={columnId:n.id,sortAsc:n.defaultSortAsc},sortColumns.push(o))),setSortColumns(sortColumns),sortColumns.length>0&&(options.multiColumnSort?trigger(self.onSort,{multiColumnSort:!0,sortCols:$.map(sortColumns,function(e){return{sortCol:columns[getColumnIndex(e.columnId)],sortAsc:e.sortAsc}}),grid:self},e):trigger(self.onSort,{multiColumnSort:!1,sortCol:n,sortAsc:sortColumns[0].sortAsc,grid:self},e))}}}})}function setupColumnReorder(){$headers.filter(\":ui-sortable\").sortable(\"destroy\"),$headers.sortable({containment:\"parent\",distance:3,axis:\"x\",cursor:\"default\",tolerance:\"intersection\",helper:\"clone\",placeholder:\"slick-sortable-placeholder ui-state-default slick-header-column\",start:function(e,t){t.placeholder.width(t.helper.outerWidth()-headerColumnWidthDiff),$(t.helper).addClass(\"slick-header-column-active\")},beforeStop:function(e,t){$(t.helper).removeClass(\"slick-header-column-active\")},stop:function(e){if(getEditorLock().commitCurrentEdit()){for(var t=$headers.sortable(\"toArray\"),n=[],o=0;o<t.length;o++)n.push(columns[getColumnIndex(t[o].replace(uid,\"\"))]);setColumns(n),trigger(self.onColumnsReordered,{grid:self}),e.stopPropagation(),setupColumnResize()}else $(this).sortable(\"cancel\")}})}function setupColumnResize(){var e,t,n,o,r,i,l,a,s;(r=$headers.children()).find(\".slick-resizable-handle\").remove(),r.each(function(e,t){e>=columns.length||columns[e].resizable&&(void 0===a&&(a=e),s=e)}),void 0!==a&&r.each(function(u,c){u>=columns.length||u<a||options.forceFitColumns&&u>=s||(e=$(c),$(\"<div class='slick-resizable-handle' />\").appendTo(c).on(\"dragstart\",function(e,a){if(!getEditorLock().commitCurrentEdit())return!1;o=e.pageX,$(this).parent().addClass(\"slick-header-column-active\");var s=null,c=null;if(r.each(function(e,t){e>=columns.length||(columns[e].previousWidth=$(t).outerWidth())}),options.forceFitColumns)for(s=0,c=0,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(null!==c&&(n.maxWidth?c+=n.maxWidth-n.previousWidth:c=null),s+=n.previousWidth-Math.max(n.minWidth||0,absoluteColumnMinWidth));var d=0,p=0;for(t=0;t<=u;t++)(n=columns[t]).resizable&&(null!==p&&(n.maxWidth?p+=n.maxWidth-n.previousWidth:p=null),d+=n.previousWidth-Math.max(n.minWidth||0,absoluteColumnMinWidth));null===s&&(s=1e5),null===d&&(d=1e5),null===c&&(c=1e5),null===p&&(p=1e5),l=o+Math.min(s,p),i=o-Math.min(d,c)}).on(\"drag\",function(e,r){var a,s,c=Math.min(l,Math.max(i,e.pageX))-o;if(c<0){for(s=c,t=u;t>=0;t--)(n=columns[t]).resizable&&(a=Math.max(n.minWidth||0,absoluteColumnMinWidth),s&&n.previousWidth+s<a?(s+=n.previousWidth-a,n.width=a):(n.width=n.previousWidth+s,s=0));if(options.forceFitColumns)for(s=-c,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(s&&n.maxWidth&&n.maxWidth-n.previousWidth<s?(s-=n.maxWidth-n.previousWidth,n.width=n.maxWidth):(n.width=n.previousWidth+s,s=0))}else{for(s=c,t=u;t>=0;t--)(n=columns[t]).resizable&&(s&&n.maxWidth&&n.maxWidth-n.previousWidth<s?(s-=n.maxWidth-n.previousWidth,n.width=n.maxWidth):(n.width=n.previousWidth+s,s=0));if(options.forceFitColumns)for(s=-c,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(a=Math.max(n.minWidth||0,absoluteColumnMinWidth),s&&n.previousWidth+s<a?(s+=n.previousWidth-a,n.width=a):(n.width=n.previousWidth+s,s=0))}applyColumnHeaderWidths(),options.syncColumnCellResize&&applyColumnWidths()}).on(\"dragend\",function(e,o){var i;for($(this).parent().removeClass(\"slick-header-column-active\"),t=0;t<columns.length;t++)n=columns[t],i=$(r[t]).outerWidth(),n.previousWidth!==i&&n.rerenderOnResize&&invalidateAllRows();updateCanvasWidth(!0),render(),trigger(self.onColumnsResized,{grid:self})}))})}function getVBoxDelta(e){var t=0;return $.each([\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],function(n,o){t+=parseFloat(e.css(o))||0}),t}function measureCellPaddingAndBorder(){var e,t=[\"borderLeftWidth\",\"borderRightWidth\",\"paddingLeft\",\"paddingRight\"],n=[\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],o=$.fn.jquery.split(\".\");jQueryNewWidthBehaviour=1==o[0]&&o[1]>=8||o[0]>=2,e=$(\"<div class='ui-state-default slick-header-column' style='visibility:hidden'>-</div>\").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,\"border-box\"!=e.css(\"box-sizing\")&&\"border-box\"!=e.css(\"-moz-box-sizing\")&&\"border-box\"!=e.css(\"-webkit-box-sizing\")&&($.each(t,function(t,n){headerColumnWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){headerColumnHeightDiff+=parseFloat(e.css(n))||0})),e.remove();var r=$(\"<div class='slick-row' />\").appendTo($canvas);e=$(\"<div class='slick-cell' id='' style='visibility:hidden'>-</div>\").appendTo(r),cellWidthDiff=cellHeightDiff=0,\"border-box\"!=e.css(\"box-sizing\")&&\"border-box\"!=e.css(\"-moz-box-sizing\")&&\"border-box\"!=e.css(\"-webkit-box-sizing\")&&($.each(t,function(t,n){cellWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){cellHeightDiff+=parseFloat(e.css(n))||0})),r.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$(\"<style type='text/css' rel='stylesheet' />\").appendTo($(\"head\"));for(var e=options.rowHeight-cellHeightDiff,t=[\".\"+uid+\" .slick-header-column { left: 1000px; }\",\".\"+uid+\" .slick-top-panel { height:\"+options.topPanelHeight+\"px; }\",\".\"+uid+\" .slick-preheader-panel { height:\"+options.preHeaderPanelHeight+\"px; }\",\".\"+uid+\" .slick-headerrow-columns { height:\"+options.headerRowHeight+\"px; }\",\".\"+uid+\" .slick-footerrow-columns { height:\"+options.footerRowHeight+\"px; }\",\".\"+uid+\" .slick-cell { height:\"+e+\"px; }\",\".\"+uid+\" .slick-row { height:\"+options.rowHeight+\"px; }\"],n=0;n<columns.length;n++)t.push(\".\"+uid+\" .l\"+n+\" { }\"),t.push(\".\"+uid+\" .r\"+n+\" { }\");$style[0].styleSheet?$style[0].styleSheet.cssText=t.join(\" \"):$style[0].appendChild(document.createTextNode(t.join(\" \")))}function getColumnCssRules(e){var t;if(!stylesheet){var n=document.styleSheets;for(t=0;t<n.length;t++)if((n[t].ownerNode||n[t].owningElement)==$style[0]){stylesheet=n[t];break}if(!stylesheet)throw new Error(\"Cannot find stylesheet.\");columnCssRulesL=[],columnCssRulesR=[];var o,r,i=stylesheet.cssRules||stylesheet.rules;for(t=0;t<i.length;t++){var l=i[t].selectorText;(o=/\\.l\\d+/.exec(l))?(r=parseInt(o[0].substr(2,o[0].length-2),10),columnCssRulesL[r]=i[t]):(o=/\\.r\\d+/.exec(l))&&(r=parseInt(o[0].substr(2,o[0].length-2),10),columnCssRulesR[r]=i[t])}}return{left:columnCssRulesL[e],right:columnCssRulesR[e]}}function removeCssRules(){$style.remove(),stylesheet=null}function destroy(){getEditorLock().cancelCurrentEdit(),trigger(self.onBeforeDestroy,{grid:self});for(var e=plugins.length;e--;)unregisterPlugin(plugins[e]);options.enableColumnReorder&&$headers.filter(\":ui-sortable\").sortable(\"destroy\"),unbindAncestorScrollEvents(),$container.off(\".slickgrid\"),removeCssRules(),$canvas.off(\"draginit dragstart dragend drag\"),$container.empty().removeClass(uid)}function trigger(e,t,n){return n=n||new Slick.EventData,t=t||{},t.grid=self,e.notify(t,n,self)}function getEditorLock(){return options.editorLock}function getEditController(){return editController}function getColumnIndex(e){return columnsById[e]}function autosizeColumns(){var e,t,n,o=[],r=0,i=0,l=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW;for(e=0;e<columns.length;e++)t=columns[e],o.push(t.width),i+=t.width,t.resizable&&(r+=t.width-Math.max(t.minWidth,absoluteColumnMinWidth));for(n=i;i>l&&r;){var a=(i-l)/r;for(e=0;e<columns.length&&i>l;e++){t=columns[e];var s=o[e];if(!(!t.resizable||s<=t.minWidth||s<=absoluteColumnMinWidth)){var u=Math.max(t.minWidth,absoluteColumnMinWidth),c=Math.floor(a*(s-u))||1;c=Math.min(c,s-u),i-=c,r-=c,o[e]-=c}}if(n<=i)break;n=i}for(n=i;i<l;){var d=l/i;for(e=0;e<columns.length&&i<l;e++){t=columns[e];var p,f=o[e];p=!t.resizable||t.maxWidth<=f?0:Math.min(Math.floor(d*f)-f,t.maxWidth-f||1e6)||1,i+=p,o[e]+=i<=l?p:0}if(n>=i)break;n=i}var h=!1;for(e=0;e<columns.length;e++)columns[e].rerenderOnResize&&columns[e].width!=o[e]&&(h=!0),columns[e].width=o[e];applyColumnHeaderWidths(),updateCanvasWidth(!0),h&&(invalidateAllRows(),render())}function applyColumnHeaderWidths(){if(initialized){for(var e,t=0,n=$headers.children(),o=columns.length;t<o;t++)e=$(n[t]),jQueryNewWidthBehaviour?e.outerWidth()!==columns[t].width&&e.outerWidth(columns[t].width):e.width()!==columns[t].width-headerColumnWidthDiff&&e.width(columns[t].width-headerColumnWidthDiff);updateColumnCaches()}}function applyColumnWidths(){for(var e,t,n=0,o=0;o<columns.length;o++)e=columns[o].width,(t=getColumnCssRules(o)).left.style.left=n+\"px\",t.right.style.right=canvasWidth-n-e+\"px\",n+=columns[o].width}function setSortColumn(e,t){setSortColumns([{columnId:e,sortAsc:t}])}function setSortColumns(e){sortColumns=e;var t=options.numberedMultiColumnSort&&sortColumns.length>1,n=$headers.children(),o=n.removeClass(\"slick-header-column-sorted\").find(\".\"+sortIndicatorCssClass).removeClass(\"slick-sort-indicator-asc slick-sort-indicator-desc\");t&&o.text(\"\"),$.each(sortColumns,function(e,r){null==r.sortAsc&&(r.sortAsc=!0);var i=getColumnIndex(r.columnId);null!=i&&(o=n.eq(i).addClass(\"slick-header-column-sorted\").find(\".\"+sortIndicatorCssClass).addClass(r.sortAsc?\"slick-sort-indicator-asc\":\"slick-sort-indicator-desc\"),t&&o.text(e+1))})}function getSortColumns(){return sortColumns}function handleSelectedRangesChanged(e,t){selectedRows=[];for(var n={},o=0;o<t.length;o++)for(var r=t[o].fromRow;r<=t[o].toRow;r++){n[r]||(selectedRows.push(r),n[r]={});for(var i=t[o].fromCell;i<=t[o].toCell;i++)canCellBeSelected(r,i)&&(n[r][columns[i].id]=options.selectedCellCssClass)}setCellCssStyles(options.selectedCellCssClass,n),trigger(self.onSelectedRowsChanged,{rows:getSelectedRows(),grid:self},e)}function getColumns(){return columns}function updateColumnCaches(){columnPosLeft=[],columnPosRight=[];for(var e=0,t=0,n=columns.length;t<n;t++)columnPosLeft[t]=e,columnPosRight[t]=e+columns[t].width,e+=columns[t].width}function setColumns(e){columns=e,columnsById={};for(var t=0;t<columns.length;t++){var n=columns[t]=$.extend({},columnDefaults,columns[t]);columnsById[n.id]=t,n.minWidth&&n.width<n.minWidth&&(n.width=n.minWidth),n.maxWidth&&n.width>n.maxWidth&&(n.width=n.maxWidth)}updateColumnCaches(),initialized&&(invalidateAllRows(),createColumnHeaders(),removeCssRules(),createCssRules(),resizeCanvas(),applyColumnWidths(),handleScroll())}function getOptions(){return options}function setOptions(e,t){getEditorLock().commitCurrentEdit()&&(makeActiveCellNormal(),options.enableAddRow!==e.enableAddRow&&invalidateRow(getDataLength()),options=$.extend(options,e),validateAndEnforceOptions(),$viewport.css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),t||render())}function validateAndEnforceOptions(){options.autoHeight&&(options.leaveSpaceForNewRows=!1)}function setData(e,t){data=e,invalidateAllRows(),updateRowCount(),t&&scrollTo(0)}function getData(){return data}function getDataLength(){return data.getLength?data.getLength():data.length}function getDataLengthIncludingAddNew(){return getDataLength()+(options.enableAddRow&&(!pagingActive||pagingIsLastPage)?1:0)}function getDataItem(e){return data.getItem?data.getItem(e):data[e]}function getTopPanel(){return $topPanel[0]}function setTopPanelVisibility(e){options.showTopPanel!=e&&(options.showTopPanel=e,e?$topPanelScroller.slideDown(\"fast\",resizeCanvas):$topPanelScroller.slideUp(\"fast\",resizeCanvas))}function setHeaderRowVisibility(e){options.showHeaderRow!=e&&(options.showHeaderRow=e,e?$headerRowScroller.slideDown(\"fast\",resizeCanvas):$headerRowScroller.slideUp(\"fast\",resizeCanvas))}function setFooterRowVisibility(e){options.showFooterRow!=e&&(options.showFooterRow=e,e?$footerRowScroller.slideDown(\"fast\",resizeCanvas):$footerRowScroller.slideUp(\"fast\",resizeCanvas))}function setPreHeaderPanelVisibility(e){options.showPreHeaderPanel!=e&&(options.showPreHeaderPanel=e,e?$preHeaderPanelScroller.slideDown(\"fast\",resizeCanvas):$preHeaderPanelScroller.slideUp(\"fast\",resizeCanvas))}function getContainerNode(){return $container.get(0)}function getRowTop(e){return options.rowHeight*e-offset}function getRowFromPosition(e){return Math.floor((e+offset)/options.rowHeight)}function scrollTo(e){e=Math.max(e,0),e=Math.min(e,th-viewportH+(viewportHasHScroll?scrollbarDimensions.height:0));var t=offset;page=Math.min(n-1,Math.floor(e/ph)),offset=Math.round(page*cj);var o=e-offset;if(offset!=t){var r=getVisibleRange(o);cleanupRows(r),updateRowPositions()}prevScrollTop!=o&&(vScrollDir=prevScrollTop+t<o+offset?1:-1,$viewport[0].scrollTop=lastRenderedScrollTop=scrollTop=prevScrollTop=o,trigger(self.onViewportChanged,{grid:self}))}function defaultFormatter(e,t,n,o,r){return null==n?\"\":(n+\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function getFormatter(e,t){var n=data.getItemMetadata&&data.getItemMetadata(e),o=n&&n.columns&&(n.columns[t.id]||n.columns[getColumnIndex(t.id)]);return o&&o.formatter||n&&n.formatter||t.formatter||options.formatterFactory&&options.formatterFactory.getFormatter(t)||options.defaultFormatter}function getEditor(e,t){var n=columns[t],o=data.getItemMetadata&&data.getItemMetadata(e),r=o&&o.columns;return r&&r[n.id]&&void 0!==r[n.id].editor?r[n.id].editor:r&&r[t]&&void 0!==r[t].editor?r[t].editor:n.editor||options.editorFactory&&options.editorFactory.getEditor(n)}function getDataItemValueForColumn(e,t){return options.dataItemColumnValueExtractor?options.dataItemColumnValueExtractor(e,t):e[t.field]}function appendRowHtml(e,t,n,o){var r=getDataItem(t),i=t<o&&!r,l=\"slick-row\"+(i?\" loading\":\"\")+(t===activeRow?\" active\":\"\")+(t%2==1?\" odd\":\" even\");r||(l+=\" \"+options.addNewRowCssClass);var a=data.getItemMetadata&&data.getItemMetadata(t);a&&a.cssClasses&&(l+=\" \"+a.cssClasses),e.push(\"<div class='ui-widget-content \"+l+\"' style='top:\"+getRowTop(t)+\"px'>\");for(var s,u,c=0,d=columns.length;c<d;c++){if(u=columns[c],s=1,a&&a.columns){var p=a.columns[u.id]||a.columns[c];\"*\"===(s=p&&p.colspan||1)&&(s=d-c)}if(columnPosRight[Math.min(d-1,c+s-1)]>n.leftPx){if(columnPosLeft[c]>n.rightPx)break;appendCellHtml(e,t,c,s,r)}s>1&&(c+=s-1)}e.push(\"</div>\")}function appendCellHtml(e,t,n,o,r){var i=columns[n],l=\"slick-cell l\"+n+\" r\"+Math.min(columns.length-1,n+o-1)+(i.cssClass?\" \"+i.cssClass:\"\");t===activeRow&&n===activeCell&&(l+=\" active\");for(var a in cellCssClasses)cellCssClasses[a][t]&&cellCssClasses[a][t][i.id]&&(l+=\" \"+cellCssClasses[a][t][i.id]);var s=null;r&&(s=getDataItemValueForColumn(r,i));var u=getFormatter(t,i)(t,n,s,i,r),c=trigger(self.onBeforeAppendCell,{row:t,cell:n,grid:self,value:s,dataContext:r})||\"\";c+=u.addClasses?(c?\" \":\"\")+u.addClasses:\"\",e.push(\"<div class='\"+l+(c?\" \"+c:\"\")+\"'>\"),r&&e.push(\"object\"!=typeof u?u:u.text),e.push(\"</div>\"),rowsCache[t].cellRenderQueue.push(n),rowsCache[t].cellColSpans[n]=o}function cleanupRows(e){for(var t in rowsCache)(t=parseInt(t,10))!==activeRow&&(t<e.top||t>e.bottom)&&removeRowFromCache(t);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function invalidate(){updateRowCount(),invalidateAllRows(),render()}function invalidateAllRows(){currentEditor&&makeActiveCellNormal();for(var e in rowsCache)removeRowFromCache(e);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function queuePostProcessedRowForCleanup(e,t,n){postProcessgroupId++;for(var o in t)t.hasOwnProperty(o)&&postProcessedCleanupQueue.push({actionType:\"C\",groupId:postProcessgroupId,node:e.cellNodesByColumnIdx[0|o],columnIdx:0|o,rowIdx:n});postProcessedCleanupQueue.push({actionType:\"R\",groupId:postProcessgroupId,node:e.rowNode}),$(e.rowNode).detach()}function queuePostProcessedCellForCleanup(e,t,n){postProcessedCleanupQueue.push({actionType:\"C\",groupId:postProcessgroupId,node:e,columnIdx:t,rowIdx:n}),$(e).detach()}function removeRowFromCache(e){var t=rowsCache[e];t&&(rowNodeFromLastMouseWheelEvent===t.rowNode?(t.rowNode.style.display=\"none\",zombieRowNodeFromLastMouseWheelEvent=rowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent=t,zombieRowPostProcessedFromLastMouseWheelEvent=postProcessedRows[e]):options.enableAsyncPostRenderCleanup&&postProcessedRows[e]?queuePostProcessedRowForCleanup(t,postProcessedRows[e],e):$canvas[0].removeChild(t.rowNode),delete rowsCache[e],delete postProcessedRows[e],renderedRows--,counter_rows_removed++)}function invalidateRows(e){var t,n;if(e&&e.length){for(vScrollDir=0,n=e.length,t=0;t<n;t++)currentEditor&&activeRow===e[t]&&makeActiveCellNormal(),rowsCache[e[t]]&&removeRowFromCache(e[t]);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}}function invalidateRow(e){invalidateRows([e])}function applyFormatResultToCellNode(e,t,n){\"object\"==typeof e?(t.innerHTML=e.text,e.removeClasses&&!n&&t.removeClass(e.removeClasses),e.addClasses&&t.addClass(e.addClasses)):t.innerHTML=e}function updateCell(e,t){var n=getCellNode(e,t);if(n){var o=columns[t],r=getDataItem(e);if(currentEditor&&activeRow===e&&activeCell===t)currentEditor.loadValue(r);else{var i=r?getFormatter(e,o)(e,t,getDataItemValueForColumn(r,o),o,r):\"\";applyFormatResultToCellNode(i,n),invalidatePostProcessingResults(e)}}}function updateRow(e){var t=rowsCache[e];if(t){ensureCellNodesInRowsCache(e);var n=getDataItem(e);for(var o in t.cellNodesByColumnIdx)if(t.cellNodesByColumnIdx.hasOwnProperty(o)){var r=columns[o|=0],i=t.cellNodesByColumnIdx[o];e===activeRow&&o===activeCell&&currentEditor?currentEditor.loadValue(n):n?applyFormatResultToCellNode(getFormatter(e,r)(e,o,getDataItemValueForColumn(n,r),r,n),i):i.innerHTML=\"\"}invalidatePostProcessingResults(e)}}function getViewportHeight(){return parseFloat($.css($container[0],\"height\",!0))-parseFloat($.css($container[0],\"paddingTop\",!0))-parseFloat($.css($container[0],\"paddingBottom\",!0))-parseFloat($.css($headerScroller[0],\"height\"))-getVBoxDelta($headerScroller)-(options.showTopPanel?options.topPanelHeight+getVBoxDelta($topPanelScroller):0)-(options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0)-(options.createFooterRow&&options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0)-(options.createPreHeaderPanel&&options.showPreHeaderPanel?options.preHeaderPanelHeight+getVBoxDelta($preHeaderPanelScroller):0)}function resizeCanvas(){initialized&&(viewportH=options.autoHeight?options.rowHeight*getDataLengthIncludingAddNew():getViewportHeight(),numVisibleRows=Math.ceil(viewportH/options.rowHeight),viewportW=parseFloat($.css($container[0],\"width\",!0)),options.autoHeight||$viewport.height(viewportH),options.forceFitColumns&&autosizeColumns(),updateRowCount(),handleScroll(),lastRenderedScrollLeft=-1,render())}function updatePagingStatusFromView(e){pagingActive=0!==e.pageSize,pagingIsLastPage=e.pageNum==e.totalPages-1}function updateRowCount(){if(initialized){var e=getDataLength(),t=getDataLengthIncludingAddNew(),o=t+(options.leaveSpaceForNewRows?numVisibleRows-1:0),r=viewportHasVScroll;viewportHasVScroll=!options.autoHeight&&o*options.rowHeight>viewportH,viewportHasHScroll=canvasWidth>viewportW-scrollbarDimensions.width,makeActiveCellNormal();var i=e-1;for(var l in rowsCache)l>i&&removeRowFromCache(l);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup(),activeCellNode&&activeRow>i&&resetActiveCell();var a=h;(th=Math.max(options.rowHeight*o,viewportH-scrollbarDimensions.height))<maxSupportedCssHeight?(h=ph=th,n=1,cj=0):(ph=(h=maxSupportedCssHeight)/100,n=Math.floor(th/ph),cj=(th-h)/(n-1)),h!==a&&($canvas.css(\"height\",h),scrollTop=$viewport[0].scrollTop);var s=scrollTop+offset<=th-viewportH;0==th||0==scrollTop?page=offset=0:scrollTo(s?scrollTop+offset:th-viewportH),h!=a&&options.autoHeight&&resizeCanvas(),options.forceFitColumns&&r!=viewportHasVScroll&&autosizeColumns(),updateCanvasWidth(!1)}}function getVisibleRange(e,t){return null==e&&(e=scrollTop),null==t&&(t=scrollLeft),{top:getRowFromPosition(e),bottom:getRowFromPosition(e+viewportH)+1,leftPx:t,rightPx:t+viewportW}}function getRenderedRange(e,t){var n=getVisibleRange(e,t),o=Math.round(viewportH/options.rowHeight);return-1==vScrollDir?(n.top-=o,n.bottom+=3):1==vScrollDir?(n.top-=3,n.bottom+=o):(n.top-=3,n.bottom+=3),n.top=Math.max(0,n.top),n.bottom=Math.min(getDataLengthIncludingAddNew()-1,n.bottom),n.leftPx-=viewportW,n.rightPx+=viewportW,n.leftPx=Math.max(0,n.leftPx),n.rightPx=Math.min(canvasWidth,n.rightPx),n}function ensureCellNodesInRowsCache(e){var t=rowsCache[e];if(t&&t.cellRenderQueue.length)for(var n=t.rowNode.lastChild;t.cellRenderQueue.length;){var o=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[o]=n,n=n.previousSibling}}function cleanUpCells(e,t){var n=rowsCache[t],o=[];for(var r in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(r)){r|=0;var i=n.cellColSpans[r];(columnPosLeft[r]>e.rightPx||columnPosRight[Math.min(columns.length-1,r+i-1)]<e.leftPx)&&(t==activeRow&&r==activeCell||o.push(r))}var l,a;for(postProcessgroupId++;null!=(l=o.pop());)a=n.cellNodesByColumnIdx[l],options.enableAsyncPostRenderCleanup&&postProcessedRows[t]&&postProcessedRows[t][l]?queuePostProcessedCellForCleanup(a,l,t):n.rowNode.removeChild(a),delete n.cellColSpans[l],delete n.cellNodesByColumnIdx[l],postProcessedRows[t]&&delete postProcessedRows[t][l],0}function cleanUpAndRenderCells(e){for(var t,n,o,r=[],i=[],l=e.top,a=e.bottom;l<=a;l++)if(t=rowsCache[l]){ensureCellNodesInRowsCache(l),cleanUpCells(e,l),n=0;var s=data.getItemMetadata&&data.getItemMetadata(l);s=s&&s.columns;for(var u=getDataItem(l),c=0,d=columns.length;c<d&&!(columnPosLeft[c]>e.rightPx);c++)if(null==(o=t.cellColSpans[c])){if(o=1,s){var p=s[columns[c].id]||s[c];\"*\"===(o=p&&p.colspan||1)&&(o=d-c)}columnPosRight[Math.min(d-1,c+o-1)]>e.leftPx&&(appendCellHtml(r,l,c,o,u),n++),c+=o>1?o-1:0}else c+=o>1?o-1:0;n&&(n,i.push(l))}if(r.length){var f=document.createElement(\"div\");f.innerHTML=r.join(\"\");for(var h,g;null!=(h=i.pop());){t=rowsCache[h];for(var m;null!=(m=t.cellRenderQueue.pop());)g=f.lastChild,t.rowNode.appendChild(g),t.cellNodesByColumnIdx[m]=g}}}function renderRows(e){for(var t=$canvas[0],n=[],o=[],r=!1,i=getDataLength(),l=e.top,a=e.bottom;l<=a;l++)rowsCache[l]||(renderedRows++,o.push(l),rowsCache[l]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},appendRowHtml(n,l,e,i),activeCellNode&&activeRow===l&&(r=!0),counter_rows_rendered++);if(o.length){var s=document.createElement(\"div\");s.innerHTML=n.join(\"\");for(var l=0,a=o.length;l<a;l++)rowsCache[o[l]].rowNode=t.appendChild(s.firstChild);r&&(activeCellNode=getCellNode(activeRow,activeCell))}}function startPostProcessing(){options.enableAsyncPostRender&&(clearTimeout(h_postrender),h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}function startPostProcessingCleanup(){options.enableAsyncPostRenderCleanup&&(clearTimeout(h_postrenderCleanup),h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay))}function invalidatePostProcessingResults(e){for(var t in postProcessedRows[e])postProcessedRows[e].hasOwnProperty(t)&&(postProcessedRows[e][t]=\"C\");postProcessFromRow=Math.min(postProcessFromRow,e),postProcessToRow=Math.max(postProcessToRow,e),startPostProcessing()}function updateRowPositions(){for(var e in rowsCache)rowsCache[e].rowNode.style.top=getRowTop(e)+\"px\"}function render(){if(initialized){var e=getVisibleRange(),t=getRenderedRange();cleanupRows(t),lastRenderedScrollLeft!=scrollLeft&&cleanUpAndRenderCells(t),renderRows(t),postProcessFromRow=e.top,postProcessToRow=Math.min(getDataLengthIncludingAddNew()-1,e.bottom),startPostProcessing(),lastRenderedScrollTop=scrollTop,lastRenderedScrollLeft=scrollLeft,h_render=null}}function handleHeaderRowScroll(){var e=$headerRowScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handleFooterRowScroll(){var e=$footerRowScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handlePreHeaderPanelScroll(){var e=$preHeaderPanelScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handleScroll(){scrollTop=$viewport[0].scrollTop,scrollLeft=$viewport[0].scrollLeft;var e=Math.abs(scrollTop-prevScrollTop),t=Math.abs(scrollLeft-prevScrollLeft);if(t&&(prevScrollLeft=scrollLeft,$headerScroller[0].scrollLeft=scrollLeft,$topPanelScroller[0].scrollLeft=scrollLeft,$headerRowScroller[0].scrollLeft=scrollLeft,options.createFooterRow&&($footerRowScroller[0].scrollLeft=scrollLeft),options.createPreHeaderPanel&&($preHeaderPanelScroller[0].scrollLeft=scrollLeft)),e)if(vScrollDir=prevScrollTop<scrollTop?1:-1,prevScrollTop=scrollTop,e<viewportH)scrollTo(scrollTop+offset);else{var o=offset;page=h==viewportH?0:Math.min(n-1,Math.floor(scrollTop*((th-viewportH)/(h-viewportH))*(1/ph))),offset=Math.round(page*cj),o!=offset&&invalidateAllRows()}(t||e)&&(h_render&&clearTimeout(h_render),(Math.abs(lastRenderedScrollTop-scrollTop)>20||Math.abs(lastRenderedScrollLeft-scrollLeft)>20)&&(options.forceSyncScrolling||Math.abs(lastRenderedScrollTop-scrollTop)<viewportH&&Math.abs(lastRenderedScrollLeft-scrollLeft)<viewportW?render():h_render=setTimeout(render,50),trigger(self.onViewportChanged,{grid:self}))),trigger(self.onScroll,{scrollLeft:scrollLeft,scrollTop:scrollTop,grid:self})}function asyncPostProcessRows(){for(var e=getDataLength();postProcessFromRow<=postProcessToRow;){var t=vScrollDir>=0?postProcessFromRow++:postProcessToRow--,n=rowsCache[t];if(n&&!(t>=e)){postProcessedRows[t]||(postProcessedRows[t]={}),ensureCellNodesInRowsCache(t);for(var o in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(o)){var r=columns[o|=0],i=postProcessedRows[t][o];if(r.asyncPostRender&&\"R\"!==i){var l=n.cellNodesByColumnIdx[o];l&&r.asyncPostRender(l,t,getDataItem(t),r,\"C\"===i),postProcessedRows[t][o]=\"R\"}}return void(h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}}}function asyncPostProcessCleanupRows(){if(postProcessedCleanupQueue.length>0){for(var e=postProcessedCleanupQueue[0].groupId;postProcessedCleanupQueue.length>0&&postProcessedCleanupQueue[0].groupId==e;){var t=postProcessedCleanupQueue.shift();if(\"R\"==t.actionType&&$(t.node).remove(),\"C\"==t.actionType){var n=columns[t.columnIdx];n.asyncPostRenderCleanup&&t.node&&n.asyncPostRenderCleanup(t.node,t.rowIdx,n)}}h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay)}}function updateCellCssStylesOnRenderedRows(e,t){var n,o,r,i;for(var l in rowsCache){if(i=t&&t[l],r=e&&e[l],i)for(o in i)r&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)))&&$(n).removeClass(i[o]);if(r)for(o in r)i&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)))&&$(n).addClass(r[o])}}function addCellCssStyles(e,t){if(cellCssClasses[e])throw new Error(\"addCellCssStyles: cell CSS hash with key '\"+e+\"' already exists.\");cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,null),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function removeCellCssStyles(e){cellCssClasses[e]&&(updateCellCssStylesOnRenderedRows(null,cellCssClasses[e]),delete cellCssClasses[e],trigger(self.onCellCssStylesChanged,{key:e,hash:null,grid:self}))}function setCellCssStyles(e,t){var n=cellCssClasses[e];cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,n),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function getCellCssStyles(e){return cellCssClasses[e]}function flashCell(e,t,n){if(n=n||100,rowsCache[e]){var o=$(getCellNode(e,t)),r=function(e){e&&setTimeout(function(){o.queue(function(){o.toggleClass(options.cellFlashingCssClass).dequeue(),r(e-1)})},n)};r(4)}}function handleMouseWheel(e){var t=$(e.target).closest(\".slick-row\")[0];t!=rowNodeFromLastMouseWheelEvent&&(zombieRowNodeFromLastMouseWheelEvent&&zombieRowNodeFromLastMouseWheelEvent!=t&&(options.enableAsyncPostRenderCleanup&&zombieRowPostProcessedFromLastMouseWheelEvent?queuePostProcessedRowForCleanup(zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent):$canvas[0].removeChild(zombieRowNodeFromLastMouseWheelEvent),zombieRowNodeFromLastMouseWheelEvent=null,zombieRowCacheFromLastMouseWheelEvent=null,zombieRowPostProcessedFromLastMouseWheelEvent=null,options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()),rowNodeFromLastMouseWheelEvent=t)}function handleDragInit(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragInit,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDragStart(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragStart,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDrag(e,t){return trigger(self.onDrag,t,e)}function handleDragEnd(e,t){trigger(self.onDragEnd,t,e)}function handleKeyDown(e){trigger(self.onKeyDown,{row:activeRow,cell:activeCell,grid:self},e);var t=e.isImmediatePropagationStopped(),n=Slick.keyCode;if(!t)if(e.shiftKey||e.altKey||e.ctrlKey)e.which!=n.TAB||!e.shiftKey||e.ctrlKey||e.altKey||(t=navigatePrev());else{if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;if(e.which==n.ESCAPE){if(!getEditorLock().isActive())return;cancelEditAndSetFocus()}else e.which==n.PAGE_DOWN?(navigatePageDown(),t=!0):e.which==n.PAGE_UP?(navigatePageUp(),t=!0):e.which==n.LEFT?t=navigateLeft():e.which==n.RIGHT?t=navigateRight():e.which==n.UP?t=navigateUp():e.which==n.DOWN?t=navigateDown():e.which==n.TAB?t=navigateNext():e.which==n.ENTER&&(options.editable&&(currentEditor?activeRow===getDataLength()?navigateDown():commitEditAndSetFocus():getEditorLock().commitCurrentEdit()&&makeActiveCellEditable()),t=!0)}if(t){e.stopPropagation(),e.preventDefault();try{e.originalEvent.keyCode=0}catch(e){}}}function handleClick(e){currentEditor||(e.target!=document.activeElement||$(e.target).hasClass(\"slick-cell\"))&&setFocus();var t=getCellFromEvent(e);if(t&&(null===currentEditor||activeRow!=t.row||activeCell!=t.cell)&&(trigger(self.onClick,{row:t.row,cell:t.cell,grid:self},e),!e.isImmediatePropagationStopped()&&canCellBeActive(t.row,t.cell)&&(!getEditorLock().isActive()||getEditorLock().commitCurrentEdit()))){scrollRowIntoView(t.row,!1);var n=e.target&&e.target.className===Slick.preClickClassName;setActiveCellInternal(getCellNode(t.row,t.cell),null,n)}}function handleContextMenu(e){var t=$(e.target).closest(\".slick-cell\",$canvas);0!==t.length&&(activeCellNode===t[0]&&null!==currentEditor||trigger(self.onContextMenu,{grid:self},e))}function handleDblClick(e){var t=getCellFromEvent(e);!t||null!==currentEditor&&activeRow==t.row&&activeCell==t.cell||(trigger(self.onDblClick,{row:t.row,cell:t.cell,grid:self},e),e.isImmediatePropagationStopped()||options.editable&&gotoCell(t.row,t.cell,!0))}function handleHeaderMouseEnter(e){trigger(self.onHeaderMouseEnter,{column:$(this).data(\"column\"),grid:self},e)}function handleHeaderMouseLeave(e){trigger(self.onHeaderMouseLeave,{column:$(this).data(\"column\"),grid:self},e)}function handleHeaderContextMenu(e){var t=$(e.target).closest(\".slick-header-column\",\".slick-header-columns\"),n=t&&t.data(\"column\");trigger(self.onHeaderContextMenu,{column:n,grid:self},e)}function handleHeaderClick(e){var t=$(e.target).closest(\".slick-header-column\",\".slick-header-columns\"),n=t&&t.data(\"column\");n&&trigger(self.onHeaderClick,{column:n,grid:self},e)}function handleMouseEnter(e){trigger(self.onMouseEnter,{grid:self},e)}function handleMouseLeave(e){trigger(self.onMouseLeave,{grid:self},e)}function cellExists(e,t){return!(e<0||e>=getDataLength()||t<0||t>=columns.length)}function getCellFromPoint(e,t){for(var n=getRowFromPosition(t),o=0,r=0,i=0;i<columns.length&&r<e;i++)r+=columns[i].width,o++;return o<0&&(o=0),{row:n,cell:o-1}}function getCellFromNode(e){var t=/l\\d+/.exec(e.className);if(!t)throw new Error(\"getCellFromNode: cannot get cell - \"+e.className);return parseInt(t[0].substr(1,t[0].length-1),10)}function getRowFromNode(e){for(var t in rowsCache)if(rowsCache[t].rowNode===e)return 0|t;return null}function getCellFromEvent(e){var t=$(e.target).closest(\".slick-cell\",$canvas);if(!t.length)return null;var n=getRowFromNode(t[0].parentNode),o=getCellFromNode(t[0]);return null==n||null==o?null:{row:n,cell:o}}function getCellNodeBox(e,t){if(!cellExists(e,t))return null;for(var n=getRowTop(e),o=n+options.rowHeight-1,r=0,i=0;i<t;i++)r+=columns[i].width;var l=r+columns[t].width;return{top:n,left:r,bottom:o,right:l}}function resetActiveCell(){setActiveCellInternal(null,!1)}function setFocus(){-1==tabbingDirection?$focusSink[0].focus():$focusSink2[0].focus()}function scrollCellIntoView(e,t,n){scrollRowIntoView(e,n);var o=getColspan(e,t);internalScrollColumnIntoView(columnPosLeft[t],columnPosRight[t+(o>1?o-1:0)])}function internalScrollColumnIntoView(e,t){var n=scrollLeft+viewportW;e<scrollLeft?($viewport.scrollLeft(e),handleScroll(),render()):t>n&&($viewport.scrollLeft(Math.min(e,t-$viewport[0].clientWidth)),handleScroll(),render())}function scrollColumnIntoView(e){internalScrollColumnIntoView(columnPosLeft[e],columnPosRight[e])}function setActiveCellInternal(e,t,n,o){null!==activeCellNode&&(makeActiveCellNormal(),$(activeCellNode).removeClass(\"active\"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).removeClass(\"active\"));null!=(activeCellNode=e)?(activeRow=getRowFromNode(activeCellNode.parentNode),activeCell=activePosX=getCellFromNode(activeCellNode),null==t&&(t=activeRow==getDataLength()||options.autoEdit),options.showCellSelection&&($(activeCellNode).addClass(\"active\"),$(rowsCache[activeRow].rowNode).addClass(\"active\")),options.editable&&t&&isCellPotentiallyEditable(activeRow,activeCell)&&(clearTimeout(h_editorLoader),options.asyncEditorLoading?h_editorLoader=setTimeout(function(){makeActiveCellEditable(void 0,n)},options.asyncEditorLoadDelay):makeActiveCellEditable(void 0,n))):activeRow=activeCell=null,o||trigger(self.onActiveCellChanged,getActiveCell())}function clearTextSelection(){if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges&&e.removeAllRanges()}}function isCellPotentiallyEditable(e,t){var n=getDataLength();return!(e<n&&!getDataItem(e))&&(!(columns[t].cannotTriggerInsert&&e>=n)&&!!getEditor(e,t))}function makeActiveCellNormal(){if(currentEditor){if(trigger(self.onBeforeCellEditorDestroy,{editor:currentEditor,grid:self}),currentEditor.destroy(),currentEditor=null,activeCellNode){var e=getDataItem(activeRow);if($(activeCellNode).removeClass(\"editable invalid\"),e){var t=columns[activeCell],n=getFormatter(activeRow,t),o=n(activeRow,activeCell,getDataItemValueForColumn(e,t),t,e,self);applyFormatResultToCellNode(o,activeCellNode),invalidatePostProcessingResults(activeRow)}}navigator.userAgent.toLowerCase().match(/msie/)&&clearTextSelection(),getEditorLock().deactivate(editController)}}function makeActiveCellEditable(e,t){if(activeCellNode){if(!options.editable)throw new Error(\"Grid : makeActiveCellEditable : should never get called when options.editable is false\");if(clearTimeout(h_editorLoader),isCellPotentiallyEditable(activeRow,activeCell)){var n=columns[activeCell],o=getDataItem(activeRow);if(!1!==trigger(self.onBeforeEditCell,{row:activeRow,cell:activeCell,item:o,column:n,grid:self})){getEditorLock().activate(editController),$(activeCellNode).addClass(\"editable\");var r=e||getEditor(activeRow,activeCell);e||r.suppressClearOnEdit||(activeCellNode.innerHTML=\"\"),currentEditor=new r({grid:self,gridPosition:absBox($container[0]),position:absBox(activeCellNode),container:activeCellNode,column:n,item:o||{},commitChanges:commitEditAndSetFocus,cancelChanges:cancelEditAndSetFocus}),o&&(currentEditor.loadValue(o),t&&currentEditor.preClick&&currentEditor.preClick()),serializedEditorValue=currentEditor.serializeValue(),currentEditor.position&&handleActiveCellPositionChange()}else setFocus()}}}function commitEditAndSetFocus(){getEditorLock().commitCurrentEdit()&&(setFocus(),options.autoEdit&&navigateDown())}function cancelEditAndSetFocus(){getEditorLock().cancelCurrentEdit()&&setFocus()}function absBox(e){var t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:$(e).outerWidth(),height:$(e).outerHeight(),visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;for(var n=e.offsetParent;(e=e.parentNode)!=document.body&&null!=e;)t.visible&&e.scrollHeight!=e.offsetHeight&&\"visible\"!=$(e).css(\"overflowY\")&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!=e.offsetWidth&&\"visible\"!=$(e).css(\"overflowX\")&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===n&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,n=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width;return t}function getActiveCellPosition(){return absBox(activeCellNode)}function getGridPosition(){return absBox($container[0])}function handleActiveCellPositionChange(){if(activeCellNode&&(trigger(self.onActiveCellPositionChanged,{grid:self}),currentEditor)){var e=getActiveCellPosition();currentEditor.show&&currentEditor.hide&&(e.visible?currentEditor.show():currentEditor.hide()),currentEditor.position&&currentEditor.position(e)}}function getCellEditor(){return currentEditor}function getActiveCell(){return activeCellNode?{row:activeRow,cell:activeCell,grid:self}:null}function getActiveCellNode(){return activeCellNode}function scrollRowIntoView(e,t){var n=e*options.rowHeight,o=(e+1)*options.rowHeight-viewportH+(viewportHasHScroll?scrollbarDimensions.height:0);(e+1)*options.rowHeight>scrollTop+viewportH+offset?(scrollTo(t?n:o),render()):e*options.rowHeight<scrollTop+offset&&(scrollTo(t?o:n),render())}function scrollRowToTop(e){scrollTo(e*options.rowHeight),render()}function scrollPage(e){var t=e*numVisibleRows;if(scrollTo((getRowFromPosition(scrollTop)+t)*options.rowHeight),render(),options.enableCellNavigation&&null!=activeRow){var n=activeRow+t,o=getDataLengthIncludingAddNew();n>=o&&(n=o-1),n<0&&(n=0);for(var r=0,i=null,l=activePosX;r<=activePosX;)canCellBeActive(n,r)&&(i=r),r+=getColspan(n,r);null!==i?(setActiveCellInternal(getCellNode(n,i)),activePosX=l):resetActiveCell()}}function navigatePageDown(){scrollPage(1)}function navigatePageUp(){scrollPage(-1)}function getColspan(e,t){var n=data.getItemMetadata&&data.getItemMetadata(e);if(!n||!n.columns)return 1;var o=n.columns[columns[t].id]||n.columns[t],r=o&&o.colspan;return r=\"*\"===r?columns.length-t:r||1}function findFirstFocusableCell(e){for(var t=0;t<columns.length;){if(canCellBeActive(e,t))return t;t+=getColspan(e,t)}return null}function findLastFocusableCell(e){for(var t=0,n=null;t<columns.length;)canCellBeActive(e,t)&&(n=t),t+=getColspan(e,t);return n}function gotoRight(e,t,n){if(t>=columns.length)return null;do{t+=getColspan(e,t)}while(t<columns.length&&!canCellBeActive(e,t));return t<columns.length?{row:e,cell:t,posX:t}:null}function gotoLeft(e,t,n){if(t<=0)return null;var o=findFirstFocusableCell(e);if(null===o||o>=t)return null;for(var r,i={row:e,cell:o,posX:o};;){if(!(r=gotoRight(i.row,i.cell,i.posX)))return null;if(r.cell>=t)return i;i=r}}function gotoDown(e,t,n){for(var o,r=getDataLengthIncludingAddNew();;){if(++e>=r)return null;for(o=t=0;t<=n;)o=t,t+=getColspan(e,t);if(canCellBeActive(e,o))return{row:e,cell:o,posX:n}}}function gotoUp(e,t,n){for(var o;;){if(--e<0)return null;for(o=t=0;t<=n;)o=t,t+=getColspan(e,t);if(canCellBeActive(e,o))return{row:e,cell:o,posX:n}}}function gotoNext(e,t,n){if(null==e&&null==t&&(e=t=n=0,canCellBeActive(e,t)))return{row:e,cell:t,posX:t};var o=gotoRight(e,t,n);if(o)return o;var r=null,i=getDataLengthIncludingAddNew();for(e===i-1&&e--;++e<i;)if(null!==(r=findFirstFocusableCell(e)))return{row:e,cell:r,posX:r};return null}function gotoPrev(e,t,n){if(null==e&&null==t&&(e=getDataLengthIncludingAddNew()-1,t=n=columns.length-1,canCellBeActive(e,t)))return{row:e,cell:t,posX:t};for(var o,r;!o&&!(o=gotoLeft(e,t,n));){if(--e<0)return null;t=0,null!==(r=findLastFocusableCell(e))&&(o={row:e,cell:r,posX:r})}return o}function navigateRight(){return navigate(\"right\")}function navigateLeft(){return navigate(\"left\")}function navigateDown(){return navigate(\"down\")}function navigateUp(){return navigate(\"up\")}function navigateNext(){return navigate(\"next\")}function navigatePrev(){return navigate(\"prev\")}function navigate(e){if(!options.enableCellNavigation)return!1;if(!activeCellNode&&\"prev\"!=e&&\"next\"!=e)return!1;if(!getEditorLock().commitCurrentEdit())return!0;setFocus();tabbingDirection={up:-1,down:1,left:-1,right:1,prev:-1,next:1}[e];var t={up:gotoUp,down:gotoDown,left:gotoLeft,right:gotoRight,prev:gotoPrev,next:gotoNext},n=t[e],o=n(activeRow,activeCell,activePosX);if(o){var r=o.row==getDataLength();return scrollCellIntoView(o.row,o.cell,!r),setActiveCellInternal(getCellNode(o.row,o.cell)),activePosX=o.posX,!0}return setActiveCellInternal(getCellNode(activeRow,activeCell)),!1}function getCellNode(e,t){return rowsCache[e]?(ensureCellNodesInRowsCache(e),rowsCache[e].cellNodesByColumnIdx[t]):null}function setActiveCell(e,t,n,o,r){initialized&&(e>getDataLength()||e<0||t>=columns.length||t<0||options.enableCellNavigation&&(scrollCellIntoView(e,t,!1),setActiveCellInternal(getCellNode(e,t),n,o,r)))}function canCellBeActive(e,t){if(!options.enableCellNavigation||e>=getDataLengthIncludingAddNew()||e<0||t>=columns.length||t<0)return!1;var n=data.getItemMetadata&&data.getItemMetadata(e);if(n&&\"boolean\"==typeof n.focusable)return n.focusable;var o=n&&n.columns;return o&&o[columns[t].id]&&\"boolean\"==typeof o[columns[t].id].focusable?o[columns[t].id].focusable:o&&o[t]&&\"boolean\"==typeof o[t].focusable?o[t].focusable:columns[t].focusable}function canCellBeSelected(e,t){if(e>=getDataLength()||e<0||t>=columns.length||t<0)return!1;var n=data.getItemMetadata&&data.getItemMetadata(e);if(n&&\"boolean\"==typeof n.selectable)return n.selectable;var o=n&&n.columns&&(n.columns[columns[t].id]||n.columns[t]);return o&&\"boolean\"==typeof o.selectable?o.selectable:columns[t].selectable}function gotoCell(e,t,n){if(initialized&&canCellBeActive(e,t)&&getEditorLock().commitCurrentEdit()){scrollCellIntoView(e,t,!1);var o=getCellNode(e,t);setActiveCellInternal(o,n||e===getDataLength()||options.autoEdit),currentEditor||setFocus()}}function commitCurrentEdit(){var e=getDataItem(activeRow),t=columns[activeCell];if(currentEditor){if(currentEditor.isValueChanged()){var n=currentEditor.validate();if(n.valid){if(activeRow<getDataLength()){var o={row:activeRow,cell:activeCell,editor:currentEditor,serializedValue:currentEditor.serializeValue(),prevSerializedValue:serializedEditorValue,execute:function(){this.editor.applyValue(e,this.serializedValue),updateRow(this.row),trigger(self.onCellChange,{row:activeRow,cell:activeCell,item:e,grid:self})},undo:function(){this.editor.applyValue(e,this.prevSerializedValue),updateRow(this.row),trigger(self.onCellChange,{row:activeRow,cell:activeCell,item:e,grid:self})}};options.editCommandHandler?(makeActiveCellNormal(),options.editCommandHandler(e,t,o)):(o.execute(),makeActiveCellNormal())}else{var r={};currentEditor.applyValue(r,currentEditor.serializeValue()),makeActiveCellNormal(),trigger(self.onAddNewRow,{item:r,column:t,grid:self})}return!getEditorLock().isActive()}return $(activeCellNode).removeClass(\"invalid\"),$(activeCellNode).width(),$(activeCellNode).addClass(\"invalid\"),trigger(self.onValidationError,{editor:currentEditor,cellNode:activeCellNode,validationResults:n,row:activeRow,cell:activeCell,column:t,grid:self}),currentEditor.focus(),!1}makeActiveCellNormal()}return!0}function cancelCurrentEdit(){return makeActiveCellNormal(),!0}function rowsToRanges(e){for(var t=[],n=columns.length-1,o=0;o<e.length;o++)t.push(new Slick.Range(e[o],0,e[o],n));return t}function getSelectedRows(){if(!selectionModel)throw new Error(\"Selection model is not set\");return selectedRows}function setSelectedRows(e){if(!selectionModel)throw new Error(\"Selection model is not set\");selectionModel.setSelectedRanges(rowsToRanges(e))}$.fn.drag||require(414),$.fn.drop||require(415);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=[];this.debug=function(){var e=\"\";e+=\"\\ncounter_rows_rendered:  \"+counter_rows_rendered,e+=\"\\ncounter_rows_removed:  \"+counter_rows_removed,e+=\"\\nrenderedRows:  \"+renderedRows,e+=\"\\nnumVisibleRows:  \"+numVisibleRows,e+=\"\\nmaxSupportedCssHeight:  \"+maxSupportedCssHeight,e+=\"\\nn(umber of pages):  \"+n,e+=\"\\n(current) page:  \"+page,e+=\"\\npage height (ph):  \"+ph,e+=\"\\nvScrollDir:  \"+vScrollDir,alert(e)},this.eval=function(expr){return eval(expr)},$.extend(this,{slickGridVersion:\"2.3.4\",onScroll:new Slick.Event,onSort:new Slick.Event,onHeaderMouseEnter:new Slick.Event,onHeaderMouseLeave:new Slick.Event,onHeaderContextMenu:new Slick.Event,onHeaderClick:new Slick.Event,onHeaderCellRendered:new Slick.Event,onBeforeHeaderCellDestroy:new Slick.Event,onHeaderRowCellRendered:new Slick.Event,onFooterRowCellRendered:new Slick.Event,onBeforeHeaderRowCellDestroy:new Slick.Event,onBeforeFooterRowCellDestroy:new Slick.Event,onMouseEnter:new Slick.Event,onMouseLeave:new Slick.Event,onClick:new Slick.Event,onDblClick:new Slick.Event,onContextMenu:new Slick.Event,onKeyDown:new Slick.Event,onAddNewRow:new Slick.Event,onBeforeAppendCell:new Slick.Event,onValidationError:new Slick.Event,onViewportChanged:new Slick.Event,onColumnsReordered:new Slick.Event,onColumnsResized:new Slick.Event,onCellChange:new Slick.Event,onBeforeEditCell:new Slick.Event,onBeforeCellEditorDestroy:new Slick.Event,onBeforeDestroy:new Slick.Event,onActiveCellChanged:new Slick.Event,onActiveCellPositionChanged:new Slick.Event,onDragInit:new Slick.Event,onDragStart:new Slick.Event,onDrag:new Slick.Event,onDragEnd:new Slick.Event,onSelectedRowsChanged:new Slick.Event,onCellCssStylesChanged:new Slick.Event,registerPlugin:registerPlugin,unregisterPlugin:unregisterPlugin,getColumns:getColumns,setColumns:setColumns,getColumnIndex:getColumnIndex,updateColumnHeader:updateColumnHeader,setSortColumn:setSortColumn,setSortColumns:setSortColumns,getSortColumns:getSortColumns,autosizeColumns:autosizeColumns,getOptions:getOptions,setOptions:setOptions,getData:getData,getDataLength:getDataLength,getDataItem:getDataItem,setData:setData,getSelectionModel:getSelectionModel,setSelectionModel:setSelectionModel,getSelectedRows:getSelectedRows,setSelectedRows:setSelectedRows,getContainerNode:getContainerNode,updatePagingStatusFromView:updatePagingStatusFromView,render:render,invalidate:invalidate,invalidateRow:invalidateRow,invalidateRows:invalidateRows,invalidateAllRows:invalidateAllRows,updateCell:updateCell,updateRow:updateRow,getViewport:getVisibleRange,getRenderedRange:getRenderedRange,resizeCanvas:resizeCanvas,updateRowCount:updateRowCount,scrollRowIntoView:scrollRowIntoView,scrollRowToTop:scrollRowToTop,scrollCellIntoView:scrollCellIntoView,scrollColumnIntoView:scrollColumnIntoView,getCanvasNode:getCanvasNode,getUID:getUID,getHeaderColumnWidthDiff:getHeaderColumnWidthDiff,getScrollbarDimensions:getScrollbarDimensions,getHeadersWidth:getHeadersWidth,getCanvasWidth:getCanvasWidth,focus:setFocus,getCellFromPoint:getCellFromPoint,getCellFromEvent:getCellFromEvent,getActiveCell:getActiveCell,setActiveCell:setActiveCell,getActiveCellNode:getActiveCellNode,getActiveCellPosition:getActiveCellPosition,resetActiveCell:resetActiveCell,editActiveCell:makeActiveCellEditable,getCellEditor:getCellEditor,getCellNode:getCellNode,getCellNodeBox:getCellNodeBox,canCellBeSelected:canCellBeSelected,canCellBeActive:canCellBeActive,navigatePrev:navigatePrev,navigateNext:navigateNext,navigateUp:navigateUp,navigateDown:navigateDown,navigateLeft:navigateLeft,navigateRight:navigateRight,navigatePageUp:navigatePageUp,navigatePageDown:navigatePageDown,gotoCell:gotoCell,getTopPanel:getTopPanel,setTopPanelVisibility:setTopPanelVisibility,getPreHeaderPanel:getPreHeaderPanel,setPreHeaderPanelVisibility:setPreHeaderPanelVisibility,setHeaderRowVisibility:setHeaderRowVisibility,getHeaderRow:getHeaderRow,getHeaderRowColumn:getHeaderRowColumn,setFooterRowVisibility:setFooterRowVisibility,getFooterRow:getFooterRow,getFooterRowColumn:getFooterRowColumn,getGridPosition:getGridPosition,flashCell:flashCell,addCellCssStyles:addCellCssStyles,setCellCssStyles:setCellCssStyles,removeCellCssStyles:removeCellCssStyles,getCellCssStyles:getCellCssStyles,init:finishInitialization,destroy:destroy,getEditorLock:getEditorLock,getEditController:getEditController}),init()}/**\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(420),Slick=require(418),scrollbarDimensions,maxSupportedCssHeight;module.exports={Grid:SlickGrid}},420:function(e,t,n){t.exports=\"undefined\"!=typeof $?$:e(413)},421:function(e,t,n){function o(e,t,n){return i(e,t,n)}var r=e(422),i=r.template;o._=r,t.exports=o,\"function\"==typeof define&&define.amd?define(function(){return o}):\"undefined\"==typeof window&&\"undefined\"==typeof navigator||(window.UnderscoreTemplate=o)},422:function(e,t,n){\n",
       "      //     (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n",
       "      //     Underscore may be freely distributed under the MIT license.\n",
       "      var o={},r=Array.prototype,i=Object.prototype,l=r.slice,a=i.toString,s=i.hasOwnProperty,u=r.forEach,c=Object.keys,d=Array.isArray,p=function(){},f=p.each=p.forEach=function(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(t.call(n,e[r],r,e)===o)return}else for(var l=p.keys(e),r=0,i=l.length;r<i;r++)if(t.call(n,e[l[r]],l[r],e)===o)return};p.keys=c||function(e){if(e!==Object(e))throw new TypeError(\"Invalid object\");var t=[];for(var n in e)p.has(e,n)&&t.push(n);return t},p.defaults=function(e){return f(l.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e},p.isArray=d||function(e){return\"[object Array]\"===a.call(e)},p.has=function(e,t){if(!p.isArray(t))return null!=e&&s.call(e,t);for(var n=t.length,o=0;o<n;o++){var r=t[o];if(null==e||!s.call(e,r))return!1;e=e[r]}return!!n};var h={escape:{\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#x27;\"}},g={escape:new RegExp(\"[\"+p.keys(h.escape).join(\"\")+\"]\",\"g\")};p.each([\"escape\"],function(e){p[e]=function(t){return null==t?\"\":(\"\"+t).replace(g[e],function(t){return h[e][t]})}}),p.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var m=/(.)^/,v={\"'\":\"'\",\"\\\\\":\"\\\\\",\"\\r\":\"r\",\"\\n\":\"n\",\"\\t\":\"t\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},w=/\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;p.template=function(e,t,n){var o;n=p.defaults({},n,p.templateSettings);var r=new RegExp([(n.escape||m).source,(n.interpolate||m).source,(n.evaluate||m).source].join(\"|\")+\"|$\",\"g\"),i=0,l=\"__p+='\";e.replace(r,function(t,n,o,r,a){return l+=e.slice(i,a).replace(w,function(e){return\"\\\\\"+v[e]}),n&&(l+=\"'+\\n((__t=(\"+n+\"))==null?'':_.escape(__t))+\\n'\"),o&&(l+=\"'+\\n((__t=(\"+o+\"))==null?'':__t)+\\n'\"),r&&(l+=\"';\\n\"+r+\"\\n__p+='\"),i=a+t.length,t}),l+=\"';\\n\",n.variable||(l=\"with(obj||{}){\\n\"+l+\"}\\n\"),l=\"var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\\n\"+l+\"return __p;\\n\";try{o=new Function(n.variable||\"obj\",\"_\",l)}catch(e){throw e.source=l,e}if(t)return o(t,p);var a=function(e){return o.call(this,e,p)};return a.source=\"function(\"+(n.variable||\"obj\")+\"){\\n\"+l+\"}\",a},t.exports=p}},{\"models/widgets/tables/cell_editors\":405,\"models/widgets/tables/cell_formatters\":406,\"models/widgets/tables/data_table\":407,\"models/widgets/tables/index\":408,\"models/widgets/tables/main\":409,\"models/widgets/tables/table_column\":410,\"models/widgets/tables/table_widget\":411,\"models/widgets/widget\":412})}(a8274.Bokeh)}(this);/*!\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",
       "\n",
       "      //# sourceMappingURL=bokeh-tables.min.js.map\n",
       "\n",
       "      /* END bokeh-tables.min.js */\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      /* BEGIN bokeh-gl.min.js */\n",
       "      !function(t,e){!function(t){(function(e,n,a){if(null!=t)return t.register_plugin(e,n,427);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({423:function(t,e,n){var a=t(26),s=function(){function t(t,e){this.gl=t,this.glyph=e,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.init()}return t.prototype.set_data_changed=function(t){return t!==this.nvertices&&(this.nvertices=t,this.size_changed=!0),this.data_changed=!0},t.prototype.set_visuals_changed=function(){return this.visuals_changed=!0},t.prototype.render=function(t,e,n){var a,s,i,r,o,l,_;return l=_=1,h=this.glyph.renderer.map_to_screen([0*l,1*l,2*l],[0*_,1*_,2*_]),a=h[0],s=h[1],l=100/Math.min(Math.max(Math.abs(a[1]-a[0]),1e-12),1e12),_=100/Math.min(Math.max(Math.abs(s[1]-s[0]),1e-12),1e12),c=this.glyph.renderer.map_to_screen([0*l,1*l,2*l],[0*_,1*_,2*_]),a=c[0],s=c[1],!(Math.abs(a[1]-a[0]-(a[2]-a[1]))>1e-6||Math.abs(s[1]-s[0]-(s[2]-s[1]))>1e-6)&&(u=[(a[1]-a[0])/l,(s[1]-s[0])/_],i=u[0],r=u[1],o={pixel_ratio:t.pixel_ratio,width:t.glcanvas.width,height:t.glcanvas.height,dx:a[0]/i,dy:s[0]/r,sx:i,sy:r},this.draw(e,n,o),!0);var h,c,u},t}();n.BaseGLGlyph=s,s.prototype.GLYPH=\"\",s.prototype.VERT=\"\",s.prototype.FRAG=\"\",n.line_width=function(t){return t<2&&(t=Math.sqrt(2*t)),t},n.fill_array_with_float=function(t,e){var n,a,s,i;for(n=new Float32Array(t),a=s=0,i=t;0<=i?s<i:s>i;a=0<=i?++s:--s)n[a]=e;return n},n.fill_array_with_vec=function(t,e,n){var a,s,i,r,o,l,_;for(a=new Float32Array(t*e),s=r=0,l=t;0<=l?r<l:r>l;s=0<=l?++r:--r)for(i=o=0,_=e;0<=_?o<_:o>_;i=0<=_?++o:--o)a[s*e+i]=n[i];return a},n.visual_prop_is_singular=function(t,e){return void 0!==t[e].spec.value},n.attach_float=function(t,e,a,s,i,r){var o;return i.doit?n.visual_prop_is_singular(i,r)?(e.used=!1,t.set_attribute(a,\"float\",i[r].value())):(e.used=!0,o=new Float32Array(i.cache[r+\"_array\"]),e.set_size(4*s),e.set_data(0,o),t.set_attribute(a,\"float\",e)):(e.used=!1,t.set_attribute(a,\"float\",[0]))},n.attach_color=function(t,e,s,i,r,o){var l,_,h,c,u,f,d,p,g,v,y,x;if(4,c=o+\"_color\",_=o+\"_alpha\",r.doit){if(n.visual_prop_is_singular(r,c)&&n.visual_prop_is_singular(r,_))return e.used=!1,x=a.color2rgba(r[c].value(),r[_].value()),t.set_attribute(s,\"vec4\",x);for(e.used=!0,u=n.visual_prop_is_singular(r,c)?function(){var t,e,n;for(n=[],f=t=0,e=i;0<=e?t<e:t>e;f=0<=e?++t:--t)n.push(r[c].value());return n}():r.cache[c+\"_array\"],h=n.visual_prop_is_singular(r,_)?n.fill_array_with_float(i,r[_].value()):r.cache[_+\"_array\"],l=new Float32Array(4*i),f=p=0,v=i;0<=v?p<v:p>v;f=0<=v?++p:--p)for(x=a.color2rgba(u[f],h[f]),d=g=0,y=4;0<=y?g<y:g>y;d=0<=y?++g:--g)l[4*f+d]=x[d];return e.set_size(4*i*4),e.set_data(0,l),t.set_attribute(s,\"vec4\",e)}return e.used=!1,t.set_attribute(s,\"vec4\",[0,0,0,0])}},424:function(t,e,n){var a,s,i,r,o,l,_,h,c,u=function(t,e){return Array.isArray(t)&&Array.isArray(e)?t.concat(e):t+e},f=function(t,e){if(null==e);else{if(Array.isArray(e)){for(var n=0;n<e.length;n++)if(d(t,e[n]))return!0;return!1}if(e.constructor===Object){for(var a in e)if(t==a)return!0;return!1}if(e.constructor==String)return e.indexOf(t)>=0}var s=Error(\"Not a container: \"+e);throw s.name=\"TypeError\",s},d=function t(e,n){if(null==e||null==n);else{if(Array.isArray(e)&&Array.isArray(n)){for(var a=0,s=e.length==n.length;s&&a<e.length;)s=t(e[a],n[a]),a+=1;return s}if(e.constructor===Object&&n.constructor===Object){var i=Object.keys(e),r=Object.keys(n);i.sort(),r.sort();for(var o,a=0,s=t(i,r);s&&a<i.length;)o=i[a],s=t(e[o],n[o]),a+=1;return s}}return e==n},p=function(t,e){if(void 0===t||\"undefined\"!=typeof window&&window===t||\"undefined\"!=typeof global&&global===t)throw\"Class constructor is called as a function.\";for(var n in t)void 0!==Object[n]||\"function\"!=typeof t[n]||t[n].nobind||(t[n]=t[n].bind(t));t.__init__&&t.__init__.apply(t,e)},g=function(t,e){if((\"number\"==typeof t)+(\"number\"==typeof e)===1){if(t.constructor===String)return b.call(t,e);if(e.constructor===String)return b.call(e,t);if(Array.isArray(e)){var n=t;t=e,e=n}if(Array.isArray(t)){for(var a=[],s=0;s<e;s++)a=a.concat(t);return a}}return t*e},v=function(t){return null===t||\"object\"!=typeof t?t:void 0!==t.length?!!t.length&&t:void 0!==t.byteLength?!!t.byteLength&&t:t.constructor!==Object||!!Object.getOwnPropertyNames(t).length&&t},y=function(t){if(!Array.isArray(this))return this.append.apply(this,arguments);this.push(t)},x=function(t,e){return this.constructor!==Object?this.get.apply(this,arguments):void 0!==this[t]?this[t]:void 0!==e?e:null},m=function(t){if(!Array.isArray(this))return this.remove.apply(this,arguments);for(var e=0;e<this.length;e++)if(d(this[e],t))return void this.splice(e,1);var n=Error(t);throw n.name=\"ValueError\",n},b=function(t){if(this.repeat)return this.repeat(t);if(t<1)return\"\";for(var e=\"\",n=this.valueOf();t>1;)1&t&&(e+=n),t>>=1,n+=n;return e+n},w=function(t){return this.constructor!==String?this.startswith.apply(this,arguments):0==this.indexOf(t)};c=window.console,h=function(t,e){var n,a,s,i,r,o,l;for(e=void 0===e?\"periodic check\":e,i=[];a=t.getError(),!(d(a,t.NO_ERROR)||v(i)&&d(a,i[i.length-1]));)y.call(i,a);if(i.length){for(r=\"\",\"object\"!=typeof(o=i)||Array.isArray(o)||(o=Object.keys(o)),l=0;l<o.length;l+=1)n=o[l],r=u(r,n);throw s=new Error(\"RuntimeError:OpenGL got errors (\"+e+\"): \"+r),s.name=\"RuntimeError\",s}return null},(s=function(){p(this,arguments)}).prototype._base_class=Object,s.prototype._class_name=\"GlooObject\",s.prototype.__init__=function(t){if(this._gl=t,this.handle=null,this._create(),null===this.handle)throw\"AssertionError: this.handle !== null\";return null},s.prototype._create=function(){var t;throw t=new Error(\"NotImplementedError:\"),t.name=\"NotImplementedError\",t},((r=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,r.prototype._class_name=\"Program\",r.prototype.UTYPEMAP={float:\"uniform1fv\",vec2:\"uniform2fv\",vec3:\"uniform3fv\",vec4:\"uniform4fv\",int:\"uniform1iv\",ivec2:\"uniform2iv\",ivec3:\"uniform3iv\",ivec4:\"uniform4iv\",bool:\"uniform1iv\",bvec2:\"uniform2iv\",bvec3:\"uniform3iv\",bvec4:\"uniform4iv\",mat2:\"uniformMatrix2fv\",mat3:\"uniformMatrix3fv\",mat4:\"uniformMatrix4fv\",sampler1D:\"uniform1i\",sampler2D:\"uniform1i\",sampler3D:\"uniform1i\"},r.prototype.ATYPEMAP={float:\"vertexAttrib1f\",vec2:\"vertexAttrib2f\",vec3:\"vertexAttrib3f\",vec4:\"vertexAttrib4f\"},r.prototype.ATYPEINFO={float:[1,5126],vec2:[2,5126],vec3:[3,5126],vec4:[4,5126]},r.prototype._create=function(){return this.handle=this._gl.createProgram(),this.locations={},this._unset_variables=[],this._validated=!1,this._samplers={},this._attributes={},this._known_invalid=[],null},r.prototype.delete=function(){return this._gl.deleteProgram(this.handle),null},r.prototype.activate=function(){return this._gl.useProgram(this.handle),null},r.prototype.deactivate=function(){return this._gl.useProgram(0),null},r.prototype.set_shaders=function(t,e){var n,a,s,i,r,o,l,_,h,c,f,d,p;for(o=this._gl,this._linked=!1,p=o.createShader(o.VERTEX_SHADER),r=o.createShader(o.FRAGMENT_SHADER),f=[[t,p,\"vertex\"],[e,r,\"fragment\"]],_=0;_<2;_+=1)if(c=f[_],n=c[0],l=c[1],d=c[2],o.shaderSource(l,n),o.compileShader(l),h=o.getShaderParameter(l,o.COMPILE_STATUS),!v(h))throw i=o.getShaderInfoLog(l),s=new Error(\"RuntimeError:\"+u(\"errors in \"+d+\" shader:\\n\",i)),s.name=\"RuntimeError\",s;if(o.attachShader(this.handle,p),o.attachShader(this.handle,r),o.linkProgram(this.handle),!v(o.getProgramParameter(this.handle,o.LINK_STATUS)))throw a=new Error(\"RuntimeError:Program link error:\\n\"+o.getProgramInfoLog(this.handle)),a.name=\"RuntimeError\",a;return this._unset_variables=this._get_active_attributes_and_uniforms(),o.detachShader(this.handle,p),o.detachShader(this.handle,r),o.deleteShader(p),o.deleteShader(r),this._known_invalid=[],this._linked=!0,null},r.prototype._get_active_attributes_and_uniforms=function(){var t,e,n,a,s,i,r,o,l,_,h,c,f,d,p,g,x,m,b;for(o=this._gl,this.locations={},d=new window.RegExp(\"(\\\\w+)\\\\s*(\\\\[(\\\\d+)\\\\])\\\\s*\"),s=o.getProgramParameter(this.handle,o.ACTIVE_UNIFORMS),e=o.getProgramParameter(this.handle,o.ACTIVE_ATTRIBUTES),m=[],\"object\"!=typeof(g=[[t=[],e,o.getActiveAttrib,o.getAttribLocation],[m,s,o.getActiveUniform,o.getUniformLocation]])||Array.isArray(g)||(g=Object.keys(g)),x=0;x<g.length;x+=1)for(b=g[x],n=(p=b)[0],a=p[1],i=p[2],r=p[3],l=0;l<a;l+=1){if(_=i.call(o,this.handle,l),f=_.name,c=f.match(d),v(c))for(f=c[1],h=0;h<_.size;h+=1)y.call(n,[f+\"[\"+h+\"]\",_.type]);else y.call(n,[f,_.type]);this.locations[f]=r.call(o,this.handle,f)}return u(function(){var e,n,a,s=[];for(\"object\"!=typeof(n=t)||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a++)e=n[a],s.push(e[0]);return s}.apply(this),function(){var t,e,n,a=[];for(\"object\"!=typeof(e=m)||Array.isArray(e)||(e=Object.keys(e)),n=0;n<e.length;n++)t=e[n],a.push(t[0]);return a}.apply(this))},r.prototype.set_texture=function(t,e){var n,a,s;if(!v(this._linked))throw n=new Error(\"RuntimeError:Cannot set uniform when program has no code\"),n.name=\"RuntimeError\",n;return a=x.call(this.locations,t,-1),v(a<0)?(f(t,this._known_invalid)||(y.call(this._known_invalid,t),c.log(\"Variable \"+t+\" is not an active texture\")),null):(f(t,this._unset_variables)&&m.call(this._unset_variables,t),this.activate(),s=function(){return\"function\"==typeof this.keys?this.keys.apply(this,arguments):Object.keys(this)}.call(this._samplers).length,f(t,this._samplers)&&(s=this._samplers[t][this._samplers[t].length-1]),this._samplers[t]=[e._target,e.handle,s],this._gl.uniform1i(a,s),null)},r.prototype.set_uniform=function(t,e,n){var a,s,i,r,o,l,_;if(!v(this._linked))throw i=new Error(\"RuntimeError:Cannot set uniform when program has no code\"),i.name=\"RuntimeError\",i;if(o=x.call(this.locations,t,-1),v(o<0))return f(t,this._known_invalid)||(y.call(this._known_invalid,t),c.log(\"Variable \"+t+\" is not an active uniform\")),null;if(f(t,this._unset_variables)&&m.call(this._unset_variables,t),s=1,w.call(e,\"mat\")||(a=x.call({int:\"float\",bool:\"float\"},e,function(t){if(this.constructor!==String)return this.lstrip.apply(this,arguments);t=void 0===t?\" \\t\\r\\n\":t;for(var e=0;e<this.length;e++)if(t.indexOf(this[e])<0)return this.slice(e);return\"\"}.call(e,\"ib\")),s=Math.floor(n.length/this.ATYPEINFO[a][0])),v(s>1))for(l=0;l<s;l+=1)f(t+\"[\"+l+\"]\",this._unset_variables)&&f(_=t+\"[\"+l+\"]\",this._unset_variables)&&m.call(this._unset_variables,_);return r=this.UTYPEMAP[e],this.activate(),w.call(e,\"mat\")?this._gl[r](o,!1,n):this._gl[r](o,n),null},r.prototype.set_attribute=function(t,e,n,a,s){var i,r,o,l,h,u,d,p;if(a=void 0===a?0:a,s=void 0===s?0:s,!v(this._linked))throw r=new Error(\"RuntimeError:Cannot set attribute when program has no code\"),r.name=\"RuntimeError\",r;return u=n instanceof _,h=x.call(this.locations,t,-1),v(h<0)?(f(t,this._known_invalid)||(y.call(this._known_invalid,t),v(u)&&v(s>0)||c.log(\"Variable \"+t+\" is not an active attribute\")),null):(f(t,this._unset_variables)&&m.call(this._unset_variables,t),this.activate(),v(u)?(p=this.ATYPEINFO[e],d=p[0],l=p[1],o=\"vertexAttribPointer\",i=[d,l,this._gl.FALSE,a,s],this._attributes[t]=[n.handle,h,o,i]):(o=this.ATYPEMAP[e],this._attributes[t]=[0,h,o,n]),null)},r.prototype._pre_draw=function(){var t,e,n,a,s,i,r,o,l,_,h,c;this.activate(),r=this._samplers;for(c in r)r.hasOwnProperty(c)&&(c=r[c],l=(i=c)[0],o=i[1],_=i[2],this._gl.activeTexture(u(this._gl.TEXTURE0,_)),this._gl.bindTexture(l,o));s=this._attributes;for(c in s)s.hasOwnProperty(c)&&(c=s[c],h=(a=c)[0],e=a[1],n=a[2],t=a[3],v(h)?(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,h),this._gl.enableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))):(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,null),this._gl.disableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))));return v(this._validated)||(this._validated=!0,this._validate()),null},r.prototype._validate=function(){var t;if(this._unset_variables.length&&c.log(\"Program has unset variables: \"+this._unset_variables),this._gl.validateProgram(this.handle),!v(this._gl.getProgramParameter(this.handle,this._gl.VALIDATE_STATUS)))throw c.log(this._gl.getProgramInfoLog(this.handle)),t=new Error(\"RuntimeError:Program validation error\"),t.name=\"RuntimeError\",t;return null},r.prototype.draw=function(t,e){var n,a,s,r,o;if(!v(this._linked))throw a=new Error(\"RuntimeError:Cannot draw program if code has not been set\"),a.name=\"RuntimeError\",a;return h(this._gl,\"before draw\"),v(e instanceof i)?(this._pre_draw(),e.activate(),n=e._buffer_size/2,r=this._gl.UNSIGNED_SHORT,this._gl.drawElements(t,n,r,0),e.deactivate()):(s=(o=e)[0],n=o[1],v(n)&&(this._pre_draw(),this._gl.drawArrays(t,s,n))),h(this._gl,\"after draw\"),null},((a=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,a.prototype._class_name=\"Buffer\",a.prototype._target=null,a.prototype._usage=35048,a.prototype._create=function(){return this.handle=this._gl.createBuffer(),this._buffer_size=0,null},a.prototype.delete=function(){return this._gl.deleteBuffer(this.handle),null},a.prototype.activate=function(){return this._gl.bindBuffer(this._target,this.handle),null},a.prototype.deactivate=function(){return this._gl.bindBuffer(this._target,null),null},a.prototype.set_size=function(t){return d(t,this._buffer_size)||(this.activate(),this._gl.bufferData(this._target,t,this._usage),this._buffer_size=t),null},a.prototype.set_data=function(t,e){return this.activate(),this._gl.bufferSubData(this._target,t,e),null},(_=function(){p(this,arguments)}).prototype=Object.create(a.prototype),_.prototype._base_class=a.prototype,_.prototype._class_name=\"VertexBuffer\",_.prototype._target=34962,(i=function(){p(this,arguments)}).prototype=Object.create(a.prototype),i.prototype._base_class=a.prototype,i.prototype._class_name=\"IndexBuffer\",i.prototype._target=34963,((o=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,o.prototype._class_name=\"Texture2D\",o.prototype._target=3553,o.prototype._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},o.prototype._create=function(){return this.handle=this._gl.createTexture(),this._shape_format=null,null},o.prototype.delete=function(){return this._gl.deleteTexture(this.handle),null},o.prototype.activate=function(){return this._gl.bindTexture(this._target,this.handle),null},o.prototype.deactivate=function(){return this._gl.bindTexture(this._target,0),null},o.prototype._get_alignment=function(t){var e,n,a;for(\"object\"!=typeof(n=[4,8,2,1])||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a+=1)if(e=n[a],d(t%e,0))return e;return null},o.prototype.set_wrapping=function(t,e){return this.activate(),this._gl.texParameterf(this._target,this._gl.TEXTURE_WRAP_S,t),this._gl.texParameterf(this._target,this._gl.TEXTURE_WRAP_T,e),null},o.prototype.set_interpolation=function(t,e){return this.activate(),this._gl.texParameterf(this._target,this._gl.TEXTURE_MIN_FILTER,t),this._gl.texParameterf(this._target,this._gl.TEXTURE_MAG_FILTER,e),null},o.prototype.set_size=function(t,e){var n,a,s;return a=t,n=a[0],s=a[1],d([n,s,e],this._shape_format)||(this._shape_format=[n,s,e],this.activate(),this._gl.texImage2D(this._target,0,e,s,n,0,e,this._gl.UNSIGNED_BYTE,null)),this.u_shape=[n,s],null},o.prototype.set_data=function(t,e,n){var a,s,i,r,o,l,_,h,c,u;if(d(e.length,2)&&(e=[e[0],e[1],1]),this.activate(),i=this._shape_format[2],l=e,o=l[0],h=l[1],l[2],_=t,u=_[0],c=_[1],null===(r=x.call(this._types,n.constructor.name,null)))throw s=new Error(\"ValueError:Type \"+n.constructor.name+\" not allowed for texture\"),s.name=\"ValueError\",s;return a=this._get_alignment(g(e[e.length-2],e[e.length-1])),d(a,4)||this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,a),this._gl.texSubImage2D(this._target,0,c,u,h,o,i,r,n),d(a,4)||this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,4),null},((l=function(){p(this,arguments)}).prototype=Object.create(o.prototype))._base_class=o.prototype,l.prototype._class_name=\"Texture3DLike\",l.prototype.GLSL_SAMPLE_NEAREST=\"\\n        vec4 sample3D(sampler2D tex, vec3 texcoord, vec3 shape, vec2 tiles) {\\n            shape.xyz = shape.zyx;  // silly row-major convention\\n            float nrows = tiles.y, ncols = tiles.x;\\n            // Don't let adjacent frames be interpolated into this one\\n            texcoord.x = min(texcoord.x * shape.x, shape.x - 0.5);\\n            texcoord.x = max(0.5, texcoord.x) / shape.x;\\n            texcoord.y = min(texcoord.y * shape.y, shape.y - 0.5);\\n            texcoord.y = max(0.5, texcoord.y) / shape.y;\\n\\n            float zindex = floor(texcoord.z * shape.z);\\n\\n            // Do a lookup in the 2D texture\\n            float u = (mod(zindex, ncols) + texcoord.x) / ncols;\\n            float v = (floor(zindex / ncols) + texcoord.y) / nrows;\\n\\n            return texture2D(tex, vec2(u,v));\\n        }\\n    \",l.prototype.GLSL_SAMPLE_LINEAR=\"\\n        vec4 sample3D(sampler2D tex, vec3 texcoord, vec3 shape, vec2 tiles) {\\n            shape.xyz = shape.zyx;  // silly row-major convention\\n            float nrows = tiles.y, ncols = tiles.x;\\n            // Don't let adjacent frames be interpolated into this one\\n            texcoord.x = min(texcoord.x * shape.x, shape.x - 0.5);\\n            texcoord.x = max(0.5, texcoord.x) / shape.x;\\n            texcoord.y = min(texcoord.y * shape.y, shape.y - 0.5);\\n            texcoord.y = max(0.5, texcoord.y) / shape.y;\\n\\n            float z = texcoord.z * shape.z;\\n            float zindex1 = floor(z);\\n            float u1 = (mod(zindex1, ncols) + texcoord.x) / ncols;\\n            float v1 = (floor(zindex1 / ncols) + texcoord.y) / nrows;\\n\\n            float zindex2 = zindex1 + 1.0;\\n            float u2 = (mod(zindex2, ncols) + texcoord.x) / ncols;\\n            float v2 = (floor(zindex2 / ncols) + texcoord.y) / nrows;\\n\\n            vec4 s1 = texture2D(tex, vec2(u1, v1));\\n            vec4 s2 = texture2D(tex, vec2(u2, v2));\\n\\n            return s1 * (zindex2 - z) + s2 * (z - zindex1);\\n        }\\n    \",l.prototype._get_tile_info=function(t){var e,n,a,s;if(n=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),s=Math.floor(n/t[1]),s=Math.min(s,t[0]),a=window.Math.ceil(t[0]/s),v(g(a,t[2])>n))throw e=new Error(\"RuntimeError:Cannot fit 3D data with shape \"+t+\" onto simulated 2D texture.\"),e.name=\"RuntimeError\",e;return[s,a]},l.prototype.set_size=function(t,e){var n,a,s,i;return i=this._get_tile_info(t),a=i[0],n=i[1],s=[g(t[1],a),g(t[2],n)],l.prototype._base_class.set_size.call(this,s,e),this.u_shape=[t[0],t[1],t[2]],this.u_tiles=[n,a],null},l.prototype.set_data=function(t,e,n){var a,s,i,r,o,_,h,c,u,f,p,y,x;if(d(e.length,3)&&(e=[e[0],e[1],e[2],1]),!function(t){for(var e=0;e<t.length;e++)if(!v(t[e]))return!1;return!0}(function(){var e,n,a,s=[];for(\"object\"!=typeof(n=t)||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a++)e=n[a],s.push(d(e,0));return s}.apply(this)))throw r=new Error(\"ValueError:Texture3DLike does not support nonzero offset (for now)\"),r.name=\"ValueError\",r;if(u=this._get_tile_info(e),_=u[0],o=u[1],c=[g(e[1],_),g(e[2],o),e[3]],d(o,1))l.prototype._base_class.set_data.call(this,[0,0],c,n);else for(a=n.constructor,x=new a(g(g(c[0],c[1]),c[2])),l.prototype._base_class.set_data.call(this,[0,0],c,x),y=0;y<e[0];y+=1)f=[Math.floor(y/o),y%o],h=f[0],s=f[1],i=Math.floor(n.length/e[0]),p=n.slice(g(y,i),g(y+1,i)),l.prototype._base_class.set_data.call(this,[g(h,e[1]),g(s,e[2])],e.slice(1),p);return null},e.exports={Buffer:a,GlooObject:s,IndexBuffer:i,Program:r,Texture2D:o,Texture3DLike:l,VertexBuffer:_,check_error:h,console:c}},425:function(t,e,n){var a=t(364);a.__exportStar(t(426),n),a.__exportStar(t(428),n)},426:function(t,e,n){var a,s=t(364),i=t(424),r=t(423),o=t(26);a=function(){function t(t){this._atlas={},this._index=0,this._width=256,this._height=256,this.tex=new i.Texture2D(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._height,this._width],t.RGBA),this.tex.set_data([0,0],[this._height,this._width],new Uint8Array(this._height*this._width*4)),this.get_atlas_data([1])}return t.prototype.get_atlas_data=function(t){var e,n,a,s;return n=t.join(\"-\"),void 0===this._atlas[n]&&(i=this.make_pattern(t),e=i[0],a=i[1],this.tex.set_data([this._index,0],[1,this._width],new Uint8Array(function(){var t,n,a;for(a=[],t=0,n=e.length;t<n;t++)s=e[t],a.push(s+10);return a}())),this._atlas[n]=[this._index/this._height,a],this._index+=1),this._atlas[n];var i},t.prototype.make_pattern=function(t){var e,n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w,P,A,E;for(t.length>1&&t.length%2&&(t=t.concat(t)),g=0,u=0,f=t.length;u<f;u++)w=t[u],g+=w;for(e=[],i=0,_=p=0,x=t.length+2;p<x;_=p+=2)a=Math.max(1e-4,t[_%t.length]),s=Math.max(1e-4,t[(_+1)%t.length]),e.push.apply(e,[i,i+a]),i+=a+s;for(d=this._width,n=new Float32Array(4*d),_=v=0,m=d;0<=m?v<m:v>m;_=0<=m?++v:--v){for(E=g*_/(d-1),h=0,A=1e16,c=y=0,b=e.length;0<=b?y<b:y>b;c=0<=b?++y:--y)(P=Math.abs(e[c]-E))<A&&(h=c,A=P);h%2==0?(l=E<=e[h]?1:0,o=e[h],r=e[h+1]):(l=E>e[h]?-1:0,o=e[h-1],r=e[h]),n[4*_+0]=e[h],n[4*_+1]=l,n[4*_+2]=o,n[4*_+3]=r}return[n,g]},t}();var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.init=function(){var t;return t=this.gl,this._scale_aspect=0,this.prog=new i.Program(t),this.prog.set_shaders(this.VERT,this.FRAG),this.index_buffer=new i.IndexBuffer(t),this.vbo_position=new i.VertexBuffer(t),this.vbo_tangents=new i.VertexBuffer(t),this.vbo_segment=new i.VertexBuffer(t),this.vbo_angles=new i.VertexBuffer(t),this.vbo_texcoord=new i.VertexBuffer(t),this.dash_atlas=new a(t)},e.prototype.draw=function(t,e,n){var a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w;if((_=e.glglyph).data_changed){if(!isFinite(n.dx)||!isFinite(n.dy))return;_._baked_offset=[n.dx,n.dy],_._set_data(),_.data_changed=!1}if(this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),x=n.sx,m=n.sy,y=Math.sqrt(x*x+m*m),x/=y,m/=y,Math.abs(this._scale_aspect-m/x)>Math.abs(.001*this._scale_aspect)&&(_._update_scale(x,m),this._scale_aspect=m/x),this.prog.set_attribute(\"a_position\",\"vec2\",_.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",_.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",_.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",_.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",_.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[_.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),a=_._baked_offset,this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[n.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[n.width,n.height]),this.prog.set_uniform(\"u_offset\",\"vec2\",[n.dx-a[0],n.dy-a[1]]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[x,m]),this.prog.set_uniform(\"u_scale_length\",\"float\",[y]),this.I_triangles=_.I_triangles,this.I_triangles.length<65535)return this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);for(t=this.I_triangles,h=this.I_triangles.length,r=64008,i=[],o=l=0,d=Math.ceil(h/r);0<=d?l<d:l>d;o=0<=d?++l:--l)i.push([]);for(o=u=0,p=t.length;0<=p?u<p:u>p;o=0<=p?++u:--u)w=t[o]%r,s=Math.floor(t[o]/r),i[s].push(w);for(v=[],s=f=0,g=i.length;0<=g?f<g:f>g;s=0<=g?++f:--f)b=new Uint16Array(i[s]),c=s*r*4,0!==b.length&&(this.prog.set_attribute(\"a_position\",\"vec2\",_.vbo_position,0,2*c),this.prog.set_attribute(\"a_tangents\",\"vec4\",_.vbo_tangents,0,4*c),this.prog.set_attribute(\"a_segment\",\"vec2\",_.vbo_segment,0,2*c),this.prog.set_attribute(\"a_angles\",\"vec2\",_.vbo_angles,0,2*c),this.prog.set_attribute(\"a_texcoord\",\"vec2\",_.vbo_texcoord,0,2*c),this.index_buffer.set_size(2*b.length),this.index_buffer.set_data(0,b),v.push(this.prog.draw(this.gl.TRIANGLES,this.index_buffer)));return v},e.prototype._set_data=function(){return this._bake(),this.vbo_position.set_size(4*this.V_position.length),this.vbo_position.set_data(0,this.V_position),this.vbo_tangents.set_size(4*this.V_tangents.length),this.vbo_tangents.set_data(0,this.V_tangents),this.vbo_angles.set_size(4*this.V_angles.length),this.vbo_angles.set_data(0,this.V_angles),this.vbo_texcoord.set_size(4*this.V_texcoord.length),this.vbo_texcoord.set_data(0,this.V_texcoord)},e.prototype._set_visuals=function(){var t,e,n,a,s,i;return e=o.color2rgba(this.glyph.visuals.line.line_color.value(),this.glyph.visuals.line.line_alpha.value()),t=this.CAPS[this.glyph.visuals.line.line_cap.value()],i=this.JOINS[this.glyph.visuals.line.line_join.value()],this.prog.set_uniform(\"u_color\",\"vec4\",e),this.prog.set_uniform(\"u_linewidth\",\"float\",[this.glyph.visuals.line.line_width.value()]),this.prog.set_uniform(\"u_antialias\",\"float\",[.9]),this.prog.set_uniform(\"u_linecaps\",\"vec2\",[t,t]),this.prog.set_uniform(\"u_linejoin\",\"float\",[i]),this.prog.set_uniform(\"u_miter_limit\",\"float\",[10]),a=this.glyph.visuals.line.line_dash.value(),n=0,s=1,a.length&&(r=this.dash_atlas.get_atlas_data(a),n=r[0],s=r[1]),this.prog.set_uniform(\"u_dash_index\",\"float\",[n]),this.prog.set_uniform(\"u_dash_phase\",\"float\",[this.glyph.visuals.line.line_dash_offset.value()]),this.prog.set_uniform(\"u_dash_period\",\"float\",[s]),this.prog.set_uniform(\"u_dash_caps\",\"vec2\",[t,t]),this.prog.set_uniform(\"u_closed\",\"float\",[0]);var r},e.prototype._bake=function(){var t,e,n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w,P,A,E,z,R,q,T,S,k,G,I,O,D,L,M,F,C;for(m=this.nvertices,u=new Float64Array(this.glyph._x),f=new Float64Array(this.glyph._y),i=h=new Float32Array(2*m),a=new Float32Array(2*m),o=c=new Float32Array(4*m),new Float32Array(2*m),d=y=0,E=m;0<=E?y<E:y>E;d=0<=E?++y:--y)i[2*d+0]=u[d]+this._baked_offset[0],i[2*d+1]=f[d]+this._baked_offset[1];for(this.tangents=n=new Float32Array(2*m-2),d=w=0,z=m-1;0<=z?w<z:w>z;d=0<=z?++w:--w)n[2*d+0]=h[2*(d+1)+0]-h[2*d+0],n[2*d+1]=h[2*(d+1)+1]-h[2*d+1];for(d=P=0,R=m-1;0<=R?P<R:P>R;d=0<=R?++P:--P)o[4*(d+1)+0]=n[2*d+0],o[4*(d+1)+1]=n[2*d+1],o[4*d+2]=n[2*d+0],o[4*d+3]=n[2*d+1];for(o[0]=n[0],o[1]=n[1],o[4*(m-1)+2]=n[2*(m-2)+0],o[4*(m-1)+3]=n[2*(m-2)+1],t=new Float32Array(m),d=A=0,q=m;0<=q?A<q:A>q;d=0<=q?++A:--A)t[d]=Math.atan2(c[4*d+0]*c[4*d+3]-c[4*d+1]*c[4*d+2],c[4*d+0]*c[4*d+2]+c[4*d+1]*c[4*d+3]);for(d=O=0,T=m-1;0<=T?O<T:O>T;d=0<=T?++O:--O)a[2*d+0]=t[d],a[2*d+1]=t[d+1];for(x=4*m-4,this.V_position=r=new Float32Array(2*x),this.V_angles=s=new Float32Array(2*x),this.V_tangents=l=new Float32Array(4*x),this.V_texcoord=_=new Float32Array(2*x),2,d=D=0,S=m;0<=S?D<S:D>S;d=0<=S?++D:--D)for(g=L=0;L<4;g=++L){for(v=M=0;M<2;v=++M)r[2*(4*d+g-2)+v]=i[2*d+v],s[2*(4*d+g)+v]=a[2*d+v];for(v=F=0;F<4;v=++F)l[4*(4*d+g-2)+v]=o[4*d+v]}for(d=C=0,k=m;0<=k?C<=k:C>=k;d=0<=k?++C:--C)_[2*(4*d+0)+0]=-1,_[2*(4*d+1)+0]=-1,_[2*(4*d+2)+0]=1,_[2*(4*d+3)+0]=1,_[2*(4*d+0)+1]=-1,_[2*(4*d+1)+1]=1,_[2*(4*d+2)+1]=-1,_[2*(4*d+3)+1]=1;for(b=6*(m-1),this.I_triangles=e=new Uint32Array(b),I=[],d=p=0,G=m;0<=G?p<G:p>G;d=0<=G?++p:--p)e[6*d+0]=0+4*d,e[6*d+1]=1+4*d,e[6*d+2]=3+4*d,e[6*d+3]=2+4*d,e[6*d+4]=0+4*d,I.push(e[6*d+5]=3+4*d);return I},e.prototype._update_scale=function(t,e){var n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x;for(u=this.nvertices,c=4*u-4,a=this.tangents,n=new Float32Array(u-1),s=new Float32Array(2*u),this.V_segment=i=new Float32Array(2*c),o=h=0,g=u-1;0<=g?h<g:h>g;o=0<=g?++h:--h)n[o]=Math.sqrt(Math.pow(a[2*o+0]*t,2)+Math.pow(a[2*o+1]*e,2));for(r=0,o=f=0,v=u-1;0<=v?f<v:f>v;o=0<=v?++f:--f)r+=n[o],s[2*(o+1)+0]=r,s[2*o+1]=r;for(o=d=0,y=u;0<=y?d<y:d>y;o=0<=y?++d:--d)for(l=p=0;p<4;l=++p)for(_=x=0;x<2;_=++x)i[2*(4*o+l)+_]=s[2*o+_];return this.cumsum=r,this.vbo_segment.set_size(4*this.V_segment.length),this.vbo_segment.set_data(0,this.V_segment)},e}(r.BaseGLGlyph);n.LineGLGlyph=l,l.prototype.GLYPH=\"line\",l.prototype.JOINS={miter:0,round:1,bevel:2},l.prototype.CAPS={\"\":0,none:0,\".\":0,round:1,\")\":1,\"(\":1,o:1,\"triangle in\":2,\"<\":2,\"triangle out\":3,\">\":3,square:4,\"[\":4,\"]\":4,\"=\":4,butt:5,\"|\":5},l.prototype.VERT=\"precision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size, u_offset;\\nuniform vec2 u_scale_aspect;\\nuniform float u_scale_length;\\n\\nuniform vec4 u_color;\\nuniform float u_antialias;\\nuniform float u_length;\\nuniform float u_linewidth;\\nuniform float u_dash_index;\\nuniform float u_closed;\\n\\nattribute vec2 a_position;\\nattribute vec4 a_tangents;\\nattribute vec2 a_segment;\\nattribute vec2 a_angles;\\nattribute vec2 a_texcoord;\\n\\nvarying vec4  v_color;\\nvarying vec2  v_segment;\\nvarying vec2  v_angles;\\nvarying vec2  v_texcoord;\\nvarying vec2  v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\nfloat cross(in vec2 v1, in vec2 v2)\\n{\\n    return v1.x*v2.y - v1.y*v2.x;\\n}\\n\\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\\n{\\n    return cross(v2-v1,v1-v3) / length(v2-v1);\\n}\\n\\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\\n{\\n    float c = cos(alpha);\\n    float s = sin(alpha);\\n    result = vec2( c*v.x - s*v.y,\\n                   s*v.x + c*v.y );\\n}\\n\\nvoid main()\\n{\\n    bool closed = (u_closed > 0.0);\\n\\n    // Attributes and uniforms to varyings\\n    v_color = u_color;\\n    v_linewidth = u_linewidth;\\n    v_segment = a_segment * u_scale_length;\\n    v_length = u_length * u_scale_length;\\n\\n    // Scale to map to pixel coordinates. The original algorithm from the paper\\n    // assumed isotropic scale. We obviously do not have this.\\n    vec2 abs_scale_aspect = abs(u_scale_aspect);\\n    vec2 abs_scale = u_scale_length * abs_scale_aspect;\\n\\n    // Correct angles for aspect ratio\\n    vec2 av;\\n    av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\\n    v_angles.x = atan(av.y, av.x);\\n    av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\\n    v_angles.y = atan(av.y, av.x);\\n\\n    // Thickness below 1 pixel are represented using a 1 pixel thickness\\n    // and a modified alpha\\n    v_color.a = min(v_linewidth, v_color.a);\\n    v_linewidth = max(v_linewidth, 1.0);\\n\\n    // If color is fully transparent we just will discard the fragment anyway\\n    if( v_color.a <= 0.0 ) {\\n        gl_Position = vec4(0.0,0.0,0.0,1.0);\\n        return;\\n    }\\n\\n    // This is the actual half width of the line\\n    float w = ceil(u_antialias+v_linewidth)/2.0;\\n\\n    vec2 position = (a_position + u_offset) * abs_scale;\\n\\n    vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect);  // note the scaling for aspect ratio here\\n    vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\\n    float u = a_texcoord.x;\\n    float v = a_texcoord.y;\\n    vec2 o1 = vec2( +t1.y, -t1.x);\\n    vec2 o2 = vec2( +t2.y, -t2.x);\\n\\n    // This is a join\\n    // ----------------------------------------------------------------\\n    if( t1 != t2 ) {\\n        float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y);  // Angle needs recalculation for some reason\\n        vec2 t  = normalize(t1+t2);\\n        vec2 o  = vec2( + t.y, - t.x);\\n\\n        if ( u_dash_index > 0.0 )\\n        {\\n            // Broken angle\\n            // ----------------------------------------------------------------\\n            if( (abs(angle) > THETA) ) {\\n                position += v * w * o / cos(angle/2.0);\\n                float s = sign(angle);\\n                if( angle < 0.0 ) {\\n                    if( u == +1.0 ) {\\n                        u = v_segment.y + v * w * tan(angle/2.0);\\n                        if( v == 1.0 ) {\\n                            position -= 2.0 * w * t1 / sin(angle);\\n                            u -= 2.0 * w / sin(angle);\\n                        }\\n                    } else {\\n                        u = v_segment.x - v * w * tan(angle/2.0);\\n                        if( v == 1.0 ) {\\n                            position += 2.0 * w * t2 / sin(angle);\\n                            u += 2.0*w / sin(angle);\\n                        }\\n                    }\\n                } else {\\n                    if( u == +1.0 ) {\\n                        u = v_segment.y + v * w * tan(angle/2.0);\\n                        if( v == -1.0 ) {\\n                            position += 2.0 * w * t1 / sin(angle);\\n                            u += 2.0 * w / sin(angle);\\n                        }\\n                    } else {\\n                        u = v_segment.x - v * w * tan(angle/2.0);\\n                        if( v == -1.0 ) {\\n                            position -= 2.0 * w * t2 / sin(angle);\\n                            u -= 2.0*w / sin(angle);\\n                        }\\n                    }\\n                }\\n                // Continuous angle\\n                // ------------------------------------------------------------\\n            } else {\\n                position += v * w * o / cos(angle/2.0);\\n                if( u == +1.0 ) u = v_segment.y;\\n                else            u = v_segment.x;\\n            }\\n        }\\n\\n        // Solid line\\n        // --------------------------------------------------------------------\\n        else\\n        {\\n            position.xy += v * w * o / cos(angle/2.0);\\n            if( angle < 0.0 ) {\\n                if( u == +1.0 ) {\\n                    u = v_segment.y + v * w * tan(angle/2.0);\\n                } else {\\n                    u = v_segment.x - v * w * tan(angle/2.0);\\n                }\\n            } else {\\n                if( u == +1.0 ) {\\n                    u = v_segment.y + v * w * tan(angle/2.0);\\n                } else {\\n                    u = v_segment.x - v * w * tan(angle/2.0);\\n                }\\n            }\\n        }\\n\\n    // This is a line start or end (t1 == t2)\\n    // ------------------------------------------------------------------------\\n    } else {\\n        position += v * w * o1;\\n        if( u == -1.0 ) {\\n            u = v_segment.x - w;\\n            position -= w * t1;\\n        } else {\\n            u = v_segment.y + w;\\n            position += w * t2;\\n        }\\n    }\\n\\n    // Miter distance\\n    // ------------------------------------------------------------------------\\n    vec2 t;\\n    vec2 curr = a_position * abs_scale;\\n    if( a_texcoord.x < 0.0 ) {\\n        vec2 next = curr + t2*(v_segment.y-v_segment.x);\\n\\n        rotate( t1, +v_angles.x/2.0, t);\\n        v_miter.x = signed_distance(curr, curr+t, position);\\n\\n        rotate( t2, +v_angles.y/2.0, t);\\n        v_miter.y = signed_distance(next, next+t, position);\\n    } else {\\n        vec2 prev = curr - t1*(v_segment.y-v_segment.x);\\n\\n        rotate( t1, -v_angles.x/2.0,t);\\n        v_miter.x = signed_distance(prev, prev+t, position);\\n\\n        rotate( t2, -v_angles.y/2.0,t);\\n        v_miter.y = signed_distance(curr, curr+t, position);\\n    }\\n\\n    if (!closed && v_segment.x <= 0.0) {\\n        v_miter.x = 1e10;\\n    }\\n    if (!closed && v_segment.y >= v_length)\\n    {\\n        v_miter.y = 1e10;\\n    }\\n\\n    v_texcoord = vec2( u, v*w );\\n\\n    // Calculate position in device coordinates. Note that we\\n    // already scaled with abs scale above.\\n    vec2 normpos = position * sign(u_scale_aspect);\\n    normpos += 0.5;  // make up for Bokeh's offset\\n    normpos /= u_canvas_size / u_pixel_ratio;  // in 0..1\\n    gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\\n    gl_Position.y *= -1.0;\\n}\\n\",l.prototype.FRAG_=\"// Fragment shader that can be convenient during debugging to show the line skeleton.\\nprecision mediump float;\\nuniform vec4  u_color;\\nvoid main () {\\n  gl_FragColor = u_color;\\n}\",l.prototype.FRAG=\"precision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform sampler2D u_dash_atlas;\\n\\nuniform vec2 u_linecaps;\\nuniform float u_miter_limit;\\nuniform float u_linejoin;\\nuniform float u_antialias;\\nuniform float u_dash_phase;\\nuniform float u_dash_period;\\nuniform float u_dash_index;\\nuniform vec2 u_dash_caps;\\nuniform float u_closed;\\n\\nvarying vec4  v_color;\\nvarying vec2  v_segment;\\nvarying vec2  v_angles;\\nvarying vec2  v_texcoord;\\nvarying vec2  v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\n// Compute distance to cap ----------------------------------------------------\\nfloat cap( int type, float dx, float dy, float t, float linewidth )\\n{\\n    float d = 0.0;\\n    dx = abs(dx);\\n    dy = abs(dy);\\n    if      (type == 0)  discard;  // None\\n    else if (type == 1)  d = sqrt(dx*dx+dy*dy);  // Round\\n    else if (type == 3)  d = (dx+abs(dy));  // Triangle in\\n    else if (type == 2)  d = max(abs(dy),(t+dx-abs(dy)));  // Triangle out\\n    else if (type == 4)  d = max(dx,dy);  // Square\\n    else if (type == 5)  d = max(dx+t,dy);  // Butt\\n    return d;\\n}\\n\\n// Compute distance to join -------------------------------------------------\\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\\n           in float linewidth )\\n{\\n    // texcoord.x is distance from start\\n    // texcoord.y is distance from centerline\\n    // segment.x and y indicate the limits (as for texcoord.x) for this segment\\n\\n    float dx = texcoord.x;\\n\\n    // Round join\\n    if( type == 1 ) {\\n        if (dx < segment.x) {\\n            d = max(d,length( texcoord - vec2(segment.x,0.0)));\\n            //d = length( texcoord - vec2(segment.x,0.0));\\n        } else if (dx > segment.y) {\\n            d = max(d,length( texcoord - vec2(segment.y,0.0)));\\n            //d = length( texcoord - vec2(segment.y,0.0));\\n        }\\n    }\\n    // Bevel join\\n    else if ( type == 2 ) {\\n        if (dx < segment.x) {\\n            vec2 x = texcoord - vec2(segment.x,0.0);\\n            d = max(d, max(abs(x.x), abs(x.y)));\\n\\n        } else if (dx > segment.y) {\\n            vec2 x = texcoord - vec2(segment.y,0.0);\\n            d = max(d, max(abs(x.x), abs(x.y)));\\n        }\\n        /*  Original code for bevel which does not work for us\\n        if( (dx < segment.x) ||  (dx > segment.y) )\\n            d = max(d, min(abs(x.x),abs(x.y)));\\n        */\\n    }\\n\\n    return d;\\n}\\n\\nvoid main()\\n{\\n    // If color is fully transparent we just discard the fragment\\n    if( v_color.a <= 0.0 ) {\\n        discard;\\n    }\\n\\n    // Test if dash pattern is the solid one (0)\\n    bool solid =  (u_dash_index == 0.0);\\n\\n    // Test if path is closed\\n    bool closed = (u_closed > 0.0);\\n\\n    vec4 color = v_color;\\n    float dx = v_texcoord.x;\\n    float dy = v_texcoord.y;\\n    float t = v_linewidth/2.0-u_antialias;\\n    float width = 1.0;  //v_linewidth; original code had dashes scale with line width, we do not\\n    float d = 0.0;\\n\\n    vec2 linecaps = u_linecaps;\\n    vec2 dash_caps = u_dash_caps;\\n    float line_start = 0.0;\\n    float line_stop = v_length;\\n\\n    // Apply miter limit; fragments too far into the miter are simply discarded\\n    if( (dx < v_segment.x) || (dx > v_segment.y) ) {\\n        float into_miter = max(v_segment.x - dx, dx - v_segment.y);\\n        if (into_miter > u_miter_limit*v_linewidth/2.0)\\n          discard;\\n    }\\n\\n    // Solid line --------------------------------------------------------------\\n    if( solid ) {\\n        d = abs(dy);\\n        if( (!closed) && (dx < line_start) ) {\\n            d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\\n        }\\n        else if( (!closed) &&  (dx > line_stop) ) {\\n            d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\\n        }\\n        else {\\n            d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\\n        }\\n\\n    // Dash line --------------------------------------------------------------\\n    } else {\\n        float segment_start = v_segment.x;\\n        float segment_stop  = v_segment.y;\\n        float segment_center= (segment_start+segment_stop)/2.0;\\n        float freq          = u_dash_period*width;\\n        float u = mod( dx + u_dash_phase*width, freq);\\n        vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n        float dash_center= tex.x * width;\\n        float dash_type  = tex.y;\\n        float _start = tex.z * width;\\n        float _stop  = tex.a * width;\\n        float dash_start = dx - u + _start;\\n        float dash_stop  = dx - u + _stop;\\n\\n        // Compute extents of the first dash (the one relative to v_segment.x)\\n        // Note: this could be computed in the vertex shader\\n        if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\\n            float u = mod(segment_start + u_dash_phase*width, freq);\\n            vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n            dash_center= tex.x * width;\\n            //dash_type  = tex.y;\\n            float _start = tex.z * width;\\n            float _stop  = tex.a * width;\\n            dash_start = segment_start - u + _start;\\n            dash_stop = segment_start - u + _stop;\\n        }\\n\\n        // Compute extents of the last dash (the one relatives to v_segment.y)\\n        // Note: This could be computed in the vertex shader\\n        else if( (dash_start > segment_stop)  && (dash_caps.y != 5.0) ) {\\n            float u = mod(segment_stop + u_dash_phase*width, freq);\\n            vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n            dash_center= tex.x * width;\\n            //dash_type  = tex.y;\\n            float _start = tex.z * width;\\n            float _stop  = tex.a * width;\\n            dash_start = segment_stop - u + _start;\\n            dash_stop  = segment_stop - u + _stop;\\n        }\\n\\n        // This test if the we are dealing with a discontinuous angle\\n        bool discontinuous = ((dx <  segment_center) && abs(v_angles.x) > THETA) ||\\n                             ((dx >= segment_center) && abs(v_angles.y) > THETA);\\n        //if( dx < line_start) discontinuous = false;\\n        //if( dx > line_stop)  discontinuous = false;\\n\\n        float d_join = join( int(u_linejoin), abs(dy),\\n                            v_segment, v_texcoord, v_miter, v_linewidth );\\n\\n        // When path is closed, we do not have room for linecaps, so we make room\\n        // by shortening the total length\\n        if (closed) {\\n             line_start += v_linewidth/2.0;\\n             line_stop  -= v_linewidth/2.0;\\n        }\\n\\n        // We also need to take antialias area into account\\n        //line_start += u_antialias;\\n        //line_stop  -= u_antialias;\\n\\n        // Check is dash stop is before line start\\n        if( dash_stop <= line_start ) {\\n            discard;\\n        }\\n        // Check is dash start is beyond line stop\\n        if( dash_start >= line_stop ) {\\n            discard;\\n        }\\n\\n        // Check if current dash start is beyond segment stop\\n        if( discontinuous ) {\\n            // Dash start is beyond segment, we discard\\n            if( (dash_start > segment_stop) ) {\\n                discard;\\n                //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\\n            }\\n\\n            // Dash stop is before segment, we discard\\n            if( (dash_stop < segment_start) ) {\\n                discard;  //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\\n            }\\n\\n            // Special case for round caps (nicer with this)\\n            if( dash_caps.x == 1.0 ) {\\n                if( (u > _stop) && (dash_stop > segment_stop )  && (abs(v_angles.y) < PI/2.0)) {\\n                    discard;\\n                }\\n            }\\n\\n            // Special case for round caps  (nicer with this)\\n            if( dash_caps.y == 1.0 ) {\\n                if( (u < _start) && (dash_start < segment_start )  && (abs(v_angles.x) < PI/2.0)) {\\n                    discard;\\n                }\\n            }\\n\\n            // Special case for triangle caps (in & out) and square\\n            // We make sure the cap stop at crossing frontier\\n            if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\\n                if( (dash_start < segment_start )  && (abs(v_angles.x) < PI/2.0) ) {\\n                    float a = v_angles.x/2.0;\\n                    float x = (segment_start-dx)*cos(a) - dy*sin(a);\\n                    float y = (segment_start-dx)*sin(a) + dy*cos(a);\\n                    if( x > 0.0 ) discard;\\n                    // We transform the cap into square to avoid holes\\n                    dash_caps.x = 4.0;\\n                }\\n            }\\n\\n            // Special case for triangle caps (in & out) and square\\n            // We make sure the cap stop at crossing frontier\\n            if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\\n                if( (dash_stop > segment_stop )  && (abs(v_angles.y) < PI/2.0) ) {\\n                    float a = v_angles.y/2.0;\\n                    float x = (dx-segment_stop)*cos(a) - dy*sin(a);\\n                    float y = (dx-segment_stop)*sin(a) + dy*cos(a);\\n                    if( x > 0.0 ) discard;\\n                    // We transform the caps into square to avoid holes\\n                    dash_caps.y = 4.0;\\n                }\\n            }\\n        }\\n\\n        // Line cap at start\\n        if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\\n            d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\\n        }\\n        // Line cap at stop\\n        else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\\n            d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\\n        }\\n        // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\\n        else if( dash_type < -0.5 ) {\\n            d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\\n            if( (dx > line_start) && (dx < line_stop) )\\n                d = max(d,d_join);\\n        }\\n        // Dash cap right\\n        else if( dash_type > 0.5 ) {\\n            d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\\n            if( (dx > line_start) && (dx < line_stop) )\\n                d = max(d,d_join);\\n        }\\n        // Dash body (plain)\\n        else {// if( dash_type > -0.5 &&  dash_type < 0.5) {\\n            d = abs(dy);\\n        }\\n\\n        // Line join\\n        if( (dx > line_start) && (dx < line_stop)) {\\n            if( (dx <= segment_start) && (dash_start <= segment_start)\\n                && (dash_stop >= segment_start) ) {\\n                d = d_join;\\n                // Antialias at outer border\\n                float angle = PI/2.+v_angles.x;\\n                float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\\n                d = max(f,d);\\n            }\\n            else if( (dx > segment_stop) && (dash_start <= segment_stop)\\n                     && (dash_stop >= segment_stop) ) {\\n                d = d_join;\\n                // Antialias at outer border\\n                float angle = PI/2.+v_angles.y;\\n                float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\\n                d = max(f,d);\\n            }\\n            else if( dx < (segment_start - v_linewidth/2.)) {\\n                discard;\\n            }\\n            else if( dx > (segment_stop + v_linewidth/2.)) {\\n                discard;\\n            }\\n        }\\n        else if( dx < (segment_start - v_linewidth/2.)) {\\n            discard;\\n        }\\n        else if( dx > (segment_stop + v_linewidth/2.)) {\\n            discard;\\n        }\\n    }\\n\\n    // Distance to border ------------------------------------------------------\\n    d = d - t;\\n    if( d < 0.0 ) {\\n        gl_FragColor = color;\\n    } else {\\n        d /= u_antialias;\\n        gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\\n    }\\n}\"},427:function(t,e,n){t(425)},428:function(t,e,n){var a,s=t(364),i=t(424),r=t(423),o=t(14),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.init=function(){var t,e;return e=this.gl,t=this.FRAG.replace(/MARKERCODE/,this.MARKERCODE),this.last_trans={},this.prog=new i.Program(e),this.prog.set_shaders(this.VERT,t),this.vbo_x=new i.VertexBuffer(e),this.prog.set_attribute(\"a_x\",\"float\",this.vbo_x),this.vbo_y=new i.VertexBuffer(e),this.prog.set_attribute(\"a_y\",\"float\",this.vbo_y),this.vbo_s=new i.VertexBuffer(e),this.prog.set_attribute(\"a_size\",\"float\",this.vbo_s),this.vbo_a=new i.VertexBuffer(e),this.prog.set_attribute(\"a_angle\",\"float\",this.vbo_a),this.vbo_linewidth=new i.VertexBuffer(e),this.vbo_fg_color=new i.VertexBuffer(e),this.vbo_bg_color=new i.VertexBuffer(e),this.index_buffer=new i.IndexBuffer(e)},e.prototype.draw=function(t,e,n){var a,s,i,r,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w;if(u=e.glglyph,f=u.nvertices,u.data_changed){if(!isFinite(n.dx)||!isFinite(n.dy))return;u._baked_offset=[n.dx,n.dy],u._set_data(f),u.data_changed=!1}else null==this.glyph._radius||n.sx===this.last_trans.sx&&n.sy===this.last_trans.sy||(this.last_trans=n,this.vbo_s.set_data(0,new Float32Array(function(){var t,e,n,a;for(n=this.glyph.sradius,a=[],t=0,e=n.length;t<e;t++)x=n[t],a.push(2*x);return a}.call(this))));if(this.visuals_changed&&(this._set_visuals(f),this.visuals_changed=!1),a=u._baked_offset,this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[n.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[n.width,n.height]),this.prog.set_uniform(\"u_offset\",\"vec2\",[n.dx-a[0],n.dy-a[1]]),this.prog.set_uniform(\"u_scale\",\"vec2\",[n.sx,n.sy]),this.prog.set_attribute(\"a_x\",\"float\",u.vbo_x),this.prog.set_attribute(\"a_y\",\"float\",u.vbo_y),this.prog.set_attribute(\"a_size\",\"float\",u.vbo_s),this.prog.set_attribute(\"a_angle\",\"float\",u.vbo_a),0!==t.length){if(t.length===f)return this.prog.draw(this.gl.POINTS,[0,f]);if(f<65535)return(b=window.navigator.userAgent).indexOf(\"MSIE \")+b.indexOf(\"Trident/\")+b.indexOf(\"Edge/\")>0&&o.logger.warn(\"WebGL warning: IE is known to produce 1px sprites whith selections.\"),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer);for(r=64e3,i=[],l=_=0,p=Math.ceil(f/r);0<=p?_<p:_>p;l=0<=p?++_:--_)i.push([]);for(l=h=0,g=t.length;0<=g?h<g:h>g;l=0<=g?++h:--h)w=t[l]%r,s=Math.floor(t[l]/r),i[s].push(w);for(y=[],s=c=0,v=i.length;0<=v?c<v:c>v;s=0<=v?++c:--c)m=new Uint16Array(i[s]),d=s*r*4,0!==m.length&&(this.prog.set_attribute(\"a_x\",\"float\",u.vbo_x,0,d),this.prog.set_attribute(\"a_y\",\"float\",u.vbo_y,0,d),this.prog.set_attribute(\"a_size\",\"float\",u.vbo_s,0,d),this.prog.set_attribute(\"a_angle\",\"float\",u.vbo_a,0,d),this.vbo_linewidth.used&&this.prog.set_attribute(\"a_linewidth\",\"float\",this.vbo_linewidth,0,d),this.vbo_fg_color.used&&this.prog.set_attribute(\"a_fg_color\",\"vec4\",this.vbo_fg_color,0,4*d),this.vbo_bg_color.used&&this.prog.set_attribute(\"a_bg_color\",\"vec4\",this.vbo_bg_color,0,4*d),this.index_buffer.set_size(2*m.length),this.index_buffer.set_data(0,m),y.push(this.prog.draw(this.gl.POINTS,this.index_buffer)));return y}},e.prototype._set_data=function(t){var e,n,a,s,i,r,o;for(a=4*t,this.vbo_x.set_size(a),this.vbo_y.set_size(a),this.vbo_a.set_size(a),this.vbo_s.set_size(a),r=new Float64Array(this.glyph._x),o=new Float64Array(this.glyph._y),e=n=0,s=t;0<=s?n<s:n>s;e=0<=s?++n:--n)r[e]+=this._baked_offset[0],o[e]+=this._baked_offset[1];return this.vbo_x.set_data(0,new Float32Array(r)),this.vbo_y.set_data(0,new Float32Array(o)),null!=this.glyph._angle&&this.vbo_a.set_data(0,new Float32Array(this.glyph._angle)),null!=this.glyph._radius?this.vbo_s.set_data(0,new Float32Array(function(){var t,e,n,a;for(n=this.glyph.sradius,a=[],t=0,e=n.length;t<e;t++)i=n[t],a.push(2*i);return a}.call(this))):this.vbo_s.set_data(0,new Float32Array(this.glyph._size))},e.prototype._set_visuals=function(t){return r.attach_float(this.prog,this.vbo_linewidth,\"a_linewidth\",t,this.glyph.visuals.line,\"line_width\"),r.attach_color(this.prog,this.vbo_fg_color,\"a_fg_color\",t,this.glyph.visuals.line,\"line\"),r.attach_color(this.prog,this.vbo_bg_color,\"a_bg_color\",t,this.glyph.visuals.fill,\"fill\"),this.prog.set_uniform(\"u_antialias\",\"float\",[.8])},e}(r.BaseGLGlyph);return t.prototype.VERT=\"precision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\n//\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform vec2 u_offset;\\nuniform vec2 u_scale;\\nuniform float u_antialias;\\n//\\nattribute float a_x;\\nattribute float a_y;\\nattribute float a_size;\\nattribute float a_angle;  // in radians\\nattribute float a_linewidth;\\nattribute vec4  a_fg_color;\\nattribute vec4  a_bg_color;\\n//\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec4  v_fg_color;\\nvarying vec4  v_bg_color;\\nvarying vec2  v_rotation;\\n\\nvoid main (void)\\n{\\n    v_size = a_size * u_pixel_ratio;\\n    v_linewidth = a_linewidth * u_pixel_ratio;\\n    v_fg_color = a_fg_color;\\n    v_bg_color = a_bg_color;\\n    v_rotation = vec2(cos(-a_angle), sin(-a_angle));\\n    // Calculate position - the -0.5 is to correct for canvas origin\\n    vec2 pos = (vec2(a_x, a_y) + u_offset) * u_scale; // in pixels\\n    pos += 0.5;  // make up for Bokeh's offset\\n    pos /= u_canvas_size / u_pixel_ratio;  // in 0..1\\n    gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\\n    gl_Position.y *= -1.0;\\n    gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n}\",t.prototype.FRAG=\"precision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\nconst float PI = 3.14159265358979323846264;\\n//\\nuniform float u_antialias;\\n//\\nvarying vec4  v_fg_color;\\nvarying vec4  v_bg_color;\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec2  v_rotation;\\n\\nMARKERCODE\\n\\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\\n{\\n    vec4 frag_color;\\n    float t = linewidth/2.0 - antialias;\\n    float signed_distance = distance;\\n    float border_distance = abs(signed_distance) - t;\\n    float alpha = border_distance/antialias;\\n    alpha = exp(-alpha*alpha);\\n\\n    // If fg alpha is zero, it probably means no outline. To avoid a dark outline\\n    // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\\n    float select = float(bool(fg_color.a));\\n    fg_color.rgb = select * fg_color.rgb + (1.0  - select) * bg_color.rgb;\\n    // Similarly, if we want a transparent bg\\n    select = float(bool(bg_color.a));\\n    bg_color.rgb = select * bg_color.rgb + (1.0  - select) * fg_color.rgb;\\n\\n    if( border_distance < 0.0)\\n        frag_color = fg_color;\\n    else if( signed_distance < 0.0 ) {\\n        frag_color = mix(bg_color, fg_color, sqrt(alpha));\\n    } else {\\n        if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\\n            frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\\n        } else {\\n            discard;\\n        }\\n    }\\n    return frag_color;\\n}\\n\\nvoid main()\\n{\\n    vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\\n    P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\\n             v_rotation.y*P.x + v_rotation.x*P.y);\\n    float point_size = SQRT_2*v_size  + 2.0 * (v_linewidth + 1.5*u_antialias);\\n    float distance = marker(P*point_size, v_size);\\n    gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\\n    //gl_FragColor.rgb *= gl_FragColor.a;  // pre-multiply alpha\\n}\",t.prototype.MARKERCODE=\"<defined in subclasses>\",t}());n.CircleGLGlyph=l,l.prototype.GLYPH=\"circle\",l.prototype.MARKERCODE=\"// --- disc\\nfloat marker(vec2 P, float size)\\n{\\n    return length(P) - size/2.0;\\n}\";var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareGLGlyph=_,_.prototype.GLYPH=\"square\",_.prototype.MARKERCODE=\"// --- square\\nfloat marker(vec2 P, float size)\\n{\\n    return max(abs(P.x), abs(P.y)) - size/2.0;\\n}\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.AnnulusGLGlyph=h,h.prototype.GLYPH=\"annulus\",h.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    float r1 = length(P) - size/2.0;\\n    float r2 = length(P) - size/4.0;  // half width\\n    return max(r1, -r2);\\n}\";var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.DiamondGLGlyph=c,c.prototype.GLYPH=\"diamond\",c.prototype.MARKERCODE=\"// --- diamond\\nfloat marker(vec2 P, float size)\\n{\\n    float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n    return r1 / SQRT_2;\\n}\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.TriangleGLGlyph=u,u.prototype.GLYPH=\"triangle\",u.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    P.y -= size * 0.3;\\n    float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / 1.6;\\n    float r2 = P.y;\\n    return max(r1 / SQRT_2, r2);  // Instersect diamond with rectangle\\n}\";var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.InvertedTriangleGLGlyph=f,f.prototype.GLYPH=\"invertedtriangle\",f.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    P.y += size * 0.3;\\n    float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / 1.6;\\n    float r2 = - P.y;\\n    return max(r1 / SQRT_2, r2);  // Instersect diamond with rectangle\\n}\";var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CrossGLGlyph=d,d.prototype.GLYPH=\"cross\",d.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float square = max(abs(P.x), abs(P.y)) - size / 2.5;  // 2.5 is a tweak\\n    float cross = min(abs(P.x), abs(P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return max(square, cross);\\n}';var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CircleCrossGLGlyph=p,p.prototype.GLYPH=\"circlecross\",p.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float circle = length(P) - size/2.0;\\n    float c1 = max(circle, s1);\\n    float c2 = max(circle, s2);\\n    float c3 = max(circle, s3);\\n    float c4 = max(circle, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareCrossGLGlyph=g,g.prototype.GLYPH=\"squarecross\",g.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n    float c1 = max(square, s1);\\n    float c2 = max(square, s2);\\n    float c3 = max(square, s3);\\n    float c4 = max(square, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.DiamondCrossGLGlyph=v,v.prototype.GLYPH=\"diamondcross\",v.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n    float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n    diamond /= SQRT_2;\\n    float c1 = max(diamond, s1);\\n    float c2 = max(diamond, s2);\\n    float c3 = max(diamond, s3);\\n    float c4 = max(diamond, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.XGLGlyph=y,y.prototype.GLYPH=\"x\",y.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float circle = length(P) - size / 1.6;\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return max(circle, X);\\n}';var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CircleXGLGlyph=x,x.prototype.GLYPH=\"circlex\",x.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float x = P.x - P.y;\\n    float y = P.x + P.y;\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n    float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n    float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n    float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float circle = length(P) - size/2.0;\\n    float c1 = max(circle, s1);\\n    float c2 = max(circle, s2);\\n    float c3 = max(circle, s3);\\n    float c4 = max(circle, s4);\\n    // Union\\n    float almost = min(min(min(c1, c2), c3), c4);\\n    // In this case, the X is also outside of the main shape\\n    float Xmask = length(P) - size / 1.6;  // a circle\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return min(max(X, Xmask), almost);\\n}';var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareXGLGlyph=m,m.prototype.GLYPH=\"squarex\",m.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    float x = P.x - P.y;\\n    float y = P.x + P.y;\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n    float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n    float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n    float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n    float c1 = max(square, s1);\\n    float c2 = max(square, s2);\\n    float c3 = max(square, s3);\\n    float c4 = max(square, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.AsteriskGLGlyph=b,b.prototype.GLYPH=\"asterisk\",b.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    // Masks\\n    float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\\n    float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\\n    // Shapes\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    float cross = min(abs(P.x), abs(P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    // Result is union of masked shapes\\n    return min(max(X, diamond), max(cross, square));\\n}'}},{\"models/glyphs/webgl/base\":423,\"models/glyphs/webgl/gloo2\":424,\"models/glyphs/webgl/index\":425,\"models/glyphs/webgl/line\":426,\"models/glyphs/webgl/main\":427,\"models/glyphs/webgl/markers\":428})}(t.Bokeh)}(this);/*!\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",
       "\n",
       "      //# sourceMappingURL=bokeh-gl.min.js.map\n",
       "\n",
       "      /* END bokeh-gl.min.js */\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      \n",
       "    },\n",
       "    function(Bokeh) {\n",
       "      console.log(\"Bokeh: injecting raw CSS\");\n",
       "      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh.min.css */\\n.bk-root{font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-size:10pt;position:relative;width:100%;height:100%}.bk-root .bk-shading{position:absolute;display:block;border:1px dashed green;z-index:100}.bk-root .bk-tool-icon-box-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBODVDNDBCRjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBODVDNDBDMDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE4NUM0MEJEMjBCMzExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE4NUM0MEJFMjBCMzExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hdQ7dQAAAJdJREFUeNpiXLhs5X8GBPgIxAJQNjZxfiD+wIAKGCkUZ0SWZGIYZIAF3YVoPkEHH6kojhUMyhD6jydEaAlgaWnwh9BAgf9DKpfxDxYHjeay0Vw2bHMZw2guG81lwyXKRnMZWlt98JdDTFAX/x9NQwPkIH6kGMAVEyjyo7lstC4jouc69Moh9L42rlyBTZyYXDS00xBAgAEAqsguPe03+cYAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-box-zoom{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMjFERDhEMjIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMjFERDhEMzIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMyMUREOEQwMjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMyMUREOEQxMjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+a2Q0KAAAAmVJREFUeNq8V19EpFEUvzOtmKfpJSJKDL2WiLJExKaUEq0eeikiaolZLT2lVUpPydqHqIlIo1ilFOmphxj1miKWWHppnobIt7+zeyZ3jjvz/bnf9OPHd8/9d77z3XN+94ts7ew6SqksWKX+w1GFiLjYdVSAfeAQ2Ag2sf0GvAXT4C/wle1x3lt9UOGBNk6BrYa+FuYIeAWOsmNviGqe6W+q081OmAGvizgh0cpjZ3RjGBFZBpMG+xn4wM8NYJfWFwNXwXrwS96RiIUTwwYn6AxMgb+FvQ5c4zOUxzR4Ce5GLZyo5LfSsQP2G5xQbKO+bWFfoLWinA1OAEcoM2rFRpMe5sloJWgtm4j0iPZcPhVdkOWxBWvZONIi2uc+5sqxbTaO1Ij2o4+5T6JdGy1SF4Kg2mLsi01E/oh2l4+5HTKaNlmTEe0ka40XyNqTsYnIkWiTwC16rMRNci0bR0hJ7w1veizqy9uB5D4ZDZKBtI3WvLCCJoT9E3jHny4j1DdmWOcbrWWjNYuGoqaL2kdmKayTztio7yzTJprz4A/9PuI3a8YMh5IKVC9fetxAY5rB79pNzXdESMJ/GrSjm8/DCTjAgpjQZCDDh5I+w4HuQBBHOsE9USty4KB2KF85m9J+v5XX9KXr3T7fQZS26WefYlcU+ayJlxhDIT40jBnn21hQOPrfgFtEqAhdGETqK7gZ4h/Av4g4Jf5TUoYquQSuqJDhFpEJca3b4EoYOtyyhrSkHTzlcj4R4t4FZ9NL+j6yMzlT/ocZES9aky3D3r6y5t2gaw3xWXgs7XFhdyzsgSpr2fFXgAEAmp2J9DuX/WgAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-zoom-in{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AcRDi0ZzsqC7QAAA5RJREFUWMO9mE1oXUUUx39z8/K1aF0JSqBpoFBoIgYKVqFQEQuCYDePTjqSjKIroQhCs6oF3SgK3Yi40EVvhasDAaHQVangqiJ9pFoUK8FCJSAEhIL0I8nLdTMpk+O8vLnX5x0YeOfcc2b+c+Z8zVNAC9ikwZEXbgh4BWgDB4FZ/+kGcAtYAi5Zo7tSVzUNOC/cQeAi8Ewf0R+ABWv0rZCZNWzZd4DlBLB4mWWvs8PCQ0C3AbAfAWcin64At/3vKeB4ROZja/TiNuAM2PqfwWrga8G+BJy2Rt8RsvuAT7yPh2POGu3U6NjY0MMHD7oDAKWs0WWEPwL8DkwE7MIa/Wqf9S4C8wFrBZhuHZqeUcud6/3AXAFeDFg/W6Nn8sJl/paGgf154bas0b8J9bYAewd4K8EGp4FjwD5PHwDarcnJ/fQDDLwrAB8AsEZvu1IX+LWH7suCPmuNvttvQ2v03bxwZ31GebRWtmfv3q0E5e8Fa7iCtxwW9LcVdKXsc9nY+HiZqLwpskvqeEIcfrWC7pqgJ7LPP/u0pMGRF+7xCuJSdr2JwvGnoI9X0D0m6NUmAHcEfcb3EilDFppOS1zXTZ8BhiN+Gh5O5YWTwVoqpTaAlYVTJ2cC/mXABPQs8AGwmFAZZwX78g7ASqnpR7uXpVJKlQEda5x20GVZjiqlpgR/CXhvOxUGVn4KeFMGYV64CeAL4CWxzm1gSQnhrdQMEB5m+4Ce/9PCqZNPJ5RmgPveZTpBCjwMjEdk56zRLuuTxsKJALgZTqD080YkjzvgfGSPceAo8LafR3uAPe/XQLrEVaWyc/Nz7Wve0mVgpY1AvrRGj/zL775yR4DJHgZYBP4CzgEjiUG3DrwPfFi5AEQAZzXz8PVI9evVwL9ujf4lZLYaLhqHImA7Aa/jg8sB38SeSI0CBl4T9HfW6OerLFDlWsPDlTWsOyTyMcCFqutkeeFUwmbPCtZGDeu+IPri+z5HU9XCKYE36fvSm36jlRqA35AFxRr9d9VFWn6u9+mHnQ+EusH2WOSN9mWdtZIA7/aO8zc05p8yo9boHyOibVEQVis28jsAP8wLlwXPneThH50lcC8v3B/eXWJjXtBFLGUl+bBXHESbeS926LxwU5G+9kLdTTJvqc2UbJFg7RTrdmT1qp2H/bN90GN+EMHWs5eo68+7/PG3HARcF3jSGr02MMBB9O92zVVTmvZlec0afeK/rPcPRydBWFnJL+gAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-zoom-out{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AcRDi4PETNkfwAAA0xJREFUWMO9mEFIFUEYx3+zPlMP1SkoBE0IBDUShCIIikAIgro8GpvQKeoUSBDkKYK6FAVeIjrUwS3YWhCCoFMUdArCh1YUFZJgCIEQBFFqPrdD82od5j13n+/twMD7vv3m2/9+883/m+8JIAcsk+Hwg7ABOALkgU6g1zyaAj4C48BjrWTRXiuyBuwHYSdwD9i9hukrYEgr+TGu9DKO7HlgMgFYjM2kWbMqwg1AMQOw14ELjkdPgRnzuwPod9jc0EqOlAB7wEqdwUrgoaV+DAxrJWct2zbgpsnx+BjQSoaiqbm5YXFhoVgDUEIrGTn0G4DPQGtMHWglT6zh7x4wGFNNA925ru4eMVmYqBakZ3apEdjuB+GKVvKTZZa3wM4CZxO4Hwb2A21G3gHkc+3t26kWsFaylEpF4EMZs8OWfFEr+T2B7+9+EF40jPLPl7dx06aVOp+3Pkt+nmKtbbvXa25pieoMeKsVubkUa+ctudW7c/tWvQHbeb8lhbltu5RF4fhqyf0p1u635LksABcs+YK5SyQZdqEp5Kztemvoo9HQ1f+SKP6KURSJMs4jIcRvYHro+LGemP4JoGJyL3AVGElQGXst9ZOcBar739ujSAghXPldDrCIoqhJCNFh6ceByyYQ8SjvBM7Yh9APwlbgLnDI8jMDjAvLeKUCoNJHOQ9pKfJCiDdDx4/tSlCaAX6ZlCnEKLAPaHHYDmglw0o5vFxpRlG0agKRmVOOIhACo453tAD7gHNm7isDdtT4wE6JZ0J4lwYH8i9NpFNRnv8g3AO0l3k8AnwDLgEbErpcAq4A19bKx3ry8ISj+pW7wJ/SSr5PcoDqBbYLeOegvb7Y7xkgBB65WqRcxgE+ackvtJIH0jjwMoxug8XHAGNp/Xh+EGaVFgete/Evw9GkjXBWgE/bBUUr+aMawLkM0mGzo0e7X42vnJlL1fZxZoeaTSvTpJV87TDNWwVhLuVFfhXgRT8IvVi7k6ZFKlW3n34QfjF56RqDlhy4KCtRSpiFtWCLn66P9oOww3GvHav2JZ6J1PJ62cLV4peJbsGuXlXzsGnbaz0Ga3HYypbmavO5wh9/k7EDVwS2aSXnawY4dvorbXNaSpOmLM9rJY+ux98fNUQlTNeDDboAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-help{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-hover{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSEhIO6t4cXQAAAI1JREFUWMPtVjsWwCAIUx937NClR3Nx8JT2AlVATe0HRhUSSPTpnMXfw18txpQLAuzYN88SQIHXSJCWcU+0mgpocK5WWG1CGhnfaPfvmMBML5gHzAPmAfPAIycQUNpLa5EmUSqHhrz6S8aR0OaS9KBWEoh5Y8qlRYTbh5K4BbwGNgLuZ10t9IO1TvPPxwnW4GRq8RbypgAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-crosshair{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-lasso-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1ODBEQzAzNDQ0RTMxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ODBEQzAzMzQ0RTMxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTU0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7r0xDwAAAC9klEQVR42sSXb2hNcRjHz50rt1aslNQitSimq6VESW6SFMvFyJ+UknnhhVhkRIkX/iRbSPMnyt95sblZFvMC02patEKtaE3Km1taqWlxfZ/6Hj39+p17zr3nHJ76dO4953d+53ue5/k9v+ck2jseORHYRDAXpHmcDSar84McNwLegwHQa5soGULENFAPMmApH+5laXVcw9/fwA1wDYyFEbQI7FITl2vTQTPYDnaCj3KyooQJVoNu0BmBGG0zQc71YhAPzQEnGRY/+8R8+QGGVCjcXEqBZQy3tkrQBpYnfRL1EGgEEzzGSB48AT2gT+eCj8nLbQCbDU9lk0USto35Ytov0MWE7C8zTL3kKbiiFsQqWw7VcaBNzD2wGOwJIUabePeB+l9tCloI2i0xlnCsBAfAVyda69Pe1yGbBW4ywVwbB2fBRSc+0y8/5AqSpL0KpqqLo2BHRKHxMnnuFvW/xxUkD65VF76DBpb5OG0vy8rfFVtBrzQbA/f9AzFZ0KT+t0iKiKCNRt7kuMriNAlTq6pvkti33Eq9whh8N0YhUqlPcP9ybRjs1pvrfEv5j8NkyzgFatS5PNjKo+NurinjxtqIhcgedh3cN8SIZ9by6GhBI8YEkuBVHpNXlyAkQyHP2SloG7CJcQW9tOzu3VwFlVyFl8Bn8AZ8AMctnk1RxFHwDtyxCBG7DNbrMGlLoIWVXfaVR8f3ExQsDxf7wpeZwp067eMxaUsOg7fFBiUZsiPgjOX6pCL3zgDbAvZIp8HjIHF2K/VturDVqElhrJ8tShdbFqcUQW4rIK3FfrCpTGHS47wGHZbFEsjM9iPP8M3j/pYPOI+smgV8kZZyxRRr8sfZlh4LOI/0UReiiLPfV4e4/pwlB3571J3GsIKCfHWcp7cyLIzyNfGCHqkzxjaxzR0tV1CiUChYLzzszPndKx3mM0vyH+SqdRrW1UfnIT2Zh7hhtilZ4/wSV1AcOeRntmJXE2dS+9mg5VzV/xRkq1NjYSb8I8AAdTOa+zQjMmsAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-pan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhEODIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRTI5MDhEOTIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOEQ2MjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOEQ3MjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+OXzPwwAAAKNJREFUeNrsVsEKgCAM3cyj0f8fuwT9XdEHrLyVIOKYY4kPPDim0+fenF+3HZi4nhFec+Rs4oCPAALwjDVUsKMWA6DNAFX6YXcMYIERdRWIYBzAZbKYGsSKex6mVUAK8Za0TphgoFTbpSvlx3/I0EQOILO2i/ibegLk/mgVONM4JvuBVizgkGH3XTGrR/xlV0ycbO8qCeMN54wdtVQwSTFwCzAATqEZUn8W8W4AAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-xpan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSFS02n02YegAAAG5JREFUWMPtlDEOgDAMAx3Ezv9HFiR+By8ICwOKoBNWPPikrsk1bhrrtqOTCc1YwAIWsMCbQN7nbxLAITeBuRiyWR59QmYCOciMSXoNZd5AfGQejMxrfakIgnDryln7SP2ErOyHdb2GFrCABdoFLtthDii1Jv8gAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-ypan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSFS0IXiyF0QAAAHFJREFUWMPtlrEKgEAMQxN1PP9/dhH8Pj+gri5yGkrBI9laeuURrhBu+wFRJ4B2q6ksmaCrIUGL8CY6fVY5gGoH4uMch3OAHUfKryBFBjCAAQxgAAMYwAAGyEzFUkb8ZSqOl3PjfkICWB/6rLqCOcuBCwLtC1jsosQGAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-polygon-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMzNBREIxOTQ0MUExMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMzNBREIxQTQ0MUExMUU0QTE0ODk2NTE1M0M0MkZENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUzM0FEQjE3NDQxQTExRTRBMTQ4OTY1MTUzQzQyRkQ0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUzM0FEQjE4NDQxQTExRTRBMTQ4OTY1MTUzQzQyRkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xB9jgwAAAe5JREFUeNrsmL1LAzEYxu9KUVDBW8RBhRscXNSCoyA6uIl0kYqIXFcXBRdBoYpuDi7iYEFbkFZPpX6sin+BtAhODloHRZTaSkEUUZ/A23rUer275mjFBn40hJA8eZI3ea+iGjn4FL5LCkigHiQ5trM5HEPuQaFQcQhlVpy0GoFWpF2hmKe/lfaUWUHZYsRSM2Vn/9CSQ5LNu2Bq/LI7Qw6KgqSNc5gavywdqgiqRFklyv7doS7q7flrUbYImkG61FvmAU9gBvhLHWUrYIucfwdxM6kNL4fqwBzV18AHOAaNYJo1BsOqDFyiKAp68BA0Cx6BD4yDc8ql+0FC008Gp4HQtttOh6JgAVSDF/BM7WmdZyQCUct6giSTkdYCpqjup+0JghqwaXCMSYhibknFOFQFwnRIl0AbWKXtUSy42wuuIMplNcoewDB9XdyB2gLbYzQTiEKUYtShHjBK9RM6JxOgCZxxvCo2IIohOX/pwMJ1D3STCBWMgTeCZyYQI+I/3jKNmFuNe5d0zyRsSt68yojnOl+UeUEXuAc3dLew67WTs5gYzZUpvtxD3UEurINdam8HDeCIsyNMTB8cCeA344qCsyNrBbFOrfQPxQWHyCkkJhPR8/lcYoJe6XJj98GAXXkIE6IRI+S4lHXoS4ABAP0ljy6tE4wBAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-redo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wwGEDEBYlsi0wAAAYBJREFUWMPtl71Lw0AYxn9ppVAodKoUBGfHDtJJR0FRFAc5uMEbBFcdBcXi4G5Hhw5ZAkFQHASho07i0L+hUCi4KBSKQsHlLYSS0iQ0rcI9EMjHfTz3e58LCVhZWf1vOVEbup6fBTbkWAOyQEUet4AB8Ao0gabRajATg67nl4ErQAHFiON+AT5QM1p1UzHoen4eOAdOgELC8XtAHbg2WvWnZlCoPQLVKUXpDdhLQtMJMVcRc8sh7TvAA/AEfEj2kCyWgG1gH1ga03fHaNVKbFDIvYdM0AVqQGNS+GUzHUluyyEmV+OQdAID54CXkLI+AwdGq16clbueXwDugM2Qcq8brX6ijLMQOL8MMVc3Wp0mCZ0saMv1/BvZaENVZa6Lqb4Hk0pKfg/sjuzuFaNVZ1L/TNoGJbOHkr+hCsDZnyAYIHkM3AZu9YHFSdnOMDs1gHbgOj9S9tkTdD2/CHzGjIQzL4Lpfs2kTXKUnCU4hmQO+I5Cbl4ES/YfwcrKyiqefgEvB2gLTkQWKgAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-reset{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhFMDIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOUMzNDE3NDIwQkIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOERFMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOERGMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kFHGtQAAAm1JREFUeNrMmE9ExFEQx3+7ZYmlLrEsUUTHaEV0iESJVqduXaJr1xKlFB1bdYqoQ9GlFBFdikgpIhLd0rLqUsQqrW2G7+YZr+2993vaHT6H3583M795897M+0U2t3cCR6kh+kA3rtvx7IYoEGfEMSi4GIk4OJgg5ogRot5wzBvBhmaJnI2xqMW7dcQC8UCMWzgX4N1xjF2ALq8OctROiGkiHrhLHDpOoNOLg5xXF0Sn5lmWWCUGiBRRC1K4t4p3pLCuKyVnnXMwAUVJcT+HfFo3SH5ePGPI24TmA1Pl8rJcBGPEvsa5I6KVWDNcmQW824qxqiRhI+bi4IxmWjOYuneH/HvH2Ixmumd8bjNhhad8lxgSzrfp8jUa/L/wlI8KZ3h1T4bdB30Kb9zz4t6YbgurlIMBdoBHUQiGTBx8JYoKPqVe0ftFNInnW8J20SSCjRWM8k8E1S+TNfbZYyQ59yJEg0kjw1QyB42k1iI6ReXLfEWSK8iHJnJVsYqN8jtammuFc/FOr3juU7Ia+39uM7fiuq8aVrEqp+J6BPWzahw8IPLKdTPKUNU4yJ3Fhqb1inu0y7qeRNVYsWkWFkXPl0QZ8iVbohFmW0s2DmY1jSUX8mUPzi1rmoLML2eXsvsgR/FO3JtAix53nNZ96FDlDrasW35eKGniRRPJeywck9VdOjTdayL3Ahv5MC1/xy+Hp1Iq7BGHMHatjOEqMUgMlxmbVsaEOpMk4GSnp0VyCedyLtuMTlhRD1ZaPoRjeejoMf1HE7VUPkW04Jz7Ztm9rGHslM1Hhjl2xlCn+4muQP/77RyHdf799uli5FuAAQC+l5Sj5nEBdwAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-save{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMjFERDhENjIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMjFERDhENzIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMyMUREOEQ0MjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMyMUREOEQ1MjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+h5hT8AAAAKBJREFUeNpiWbhs5QcGBgZ+hgECTAwDDGAO+AjEjGj4Lw5xUrAAkl3ocr8IhQAzjT3PRu0o+I+EHw65NDDqgJHrABYC8t9JMIuRmiHACS2IKC0LOKH0X1JDAOTzs0BsBs3XlIKz5KSBRCA+RQXLjwNxNDlp4BoQm9Mo7fGPZsNRB4w6YNQBI94BfwfaAV9G08CoA9DbA/xUavkMvRAACDAAaPgYViexODkAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-tap-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-undo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wwGEAgO/GCy+AAAAXlJREFUWMPtlr1LQzEUxX+1ohQKuhQK/Sc6SCcdBUVQFCSQwQwOjjoKisXB3a5Ch7c8CA6iKAgddRKHjs6FQtGpUBCEoksK5RE179FPyIEs+bg59+TcJODh4THdSA0qUBDqNLBq2jKQBopmuA50gWegBtSUFN2REAxCnQfOAQEsOC5rAxooKylaQyEYhDoDnACHQDZhmA5QAS6UFJ8DI2hUuwVKA3LIC7BlUzOVgFwRuAcKluEmcAM8AB/Gexgv5oANYPuXtQ1Dsp6YoFHu1bJBCygD1f/Mb4pp3/g2b0lwqV/JVAxyc8CT5VgfgV0lRSdmslngGlizHPeKkuILYDZGzDMLuYqS4iiJ6UxC60GoL02h9VAye506KxiEugC8Rar1Dthxvc+SYsZx3nGEXBPYGzY5JwWNV96BTF/3gZLiahRPnYuCmxFyDaA6trc4CPV3zBiLSor2uD04eb8ZByWHqtz0K/iHkvO9W35SqjiKnP/ne3h4eIwOP9GxagtPmsh6AAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-wheel-pan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AgeExIQIQWn0QAABMFJREFUWMPFmG9olVUcxz+/c7e76bw3CXxlyqppoQRFr/oDmkEGRlHU9M72R42LxqIIiszRnBhJUhSJ1QPL7S437/YihCTthaxeJARBIBtpYqH5ai9a+5Nz8z6/XnQeezzc+9znLlY/ONzn/p7zO+f7nPP7L739eYrQLUAzsAl4wP4HuAKcAfLAF0ChmHBLppEoyg0MEoeKrWOKzNsFXAQ+Ah4PgQVYDjwLDAE/2Q+qiOKCLTU3DHgRcAw4DNwaY70G4Etg/0KALSUTBvwpsJnKaQ/w1kKALSZbZX+zVmfDVAC6rb6eAa4CDwNPW7VZFJrbBXwPnKwUrKunpebmBgZpyTQivf35JVYfl4fejwFPWBDF6C7gK+D2EO8scB9QCIMoBaAl00ju2FCTqt+FUgV0tjZtzpWTM0CTA7YAPBUBFuAc8BgwFeLdY420LM1Mjlf3HB3YieoLKHeKSD2wrefo4E7P86qjZA3wpMPrsypQji4ABxzepjhga+vSG0VMM/CIiAiAiKwX0ebauvRGz/OqS7lGA9zr8HqKzHvZDop8XJjWlQNck0qtVjFdQIOqTgR8+9ygYrpqUqnVUSe8zOGNOv9fAz6w41Xn3SVrjAEtKwe4NZMZQQotiL9BlEMBX5RDiL8BKbS0ZjIjpeSrgKTDm3VcVtjPvgckgIOOga60z8k4LioA1NufvySW7+NfbosAGhXpSoEN6F176sQ1MKWwdr4++HpB1sxMjlfHAfw2ICXGwTibeZ5XXVuX3ogmcmHQcYOIUlibMNqdTKUeDUAbFpCSdakdKrIb9Lb5RzetF5WOZF1qRzjSUeHV7wM6Izc8NtRsTKIReFBVJ8Q3TSp6KXjf259HRNbfuGqTWNfbn9fwGqJmpQqLRcxDoHOITEcBft0a4B6H32HVJfo6fX+fDQiISBrhTYkW2SIiW27iyN/6F/hp9f36qjL7doQMMPiIg/yPVBVjTocN138A71ewdqeqbhOR9ao6IcohH//yTS7KJNYBW2zgyKv6wze7MLNChXYRSavqMHCkKu7mlZ5Ea9PmXM/RwcWgSaBBjd/flsmMhD2EqmqgBqr+sDGJT1wvgZrtqpxVlXzb1sbcgnqJ2enxblF9B+S3+efE8quK7J+dHu+OqxLzpmw2O+d53qmaVOqXVud0Y9ZwI599PrTj+p+//5zNZucWHHAAGhiZb8Wx/fnnRl2jm3VygGSFay4rkYdERrDAzwZ+y2BW9A4MrL2RIEXkEmMOb00FYFc6pdJYLLCayKHmtArtN/hCO2pOo4lcALwU4B8dXnMFgN2535Sr6a5NTp4X9TuBCyKS5p/AkAYuiPqd1yYnz0cBPuHw2mzzJE6Z/4bDO1FOqDa1dG5meuKUivT5yrchFzesKn0z0xOnAgMrFTj6bNUb6GICOF6mCG0AvgaWOCXTyTjXUptaOnfx3KhXv+ruOUWCXPpI29bGXJxIN2UDw2HHkL4DPFvmB1d9v+1dtDu6C/BSsdZVKe+wd+9e37YRuucTmj8GNtg2FKGT3mVHOToQ93Tj9N7iVhwttsFXKX0I7P6vkp8w4KvAM3bzqRiyV2zi8spCtKcqqekOAHfYLO2HIu2rk8CLwCqr3xVd/b9RB4C/ACaltuFyjACwAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-wheel-zoom{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhEQzIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRTI5MDhERDIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOERBMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOERCMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sFLapAAAA8xJREFUeNq8WH9k1VEU/+67ecTYxKM8xlJiifKIMUqUKMvy1CqbEmUxJZbSlGXTLBuJpYi18dpqStOzacT+WcTXpkiRUjziETEeY9bnzHm5O53vj/te7fDx3r3fc+/9fM/3nHPPvWWP0mOOIlVAC3AQqOc2SRZ4A9Cg58CSNrj1+FEnSIYfPynHTyOQArYCO/jRPPAJGAcmMM9f87vKfG3AF+AucMAgS5LgRZ4CH/mFrARkieAs8Aw4ASSBckaS++jZLOv6El4HjAKDwPoIa28GXgLdFmQv4WcO2BVBnXTmeIxK+D5wzLGXa8D1CGT78NPPhjFlGnjAmBbPSLefx65IBf+eZZ81hfznIfsr+W0eaACa2G3MhbuAt8CUD1kyRIfongDa4affhW4Nu2Oj0d2Bfg+6Y2UIukr2x4ShkAMOMQlNyLcmgVqj7z2wk17UDDosFOOYMOdPQ+dkyBcZFkb8DGxz2ckTwrKHA8g6HMn7gQWjbzsHqZSUmJ8sej6Cq7WzrhkzKVeYnmSEXSBM6I17RZ+WNWRfJ6z7K2xy1umUc7lGDizIkDL+AsNRXs6U3YpOUrRfWwS01K2noIuLzg+iTcFSiFLKlQPi8+aNAIwri24QlstaEM6JdoIsHBOdiyJl9RntfiXazUljEdJb3IKw1F10Q/Krtin0KaSD5Ido77MYK10sG0S4ByjzwW2LRT3pYlxLRBFpGM91/r9kRJuC/FbEnVEmhEwQYRqw7IMuC8LjnAKllSeBhEI0Qc8U636luWinWxYPqoFCnuxmX16VR9ldCvINqOH/NK5alpe8NY8qL5Nnl/GMFJhU6g2SZtqaw1xCkrss2pGEFhLp0CxuGow83+BDdoDn+FP8hJFeYusNlODL9LI/ubKLRRxDKfamuaNWRBx4o9TI49NDD9yjSdn9NKFa5jTGrdrIKpw1FJCtU8h6Rp/HwbVyBNOOSGtKGHJKtGdAao/NBO4aWrecS9mwQiuU8KLoi1nOEfepQ6TsFXVxnnO0NWFZEdVZjK8RaSgXoHtGbihwh4ViCM+LvhaL8VJ3xscdqnwOCk4xhDNKYNRHPOZfCakbzGOS+SWyloX8KsIj4lNScLwIuTsgsq+ASnFkmor4JdJayopKeEHZGOJ8OzMoatIkF0XvxIm5cGhcUtyhVqlrh4rNNoU8fI+jOCUs3cYIk14L63py9yo2D7fyBZ+t3AGuWgTmiFOCuCIvHuHFo6QbCpxm4GLIxZ+880j/K8Lm593EVZqnXF9N8UXIFt7zgwoeunDZCJzju44M+nKlEP4twAAD1RclkNDukAAAAABJRU5ErkJggg==\\\")}.bk-root .bk-grid-row,.bk-root .bk-grid-column{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.bk-root .bk-grid-row>*,.bk-root .bk-grid-column>*{flex-shrink:0;-webkit-flex-shrink:0}.bk-root .bk-grid-row{flex-direction:row;-webkit-flex-direction:row}.bk-root .bk-grid-column{flex-direction:column;-webkit-flex-direction:column}.bk-root .bk-canvas-wrapper{position:relative;font-size:12pt}.bk-root .bk-canvas,.bk-root .bk-canvas-overlays,.bk-root .bk-canvas-events{position:absolute;top:0;left:0;width:100%;height:100%}.bk-root .bk-canvas-map{position:absolute;border:0}.bk-root .bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat}.bk-root .bk-logo.bk-grey{filter:url(\\\"data:image/svg+xml;utf8,<svg xmlns=\\\\'http://www.w3.org/2000/svg\\\\'><filter id=\\\\'grayscale\\\\'><feColorMatrix type=\\\\'matrix\\\\' values=\\\\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\\\\'/></filter></svg>#grayscale\\\");filter:gray;-webkit-filter:grayscale(100%)}.bk-root .bk-logo-notebook{display:inline-block;vertical-align:middle;margin-right:5px}.bk-root .bk-logo-small{width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==)}.bk-root .bk-toolbar,.bk-root .bk-toolbar *{box-sizing:border-box;margin:0;padding:0}.bk-root .bk-toolbar,.bk-root .bk-button-bar{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.bk-root .bk-toolbar .bk-logo{flex-shrink:0;-webkit-flex-shrink:0}.bk-root .bk-toolbar-above,.bk-root .bk-toolbar-below{flex-direction:row;-webkit-flex-direction:row;justify-content:flex-end;-webkit-justify-content:flex-end}.bk-root .bk-toolbar-above .bk-button-bar,.bk-root .bk-toolbar-below .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row}.bk-root .bk-toolbar-above .bk-logo,.bk-root .bk-toolbar-below .bk-logo{order:1;-webkit-order:1;margin-left:5px}.bk-root .bk-toolbar-left,.bk-root .bk-toolbar-right{flex-direction:column;-webkit-flex-direction:column;justify-content:flex-start;-webkit-justify-content:flex-start}.bk-root .bk-toolbar-left .bk-button-bar,.bk-root .bk-toolbar-right .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}.bk-root .bk-toolbar-left .bk-logo,.bk-root .bk-toolbar-right .bk-logo{order:0;-webkit-order:0;margin-bottom:5px}.bk-root .bk-toolbar-button{width:30px;height:30px;background-size:60%;background-color:transparent;background-repeat:no-repeat;background-position:center center}.bk-root .bk-toolbar-button:hover{background-color:#f9f9f9}.bk-root .bk-toolbar-button:focus{outline:0}.bk-root .bk-toolbar-button::-moz-focus-inner{border:0}.bk-root .bk-toolbar-above .bk-toolbar-button{border-bottom:2px solid transparent}.bk-root .bk-toolbar-above .bk-toolbar-button.bk-active{border-bottom-color:#26aae1}.bk-root .bk-toolbar-below .bk-toolbar-button{border-top:2px solid transparent}.bk-root .bk-toolbar-below .bk-toolbar-button.bk-active{border-top-color:#26aae1}.bk-root .bk-toolbar-right .bk-toolbar-button{border-left:2px solid transparent}.bk-root .bk-toolbar-right .bk-toolbar-button.bk-active{border-left-color:#26aae1}.bk-root .bk-toolbar-left .bk-toolbar-button{border-right:2px solid transparent}.bk-root .bk-toolbar-left .bk-toolbar-button.bk-active{border-right-color:#26aae1}.bk-root .bk-button-bar+.bk-button-bar:before{content:\\\" \\\";display:inline-block;background-color:lightgray}.bk-root .bk-toolbar-above .bk-button-bar+.bk-button-bar:before,.bk-root .bk-toolbar-below .bk-button-bar+.bk-button-bar:before{height:10px;width:1px}.bk-root .bk-toolbar-left .bk-button-bar+.bk-button-bar:before,.bk-root .bk-toolbar-right .bk-button-bar+.bk-button-bar:before{height:1px;width:10px}.bk-root .bk-tooltip{font-family:\\\"HelveticaNeue-Light\\\",\\\"Helvetica Neue Light\\\",\\\"Helvetica Neue\\\",Helvetica,Arial,\\\"Lucida Grande\\\",sans-serif;font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid #e5e5e5;background-color:white;pointer-events:none;opacity:.95}.bk-root .bk-tooltip>div:not(:first-child){margin-top:5px;border-top:#e5e5e5 1px dashed}.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\\\" \\\";display:block;left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-left::before{left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\\\" \\\";display:block;right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-right::after{right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-above::before{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\\\" \\\";display:block;top:-10px;border-bottom-width:10px;border-bottom-color:#909599}.bk-root .bk-tooltip.bk-below::after{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\\\" \\\";display:block;bottom:-10px;border-top-width:10px;border-top-color:#909599}.bk-root .bk-tooltip-row-label{text-align:right;color:#26aae1}.bk-root .bk-tooltip-row-value{color:default}.bk-root .bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#ddd solid 1px;display:inline-block}.bk-root .bk-plotdiv{position:relative;width:100%;height:100%}.rendered_html .bk-root .bk-tooltip table,.rendered_html .bk-root .bk-tooltip tr,.rendered_html .bk-root .bk-tooltip th,.rendered_html .bk-root .bk-tooltip td{border:0;padding:1px}//# sourceMappingURL=bokeh.min.css.map\\n\\n/* END bokeh.min.css */\");\n",
       "      console.log(\"Bokeh: injecting raw CSS\");\n",
       "      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh-widgets.min.css */\\n@charset \\\"UTF-8\\\";.bk-root{/*!\\n * Pikaday\\n * Copyright \\u00a9 2014 David Bushell | BSD & MIT license | http://dbushell.com/\\n */}.bk-root .bk-noUi-target,.bk-root .bk-noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-target{position:relative;direction:ltr}.bk-root .bk-noUi-base{width:100%;height:100%;position:relative;z-index:1}.bk-root .bk-noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.bk-root .bk-noUi-origin{position:absolute;height:0;width:0}.bk-root .bk-noUi-handle{position:relative;z-index:1}.bk-root .bk-noUi-state-tap .bk-noUi-connect,.bk-root .bk-noUi-state-tap .bk-noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.bk-root .bk-noUi-state-drag *{cursor:inherit !important}.bk-root .bk-noUi-base,.bk-root .bk-noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bk-root .bk-noUi-horizontal{height:18px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.bk-root .bk-noUi-vertical{width:18px}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.bk-root .bk-noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #BBB}.bk-root .bk-noUi-connect{background:#3fb8af;border-radius:4px;box-shadow:inset 0 0 3px rgba(51,51,51,0.45);-webkit-transition:background 450ms;transition:background 450ms}.bk-root .bk-noUi-draggable{cursor:ew-resize}.bk-root .bk-noUi-vertical .bk-noUi-draggable{cursor:ns-resize}.bk-root .bk-noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #ebebeb,0 3px 6px -3px #BBB}.bk-root .bk-noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.bk-root .bk-noUi-handle:before,.bk-root .bk-noUi-handle:after{content:\\\"\\\";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.bk-root .bk-noUi-handle:after{left:17px}.bk-root .bk-noUi-vertical .bk-noUi-handle:before,.bk-root .bk-noUi-vertical .bk-noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.bk-root .bk-noUi-vertical .bk-noUi-handle:after{top:17px}.bk-root [disabled] .bk-noUi-connect{background:#b8b8b8}.bk-root [disabled].bk-noUi-target,.bk-root [disabled].bk-noUi-handle,.bk-root [disabled] .bk-noUi-handle{cursor:not-allowed}.bk-root .bk-noUi-pips,.bk-root .bk-noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-pips{position:absolute;color:#999}.bk-root .bk-noUi-value{position:absolute;white-space:nowrap;text-align:center}.bk-root .bk-noUi-value-sub{color:#ccc;font-size:10px}.bk-root .bk-noUi-marker{position:absolute;background:#CCC}.bk-root .bk-noUi-marker-sub{background:#AAA}.bk-root .bk-noUi-marker-large{background:#AAA}.bk-root .bk-noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.bk-root .bk-noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker{margin-left:-1px;width:2px;height:5px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-sub{height:10px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-large{height:15px}.bk-root .bk-noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.bk-root .bk-noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker{width:5px;height:2px;margin-top:-1px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-sub{width:10px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-large{width:15px}.bk-root .bk-noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.bk-root .bk-noUi-horizontal .bk-noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.bk-root .bk-noUi-vertical .bk-noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.bk-root .bk-noUi-handle{cursor:grab;cursor:-webkit-grab}.bk-root .bk-noUi-handle.bk-noUi-active{cursor:grabbing;cursor:-webkit-grabbing}.bk-root .bk-noUi-tooltip{display:none;white-space:nowrap}.bk-root .bk-noUi-handle:hover .bk-noUi-tooltip{display:block}.bk-root .bk-noUi-horizontal{width:100%;height:10px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:14px;height:18px;left:-7px;top:-5px}.bk-root .bk-noUi-vertical{width:10px;height:100%}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:18px;height:14px;left:-5px;top:-7px}.bk-root .bk-noUi-handle:after,.bk-root .bk-noUi-handle:before{display:none}.bk-root .bk-noUi-connect{box-shadow:none}.bk-root fieldset{padding:0;margin:0;border:0;min-width:0}.bk-root legend{display:block;width:100%;padding:0;margin-bottom:17px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.bk-root label{display:inline-block;margin-bottom:5px}.bk-root input[type=\\\"search\\\"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root input[type=\\\"radio\\\"],.bk-root input[type=\\\"checkbox\\\"]{margin:4px 0 0;margin-top:1px \\\\9;line-height:normal}.bk-root input[type=\\\"file\\\"]{display:block}.bk-root input[type=\\\"range\\\"]{display:block;width:100%}.bk-root select[multiple],.bk-root select[size]{height:auto}.bk-root input[type=\\\"file\\\"]:focus,.bk-root input[type=\\\"radio\\\"]:focus,.bk-root input[type=\\\"checkbox\\\"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root output{display:block;padding-top:7px;line-height:1.42857143;color:#555}.bk-root .bk-bs-form-control{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-bs-form-control::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-bs-form-control:-ms-input-placeholder{color:#999}.bk-root .bk-bs-form-control::-webkit-input-placeholder{color:#999}.bk-root .bk-bs-form-control[disabled],.bk-root .bk-bs-form-control[readonly],fieldset[disabled] .bk-root .bk-bs-form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-bs-form-control{height:auto}.bk-root input[type=\\\"search\\\"]{-webkit-appearance:none}.bk-root input[type=\\\"date\\\"]{line-height:31px}.bk-root .bk-bs-form-group{margin-bottom:15px}.bk-root .bk-bs-radio,.bk-root .bk-bs-checkbox{display:block;min-height:17px;margin-top:10px;margin-bottom:10px;padding-left:20px}.bk-root .bk-bs-radio label,.bk-root .bk-bs-checkbox label{display:inline;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio input[type=\\\"radio\\\"],.bk-root .bk-bs-radio-inline input[type=\\\"radio\\\"],.bk-root .bk-bs-checkbox input[type=\\\"checkbox\\\"],.bk-root .bk-bs-checkbox-inline input[type=\\\"checkbox\\\"]{float:left;margin-left:-20px}.bk-root .bk-bs-radio+.bk-bs-radio,.bk-root .bk-bs-checkbox+.bk-bs-checkbox{margin-top:-5px}.bk-root .bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio-inline+.bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline+.bk-bs-checkbox-inline{margin-top:0;margin-left:10px}.bk-root input[type=\\\"radio\\\"][disabled],.bk-root input[type=\\\"checkbox\\\"][disabled],.bk-root .bk-bs-radio[disabled],.bk-root .bk-bs-radio-inline[disabled],.bk-root .bk-bs-checkbox[disabled],.bk-root .bk-bs-checkbox-inline[disabled],fieldset[disabled] .bk-root input[type=\\\"radio\\\"],fieldset[disabled] .bk-root input[type=\\\"checkbox\\\"],fieldset[disabled] .bk-root .bk-bs-radio,fieldset[disabled] .bk-root .bk-bs-radio-inline,fieldset[disabled] .bk-root .bk-bs-checkbox,fieldset[disabled] .bk-root .bk-bs-checkbox-inline{cursor:not-allowed}.bk-root .bk-bs-input-sm{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-sm{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-sm,select[multiple].bk-root .bk-bs-input-sm{height:auto}.bk-root .bk-bs-input-lg{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-lg{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-lg,select[multiple].bk-root .bk-bs-input-lg{height:auto}.bk-root .bk-bs-has-feedback{position:relative}.bk-root .bk-bs-has-feedback .bk-bs-form-control{padding-right:38.75px}.bk-root .bk-bs-has-feedback .bk-bs-form-control-feedback{position:absolute;top:22px;right:0;display:block;width:31px;height:31px;line-height:31px;text-align:center}.bk-root .bk-bs-has-success .bk-bs-help-block,.bk-root .bk-bs-has-success .bk-bs-control-label,.bk-root .bk-bs-has-success .bk-bs-radio,.bk-root .bk-bs-has-success .bk-bs-checkbox,.bk-root .bk-bs-has-success .bk-bs-radio-inline,.bk-root .bk-bs-has-success .bk-bs-checkbox-inline{color:#3c763d}.bk-root .bk-bs-has-success .bk-bs-form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-success .bk-bs-form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.bk-root .bk-bs-has-success .bk-bs-input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.bk-root .bk-bs-has-success .bk-bs-form-control-feedback{color:#3c763d}.bk-root .bk-bs-has-warning .bk-bs-help-block,.bk-root .bk-bs-has-warning .bk-bs-control-label,.bk-root .bk-bs-has-warning .bk-bs-radio,.bk-root .bk-bs-has-warning .bk-bs-checkbox,.bk-root .bk-bs-has-warning .bk-bs-radio-inline,.bk-root .bk-bs-has-warning .bk-bs-checkbox-inline{color:#8a6d3b}.bk-root .bk-bs-has-warning .bk-bs-form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-warning .bk-bs-form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.bk-root .bk-bs-has-warning .bk-bs-input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.bk-root .bk-bs-has-warning .bk-bs-form-control-feedback{color:#8a6d3b}.bk-root .bk-bs-has-error .bk-bs-help-block,.bk-root .bk-bs-has-error .bk-bs-control-label,.bk-root .bk-bs-has-error .bk-bs-radio,.bk-root .bk-bs-has-error .bk-bs-checkbox,.bk-root .bk-bs-has-error .bk-bs-radio-inline,.bk-root .bk-bs-has-error .bk-bs-checkbox-inline{color:#a94442}.bk-root .bk-bs-has-error .bk-bs-form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-error .bk-bs-form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.bk-root .bk-bs-has-error .bk-bs-input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.bk-root .bk-bs-has-error .bk-bs-form-control-feedback{color:#a94442}.bk-root .bk-bs-form-control-static{margin-bottom:0}.bk-root .bk-bs-help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.bk-root .bk-bs-form-inline .bk-bs-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-form-control{display:inline-block;width:auto;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-input-group>.bk-bs-form-control{width:100%}.bk-root .bk-bs-form-inline .bk-bs-control-label{margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio,.bk-root .bk-bs-form-inline .bk-bs-checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio input[type=\\\"radio\\\"],.bk-root .bk-bs-form-inline .bk-bs-checkbox input[type=\\\"checkbox\\\"]{float:none;margin-left:0}.bk-root .bk-bs-form-inline .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0}}.bk-root .bk-bs-form-horizontal .bk-bs-control-label,.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox,.bk-root .bk-bs-form-horizontal .bk-bs-radio-inline,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox{min-height:24px}.bk-root .bk-bs-form-horizontal .bk-bs-form-group{margin-left:-15px;margin-right:-15px}.bk-root .bk-bs-form-horizontal .bk-bs-form-control-static{padding-top:7px}@media(min-width:768px){.bk-root .bk-bs-form-horizontal .bk-bs-control-label{text-align:right}}.bk-root .bk-bs-form-horizontal .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0;right:15px}.bk-root .bk-bs-btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bk-root .bk-bs-btn:focus,.bk-root .bk-bs-btn:active:focus,.bk-root .bk-bs-btn.bk-bs-active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root .bk-bs-btn:hover,.bk-root .bk-bs-btn:focus{color:#333;text-decoration:none}.bk-root .bk-bs-btn:active,.bk-root .bk-bs-btn.bk-bs-active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn.bk-bs-disabled,.bk-root .bk-bs-btn[disabled],fieldset[disabled] .bk-root .bk-bs-btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-default{color:#333;background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{background-image:none}.bk-root .bk-bs-btn-default.bk-bs-disabled,.bk-root .bk-bs-btn-default[disabled],fieldset[disabled] .bk-root .bk-bs-btn-default,.bk-root .bk-bs-btn-default.bk-bs-disabled:hover,.bk-root .bk-bs-btn-default[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default.bk-bs-disabled:focus,.bk-root .bk-bs-btn-default[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default.bk-bs-disabled:active,.bk-root .bk-bs-btn-default[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-default[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-default.bk-bs-active{background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default .bk-bs-badge{color:#fff;background-color:#333}.bk-root .bk-bs-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{background-image:none}.bk-root .bk-bs-btn-primary.bk-bs-disabled,.bk-root .bk-bs-btn-primary[disabled],fieldset[disabled] .bk-root .bk-bs-btn-primary,.bk-root .bk-bs-btn-primary.bk-bs-disabled:hover,.bk-root .bk-bs-btn-primary[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary.bk-bs-disabled:focus,.bk-root .bk-bs-btn-primary[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary.bk-bs-disabled:active,.bk-root .bk-bs-btn-primary[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-primary[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-primary.bk-bs-active{background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary .bk-bs-badge{color:#428bca;background-color:#fff}.bk-root .bk-bs-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{color:#fff;background-color:#47a447;border-color:#398439}.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{background-image:none}.bk-root .bk-bs-btn-success.bk-bs-disabled,.bk-root .bk-bs-btn-success[disabled],fieldset[disabled] .bk-root .bk-bs-btn-success,.bk-root .bk-bs-btn-success.bk-bs-disabled:hover,.bk-root .bk-bs-btn-success[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success.bk-bs-disabled:focus,.bk-root .bk-bs-btn-success[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success.bk-bs-disabled:active,.bk-root .bk-bs-btn-success[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-success[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-success.bk-bs-active{background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success .bk-bs-badge{color:#5cb85c;background-color:#fff}.bk-root .bk-bs-btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{background-image:none}.bk-root .bk-bs-btn-info.bk-bs-disabled,.bk-root .bk-bs-btn-info[disabled],fieldset[disabled] .bk-root .bk-bs-btn-info,.bk-root .bk-bs-btn-info.bk-bs-disabled:hover,.bk-root .bk-bs-btn-info[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info.bk-bs-disabled:focus,.bk-root .bk-bs-btn-info[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info.bk-bs-disabled:active,.bk-root .bk-bs-btn-info[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-info[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-info.bk-bs-active{background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info .bk-bs-badge{color:#5bc0de;background-color:#fff}.bk-root .bk-bs-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{background-image:none}.bk-root .bk-bs-btn-warning.bk-bs-disabled,.bk-root .bk-bs-btn-warning[disabled],fieldset[disabled] .bk-root .bk-bs-btn-warning,.bk-root .bk-bs-btn-warning.bk-bs-disabled:hover,.bk-root .bk-bs-btn-warning[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning.bk-bs-disabled:focus,.bk-root .bk-bs-btn-warning[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning.bk-bs-disabled:active,.bk-root .bk-bs-btn-warning[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-warning[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-warning.bk-bs-active{background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning .bk-bs-badge{color:#f0ad4e;background-color:#fff}.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{background-image:none}.bk-root .bk-bs-btn-danger.bk-bs-disabled,.bk-root .bk-bs-btn-danger[disabled],fieldset[disabled] .bk-root .bk-bs-btn-danger,.bk-root .bk-bs-btn-danger.bk-bs-disabled:hover,.bk-root .bk-bs-btn-danger[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger.bk-bs-disabled:focus,.bk-root .bk-bs-btn-danger[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger.bk-bs-disabled:active,.bk-root .bk-bs-btn-danger[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-danger[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-danger.bk-bs-active{background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger .bk-bs-badge{color:#d9534f;background-color:#fff}.bk-root .bk-bs-btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:active,.bk-root .bk-bs-btn-link[disabled],fieldset[disabled] .bk-root .bk-bs-btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus,.bk-root .bk-bs-btn-link:active{border-color:transparent}.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.bk-root .bk-bs-btn-link[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-link:focus{color:#999;text-decoration:none}.bk-root .bk-bs-btn-lg{padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}.bk-root .bk-bs-btn-sm{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-xs{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-block{display:block;width:100%;padding-left:0;padding-right:0}.bk-root .bk-bs-btn-block+.bk-bs-btn-block{margin-top:5px}.bk-root input[type=\\\"submit\\\"].bk-bs-btn-block,.bk-root input[type=\\\"reset\\\"].bk-bs-btn-block,.bk-root input[type=\\\"button\\\"].bk-bs-btn-block{width:100%}.bk-root .bk-bs-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.bk-root .bk-bs-dropdown{position:relative}.bk-root .bk-bs-dropdown-toggle:focus{outline:0}.bk-root .bk-bs-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:12px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bk-root .bk-bs-dropdown-menu.bk-bs-pull-right{right:0;left:auto}.bk-root .bk-bs-dropdown-menu .bk-bs-divider{height:1px;margin:7.5px 0;overflow:hidden;background-color:#e5e5e5}.bk-root .bk-bs-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.bk-root .bk-bs-dropdown-menu>li>a:hover,.bk-root .bk-bs-dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{color:#999}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.bk-bs-Microsoft.bk-bs-gradient(enabled = false);cursor:not-allowed}.bk-root .bk-bs-open>.bk-bs-dropdown-menu{display:block}.bk-root .bk-bs-open>a{outline:0}.bk-root .bk-bs-dropdown-menu-right{left:auto;right:0}.bk-root .bk-bs-dropdown-menu-left{left:0;right:auto}.bk-root .bk-bs-dropdown-header{display:block;padding:3px 20px;font-size:11px;line-height:1.42857143;color:#999}.bk-root .bk-bs-dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.bk-root .bk-bs-pull-right>.bk-bs-dropdown-menu{right:0;left:auto}.bk-root .bk-bs-dropup .bk-bs-caret,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-caret{border-top:0;border-bottom:4px solid;content:\\\"\\\"}.bk-root .bk-bs-dropup .bk-bs-dropdown-menu,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu{left:auto;right:0}.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu-left{left:0;right:auto}}.bk-root .bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.bk-root .bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn{position:relative;float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group>.bk-bs-btn:active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:active,.bk-root .bk-bs-btn-group>.bk-bs-btn.bk-bs-active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn.bk-bs-active{z-index:2}.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus{outline:0}.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-btn-toolbar{margin-left:-5px}.bk-root .bk-bs-btn-toolbar .bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar .bk-bs-input-group{float:left}.bk-root .bk-bs-btn-toolbar>.bk-bs-btn,.bk-root .bk-bs-btn-toolbar>.bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar>.bk-bs-input-group{margin-left:5px}.bk-root .bk-bs-btn-group>.bk-bs-btn:not(:first-child):not(:last-child):not(.bk-bs-dropdown-toggle){border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child{margin-left:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child:not(:last-child):not(.bk-bs-dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:last-child:not(:first-child),.bk-root .bk-bs-btn-group>.bk-bs-dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group{float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:last-child>.bk-bs-btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group .bk-bs-dropdown-toggle:active,.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{outline:0}.bk-root .bk-bs-btn-group>.bk-bs-btn+.bk-bs-dropdown-toggle{padding-left:8px;padding-right:8px}.bk-root .bk-bs-btn-group>.bk-bs-btn-lg+.bk-bs-dropdown-toggle{padding-left:12px;padding-right:12px}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle.bk-bs-btn-link{-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn .bk-bs-caret{margin-left:0}.bk-root .bk-bs-btn-lg .bk-bs-caret{border-width:5px 5px 0;border-bottom-width:0}.bk-root .bk-bs-dropup .bk-bs-btn-lg .bk-bs-caret{border-width:0 5px 5px}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{display:block;float:none;width:100%;max-width:100%}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{float:none}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn-group{margin-top:-1px;margin-left:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:last-child:not(:first-child)>.bk-bs-btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn,.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group{float:none;display:table-cell;width:1%}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group .bk-bs-btn{width:100%}.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\\\"radio\\\"],.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\\\"checkbox\\\"]{display:none}.bk-root .bk-bs-input-group{position:relative;display:table;border-collapse:separate}.bk-root .bk-bs-input-group[class*=\\\"col-\\\"]{float:none;padding-left:0;padding-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn,.bk-root .bk-bs-input-group .bk-bs-form-control{display:table-cell}.bk-root .bk-bs-input-group-addon:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group-btn:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group .bk-bs-form-control:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.bk-root .bk-bs-input-group-addon{padding:6px 12px;font-size:12px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-input-group-addon.bk-bs-input-sm{padding:5px 10px;font-size:11px;border-radius:3px}.bk-root .bk-bs-input-group-addon.bk-bs-input-lg{padding:10px 16px;font-size:15px;border-radius:6px}.bk-root .bk-bs-input-group-addon input[type=\\\"radio\\\"],.bk-root .bk-bs-input-group-addon input[type=\\\"checkbox\\\"]{margin-top:0}.bk-root .bk-bs-input-group .bk-bs-form-control:first-child,.bk-root .bk-bs-input-group-addon:first-child,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn:not(:last-child):not(.bk-bs-dropdown-toggle),.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group:not(:last-child)>.bk-bs-btn{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-input-group-addon:first-child{border-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control:last-child,.bk-root .bk-bs-input-group-addon:last-child,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn:not(:first-child),.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group:not(:first-child)>.bk-bs-btn{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-input-group-addon:last-child{border-left:0}.bk-root .bk-bs-input-group-btn{position:relative;font-size:0;white-space:nowrap}.bk-root .bk-bs-input-group-btn>.bk-bs-btn{position:relative}.bk-root .bk-bs-input-group-btn>.bk-bs-btn+.bk-bs-btn{margin-left:-1px}.bk-root .bk-bs-input-group-btn>.bk-bs-btn:hover,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:focus,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:active{z-index:2}.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group{margin-right:-1px}.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-nav{margin-bottom:0;padding-left:0;list-style:none}.bk-root .bk-bs-nav>li{position:relative;display:block}.bk-root .bk-bs-nav>li>span{position:relative;display:block;padding:10px 15px}.bk-root .bk-bs-nav>li>span:hover,.bk-root .bk-bs-nav>li>span:focus{text-decoration:none;background-color:#eee}.bk-root .bk-bs-nav>li.bk-bs-disabled>span{color:#999}.bk-root .bk-bs-nav>li.bk-bs-disabled>span:hover,.bk-root .bk-bs-nav>li.bk-bs-disabled>span:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.bk-root .bk-bs-nav-tabs{border-bottom:1px solid #ddd}.bk-root .bk-bs-nav-tabs>li{float:left;margin-bottom:-1px}.bk-root .bk-bs-nav-tabs>li>span{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.bk-root .bk-bs-nav-tabs>li>span:hover{border-color:#eee #eee #ddd;cursor:pointer}.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:hover,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.bk-root .bk-bs-tab-content>.bk-bs-tab-pane{display:none}.bk-root .bk-bs-tab-content>.bk-bs-active{display:block}.bk-root .pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif}.bk-root .pika-single:before,.bk-root .pika-single:after{content:\\\" \\\";display:table}.bk-root .pika-single:after{clear:both}.bk-root .pika-single{*zoom:1}.bk-root .pika-single.is-hidden{display:none}.bk-root .pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5)}.bk-root .pika-lendar{float:left;width:240px;margin:8px}.bk-root .pika-title{position:relative;text-align:center}.bk-root .pika-label{display:inline-block;*display:inline;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff}.bk-root .pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;filter:alpha(opacity=0);opacity:0}.bk-root .pika-prev,.bk-root .pika-next{display:block;cursor:pointer;position:relative;outline:0;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5;*position:absolute;*top:0}.bk-root .pika-prev:hover,.bk-root .pika-next:hover{opacity:1}.bk-root .pika-prev,.bk-root .is-rtl .pika-next{float:left;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');*left:0}.bk-root .pika-next,.bk-root .is-rtl .pika-prev{float:right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');*right:0}.bk-root .pika-prev.is-disabled,.bk-root .pika-next.is-disabled{cursor:default;opacity:.2}.bk-root .pika-select{display:inline-block;*display:inline}.bk-root .pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.bk-root .pika-table th,.bk-root .pika-table td{width:14.285714285714286%;padding:0}.bk-root .pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:bold;text-align:center}.bk-root .pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:0;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5}.bk-root .pika-week{font-size:11px;color:#999}.bk-root .is-today .pika-button{color:#3af;font-weight:bold}.bk-root .is-selected .pika-button,.bk-root .has-event .pika-button{color:#fff;font-weight:bold;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.bk-root .has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.bk-root .is-disabled .pika-button,.bk-root .is-inrange .pika-button{background:#d5e9f7}.bk-root .is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.bk-root .is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.bk-root .is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.bk-root .is-outside-current-month .pika-button{color:#999;opacity:.3}.bk-root .is-selection-disabled{pointer-events:none;cursor:default}.bk-root .pika-button:hover,.bk-root .pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.bk-root .pika-table abbr{border-bottom:0;cursor:help}.bk-root .bk-widget-box{overflow:visible;padding:5px 10px}.bk-root .bk-widget label{margin-bottom:2px}.bk-root .bk-widget{margin-top:10px}.bk-root .bk-widget h1:first-child,.bk-root .bk-widget h2:first-child,.bk-root .bk-widget h3:first-child,.bk-root .bk-widget h4:first-child,.bk-root .bk-widget h5:first-child,.bk-root .bk-widget h6:first-child,.bk-root .bk-widget p:first-child{margin-top:0}.bk-root .bk-widget-form-input{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-widget-form-input:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-widget-form-input::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-widget-form-input:-ms-input-placeholder{color:#999}.bk-root .bk-widget-form-input::-webkit-input-placeholder{color:#999}.bk-root .bk-widget-form-input[disabled],.bk-root .bk-widget-form-input[readonly],fieldset[disabled] .bk-root .bk-widget-form-input{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-widget-form-input{height:auto}.bk-root .bk-widget button{min-width:100%}.bk-root .bk-widget input[type=\\\"text\\\"]{min-width:90%}.bk-root .bk-widget select{min-width:97%}.bk-root .bk-bs-dropdown-toggle .bk-bs-caret{margin-left:5px}.bk-root .bk-bs-dropdown-menu{width:100%}.bk-root .bk-bs-nav-tabs{overflow:hidden}.bk-root .bk-bs-tab-pane{float:left}.bk-root .bk-slider label{margin-right:5px}.bk-root .bk-slider .bk-slider-value{display:inline-block;font-weight:600}.bk-root .bk-slider input,.bk-root .bk-slider .bk-slider-value{margin-bottom:5px}//# sourceMappingURL=bokeh-widgets.min.css.map\\n\\n/* END bokeh-widgets.min.css */\");\n",
       "      console.log(\"Bokeh: injecting raw CSS\");\n",
       "      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh-tables.min.css */\\n.bk-root .slick-header.ui-state-default,.bk-root .slick-headerrow.ui-state-default,.bk-root .slick-footerrow.ui-state-default{width:100%;overflow:hidden;border-left:0 !important}.bk-root .slick-header-columns,.bk-root .slick-headerrow-columns,.bk-root .slick-footerrow-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden}.bk-root .slick-header-column.ui-state-default{position:relative;display:inline-block;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0 !important;border-top:0 !important;border-bottom:0 !important;float:left}.bk-root .slick-headerrow-column.ui-state-default,.bk-root .slick-footerrow-column.ui-state-default{padding:4px}.bk-root .slick-header-column-sorted{font-style:italic}.bk-root .slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left}.bk-root .slick-sort-indicator-numbered{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:0;padding-left:1px;line-height:20px;float:left;font-family:Arial;font-style:normal;font-weight:bold;color:#6190cd}.bk-root .slick-sort-indicator-desc{background:url(images/sort-desc.gif)}.bk-root .slick-sort-indicator-asc{background:url(images/sort-asc.gif)}.bk-root .slick-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:col-resize;width:4px;right:0;top:0;height:100%}.bk-root .slick-sortable-placeholder{background:silver}.bk-root .grid-canvas{position:relative;outline:0}.bk-root .slick-row.ui-widget-content,.bk-root .slick-row.ui-state-active{position:absolute;border:0;width:100%}.bk-root .slick-cell,.bk-root .slick-headerrow-column,.bk-root .slick-footerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default}.bk-root .slick-cell,.bk-root .slick-headerrow-column{border-bottom-color:silver}.bk-root .slick-footerrow-column{border-top-color:silver}.bk-root .slick-group-toggle{display:inline-block}.bk-root .slick-cell.highlighted{background:lightskyblue;background:rgba(0,0,255,0.2);-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}.bk-root .slick-cell.flashing{border:1px solid red !important}.bk-root .slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid}.bk-root .slick-cell:focus{outline:0}.bk-root .slick-reorder-proxy{display:inline-block;background:blue;opacity:.15;cursor:move}.bk-root .slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:.7}.bk-root .slick-selection{z-index:10;position:absolute;border:2px dashed black}.bk-root .slick-header-columns{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-bottom:1px solid silver}.bk-root .slick-header-column{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-right:1px solid silver}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background:white url('images/header-columns-over-bg.gif') repeat-x center bottom}.bk-root .slick-headerrow{background:#fafafa}.bk-root .slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row{position:absolute;background:white;border:0;line-height:20px}.bk-root .slick-row.selected{z-index:10;background:#dfe8f6}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-group{border-bottom:2px solid silver}.bk-root .slick-group-toggle{width:9px;height:9px;margin-right:5px}.bk-root .slick-group-toggle.expanded{background:url(images/collapse.gif) no-repeat center center}.bk-root .slick-group-toggle.collapsed{background:url(images/expand.gif) no-repeat center center}.bk-root .slick-group-totals{color:gray;background:white}.bk-root .slick-group-select-checkbox{width:13px;height:13px;margin:3px 10px 0 0;display:inline-block}.bk-root .slick-group-select-checkbox.checked{background:url(images/GrpCheckboxY.png) no-repeat center center}.bk-root .slick-group-select-checkbox.unchecked{background:url(images/GrpCheckboxN.png) no-repeat center center}.bk-root .slick-cell.selected{background-color:beige}.bk-root .slick-cell.active{border-color:gray;border-style:solid}.bk-root .slick-sortable-placeholder{background:silver !important}.bk-root .slick-row.odd{background:#fafafa}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row.loading{opacity:.5}.bk-root .slick-cell.invalid{border-color:red;-moz-animation-duration:.2s;-webkit-animation-duration:.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite}@-moz-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}@-webkit-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}.bk-root .slick-column-name,.bk-root .slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px}.bk-root .slick-header-button{display:inline-block;float:right;vertical-align:top;margin:1px;margin-bottom:100px;height:15px;width:15px;background-repeat:no-repeat;background-position:center center;cursor:pointer}.bk-root .slick-header-button-hidden{width:0;-webkit-transition:.2s width;-ms-transition:.2s width;transition:.2s width}.bk-root .slick-header-column:hover>.slick-header-button{width:15px}.bk-root .slick-header-menubutton{position:absolute;right:0;top:0;bottom:0;width:14px;background-repeat:no-repeat;background-position:left center;background-image:url(../images/down.gif);cursor:pointer;display:none;border-left:thin ridge silver}.bk-root .slick-header-column:hover>.slick-header-menubutton,.bk-root .slick-header-column-active .slick-header-menubutton{display:inline-block}.bk-root .slick-header-menu{position:absolute;display:inline-block;margin:0;padding:2px;cursor:default}.bk-root .slick-header-menuitem{list-style:none;margin:0;padding:0;cursor:pointer}.bk-root .slick-header-menuicon{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;background-repeat:no-repeat;background-position:center center}.bk-root .slick-header-menucontent{display:inline-block;vertical-align:middle}.bk-root .slick-header-menuitem-disabled{color:silver}.bk-root .slick-columnpicker{border:1px solid #718bb7;background:#f0f0f0;padding:6px;-moz-box-shadow:2px 2px 2px silver;-webkit-box-shadow:2px 2px 2px silver;box-shadow:2px 2px 2px silver;min-width:100px;cursor:default}.bk-root .slick-columnpicker li{list-style:none;margin:0;padding:0;background:0}.bk-root .slick-columnpicker input{margin:4px}.bk-root .slick-columnpicker li a{display:block;padding:4px;font-weight:bold}.bk-root .slick-columnpicker li a:hover{background:white}.bk-root .slick-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url('../images/header-columns-bg.gif') repeat-x center bottom;vertical-align:middle}.bk-root .slick-pager .slick-pager-status{display:inline-block;padding:6px}.bk-root .slick-pager .ui-icon-container{display:inline-block;margin:2px;border-color:gray}.bk-root .slick-pager .slick-pager-nav{display:inline-block;float:left;padding:2px}.bk-root .slick-pager .slick-pager-settings{display:block;float:right;padding:2px}.bk-root .slick-pager .slick-pager-settings *{vertical-align:middle}.bk-root .slick-pager .slick-pager-settings a{padding:2px;text-decoration:underline;cursor:pointer}.bk-root .slick-header-columns{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .slick-header-column{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAWAIcAAKrM9tno++vz/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABYAAAgUAAUIHEiwoIAACBMqXMhwIQAAAQEAOw==\\\")}.bk-root .slick-group-toggle.expanded{background-image:url(\\\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7\\\")}.bk-root .slick-group-toggle.collapsed{background-image:url(\\\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=\\\")}.bk-root .slick-group-select-checkbox.checked{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAEcSURBVChTjdI9S8NQFAbg/raQXVwCRRFE7GK7OXTwD+ikk066VF3a0ja0hQTyQdJrwNq0zrYSQRLEXMSWSlCIb8glqRcFD+9yz3nugXwU4n9XQqMoGjj36uBJsTwuaNo3EwBG4Yy7pe7Gv8YcvhJCGFVsjxsjxujj6OTSGlHv+U2WZUZbPWKOv1ZjT5a7pbIoiptbO5b73mwrjHa1B27l8VlTEIS1damlTnEE+EEN9/P8WrfH81qdAIGeXvTTmzltdCy46sEhxpKUINReZR9NnqZbr9puugxV3NjWh/k74WmmEdWhmUNy2jNmWRc6fZTVADCqao52u+DGWTACYNT3fRxwtatPufTNR4yCIGAUn5hS+vJHhWGY/ANx/A3tvdv+1tZmuwAAAABJRU5ErkJggg==\\\")}.bk-root .slick-group-select-checkbox.unchecked{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACXSURBVChT1dIxC4MwEAXg/v8/VOhQVDBNakV0KA6pxS4JhWRSIYPEJxwdDi1de7wleR+3JIf486w0hKCKRpSvvOhZcCmvNQBRuKqdah03U7UjNNH81rOaBYDo8SQaPX8JANFEaLaGBeAPaaY61rGksiN6TmR5H1j9CSoAosYYHLA7vTxYMvVEZa0liif23r93xjm3/oEYF8PiDn/I2FHCAAAAAElFTkSuQmCC\\\")}.bk-root .slick-sort-indicator-desc{background-image:url(\\\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgeAAUAGEgQgIAACBEKLHgwYcKFBh1KFNhQosOKEgMCADs=\\\")}.bk-root .slick-sort-indicator-asc{background-image:url(\\\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgbAAMIDABgoEGDABIeRJhQ4cKGEA8KmEiRosGAADs=\\\")}.bk-root .slick-header-menubutton{background-image:url(\\\"data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=\\\")}.bk-root .slick-pager{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .bk-data-table{font-size:11px}.bk-root .bk-data-table input[type=\\\"checkbox\\\"]{margin-left:4px;margin-right:4px}.bk-root .bk-data-table *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-data-table *:before,.bk-root .bk-data-table *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;color:gray}.bk-root .slick-row.selected .bk-cell-index{background-color:transparent}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-cell.active{border-style:dashed}.bk-root .slick-cell.editable{padding-left:0;padding-right:0}.bk-root .bk-cell-editor input,.bk-root .bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline}.bk-root .bk-cell-editor input{padding-left:4px;padding-right:4px}.bk-root .bk-cell-editor-completion{font-size:11px}//# sourceMappingURL=bokeh-tables.min.css.map\\n\\n/* END bokeh-tables.min.css */\");\n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if ((root.Bokeh !== undefined) || (force === true)) {\n",
       "      for (var i = 0; i < inline_js.length; i++) {\n",
       "        inline_js[i].call(root, root.Bokeh);\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(js_urls, function() {\n",
       "      console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\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  \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     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\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     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\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      !function(t,e){t.Bokeh=function(t,e,n){var i={},r=function(n){var o=null!=e[n]?e[n]:n;if(!i[o]){if(!t[o]){var s=new Error(\"Cannot find module '\"+n+\"'\");throw s.code=\"MODULE_NOT_FOUND\",s}var a=i[o]={exports:{}};t[o].call(a.exports,r,a,a.exports)}return i[o].exports},o=r(49);return o.require=r,o.register_plugin=function(n,i,s){for(var a in n)t[a]=n[a];for(var a in i)e[a]=i[a];var l=r(s);for(var a in l)o[a]=l[a];return l},o}([function(t,e,n){var i=t(135),r=t(30);n.overrides={};var o=r.clone(i);n.Models=function(t){var e=n.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},n.Models.register=function(t,e){n.overrides[t]=e},n.Models.unregister=function(t){delete n.overrides[t]},n.Models.register_models=function(t,e,n){if(void 0===e&&(e=!1),null!=t)for(var i in t){var r=t[i];e||!o.hasOwnProperty(i)?o[i]=r:null!=n?n(i):console.warn(\"Model '\"+i+\"' was already registered\")}},n.register_models=n.Models.register_models,n.Models.registered_names=function(){return Object.keys(o)},n.index={}},function(t,e,n){var i=t(302),r=t(14),o=t(47),s=t(245),a=t(246),l=t(2);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_SESSION_ID=\"default\";var u=0,h=function(){function t(t,e,i,o,s){void 0===t&&(t=n.DEFAULT_SERVER_WEBSOCKET_URL),void 0===e&&(e=n.DEFAULT_SESSION_ID),void 0===i&&(i=null),void 0===o&&(o=null),void 0===s&&(s=null),this.url=t,this.id=e,this.args_string=i,this._on_have_session_hook=o,this._on_closed_permanently_hook=s,this._number=u++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_ack=null,this._pending_replies={},this._receiver=new a.Receiver,r.logger.debug(\"Creating websocket \"+this._number+\" to '\"+this.url+\"' session '\"+this.id+\"'\")}return t.prototype.connect=function(){var t=this;if(this.closed_permanently)return i.Promise.reject(new Error(\"Cannot connect() a closed ClientConnection\"));if(null!=this.socket)return i.Promise.reject(new Error(\"Already connected\"));this._pending_replies={},this._current_handler=null;try{var e=this.url+\"?bokeh-protocol-version=1.0&bokeh-session-id=\"+this.id;return null!=this.args_string&&this.args_string.length>0&&(e+=\"&\"+this.args_string),this.socket=new WebSocket(e),new i.Promise(function(e,n){t.socket.binaryType=\"arraybuffer\",t.socket.onopen=function(){return t._on_open(e,n)},t.socket.onmessage=function(e){return t._on_message(e)},t.socket.onclose=function(e){return t._on_close(e)},t.socket.onerror=function(){return t._on_error(n)}})}catch(t){return r.logger.error(\"websocket creation failed to url: \"+this.url),r.logger.error(\" - \"+t),i.Promise.reject(t)}},t.prototype.close=function(){this.closed_permanently||(r.logger.debug(\"Permanently closing websocket connection \"+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,\"close method called on ClientConnection \"+this._number),this.session._connection_closed(),null!=this._on_closed_permanently_hook&&(this._on_closed_permanently_hook(),this._on_closed_permanently_hook=null))},t.prototype._schedule_reconnect=function(t){var e=this;setTimeout(function(){e.closed_permanently||r.logger.info(\"Websocket connection \"+e._number+\" disconnected, will not attempt to reconnect\");return},t)},t.prototype.send=function(t){if(null==this.socket)throw new Error(\"not connected so cannot send \"+t);t.send(this.socket)},t.prototype.send_with_reply=function(t){var e=this,n=new i.Promise(function(n,i){e._pending_replies[t.msgid()]=[n,i],e.send(t)});return n.then(function(t){if(\"ERROR\"===t.msgtype())throw new Error(\"Error reply \"+t.content.text);return t},function(t){throw t})},t.prototype._pull_doc_json=function(){var t=s.Message.create(\"PULL-DOC-REQ\",{}),e=this.send_with_reply(t);return e.then(function(t){if(!(\"doc\"in t.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return t.content.doc},function(t){throw t})},t.prototype._repull_session_doc=function(){var t=this;null==this.session?r.logger.debug(\"Pulling session for first time\"):r.logger.debug(\"Repulling session\"),this._pull_doc_json().then(function(e){if(null==t.session)if(t.closed_permanently)r.logger.debug(\"Got new document after connection was already closed\");else{var n=o.Document.from_json(e),i=o.Document._compute_patch_since_json(e,n);if(i.events.length>0){r.logger.debug(\"Sending \"+i.events.length+\" changes from model construction back to server\");var a=s.Message.create(\"PATCH-DOC\",{},i);t.send(a)}t.session=new l.ClientSession(t,n,t.id),r.logger.debug(\"Created a new session from new pulled doc\"),null!=t._on_have_session_hook&&(t._on_have_session_hook(t.session),t._on_have_session_hook=null)}else t.session.document.replace_with_json(e),r.logger.debug(\"Updated existing session with new pulled doc\")},function(t){throw t}).catch(function(t){null!=console.trace&&console.trace(t),r.logger.error(\"Failed to repull session \"+t)})},t.prototype._on_open=function(t,e){var n=this;r.logger.info(\"Websocket connection \"+this._number+\" is now open\"),this._pending_ack=[t,e],this._current_handler=function(t){n._awaiting_ack_handler(t)}},t.prototype._on_message=function(t){null==this._current_handler&&r.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(t.data)}catch(t){this._close_bad_protocol(t.toString())}if(null!=this._receiver.message){var e=this._receiver.message,n=e.problem();null!=n&&this._close_bad_protocol(n),this._current_handler(e)}},t.prototype._on_close=function(t){var e=this;r.logger.info(\"Lost websocket \"+this._number+\" connection, \"+t.code+\" (\"+t.reason+\")\"),this.socket=null,null!=this._pending_ack&&(this._pending_ack[1](new Error(\"Lost websocket connection, \"+t.code+\" (\"+t.reason+\")\")),this._pending_ack=null);for(var n=function(){for(var t in e._pending_replies){var n=e._pending_replies[t];return delete e._pending_replies[t],n}return null},i=n();null!=i;)i[1](\"Disconnected\"),i=n();this.closed_permanently||this._schedule_reconnect(2e3)},t.prototype._on_error=function(t){r.logger.debug(\"Websocket error on socket \"+this._number),t(new Error(\"Could not open websocket\"))},t.prototype._close_bad_protocol=function(t){r.logger.error(\"Closing connection: \"+t),null!=this.socket&&this.socket.close(1002,t)},t.prototype._awaiting_ack_handler=function(t){var e=this;\"ACK\"===t.msgtype()?(this._current_handler=function(t){return e._steady_state_handler(t)},this._repull_session_doc(),null!=this._pending_ack&&(this._pending_ack[0](this),this._pending_ack=null)):this._close_bad_protocol(\"First message was not an ACK\")},t.prototype._steady_state_handler=function(t){if(t.reqid()in this._pending_replies){var e=this._pending_replies[t.reqid()];delete this._pending_replies[t.reqid()],e[0](t)}else this.session.handle(t)},t}();n.ClientConnection=h,n.pull_session=function(t,e,n){var o;return new i.Promise(function(i,s){return(o=new h(t,e,n,function(t){try{i(t)}catch(e){throw r.logger.error(\"Promise handler threw an error, closing session \"+e),t.close(),e}},function(){s(new Error(\"Connection was closed before we successfully pulled a session\"))})).connect().then(function(t){},function(t){throw r.logger.error(\"Failed to connect to Bokeh server \"+t),t})})}},function(t,e,n){var i=t(14),r=t(47),o=t(245),s=function(){function t(t,e,n){var i=this;this._connection=t,this.document=e,this.id=n,this._document_listener=function(t){return i._document_changed(t)},this.document.on_change(this._document_listener),this.event_manager=this.document.event_manager,this.event_manager.session=this}return t.prototype.handle=function(t){var e=t.msgtype();\"PATCH-DOC\"===e?this._handle_patch(t):\"OK\"===e?this._handle_ok(t):\"ERROR\"===e?this._handle_error(t):i.logger.debug(\"Doing nothing with message \"+t.msgtype())},t.prototype.close=function(){this._connection.close()},t.prototype.send_event=function(t){var e=o.Message.create(\"EVENT\",{},JSON.stringify(t));this._connection.send(e)},t.prototype._connection_closed=function(){this.document.remove_on_change(this._document_listener)},t.prototype.request_server_info=function(){var t=o.Message.create(\"SERVER-INFO-REQ\",{}),e=this._connection.send_with_reply(t);return e.then(function(t){return t.content})},t.prototype.force_roundtrip=function(){return this.request_server_info().then(function(t){})},t.prototype._document_changed=function(t){if(t.setter_id!==this.id&&(!(t instanceof r.ModelChangedEvent)||t.attr in t.model.serializable_attributes())){var e=o.Message.create(\"PATCH-DOC\",{},this.document.create_json_patch([t]));this._connection.send(e)}},t.prototype._handle_patch=function(t){this.document.apply_json_patch(t.content,t.buffers,this.id)},t.prototype._handle_ok=function(t){i.logger.trace(\"Unhandled OK reply to \"+t.reqid())},t.prototype._handle_error=function(t){i.logger.error(\"Unhandled ERROR reply to \"+t.reqid()+\": \"+t.content.text)},t}();n.ClientSession=s},function(t,e,n){function i(t){return function(e){e.prototype.event_name=t,a[t]=e}}var r=t(364),o=t(14),s=t(30),a={};n.register_event_class=i,n.register_with_event=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=t.prototype.applicable_models.concat(e);t.prototype.applicable_models=i};var l=function(){function t(t){void 0===t&&(t={}),this.model_id=null,this._options=t,t.model_id&&(this.model_id=t.model_id)}return t.prototype.set_model_id=function(t){return this._options.model_id=t,this.model_id=t,this},t.prototype.is_applicable_to=function(t){return this.applicable_models.some(function(e){return t instanceof e})},t.event_class=function(t){if(t.type)return a[t.type];o.logger.warn(\"BokehEvent.event_class required events with a string type attribute\")},t.prototype.toJSON=function(){return{event_name:this.event_name,event_values:s.clone(this._options)}},t.prototype._customize_event=function(t){return this},t}();n.BokehEvent=l,l.prototype.applicable_models=[];var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"button_click\")],e)}(l);n.ButtonClick=u;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(l);n.UIEvent=h;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"lodstart\")],e)}(h);n.LODStart=c;var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"lodend\")],e)}(h);n.LODEnd=_;var p=function(t){function e(e){var n=t.call(this,e)||this;return n.geometry=e.geometry,n.final=e.final,n}return r.__extends(e,t),e=r.__decorate([i(\"selectiongeometry\")],e)}(h);n.SelectionGeometry=p;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"reset\")],e)}(h);n.Reset=d;var f=function(t){function e(e){var n=t.call(this,e)||this;return n.sx=e.sx,n.sy=e.sy,n.x=null,n.y=null,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,model_id:e})},e.prototype._customize_event=function(t){var e=t.plot_canvas.frame.xscales.default,n=t.plot_canvas.frame.yscales.default;return this.x=e.invert(this.sx),this.y=n.invert(this.sy),this._options.x=this.x,this._options.y=this.y,this},e}(h);n.PointEvent=f;var m=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.delta_x=e.delta_x,n.delta_y=e.delta_y,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,delta_x:t.deltaX,delta_y:t.deltaY,direction:t.direction,model_id:e})},e=r.__decorate([i(\"pan\")],e)}(f);n.Pan=m;var v=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.scale=e.scale,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,scale:t.scale,model_id:e})},e=r.__decorate([i(\"pinch\")],e)}(f);n.Pinch=v;var g=function(t){function e(e){void 0===e&&(e={});var n=t.call(this,e)||this;return n.delta=e.delta,n}return r.__extends(e,t),e.from_event=function(t,e){return void 0===e&&(e=null),new this({sx:t.bokeh.sx,sy:t.bokeh.sy,delta:t.bokeh.delta,model_id:e})},e=r.__decorate([i(\"wheel\")],e)}(f);n.MouseWheel=g;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mousemove\")],e)}(f);n.MouseMove=y;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mouseenter\")],e)}(f);n.MouseEnter=b;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"mouseleave\")],e)}(f);n.MouseLeave=x;var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"tap\")],e)}(f);n.Tap=w;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"doubletap\")],e)}(f);n.DoubleTap=k;var S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"press\")],e)}(f);n.Press=S;var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"panstart\")],e)}(f);n.PanStart=T;var M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"panend\")],e)}(f);n.PanEnd=M;var A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"pinchstart\")],e)}(f);n.PinchStart=A;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e=r.__decorate([i(\"pinchend\")],e)}(f);n.PinchEnd=E},function(t,e,n){var i=t(22),r=t(30);n.build_views=function(t,e,n,o){void 0===o&&(o=function(t){return t.default_view});for(var s=0,a=i.difference(Object.keys(t),e.map(function(t){return t.id}));s<a.length;s++){var l=a[s];t[l].remove(),delete t[l]}for(var u=[],h=0,c=e.filter(function(e){return null==t[e.id]});h<c.length;h++){var _=c[h],p=o(_),d=r.extend({},n,{model:_,connect_signals:!1}),f=new p(d);t[_.id]=f,u.push(f)}for(var m=0,v=u;m<v.length;m++){var f=v[m];f.connect_signals()}return u},n.remove_views=function(t){for(var e in t)t[e].remove(),delete t[e]}},function(t,e,n){function i(t,e){var n=Element.prototype,i=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector;return i.call(t,e)}var r=t(42),o=function(t){return function(e){function n(t){if(t instanceof HTMLElement)s.appendChild(t);else if(r.isString(t))s.appendChild(document.createTextNode(t));else if(null!=t&&!1!==t)throw new Error(\"expected an HTMLElement, string, false or null, got \"+JSON.stringify(t))}void 0===e&&(e={});for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];var s=document.createElement(t);for(var a in e){var l=e[a];if(null!=l&&(!r.isBoolean(l)||l))if(\"class\"===a&&r.isArray(l))for(var u=0,h=l;u<h.length;u++){var c=h[u];null!=c&&s.classList.add(c)}else if(\"style\"===a&&r.isObject(l))for(var _ in l)s.style[_]=l[_];else if(\"data\"===a&&r.isObject(l))for(var p in l)s.dataset[p]=l[p];else s.setAttribute(a,l)}for(var d=0,f=i;d<f.length;d++){var m=f[d];if(r.isArray(m))for(var v=0,g=m;v<g.length;v++){var y=g[v];n(y)}else n(m)}return s}};n.createElement=function(t,e){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return o(t).apply(void 0,[e].concat(n))},n.div=o(\"div\"),n.span=o(\"span\"),n.link=o(\"link\"),n.style=o(\"style\"),n.a=o(\"a\"),n.p=o(\"p\"),n.pre=o(\"pre\"),n.button=o(\"button\"),n.label=o(\"label\"),n.input=o(\"input\"),n.select=o(\"select\"),n.option=o(\"option\"),n.optgroup=o(\"optgroup\"),n.canvas=o(\"canvas\"),n.ul=o(\"ul\"),n.ol=o(\"ol\"),n.li=o(\"li\"),n.nbsp=document.createTextNode(\" \"),n.removeElement=function(t){var e=t.parentNode;null!=e&&e.removeChild(t)},n.replaceWith=function(t,e){var n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=t.firstChild,r=0,o=e;r<o.length;r++){var s=o[r];t.insertBefore(s,i)}},n.empty=function(t){var e;for(;e=t.firstChild;)t.removeChild(e)},n.show=function(t){t.style.display=\"\"},n.hide=function(t){t.style.display=\"none\"},n.position=function(t){return{top:t.offsetTop,left:t.offsetLeft}},n.offset=function(t){var e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=i,n.parent=function(t,e){var n=t;for(;n=n.parentElement;)if(i(n,e))return n;return null};!function(t){t[t.Tab=9]=\"Tab\",t[t.Enter=13]=\"Enter\",t[t.Esc=27]=\"Esc\",t[t.PageUp=33]=\"PageUp\",t[t.PageDown=34]=\"PageDown\",t[t.Up=38]=\"Up\",t[t.Down=40]=\"Down\"}(n.Keys||(n.Keys={}))},function(t,e,n){var i=t(364),r=t(45),o=t(5),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){t.prototype.initialize.call(this,e),this._has_finished=!1,this.el=this._createElement()},e.prototype.remove=function(){o.removeElement(this.el),t.prototype.remove.call(this)},e.prototype.layout=function(){},e.prototype.render=function(){},e.prototype.renderTo=function(t,e){void 0===e&&(e=!1),e?o.replaceWith(t,this.el):t.appendChild(this.el),this.layout()},e.prototype.has_finished=function(){return this._has_finished},Object.defineProperty(e.prototype,\"_root_element\",{get:function(){return o.parent(this.el,\".bk-root\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"solver\",{get:function(){return this.is_root?this._solver:this.parent.solver},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_idle\",{get:function(){return this.has_finished()},enumerable:!0,configurable:!0}),e.prototype._createElement=function(){return o.createElement(this.tagName,{id:this.id,class:this.className})},e}(r.View);n.DOMView=s,s.prototype.tagName=\"div\",s.prototype.className=null},function(t,e,n){n.AngleUnits=[\"deg\",\"rad\"],n.Dimension=[\"width\",\"height\"],n.Dimensions=[\"width\",\"height\",\"both\"],n.Direction=[\"clock\",\"anticlock\"],n.FontStyle=[\"normal\",\"italic\",\"bold\"],n.LatLon=[\"lat\",\"lon\"],n.LineCap=[\"butt\",\"round\",\"square\"],n.LineJoin=[\"miter\",\"round\",\"bevel\"],n.Location=[\"above\",\"below\",\"left\",\"right\"],n.LegendLocation=[\"top_left\",\"top_center\",\"top_right\",\"center_left\",\"center\",\"center_right\",\"bottom_left\",\"bottom_center\",\"bottom_right\"],n.Orientation=[\"vertical\",\"horizontal\"],n.OutputBackend=[\"canvas\",\"svg\",\"webgl\"],n.RenderLevel=[\"image\",\"underlay\",\"glyph\",\"annotation\",\"overlay\"],n.RenderMode=[\"canvas\",\"css\"],n.Side=[\"left\",\"right\"],n.SpatialUnits=[\"screen\",\"data\"],n.StartEnd=[\"start\",\"end\"],n.VerticalAlign=[\"top\",\"middle\",\"bottom\"],n.TextAlign=[\"left\",\"right\",\"center\"],n.TextBaseline=[\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"],n.DistributionTypes=[\"uniform\",\"normal\"],n.StepModes=[\"after\",\"before\",\"center\"],n.SizingMode=[\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"],n.PaddingUnits=[\"percent\",\"absolute\"]},function(t,e,n){var i=t(364),r=t(20),o=t(16),s=t(33),a=t(15),l=t(37),u=t(22),h=t(30),c=t(42),_=t(28),p=function(t){function e(e,n){void 0===e&&(e={}),void 0===n&&(n={});var i=t.call(this)||this;i._subtype=void 0,i.document=null,i.destroyed=new r.Signal(i,\"destroyed\"),i.change=new r.Signal(i,\"change\"),i.transformchange=new r.Signal(i,\"transformchange\"),i.attributes={},i.properties={},i._set_after_defaults={},i._pending=!1,i._changing=!1;for(var o in i.props){var s=i.props[o],a=s.type,u=s.default_value;if(null==a)throw new Error(\"undefined property type for \"+i.type+\".\"+o);i.properties[o]=new a(i,o,u)}return null==e.id&&i.setv([\"id\",l.uniqueId()],{silent:!0}),i.setv(e,h.extend({silent:!0},n)),n.defer_initialization||i.finalize(e,n),i}return i.__extends(e,t),e.getters=function(t){for(var e in t){var n=t[e];Object.defineProperty(this.prototype,e,{get:n})}},e._fix_default=function(t,e){return void 0===t?void 0:c.isFunction(t)?t:c.isObject(t)?c.isArray(t)?function(){return u.copy(t)}:function(){return h.clone(t)}:function(){return t}},e.define=function(t){var e=function(e){var i=t[e];if(null!=n.prototype.props[e])throw new Error(\"attempted to redefine property '\"+n.prototype.type+\".\"+e+\"'\");if(null!=n.prototype[e])throw new Error(\"attempted to redefine attribute '\"+n.prototype.type+\".\"+e+\"'\");Object.defineProperty(n.prototype,e,{get:function(){var t=this.getv(e);return t},set:function(t){return this.setv([e,t]),this},configurable:!1,enumerable:!0});var r=i[0],o=i[1],s=i[2],a={type:r,default_value:n._fix_default(o,e),internal:s||!1},l=h.clone(n.prototype.props);l[e]=a,n.prototype.props=l},n=this;for(var i in t)e(i)},e.internal=function(t){var e={};for(var n in t){var i=t[n],r=i[0],o=i[1];e[n]=[r,o,!0]}this.define(e)},e.mixin=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.define(o.create(t));var n=this.prototype.mixins.concat(t);this.prototype.mixins=n},e.mixins=function(t){this.mixin.apply(this,t)},e.override=function(t){for(var e in t){var n=this._fix_default(t[e],e),i=this.prototype.props[e];if(null==i)throw new Error(\"attempted to override nonexistent '\"+this.prototype.type+\".\"+e+\"'\");var r=h.clone(this.prototype.props);r[e]=h.extend({},i,{default_value:n}),this.prototype.props=r}},e.prototype.toString=function(){return this.type+\"(\"+this.id+\")\"},e.prototype.finalize=function(t,e){var n=this;for(var i in this.properties){var r=this.properties[i];r.update(),null!=r.spec.transform&&this.connect(r.spec.transform.change,function(){return n.transformchange.emit(void 0)})}this.initialize(t,e),this.connect_signals()},e.prototype.initialize=function(t,e){},e.prototype.connect_signals=function(){},e.prototype.disconnect_signals=function(){r.Signal.disconnectReceiver(this)},e.prototype.destroy=function(){this.disconnect_signals(),this.destroyed.emit(void 0)},e.prototype.clone=function(){return new this.constructor(this.attributes)},e.prototype._setv=function(t,e){var n=e.check_eq,i=e.silent,r=[],o=this._changing;this._changing=!0;var s=this.attributes;for(var a in t){var l=t[a];!1!==n?_.isEqual(s[a],l)||r.push(a):r.push(a),s[a]=l}if(!i){r.length>0&&(this._pending=!0);for(var u=0;u<r.length;u++)this.properties[r[u]].change.emit(s[r[u]])}if(!o){if(!i&&!e.no_change)for(;this._pending;)this._pending=!1,this.change.emit(void 0);this._pending=!1,this._changing=!1}},e.prototype.setv=function(t,e){void 0===e&&(e={});var n={};if(c.isArray(t)){var i=t,r=i[0],o=i[1];n[r]=o}else n=t;for(var s in n)if(n.hasOwnProperty(s)){var a=s;if(null==this.props[a])throw new Error(\"property \"+this.type+\".\"+a+\" wasn't declared\");null!=e&&e.defaults||(this._set_after_defaults[s]=!0)}if(!h.isEmpty(n)){var l={};for(var s in n)l[s]=this.getv(s);this._setv(n,e);var u=e.silent;if(null==u||!u)for(var s in n)this._tell_document_about_change(s,l[s],this.getv(s),e)}},e.prototype.getv=function(t){if(null==this.props[t])throw new Error(\"property \"+this.type+\".\"+t+\" wasn't declared\");return this.attributes[t]},e.prototype.ref=function(){return s.create_ref(this)},e.prototype.set_subtype=function(t){this._subtype=t},e.prototype.attribute_is_serializable=function(t){var e=this.props[t];if(null==e)throw new Error(this.type+\".attribute_is_serializable('\"+t+\"'): \"+t+\" wasn't declared\");return!e.internal},e.prototype.serializable_attributes=function(){var t={};for(var e in this.attributes){var n=this.attributes[e];this.attribute_is_serializable(e)&&(t[e]=n)}return t},e._value_to_json=function(t,n,i){if(n instanceof e)return n.ref();if(c.isArray(n)){for(var r=[],o=0;o<n.length;o++){var s=n[o];r.push(e._value_to_json(o.toString(),s,n))}return r}if(c.isObject(n)){var a={};for(var l in n)n.hasOwnProperty(l)&&(a[l]=e._value_to_json(l,n[l],n));return a}return n},e.prototype.attributes_as_json=function(t,n){void 0===t&&(t=!0),void 0===n&&(n=e._value_to_json);var i=this.serializable_attributes(),r={};for(var o in i)if(i.hasOwnProperty(o)){var s=i[o];t?r[o]=s:o in this._set_after_defaults&&(r[o]=s)}return n(\"attributes\",r,this)},e._json_record_references=function(t,n,i,r){if(null==n);else if(s.is_ref(n)){if(!(n.id in i)){var o=t.get_model_by_id(n.id);e._value_record_references(o,i,r)}}else if(c.isArray(n))for(var a=0,l=n;a<l.length;a++){var u=l[a];e._json_record_references(t,u,i,r)}else if(c.isObject(n))for(var h in n)if(n.hasOwnProperty(h)){var u=n[h];e._json_record_references(t,u,i,r)}},e._value_record_references=function(t,n,i){if(null==t);else if(t instanceof e){if(!(t.id in n)&&(n[t.id]=t,i))for(var r=t._immediate_references(),o=0,s=r;o<s.length;o++){var a=s[o];e._value_record_references(a,n,!0)}}else if(t.buffer instanceof ArrayBuffer);else if(c.isArray(t))for(var l=0,u=t;l<u.length;l++){var h=u[l];e._value_record_references(h,n,i)}else if(c.isObject(t))for(var _ in t)if(t.hasOwnProperty(_)){var h=t[_];e._value_record_references(h,n,i)}},e.prototype._immediate_references=function(){var t={},n=this.serializable_attributes();for(var i in n){var r=n[i];e._value_record_references(r,t,!1)}return h.values(t)},e.prototype.references=function(){var t={};return e._value_record_references(this,t,!0),h.values(t)},e.prototype._doc_attached=function(){},e.prototype.attach_document=function(t){if(null!=this.document&&this.document!=t)throw new Error(\"models must be owned by only a single document\");this.document=t,this._doc_attached()},e.prototype.detach_document=function(){this.document=null},e.prototype._tell_document_about_change=function(t,n,i,r){if(this.attribute_is_serializable(t)&&null!=this.document){var o={};e._value_record_references(i,o,!1);var s={};e._value_record_references(n,s,!1);var a=!1;for(var l in o)if(!(l in s)){a=!0;break}if(!a)for(var u in s)if(!(u in o)){a=!0;break}a&&this.document._invalidate_all_models(),this.document._notify_change(this,t,n,i,r)}},e.prototype.materialize_dataspecs=function(t){var e={};for(var n in this.properties){var i=this.properties[n];i.dataspec&&((!i.optional||null!=i.spec.value||n in this._set_after_defaults)&&(e[\"_\"+n]=i.array(t),null!=i.spec.field&&i.spec.field in t._shapes&&(e[\"_\"+n+\"_shape\"]=t._shapes[i.spec.field]),i instanceof a.Distance&&(e[\"max_\"+n]=u.max(e[\"_\"+n]))))}return e},e}(r.Signalable());n.HasProps=p,p.prototype.type=\"HasProps\",p.prototype.props={},p.prototype.mixins=[],p.define({id:[a.Any]})},function(t,e,n){function i(t){return t*t}function r(t,e,n,r){return i(t-n)+i(e-r)}function o(t,e,n){var i=r(e.x,e.y,n.x,n.y);if(0==i)return r(t.x,t.y,e.x,e.y);var o=((t.x-e.x)*(n.x-e.x)+(t.y-e.y)*(n.y-e.y))/i;return o<0?r(t.x,t.y,e.x,e.y):o>1?r(t.x,t.y,n.x,n.y):r(t.x,t.y,e.x+o*(n.x-e.x),e.y+o*(n.y-e.y))}var s=t(22),a=t(30);n.point_in_poly=function(t,e,n,i){for(var r=!1,o=n[n.length-1],s=i[i.length-1],a=0;a<n.length;a++){var l=n[a],u=i[a];s<e!=u<e&&o+(e-s)/(u-s)*(l-o)<t&&(r=!r),o=l,s=u}return r};var l=function(){return null},u=function(){function t(){this[\"0d\"]={glyph:null,get_view:l,indices:[]},this[\"1d\"]={indices:[]},this[\"2d\"]={indices:{}}}return Object.defineProperty(t.prototype,\"_0d\",{get:function(){return this[\"0d\"]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_1d\",{get:function(){return this[\"1d\"]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"_2d\",{get:function(){return this[\"2d\"]},enumerable:!0,configurable:!0}),t.prototype.is_empty=function(){return 0==this._0d.indices.length&&0==this._1d.indices.length&&a.isEmpty(this._2d.indices)},t.prototype.update_through_union=function(t){this._0d.indices=s.union(t._0d.indices,this._0d.indices),this._0d.glyph=t._0d.glyph||this._0d.glyph,this._1d.indices=s.union(t._1d.indices,this._1d.indices),this._2d.indices=a.merge(t._2d.indices,this._2d.indices)},t}();n.HitTestResult=u,n.create_hit_test_result=function(){return new u},n.create_1d_hit_test_result=function(t){var e=new u;return e._1d.indices=s.sortBy(t,function(t){return t[0],t[1]}).map(function(t){var e=t[0];return t[1],e}),e},n.validate_bbox_coords=function(t,e){var n=t[0],i=t[1],r=e[0],o=e[1];n>i&&(s=[i,n],n=s[0],i=s[1]);r>o&&(a=[o,r],r=a[0],o=a[1]);return{minX:n,minY:r,maxX:i,maxY:o};var s,a},n.dist_2_pts=r,n.dist_to_segment_squared=o,n.dist_to_segment=function(t,e,n){return Math.sqrt(o(t,e,n))},n.check_2_segments_intersect=function(t,e,n,i,r,o,s,a){var l=(a-o)*(n-t)-(s-r)*(i-e);if(0==l)return{hit:!1,x:null,y:null};var u=e-o,h=t-r,c=(s-r)*u-(a-o)*h,_=(n-t)*u-(i-e)*h;h=_/l;var p=t+(u=c/l)*(n-t),d=e+u*(i-e);return{hit:u>0&&u<1&&h>0&&h<1,x:p,y:d}}},function(t,e,n){var i=t(13),r=t(22);n.vstack=function(t,e){var n=[];if(e.length>0){n.push(i.EQ(r.head(e)._bottom,[-1,t._bottom])),n.push(i.EQ(r.tail(e)._top,[-1,t._top])),n.push.apply(n,r.pairwise(e,function(t,e){return i.EQ(t._top,[-1,e._bottom])}));for(var o=0,s=e;o<s.length;o++){var a=s[o];n.push(i.EQ(a._left,[-1,t._left])),n.push(i.EQ(a._right,[-1,t._right]))}}return n},n.hstack=function(t,e){var n=[];if(e.length>0){n.push(i.EQ(r.head(e)._right,[-1,t._right])),n.push(i.EQ(r.tail(e)._left,[-1,t._left])),n.push.apply(n,r.pairwise(e,function(t,e){return i.EQ(t._left,[-1,e._right])}));for(var o=0,s=e;o<s.length;o++){var a=s[o];n.push(i.EQ(a._top,[-1,t._top])),n.push(i.EQ(a._bottom,[-1,t._bottom]))}}return n}},function(t,e,n){var i=t(364),r=t(13),o=t(8),s=t(23),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this._top=new r.Variable(this.toString()+\".top\"),this._left=new r.Variable(this.toString()+\".left\"),this._width=new r.Variable(this.toString()+\".width\"),this._height=new r.Variable(this.toString()+\".height\"),this._right=new r.Variable(this.toString()+\".right\"),this._bottom=new r.Variable(this.toString()+\".bottom\"),this._hcenter=new r.Variable(this.toString()+\".hcenter\"),this._vcenter=new r.Variable(this.toString()+\".vcenter\")},e.prototype.get_editables=function(){return[]},e.prototype.get_constraints=function(){return[r.GE(this._top),r.GE(this._bottom),r.GE(this._left),r.GE(this._right),r.GE(this._width),r.GE(this._height),r.EQ(this._left,this._width,[-1,this._right]),r.EQ(this._top,this._height,[-1,this._bottom]),r.EQ([2,this._hcenter],[-1,this._left],[-1,this._right]),r.EQ([2,this._vcenter],[-1,this._top],[-1,this._bottom])]},Object.defineProperty(e.prototype,\"bbox\",{get:function(){return new s.BBox({x0:this._left.value,y0:this._top.value,x1:this._right.value,y1:this._bottom.value})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"layout_bbox\",{get:function(){return{top:this._top.value,left:this._left.value,width:this._width.value,height:this._height.value,right:this._right.value,bottom:this._bottom.value,hcenter:this._hcenter.value,vcenter:this._vcenter.value}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"xview\",{get:function(){var t=this;return{compute:function(e){return t._left.value+e},v_compute:function(e){for(var n=new Float64Array(e.length),i=t._left.value,r=0;r<e.length;r++)n[r]=i+e[r];return n}}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"yview\",{get:function(){var t=this;return{compute:function(e){return t._bottom.value-e},v_compute:function(e){for(var n=new Float64Array(e.length),i=t._bottom.value,r=0;r<e.length;r++)n[r]=i-e[r];return n}}},enumerable:!0,configurable:!0}),e}(o.HasProps);n.LayoutCanvas=a,a.prototype.type=\"LayoutCanvas\"},function(t,e,n){var i,r,o,s,a,l,u,h,c,_=t(364),p=t(13),d=t(11),f=t(15),m=t(14),v=t(42);c=Math.PI/2,u={above:{parallel:0,normal:-c,horizontal:0,vertical:-c},below:{parallel:0,normal:c,horizontal:0,vertical:c},left:{parallel:-c,normal:0,horizontal:0,vertical:-c},right:{parallel:c,normal:0,horizontal:0,vertical:c}},h={above:{justified:\"top\",parallel:i=\"alphabetic\",normal:o=\"middle\",horizontal:i,vertical:o},below:{justified:\"bottom\",parallel:\"hanging\",normal:o,horizontal:\"hanging\",vertical:o},left:{justified:\"top\",parallel:i,normal:o,horizontal:o,vertical:i},right:{justified:\"top\",parallel:i,normal:o,horizontal:o,vertical:i}},s={above:{justified:r=\"center\",parallel:r,normal:\"left\",horizontal:r,vertical:\"left\"},below:{justified:r,parallel:r,normal:\"left\",horizontal:r,vertical:\"left\"},left:{justified:r,parallel:r,normal:\"right\",horizontal:\"right\",vertical:r},right:{justified:r,parallel:r,normal:\"left\",horizontal:\"left\",vertical:r}},a={above:\"right\",below:\"left\",left:\"right\",right:\"left\"},l={above:\"left\",below:\"right\",left:\"right\",right:\"left\"},n._view_sizes=new WeakMap,n.update_panel_constraints=function(t){var e,i;if(i=t.get_size(),e=t.solver,null!=t._size_constraint&&e.has_constraint(t._size_constraint)){if(n._view_sizes.get(t)===i)return;e.remove_constraint(t._size_constraint)}return n._view_sizes.set(t,i),t._size_constraint=p.GE(t.model.panel._size,-i),e.add_constraint(t._size_constraint)};var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return _.__extends(e,t),e.prototype.toString=function(){return this.type+\"(\"+this.id+\", \"+this.side+\")\"},e.prototype.initialize=function(e,n){switch(t.prototype.initialize.call(this,e,n),this.side){case\"above\":return this._dim=0,this._normals=[0,-1],this._size=this._height;case\"below\":return this._dim=0,this._normals=[0,1],this._size=this._height;case\"left\":return this._dim=1,this._normals=[-1,0],this._size=this._width;case\"right\":return this._dim=1,this._normals=[1,0],this._size=this._width;default:return m.logger.error(\"unrecognized side: '\"+this.side+\"'\")}},e.prototype.apply_label_text_heuristics=function(t,e){var n,i,r;return r=this.side,v.isString(e)?(i=h[r][e],n=s[r][e]):0===e?(i=h[r][e],n=s[r][e]):e<0?(i=\"middle\",n=a[r]):e>0&&(i=\"middle\",n=l[r]),t.textBaseline=i,t.textAlign=n,t},e.prototype.get_label_angle_heuristic=function(t){var e;return e=this.side,u[e][t]},e}(d.LayoutCanvas);n.SidePanel=g,g.prototype.type=\"SidePanel\",g.internal({side:[f.String]}),g.getters({is_horizontal:function(){return\"above\"===this.side||\"below\"===this.side},is_vertical:function(){return\"left\"===this.side||\"right\"===this.side}})},function(t,e,n){function i(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new o.Constraint(new(o.Expression.bind.apply(o.Expression,[void 0].concat(e))),t)}}function r(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return new o.Constraint(new(o.Expression.bind.apply(o.Expression,[void 0].concat(e))),t,o.Strength.weak)}}var o=t(321);n.Variable=o.Variable,n.Expression=o.Expression,n.Constraint=o.Constraint,n.Operator=o.Operator,n.Strength=o.Strength,n.EQ=i(o.Operator.Eq),n.LE=i(o.Operator.Le),n.GE=i(o.Operator.Ge),n.WEAK_EQ=r(o.Operator.Eq),n.WEAK_LE=r(o.Operator.Le),n.WEAK_GE=r(o.Operator.Ge);var s=function(){function t(){this.solver=new o.Solver}return t.prototype.clear=function(){this.solver=new o.Solver},t.prototype.toString=function(){return\"Solver(num_constraints=\"+this.num_constraints+\", num_editables=\"+this.num_editables+\")\"},Object.defineProperty(t.prototype,\"num_constraints\",{get:function(){return this.solver.numConstraints},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"num_editables\",{get:function(){return this.solver.numEditVariables},enumerable:!0,configurable:!0}),t.prototype.get_constraints=function(){return this.solver.getConstraints()},t.prototype.update_variables=function(){this.solver.updateVariables()},t.prototype.has_constraint=function(t){return this.solver.hasConstraint(t)},t.prototype.add_constraint=function(t){try{this.solver.addConstraint(t)}catch(e){throw new Error(e.message+\": \"+t.toString())}},t.prototype.remove_constraint=function(t){this.solver.removeConstraint(t)},t.prototype.add_edit_variable=function(t,e){this.solver.addEditVariable(t,e)},t.prototype.remove_edit_variable=function(t){this.solver.removeEditVariable(t)},t.prototype.suggest_value=function(t,e){this.solver.suggestValue(t,e)},t}();n.Solver=s},function(t,e,n){var i=t(42),r={},o=function(){return function(t,e){this.name=t,this.level=e}}();n.LogLevel=o;var s=function(){function t(e,n){void 0===n&&(n=t.INFO),this._name=e,this.set_level(n)}return Object.defineProperty(t,\"levels\",{get:function(){return Object.keys(t.log_levels)},enumerable:!0,configurable:!0}),t.get=function(e,n){if(void 0===n&&(n=t.INFO),e.length>0){var i=r[e];return null==i&&(r[e]=i=new t(e,n)),i}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")},Object.defineProperty(t.prototype,\"level\",{get:function(){return this.get_level()},enumerable:!0,configurable:!0}),t.prototype.get_level=function(){return this._log_level},t.prototype.set_level=function(e){if(e instanceof o)this._log_level=e;else{if(!i.isString(e)||null==t.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=t.log_levels[e]}var n=\"[\"+this._name+\"]\";for(var r in t.log_levels){var s=t.log_levels[r];s.level<this._log_level.level||this._log_level.level===t.OFF.level?this[r]=function(){}:this[r]=function(t,e){return null!=console[t]?console[t].bind(console,e):null!=console.log?console.log.bind(console,e):function(){}}(r,n)}},t.prototype.trace=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.debug=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.info=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.warn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.prototype.error=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e]},t.TRACE=new o(\"trace\",0),t.DEBUG=new o(\"debug\",1),t.INFO=new o(\"info\",2),t.WARN=new o(\"warn\",6),t.ERROR=new o(\"error\",7),t.FATAL=new o(\"fatal\",8),t.OFF=new o(\"off\",9),t.log_levels={trace:t.TRACE,debug:t.DEBUG,info:t.INFO,warn:t.WARN,error:t.ERROR,fatal:t.FATAL,off:t.OFF},t}();n.Logger=s,n.logger=s.get(\"bokeh\"),n.set_log_level=function(t){null==s.log_levels[t]?(console.log(\"[bokeh] unrecognized logging level '\"+t+\"' passed to Bokeh.set_log_level(), ignoring\"),console.log(\"[bokeh] valid log levels are: \"+s.levels.join(\", \"))):(console.log(\"[bokeh] setting log level to: '\"+t+\"'\"),n.logger.set_level(t))}},function(t,e,n){function i(t){try{return JSON.stringify(t)}catch(e){return t.toString()}}function r(t,e){return function(n){function r(){return null!==n&&n.apply(this,arguments)||this}return a.__extends(r,n),r.prototype.validate=function(n){if(!e(n))throw new Error(t+\" property '\"+this.attr+\"' given invalid value: \"+i(n))},r}(d)}function o(t,e){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(t,function(t){return _.contains(e,t)}))}function s(t,e,n){return function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return a.__extends(r,i),r.prototype.init=function(){null==this.spec.units&&(this.spec.units=n);var i=this.spec.units;if(!_.contains(e,i))throw new Error(t+\" units must be one of \"+e+\", given invalid value: \"+i)},Object.defineProperty(r.prototype,\"units\",{get:function(){return this.spec.units},set:function(t){this.spec.units=t},enumerable:!0,configurable:!0}),r}(b)}var a=t(364),l=t(20),u=t(7),h=t(38),c=t(26),_=t(22),p=t(42),d=function(t){function e(e,n,i){var r=t.call(this)||this;return r.obj=e,r.attr=n,r.default_value=i,r.optional=!1,r.change=new l.Signal(r.obj,\"change\"),r._init(),r.connect(r.change,function(){return r._init()}),r}return a.__extends(e,t),e.prototype.update=function(){this._init()},e.prototype.init=function(){},e.prototype.transform=function(t){return t},e.prototype.validate=function(t){},e.prototype.value=function(t){if(void 0===t&&(t=!0),void 0===this.spec.value)throw new Error(\"attempted to retrieve property value for property without value specification\");var e=this.transform([this.spec.value])[0];return null!=this.spec.transform&&t&&(e=this.spec.transform.compute(e)),e},e.prototype.array=function(t){if(!this.dataspec)throw new Error(\"attempted to retrieve property array for non-dataspec property\");var e,n=t.data;if(null!=this.spec.field){if(!(this.spec.field in n))throw new Error(\"attempted to retrieve property array for nonexistent field '\"+this.spec.field+\"'\");e=this.transform(t.get_column(this.spec.field))}else if(null!=this.spec.expr)e=this.transform(this.spec.expr._v_compute(t));else{var i=t.get_length();null==i&&(i=1);var r=this.value(!1);e=_.repeat(r,i)}return null!=this.spec.transform&&(e=this.spec.transform.v_compute(e)),e},e.prototype._init=function(){var t=this.obj,e=this.attr,n=t.getv(e);if(void 0===n){var i=this.default_value;n=void 0!==i?i(t):null,t.setv([e,n],{silent:!0,defaults:!0})}if(p.isArray(n)?this.spec={value:n}:p.isObject(n)&&(void 0===n.value?0:1)+(void 0===n.field?0:1)+(void 0===n.expr?0:1)==1?this.spec=n:this.spec={value:n},null!=this.spec.field&&!p.isString(this.spec.field))throw new Error(\"field value for property '\"+e+\"' is not a string\");null!=this.spec.value&&this.validate(this.spec.value),this.init()},e.prototype.toString=function(){return\"Prop(\"+this.obj+\".\"+this.attr+\", spec: \"+i(this.spec)+\")\"},e}(l.Signalable());n.Property=d,d.prototype.dataspec=!1,n.simple_prop=r;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Any\",function(t){return!0}));n.Any=f;var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Array\",function(t){return p.isArray(t)||t instanceof Float64Array}));n.Array=m;var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Bool\",p.isBoolean));n.Bool=v,n.Boolean=v;var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Color\",function(t){return null!=h[t.toLowerCase()]||\"#\"==t.substring(0,1)||c.valid_rgb(t)}));n.Color=g;var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Instance\",function(t){return null!=t.properties}));n.Instance=y;var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Number\",function(t){return p.isNumber(t)||p.isBoolean(t)}));n.Number=b,n.Int=b;var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"Number\",function(t){return(p.isNumber(t)||p.isBoolean(t))&&0<=t&&t<=1}));n.Percent=x;var w=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(r(\"String\",p.isString));n.String=w;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.Font=k,n.enum_prop=o;var S=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Anchor\",u.LegendLocation));n.Anchor=S;var T=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"AngleUnits\",u.AngleUnits));n.AngleUnits=T;var M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e.prototype.transform=function(t){for(var e=new Uint8Array(t.length),n=0;n<t.length;n++)switch(t[n]){case\"clock\":e[n]=0;break;case\"anticlock\":e[n]=1}return e},e}(o(\"Direction\",u.Direction));n.Direction=M;var A=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Dimension\",u.Dimension));n.Dimension=A;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Dimensions\",u.Dimensions));n.Dimensions=E;var z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"FontStyle\",u.FontStyle));n.FontStyle=z;var C=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LatLon\",u.LatLon));n.LatLon=C;var O=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LineCap\",u.LineCap));n.LineCap=O;var N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LineJoin\",u.LineJoin));n.LineJoin=N;var j=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"LegendLocation\",u.LegendLocation));n.LegendLocation=j;var P=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Location\",u.Location));n.Location=P;var D=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"OutputBackend\",u.OutputBackend));n.OutputBackend=D;var F=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Orientation\",u.Orientation));n.Orientation=F;var I=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"VerticalAlign\",u.VerticalAlign));n.VerticalAlign=I;var B=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"TextAlign\",u.TextAlign));n.TextAlign=B;var R=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"TextBaseline\",u.TextBaseline));n.TextBaseline=R;var L=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"RenderLevel\",u.RenderLevel));n.RenderLevel=L;var V=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"RenderMode\",u.RenderMode));n.RenderMode=V;var G=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"SizingMode\",u.SizingMode));n.SizingMode=G;var U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"SpatialUnits\",u.SpatialUnits));n.SpatialUnits=U;var Y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"Distribution\",u.DistributionTypes));n.Distribution=Y;var q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"StepMode\",u.StepModes));n.StepMode=q;var X=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"PaddingUnits\",u.PaddingUnits));n.PaddingUnits=X;var W=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(o(\"StartEnd\",u.StartEnd));n.StartEnd=W,n.units_prop=s;var H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e.prototype.transform=function(e){return\"deg\"==this.spec.units&&(e=_.map(e,function(t){return t*Math.PI/180})),e=_.map(e,function(t){return-t}),t.prototype.transform.call(this,e)},e}(s(\"Angle\",u.AngleUnits,\"rad\"));n.Angle=H;var J=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(s(\"Distance\",u.SpatialUnits,\"data\"));n.Distance=J;var Q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(H);n.AngleSpec=Q,Q.prototype.dataspec=!0;var $=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(g);n.ColorSpec=$,$.prototype.dataspec=!0;var Z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(J);n.DirectionSpec=Z,Z.prototype.dataspec=!0;var K=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(J);n.DistanceSpec=K,K.prototype.dataspec=!0;var tt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.FontSizeSpec=tt,tt.prototype.dataspec=!0;var et=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(b);n.NumberSpec=et,et.prototype.dataspec=!0;var nt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a.__extends(e,t),e}(w);n.StringSpec=nt,nt.prototype.dataspec=!0},function(t,e,n){var i,r,o,s,a=t(15),l=t(30);r=function(t,e){var n,i,r;i={},null==e&&(e=\"\");for(n in t)r=t[n],i[e+n]=r;return i},o={line_color:[a.ColorSpec,\"black\"],line_width:[a.NumberSpec,1],line_alpha:[a.NumberSpec,1],line_join:[a.LineJoin,\"miter\"],line_cap:[a.LineCap,\"butt\"],line_dash:[a.Array,[]],line_dash_offset:[a.Number,0]},n.line=function(t){return r(o,t)},i={fill_color:[a.ColorSpec,\"gray\"],fill_alpha:[a.NumberSpec,1]},n.fill=function(t){return r(i,t)},s={text_font:[a.Font,\"helvetica\"],text_font_size:[a.FontSizeSpec,\"12pt\"],text_font_style:[a.FontStyle,\"normal\"],text_color:[a.ColorSpec,\"#444444\"],text_alpha:[a.NumberSpec,1],text_align:[a.TextAlign,\"left\"],text_baseline:[a.TextBaseline,\"bottom\"],text_line_height:[a.Number,1.2]},n.text=function(t){return r(s,t)},n.create=function(t){var e,n,i,r,o,s;for(s={},n=0,r=t.length;n<r;n++){if(e=t[n],a=e.split(\":\"),i=a[0],o=a[1],null==this[i])throw new Error(\"Unknown property mixin kind '\"+i+\"'\");s=l.extend(s,this[i](o))}return s;var a}},function(t,e,n){var i=t(364),r=t(8),o=t(18),s=t(9),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this.selector=new o.Selector,this.inspectors={}},e.prototype.select=function(t,e,n,i){void 0===i&&(i=!1);for(var r=!1,o=0,s=t;o<s.length;o++){var a=s[o];r=r||a.hit_test(e,n,i)}return r},e.prototype.inspect=function(t,e){var n=!1;return n=n||t.hit_test(e,!1,!1,\"inspect\")},e.prototype.clear=function(t){this.selector.clear(),this.source.selected=s.create_hit_test_result()},e.prototype.get_or_create_inspector=function(t){return null==this.inspectors[t.id]&&(this.inspectors[t.id]=new o.Selector),this.inspectors[t.id]},e}(r.HasProps);n.SelectionManager=l,l.prototype.type=\"SelectionManager\",l.internal({source:[a.Any]})},function(t,e,n){var i=t(364),r=t(8),o=t(9),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.update=function(t,e,n,i){void 0===i&&(i=!1),this.setv({timestamp:new Date},{silent:i}),this.setv({final:e},{silent:i}),n&&t.update_through_union(this.indices),this.setv({indices:t},{silent:i})},e.prototype.clear=function(){this.timestamp=new Date,this.final=!0,this.indices=new o.HitTestResult},e}(r.HasProps);n.Selector=a,a.prototype.type=\"Selector\",a.internal({indices:[s.Any,function(){return new o.HitTestResult}],final:[s.Boolean],timestamp:[s.Any]})},function(t,e,n){var i=function(){function t(){this._dev=!1}return Object.defineProperty(t.prototype,\"dev\",{get:function(){return this._dev},set:function(t){this._dev=t},enumerable:!0,configurable:!0}),t}();n.Settings=i,n.settings=new i},function(t,e,n){function i(t,e,n,i){return l.find(t,function(t){return t.signal===e&&t.slot===n&&t.context===i})}function r(t){0===_.size&&a.defer(o),_.add(t)}function o(){_.forEach(function(t){l.removeBy(t,function(t){return null==t.signal})}),_.clear()}var s=t(364),a=t(24),l=t(22),u=function(){function t(t,e){this.sender=t,this.name=e}return t.prototype.connect=function(t,e){void 0===e&&(e=null),h.has(this.sender)||h.set(this.sender,[]);var n=h.get(this.sender);if(null!=i(n,this,t,e))return!1;var r=e||t;c.has(r)||c.set(r,[]);var o=c.get(r),s={signal:this,slot:t,context:e};return n.push(s),o.push(s),!0},t.prototype.disconnect=function(t,e){void 0===e&&(e=null);var n=h.get(this.sender);if(null==n||0===n.length)return!1;var o=i(n,this,t,e);if(null==o)return!1;var s=e||t,a=c.get(s);return o.signal=null,r(n),r(a),!0},t.prototype.emit=function(t){for(var e=h.get(this.sender)||[],n=0,i=e;n<i.length;n++){var r=i[n],o=r.signal,s=r.slot,a=r.context;o===this&&s.call(a,t,this.sender)}},t}();n.Signal=u,function(t){t.disconnectBetween=function(t,e){var n=h.get(t);if(null==n||0===n.length)return;var i=c.get(e);if(null==i||0===i.length)return;for(var o=0,s=i;o<s.length;o++){var a=s[o];if(null==a.signal)return;a.signal.sender===t&&(a.signal=null)}r(n),r(i)},t.disconnectSender=function(t){var e=h.get(t);if(null==e||0===e.length)return;for(var n=0,i=e;n<i.length;n++){var o=i[n];if(null==o.signal)return;var s=o.context||o.slot;o.signal=null,r(c.get(s))}r(e)},t.disconnectReceiver=function(t){var e=c.get(t);if(null==e||0===e.length)return;for(var n=0,i=e;n<i.length;n++){var o=i[n];if(null==o.signal)return;var s=o.signal.sender;o.signal=null,r(h.get(s))}r(e)},t.disconnectAll=function(t){var e=h.get(t);if(null!=e&&0!==e.length){for(var n=0,i=e;n<i.length;n++){var o=i[n];o.signal=null}r(e)}var s=c.get(t);if(null!=s&&0!==s.length){for(var a=0,l=s;a<l.length;a++){var o=l[a];o.signal=null}r(s)}}}(u=n.Signal||(n.Signal={})),n.Signal=u,n.Signalable=function(t){return null!=t?function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.connect=function(t,e){return t.connect(e,this)},e}(t):function(){function t(){}return t.prototype.connect=function(t,e){return t.connect(e,this)},t}()};!function(t){t.connect=function(t,e){return t.connect(e,this)}}(n._Signalable||(n._Signalable={}));var h=new WeakMap,c=new WeakMap,_=new Set},function(t,e,n){var i=t(318),r=t(20),o=t(14),s=t(5),a=t(43),l=t(30),u=t(3);n.UIEvents=function(){function t(t,e,n,i){this.plot_view=t,this.toolbar=e,this.hit_area=n,this.plot=i,this.tap=new r.Signal(this,\"tap\"),this.doubletap=new r.Signal(this,\"doubletap\"),this.press=new r.Signal(this,\"press\"),this.pan_start=new r.Signal(this,\"pan:start\"),this.pan=new r.Signal(this,\"pan\"),this.pan_end=new r.Signal(this,\"pan:end\"),this.pinch_start=new r.Signal(this,\"pinch:start\"),this.pinch=new r.Signal(this,\"pinch\"),this.pinch_end=new r.Signal(this,\"pinch:end\"),this.rotate_start=new r.Signal(this,\"rotate:start\"),this.rotate=new r.Signal(this,\"rotate\"),this.rotate_end=new r.Signal(this,\"rotate:end\"),this.move_enter=new r.Signal(this,\"move:enter\"),this.move=new r.Signal(this,\"move\"),this.move_exit=new r.Signal(this,\"move:exit\"),this.scroll=new r.Signal(this,\"scroll\"),this.keydown=new r.Signal(this,\"keydown\"),this.keyup=new r.Signal(this,\"keyup\"),this._configure_hammerjs()}return t.prototype._configure_hammerjs=function(){var t=this;return this.hammer=new i(this.hit_area),this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",function(e){return t._doubletap(e)}),this.hammer.on(\"tap\",function(e){return t._tap(e)}),this.hammer.on(\"press\",function(e){return t._press(e)}),this.hammer.get(\"pan\").set({direction:i.DIRECTION_ALL}),this.hammer.on(\"panstart\",function(e){return t._pan_start(e)}),this.hammer.on(\"pan\",function(e){return t._pan(e)}),this.hammer.on(\"panend\",function(e){return t._pan_end(e)}),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",function(e){return t._pinch_start(e)}),this.hammer.on(\"pinch\",function(e){return t._pinch(e)}),this.hammer.on(\"pinchend\",function(e){return t._pinch_end(e)}),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",function(e){return t._rotate_start(e)}),this.hammer.on(\"rotate\",function(e){return t._rotate(e)}),this.hammer.on(\"rotateend\",function(e){return t._rotate_end(e)}),this.hit_area.addEventListener(\"mousemove\",function(e){return t._mouse_move(e)}),this.hit_area.addEventListener(\"mouseenter\",function(e){return t._mouse_enter(e)}),this.hit_area.addEventListener(\"mouseleave\",function(e){return t._mouse_exit(e)}),this.hit_area.addEventListener(\"wheel\",function(e){return t._mouse_wheel(e)}),document.addEventListener(\"keydown\",function(e){return t._key_down(e)}),document.addEventListener(\"keyup\",function(e){return t._key_up(e)})},t.prototype.register_tool=function(t,e){var n,i,r,s,a,l,u;if(null==(i=e||t.model.event_type)||\"string\"==typeof i){if(s=t.model.id,l=t.model.type,null!=i){switch(u=t,i){case\"pan\":null!=u._pan_start&&u.connect(this.pan_start,function(t){if(t.id===s)return u._pan_start(t.e)}),null!=u._pan&&u.connect(this.pan,function(t){if(t.id===s)return u._pan(t.e)}),null!=u._pan_end&&u.connect(this.pan_end,function(t){if(t.id===s)return u._pan_end(t.e)});break;case\"pinch\":null!=u._pinch_start&&u.connect(this.pinch_start,function(t){if(t.id===s)return u._pinch_start(t.e)}),null!=u._pinch&&u.connect(this.pinch,function(t){if(t.id===s)return u._pinch(t.e)}),null!=u._pinch_end&&u.connect(this.pinch_end,function(t){if(t.id===s)return u._pinch_end(t.e)});break;case\"rotate\":null!=u._rotate_start&&u.connect(this.rotate_start,function(t){if(t.id===s)return u._rotate_start(t.e)}),null!=u._rotate&&u.connect(this.rotate,function(t){if(t.id===s)return u._rotate(t.e)}),null!=u._rotate_end&&u.connect(this.rotate_end,function(t){if(t.id===s)return u._rotate_end(t.e)});break;case\"move\":null!=u._move_enter&&u.connect(this.move_enter,function(t){if(t.id===s)return u._move_enter(t.e)}),null!=u._move&&u.connect(this.move,function(t){if(t.id===s)return u._move(t.e)}),null!=u._move_exit&&u.connect(this.move_exit,function(t){if(t.id===s)return u._move_exit(t.e)});break;case\"tap\":null!=u._tap&&u.connect(this.tap,function(t){if(t.id===s)return u._tap(t.e)});break;case\"press\":null!=u._press&&u.connect(this.press,function(t){if(t.id===s)return u._press(t.e)});break;case\"scroll\":null!=u._scroll&&u.connect(this.scroll,function(t){if(t.id===s)return u._scroll(t.e)});break;default:throw new Error(\"unsupported event_type: \"+ev)}return null!=u._doubletap&&u.connect(this.doubletap,function(t){return u._doubletap(t.e)}),null!=u._keydown&&u.connect(this.keydown,function(t){return u._keydown(t.e)}),null!=u._keyup&&u.connect(this.keyup,function(t){return u._keyup(t.e)}),(\"ontouchstart\"in window||navigator.maxTouchPoints>0)&&\"pinch\"===i?(o.logger.debug(\"Registering scroll on touch screen\"),u.connect(this.scroll,function(t){if(t.id===s)return u._scroll(t.e)})):void 0}o.logger.debug(\"Button tool: \"+l)}else for(r=0,a=i.length;r<a;r++)n=i[r],this.register_tool(t,n)},t.prototype._hit_test_renderers=function(t,e){var n,i,r,o;for(i=this.plot_view.get_renderer_views(),n=i.length-1;n>=0;n+=-1)if(o=i[n],(\"annotation\"===(r=o.model.level)||\"overlay\"===r)&&null!=o.bbox&&o.bbox().contains(t,e))return o;return null},t.prototype._hit_test_frame=function(t,e){return this.plot_view.frame.bbox.contains(t,e)},t.prototype._trigger=function(t,e){var n,i,r,o,s,a,u,h,c,_,p;switch(a=t.name,o=a.split(\":\")[0],p=this._hit_test_renderers(e.bokeh.sx,e.bokeh.sy),o){case\"move\":for(i=this.toolbar.inspectors.filter(function(t){return t.active}),s=\"default\",null!=p?(null!=p.model.cursor&&(s=p.model.cursor()),l.isEmpty(i)||(t=this.move_exit,a=t.name)):this._hit_test_frame(e.bokeh.sx,e.bokeh.sy)&&(l.isEmpty(i)||(s=\"crosshair\")),this.plot_view.set_cursor(s),_=[],u=0,c=i.length;u<c;u++)h=i[u],_.push(this.trigger(t,e,h.id));return _;case\"tap\":if(null!=p&&\"function\"==typeof p.on_hit&&p.on_hit(e.bokeh.sx,e.bokeh.sy),null!=(n=this.toolbar.gestures[o].active))return this.trigger(t,e,n.id);break;case\"scroll\":if(r=\"ontouchstart\"in window||navigator.maxTouchPoints>0?\"pinch\":\"scroll\",null!=(n=this.toolbar.gestures[r].active))return e.preventDefault(),e.stopPropagation(),this.trigger(t,e,n.id);break;default:if(null!=(n=this.toolbar.gestures[o].active))return this.trigger(t,e,n.id)}},t.prototype.trigger=function(t,e,n){return void 0===n&&(n=null),t.emit({id:n,e:e})},t.prototype._event_sxy=function(t){var e,n;return i=s.offset(this.hit_area),e=i.left,n=i.top,{sx:t.pageX-e,sy:t.pageY-n};var i},t.prototype._bokify_hammer=function(t,e){void 0===e&&(e={});var n;return t.bokeh=l.extend(this._event_sxy(t.srcEvent),e),null!=(n=u.BokehEvent.event_class(t))?this.plot.trigger_event(n.from_event(t)):o.logger.debug(\"Unhandled event of type \"+t.type)},t.prototype._bokify_point_event=function(t,e){void 0===e&&(e={});var n;return t.bokeh=l.extend(this._event_sxy(t),e),null!=(n=u.BokehEvent.event_class(t))?this.plot.trigger_event(n.from_event(t)):o.logger.debug(\"Unhandled event of type \"+t.type)},t.prototype._tap=function(t){return this._bokify_hammer(t),this._trigger(this.tap,t)},t.prototype._doubletap=function(t){return this._bokify_hammer(t),this.trigger(this.doubletap,t)},t.prototype._press=function(t){return this._bokify_hammer(t),this._trigger(this.press,t)},t.prototype._pan_start=function(t){return this._bokify_hammer(t),t.bokeh.sx-=t.deltaX,t.bokeh.sy-=t.deltaY,this._trigger(this.pan_start,t)},t.prototype._pan=function(t){return this._bokify_hammer(t),this._trigger(this.pan,t)},t.prototype._pan_end=function(t){return this._bokify_hammer(t),this._trigger(this.pan_end,t)},t.prototype._pinch_start=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_start,t)},t.prototype._pinch=function(t){return this._bokify_hammer(t),this._trigger(this.pinch,t)},t.prototype._pinch_end=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_end,t)},t.prototype._rotate_start=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_start,t)},t.prototype._rotate=function(t){return this._bokify_hammer(t),this._trigger(this.rotate,t)},t.prototype._rotate_end=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_end,t)},t.prototype._mouse_enter=function(t){return this._bokify_point_event(t),this._trigger(this.move_enter,t)},t.prototype._mouse_move=function(t){return this._bokify_point_event(t),this._trigger(this.move,t)},t.prototype._mouse_exit=function(t){return this._bokify_point_event(t),this._trigger(this.move_exit,t)},t.prototype._mouse_wheel=function(t){return this._bokify_point_event(t,{delta:a.getDeltaY(t)}),this._trigger(this.scroll,t)},t.prototype._key_down=function(t){return this.trigger(this.keydown,t)},t.prototype._key_up=function(t){return this.trigger(this.keyup,t)},t}()},function(t,e,n){function i(t){return(e=[]).concat.apply(e,t);var e}function r(t,e){return-1!==t.indexOf(e)}function o(t,e,n){void 0===n&&(n=1),null==e&&(e=t,t=0);for(var i=Math.max(Math.ceil((e-t)/n),0),r=Array(i),o=0;o<i;o++,t+=n)r[o]=t;return r}function s(t,e){if(0==t.length)throw new Error(\"minBy() called with an empty array\");for(var n=t[0],i=e(n),r=1,o=t.length;r<o;r++){var s=t[r],a=e(s);a<i&&(n=s,i=a)}return n}function a(t,e){if(0==t.length)throw new Error(\"maxBy() called with an empty array\");for(var n=t[0],i=e(n),r=1,o=t.length;r<o;r++){var s=t[r],a=e(s);a>i&&(n=s,i=a)}return n}function l(t){return function(e,n){for(var i=e.length,r=t>0?0:i-1;r>=0&&r<i;r+=t)if(n(e[r]))return r;return-1}}function u(t){for(var e=[],n=0,i=t;n<i.length;n++){var o=i[n];r(e,o)||e.push(o)}return e}var h=t(29),c=Array.prototype.slice;n.head=function(t){return t[0]},n.tail=function(t){return t[t.length-1]},n.last=function(t){return t[t.length-1]},n.copy=function(t){return c.call(t)},n.concat=i,n.contains=r,n.nth=function(t,e){return t[e>=0?e:t.length+e]},n.zip=function(t,e){for(var n=Math.min(t.length,e.length),i=new Array(n),r=0;r<n;r++)i[r]=[t[r],e[r]];return i},n.unzip=function(t){for(var e=t.length,n=new Array(e),i=new Array(e),r=0;r<e;r++)o=t[r],n[r]=o[0],i[r]=o[1];return[n,i];var o},n.range=o,n.linspace=function(t,e,n){void 0===n&&(n=100);for(var i=(e-t)/(n-1),r=new Array(n),o=0;o<n;o++)r[o]=t+i*o;return r},n.transpose=function(t){for(var e=t.length,n=t[0].length,i=[],r=0;r<n;r++){i[r]=[];for(var o=0;o<e;o++)i[r][o]=t[o][r]}return i},n.sum=function(t){return t.reduce(function(t,e){return t+e},0)},n.cumsum=function(t){var e=[];return t.reduce(function(t,n,i){return e[i]=t+n},0),e},n.min=function(t){for(var e,n=1/0,i=0,r=t.length;i<r;i++)(e=t[i])<n&&(n=e);return n},n.minBy=s,n.max=function(t){for(var e,n=-1/0,i=0,r=t.length;i<r;i++)(e=t[i])>n&&(n=e);return n},n.maxBy=a,n.argmin=function(t){return s(o(t.length),function(e){return t[e]})},n.argmax=function(t){return a(o(t.length),function(e){return t[e]})},n.all=function(t,e){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(!e(r))return!1}return!0},n.any=function(t,e){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(e(r))return!0}return!1},n.findIndex=l(1),n.findLastIndex=l(-1),n.find=function(t,e){var i=n.findIndex(t,e);return-1==i?void 0:t[i]},n.findLast=function(t,e){var i=n.findLastIndex(t,e);return-1==i?void 0:t[i]},n.sortedIndex=function(t,e){var n=0,i=t.length;for(;n<i;){var r=Math.floor((n+i)/2);t[r]<e?n=r+1:i=r}return n},n.sortBy=function(t,e){var n=t.map(function(t,n){return{value:t,index:n,key:e(t)}});return n.sort(function(t,e){var n=t.key,i=e.key;if(n!==i){if(n>i||void 0===n)return 1;if(n<i||void 0===i)return-1}return t.index-e.index}),n.map(function(t){return t.value})},n.uniq=u,n.uniqBy=function(t,e){for(var n=[],i=[],o=0,s=t;o<s.length;o++){var a=s[o],l=e(a);r(i,l)||(i.push(l),n.push(a))}return n},n.union=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return u(i(t))},n.intersection=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var i=[];t:for(var o=0,s=t;o<s.length;o++){var a=s[o];if(!r(i,a)){for(var l=0,u=e;l<u.length;l++){var h=u[l];if(!r(h,a))continue t}i.push(a)}}return i},n.difference=function(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var o=i(e);return t.filter(function(t){return!r(o,t)})},n.removeBy=function(t,e){for(var n=0;n<t.length;)e(t[n])?t.splice(n,1):n++},n.shuffle=function(t){for(var e=t.length,n=new Array(e),i=0;i<e;i++){var r=h.randomIn(0,i);r!==i&&(n[i]=n[r]),n[r]=t[i]}return n},n.pairwise=function(t,e){for(var n=t.length,i=new Array(n-1),r=0;r<n-1;r++)i[r]=e(t[r],t[r+1]);return i},n.reversed=function(t){for(var e=t.length,n=new Array(e),i=0;i<e;i++)n[e-i-1]=t[i];return n},n.repeat=function(t,e){for(var n=new Array(e),i=0;i<e;i++)n[i]=t;return n},n.map=function(t,e){for(var n=t.length,i=new Array(n),r=0;r<n;r++)i[r]=e(t[r]);return i}},function(t,e,n){var i=Math.min,r=Math.max;n.empty=function(){return{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},n.positive_x=function(){return{minX:Number.MIN_VALUE,minY:-1/0,maxX:1/0,maxY:1/0}},n.positive_y=function(){return{minX:-1/0,minY:Number.MIN_VALUE,maxX:1/0,maxY:1/0}},n.union=function(t,e){return{minX:i(t.minX,e.minX),maxX:r(t.maxX,e.maxX),minY:i(t.minY,e.minY),maxY:r(t.maxY,e.maxY)}};var o=function(){function t(t){if(\"x0\"in t&&\"y0\"in t&&\"x1\"in t&&\"y1\"in t){var e=t,n=e.x0,i=e.y0,r=e.x1,o=e.y1;if(!(n<=r&&i<=o))throw new Error(\"invalid bbox {x0: \"+n+\", y0: \"+i+\", x1: \"+r+\", y1: \"+o+\"}\");this.x0=n,this.y0=i,this.x1=r,this.y1=o}else{var s=t,a=s.x,l=s.y,u=s.width,h=s.height;if(!(u>=0&&h>=0))throw new Error(\"invalid bbox {x: \"+a+\", y: \"+l+\", width: \"+u+\", height: \"+h+\"}\");this.x0=a,this.y0=l,this.x1=a+u,this.y1=l+h}}return Object.defineProperty(t.prototype,\"minX\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"minY\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxX\",{get:function(){return this.x1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"maxY\",{get:function(){return this.y1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"left\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"top\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"right\",{get:function(){return this.x1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"bottom\",{get:function(){return this.y1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p0\",{get:function(){return[this.x0,this.y0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"p1\",{get:function(){return[this.x1,this.y1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"x\",{get:function(){return this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this.x1-this.x0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this.y1-this.y0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"rect\",{get:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"h_range\",{get:function(){return{start:this.x0,end:this.x1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"v_range\",{get:function(){return{start:this.y0,end:this.y1}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"ranges\",{get:function(){return[this.h_range,this.v_range]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"aspect\",{get:function(){return this.width/this.height},enumerable:!0,configurable:!0}),t.prototype.contains=function(t,e){return t>=this.x0&&t<=this.x1&&e>=this.y0&&e<=this.y1},t.prototype.clip=function(t,e){return t<this.x0?t=this.x0:t>this.x1&&(t=this.x1),e<this.y0?e=this.y0:e>this.y1&&(e=this.y1),[t,e]},t.prototype.union=function(e){return new t({x0:i(this.x0,e.x0),y0:i(this.y0,e.y0),x1:r(this.x1,e.x1),y1:r(this.y1,e.y1)})},t}();n.BBox=o},function(t,e,n){n.delay=function(t,e){return setTimeout(t,e)};var i=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;n.defer=function(t){return i(t)},n.throttle=function(t,e,n){void 0===n&&(n={});var i,r,o,s=null,a=0,l=function(){a=!1===n.leading?0:Date.now(),s=null,o=t.apply(i,r),s||(i=r=null)};return function(){var u=Date.now();a||!1!==n.leading||(a=u);var h=e-(u-a);return i=this,r=arguments,h<=0||h>e?(s&&(clearTimeout(s),s=null),a=u,o=t.apply(i,r),s||(i=r=null)):s||!1===n.trailing||(s=setTimeout(l,h)),o}},n.once=function(t){var e,n=!1;return function(){return n||(n=!0,e=t()),e}}},function(t,e,n){n.fixup_ctx=function(t){(function(t){t.setLineDash||(t.setLineDash=function(e){t.mozDash=e,t.webkitLineDash=e});t.getLineDash||(t.getLineDash=function(){return t.mozDash})})(t),function(t){t.setLineDashOffset=function(e){t.lineDashOffset=e,t.mozDashOffset=e,t.webkitLineDashOffset=e},t.getLineDashOffset=function(){return t.mozDashOffset}}(t),function(t){t.setImageSmoothingEnabled=function(e){t.imageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.oImageSmoothingEnabled=e,t.webkitImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e},t.getImageSmoothingEnabled=function(){var e=t.imageSmoothingEnabled;return null==e||e}}(t),function(t){t.measureText&&null==t.html5MeasureText&&(t.html5MeasureText=t.measureText,t.measureText=function(e){var n=t.html5MeasureText(e);return n.ascent=1.6*t.html5MeasureText(\"m\").width,n})}(t),function(t){t.ellipse||(t.ellipse=function(e,n,i,r,o,s,a,l){void 0===l&&(l=!1);t.translate(e,n),t.rotate(o);var u=i,h=r;l&&(u=-i,h=-r);t.moveTo(-u,0),t.bezierCurveTo(-u,.551784*h,.551784*-u,h,0,h),t.bezierCurveTo(.551784*u,h,u,.551784*h,u,0),t.bezierCurveTo(u,.551784*-h,.551784*u,-h,0,-h),t.bezierCurveTo(.551784*-u,-h,-u,.551784*-h,-u,0),t.rotate(-o),t.translate(-e,-n)})}(t)},n.get_scale_ratio=function(t,e,n){if(\"svg\"==n)return 1;if(e){var i=window.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}return 1}},function(t,e,n){var i,r=[].indexOf,o=t(38);i=function(t){var e;return e=Number(t).toString(16),e=1===e.length?\"0\"+e:e},n.color2hex=function(t){var e,n,r;return 0===(t+=\"\").indexOf(\"#\")?t:null!=o[t]?o[t]:0===t.indexOf(\"rgb\")?(n=t.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\"),e=function(){var t,e,o,s;for(o=n.slice(0,3),s=[],t=0,e=o.length;t<e;t++)r=o[t],s.push(i(r));return s}().join(\"\"),4===n.length&&(e+=i(Math.floor(255*parseFloat(n.slice(3))))),\"#\"+e.slice(0,8)):t},n.color2rgba=function(t,e){void 0===e&&(e=1);var i,r,o;if(!t)return[0,0,0,0];for((i=(i=n.color2hex(t)).replace(/ |#/g,\"\")).length<=4&&(i=i.replace(/(.)/g,\"$1$1\")),i=i.match(/../g),o=function(){var t,e,n;for(n=[],t=0,e=i.length;t<e;t++)r=i[t],n.push(parseInt(r,16)/255);return n}();o.length<3;)o.push(0);return o.length<4&&o.push(e),o.slice(0,4)},n.valid_rgb=function(t){var e,n,i,o;switch(t.substring(0,4)){case\"rgba\":n={start:\"rgba(\",len:4,alpha:!0};break;case\"rgb(\":n={start:\"rgb(\",len:3,alpha:!1};break;default:return!1}if(new RegExp(\".*?(\\\\.).*(,)\").test(t))throw new Error(\"color expects integers for rgb in rgb/rgba tuple, received \"+t);if((e=t.replace(n.start,\"\").replace(\")\",\"\").split(\",\").map(parseFloat)).length!==n.len)throw new Error(\"color expects rgba \"+expect_len+\"-tuple, received \"+t);if(n.alpha&&!(0<=(i=e[3])&&i<=1))throw new Error(\"color expects rgba 4-tuple to have alpha value between 0 and 1\");if(r.call(function(){var t,n,i,r;for(i=e.slice(0,3),r=[],t=0,n=i.length;t<n;t++)o=i[t],r.push(0<=o&&o<=255);return r}(),!1)>=0)throw new Error(\"color expects rgb to have value between 0 and 255\");return!0}},function(t,e,n){var i=t(22),r=t(28),o=t(42),s=function(){function t(){this._dict={}}return t.prototype._existing=function(t){return t in this._dict?this._dict[t]:null},t.prototype.add_value=function(t,e){var n=this._existing(t);null==n?this._dict[t]=e:o.isArray(n)?n.push(e):this._dict[t]=[n,e]},t.prototype.remove_value=function(t,e){var n=this._existing(t);if(o.isArray(n)){var s=i.difference(n,[e]);s.length>0?this._dict[t]=s:delete this._dict[t]}else r.isEqual(n,e)&&delete this._dict[t]},t.prototype.get_one=function(t,e){var n=this._existing(t);if(o.isArray(n)){if(1===n.length)return n[0];throw new Error(e)}return n},t}();n.MultiDict=s;var a=function(){function t(e){this.values=null==e?[]:e instanceof t?i.copy(e.values):this._compact(e)}return t.prototype._compact=function(t){for(var e=[],n=0,i=t;n<i.length;n++){var r=i[n];-1===e.indexOf(r)&&e.push(r)}return e},t.prototype.push=function(t){this.missing(t)&&this.values.push(t)},t.prototype.remove=function(t){var e=this.values.indexOf(t);this.values=this.values.slice(0,e).concat(this.values.slice(e+1))},t.prototype.length=function(){return this.values.length},t.prototype.includes=function(t){return-1!=this.values.indexOf(t)},t.prototype.missing=function(t){return!this.includes(t)},t.prototype.slice=function(t,e){return this.values.slice(t,e)},t.prototype.join=function(t){return this.values.join(t)},t.prototype.toString=function(){return this.join(\", \")},t.prototype.union=function(e){return e=new t(e),new t(this.values.concat(e.values))},t.prototype.intersect=function(e){e=new t(e);for(var n=new t,i=0,r=e.values;i<r.length;i++){var o=r[i];this.includes(o)&&e.includes(o)&&n.push(o)}return n},t.prototype.diff=function(e){e=new t(e);for(var n=new t,i=0,r=this.values;i<r.length;i++){var o=r[i];e.missing(o)&&n.push(o)}return n},t}();n.Set=a},function(t,e,n){function i(t,e,n,s){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return t===e;var a=o.call(t);if(a!==o.call(e))return!1;switch(a){case\"[object RegExp]\":case\"[object String]\":return\"\"+t==\"\"+e;case\"[object Number]\":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case\"[object Date]\":case\"[object Boolean]\":return+t==+e}var l=\"[object Array]\"===a;if(!l){if(\"object\"!=typeof t||\"object\"!=typeof e)return!1;var u=t.constructor,h=e.constructor;if(u!==h&&!(r.isFunction(u)&&u instanceof u&&r.isFunction(h)&&h instanceof h)&&\"constructor\"in t&&\"constructor\"in e)return!1}n=n||[],s=s||[];for(var c=n.length;c--;)if(n[c]===t)return s[c]===e;if(n.push(t),s.push(e),l){if((c=t.length)!==e.length)return!1;for(;c--;)if(!i(t[c],e[c],n,s))return!1}else{var _=Object.keys(t),p=void 0;if(c=_.length,Object.keys(e).length!==c)return!1;for(;c--;)if(p=_[c],!e.hasOwnProperty(p)||!i(t[p],e[p],n,s))return!1}return n.pop(),s.pop(),!0}var r=t(42),o=Object.prototype.toString;n.isEqual=function(t,e){return i(t,e)}},function(t,e,n){function i(t){for(;t<0;)t+=2*Math.PI;for(;t>2*Math.PI;)t-=2*Math.PI;return t}function r(t,e){return Math.abs(i(t-e))}function o(){return Math.random()}n.angle_norm=i,n.angle_dist=r,n.angle_between=function(t,e,n,o){var s=i(t),a=r(e,n),l=r(e,s)<=a&&r(s,n)<=a;return\"anticlock\"==o?l:!l},n.random=o,n.randomIn=function(t,e){null==e&&(e=t,t=0);return t+Math.floor(Math.random()*(e-t+1))},n.atan2=function(t,e){return Math.atan2(e[1]-t[1],e[0]-t[0])},n.rnorm=function(t,e){var n,i;for(;n=o(),i=o(),i=(2*i-1)*Math.sqrt(1/Math.E*2),!(-4*n*n*Math.log(n)>=i*i););var r=i/n;return r=t+e*r},n.clamp=function(t,e,n){return t>n?n:t<e?e:t}},function(t,e,n){function i(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];for(var i=0,r=e;i<r.length;i++){var o=r[i];for(var s in o)o.hasOwnProperty(s)&&(t[s]=o[s])}return t}function r(t){return Object.keys(t).length}var o=t(22);n.keys=Object.keys,n.values=function(t){for(var e=Object.keys(t),n=e.length,i=new Array(n),r=0;r<n;r++)i[r]=t[e[r]];return i},n.extend=i,n.clone=function(t){return i({},t)},n.merge=function(t,e){for(var n=Object.create(Object.prototype),i=0,r=o.concat([Object.keys(t),Object.keys(e)]);i<r.length;i++){var s=r[i],a=t.hasOwnProperty(s)?t[s]:[],l=e.hasOwnProperty(s)?e[s]:[];n[s]=o.union(a,l)}return n},n.size=r,n.isEmpty=function(t){return 0===r(t)}},function(t,e,n){var i,r=t(345);n.proj4=r;var o=t(333),s=t(339),a=t(349),l=t(358);r.defaultDatum=\"WGS84\",r.WGS84=new o(\"WGS84\"),r.Proj=o,r.toPoint=s,r.defs=a,r.transform=l,n.mercator=a(\"GOOGLE\"),n.wgs84=a(\"WGS84\"),n.mercator_bounds={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},i={lon:[-180,180],lat:[-85.06,85.06]},n.clip_mercator=function(t,e,i){var r,o;return s=n.mercator_bounds[i],o=s[0],r=s[1],[Math.max(t,o),Math.min(e,r)];var s},n.in_bounds=function(t,e){return t>i[e][0]&&t<i[e][1]}},function(t,e,n){function i(t,e){for(var n=Math.min(t.length,e.length),i=new Array(n),o=new Array(n),s=0;s<n;s++){var a=r.proj4(r.mercator,[t[s],e[s]]),l=a[0],u=a[1];i[s]=l,o[s]=u}return[i,o]}var r=t(31);n.project_xy=i,n.project_xsys=function(t,e){for(var n=Math.min(t.length,e.length),r=new Array(n),o=new Array(n),s=0;s<n;s++){var a=i(t[s],e[s]),l=a[0],u=a[1];r[s]=l,o[s]=u}return[r,o]}},function(t,e,n){var i=t(42);n.create_ref=function(t){var e={type:t.type,id:t.id};null!=t._subtype&&(e.subtype=t._subtype);return e},n.is_ref=function(t){if(i.isObject(t)){var e=Object.keys(t).sort();if(2==e.length)return\"id\"==e[0]&&\"type\"==e[1];if(3==e.length)return\"id\"==e[0]&&\"subtype\"==e[1]&&\"type\"==e[2]}return!1}},function(t,e,n){n.get_indices=function(t){var e=t.selected;return e[\"0d\"].glyph?e[\"0d\"].indices:e[\"1d\"].indices.length>0?e[\"1d\"].indices:e[\"2d\"].indices.length>0?e[\"2d\"].indices:[]}},function(t,e,n){var i,r,o,s,a,l,u=t(42);n.ARRAY_TYPES={float32:Float32Array,float64:Float64Array,uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array},n.DTYPES={};for(a in n.ARRAY_TYPES)l=n.ARRAY_TYPES[a],n.DTYPES[l.name]=a;r=new ArrayBuffer(2),s=new Uint8Array(r),o=new Uint16Array(r),s[0]=170,s[1]=187,i=48042===o[0]?\"little\":\"big\",n.BYTE_ORDER=i,n.swap16=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,2*t.length),e=n=0,i=o.length;n<i;e=n+=2)r=o[e],o[e]=o[e+1],o[e+1]=r;return null},n.swap32=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,4*t.length),e=n=0,i=o.length;n<i;e=n+=4)r=o[e],o[e]=o[e+3],o[e+3]=r,r=o[e+1],o[e+1]=o[e+2],o[e+2]=r;return null},n.swap64=function(t){var e,n,i,r,o;for(o=new Uint8Array(t.buffer,t.byteOffset,8*t.length),e=n=0,i=o.length;n<i;e=n+=8)r=o[e],o[e]=o[e+7],o[e+7]=r,r=o[e+1],o[e+1]=o[e+6],o[e+6]=r,r=o[e+2],o[e+2]=o[e+5],o[e+5]=r,r=o[e+3],o[e+3]=o[e+4],o[e+4]=r;return null},n.process_buffer=function(t,e){var i,o,s,a,l,u;for(l=t.order!==n.BYTE_ORDER,u=t.shape,o=null,s=0,a=e.length;s<a;s++)if(r=e[s],JSON.parse(r[0]).id===t.__buffer__){o=r[1];break}return i=new n.ARRAY_TYPES[t.dtype](o),l&&(2===i.BYTES_PER_ELEMENT?n.swap16(i):4===i.BYTES_PER_ELEMENT?n.swap32(i):8===i.BYTES_PER_ELEMENT&&n.swap64(i)),[i,u]},n.process_array=function(t,e){return u.isObject(t)&&\"__ndarray__\"in t?n.decode_base64(t):u.isObject(t)&&\"__buffer__\"in t?n.process_buffer(t,e):u.isArray(t)?[t,[]]:void 0},n.arrayBufferToBase64=function(t){var e,n,i;return i=new Uint8Array(t),n=function(){var t,n,r;for(r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(String.fromCharCode(e));return r}(),btoa(n.join(\"\"))},n.base64ToArrayBuffer=function(t){var e,n,i,r,o,s;for(e=atob(t),o=e.length,n=new Uint8Array(o),i=r=0,s=o;0<=s?r<s:r>s;i=0<=s?++r:--r)n[i]=e.charCodeAt(i);return n.buffer},n.decode_base64=function(t){var e,i,r,o;return i=n.base64ToArrayBuffer(t.__ndarray__),(r=t.dtype)in n.ARRAY_TYPES&&(e=new n.ARRAY_TYPES[r](i)),o=t.shape,[e,o]},n.encode_base64=function(t,e){var i,r;return i=n.arrayBufferToBase64(t.buffer),r=n.DTYPES[t.constructor.name],{__ndarray__:i,shape:e,dtype:r}},n.decode_column_data=function(t,e){var i,r,o,s,h,c,_,p,d;h={},c={};for(a in t)if(l=t[a],u.isArray(l)){if(0===l.length||!u.isObject(l[0])&&!u.isArray(l[0])){h[a]=l;continue}for(r=[],d=[],o=0,s=l.length;o<s;o++)_=l[o],f=n.process_array(_,e),i=f[0],p=f[1],r.push(i),d.push(p);h[a]=r,c[a]=d}else m=n.process_array(l,e),i=m[0],p=m[1],h[a]=i,c[a]=p;return[h,c];var f,m},n.encode_column_data=function(t,e){var i,r,o,s,h,c,_;s={};for(a in t){if((null!=(l=t[a])?l.buffer:void 0)instanceof ArrayBuffer)l=n.encode_base64(l,null!=e?e[a]:void 0);else if(u.isArray(l)){for(o=[],i=r=0,h=l.length;0<=h?r<h:r>h;i=0<=h?++r:--r)(null!=(c=l[i])?c.buffer:void 0)instanceof ArrayBuffer?o.push(n.encode_base64(l[i],null!=e&&null!=(_=e[a])?_[i]:void 0)):o.push(l[i]);l=o}s[a]=l}return s}},function(t,e,n){var i=t(364),r=t(361),o=function(){return function(){}}();n.SpatialIndex=o;var s=function(t){function e(e){var n=t.call(this)||this;return n.index=r(),n.index.load(e),n}return i.__extends(e,t),Object.defineProperty(e.prototype,\"bbox\",{get:function(){var t=this.index.toJSON(),e=t.minX,n=t.minY,i=t.maxX,r=t.maxY;return{minX:e,minY:n,maxX:i,maxY:r}},enumerable:!0,configurable:!0}),e.prototype.search=function(t){return this.index.search(t)},e.prototype.indices=function(t){for(var e=this.search(t),n=e.length,i=new Array(n),r=0;r<n;r++)i[r]=e[r].i;return i},e}(o);n.RBush=s},function(t,e,n){function i(){for(var t=new Array(32),e=0;e<32;e++)t[e]=\"0123456789ABCDEF\".substr(Math.floor(16*Math.random()),1);return t[12]=\"4\",t[16]=\"0123456789ABCDEF\".substr(3&t[16].charCodeAt(0)|8,1),t.join(\"\")}var r=t(19);n.startsWith=function(t,e,n){void 0===n&&(n=0);return t.substr(n,e.length)==e},n.uuid4=i;var o=1e3;n.uniqueId=function(t){var e=r.settings.dev?\"j\"+o++:i();return null!=t?t+\"-\"+e:e},n.escape=function(t){return t.replace(/(?:[&<>\"'`])/g,function(t){switch(t){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";case\"'\":return\"&#x27;\";case\"`\":return\"&#x60;\";default:return t}})},n.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}})}},function(t,e,n){n.indianred=\"#CD5C5C\",n.lightcoral=\"#F08080\",n.salmon=\"#FA8072\",n.darksalmon=\"#E9967A\",n.lightsalmon=\"#FFA07A\",n.crimson=\"#DC143C\",n.red=\"#FF0000\",n.firebrick=\"#B22222\",n.darkred=\"#8B0000\",n.pink=\"#FFC0CB\",n.lightpink=\"#FFB6C1\",n.hotpink=\"#FF69B4\",n.deeppink=\"#FF1493\",n.mediumvioletred=\"#C71585\",n.palevioletred=\"#DB7093\",n.coral=\"#FF7F50\",n.tomato=\"#FF6347\",n.orangered=\"#FF4500\",n.darkorange=\"#FF8C00\",n.orange=\"#FFA500\",n.gold=\"#FFD700\",n.yellow=\"#FFFF00\",n.lightyellow=\"#FFFFE0\",n.lemonchiffon=\"#FFFACD\",n.lightgoldenrodyellow=\"#FAFAD2\",n.papayawhip=\"#FFEFD5\",n.moccasin=\"#FFE4B5\",n.peachpuff=\"#FFDAB9\",n.palegoldenrod=\"#EEE8AA\",n.khaki=\"#F0E68C\",n.darkkhaki=\"#BDB76B\",n.lavender=\"#E6E6FA\",n.thistle=\"#D8BFD8\",n.plum=\"#DDA0DD\",n.violet=\"#EE82EE\",n.orchid=\"#DA70D6\",n.fuchsia=\"#FF00FF\",n.magenta=\"#FF00FF\",n.mediumorchid=\"#BA55D3\",n.mediumpurple=\"#9370DB\",n.blueviolet=\"#8A2BE2\",n.darkviolet=\"#9400D3\",n.darkorchid=\"#9932CC\",n.darkmagenta=\"#8B008B\",n.purple=\"#800080\",n.indigo=\"#4B0082\",n.slateblue=\"#6A5ACD\",n.darkslateblue=\"#483D8B\",n.mediumslateblue=\"#7B68EE\",n.greenyellow=\"#ADFF2F\",n.chartreuse=\"#7FFF00\",n.lawngreen=\"#7CFC00\",n.lime=\"#00FF00\",n.limegreen=\"#32CD32\",n.palegreen=\"#98FB98\",n.lightgreen=\"#90EE90\",n.mediumspringgreen=\"#00FA9A\",n.springgreen=\"#00FF7F\",n.mediumseagreen=\"#3CB371\",n.seagreen=\"#2E8B57\",n.forestgreen=\"#228B22\",n.green=\"#008000\",n.darkgreen=\"#006400\",n.yellowgreen=\"#9ACD32\",n.olivedrab=\"#6B8E23\",n.olive=\"#808000\",n.darkolivegreen=\"#556B2F\",n.mediumaquamarine=\"#66CDAA\",n.darkseagreen=\"#8FBC8F\",n.lightseagreen=\"#20B2AA\",n.darkcyan=\"#008B8B\",n.teal=\"#008080\",n.aqua=\"#00FFFF\",n.cyan=\"#00FFFF\",n.lightcyan=\"#E0FFFF\",n.paleturquoise=\"#AFEEEE\",n.aquamarine=\"#7FFFD4\",n.turquoise=\"#40E0D0\",n.mediumturquoise=\"#48D1CC\",n.darkturquoise=\"#00CED1\",n.cadetblue=\"#5F9EA0\",n.steelblue=\"#4682B4\",n.lightsteelblue=\"#B0C4DE\",n.powderblue=\"#B0E0E6\",n.lightblue=\"#ADD8E6\",n.skyblue=\"#87CEEB\",n.lightskyblue=\"#87CEFA\",n.deepskyblue=\"#00BFFF\",n.dodgerblue=\"#1E90FF\",n.cornflowerblue=\"#6495ED\",n.royalblue=\"#4169E1\",n.blue=\"#0000FF\",n.mediumblue=\"#0000CD\",n.darkblue=\"#00008B\",n.navy=\"#000080\",n.midnightblue=\"#191970\",n.cornsilk=\"#FFF8DC\",n.blanchedalmond=\"#FFEBCD\",n.bisque=\"#FFE4C4\",n.navajowhite=\"#FFDEAD\",n.wheat=\"#F5DEB3\",n.burlywood=\"#DEB887\",n.tan=\"#D2B48C\",n.rosybrown=\"#BC8F8F\",n.sandybrown=\"#F4A460\",n.goldenrod=\"#DAA520\",n.darkgoldenrod=\"#B8860B\",n.peru=\"#CD853F\",n.chocolate=\"#D2691E\",n.saddlebrown=\"#8B4513\",n.sienna=\"#A0522D\",n.brown=\"#A52A2A\",n.maroon=\"#800000\",n.white=\"#FFFFFF\",n.snow=\"#FFFAFA\",n.honeydew=\"#F0FFF0\",n.mintcream=\"#F5FFFA\",n.azure=\"#F0FFFF\",n.aliceblue=\"#F0F8FF\",n.ghostwhite=\"#F8F8FF\",n.whitesmoke=\"#F5F5F5\",n.seashell=\"#FFF5EE\",n.beige=\"#F5F5DC\",n.oldlace=\"#FDF5E6\",n.floralwhite=\"#FFFAF0\",n.ivory=\"#FFFFF0\",n.antiquewhite=\"#FAEBD7\",n.linen=\"#FAF0E6\",n.lavenderblush=\"#FFF0F5\",n.mistyrose=\"#FFE4E1\",n.gainsboro=\"#DCDCDC\",n.lightgray=\"#D3D3D3\",n.lightgrey=\"#D3D3D3\",n.silver=\"#C0C0C0\",n.darkgray=\"#A9A9A9\",n.darkgrey=\"#A9A9A9\",n.gray=\"#808080\",n.grey=\"#808080\",n.dimgray=\"#696969\",n.dimgrey=\"#696969\",n.lightslategray=\"#778899\",n.lightslategrey=\"#778899\",n.slategray=\"#708090\",n.slategrey=\"#708090\",n.darkslategray=\"#2F4F4F\",n.darkslategrey=\"#2F4F4F\",n.black=\"#000000\"},function(t,e,n){var i,r=t(362),o=t(332),s=t(363),a=t(37),l=t(42);i=function(t){var e;return l.isNumber(t)?(e=function(){switch(!1){case Math.floor(t)!==t:return\"%d\";case!(Math.abs(t)>.1&&Math.abs(t)<1e3):return\"%0.3f\";default:return\"%0.3e\"}}(),r.sprintf(e,t)):\"\"+t},n.replace_placeholders=function(t,e,n,l,u){return void 0===u&&(u={}),t=t.replace(/(^|[^\\$])\\$(\\w+)/g,function(t,e,n){return e+\"@$\"+n}),t=t.replace(/(^|[^@])@(?:(\\$?\\w+)|{([^{}]+)})(?:{([^{}]+)})?/g,function(t,h,c,_,p){var d,f,m;if(c=null!=_?_:c,m=\"$\"===c[0]?u[c.substring(1)]:null!=(d=e.get_column(c))?d[n]:void 0,f=null,null==m)f=\"???\";else{if(\"safe\"===p)return\"\"+h+m;if(null!=p)if(null!=l&&c in l)if(\"numeral\"===l[c])f=o.format(m,p);else if(\"datetime\"===l[c])f=s(m,p);else{if(\"printf\"!==l[c])throw new Error(\"Unknown tooltip field formatter type '\"+l[c]+\"'\");f=r.sprintf(p,m)}else f=o.format(m,p);else f=i(m)}return f=\"\"+h+a.escape(f)})}},function(t,e,n){var i=t(5),r={};n.get_text_height=function(t){if(null!=r[t])return r[t];var e=i.span({style:{font:t}},\"Hg\"),n=i.div({style:{display:\"inline-block\",width:\"1px\",height:\"0px\"}}),o=i.div({},e,n);document.body.appendChild(o);try{n.style.verticalAlign=\"baseline\";var s=i.offset(n).top-i.offset(e).top;n.style.verticalAlign=\"bottom\";var a=i.offset(n).top-i.offset(e).top,l={height:a,ascent:s,descent:a-s};return r[t]=l,l}finally{document.body.removeChild(o)}}},function(t,e,n){var i,r;i=function(t){return t()},r=(\"undefined\"!=typeof window&&null!==window?window.requestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.mozRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.webkitRequestAnimationFrame:void 0)||(\"undefined\"!=typeof window&&null!==window?window.msRequestAnimationFrame:void 0)||i,n.throttle=function(t,e){var n,i,o,s,a,l,u;return h=[null,null,null,null],i=h[0],n=h[1],u=h[2],l=h[3],a=0,s=!1,o=function(){return a=new Date,u=null,s=!1,l=t.apply(i,n)},function(){var t,h;return t=new Date,h=e-(t-a),i=this,n=arguments,h<=0&&!s?(clearTimeout(u),s=!0,r(o)):u||s||(u=setTimeout(function(){return r(o)},h)),l};var h}},function(t,e,n){function i(t){return\"[object Number]\"===r.call(t)}var r=Object.prototype.toString;n.isBoolean=function(t){return!0===t||!1===t||\"[object Boolean]\"===r.call(t)},n.isNumber=i,n.isInteger=function(t){return i(t)&&isFinite(t)&&Math.floor(t)===t},n.isString=function(t){return\"[object String]\"===r.call(t)},n.isStrictNaN=function(t){return i(t)&&t!==+t},n.isFunction=function(t){return\"[object Function]\"===r.call(t)},n.isArray=function(t){return Array.isArray(t)},n.isObject=function(t){var e=typeof t;return\"function\"===e||\"object\"===e&&!!t}},function(t,e,n){function i(t){var e=getComputedStyle(t).fontSize;return null!=e?parseInt(e,10):null}n.getDeltaY=function(t){var e=-t.deltaY;if(t.target instanceof HTMLElement)switch(t.deltaMode){case t.DOM_DELTA_LINE:e*=function(t){return i(t.offsetParent||document.body)||i(t)||16}(t.target);break;case t.DOM_DELTA_PAGE:e*=function(t){return t.clientHeight}(t.target)}return e}},function(t,e,n){function i(t,e,n){var i=[t.start,t.end],r=i[0],o=i[1],s=null!=n?n:(o+r)/2,a=r-(r-s)*e,l=o-(o-s)*e;return[a,l]}function r(t,e){var n=e[0],i=e[1],r={};for(var o in t){var s=t[o],a=s.r_invert(n,i),l=a[0],u=a[1];r[o]={start:l,end:u}}return r}var o=t(29);n.scale_highlow=i,n.get_info=r,n.scale_range=function(t,e,n,s,a){void 0===n&&(n=!0);void 0===s&&(s=!0);e=o.clamp(e,-.9,.9);var l=n?e:0,u=i(t.bbox.h_range,l,null!=a?a.x:void 0),h=u[0],c=u[1],_=r(t.xscales,[h,c]),p=s?e:0,d=i(t.bbox.v_range,p,null!=a?a.y:void 0),f=d[0],m=d[1],v=r(t.yscales,[f,m]);return{xrs:_,yrs:v,factor:e}}},function(t,e,n){var i=t(364),r=t(20),o=t(37),s=function(t){function e(e){var n=t.call(this)||this;if(n.removed=new r.Signal(n,\"removed\"),null==e.model)throw new Error(\"model of a view wasn't configured\");return n.model=e.model,n._parent=e.parent,n.id=e.id||o.uniqueId(),n.initialize(e),!1!==e.connect_signals&&n.connect_signals(),n}return i.__extends(e,t),e.getters=function(t){for(var e in t){var n=t[e];Object.defineProperty(this.prototype,e,{get:n})}},e.prototype.initialize=function(t){},e.prototype.remove=function(){this._parent=void 0,this.disconnect_signals(),this.removed.emit(void 0)},e.prototype.toString=function(){return this.model.type+\"View(\"+this.id+\")\"},Object.defineProperty(e.prototype,\"parent\",{get:function(){if(void 0!==this._parent)return this._parent;throw new Error(\"parent of a view wasn't configured\")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_root\",{get:function(){return null===this.parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"root\",{get:function(){return this.is_root?this:this.parent.root},enumerable:!0,configurable:!0}),e.prototype.connect_signals=function(){},e.prototype.disconnect_signals=function(){r.Signal.disconnectReceiver(this)},e.prototype.notify_finished=function(){this.root.notify_finished()},e}(r.Signalable());n.View=s},function(t,e,n){var i,r=t(364),o={}.hasOwnProperty,s=t(16),a=t(26),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.set_value=function(t){return t.strokeStyle=this.line_color.value(),t.globalAlpha=this.line_alpha.value(),t.lineWidth=this.line_width.value(),t.lineJoin=this.line_join.value(),t.lineCap=this.line_cap.value(),t.setLineDash(this.line_dash.value()),t.setLineDashOffset(this.line_dash_offset.value())},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"line_color\",e),t.strokeStyle!==this.cache.line_color&&(t.strokeStyle=this.cache.line_color),this.cache_select(\"line_alpha\",e),t.globalAlpha!==this.cache.line_alpha&&(t.globalAlpha=this.cache.line_alpha),this.cache_select(\"line_width\",e),t.lineWidth!==this.cache.line_width&&(t.lineWidth=this.cache.line_width),this.cache_select(\"line_join\",e),t.lineJoin!==this.cache.line_join&&(t.lineJoin=this.cache.line_join),this.cache_select(\"line_cap\",e),t.lineCap!==this.cache.line_cap&&(t.lineCap=this.cache.line_cap),this.cache_select(\"line_dash\",e),t.getLineDash()!==this.cache.line_dash&&t.setLineDash(this.cache.line_dash),this.cache_select(\"line_dash_offset\",e),t.getLineDashOffset()!==this.cache.line_dash_offset)return t.setLineDashOffset(this.cache.line_dash_offset)},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.line_color.value(),this.line_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e}(i=function(){function t(t,e){void 0===e&&(e=\"\");var n,i,r,o,s;for(this.obj=t,this.prefix=e,this.cache={},i=t.properties[e+this.do_attr].spec,this.doit=null!==i.value,s=this.attrs,r=0,o=s.length;r<o;r++)this[n=s[r]]=t.properties[e+n]}return t.prototype.warm_cache=function(t){var e,n,i,r,o,s;for(o=this.attrs,s=[],n=0,i=o.length;n<i;n++)e=o[n],void 0!==(r=this.obj.properties[this.prefix+e]).spec.value?s.push(this.cache[e]=r.spec.value):s.push(this.cache[e+\"_array\"]=r.array(t));return s},t.prototype.cache_select=function(t,e){var n;return void 0!==(n=this.obj.properties[this.prefix+t]).spec.value?this.cache[t]=n.spec.value:this.cache[t]=this.cache[t+\"_array\"][e]},t.prototype.set_vectorize=function(t,e){return null!=this.all_indices?this._set_vectorize(t,this.all_indices[e]):this._set_vectorize(t,e)},t}());n.Line=l,l.prototype.attrs=Object.keys(s.line()),l.prototype.do_attr=\"line_color\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.set_value=function(t){return t.fillStyle=this.fill_color.value(),t.globalAlpha=this.fill_alpha.value()},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"fill_color\",e),t.fillStyle!==this.cache.fill_color&&(t.fillStyle=this.cache.fill_color),this.cache_select(\"fill_alpha\",e),t.globalAlpha!==this.cache.fill_alpha)return t.globalAlpha=this.cache.fill_alpha},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.fill_color.value(),this.fill_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e}(i);n.Fill=u,u.prototype.attrs=Object.keys(s.fill()),u.prototype.do_attr=\"fill_color\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.cache_select=function(e,n){var i;return\"font\"===e?(i=t.prototype.cache_select.call(this,\"text_font_style\",n)+\" \"+t.prototype.cache_select.call(this,\"text_font_size\",n)+\" \"+t.prototype.cache_select.call(this,\"text_font\",n),this.cache.font=i):t.prototype.cache_select.call(this,e,n)},e.prototype.font_value=function(){var t,e;return t=this.text_font.value(),e=this.text_font_size.value(),this.text_font_style.value()+\" \"+e+\" \"+t},e.prototype.color_value=function(){var t;return\"rgba(\"+255*(t=a.color2rgba(this.text_color.value(),this.text_alpha.value()))[0]+\",\"+255*t[1]+\",\"+255*t[2]+\",\"+t[3]+\")\"},e.prototype.set_value=function(t){return t.font=this.font_value(),t.fillStyle=this.text_color.value(),t.globalAlpha=this.text_alpha.value(),t.textAlign=this.text_align.value(),t.textBaseline=this.text_baseline.value()},e.prototype._set_vectorize=function(t,e){if(this.cache_select(\"font\",e),t.font!==this.cache.font&&(t.font=this.cache.font),this.cache_select(\"text_color\",e),t.fillStyle!==this.cache.text_color&&(t.fillStyle=this.cache.text_color),this.cache_select(\"text_alpha\",e),t.globalAlpha!==this.cache.text_alpha&&(t.globalAlpha=this.cache.text_alpha),this.cache_select(\"text_align\",e),t.textAlign!==this.cache.text_align&&(t.textAlign=this.cache.text_align),this.cache_select(\"text_baseline\",e),t.textBaseline!==this.cache.text_baseline)return t.textBaseline=this.cache.text_baseline},e}(i);n.Text=h,h.prototype.attrs=Object.keys(s.text()),h.prototype.do_attr=\"text_color\",n.Visuals=function(){function t(t){var e,n,i,r,o,s,a;for(s=t.mixins,n=0,i=s.length;n<i;n++)a=s[n],c=a.split(\":\"),r=c[0],_=c[1],o=void 0===_?\"\":_,e=function(){switch(r){case\"line\":return l;case\"fill\":return u;case\"text\":return h}}(),this[o+r]=new e(t,o);var c,_}return t.prototype.warm_cache=function(t){var e,n,r;r=[];for(e in this)o.call(this,e)&&((n=this[e])instanceof i?r.push(n.warm_cache(t)):r.push(void 0));return r},t.prototype.set_all_indices=function(t){var e,n,r;r=[];for(e in this)o.call(this,e)&&((n=this[e])instanceof i?r.push(n.all_indices=t):r.push(void 0));return r},t}()},function(t,e,n){var i=t(364),r=t(0),o=t(248),s=t(14),a=t(3),l=t(8),u=t(20),h=t(33),c=t(35),_=t(27),p=t(22),d=t(30),f=t(28),m=t(42),v=t(139),g=t(173),y=t(50),b=function(){function t(t){this.document=t,this.session=null,this.subscribed_models=new _.Set}return t.prototype.send_event=function(t){null!=this.session&&this.session.send_event(t)},t.prototype.trigger=function(t){for(var e=0,n=this.subscribed_models.values;e<n.length;e++){var i=n[e];if(null==t.model_id||t.model_id===i){var r=this.document._all_models[i];null!=r&&r._process_event(t)}}},t}();n.EventManager=b;var x=function(){return function(t){this.document=t}}();n.DocumentChangedEvent=x;var w=function(t){function e(e,n,i,r,o,s){var a=t.call(this,e)||this;return a.model=n,a.attr=i,a.old=r,a.new_=o,a.setter_id=s,a}return i.__extends(e,t),e.prototype.json=function(t){if(\"id\"===this.attr)throw new Error(\"'id' field should never change, whatever code just set it is wrong\");var e=this.new_,n=l.HasProps._value_to_json(this.attr,e,this.model),i={};l.HasProps._value_record_references(e,i,!0),this.model.id in i&&this.model!==e&&delete i[this.model.id];for(var r in i)t[r]=i[r];return{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:n}},e}(x);n.ModelChangedEvent=w;var k=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.title=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return{kind:\"TitleChanged\",title:this.title}},e}(x);n.TitleChangedEvent=k;var S=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.model=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return l.HasProps._value_record_references(this.model,t,!0),{kind:\"RootAdded\",model:this.model.ref()}},e}(x);n.RootAddedEvent=S;var T=function(t){function e(e,n,i){var r=t.call(this,e)||this;return r.model=n,r.setter_id=i,r}return i.__extends(e,t),e.prototype.json=function(t){return{kind:\"RootRemoved\",model:this.model.ref()}},e}(x);n.RootRemovedEvent=T,n.documents=[],n.DEFAULT_TITLE=\"Bokeh Application\";var M=function(){function t(){n.documents.push(this),this._init_timestamp=Date.now(),this._title=n.DEFAULT_TITLE,this._roots=[],this._all_models={},this._all_models_by_name=new _.MultiDict,this._all_models_freeze_count=0,this._callbacks=[],this.event_manager=new b(this),this.idle=new u.Signal(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}return Object.defineProperty(t.prototype,\"layoutables\",{get:function(){return this._roots.filter(function(t){return t instanceof v.LayoutDOM})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"is_idle\",{get:function(){for(var t=0,e=this.layoutables;t<e.length;t++){var n=e[t];if(!this._idle_roots.has(n))return!1}return!0},enumerable:!0,configurable:!0}),t.prototype.notify_idle=function(t){this._idle_roots.set(t,!0),this.is_idle&&(s.logger.info(\"document idle at \"+(Date.now()-this._init_timestamp)+\" ms\"),this.idle.emit(void 0))},t.prototype.clear=function(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}},t.prototype.interactive_start=function(t){null==this._interactive_plot&&(this._interactive_plot=t,this._interactive_plot.trigger_event(new a.LODStart({}))),this._interactive_timestamp=Date.now()},t.prototype.interactive_stop=function(t){null!=this._interactive_plot&&this._interactive_plot.id===t.id&&this._interactive_plot.trigger_event(new a.LODEnd({})),this._interactive_plot=null,this._interactive_timestamp=null},t.prototype.interactive_duration=function(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp},t.prototype.destructively_move=function(t){if(t===this)throw new Error(\"Attempted to overwrite a document with itself\");t.clear();var e=p.copy(this._roots);this.clear();for(var n=0,i=e;n<i.length;n++){var r=i[n];if(null!=r.document)throw new Error(\"Somehow we didn't detach \"+r)}if(0!==Object.keys(this._all_models).length)throw new Error(\"this._all_models still had stuff in it: \"+this._all_models);for(var o=0,s=e;o<s.length;o++){var r=s[o];t.add_root(r)}t.set_title(this._title)},t.prototype._push_all_models_freeze=function(){this._all_models_freeze_count+=1},t.prototype._pop_all_models_freeze=function(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()},t.prototype._invalidate_all_models=function(){s.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()},t.prototype._recompute_all_models=function(){for(var t=new _.Set,e=0,n=this._roots;e<n.length;e++){var i=n[e];t=t.union(i.references())}for(var r=new _.Set(d.values(this._all_models)),o=r.diff(t),s=t.diff(r),a={},l=0,u=t.values;l<u.length;l++){var h=u[l];a[h.id]=h}for(var c=0,p=o.values;c<p.length;c++){var f=p[c];f.detach_document(),f instanceof y.Model&&null!=f.name&&this._all_models_by_name.remove_value(f.name,f)}for(var m=0,v=s.values;m<v.length;m++){var g=v[m];g.attach_document(this),g instanceof y.Model&&null!=g.name&&this._all_models_by_name.add_value(g.name,g)}this._all_models=a},t.prototype.roots=function(){return this._roots},t.prototype.add_root=function(t,e){if(s.logger.debug(\"Adding root: \"+t),!p.contains(this._roots,t)){this._push_all_models_freeze();try{this._roots.push(t)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new S(this,t,e))}},t.prototype.remove_root=function(t,e){var n=this._roots.indexOf(t);if(!(n<0)){this._push_all_models_freeze();try{this._roots.splice(n,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new T(this,t,e))}},t.prototype.title=function(){return this._title},t.prototype.set_title=function(t,e){t!==this._title&&(this._title=t,this._trigger_on_change(new k(this,t,e)))},t.prototype.get_model_by_id=function(t){return t in this._all_models?this._all_models[t]:null},t.prototype.get_model_by_name=function(t){return this._all_models_by_name.get_one(t,\"Multiple models are named '\"+t+\"'\")},t.prototype.on_change=function(t){p.contains(this._callbacks,t)||this._callbacks.push(t)},t.prototype.remove_on_change=function(t){var e=this._callbacks.indexOf(t);e>=0&&this._callbacks.splice(e,1)},t.prototype._trigger_on_change=function(t){for(var e=0,n=this._callbacks;e<n.length;e++){var i=n[e];i(t)}},t.prototype._notify_change=function(t,e,n,i,r){\"name\"===e&&(this._all_models_by_name.remove_value(n,t),null!=i&&this._all_models_by_name.add_value(i,t));var o=null!=r?r.setter_id:void 0;this._trigger_on_change(new w(this,t,e,n,i,o))},t._references_json=function(t,e){void 0===e&&(e=!0);for(var n=[],i=0,r=t;i<r.length;i++){var o=r[i],s=o.ref();s.attributes=o.attributes_as_json(e),delete s.attributes.id,n.push(s)}return n},t._instantiate_object=function(t,e,n){var i=d.extend({},n,{id:t}),o=r.Models(e);return new o(i,{silent:!0,defer_initialization:!0})},t._instantiate_references_json=function(e,n){for(var i={},r=0,o=e;r<o.length;r++){var s=o[r],a=s.id,l=s.type,u=s.attributes||{},h=void 0;a in n?h=n[a]:(h=t._instantiate_object(a,l,u),null!=s.subtype&&h.set_subtype(s.subtype)),i[h.id]=h}return i},t._resolve_refs=function(t,e,n){function i(t){if(h.is_ref(t)){if(t.id in e)return e[t.id];if(t.id in n)return n[t.id];throw new Error(\"reference \"+JSON.stringify(t)+\" isn't known (not in Document?)\")}return m.isArray(t)?function(t){for(var e=[],n=0,r=t;n<r.length;n++){var o=r[n];e.push(i(o))}return e}(t):m.isObject(t)?function(t){var e={};for(var n in t){var r=t[n];e[n]=i(r)}return e}(t):t}return i(t)},t._initialize_references_json=function(e,n,i){function r(t,e){function n(r){if(r instanceof l.HasProps){if(!(r.id in i)&&r.id in t){i[r.id]=!0;var o=t[r.id],s=o[1],a=o[2];for(var u in s){var h=s[u];n(h)}e(r,s,a)}}else if(m.isArray(r))for(var c=0,_=r;c<_.length;c++){var h=_[c];n(h)}else if(m.isObject(r))for(var p in r){var h=r[p];n(h)}}var i={};for(var r in t){var o=t[r],s=o[0];n(s)}}for(var o={},s=0,a=e;s<a.length;s++){var u=a[s],h=u.id,c=u.attributes,_=!(h in n),p=_?i[h]:n[h],d=t._resolve_refs(c,n,i);o[p.id]=[p,d,_]}r(o,function(t,e,n){n&&t.setv(e,{silent:!0})}),r(o,function(t,e,n){n&&t.finalize(e,{})})},t._event_for_attribute_change=function(t,e,n,i,r){var o=i.get_model_by_id(t.id);if(o.attribute_is_serializable(e)){var s={kind:\"ModelChanged\",model:{id:t.id,type:t.type},attr:e,new:n};return l.HasProps._json_record_references(i,n,r,!0),s}return null},t._events_to_sync_objects=function(e,n,i,r){for(var o=Object.keys(e.attributes),a=Object.keys(n.attributes),l=p.difference(o,a),u=p.difference(a,o),h=p.intersection(o,a),c=[],_=0,d=l;_<d.length;_++){var m=d[_];s.logger.warn(\"Server sent key \"+m+\" but we don't seem to have it in our JSON\")}for(var v=0,g=u;v<g.length;v++){var m=g[v],y=n.attributes[m];c.push(t._event_for_attribute_change(e,m,y,i,r))}for(var b=0,x=h;b<x.length;b++){var m=x[b],w=e.attributes[m],y=n.attributes[m];null==w&&null==y||(null==w||null==y?c.push(t._event_for_attribute_change(e,m,y,i,r)):f.isEqual(w,y)||c.push(t._event_for_attribute_change(e,m,y,i,r)))}return c.filter(function(t){return null!=t})},t._compute_patch_since_json=function(e,n){function i(t){for(var e={},n=0,i=t.roots.references;n<i.length;n++){var r=i[n];e[r.id]=r}return e}for(var r=n.to_json(!1),o=i(e),s={},a=[],l=0,u=e.roots.root_ids;l<u.length;l++){var h=u[l];s[h]=o[h],a.push(h)}for(var c=i(r),_={},f=[],m=0,v=r.roots.root_ids;m<v.length;m++){var h=v[m];_[h]=c[h],f.push(h)}if(a.sort(),f.sort(),p.difference(a,f).length>0||p.difference(f,a).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");var g={},y=[];for(var b in n._all_models)if(b in o){var x=t._events_to_sync_objects(o[b],c[b],n,g);y=y.concat(x)}return{references:t._references_json(d.values(g),!1),events:y}},t.prototype.to_json_string=function(t){return void 0===t&&(t=!0),JSON.stringify(this.to_json(t))},t.prototype.to_json=function(e){void 0===e&&(e=!0);var n=this._roots.map(function(t){return t.id}),i=d.values(this._all_models);return{title:this._title,roots:{root_ids:n,references:t._references_json(i,e)}}},t.from_json_string=function(e){var n=JSON.parse(e);return t.from_json(n)},t.from_json=function(e){s.logger.debug(\"Creating Document from JSON\");var n=e.version,i=-1!==n.indexOf(\"+\")||-1!==n.indexOf(\"-\"),r=\"Library versions: JS (\"+o.version+\") / Python (\"+n+\")\";i||o.version===n?s.logger.debug(r):(s.logger.warn(\"JS/Python version mismatch\"),s.logger.warn(r));var a=e.roots,l=a.root_ids,u=a.references,h=t._instantiate_references_json(u,{});t._initialize_references_json(u,{},h);for(var c=new t,_=0,p=l;_<p.length;_++){var d=p[_];c.add_root(h[d])}return c.set_title(e.title),c},t.prototype.replace_with_json=function(e){var n=t.from_json(e);n.destructively_move(this)},t.prototype.create_json_patch_string=function(t){return JSON.stringify(this.create_json_patch(t))},t.prototype.create_json_patch=function(e){for(var n={},i=[],r=0,o=e;r<o.length;r++){var a=o[r];if(a.document!==this)throw s.logger.warn(\"Cannot create a patch using events from a different document, event had \",a.document,\" we are \",this),new Error(\"Cannot create a patch using events from a different document\");i.push(a.json(n))}return{events:i,references:t._references_json(d.values(n))}},t.prototype.apply_json_patch=function(e,n,i){for(var r=e.references,o=e.events,a=t._instantiate_references_json(r,this._all_models),l=0,u=o;l<u.length;l++){var h=u[l];switch(h.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":var _=h.model.id;if(_ in this._all_models)a[_]=this._all_models[_];else if(!(_ in a))throw s.logger.warn(\"Got an event for unknown model \",h.model),new Error(\"event model wasn't known\")}}var p={},d={};for(var f in a){var m=a[f];f in this._all_models?p[f]=m:d[f]=m}t._initialize_references_json(r,p,d);for(var v=0,y=o;v<y.length;v++){var h=y[v];switch(h.kind){case\"ModelChanged\":var b=h.model.id;if(!(b in this._all_models))throw new Error(\"Cannot apply patch to \"+b+\" which is not in the document\");var x=this._all_models[b],w=h.attr,k=h.model.type;if(\"data\"===w&&\"ColumnDataSource\"===k){var S=c.decode_column_data(h.new,n),T=S[0],M=S[1];x.setv({_shapes:M,data:T},{setter_id:i})}else{var m=t._resolve_refs(h.new,p,d);x.setv([w,m],{setter_id:i})}break;case\"ColumnDataChanged\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot stream to \"+A+\" which is not in the document\");var E=this._all_models[A],z=c.decode_column_data(h.new,n),T=z[0],M=z[1];if(null!=h.cols){for(var C in E.data)C in T||(T[C]=E.data[C]);for(var C in E._shapes)C in M||(M[C]=E._shapes[C])}E.setv({_shapes:M,data:T},{setter_id:i,check_eq:!1});break;case\"ColumnsStreamed\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot stream to \"+A+\" which is not in the document\");var E=this._all_models[A];if(!(E instanceof g.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");var T=h.data,O=h.rollover;E.stream(T,O);break;case\"ColumnsPatched\":var A=h.column_source.id;if(!(A in this._all_models))throw new Error(\"Cannot patch \"+A+\" which is not in the document\");var E=this._all_models[A];if(!(E instanceof g.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");var N=h.patches;E.patch(N);break;case\"RootAdded\":var j=h.model.id,P=a[j];this.add_root(P,i);break;case\"RootRemoved\":var j=h.model.id,P=a[j];this.remove_root(P,i);break;case\"TitleChanged\":this.set_title(h.title,i);break;default:throw new Error(\"Unknown patch event \"+JSON.stringify(h))}}},t}();n.Document=M},function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f=t(0),m=t(1),v=t(14),g=t(47),y=t(5),b=t(24),x=t(37),w=t(30),k=t(42),S=t(246);n.BOKEH_ROOT=\"bk-root\",l=function(t,e){if(e.buffers.length>0?t.consume(e.buffers[0].buffer):t.consume(e.content.data),null!=(e=t.message))return this.apply_json_patch(e.content,e.buffers)},c=function(t,e,n){var i;if(t===n.target_name)return i=new S.Receiver,n.on_msg(l.bind(e,i))},u=function(t,e){var n,i,r,o,s;if(\"undefined\"==typeof Jupyter||null===Jupyter||null==Jupyter.notebook.kernel)return console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function\");v.logger.info(\"Registering Jupyter comms for target \"+t),n=Jupyter.notebook.kernel.comm_manager,s=function(n){return c(t,e,n)},o=n.comms;for(r in o)o[r].then(s);try{return n.register_target(t,function(n,i){var r;return v.logger.info(\"Registering Jupyter comms for target \"+t),r=new S.Receiver,n.on_msg(l.bind(e,r))})}catch(t){return i=t,v.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \"+i+\")\")}},i=function(t){var e;return e=new t.default_view({model:t,parent:null}),f.index[t.id]=e,e},o=function(t){var e,i,r,o;if(o=t.elementid,null==(r=document.getElementById(o)))throw new Error(\"Error rendering Bokeh model: could not find tag with id: \"+o);if(!document.body.contains(r))throw new Error(\"Error rendering Bokeh model: element with id '\"+o+\"' must be under <body>\");return\"SCRIPT\"===r.tagName&&(d(r,t),i=y.div({class:n.BOKEH_ROOT}),y.replaceWith(r,i),e=y.div(),i.appendChild(e),r=e),r},n.add_model_standalone=function(t,e,n){var r;if(null==(r=n.get_model_by_id(t)))throw new Error(\"Model \"+t+\" was not in document \"+n);return i(r).renderTo(e,!0)},n.add_document_standalone=function(t,e,n){void 0===n&&(n=!1);var r,o,s,a,l,u,h;for(h={},l=function(t){var n;return(n=i(t)).renderTo(e),h[t.id]=n},u=function(t){var n;if(t.id in h)return n=h[t.id],e.removeChild(n.el),delete h[t.id],delete f.index[t.id]},a=t.roots(),r=0,o=a.length;r<o;r++)s=a[r],l(s);return n&&(window.document.title=t.title()),t.on_change(function(t){return t instanceof g.RootAddedEvent?l(t.model):t instanceof g.RootRemovedEvent?u(t.model):n&&t instanceof g.TitleChangedEvent?window.document.title=t.title:void 0}),h},h={},s=function(t,e,n){var i;if(null==t)throw new Error(\"Missing websocket_url\");return t in h||(h[t]={}),i=h[t],e in i||(i[e]=m.pull_session(t,e,n)),i[e]},_=function(t,e,i,r){var o;return o=window.location.search.substr(1),s(e,i,o).then(function(e){return n.add_document_standalone(e.document,t,r)},function(t){throw v.logger.error(\"Failed to load Bokeh session \"+i+\": \"+t),t})},p=function(t,e,n,r){var o;return o=window.location.search.substr(1),s(e,r,o).then(function(e){var r;if(null==(r=e.document.get_model_by_id(n)))throw new Error(\"Did not find model \"+n+\" in session\");return i(r).renderTo(t,!0)},function(t){throw v.logger.error(\"Failed to load Bokeh session \"+r+\": \"+t),t})},n.inject_css=function(t){var e;return e=y.link({href:t,rel:\"stylesheet\",type:\"text/css\"}),document.body.appendChild(e)},n.inject_raw_css=function(t){var e;return e=y.style({},t),document.body.appendChild(e)},d=function(t,e){var n;return null!=(n=t.dataset).bokehLogLevel&&n.bokehLogLevel.length>0&&v.set_log_level(n.bokehLogLevel),null!=n.bokehDocId&&n.bokehDocId.length>0&&(e.docid=n.bokehDocId),null!=n.bokehModelId&&n.bokehModelId.length>0&&(e.modelid=n.bokehModelId),null!=n.bokehSessionId&&n.bokehSessionId.length>0&&(e.sessionid=n.bokehSessionId),v.logger.info(\"Will inject Bokeh script tag with params \"+JSON.stringify(e))},n.embed_items_notebook=function(t,e){var i,r,s,a,l,h;if(1!==w.size(t))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");for(i=g.Document.from_json(w.values(t)[0]),h=[],s=0,l=e.length;s<l;s++)null!=(a=e[s]).notebook_comms_target&&u(a.notebook_comms_target,i),r=o(a),null!=a.modelid?h.push(n.add_model_standalone(a.modelid,r,i)):h.push(n.add_document_standalone(i,r,!1));return h},a=function(t,e){var n,i;return i=\"ws:\",\"https:\"===window.location.protocol&&(i=\"wss:\"),null!=e?(n=document.createElement(\"a\")).href=e:n=window.location,null!=t?\"/\"===t&&(t=\"\"):t=n.pathname.replace(/\\/+$/,\"\"),i+\"//\"+n.host+t+\"/ws\"},n.embed_items=function(t,e,n,i){return b.defer(function(){return r(t,e,n,i)})},r=function(t,e,i,r){var s,l,u,h,c,d,f,m,y,b;k.isString(t)&&(t=JSON.parse(x.unescape(t))),l={};for(s in t)l[s]=g.Document.from_json(t[s]);for(m=[],h=0,d=e.length;h<d;h++)if(c=e[h],u=o(c),y=null!=c.use_for_title&&c.use_for_title,null!=c.sessionid)b=a(i,r),v.logger.debug(\"embed: computed ws url: \"+b),f=null!=c.modelid?p(u,b,c.modelid,c.sessionid):_(u,b,c.sessionid,y),m.push(f.then(function(t){return console.log(\"Bokeh items were rendered successfully\")},function(t){return console.log(\"Error rendering Bokeh items \",t)}));else{if(null==c.docid)throw new Error(\"Error rendering Bokeh items to element \"+c.elementid+\": no document ID or session ID specified\");null!=c.modelid?m.push(n.add_model_standalone(c.modelid,u,l[c.docid])):m.push(n.add_document_standalone(l[c.docid],u,y))}return m}},function(t,e,n){t(244);var i=t(248);n.version=i.version;var r=t(48);n.embed=r;var o=t(14);n.logger=o.logger,n.set_log_level=o.set_log_level;var s=t(19);n.settings=s.settings;var a=t(0);n.Models=a.Models,n.index=a.index;var l=t(47);n.documents=l.documents;var u=t(247);n.safely=u.safely},function(t,e,n){var i=t(364),r=t(8),o=t(15),s=t(42),a=t(30),l=t(14),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;t.prototype.connect_signals.call(this);for(var n in this.js_property_callbacks)for(var i=this.js_property_callbacks[n],r=n.split(\":\"),o=r[0],s=r[1],a=void 0===s?null:s,l=function(t){var n=null!=a?u.properties[a][o]:u[o];u.connect(n,function(){return t.execute(e,{})})},u=this,h=0,c=i;h<c.length;h++){var _=c[h];l(_)}this.connect(this.properties.js_event_callbacks.change,function(){return e._update_event_callbacks}),this.connect(this.properties.subscribed_events.change,function(){return e._update_event_callbacks})},e.prototype._process_event=function(t){if(t.is_applicable_to(this)){t=t._customize_event(this);for(var e=0,n=this.js_event_callbacks[t.event_name]||[];e<n.length;e++){var i=n[e];i.execute(t,{})}null!=this.document&&this.subscribed_events.some(function(e){return e==t.event_name})&&this.document.event_manager.send_event(t)}},e.prototype.trigger_event=function(t){null!=this.document&&this.document.event_manager.trigger(t.set_model_id(this.id))},e.prototype._update_event_callbacks=function(){null!=this.document?this.document.event_manager.subscribed_models.push(this.id):l.logger.warn(\"WARNING: Document not defined for updating event callbacks\")},e.prototype._doc_attached=function(){a.isEmpty(this.js_event_callbacks)&&a.isEmpty(this.subscribed_events)||this._update_event_callbacks()},e.prototype.select=function(t){if(s.isString(t))return this.references().filter(function(n){return n instanceof e&&n.name===t});if(t.prototype instanceof r.HasProps)return this.references().filter(function(e){return e instanceof t});throw new Error(\"invalid selector\")},e.prototype.select_one=function(t){var e=this.select(t);switch(e.length){case 0:return null;case 1:return e[0];default:throw new Error(\"found more than one object matching given selector\")}},e}(r.HasProps);n.Model=u,u.prototype.type=\"Model\",u.define({tags:[o.Array,[]],name:[o.String],js_property_callbacks:[o.Any,{}],js_event_callbacks:[o.Any,{}],subscribed_events:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(12),o=t(15),s=t(165);n.AnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._get_size=function(){return new Error(\"not implemented\")},e.prototype.get_size=function(){return this.model.visible?Math.round(this._get_size()):0},e}(s.RendererView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.add_panel=function(t){var e;if(null==this.panel||t!==this.panel.side)return(e=new r.SidePanel({side:t})).attach_document(this.document),this.set_panel(e)},e.prototype.set_panel=function(t){return this.panel=t,this.level=\"overlay\"},e}(s.Renderer);n.Annotation=a,a.prototype.type=\"Annotation\",a.prototype.default_view=n.AnnotationView,a.define({plot:[o.Instance]}),a.override({level:\"annotation\"})},function(t,e,n){var i=t(364),r=t(51),o=t(53),s=t(173),a=t(15),l=t(29);n.ArrowView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),null==this.model.source&&(this.model.source=new s.ColumnDataSource),this.set_data(this.model.source)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s;return e=this.plot_view.frame,\"data\"===this.model.start_units?(r=e.xscales[this.model.x_range_name].v_compute(this._x_start),s=e.yscales[this.model.y_range_name].v_compute(this._y_start)):(r=e.xview.v_compute(this._x_start),s=e.yview.v_compute(this._y_start)),\"data\"===this.model.end_units?(i=e.xscales[this.model.x_range_name].v_compute(this._x_end),o=e.yscales[this.model.y_range_name].v_compute(this._y_end)):(i=e.xview.v_compute(this._x_end),o=e.yview.v_compute(this._y_end)),n=[r,s],t=[i,o],[n,t]},e.prototype.render=function(){var t,e,n,i,r;if(this.model.visible){return(t=this.plot_view.canvas_view.ctx).save(),o=this._map_data(),this.start=o[0],this.end=o[1],null!=this.model.end&&this._arrow_head(t,\"render\",this.model.end,this.start,this.end),null!=this.model.start&&this._arrow_head(t,\"render\",this.model.start,this.end,this.start),t.beginPath(),s=this.plot_model.canvas.bbox.rect,i=s.x,r=s.y,n=s.width,e=s.height,t.rect(i,r,n,e),null!=this.model.end&&this._arrow_head(t,\"clip\",this.model.end,this.start,this.end),null!=this.model.start&&this._arrow_head(t,\"clip\",this.model.start,this.end,this.start),t.closePath(),t.clip(),this._arrow_body(t),t.restore();var o,s}},e.prototype._arrow_body=function(t){var e,n,i,r;if(this.visuals.line.doit){for(r=[],e=n=0,i=this._x_start.length;0<=i?n<i:n>i;e=0<=i?++n:--n)this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(this.start[0][e],this.start[1][e]),t.lineTo(this.end[0][e],this.end[1][e]),r.push(t.stroke());return r}},e.prototype._arrow_head=function(t,e,n,i,r){var o,s,a,u,h;for(h=[],s=a=0,u=this._x_start.length;0<=u?a<u:a>u;s=0<=u?++a:--a)o=Math.PI/2+l.atan2([i[0][s],i[1][s]],[r[0][s],r[1][s]]),t.save(),t.translate(r[0][s],r[1][s]),t.rotate(o),\"render\"===e?n.render(t):\"clip\"===e&&n.clip(t),h.push(t.restore());return h},e}(r.AnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Arrow=u,u.prototype.default_view=n.ArrowView,u.prototype.type=\"Arrow\",u.mixins([\"line\"]),u.define({x_start:[a.NumberSpec],y_start:[a.NumberSpec],start_units:[a.String,\"data\"],start:[a.Instance,null],x_end:[a.NumberSpec],y_end:[a.NumberSpec],end_units:[a.String,\"data\"],end:[a.Instance,function(){return new o.OpenHead({})}],source:[a.Instance],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]})},function(t,e,n){var i=t(364),r=t(51),o=t(46),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals=new o.Visuals(this)},e.prototype.render=function(t,e){return null},e.prototype.clip=function(t,e){return null},e}(r.Annotation);n.ArrowHead=a,a.prototype.type=\"ArrowHead\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(0,0),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.stroke()},e}(a);n.OpenHead=l,l.prototype.type=\"OpenHead\",l.mixins([\"line\"]),l.define({size:[s.Number,25]});var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._normal(t,e),t.fill()),this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),this._normal(t,e),t.stroke()},e.prototype._normal=function(t,e){return t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.closePath()},e}(a);n.NormalHead=u,u.prototype.type=\"NormalHead\",u.mixins([\"line\",\"fill\"]),u.define({size:[s.Number,25]}),u.override({fill_color:\"black\"});var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clip=function(t,e){return this.visuals.line.set_vectorize(t,e),t.moveTo(.5*this.size,this.size),t.lineTo(.5*this.size,-2),t.lineTo(-.5*this.size,-2),t.lineTo(-.5*this.size,this.size),t.lineTo(0,.5*this.size),t.lineTo(.5*this.size,this.size)},e.prototype.render=function(t,e){if(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,e),this._vee(t,e),t.fill()),this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),this._vee(t,e),t.stroke()},e.prototype._vee=function(t,e){return t.beginPath(),t.moveTo(.5*this.size,this.size),t.lineTo(0,0),t.lineTo(-.5*this.size,this.size),t.lineTo(0,.5*this.size),t.closePath()},e}(a);n.VeeHead=h,h.prototype.type=\"VeeHead\",h.mixins([\"line\",\"fill\"]),h.define({size:[s.Number,25]}),h.override({fill_color:\"black\"});var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(t,e){if(this.visuals.line.doit)return this.visuals.line.set_vectorize(t,e),t.beginPath(),t.moveTo(.5*this.size,0),t.lineTo(-.5*this.size,0),t.stroke()},e}(a);n.TeeHead=c,c.prototype.type=\"TeeHead\",c.mixins([\"line\"]),c.define({size:[s.Number,25]})},function(t,e,n){var i=t(364),r=t(51),o=t(173),s=t(15);n.BandView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.set_data(this.model.source)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d;return l=this.plot_view.frame,a=this.model.dimension,p=l.xscales[this.model.x_range_name],d=l.yscales[this.model.y_range_name],c=\"height\"===a?d:p,o=\"height\"===a?p:d,_=\"height\"===a?l.yview:l.xview,s=\"height\"===a?l.xview:l.yview,n=\"data\"===this.model.lower.units?c.v_compute(this._lower):_.v_compute(this._lower),r=\"data\"===this.model.upper.units?c.v_compute(this._upper):_.v_compute(this._upper),t=\"data\"===this.model.base.units?o.v_compute(this._base):s.v_compute(this._base),f=\"height\"===a?[1,0]:[0,1],u=f[0],h=f[1],e=[n,t],i=[r,t],this._lower_sx=e[u],this._lower_sy=e[h],this._upper_sx=i[u],this._upper_sy=i[h];var f},e.prototype.render=function(){var t,e,n,i,r,o,s,a,l,u;if(this.model.visible){for(this._map_data(),(t=this.plot_view.canvas_view.ctx).beginPath(),t.moveTo(this._lower_sx[0],this._lower_sy[0]),e=n=0,s=this._lower_sx.length;0<=s?n<s:n>s;e=0<=s?++n:--n)t.lineTo(this._lower_sx[e],this._lower_sy[e]);for(e=i=a=this._upper_sx.length-1;a<=0?i<=0:i>=0;e=a<=0?++i:--i)t.lineTo(this._upper_sx[e],this._upper_sy[e]);for(t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_value(t),t.fill()),t.beginPath(),t.moveTo(this._lower_sx[0],this._lower_sy[0]),e=r=0,l=this._lower_sx.length;0<=l?r<l:r>l;e=0<=l?++r:--r)t.lineTo(this._lower_sx[e],this._lower_sy[e]);for(this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),t.beginPath(),t.moveTo(this._upper_sx[0],this._upper_sy[0]),e=o=0,u=this._upper_sx.length;0<=u?o<u:o>u;e=0<=u?++o:--o)t.lineTo(this._upper_sx[e],this._upper_sy[e]);return this.visuals.line.doit?(this.visuals.line.set_value(t),t.stroke()):void 0}},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Band=a,a.prototype.default_view=n.BandView,a.prototype.type=\"Band\",a.mixins([\"line\",\"fill\"]),a.define({lower:[s.DistanceSpec],upper:[s.DistanceSpec],base:[s.DistanceSpec],dimension:[s.Dimension,\"height\"],source:[s.Instance,function(){return new o.ColumnDataSource}],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(20),s=t(5),a=t(15),l=t(42);n.BoxAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.classList.add(\"bk-shading\"),s.hide(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?(this.connect(this.model.change,function(){return this.render()}),this.connect(this.model.data_update,function(){return this.render()})):(this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.data_update,function(){return e.plot_view.request_render()}))},e.prototype.render=function(){var t,e,n,i,r,o,a,l,u=this;if(this.model.visible||\"css\"!==this.model.render_mode||s.hide(this.el),this.model.visible)return null==this.model.left&&null==this.model.right&&null==this.model.top&&null==this.model.bottom?(s.hide(this.el),null):(e=this.plot_model.frame,a=e.xscales[this.model.x_range_name],l=e.yscales[this.model.y_range_name],t=function(t,e,n,i,r){return null!=t?u.model.screen?t:\"data\"===e?n.compute(t):i.compute(t):r},i=t(this.model.left,this.model.left_units,a,e.xview,e._left.value),r=t(this.model.right,this.model.right_units,a,e.xview,e._right.value),o=t(this.model.top,this.model.top_units,l,e.yview,e._top.value),n=t(this.model.bottom,this.model.bottom_units,l,e.yview,e._bottom.value),(\"css\"===this.model.render_mode?this._css_box.bind(this):this._canvas_box.bind(this))(i,r,n,o))},e.prototype._css_box=function(t,e,n,i){var r,o,a;return a=Math.abs(e-t),o=Math.abs(n-i),this.el.style.left=t+\"px\",this.el.style.width=a+\"px\",this.el.style.top=i+\"px\",this.el.style.height=o+\"px\",this.el.style.borderWidth=this.model.line_width.value+\"px\",this.el.style.borderColor=this.model.line_color.value,this.el.style.backgroundColor=this.model.fill_color.value,this.el.style.opacity=this.model.fill_alpha.value,r=this.model.line_dash,l.isArray(r)&&(r=r.length<2?\"solid\":\"dashed\"),l.isString(r)&&(this.el.style.borderStyle=r),s.show(this.el)},e.prototype._canvas_box=function(t,e,n,i){var r;return(r=this.plot_view.canvas_view.ctx).save(),r.beginPath(),r.rect(t,i,e-t,n-i),this.visuals.fill.set_value(r),r.fill(),this.visuals.line.set_value(r),r.stroke(),r.restore()},e}(r.AnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.data_update=new o.Signal(this,\"data_update\")},e.prototype.update=function(t){var e=t.left,n=t.right,i=t.top,r=t.bottom;return this.setv({left:e,right:n,top:i,bottom:r,screen:!0},{silent:!0}),this.data_update.emit()},e}(r.Annotation);n.BoxAnnotation=u,u.prototype.default_view=n.BoxAnnotationView,u.prototype.type=\"BoxAnnotation\",u.mixins([\"line\",\"fill\"]),u.define({render_mode:[a.RenderMode,\"canvas\"],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"],top:[a.Number,null],top_units:[a.SpatialUnits,\"data\"],bottom:[a.Number,null],bottom_units:[a.SpatialUnits,\"data\"],left:[a.Number,null],left_units:[a.SpatialUnits,\"data\"],right:[a.Number,null],right_units:[a.SpatialUnits,\"data\"]}),u.internal({screen:[a.Boolean,!1]}),u.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(180),s=t(91),a=t(146),l=t(168),u=t(169),h=t(160),c=t(15),_=t(40),p=t(22),d=t(30),f=t(42);n.ColorBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._set_canvas_image()},e.prototype.connect_signals=function(){var e=this;if(t.prototype.connect_signals.call(this),this.connect(this.model.properties.visible.change,function(){return e.plot_view.request_render()}),this.connect(this.model.ticker.change,function(){return e.plot_view.request_render()}),this.connect(this.model.formatter.change,function(){return e.plot_view.request_render()}),null!=this.model.color_mapper)return this.connect(this.model.color_mapper.change,function(){return this._set_canvas_image(),this.plot_view.request_render()})},e.prototype._get_size=function(){var t,e;return null==this.model.color_mapper?0:(t=this.compute_legend_dimensions(),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.height:\"left\"===e||\"right\"===e?t.width:void 0)},e.prototype._set_canvas_image=function(){var t,e,n,i,r,o,s,l,u,h;if(null!=this.model.color_mapper){switch(l=this.model.color_mapper.palette,\"vertical\"===this.model.orientation&&(l=l.slice(0).reverse()),this.model.orientation){case\"vertical\":c=[1,l.length],h=c[0],r=c[1];break;case\"horizontal\":_=[l.length,1],h=_[0],r=_[1]}return n=document.createElement(\"canvas\"),p=[h,r],n.width=p[0],n.height=p[1],o=n.getContext(\"2d\"),s=o.getImageData(0,0,h,r),i=new a.LinearColorMapper({palette:l}),t=i.v_map_screen(function(){u=[];for(var t=0,e=l.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this)),e=new Uint8Array(t),s.data.set(e),o.putImageData(s,0,0),this.image=n;var c,_,p}},e.prototype.compute_legend_dimensions=function(){var t,e,n,i,r,o,s,a,l;switch(t=this.model._computed_image_dimensions(),u=[t.height,t.width],e=u[0],n=u[1],i=this._get_label_extent(),l=this.model._title_extent(),a=this.model._tick_extent(),s=this.model.padding,this.model.orientation){case\"vertical\":r=e+l+2*s,o=n+a+i+2*s;break;case\"horizontal\":r=e+l+a+i+2*s,o=n+2*s}return{height:r,width:o};var u},e.prototype.compute_legend_location=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_;if(e=this.compute_legend_dimensions(),p=[e.height,e.width],n=p[0],r=p[1],i=this.model.margin,s=null!=(a=this.model.panel)?a:this.plot_view.frame,d=s.bbox.ranges,t=d[0],h=d[1],o=this.model.location,f.isString(o))switch(o){case\"top_left\":l=t.start+i,u=h.start+i;break;case\"top_center\":l=(t.end+t.start)/2-r/2,u=h.start+i;break;case\"top_right\":l=t.end-i-r,u=h.start+i;break;case\"bottom_right\":l=t.end-i-r,u=h.end-i-n;break;case\"bottom_center\":l=(t.end+t.start)/2-r/2,u=h.end-i-n;break;case\"bottom_left\":l=t.start+i,u=h.end-i-n;break;case\"center_left\":l=t.start+i,u=(h.end+h.start)/2-n/2;break;case\"center\":l=(t.end+t.start)/2-r/2,u=(h.end+h.start)/2-n/2;break;case\"center_right\":l=t.end-i-r,u=(h.end+h.start)/2-n/2}else f.isArray(o)&&2===o.length&&(c=o[0],_=o[1],l=s.xview.compute(c),u=s.yview.compute(_)-n);return{sx:l,sy:u};var p,d},e.prototype.render=function(){var t,e,n,i,r;if(this.model.visible&&null!=this.model.color_mapper){return(t=this.plot_view.canvas_view.ctx).save(),o=this.compute_legend_location(),n=o.sx,i=o.sy,t.translate(n,i),this._draw_bbox(t),e=this._get_image_offset(),t.translate(e.x,e.y),this._draw_image(t),null!=this.model.color_mapper.low&&null!=this.model.color_mapper.high&&(r=this.model.tick_info(),this._draw_major_ticks(t,r),this._draw_minor_ticks(t,r),this._draw_major_labels(t,r)),this.model.title&&this._draw_title(t),t.restore();var o}},e.prototype._draw_bbox=function(t){var e;return e=this.compute_legend_dimensions(),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(0,0,e.width,e.height)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_image=function(t){var e;return e=this.model._computed_image_dimensions(),t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this.image,0,0,e.width,e.height),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(0,0,e.width,e.height)),t.restore()},e.prototype._draw_major_ticks=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.major_tick_line.doit){for(d=this.model._normals(),o=d[0],s=d[1],i=this.model._computed_image_dimensions(),f=[i.width*o,i.height*s],_=f[0],p=f[1],m=e.coords.major,l=m[0],u=m[1],h=this.model.major_tick_in,c=this.model.major_tick_out,t.save(),t.translate(_,p),this.visuals.major_tick_line.set_value(t),n=r=0,a=l.length;0<=a?r<a:r>a;n=0<=a?++r:--r)t.beginPath(),t.moveTo(Math.round(l[n]+o*c),Math.round(u[n]+s*c)),t.lineTo(Math.round(l[n]-o*h),Math.round(u[n]-s*h)),t.stroke();return t.restore();var d,f,m}},e.prototype._draw_minor_ticks=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.minor_tick_line.doit){for(d=this.model._normals(),o=d[0],s=d[1],i=this.model._computed_image_dimensions(),f=[i.width*o,i.height*s],_=f[0],p=f[1],m=e.coords.minor,l=m[0],u=m[1],h=this.model.minor_tick_in,c=this.model.minor_tick_out,t.save(),t.translate(_,p),this.visuals.minor_tick_line.set_value(t),n=r=0,a=l.length;0<=a?r<a:r>a;n=0<=a?++r:--r)t.beginPath(),t.moveTo(Math.round(l[n]+o*c),Math.round(u[n]+s*c)),t.lineTo(Math.round(l[n]-o*h),Math.round(u[n]-s*h)),t.stroke();return t.restore();var d,f,m}},e.prototype._draw_major_labels=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p,d,f;if(this.visuals.major_label_text.doit){for(m=this.model._normals(),s=m[0],a=m[1],r=this.model._computed_image_dimensions(),v=[r.width*s,r.height*a],_=v[0],d=v[1],u=this.model.label_standoff+this.model._tick_extent(),p=(g=[u*s,u*a])[0],f=g[1],y=e.coords.major,h=y[0],c=y[1],n=e.labels.major,this.visuals.major_label_text.set_value(t),t.save(),t.translate(_+p,d+f),i=o=0,l=h.length;0<=l?o<l:o>l;i=0<=l?++o:--o)t.fillText(n[i],Math.round(h[i]+s*this.model.label_standoff),Math.round(c[i]+a*this.model.label_standoff));return t.restore();var m,v,g,y}},e.prototype._draw_title=function(t){if(this.visuals.title_text.doit)return t.save(),this.visuals.title_text.set_value(t),t.fillText(this.model.title,0,-this.model.title_standoff),t.restore()},e.prototype._get_label_extent=function(){var t,e,n,i;if(i=this.model.tick_info().labels.major,null==this.model.color_mapper.low||null==this.model.color_mapper.high||d.isEmpty(i))n=0;else{switch((t=this.plot_view.canvas_view.ctx).save(),this.visuals.major_label_text.set_value(t),this.model.orientation){case\"vertical\":n=p.max(function(){var n,r,o;for(o=[],n=0,r=i.length;n<r;n++)e=i[n],o.push(t.measureText(e.toString()).width);return o}());break;case\"horizontal\":n=_.get_text_height(this.visuals.major_label_text.font_value()).height}n+=this.model.label_standoff,t.restore()}return n},e.prototype._get_image_offset=function(){var t,e;return t=this.model.padding,e=this.model.padding+this.model._title_extent(),{x:t,y:e}},e}(r.AnnotationView);var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n)},e.prototype._normals=function(){var t,e;return\"vertical\"===this.orientation?(t=(n=[1,0])[0],e=n[1]):(t=(i=[0,1])[0],e=i[1]),[t,e];var n,i},e.prototype._title_extent=function(){var t;return t=this.title_text_font+\" \"+this.title_text_font_size+\" \"+this.title_text_font_style,this.title?_.get_text_height(t).height+this.title_standoff:0},e.prototype._tick_extent=function(){return null!=this.color_mapper.low&&null!=this.color_mapper.high?p.max([this.major_tick_out,this.minor_tick_out]):0},e.prototype._computed_image_dimensions=function(){var t,e,n,i,r;switch(t=this.plot.plot_canvas.frame._height.value,e=this.plot.plot_canvas.frame._width.value,i=this._title_extent(),this.orientation){case\"vertical\":\"auto\"===this.height?null!=this.panel?n=t-2*this.padding-i:(n=p.max([25*this.color_mapper.palette.length,.3*t]),n=p.min([n,.8*t-2*this.padding-i])):n=this.height,r=\"auto\"===this.width?25:this.width;break;case\"horizontal\":n=\"auto\"===this.height?25:this.height,\"auto\"===this.width?null!=this.panel?r=e-2*this.padding:(r=p.max([25*this.color_mapper.palette.length,.3*e]),r=p.min([r,.8*e-2*this.padding])):r=this.width}return{height:n,width:r}},e.prototype._tick_coordinate_scale=function(t){var e,n;switch(e={source_range:new h.Range1d({start:this.color_mapper.low,end:this.color_mapper.high}),target_range:new h.Range1d({start:0,end:t})},this.color_mapper.type){case\"LinearColorMapper\":n=new l.LinearScale(e);break;case\"LogColorMapper\":n=new u.LogScale(e)}return n},e.prototype._format_major_labels=function(t,e){var n,i,r,o,s;for(o=t,n=this.formatter.doFormat(o,null),i=r=0,s=e.length;0<=s?r<s:r>s;i=0<=s?++r:--r)e[i]in this.major_label_overrides&&(n[i]=this.major_label_overrides[e[i]]);return n},e.prototype.tick_info=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y;switch(o=this._computed_image_dimensions(),this.orientation){case\"vertical\":v=o.height;break;case\"horizontal\":v=o.width}for(m=this._tick_coordinate_scale(v),b=this._normals(),i=b[0],s=b[1],x=[this.color_mapper.low,this.color_mapper.high],g=x[0],n=x[1],y=this.ticker.get_ticks(g,n,null,null,this.ticker.desired_num_ticks),e={major:[[],[]],minor:[[],[]]},c=y.major,p=y.minor,h=e.major,_=e.minor,r=a=0,d=c.length;0<=d?a<d:a>d;r=0<=d?++a:--a)c[r]<g||c[r]>n||(h[i].push(c[r]),h[s].push(0));for(r=l=0,f=p.length;0<=f?l<f:l>f;r=0<=f?++l:--l)p[r]<g||p[r]>n||(_[i].push(p[r]),_[s].push(0));return u={major:this._format_major_labels(h[i].slice(0),c)},h[i]=m.v_compute(h[i]),_[i]=m.v_compute(_[i]),\"vertical\"===this.orientation&&(h[i]=new Float64Array(function(){var e,n,r,o;for(r=h[i],o=[],n=0,e=r.length;n<e;n++)t=r[n],o.push(v-t);return o}()),_[i]=new Float64Array(function(){var e,n,r,o;for(r=_[i],o=[],n=0,e=r.length;n<e;n++)t=r[n],o.push(v-t);return o}())),{ticks:y,coords:e,labels:u};var b,x},e}(r.Annotation);n.ColorBar=m,m.prototype.default_view=n.ColorBarView,m.prototype.type=\"ColorBar\",m.mixins([\"text:major_label_\",\"text:title_\",\"line:major_tick_\",\"line:minor_tick_\",\"line:border_\",\"line:bar_\",\"fill:background_\"]),m.define({location:[c.Any,\"top_right\"],orientation:[c.Orientation,\"vertical\"],title:[c.String],title_standoff:[c.Number,2],height:[c.Any,\"auto\"],width:[c.Any,\"auto\"],scale_alpha:[c.Number,1],ticker:[c.Instance,function(){return new o.BasicTicker}],formatter:[c.Instance,function(){return new s.BasicTickFormatter}],major_label_overrides:[c.Any,{}],color_mapper:[c.Instance],label_standoff:[c.Number,5],margin:[c.Number,30],padding:[c.Number,10],major_tick_in:[c.Number,5],major_tick_out:[c.Number,0],minor_tick_in:[c.Number,0],minor_tick_out:[c.Number,0]}),m.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_align:\"center\",major_label_text_baseline:\"middle\",major_label_text_font_size:\"8pt\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"10pt\",title_text_font_style:\"italic\"})},function(t,e,n){var i=t(51);n.Annotation=i.Annotation;var r=t(52);n.Arrow=r.Arrow;var o=t(53);n.ArrowHead=o.ArrowHead;var s=t(53);n.OpenHead=s.OpenHead;var a=t(53);n.NormalHead=a.NormalHead;var l=t(53);n.TeeHead=l.TeeHead;var u=t(53);n.VeeHead=u.VeeHead;var h=t(54);n.Band=h.Band;var c=t(55);n.BoxAnnotation=c.BoxAnnotation;var _=t(56);n.ColorBar=_.ColorBar;var p=t(58);n.Label=p.Label;var d=t(59);n.LabelSet=d.LabelSet;var f=t(60);n.Legend=f.Legend;var m=t(61);n.LegendItem=m.LegendItem;var v=t(62);n.PolyAnnotation=v.PolyAnnotation;var g=t(63);n.Span=g.Span;var y=t(64);n.TextAnnotation=y.TextAnnotation;var b=t(65);n.Title=b.Title;var x=t(66);n.ToolbarPanel=x.ToolbarPanel;var w=t(67);n.Tooltip=w.Tooltip;var k=t(68);n.Whisker=k.Whisker},function(t,e,n){var i=t(364),r=t(64),o=t(5),s=t(15);n.LabelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals.warm_cache(null)},e.prototype._get_size=function(){var t;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),this.model.panel.is_horizontal?t.measureText(this.model.text).ascent:t.measureText(this.model.text).width},e.prototype.render=function(){var t,e,n,i,r,s,a;if(this.model.visible||\"css\"!==this.model.render_mode||o.hide(this.el),this.model.visible){switch(this.model.angle_units){case\"rad\":t=-1*this.model.angle;break;case\"deg\":t=-1*this.model.angle*Math.PI/180}return e=null!=(n=this.model.panel)?n:this.plot_view.frame,s=this.plot_view.frame.xscales[this.model.x_range_name],a=this.plot_view.frame.yscales[this.model.y_range_name],i=\"data\"===this.model.x_units?s.compute(this.model.x):e.xview.compute(this.model.x),r=\"data\"===this.model.y_units?a.compute(this.model.y):e.yview.compute(this.model.y),i+=this.model.x_offset,r-=this.model.y_offset,(\"canvas\"===this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,this.model.text,i,r,t)}},e}(r.TextAnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.Label=a,a.prototype.default_view=n.LabelView,a.prototype.type=\"Label\",a.mixins([\"text\",\"line:border_\",\"fill:background_\"]),a.define({x:[s.Number],x_units:[s.SpatialUnits,\"data\"],y:[s.Number],y_units:[s.SpatialUnits,\"data\"],text:[s.String],angle:[s.Angle,0],angle_units:[s.AngleUnits,\"rad\"],x_offset:[s.Number,0],y_offset:[s.Number,0],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],render_mode:[s.RenderMode,\"canvas\"]}),a.override({background_fill_color:null,border_line_color:null})},function(t,e,n){var i=t(364),r=t(64),o=t(173),s=t(5),a=t(15),l=t(42);n.LabelSetView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,r;if(t.prototype.initialize.call(this,e),this.set_data(this.model.source),\"css\"===this.model.render_mode){for(r=[],n=0,i=this._text.length;0<=i?n<i:n>i;0<=i?++n:--n)this.title_div=s.div({class:\"bk-annotation-child\",style:{display:\"none\"}}),r.push(this.el.appendChild(this.title_div));return r}},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?(this.connect(this.model.change,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source),this.render()}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source),this.render()})):(this.connect(this.model.change,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source),this.plot_view.request_render()}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source),this.plot_view.request_render()}))},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e)},e.prototype._map_data=function(){var t,e,n,i,r,o;return r=this.plot_view.frame.xscales[this.model.x_range_name],o=this.plot_view.frame.yscales[this.model.y_range_name],t=null!=(e=this.model.panel)?e:this.plot_view.frame,n=\"data\"===this.model.x_units?r.v_compute(this._x):t.xview.v_compute(this._x),i=\"data\"===this.model.y_units?o.v_compute(this._y):t.yview.v_compute(this._y),[n,i]},e.prototype.render=function(){var t,e,n,i,r,o,a,l;if(this.model.visible||\"css\"!==this.model.render_mode||s.hide(this.el),this.model.visible){for(e=\"canvas\"===this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),t=this.plot_view.canvas_view.ctx,u=this._map_data(),a=u[0],l=u[1],o=[],n=i=0,r=this._text.length;0<=r?i<r:i>r;n=0<=r?++i:--i)o.push(e(t,n,this._text[n],a[n]+this._x_offset[n],l[n]-this._y_offset[n],this._angle[n]));return o;var u}},e.prototype._get_size=function(){var t,e;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.measureText(this._text[0]).ascent:\"left\"===e||\"right\"===e?t.measureText(this._text[0]).width:void 0},e.prototype._v_canvas_text=function(t,e,n,i,r,o){var s;return this.visuals.text.set_vectorize(t,e),s=this._calculate_bounding_box_dimensions(t,n),t.save(),t.beginPath(),t.translate(i,r),t.rotate(o),t.rect(s[0],s[1],s[2],s[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_vectorize(t,e),t.fillText(n,0,0)),t.restore()},e.prototype._v_css_text=function(t,e,n,i,r,o){var a,u,h,c;return u=this.el.childNodes[e],u.textContent=n,this.visuals.text.set_vectorize(t,e),a=this._calculate_bounding_box_dimensions(t,n),h=this.visuals.border_line.line_dash.value(),l.isArray(h)&&(c=h.length<2?\"solid\":\"dashed\"),l.isString(h)&&(c=h),this.visuals.border_line.set_vectorize(t,e),this.visuals.background_fill.set_vectorize(t,e),u.style.position=\"absolute\",u.style.left=i+a[0]+\"px\",u.style.top=r+a[1]+\"px\",u.style.color=\"\"+this.visuals.text.text_color.value(),u.style.opacity=\"\"+this.visuals.text.text_alpha.value(),u.style.font=\"\"+this.visuals.text.font_value(),u.style.lineHeight=\"normal\",o&&(u.style.transform=\"rotate(\"+o+\"rad)\"),this.visuals.background_fill.doit&&(u.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(u.style.borderStyle=\"\"+c,u.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",u.style.borderColor=\"\"+this.visuals.border_line.color_value()),s.show(u)},e}(r.TextAnnotationView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.LabelSet=u,u.prototype.default_view=n.LabelSetView,u.prototype.type=\"Label\",u.mixins([\"text\",\"line:border_\",\"fill:background_\"]),u.define({x:[a.NumberSpec],y:[a.NumberSpec],x_units:[a.SpatialUnits,\"data\"],y_units:[a.SpatialUnits,\"data\"],text:[a.StringSpec,{field:\"text\"}],angle:[a.AngleSpec,0],x_offset:[a.NumberSpec,{value:0}],y_offset:[a.NumberSpec,{value:0}],source:[a.Instance,function(){return new o.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"],render_mode:[a.RenderMode,\"canvas\"]}),u.override({background_fill_color:null,border_line_color:null})},function(t,e,n){var i=t(364),r=t(51),o=t(15),s=t(40),a=t(23),l=t(22),u=t(30),h=t(42),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.visible.change,function(){return e.plot_view.request_render()})},e.prototype.compute_legend_bbox=function(){var t,e,n,i,r,o,a,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(d=this.model.get_legend_names(),e=this.model.glyph_height,n=this.model.glyph_width,o=this.model.label_height,c=this.model.label_width,this.max_label_height=l.max([s.get_text_height(this.visuals.label_text.font_value()).height,o,e]),(t=this.plot_view.canvas_view.ctx).save(),this.visuals.label_text.set_value(t),this.text_widths={},r=0,g=d.length;r<g;r++)x=d[r],this.text_widths[x]=l.max([t.measureText(x).width,c]);if(t.restore(),b=Math.max(l.max(u.values(this.text_widths)),0),p=this.model.margin,f=this.legend_padding,m=this.model.spacing,a=this.model.label_standoff,\"vertical\"===this.model.orientation)_=d.length*this.max_label_height+Math.max(d.length-1,0)*m+2*f,v=b+n+a+2*f;else{v=2*f+Math.max(d.length-1,0)*m,k=this.text_widths;for(x in k)C=k[x],v+=l.max([C,c])+n+a;_=this.max_label_height+2*f}if(w=null!=(S=this.model.panel)?S:this.plot_view.frame,O=w.bbox.ranges,i=O[0],A=O[1],y=this.model.location,h.isString(y))switch(y){case\"top_left\":T=i.start+p,M=A.start+p;break;case\"top_center\":T=(i.end+i.start)/2-v/2,M=A.start+p;break;case\"top_right\":T=i.end-p-v,M=A.start+p;break;case\"bottom_right\":T=i.end-p-v,M=A.end-p-_;break;case\"bottom_center\":T=(i.end+i.start)/2-v/2,M=A.end-p-_;break;case\"bottom_left\":T=i.start+p,M=A.end-p-_;break;case\"center_left\":T=i.start+p,M=(A.end+A.start)/2-_/2;break;case\"center\":T=(i.end+i.start)/2-v/2,M=(A.end+A.start)/2-_/2;break;case\"center_right\":T=i.end-p-v,M=(A.end+A.start)/2-_/2}else h.isArray(y)&&2===y.length&&(E=y[0],z=y[1],T=w.xview.compute(E),M=w.yview.compute(z)-_);return{x:T,y:M,width:v,height:_};var O},e.prototype.bbox=function(){var t,e,n,i;return r=this.compute_legend_bbox(),n=r.x,i=r.y,e=r.width,t=r.height,new a.BBox({x:n,y:i,width:e,height:t});var r},e.prototype.on_hit=function(t,e){var n,i,r,o,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(n=this.model.glyph_height,i=this.model.glyph_width,f=this.legend_padding,m=this.model.spacing,_=this.model.label_standoff,E=C=f,d=this.compute_legend_bbox(),T=\"vertical\"===this.model.orientation,w=this.model.items,o=0,v=w.length;o<v;o++)for(s=w[o],p=s.get_labels_list_from_label_prop(),s.get_field_from_label_prop(),l=0,g=p.length;l<g;l++){if(c=p[l],A=d.x+E,z=d.y+C,A+i,z+n,T?(O=[d.width-2*f,this.max_label_height],M=O[0],r=O[1]):(N=[this.text_widths[c]+i+_,this.max_label_height],M=N[0],r=N[1]),new a.BBox({x:A,y:z,width:M,height:r}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(k=s.renderers,u=0,y=k.length;u<y;u++)(x=k[u]).visible=!x.visible;break;case\"mute\":for(S=s.renderers,h=0,b=S.length;h<b;h++)(x=S[h]).muted=!x.muted}return!0}T?C+=this.max_label_height+m:E+=this.text_widths[c]+i+_+m}return!1;var O,N},e.prototype.render=function(){var t,e;if(this.model.visible&&0!==this.model.items.length)return e=this.plot_view.canvas_view.ctx,t=this.compute_legend_bbox(),e.save(),this._draw_legend_box(e,t),this._draw_legend_items(e,t),e.restore()},e.prototype._draw_legend_box=function(t,e){if(t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.set_value(t),t.fill(),this.visuals.border_line.doit)return this.visuals.border_line.set_value(t),t.stroke()},e.prototype._draw_legend_items=function(t,e){var n,i,r,o,s,a,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;for(r=this.model.glyph_height,o=this.model.glyph_width,f=this.legend_padding,m=this.model.spacing,p=this.model.label_standoff,A=C=f,k=\"vertical\"===this.model.orientation,x=this.model.items,a=0,v=x.length;a<v;a++)if(u=x[a],d=u.get_labels_list_from_label_prop(),i=u.get_field_from_label_prop(),0!==d.length)for(n=function(){switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return l.all(u.renderers,function(t){return t.visible});case\"mute\":return l.all(u.renderers,function(t){return!t.muted})}}.call(this),h=0,g=d.length;h<g;h++){for(_=d[h],T=e.x+A,E=e.y+C,M=T+o,z=E+r,k?C+=this.max_label_height+m:A+=this.text_widths[_]+o+p+m,this.visuals.label_text.set_value(t),t.fillText(_,M+p,E+this.max_label_height/2),w=u.renderers,c=0,y=w.length;c<y;c++)b=w[c],this.plot_view.renderer_views[b.id].draw_legend(t,T,M,E,z,i,_);n||(k?(O=[e.width-2*f,this.max_label_height],S=O[0],s=O[1]):(N=[this.text_widths[_]+o+p,this.max_label_height],S=N[0],s=N[1]),t.beginPath(),t.rect(T,E,S,s),this.visuals.inactive_fill.set_value(t),t.fill())}return null;var O,N},e.prototype._get_size=function(){var t,e;return t=this.compute_legend_bbox(),\"above\"===(e=this.model.panel.side)||\"below\"===e?t.height+2*this.model.margin:\"left\"===e||\"right\"===e?t.width+2*this.model.margin:void 0},e}(r.AnnotationView);n.LegendView=c,c.getters({legend_padding:function(){return null!=this.visuals.border_line.line_color.value()?this.model.padding:0}});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.cursor=function(){return\"none\"===this.click_policy?null:\"pointer\"},e.prototype.get_legend_names=function(){var t,e,n,i,r,o;for(i=[],o=this.items,t=0,r=o.length;t<r;t++)e=o[t],n=e.get_labels_list_from_label_prop(),i=i.concat(n);return i},e}(r.Annotation);n.Legend=_,_.prototype.default_view=c,_.prototype.type=\"Legend\",_.mixins([\"text:label_\",\"fill:inactive_\",\"line:border_\",\"fill:background_\"]),_.define({orientation:[o.Orientation,\"vertical\"],location:[o.Any,\"top_right\"],label_standoff:[o.Number,5],glyph_height:[o.Number,20],glyph_width:[o.Number,20],label_height:[o.Number,20],label_width:[o.Number,20],margin:[o.Number,10],padding:[o.Number,10],spacing:[o.Number,3],items:[o.Array,[]],click_policy:[o.Any,\"none\"]}),_.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"10pt\",label_text_baseline:\"middle\"})},function(t,e,n){var i=t(364),r=[].indexOf,o=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},s=t(50),a=t(15),l=t(14),u=t(22),h=t(173),c=function(t){function e(){var e=t.apply(this,arguments)||this;return e.get_field_from_label_prop=e.get_field_from_label_prop.bind(e),e.get_labels_list_from_label_prop=e.get_labels_list_from_label_prop.bind(e),e}return i.__extends(e,t),e.prototype._check_data_sources_on_renderers=function(){var t,e,n,i;if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;if(null!=(i=this.renderers[0].data_source))for(n=this.renderers,t=0,e=n.length;t<e;t++)if(n[t].data_source!==i)return!1}return!0},e.prototype._check_field_label_on_data_source=function(){var t,e;if(null!=(t=this.get_field_from_label_prop())){if(this.renderers.length<1)return!1;if(null!=(e=this.renderers[0].data_source)&&r.call(e.columns(),t)<0)return!1}return!0},e.prototype.initialize=function(e,n){if(t.prototype.initialize.call(this,e,n),this._check_data_sources_on_renderers()||l.logger.error(\"Non matching data sources on legend item renderers\"),!this._check_field_label_on_data_source())return l.logger.error(\"Bad column name on label: \"+this.label)},e.prototype.get_field_from_label_prop=function(){if(o(this,e),null!=this.label&&null!=this.label.field)return this.label.field},e.prototype.get_labels_list_from_label_prop=function(){var t,n,i;if(o(this,e),null!=this.label&&null!=this.label.value)return[this.label.value];if(null!=(n=this.get_field_from_label_prop())){if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if((i=this.renderers[0].data_source)instanceof h.ColumnDataSource)return null!=(t=i.get_column(n))?u.uniq(t):[\"Invalid field\"]}return[]},e}(s.Model);n.LegendItem=c,c.prototype.type=\"LegendItem\",c.define({label:[a.StringSpec,null],renderers:[a.Array,[]]})},function(t,e,n){var i=t(364),r=t(51),o=t(20),s=t(15);n.PolyAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.data_update,function(){return e.plot_view.request_render()})},e.prototype.render=function(t){var e,n,i,r,o,s,a,l;if(this.model.visible){if(a=this.model.xs,l=this.model.ys,a.length!==l.length)return null;if(a.length<3||l.length<3)return null;for(e=this.plot_view.frame,t=this.plot_view.canvas_view.ctx,n=i=0,r=a.length;0<=r?i<r:i>r;n=0<=r?++i:--i)\"screen\"===this.model.xs_units&&(o=this.model.screen?a[n]:e.xview.compute(a[n])),\"screen\"===this.model.ys_units&&(s=this.model.screen?l[n]:e.yview.compute(l[n])),0===n?(t.beginPath(),t.moveTo(o,s)):t.lineTo(o,s);return t.closePath(),this.visuals.line.doit&&(this.visuals.line.set_value(t),t.stroke()),this.visuals.fill.doit?(this.visuals.fill.set_value(t),t.fill()):void 0}},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.data_update=new o.Signal(this,\"data_update\")},e.prototype.update=function(t){var e=t.xs,n=t.ys;return this.setv({xs:e,ys:n,screen:!0},{silent:!0}),this.data_update.emit()},e}(r.Annotation);n.PolyAnnotation=a,a.prototype.default_view=n.PolyAnnotationView,a.prototype.type=\"PolyAnnotation\",a.mixins([\"line\",\"fill\"]),a.define({xs:[s.Array,[]],xs_units:[s.SpatialUnits,\"data\"],ys:[s.Array,[]],ys_units:[s.SpatialUnits,\"data\"],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),a.internal({screen:[s.Boolean,!1]}),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(15);n.SpanView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.style.position=\"absolute\",o.hide(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.model.for_hover?this.connect(this.model.properties.computed_location.change,function(){return this._draw_span()}):\"canvas\"===this.model.render_mode?(this.connect(this.model.change,function(){return e.plot_view.request_render()}),this.connect(this.model.properties.location.change,function(){return e.plot_view.request_render()})):(this.connect(this.model.change,function(){return this.render()}),this.connect(this.model.properties.location.change,function(){return this._draw_span()}))},e.prototype.render=function(){if(this.model.visible||\"css\"!==this.model.render_mode||o.hide(this.el),this.model.visible)return this._draw_span()},e.prototype._draw_span=function(){var t,e,n,i,r,s,a,l,u,h,c=this;if(null!=(r=this.model.for_hover?this.model.computed_location:this.model.location))return n=this.plot_view.frame,u=n.xscales[this.model.x_range_name],h=n.yscales[this.model.y_range_name],t=function(t,e){return c.model.for_hover?c.model.computed_location:\"data\"===c.model.location_units?t.compute(r):e.compute(r)},\"width\"===this.model.dimension?(a=t(h,n.yview),s=n._left.value,l=n._width.value,i=this.model.properties.line_width.value()):(a=n._top.value,s=t(u,n.xview),l=this.model.properties.line_width.value(),i=n._height.value),\"css\"===this.model.render_mode?(this.el.style.top=a+\"px\",this.el.style.left=s+\"px\",this.el.style.width=l+\"px\",this.el.style.height=i+\"px\",this.el.style.zIndex=1e3,this.el.style.backgroundColor=this.model.properties.line_color.value(),this.el.style.opacity=this.model.properties.line_alpha.value(),o.show(this.el)):\"canvas\"===this.model.render_mode?((e=this.plot_view.canvas_view.ctx).save(),e.beginPath(),this.visuals.line.set_value(e),e.moveTo(s,a),\"width\"===this.model.dimension?e.lineTo(s+l,a):e.lineTo(s,a+i),e.stroke(),e.restore()):void 0;o.hide(this.el)},e}(r.AnnotationView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Span=a,a.prototype.default_view=n.SpanView,a.prototype.type=\"Span\",a.mixins([\"line\"]),a.define({render_mode:[s.RenderMode,\"canvas\"],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],location:[s.Number,null],location_units:[s.SpatialUnits,\"data\"],dimension:[s.Dimension,\"width\"]}),a.override({line_color:\"black\"}),a.internal({for_hover:[s.Boolean,!1],computed_location:[s.Number,null]})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(42),a=t(40);n.TextAnnotationView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),\"css\"===this.model.render_mode)return this.el.classList.add(\"bk-annotation\"),this.plot_view.canvas_overlays.appendChild(this.el)},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),\"css\"===this.model.render_mode?this.connect(this.model.change,function(){return this.render()}):this.connect(this.model.change,function(){return e.plot_view.request_render()})},e.prototype._calculate_text_dimensions=function(t,e){var n,i;return i=t.measureText(e).width,n=a.get_text_height(this.visuals.text.font_value()).height,[i,n]},e.prototype._calculate_bounding_box_dimensions=function(t,e){var n,i,r,o;switch(s=this._calculate_text_dimensions(t,e),i=s[0],n=s[1],t.textAlign){case\"left\":r=0;break;case\"center\":r=-i/2;break;case\"right\":r=-i}switch(t.textBaseline){case\"top\":o=0;break;case\"middle\":o=-.5*n;break;case\"bottom\":o=-1*n;break;case\"alphabetic\":o=-.8*n;break;case\"hanging\":o=-.17*n;break;case\"ideographic\":o=-.83*n}return[r,o,i,n];var s},e.prototype._get_size=function(){var t;return t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),t.measureText(this.model.text).ascent},e.prototype.render=function(){return null},e.prototype._canvas_text=function(t,e,n,i,r){var o;return this.visuals.text.set_value(t),o=this._calculate_bounding_box_dimensions(t,e),t.save(),t.beginPath(),t.translate(n,i),r&&t.rotate(r),t.rect(o[0],o[1],o[2],o[3]),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fill()),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.stroke()),this.visuals.text.doit&&(this.visuals.text.set_value(t),t.fillText(e,0,0)),t.restore()},e.prototype._css_text=function(t,e,n,i,r){var a,l,u;return o.hide(this.el),this.visuals.text.set_value(t),a=this._calculate_bounding_box_dimensions(t,e),l=this.visuals.border_line.line_dash.value(),s.isArray(l)&&(u=l.length<2?\"solid\":\"dashed\"),s.isString(l)&&(u=l),this.visuals.border_line.set_value(t),this.visuals.background_fill.set_value(t),this.el.style.position=\"absolute\",this.el.style.left=n+a[0]+\"px\",this.el.style.top=i+a[1]+\"px\",this.el.style.color=\"\"+this.visuals.text.text_color.value(),this.el.style.opacity=\"\"+this.visuals.text.text_alpha.value(),this.el.style.font=\"\"+this.visuals.text.font_value(),this.el.style.lineHeight=\"normal\",r&&(this.el.style.transform=\"rotate(\"+r+\"rad)\"),this.visuals.background_fill.doit&&(this.el.style.backgroundColor=\"\"+this.visuals.background_fill.color_value()),this.visuals.border_line.doit&&(this.el.style.borderStyle=\"\"+u,this.el.style.borderWidth=this.visuals.border_line.line_width.value()+\"px\",this.el.style.borderColor=\"\"+this.visuals.border_line.color_value()),this.el.textContent=e,o.show(this.el)},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.TextAnnotation=l,l.prototype.type=\"TextAnnotation\",l.prototype.default_view=n.TextAnnotationView},function(t,e,n){var i=t(364),r=t(64),o=t(5),s=t(15),a=t(46);n.TitleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.visuals.text=new a.Text(this.model)},e.prototype._get_location=function(){var t,e,n,i;switch(e=this.model.panel,t=this.model.offset,5,e.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":i=e._top.value+5;break;case\"middle\":i=e._vcenter.value;break;case\"bottom\":i=e._bottom.value-5}switch(this.model.align){case\"left\":n=e._left.value+t;break;case\"center\":n=e._hcenter.value;break;case\"right\":n=e._right.value-t}break;case\"left\":switch(this.model.vertical_align){case\"top\":n=e._left.value-5;break;case\"middle\":n=e._hcenter.value;break;case\"bottom\":n=e._right.value+5}switch(this.model.align){case\"left\":i=e._bottom.value-t;break;case\"center\":i=e._vcenter.value;break;case\"right\":i=e._top.value+t}break;case\"right\":switch(this.model.vertical_align){case\"top\":n=e._right.value-5;break;case\"middle\":n=e._hcenter.value;break;case\"bottom\":n=e._left.value+5}switch(this.model.align){case\"left\":i=e._top.value+t;break;case\"center\":i=e._vcenter.value;break;case\"right\":i=e._bottom.value-t}}return[n,i]},e.prototype.render=function(){var t,e,n,i;if(this.model.visible){if(null!=(i=this.model.text)&&0!==i.length){return this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align,r=this._get_location(),e=r[0],n=r[1],t=this.model.panel.get_label_angle_heuristic(\"parallel\"),(\"canvas\"===this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.plot_view.canvas_view.ctx,i,e,n,t);var r}}else\"css\"===this.model.render_mode&&o.hide(this.el)},e.prototype._get_size=function(){var t,e;return null==(e=this.model.text)||0===e.length?0:(t=this.plot_view.canvas_view.ctx,this.visuals.text.set_value(t),t.measureText(e).ascent+10)},e}(r.TextAnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextAnnotation);n.Title=l,l.prototype.default_view=n.TitleView,l.prototype.type=\"Title\",l.mixins([\"line:border_\",\"fill:background_\"]),l.define({text:[s.String],text_font:[s.Font,\"helvetica\"],text_font_size:[s.FontSizeSpec,\"10pt\"],text_font_style:[s.FontStyle,\"bold\"],text_color:[s.ColorSpec,\"#444444\"],text_alpha:[s.NumberSpec,1],vertical_align:[s.VerticalAlign,\"bottom\"],align:[s.TextAlign,\"left\"],offset:[s.Number,0],render_mode:[s.RenderMode,\"canvas\"]}),l.override({background_fill_color:null,border_line_color:null}),l.internal({text_align:[s.TextAlign,\"left\"],text_baseline:[s.TextBaseline,\"bottom\"]})},function(t,e,n){var i=t(364),r=t(51),o=t(4),s=t(5),a=t(15);n.ToolbarPanelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_events.appendChild(this.el),this._toolbar_views={},o.build_views(this._toolbar_views,[this.model.toolbar],{parent:this})},e.prototype.remove=function(){return o.remove_views(this._toolbar_views),t.prototype.remove.call(this)},e.prototype.render=function(){var e,n;t.prototype.render.call(this);if(this.model.visible)return e=this.model.panel,this.el.style.position=\"absolute\",this.el.style.left=e._left.value+\"px\",this.el.style.top=e._top.value+\"px\",this.el.style.width=e._width.value+\"px\",this.el.style.height=e._height.value+\"px\",this.el.style.overflow=\"hidden\",(n=this._toolbar_views[this.model.toolbar.id]).render(),s.empty(this.el),this.el.appendChild(n.el),s.show(this.el);s.hide(this.el)},e.prototype._get_size=function(){return 30},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.ToolbarPanel=l,l.prototype.type=\"ToolbarPanel\",l.prototype.default_view=n.ToolbarPanelView,l.define({toolbar:[a.Instance]})},function(t,e,n){var i=t(364),r=t(51),o=t(5),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view.canvas_overlays.appendChild(this.el),this.el.style.zIndex=1010,o.hide(this.el)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.properties.data.change,function(){return this._draw_tips()})},e.prototype.render=function(){if(this.model.visible)return this._draw_tips()},e.prototype._draw_tips=function(){var t,e,n,i,r,s,a,l,u,h,c,_,p;if(n=this.model.data,o.empty(this.el),o.hide(this.el),this.model.custom?this.el.classList.add(\"bk-tooltip-custom\"):this.el.classList.remove(\"bk-tooltip-custom\"),0!==n.length){for(i=this.plot_view.frame,r=0,a=n.length;r<a;r++)p=n[r],u=p[0],h=p[1],e=p[2],this.model.inner_only&&!i.bbox.contains(u,h)||(c=o.div({},e),this.el.appendChild(c));switch(t=this.model.attachment){case\"horizontal\":l=u<i._hcenter.value?\"right\":\"left\";break;case\"vertical\":l=h<i._vcenter.value?\"below\":\"above\";break;default:l=t}switch(this.el.classList.remove(\"bk-right\"),this.el.classList.remove(\"bk-left\"),this.el.classList.remove(\"bk-above\"),this.el.classList.remove(\"bk-below\"),10,o.show(this.el),l){case\"right\":this.el.classList.add(\"bk-left\"),s=u+(this.el.offsetWidth-this.el.clientWidth)+10,_=h-this.el.offsetHeight/2;break;case\"left\":this.el.classList.add(\"bk-right\"),s=u-this.el.offsetWidth-10,_=h-this.el.offsetHeight/2;break;case\"above\":this.el.classList.add(\"bk-above\"),_=h+(this.el.offsetHeight-this.el.clientHeight)+10,s=Math.round(u-this.el.offsetWidth/2);break;case\"below\":this.el.classList.add(\"bk-below\"),_=h-this.el.offsetHeight-10,s=Math.round(u-this.el.offsetWidth/2)}return this.model.show_arrow&&this.el.classList.add(\"bk-tooltip-arrow\"),this.el.childNodes.length>0?(this.el.style.top=_+\"px\",this.el.style.left=s+\"px\"):o.hide(this.el)}},e}(r.AnnotationView);n.TooltipView=a,a.prototype.className=\"bk-tooltip\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.clear=function(){return this.data=[]},e.prototype.add=function(t,e,n){var i;return(i=this.data).push([t,e,n]),this.data=i,this.properties.data.change.emit()},e}(r.Annotation);n.Tooltip=l,l.prototype.default_view=a,l.prototype.type=\"Tooltip\",l.define({attachment:[s.String,\"horizontal\"],inner_only:[s.Bool,!0],show_arrow:[s.Bool,!0]}),l.override({level:\"overlay\"}),l.internal({data:[s.Any,[]],custom:[s.Any]})},function(t,e,n){var i=t(364),r=t(51),o=t(173),s=t(53),a=t(15);n.WhiskerView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.set_data(this.model.source)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(e){return t.prototype.set_data.call(this,e),this.visuals.warm_cache(e),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d;return l=this.plot_model.frame,a=this.model.dimension,p=l.xscales[this.model.x_range_name],d=l.yscales[this.model.y_range_name],c=\"height\"===a?d:p,o=\"height\"===a?p:d,_=\"height\"===a?l.yview:l.xview,s=\"height\"===a?l.xview:l.yview,n=\"data\"===this.model.lower.units?c.v_compute(this._lower):_.v_compute(this._lower),r=\"data\"===this.model.upper.units?c.v_compute(this._upper):_.v_compute(this._upper),t=\"data\"===this.model.base.units?o.v_compute(this._base):s.v_compute(this._base),f=\"height\"===a?[1,0]:[0,1],u=f[0],h=f[1],e=[n,t],i=[r,t],this._lower_sx=e[u],this._lower_sy=e[h],this._upper_sx=i[u],this._upper_sy=i[h];var f},e.prototype.render=function(){var t,e,n,i,r,o,s,a,l,u;if(this.model.visible){if(this._map_data(),e=this.plot_view.canvas_view.ctx,this.visuals.line.doit)for(n=i=0,s=this._lower_sx.length;0<=s?i<s:i>s;n=0<=s?++i:--i)this.visuals.line.set_vectorize(e,n),e.beginPath(),e.moveTo(this._lower_sx[n],this._lower_sy[n]),e.lineTo(this._upper_sx[n],this._upper_sy[n]),e.stroke();if(t=\"height\"===this.model.dimension?0:Math.PI/2,null!=this.model.lower_head)for(n=r=0,a=this._lower_sx.length;0<=a?r<a:r>a;n=0<=a?++r:--r)e.save(),e.translate(this._lower_sx[n],this._lower_sy[n]),e.rotate(t+Math.PI),this.model.lower_head.render(e,n),e.restore();if(null!=this.model.upper_head){for(u=[],n=o=0,l=this._upper_sx.length;0<=l?o<l:o>l;n=0<=l?++o:--o)e.save(),e.translate(this._upper_sx[n],this._upper_sy[n]),e.rotate(t),this.model.upper_head.render(e,n),u.push(e.restore());return u}}},e}(r.AnnotationView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Annotation);n.Whisker=l,l.prototype.default_view=n.WhiskerView,l.prototype.type=\"Whisker\",l.mixins([\"line\"]),l.define({lower:[a.DistanceSpec],lower_head:[a.Instance,function(){return new s.TeeHead({level:\"underlay\",size:10})}],upper:[a.DistanceSpec],upper_head:[a.Instance,function(){return new s.TeeHead({level:\"underlay\",size:10})}],base:[a.DistanceSpec],dimension:[a.Dimension,\"height\"],source:[a.Instance,function(){return new o.ColumnDataSource}],x_range_name:[a.String,\"default\"],y_range_name:[a.String,\"default\"]}),l.override({level:\"underlay\"})},function(t,e,n){var i=t(364),r=t(12),o=t(163),s=t(165),a=t(14),l=t(15),u=t(22),h=t(42);n.AxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var t,e,n;if(!1!==this.model.visible)return e={tick:this._tick_extent(),tick_label:this._tick_label_extents(),axis_label:this._axis_label_extent()},n=this.model.tick_coords,(t=this.plot_view.canvas_view.ctx).save(),this._draw_rule(t,e),this._draw_major_ticks(t,e,n),this._draw_minor_ticks(t,e,n),this._draw_major_labels(t,e,n),this._draw_axis_label(t,e,n),null!=this._render&&this._render(t,e,n),t.restore()},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return e.plot_view.request_render()})},e.prototype._get_size=function(){return this._tick_extent()+this._tick_label_extent()+this._axis_label_extent()},e.prototype.get_size=function(){return this.model.visible?Math.round(this._get_size()):0},e.prototype._draw_rule=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p;if(this.visuals.axis_line.doit){for(d=this.model.rule_coords,h=d[0],_=d[1],f=this.plot_view.map_to_screen(h,_,this.model.x_range_name,this.model.y_range_name),l=f[0],u=f[1],m=this.model.normals,o=m[0],s=m[1],v=this.model.offsets,c=v[0],p=v[1],this.visuals.axis_line.set_value(t),t.beginPath(),t.moveTo(Math.round(l[0]+o*c),Math.round(u[0]+s*p)),i=r=1,a=l.length;1<=a?r<a:r>a;i=1<=a?++r:--r)l=Math.round(l[i]+o*c),u=Math.round(u[i]+s*p),t.lineTo(l,u);t.stroke();var d,f,m,v}},e.prototype._draw_major_ticks=function(t,e,n){var i,r,o;i=this.model.major_tick_in,r=this.model.major_tick_out,o=this.visuals.major_tick_line,this._draw_ticks(t,n.major,i,r,o)},e.prototype._draw_minor_ticks=function(t,e,n){var i,r,o;i=this.model.minor_tick_in,r=this.model.minor_tick_out,o=this.visuals.minor_tick_line,this._draw_ticks(t,n.minor,i,r,o)},e.prototype._draw_major_labels=function(t,e,n){var i,r,o,s,a;i=n.major,r=this.model.compute_labels(i[this.model.dimension]),o=this.model.major_label_orientation,s=e.tick+this.model.major_label_standoff,a=this.visuals.major_label_text,this._draw_oriented_labels(t,r,i,o,this.model.panel_side,s,a)},e.prototype._draw_axis_label=function(t,e,n){var i,r,o,s,a;if(null!=this.model.axis_label&&0!==this.model.axis_label.length){switch(this.model.panel.side){case\"above\":o=this.model.panel._hcenter.value,s=this.model.panel._bottom.value;break;case\"below\":o=this.model.panel._hcenter.value,s=this.model.panel._top.value;break;case\"left\":o=this.model.panel._right.value,s=this.model.panel._vcenter._value;break;case\"right\":o=this.model.panel._left.value,s=this.model.panel._vcenter._value}i=[[o],[s]],r=e.tick+u.sum(e.tick_label)+this.model.axis_label_standoff,a=this.visuals.axis_label_text,this._draw_oriented_labels(t,[this.model.axis_label],i,\"parallel\",this.model.panel_side,r,a,\"screen\")}},e.prototype._draw_ticks=function(t,e,n,i,r){var o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(r.doit&&0!==e.length){for(b=e[0],w=e[1],S=this.plot_view.map_to_screen(b,w,this.model.x_range_name,this.model.y_range_name),m=S[0],y=S[1],T=this.model.normals,a=T[0],h=T[1],M=this.model.offsets,x=M[0],k=M[1],l=(A=[a*(x-n),h*(k-n)])[0],c=A[1],u=(E=[a*(x+i),h*(k+i)])[0],_=E[1],r.set_value(t),o=s=0,p=m.length;0<=p?s<p:s>p;o=0<=p?++s:--s)d=Math.round(m[o]+u),v=Math.round(y[o]+_),f=Math.round(m[o]+l),g=Math.round(y[o]+c),t.beginPath(),t.moveTo(d,v),t.lineTo(f,g),t.stroke();var S,T,M,A,E}},e.prototype._draw_oriented_labels=function(t,e,n,i,r,o,s,a){void 0===a&&(a=\"data\");var l,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S;if(s.doit&&0!==e.length){for(\"screen\"===a?(b=n[0],w=n[1],k=(T=[0,0])[0],S=T[1]):(u=n[0],c=n[1],M=this.plot_view.map_to_screen(u,c,this.model.x_range_name,this.model.y_range_name),b=M[0],w=M[1],A=this.model.offsets,k=A[0],S=A[1]),E=this.model.normals,d=E[0],m=E[1],f=d*(k+o),v=m*(S+o),s.set_value(t),this.model.panel.apply_label_text_heuristics(t,i),l=h.isString(i)?this.model.panel.get_label_angle_heuristic(i):-i,_=p=0,g=b.length;0<=g?p<g:p>g;_=0<=g?++p:--p)y=Math.round(b[_]+f),x=Math.round(w[_]+v),t.translate(y,x),t.rotate(l),t.fillText(e[_],0,0),t.rotate(-l),t.translate(-y,-x);var T,M,A,E}},e.prototype._axis_label_extent=function(){var t,e;return null==this.model.axis_label||\"\"===this.model.axis_label?0:(t=this.model.axis_label_standoff,e=this.visuals.axis_label_text,this._oriented_labels_extent([this.model.axis_label],\"parallel\",this.model.panel_side,t,e))},e.prototype._tick_extent=function(){return this.model.major_tick_out},e.prototype._tick_label_extent=function(){return u.sum(this._tick_label_extents())},e.prototype._tick_label_extents=function(){var t,e,n,i,r;return t=this.model.tick_coords.major,e=this.model.compute_labels(t[this.model.dimension]),n=this.model.major_label_orientation,i=this.model.major_label_standoff,r=this.visuals.major_label_text,[this._oriented_labels_extent(e,n,this.model.panel_side,i,r)]},e.prototype._tick_label_extent=function(){return u.sum(this._tick_label_extents())},e.prototype._oriented_labels_extent=function(t,e,n,i,r){var o,s,a,l,u,c,_,p,d,f,m,v;if(0===t.length)return 0;for(a=this.plot_view.canvas_view.ctx,r.set_value(a),h.isString(e)?(c=1,o=this.model.panel.get_label_angle_heuristic(e)):(c=2,o=-e),o=Math.abs(o),s=Math.cos(o),f=Math.sin(o),l=0,_=p=0,d=t.length;0<=d?p<d:p>d;_=0<=d?++p:--p)v=1.1*a.measureText(t[_]).width,u=.9*a.measureText(t[_]).ascent,(m=\"above\"===n||\"below\"===n?v*f+u/c*s:v*s+u/c*f)>l&&(l=m);return l>0&&(l+=i),l},e}(s.RendererView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_labels=function(t){var e,n,i,r;for(i=this.formatter.doFormat(t,this),e=n=0,r=t.length;0<=r?n<r:n>r;e=0<=r?++n:--n)t[e]in this.major_label_overrides&&(i[e]=this.major_label_overrides[t[e]]);return i},e.prototype.label_info=function(t){var e;return e=this.major_label_orientation,{dim:this.dimension,coords:t,side:this.panel_side,orient:e,standoff:this.major_label_standoff}},e.prototype.add_panel=function(t){return this.panel=new r.SidePanel({side:t}),this.panel.attach_document(this.document),this.panel_side=t},e.prototype._offsets=function(){var t,e,n,i;switch(e=this.panel_side,r=[0,0],n=r[0],i=r[1],t=this.plot.plot_canvas.frame,e){case\"below\":i=Math.abs(this.panel._top.value-t._bottom.value);break;case\"above\":i=Math.abs(this.panel._bottom.value-t._top.value);break;case\"right\":n=Math.abs(this.panel._left.value-t._right.value);break;case\"left\":n=Math.abs(this.panel._right.value-t._left.value)}return[n,i];var r},e.prototype._ranges=function(){var t,e,n,i;return e=this.dimension,n=(e+1)%2,t=this.plot.plot_canvas.frame,i=[t.x_ranges[this.x_range_name],t.y_ranges[this.y_range_name]],[i[e],i[n]]},e.prototype._computed_bounds=function(){var t,e,n,i,r,o;return s=this.ranges,e=s[0],s[1],o=null!=(i=this.bounds)?i:\"auto\",n=[e.min,e.max],\"auto\"===o?n:h.isArray(o)?(Math.abs(o[0]-o[1])>Math.abs(n[0]-n[1])?(r=Math.max(Math.min(o[0],o[1]),n[0]),t=Math.min(Math.max(o[0],o[1]),n[1])):(r=Math.min(o[0],o[1]),t=Math.max(o[0],o[1])),[r,t]):(a.logger.error(\"user bounds '\"+o+\"' not understood\"),null);var s},e.prototype._rule_coords=function(){var t,e,n,i,r,o,s,a;return n=this.dimension,i=(n+1)%2,l=this.ranges,r=l[0],l[1],u=this.computed_bounds,o=u[0],e=u[1],s=new Array(2),a=new Array(2),t=[s,a],t[n][0]=Math.max(o,r.min),t[n][1]=Math.min(e,r.max),t[n][0]>t[n][1]&&(t[n][0]=t[n][1]=NaN),t[i][0]=this.loc,t[i][1]=this.loc,t;var l,u},e.prototype._tick_coords=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m;for(n=this.dimension,r=(n+1)%2,v=this.ranges,h=v[0],v[1],g=this.computed_bounds,f=g[0],e=g[1],m=this.ticker.get_ticks(f,e,h,this.loc,{}),a=m.major,u=m.minor,t=[[],[]],l=[[],[]],y=[h.min,h.max],_=y[0],c=y[1],i=o=0,p=a.length;0<=p?o<p:o>p;i=0<=p?++o:--o)a[i]<_||a[i]>c||(t[n].push(a[i]),t[r].push(this.loc));for(i=s=0,d=u.length;0<=d?s<d:s>d;i=0<=d?++s:--s)u[i]<_||u[i]>c||(l[n].push(u[i]),l[r].push(this.loc));return{major:t,minor:l};var v,g,y},e.prototype._get_loc=function(){var t;switch(e=this.ranges,e[0],t=e[1],t.start,t.end,this.panel_side){case\"left\":case\"below\":return t.start;case\"right\":case\"above\":return t.end}var e},e}(o.GuideRenderer);n.Axis=c,c.prototype.default_view=n.AxisView,c.prototype.type=\"Axis\",c.mixins([\"line:axis_\",\"line:major_tick_\",\"line:minor_tick_\",\"text:major_label_\",\"text:axis_label_\"]),c.define({bounds:[l.Any,\"auto\"],ticker:[l.Instance,null],formatter:[l.Instance,null],x_range_name:[l.String,\"default\"],y_range_name:[l.String,\"default\"],axis_label:[l.String,\"\"],axis_label_standoff:[l.Int,5],major_label_standoff:[l.Int,5],major_label_orientation:[l.Any,\"horizontal\"],major_label_overrides:[l.Any,{}],major_tick_in:[l.Number,2],major_tick_out:[l.Number,6],minor_tick_in:[l.Number,0],minor_tick_out:[l.Number,4]}),c.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"8pt\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"10pt\",axis_label_text_font_style:\"italic\"}),c.internal({panel_side:[l.Any]}),c.getters({computed_bounds:function(){return this._computed_bounds()},rule_coords:function(){return this._rule_coords()},tick_coords:function(){return this._tick_coords()},ranges:function(){return this._ranges()},normals:function(){return this.panel._normals},dimension:function(){return this.panel._dim},offsets:function(){return this._offsets()},loc:function(){return this._get_loc()}})},function(t,e,n){var i=t(364),r=t(69),o=t(92),s=t(181);n.CategoricalAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){return this._draw_group_separators(t,e,n)},e.prototype._draw_group_separators=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x;if(w=this.model.ranges,m=w[0],w[1],k=this.model.computed_bounds,b=k[0],s=k[1],d=this.model.loc,this.model.ticker.get_ticks(b,s,m,d,{}),S=this.model.ranges,m=S[0],S[1],m.tops&&!(m.tops.length<2)&&this.visuals.separator_line.doit){for(o=this.model.dimension,i=(o+1)%2,r=[[],[]],u=0,l=c=0,v=m.tops.length-1;0<=v?c<v:c>v;l=0<=v?++c:--c){for(h=_=g=u,y=m.factors.length;g<=y?_<y:_>y;h=g<=y?++_:--_)if(m.factors[h][0]===m.tops[l+1]){T=[m.factors[h-1],m.factors[h]],a=T[0],p=T[1],u=h;break}(f=(m.synthetic(a)+m.synthetic(p))/2)>b&&f<s&&(r[o].push(f),r[i].push(this.model.loc))}x=this._tick_label_extent(),this._draw_ticks(t,r,-3,x-6,this.visuals.separator_line);var w,k,S,T}},e.prototype._draw_major_labels=function(t,e,n){var i,r,o,s,a,l,u,h,c,_;for(s=this._get_factor_info(),this.model.loc,r=this.model.dimension,(r+1)%2,c=e.tick+this.model.major_label_standoff,o=a=0,h=s.length;0<=h?a<h:a>h;o=0<=h?++a:--a)p=s[o],l=p[0],i=p[1],u=p[2],_=p[3],this._draw_oriented_labels(t,l,i,u,this.model.panel_side,c,_),c+=e.tick_label[o];var p},e.prototype._tick_label_extents=function(){var t,e,n,i,r,o,s,a;for(n=this._get_factor_info(),e=[],i=0,o=n.length;i<o;i++)l=n[i],r=l[0],l[1],s=l[2],a=l[3],t=this._oriented_labels_extent(r,s,this.model.panel_side,this.model.major_label_standoff,a),e.push(t);return e;var l},e.prototype._get_factor_info=function(){var t,e,n,i,r,o,s,a,l,u;return h=this.model.ranges,s=h[0],h[1],c=this.model.computed_bounds,a=c[0],e=c[1],r=this.model.loc,l=this.model.ticker.get_ticks(a,e,s,r,{}),t=this.model.tick_coords,n=[],1===s.levels?(i=this.model.formatter.doFormat(l.major,this),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text])):2===s.levels?(i=this.model.formatter.doFormat(function(){var t,e,n,i;for(n=l.major,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[1]);return i}(),this),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([l.tops,t.tops,\"parallel\",this.visuals.group_text])):3===s.levels&&(i=this.model.formatter.doFormat(function(){var t,e,n,i;for(n=l.major,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[2]);return i}(),this),o=function(){var t,e,n,i;for(n=l.mids,i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(u[1]);return i}(),n.push([i,t.major,this.model.major_label_orientation,this.visuals.major_label_text]),n.push([o,t.mids,\"parallel\",this.visuals.subgroup_text]),n.push([l.tops,t.tops,\"parallel\",this.visuals.group_text])),n;var h,c},e}(r.AxisView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._tick_coords=function(){var t,e,n,i,r,o,s,a;return n=this.dimension,i=(n+1)%2,l=this.ranges,r=l[0],l[1],u=this.computed_bounds,o=u[0],e=u[1],s=this.ticker.get_ticks(o,e,r,this.loc,{}),t={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[]},t.major[n]=s.major,t.major[i]=function(){var t,e,n,i;for(n=s.major,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this),3===r.levels&&(t.mids[n]=s.mids,t.mids[i]=function(){var t,e,n,i;for(n=s.mids,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this)),r.levels>1&&(t.tops[n]=s.tops,t.tops[i]=function(){var t,e,n,i;for(n=s.tops,i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(this.loc);return i}.call(this)),t;var l,u},e}(r.Axis);n.CategoricalAxis=a,a.prototype.default_view=n.CategoricalAxisView,a.prototype.type=\"CategoricalAxis\",a.mixins([\"line:separator_\",\"text:group_\",\"text:subgroup_\"]),a.override({ticker:function(){return new s.CategoricalTicker},formatter:function(){return new o.CategoricalTickFormatter},separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"8pt\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"8pt\"})},function(t,e,n){var i=t(364),r=t(69),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Axis);n.ContinuousAxis=o,o.prototype.type=\"ContinuousAxis\"},function(t,e,n){var i=t(364),r=t(74),o=t(93),s=t(184);n.DatetimeAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LinearAxisView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LinearAxis);n.DatetimeAxis=a,a.prototype.default_view=n.DatetimeAxisView,a.prototype.type=\"DatetimeAxis\",a.override({ticker:function(){return new s.DatetimeTicker},formatter:function(){return new o.DatetimeTickFormatter}})},function(t,e,n){var i=t(69);n.Axis=i.Axis;var r=t(70);n.CategoricalAxis=r.CategoricalAxis;var o=t(71);n.ContinuousAxis=o.ContinuousAxis;var s=t(72);n.DatetimeAxis=s.DatetimeAxis;var a=t(74);n.LinearAxis=a.LinearAxis;var l=t(75);n.LogAxis=l.LogAxis},function(t,e,n){var i=t(364),r=t(69),o=t(71),s=t(91),a=t(180);n.LinearAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AxisView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ContinuousAxis);n.LinearAxis=l,l.prototype.default_view=n.LinearAxisView,l.prototype.type=\"LinearAxis\",l.override({ticker:function(){return new a.BasicTicker},formatter:function(){return new s.BasicTickFormatter}})},function(t,e,n){var i=t(364),r=t(69),o=t(71),s=t(96),a=t(188);n.LogAxisView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AxisView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ContinuousAxis);n.LogAxis=l,l.prototype.default_view=n.LogAxisView,l.prototype.type=\"LogAxis\",l.override({ticker:function(){return new a.LogTicker},formatter:function(){return new s.LogTickFormatter}})},function(t,e,n){var i=t(364),r=t(15),o=t(30),s=t(50),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.execute=function(e,n){return this.func.apply(e,this.values.concat(e,n,t,{}))},n.prototype._make_values=function(){return o.values(this.args)},n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[\"cb_obj\",\"cb_data\",\"require\",\"exports\",this.code])))},n}(s.Model);n.CustomJS=a,a.prototype.type=\"CustomJS\",a.define({args:[r.Any,{}],code:[r.String,\"\"]}),a.getters({values:function(){return this._make_values()},func:function(){return this._make_func()}})},function(t,e,n){var i=t(76);n.CustomJS=i.CustomJS;var r=t(78);n.OpenURL=r.OpenURL},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(34),a=t(39),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.execute=function(t,e){var n,i,r,o,l;for(o=s.get_indices(e.source),i=0,r=o.length;i<r;i++)n=o[i],l=a.replace_placeholders(this.url,e.source,n),window.open(l);return null},e}(r.Model);n.OpenURL=l,l.prototype.type=\"OpenURL\",l.define({url:[o.String,\"http://\"]})},function(t,e,n){var i=t(364),r=t(11),o=t(6),s=t(13),a=t(14),l=t(15),u=t(5),h=t(25),c=t(249);null!=window.CanvasPixelArray&&(CanvasPixelArray.prototype.set=function(t){var e,n,i,r;for(r=[],e=n=0,i=this.length;0<=i?n<i:n>i;e=0<=i?++n:--n)r.push(this[e]=t[e]);return r});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){switch(t.prototype.initialize.call(this,e),this.map_el=this.model.map?this.el.appendChild(u.div({class:\"bk-canvas-map\"})):null,this.model.output_backend){case\"canvas\":case\"webgl\":this.canvas_el=this.el.appendChild(u.canvas({class:\"bk-canvas\"})),this._ctx=this.canvas_el.getContext(\"2d\");break;case\"svg\":this._ctx=new c,this.canvas_el=this.el.appendChild(this._ctx.getSvg())}return this.overlays_el=this.el.appendChild(u.div({class:\"bk-canvas-overlays\"})),this.events_el=this.el.appendChild(u.div({class:\"bk-canvas-events\"})),this.ctx=this.get_ctx(),h.fixup_ctx(this.ctx),a.logger.debug(\"CanvasView initialized\")},e.prototype.get_ctx=function(){return this._ctx},e.prototype.get_canvas_element=function(){return this.canvas_el},e.prototype.prepare_canvas=function(){var t,e,n;return n=this.model._width.value,t=this.model._height.value,this.el.style.width=n+\"px\",this.el.style.height=t+\"px\",e=h.get_scale_ratio(this.ctx,this.model.use_hidpi,this.model.output_backend),this.model.pixel_ratio=e,this.canvas_el.style.width=n+\"px\",this.canvas_el.style.height=t+\"px\",this.canvas_el.setAttribute(\"width\",n*e),this.canvas_el.setAttribute(\"height\",t*e),a.logger.debug(\"Rendering CanvasView with width: \"+n+\", height: \"+t+\", pixel ratio: \"+e)},e.prototype.set_dims=function(t){var e=t[0],n=t[1];if(0!==e&&0!==n)return e!==this.model._width.value&&(null!=this._width_constraint&&this.solver.has_constraint(this._width_constraint)&&this.solver.remove_constraint(this._width_constraint),this._width_constraint=s.EQ(this.model._width,-e),this.solver.add_constraint(this._width_constraint)),n!==this.model._height.value&&(null!=this._height_constraint&&this.solver.has_constraint(this._height_constraint)&&this.solver.remove_constraint(this._height_constraint),this._height_constraint=s.EQ(this.model._height,-n),this.solver.add_constraint(this._height_constraint)),this.solver.update_variables()},e}(o.DOMView);n.CanvasView=_,_.prototype.className=\"bk-canvas-wrapper\";var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LayoutCanvas);n.Canvas=p,p.prototype.type=\"Canvas\",p.prototype.default_view=_,p.internal({map:[l.Boolean,!1],use_hidpi:[l.Boolean,!0],pixel_ratio:[l.Number,1],output_backend:[l.OutputBackend,\"canvas\"]}),p.getters({panel:function(){return this}})},function(t,e,n){var i=t(364),r=t(166),o=t(168),s=t(169),a=t(160),l=t(156),u=t(157),h=t(11),c=t(15),_=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){var i=this;return t.prototype.initialize.call(this,e,n),this._configure_scales(),this.connect(this.change,function(){return i._configure_scales()})},e.prototype.get_editables=function(){return t.prototype.get_editables.call(this).concat([this._width,this._height])},e.prototype.map_to_screen=function(t,e,n,i){void 0===n&&(n=\"default\"),void 0===i&&(i=\"default\");var r,o;return r=this.xscales[n].v_compute(t),o=this.yscales[i].v_compute(e),[r,o]},e.prototype._get_ranges=function(t,e){var n,i,r;if(r={},r.default=t,null!=e)for(i in e)n=e[i],r[i]=n;return r},e.prototype._get_scales=function(t,e,n){var i,h,c,_;_={};for(i in e){if((h=e[i])instanceof l.DataRange1d||h instanceof a.Range1d){if(!(t instanceof s.LogScale||t instanceof o.LinearScale))throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type);if(t instanceof r.CategoricalScale)throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type)}if(h instanceof u.FactorRange&&!(t instanceof r.CategoricalScale))throw new Error(\"Range \"+h.type+\" is incompatible is Scale \"+t.type);t instanceof s.LogScale&&h instanceof l.DataRange1d&&(h.scale_hint=\"log\"),(c=t.clone()).setv({source_range:h,target_range:n}),_[i]=c}return _},e.prototype._configure_frame_ranges=function(){return this._h_target=new a.Range1d({start:this._left.value,end:this._right.value}),this._v_target=new a.Range1d({start:this._bottom._value,end:this._top.value})},e.prototype._configure_scales=function(){return this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._xscales=this._get_scales(this.x_scale,this._x_ranges,this._h_target),this._yscales=this._get_scales(this.y_scale,this._y_ranges,this._v_target)},e.prototype._update_scales=function(){var t,e,n;this._configure_frame_ranges(),e=this._xscales;for(t in e)e[t].target_range=this._h_target;n=this._yscales;for(t in n)n[t].target_range=this._v_target;return null},Object.defineProperty(e.prototype,\"x_ranges\",{get:function(){return this._x_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"y_ranges\",{get:function(){return this._y_ranges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"xscales\",{get:function(){return this._xscales},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"yscales\",{get:function(){return this._yscales},enumerable:!0,configurable:!0}),e}(h.LayoutCanvas);n.CartesianFrame=_,_.prototype.type=\"CartesianFrame\",_.getters({panel:function(){return this}}),_.internal({extra_x_ranges:[c.Any,{}],extra_y_ranges:[c.Any,{}],x_range:[c.Instance],y_range:[c.Instance],x_scale:[c.Instance],y_scale:[c.Instance]})},function(t,e,n){var i=t(79);n.Canvas=i.Canvas;var r=t(80);n.CartesianFrame=r.CartesianFrame},function(t,e,n){var i=t(364),r=t(50);n.Expression=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._connected={},this._result={}},e.prototype._v_compute=function(t){return null==this._connected[t.id]&&(this.connect(t.change,function(){return this._result[t.id]=null}),this._connected[t.id]=!0),null!=this._result[t.id]?this._result[t.id]:(this._result[t.id]=this.v_compute(t),this._result[t.id])},e}(r.Model)},function(t,e,n){var i=t(82);n.Expression=i.Expression;var r=t(84);n.Stack=r.Stack},function(t,e,n){var i=t(364),r=t(82),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.v_compute=function(t){var e,n,i,r,o,s,a,l,u,h;for(u=new Float64Array(t.get_length()),a=this.fields,i=0,o=a.length;i<o;i++)for(e=a[i],l=t.data[e],n=r=0,s=l.length;r<s;n=++r)h=l[n],u[n]+=h;return u},e}(r.Expression);n.Stack=s,s.define({fields:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=t(22),l=t(42),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e,n,i;return(null!=(n=this.booleans)?n.length:void 0)>0?a.all(this.booleans,l.isBoolean)?(this.booleans.length!==t.get_length()&&s.logger.warn(\"BooleanFilter \"+this.id+\": length of booleans doesn't match data source\"),function(){var t,n,i,r;for(i=a.range(0,this.booleans.length),r=[],t=0,n=i.length;t<n;t++)e=i[t],!0===this.booleans[e]&&r.push(e);return r}.call(this)):(s.logger.warn(\"BooleanFilter \"+this.id+\": booleans should be array of booleans, defaulting to no filtering\"),null):(0===(null!=(i=this.booleans)?i.length:void 0)?s.logger.warn(\"BooleanFilter \"+this.id+\": booleans is empty, defaulting to no filtering\"):s.logger.warn(\"BooleanFilter \"+this.id+\": booleans was not set, defaulting to no filtering\"),null)},e}(r.Filter);n.BooleanFilter=u,u.prototype.type=\"BooleanFilter\",u.define({booleans:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(30),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.compute_indices=function(n){return this.filter=this.func.apply(this,this.values.concat([n,t,{}])),e.prototype.compute_indices.call(this)},n.prototype._make_values=function(){return s.values(this.args)},n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[\"source\",\"require\",\"exports\",this.code])))},n}(r.Filter);n.CustomJSFilter=a,a.prototype.type=\"CustomJSFilter\",a.define({args:[o.Any,{}],code:[o.String,\"\"]}),a.getters({values:function(){return this._make_values()},func:function(){return this._make_func()}})},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(42),a=t(22),l=t(14),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e.prototype.compute_indices=function(){var t,e;return(null!=(e=this.filter)?e.length:void 0)>=0?a.all(this.filter,s.isBoolean)?function(){var e,n,i,r;for(i=a.range(0,this.filter.length),r=[],e=0,n=i.length;e<n;e++)t=i[e],!0===this.filter[t]&&r.push(t);return r}.call(this):a.all(this.filter,s.isInteger)?this.filter:(l.logger.warn(\"Filter \"+this.id+\": filter should either be array of only booleans or only integers, defaulting to no filtering\"),null):(l.logger.warn(\"Filter \"+this.id+\": filter was not set to be an array, defaulting to no filtering\"),null)},e}(r.Model);n.Filter=u,u.prototype.type=\"Filter\",u.define({filter:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e,n;return null==(e=t.get_column(this.column_name))?(s.logger.warn(\"group filter: groupby column not found in data source\"),null):(this.indices=function(){var i,r,o;for(o=[],n=i=0,r=t.get_length();0<=r?i<r:i>r;n=0<=r?++i:--i)e[n]===this.group&&o.push(n);return o}.call(this),0===this.indices.length&&s.logger.warn(\"group filter: group '\"+this.group+\"' did not match any values in column '\"+this.column_name+\"'\"),this.indices)},e}(r.Filter);n.GroupFilter=a,a.prototype.type=\"GroupFilter\",a.define({column_name:[o.String],group:[o.String]})},function(t,e,n){var i=t(85);n.BooleanFilter=i.BooleanFilter;var r=t(86);n.CustomJSFilter=r.CustomJSFilter;var o=t(87);n.Filter=o.Filter;var s=t(88);n.GroupFilter=s.GroupFilter;var a=t(90);n.IndexFilter=a.IndexFilter},function(t,e,n){var i=t(364),r=t(87),o=t(15),s=t(14),a=t(42),l=t(22),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute_indices=function(t){var e;return(null!=(e=this.indices)?e.length:void 0)>=0?l.all(this.indices,a.isInteger)?this.indices:(s.logger.warn(\"IndexFilter \"+this.id+\": indices should be array of integers, defaulting to no filtering\"),null):(s.logger.warn(\"IndexFilter \"+this.id+\": indices was not set, defaulting to no filtering\"),null)},e}(r.Filter);n.IndexFilter=u,u.prototype.type=\"IndexFilter\",u.define({indices:[o.Array,null]})},function(t,e,n){var i=t(364),r=t(100),o=t(15),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.last_precision=3},e.prototype.doFormat=function(t,e){var n,i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(0===t.length)return[];if(k=0,t.length>=2&&(k=Math.abs(t[1]-t[0])/1e4),_=!1,this.use_scientific)for(r=0,u=t.length;r<u;r++)if(b=t[r],(x=Math.abs(b))>k&&(x>=this.scientific_limit_high||x<=this.scientific_limit_low)){_=!0;break}if(null==(d=this.precision)||s.isNumber(d)){if(l=new Array(t.length),_)for(n=o=0,f=t.length;0<=f?o<f:o>f;n=0<=f?++o:--o)l[n]=t[n].toExponential(d||void 0);else for(n=a=0,m=t.length;0<=m?a<m:a>m;n=0<=m?++a:--a)l[n]=t[n].toFixed(d||void 0).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\");return l}if(\"auto\"===d)for(l=new Array(t.length),w=h=v=this.last_precision;v<=15?h<=15:h>=15;w=v<=15?++h:--h){if(i=!0,_){for(n=c=0,g=t.length;0<=g?c<g:c>g;n=0<=g?++c:--c)if(l[n]=t[n].toExponential(w),n>0&&l[n]===l[n-1]){i=!1;break}if(i)break}else{for(n=p=0,y=t.length;0<=y?p<y:p>y;n=0<=y?++p:--p)if(l[n]=t[n].toFixed(w).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\"),n>0&&l[n]===l[n-1]){i=!1;break}if(i)break}if(i)return this.last_precision=w,l}return l},e}(r.TickFormatter);n.BasicTickFormatter=a,a.prototype.type=\"BasicTickFormatter\",a.define({precision:[o.Any,\"auto\"],use_scientific:[o.Bool,!0],power_limit_high:[o.Number,5],power_limit_low:[o.Number,-3]}),a.getters({scientific_limit_low:function(){return Math.pow(10,this.power_limit_low)},scientific_limit_high:function(){return Math.pow(10,this.power_limit_high)}})},function(t,e,n){var i=t(364),r=t(100),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){return t},e}(r.TickFormatter);n.CategoricalTickFormatter=o,o.prototype.type=\"CategoricalTickFormatter\"},function(t,e,n){var i,r,o,s=t(364),a=t(362),l=t(363),u=t(100),h=t(14),c=t(15),_=t(22),p=t(42);o=function(t){return Math.round(t/1e3%1*1e6)},i=function(t){return l(t,\"%Y %m %d %H %M %S\").split(/\\s+/).map(function(t){return parseInt(t,10)})},r=function(t,e){var n;return p.isFunction(e)?e(t):(n=a.sprintf(\"$1%06d\",o(t)),-1===(e=e.replace(/((^|[^%])(%%)*)%f/,n)).indexOf(\"%\")?e:l(t,e))};var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._update_width_formats()},e.prototype._update_width_formats=function(){var t,e;return e=l(new Date),t=function(t){var n,i,o;return i=function(){var i,o,s;for(s=[],i=0,o=t.length;i<o;i++)n=t[i],s.push(r(e,n).length);return s}(),o=_.sortBy(_.zip(i,t),function(t){var e=t[0];t[1];return e}),_.unzip(o)},this._width_formats={microseconds:t(this.microseconds),milliseconds:t(this.milliseconds),seconds:t(this.seconds),minsec:t(this.minsec),minutes:t(this.minutes),hourmin:t(this.hourmin),hours:t(this.hours),days:t(this.days),months:t(this.months),years:t(this.years)}},e.prototype._get_resolution_str=function(t,e){var n;switch(n=1.1*t,!1){case!(n<.001):return\"microseconds\";case!(n<1):return\"milliseconds\";case!(n<60):return e>=60?\"minsec\":\"seconds\";case!(n<3600):return e>=3600?\"hourmin\":\"minutes\";case!(n<86400):return\"hours\";case!(n<2678400):return\"days\";case!(n<31536e3):return\"months\";default:return\"years\"}},e.prototype.doFormat=function(t,e,n,o,s,a){void 0===n&&(n=null),void 0===o&&(o=null),void 0===s&&(s=.3),void 0===a&&(a=null);var l,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D;if(0===t.length)return[];if(C=Math.abs(t[t.length-1]-t[0])/1e3,S=a?a.resolution:C/(t.length-1),A=this._get_resolution_str(S,C),F=this._width_formats[A],D=F[0],_=F[1],c=_[0],o){for(p=[],f=m=0,T=D.length;0<=T?m<T:m>T;f=0<=T?++m:--m)D[f]*t.length<s*o&&p.push(this._width_formats[f]);p.length>0&&(c=p[p.length-1])}for(y=[],E=this.format_order.indexOf(A),j={},M=this.format_order,v=0,b=M.length;v<b;v++)u=M[v],j[u]=0;for(j.seconds=5,j.minsec=4,j.minutes=4,j.hourmin=3,j.hours=3,g=0,x=t.length;g<x;g++){N=t[g];try{P=i(N),z=r(N,c)}catch(t){l=t,h.logger.warn(\"unable to format tick for timestamp value \"+N),h.logger.warn(\" - \"+l),y.push(\"ERR\");continue}for(d=!1,k=E;0===P[j[this.format_order[k]]]&&(k+=1)!==this.format_order.length;){if((\"minsec\"===A||\"hourmin\"===A)&&!d){if(\"minsec\"===A&&0===P[4]&&0!==P[5]||\"hourmin\"===A&&0===P[3]&&0!==P[4]){w=this._width_formats[this.format_order[E-1]][1][0],z=r(N,w);break}d=!0}w=this._width_formats[this.format_order[k]][1][0],z=r(N,w)}this.strip_leading_zeros?((O=z.replace(/^0+/g,\"\"))!==z&&isNaN(parseInt(O))&&(O=\"0\"+O),y.push(O)):y.push(z)}return y;var F},e}(u.TickFormatter);n.DatetimeTickFormatter=d,d.prototype.type=\"DatetimeTickFormatter\",d.define({microseconds:[c.Array,[\"%fus\"]],milliseconds:[c.Array,[\"%3Nms\",\"%S.%3Ns\"]],seconds:[c.Array,[\"%Ss\"]],minsec:[c.Array,[\":%M:%S\"]],minutes:[c.Array,[\":%M\",\"%Mm\"]],hourmin:[c.Array,[\"%H:%M\"]],hours:[c.Array,[\"%Hh\",\"%H:%M\"]],days:[c.Array,[\"%m/%d\",\"%a%d\"]],months:[c.Array,[\"%m/%Y\",\"%b%y\"]],years:[c.Array,[\"%Y\"]]}),d.prototype.format_order=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"],d.prototype.strip_leading_zeros=!0},function(t,e,n){var i=t(364),r=t(100),o=t(15),s=t(30),a=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype._make_func=function(){return new(Function.bind.apply(Function,[void 0,\"tick\"].concat(Object.keys(this.args),[\"require\",this.code])))},n.prototype.doFormat=function(e,n){var i,r;return i=this._make_func(),function(){var n,o,a;for(a=[],n=0,o=e.length;n<o;n++)r=e[n],a.push(i.apply(void 0,[r].concat(s.values(this.args),[t])));return a}.call(this)},n}(r.TickFormatter);n.FuncTickFormatter=a,a.prototype.type=\"FuncTickFormatter\",a.define({args:[o.Any,{}],code:[o.String,\"\"]})},function(t,e,n){var i=t(91);n.BasicTickFormatter=i.BasicTickFormatter;var r=t(92);n.CategoricalTickFormatter=r.CategoricalTickFormatter;var o=t(93);n.DatetimeTickFormatter=o.DatetimeTickFormatter;var s=t(94);n.FuncTickFormatter=s.FuncTickFormatter;var a=t(96);n.LogTickFormatter=a.LogTickFormatter;var l=t(97);n.MercatorTickFormatter=l.MercatorTickFormatter;var u=t(98);n.NumeralTickFormatter=u.NumeralTickFormatter;var h=t(99);n.PrintfTickFormatter=h.PrintfTickFormatter;var c=t(100);n.TickFormatter=c.TickFormatter},function(t,e,n){var i=t(364),r=t(91),o=t(100),s=t(14),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){if(t.prototype.initialize.call(this,e,n),this.basic_formatter=new r.BasicTickFormatter,null==this.ticker)return s.logger.warn(\"LogTickFormatter not configured with a ticker, using default base of 10 (labels will be incorrect if ticker base is not 10)\")},e.prototype.doFormat=function(t,e){var n,i,r,o,s,a;if(0===t.length)return[];for(n=null!=this.ticker?this.ticker.base:10,a=!1,o=new Array(t.length),i=r=0,s=t.length;0<=s?r<s:r>s;i=0<=s?++r:--r)if(o[i]=n+\"^\"+Math.round(Math.log(t[i])/Math.log(n)),i>0&&o[i]===o[i-1]){a=!0;break}return a&&(o=this.basic_formatter.doFormat(t)),o},e}(o.TickFormatter);n.LogTickFormatter=l,l.prototype.type=\"LogTickFormatter\",l.define({ticker:[a.Instance,null]})},function(t,e,n){var i=t(364),r=t(91),o=t(15),s=t(31),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(e,n){var i,r,o,a,l,u,h,c;if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0===e.length)return[];if(u=new Array(e.length),\"lon\"===this.dimension)for(i=r=0,h=e.length;0<=h?r<h:r>h;i=0<=h?++r:--r)_=s.proj4(s.mercator).inverse([e[i],n.loc]),l=_[0],a=_[1],u[i]=l;else for(i=o=0,c=e.length;0<=c?o<c:o>c;i=0<=c?++o:--o)p=s.proj4(s.mercator).inverse([n.loc,e[i]]),l=p[0],a=p[1],u[i]=a;return t.prototype.doFormat.call(this,u,n);var _,p},e}(r.BasicTickFormatter);n.MercatorTickFormatter=a,a.prototype.type=\"MercatorTickFormatter\",a.define({dimension:[o.LatLon]})},function(t,e,n){var i=t(364),r=t(332),o=t(100),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){var n,i,o,s;return n=this.format,i=this.language,o=function(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}.call(this),function(){var e,a,l;for(l=[],e=0,a=t.length;e<a;e++)s=t[e],l.push(r.format(s,n,i,o));return l}()},e}(o.TickFormatter);n.NumeralTickFormatter=a,a.prototype.type=\"NumeralTickFormatter\",a.define({format:[s.String,\"0,0\"],language:[s.String,\"en\"],rounding:[s.String,\"round\"]})},function(t,e,n){var i=t(364),r=t(362),o=t(100),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){var n,i;return n=this.format,function(){var e,o,s;for(s=[],e=0,o=t.length;e<o;e++)i=t[e],s.push(r.sprintf(n,i));return s}()},e}(o.TickFormatter);n.PrintfTickFormatter=a,a.prototype.type=\"PrintfTickFormatter\",a.define({format:[s.String,\"%s\"]})},function(t,e,n){var i=t(364),r=t(50),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doFormat=function(t,e){},e}(r.Model);n.TickFormatter=o,o.prototype.type=\"TickFormatter\"},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(29);n.AnnularWedgeView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){var t,e,n,i;for(\"data\"===this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"===this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius,this._angle=new Float32Array(this._start_angle.length),i=[],t=e=0,n=this._start_angle.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this._angle[t]=this._end_angle[t]-this._start_angle[t]);return i},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n._start_angle,c=n._angle,_=n.sinner_radius,p=n.souter_radius;for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+_[r]+p[r]+h[r]+c[r])||(t.translate(l[r],u[r]),t.rotate(h[r]),t.moveTo(p[r],0),t.beginPath(),t.arc(0,0,p[r],0,c[r],i),t.rotate(c[r]),t.lineTo(_[r],0),t.arc(0,0,_[r],0,-c[r],!i),t.closePath(),t.rotate(-c[r]-h[r]),t.translate(-l[r],-u[r]),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,r),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),a.push(t.stroke())):a.push(void 0));return a},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E;for(v=t.sx,b=t.sy,k=this.renderer.xscale.invert(v),M=this.renderer.yscale.invert(b),\"data\"===this.model.properties.outer_radius.units?(S=k-this.max_outer_radius,T=k+this.max_outer_radius,A=M-this.max_outer_radius,E=M+this.max_outer_radius):(g=v-this.max_outer_radius,y=v+this.max_outer_radius,z=this.renderer.xscale.r_invert(g,y),S=z[0],T=z[1],x=b-this.max_outer_radius,w=b+this.max_outer_radius,C=this.renderer.yscale.r_invert(x,w),A=C[0],E=C[1]),i=[],n=o.validate_bbox_coords([S,T],[A,E]),m=this.index.indices(n),c=0,p=m.length;c<p;c++)u=m[c],f=Math.pow(this.souter_radius[u],2),h=Math.pow(this.sinner_radius[u],2),O=this.renderer.xscale.r_compute(k,this._x[u]),g=O[0],y=O[1],N=this.renderer.yscale.r_compute(M,this._y[u]),x=N[0],w=N[1],(s=Math.pow(g-y,2)+Math.pow(x-w,2))<=f&&s>=h&&i.push([u,s]);for(r=this.model.properties.direction.value(),l=[],_=0,d=i.length;_<d;_++)j=i[_],u=j[0],s=j[1],e=Math.atan2(b-this.sy[u],v-this.sx[u]),a.angle_between(-e,-this._start_angle[u],-this._end_angle[u],r)&&l.push([u,s]);return o.create_1d_hit_test_result(l);var z,C,O,N,j},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e.prototype._scxy=function(t){var e,n;return n=(this.sinner_radius[t]+this.souter_radius[t])/2,e=(this._start_angle[t]+this._end_angle[t])/2,{x:this.sx[t]+n*Math.cos(e),y:this.sy[t]+n*Math.sin(e)}},e.prototype.scx=function(t){return this._scxy(t).x},e.prototype.scy=function(t){return this._scxy(t).y},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.AnnularWedge=l,l.prototype.default_view=n.AnnularWedgeView,l.prototype.type=\"AnnularWedge\",l.mixins([\"line\",\"fill\"]),l.define({direction:[s.Direction,\"anticlock\"],inner_radius:[s.DistanceSpec],outer_radius:[s.DistanceSpec],start_angle:[s.AngleSpec],end_angle:[s.AngleSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.AnnulusView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this._inner_radius):this.sinner_radius=this._inner_radius,\"data\"===this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this._outer_radius):this.souter_radius=this._outer_radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy,d=n.sinner_radius,f=n.souter_radius;for(c=[],s=0,l=e.length;s<l;s++)if(r=e[s],!isNaN(_[r]+p[r]+d[r]+f[r])){if(o=navigator.userAgent.indexOf(\"MSIE\")>=0||navigator.userAgent.indexOf(\"Trident\")>0||navigator.userAgent.indexOf(\"Edge\")>0,this.visuals.fill.doit){if(this.visuals.fill.set_vectorize(t,r),t.beginPath(),o)for(a=0,u=(h=[!1,!0]).length;a<u;a++)i=h[a],t.arc(_[r],p[r],d[r],0,Math.PI,i),t.arc(_[r],p[r],f[r],Math.PI,0,!i);else t.arc(_[r],p[r],d[r],0,2*Math.PI,!0),t.arc(_[r],p[r],f[r],2*Math.PI,0,!1);t.fill()}this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),t.beginPath(),t.arc(_[r],p[r],d[r],0,2*Math.PI),t.moveTo(_[r]+f[r],p[r]),t.arc(_[r],p[r],f[r],0,2*Math.PI),c.push(t.stroke())):c.push(void 0)}return c},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;for(c=t.sx,d=t.sy,v=this.renderer.xscale.invert(c),g=v-this.max_radius,y=v+this.max_radius,b=this.renderer.yscale.invert(d),x=b-this.max_radius,w=b+this.max_radius,i=[],e=o.validate_bbox_coords([g,y],[x,w]),h=this.index.indices(e),a=0,l=h.length;a<l;a++)r=h[a],u=Math.pow(this.souter_radius[r],2),s=Math.pow(this.sinner_radius[r],2),k=this.renderer.xscale.r_compute(v,this._x[r]),_=k[0],p=k[1],S=this.renderer.yscale.r_compute(b,this._y[r]),f=S[0],m=S[1],(n=Math.pow(_-p,2)+Math.pow(f-m,2))<=u&&n>=s&&i.push([r,n]);return o.create_1d_hit_test_result(i);var k,S},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_;return a=[o],c={},c[o]=(e+n)/2,_={},_[o]=(i+r)/2,l=.5*Math.min(Math.abs(n-e),Math.abs(r-i)),u={},u[o]=.4*l,h={},h[o]=.8*l,s={sx:c,sy:_,sinner_radius:u,souter_radius:h},this._render(t,a,s)},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Annulus=a,a.prototype.default_view=n.AnnulusView,a.prototype.type=\"Annulus\",a.mixins([\"line\",\"fill\"]),a.define({inner_radius:[s.DistanceSpec],outer_radius:[s.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.ArcView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sradius,c=n._start_angle,_=n._end_angle;if(this.visuals.line.doit){for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+h[r]+c[r]+_[r])||(t.beginPath(),t.arc(l[r],u[r],h[r],c[r],_[r],i),this.visuals.line.set_vectorize(t,r),a.push(t.stroke()));return a}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Arc=s,s.prototype.default_view=n.ArcView,s.prototype.type=\"Arc\",s.mixins([\"line\"]),s.define({direction:[o.Direction,\"anticlock\"],radius:[o.DistanceSpec],start_angle:[o.AngleSpec],end_angle:[o.AngleSpec]})},function(t,e,n){var i,r=t(364),o=t(36),s=t(108);i=function(t,e,n,i,r,o,s,a){var l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S;for(w=[],c=[[],[]],p=m=0;m<=2;p=++m)if(0===p?(u=6*t-12*n+6*r,l=-3*t+9*n-9*r+3*s,_=3*n-3*t):(u=6*e-12*i+6*o,l=-3*e+9*i-9*o+3*a,_=3*i-3*e),Math.abs(l)<1e-12){if(Math.abs(u)<1e-12)continue;0<(y=-_/u)&&y<1&&w.push(y)}else h=u*u-4*_*l,g=Math.sqrt(h),h<0||(0<(b=(-u+g)/(2*l))&&b<1&&w.push(b),0<(x=(-u-g)/(2*l))&&x<1&&w.push(x));for(d=w.length,f=d;d--;)y=w[d],k=(v=1-y)*v*v*t+3*v*v*y*n+3*v*y*y*r+y*y*y*s,c[0][d]=k,S=v*v*v*e+3*v*v*y*i+3*v*y*y*o+y*y*y*a,c[1][d]=S;return c[0][f]=t,c[1][f]=e,c[0][f+1]=s,c[1][f+1]=a,[Math.min.apply(null,c[0]),Math.max.apply(null,c[1]),Math.max.apply(null,c[0]),Math.min.apply(null,c[1])]},n.BezierView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._index_data=function(){var t,e,n,r,s,a,l,u;for(n=[],t=e=0,r=this._x0.length;0<=r?e<r:e>r;t=0<=r?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t]+this._cx0[t]+this._cy0[t]+this._cx1[t]+this._cy1[t])||(h=i(this._x0[t],this._y0[t],this._x1[t],this._y1[t],this._cx0[t],this._cy0[t],this._cx1[t],this._cy1[t]),s=h[0],l=h[1],a=h[2],u=h[3],n.push({minX:s,minY:l,maxX:a,maxY:u,i:t}));return new o.RBush(n);var h},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1,c=(n.scx,n.scx0),_=n.scy0,p=n.scx1,d=n.scy1;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.bezierCurveTo(c[i],_[i],p[i],d[i],u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(s.Glyph);n.Bezier=a,a.prototype.default_view=n.BezierView,a.prototype.type=\"Bezier\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"],[\"cx0\",\"cy0\"],[\"cx1\",\"cy1\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(36),o=t(108),s=t(9);n.BoxView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_box=function(t){var e,n,i,o,s,a,l,u;for(s=[],n=i=0,l=t;0<=l?i<l:i>l;n=0<=l?++i:--i)h=this._lrtb(n),o=h[0],a=h[1],u=h[2],e=h[3],!isNaN(o+a+u+e)&&isFinite(o+a+u+e)&&s.push({minX:o,minY:e,maxX:a,maxY:u,i:n});return new r.RBush(s);var h},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sleft,l=n.sright,u=n.stop,h=n.sbottom;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+u[i]+l[i]+h[i])||(this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fillRect(a[i],u[i],l[i]-a[i],h[i]-u[i])),this.visuals.line.doit?(t.beginPath(),t.rect(a[i],u[i],l[i]-a[i],h[i]-u[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype._hit_rect=function(t){return this._hit_rect_against_index(t)},e.prototype._hit_point=function(t){var e,n,i,r,o,a;return i=t.sx,r=t.sy,o=this.renderer.xscale.invert(i),a=this.renderer.yscale.invert(r),e=this.index.indices({minX:o,minY:a,maxX:o,maxY:a}),n=s.create_hit_test_result(),n[\"1d\"].indices=e,n},e.prototype._hit_span=function(t){var e,n,i,r,o,a,l,u,h,c,_,p;return u=t.sx,h=t.sy,\"v\"===t.direction?(p=this.renderer.yscale.invert(h),n=this.renderer.plot_view.frame.bbox.h_range,d=this.renderer.xscale.r_invert(n.start,n.end),o=d[0],i=d[1],e=this.index.indices({minX:o,minY:p,maxX:i,maxY:p})):(_=this.renderer.xscale.invert(u),c=this.renderer.plot_view.frame.bbox.v_range,f=this.renderer.yscale.r_invert(c.start,c.end),a=f[0],r=f[1],e=this.index.indices({minX:_,minY:a,maxX:_,maxY:r})),l=s.create_hit_test_result(),l[\"1d\"].indices=e,l;var d,f},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(o.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.Box=a,a.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.CircleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){var t,e;return null!=this._radius?\"data\"===this.model.properties.radius.spec.units?(t=this.model.properties.radius_dimension.spec.value,this.sradius=this.sdist(this.renderer[t+\"scale\"],this[\"_\"+t],this._radius)):(this.sradius=this._radius,this.max_size=2*this.max_radius):this.sradius=function(){var t,n,i,r;for(i=this._size,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(e/2);return r}.call(this)},e.prototype._mask_data=function(t){var e,n,i,r,s,a,l,u,h,c,_;return p=this.renderer.plot_view.frame.bbox.ranges,n=p[0],l=p[1],null!=this._radius&&\"data\"===this.model.properties.radius.units?(i=n.start,r=n.end,d=this.renderer.xscale.r_invert(i,r),u=d[0],h=d[1],u-=this.max_radius,h+=this.max_radius,s=l.start,a=l.end,f=this.renderer.yscale.r_invert(s,a),c=f[0],_=f[1],c-=this.max_radius,_+=this.max_radius):(i=n.start-this.max_size,r=n.end+this.max_size,m=this.renderer.xscale.r_invert(i,r),u=m[0],h=m[1],s=l.start-this.max_size,a=l.end+this.max_size,v=this.renderer.yscale.r_invert(s,a),c=v[0],_=v[1]),e=o.validate_bbox_coords([u,h],[c,_]),this.index.indices(e);var p,d,f,m,v},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sradius;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i])||(t.beginPath(),t.arc(a[i],l[i],u[i],0,2*Math.PI,!1),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;if(_=t.sx,f=t.sy,g=this.renderer.xscale.invert(_),x=this.renderer.yscale.invert(f),null!=this._radius&&\"data\"===this.model.properties.radius.units?(y=g-this.max_radius,b=g+this.max_radius,w=x-this.max_radius,k=x+this.max_radius):(p=_-this.max_size,d=_+this.max_size,S=this.renderer.xscale.r_invert(p,d),y=S[0],b=S[1],T=[Math.min(y,b),Math.max(y,b)],y=T[0],b=T[1],m=f-this.max_size,v=f+this.max_size,M=this.renderer.yscale.r_invert(m,v),w=M[0],k=M[1],A=[Math.min(w,k),Math.max(w,k)],w=A[0],k=A[1]),e=o.validate_bbox_coords([y,b],[w,k]),n=this.index.indices(e),r=[],null!=this._radius&&\"data\"===this.model.properties.radius.units)for(a=0,u=n.length;a<u;a++)s=n[a],c=Math.pow(this.sradius[s],2),E=this.renderer.xscale.r_compute(g,this._x[s]),p=E[0],d=E[1],z=this.renderer.yscale.r_compute(x,this._y[s]),m=z[0],v=z[1],(i=Math.pow(p-d,2)+Math.pow(m-v,2))<=c&&r.push([s,i]);else for(l=0,h=n.length;l<h;l++)s=n[l],c=Math.pow(this.sradius[s],2),(i=Math.pow(this.sx[s]-_,2)+Math.pow(this.sy[s]-f,2))<=c&&r.push([s,i]);return o.create_1d_hit_test_result(r);var S,T,M,A,E,z},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;return h=t.sx,p=t.sy,b=this.bounds(),s=b.minX,a=b.minY,i=b.maxX,r=b.maxY,u=o.create_hit_test_result(),\"h\"===t.direction?(g=a,y=r,null!=this._radius&&\"data\"===this.model.properties.radius.units?(c=h-this.max_radius,_=h+this.max_radius,x=this.renderer.xscale.r_invert(c,_),m=x[0],v=x[1]):(l=this.max_size/2,c=h-l,_=h+l,w=this.renderer.xscale.r_invert(c,_),m=w[0],v=w[1])):(m=s,v=i,null!=this._radius&&\"data\"===this.model.properties.radius.units?(d=p-this.max_radius,f=p+this.max_radius,k=this.renderer.yscale.r_invert(d,f),g=k[0],y=k[1]):(l=this.max_size/2,d=p-l,f=p+l,S=this.renderer.yscale.r_invert(d,f),g=S[0],y=S[1])),e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),u[\"1d\"].indices=n,u;var b,x,w,k,S},e.prototype._hit_rect=function(t){var e,n,i,r,s,a,l,u,h,c;return i=t.sx0,r=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,r),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=o.validate_bbox_coords([l,u],[h,c]),n=o.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},e.prototype._hit_poly=function(t){var e,n,i,r,s,a,l,u,h,c;for(h=t.sx,c=t.sy,e=function(){u=[];for(var t=0,e=this.sx.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this),n=[],i=s=0,a=e.length;0<=a?s<a:s>a;i=0<=a?++s:--s)r=e[i],o.point_in_poly(this.sx[i],this.sy[i],h,c)&&n.push(r);return l=o.create_hit_test_result(),l[\"1d\"].indices=n,l},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h;return a=[o],u={},u[o]=(e+n)/2,h={},h[o]=(i+r)/2,l={},l[o]=.2*Math.min(Math.abs(n-e),Math.abs(r-i)),s={sx:u,sy:h,sradius:l},this._render(t,a,s)},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.properties.radius.optional=!0},e}(r.XYGlyph);n.Circle=a,a.prototype.default_view=n.CircleView,a.prototype.type=\"Circle\",a.mixins([\"line\",\"fill\"]),a.define({angle:[s.AngleSpec,0],size:[s.DistanceSpec,{units:\"screen\",value:4}],radius:[s.DistanceSpec,null],radius_dimension:[s.String,\"x\"]})},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.EllipseView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){return\"data\"===this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"===this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sw,h=n.sh;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+this._angle[i])||(t.beginPath(),t.ellipse(a[i],l[i],u[i]/2,h[i]/2,this._angle[i],0,2*Math.PI),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,i),s.push(t.stroke())):s.push(void 0));return s},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;return l=[o],_={},_[o]=(e+n)/2,p={},p[o]=(i+r)/2,u=this.sw[o]/this.sh[o],s=.8*Math.min(Math.abs(n-e),Math.abs(r-i)),c={},h={},u>1?(c[o]=s,h[o]=s/u):(c[o]=s*u,h[o]=s),a={sx:_,sy:p,sw:c,sh:h},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Ellipse=s,s.prototype.default_view=n.EllipseView,s.prototype.type=\"Ellipse\",s.mixins([\"line\",\"fill\"]),s.define({angle:[o.AngleSpec,0],width:[o.DistanceSpec],height:[o.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(9),o=t(15),s=t(23),a=t(32),l=t(45),u=t(50),h=t(46),c=t(14),_=t(30),p=t(42),d=t(114);n.GlyphView=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(n,e),n.prototype.initialize=function(n){var i,r,o,s;if(e.prototype.initialize.call(this,n),this._nohit_warned={},this.renderer=n.renderer,this.visuals=new h.Visuals(this.model),null!=(r=this.renderer.plot_view.canvas_view.ctx).glcanvas){try{s=t(425)}catch(t){if(\"MODULE_NOT_FOUND\"!==(o=t).code)throw o;c.logger.warn(\"WebGL was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2D rendering.\"),s=null}if(null!=s&&null!=(i=s[this.model.type+\"GLGlyph\"]))return this.glglyph=new i(r.glcanvas.gl,this)}},n.prototype.set_visuals=function(t){if(this.visuals.warm_cache(t),null!=this.glglyph)return this.glglyph.set_visuals_changed()},n.prototype.render=function(t,e,n){if(t.beginPath(),null==this.glglyph||!this.glglyph.render(t,e,n))return this._render(t,e,n)},n.prototype.has_finished=function(){return!0},n.prototype.notify_finished=function(){return this.renderer.notify_finished()},n.prototype.bounds=function(){return null==this.index?s.empty():this._bounds(this.index.bbox)},n.prototype.log_bounds=function(){var t,e,n,i,r,o,a,l,u;if(null==this.index)return s.empty();for(t=s.empty(),o=this.index.search(s.positive_x()),a=this.index.search(s.positive_y()),e=0,i=o.length;e<i;e++)(l=o[e]).minX<t.minX&&(t.minX=l.minX),l.maxX>t.maxX&&(t.maxX=l.maxX);for(n=0,r=a.length;n<r;n++)(u=a[n]).minY<t.minY&&(t.minY=u.minY),u.maxY>t.maxY&&(t.maxY=u.maxY);return this._bounds(t)},n.prototype.max_wh2_bounds=function(t){return{minX:t.minX-this.max_w2,maxX:t.maxX+this.max_w2,minY:t.minY-this.max_h2,maxY:t.maxY+this.max_h2}},n.prototype.get_anchor_point=function(t,e,n){var i=n[0],r=n[1];switch(t){case\"center\":return{x:this.scx(e,i,r),y:this.scy(e,i,r)};default:return null}},n.prototype.scx=function(t){return this.sx[t]},n.prototype.scy=function(t){return this.sy[t]},n.prototype.sdist=function(t,e,n,i,r){void 0===i&&(i=\"edge\"),void 0===r&&(r=!1);var o,s,a,l,u,h,c;return null!=t.source_range.v_synthetic&&(e=t.source_range.v_synthetic(e)),\"center\"===i?(s=function(){var t,e,i;for(i=[],t=0,e=n.length;t<e;t++)o=n[t],i.push(o/2);return i}(),l=function(){var t,n,i;for(i=[],a=t=0,n=e.length;0<=n?t<n:t>n;a=0<=n?++t:--t)i.push(e[a]-s[a]);return i}(),u=function(){var t,n,i;for(i=[],a=t=0,n=e.length;0<=n?t<n:t>n;a=0<=n?++t:--t)i.push(e[a]+s[a]);return i}()):(l=e,u=function(){var t,e,i;for(i=[],a=t=0,e=l.length;0<=e?t<e:t>e;a=0<=e?++t:--t)i.push(l[a]+n[a]);return i}()),h=t.v_compute(l),c=t.v_compute(u),r?function(){var t,e,n;for(n=[],a=t=0,e=h.length;0<=e?t<e:t>e;a=0<=e?++t:--t)n.push(Math.ceil(Math.abs(c[a]-h[a])));return n}():function(){var t,e,n;for(n=[],a=t=0,e=h.length;0<=e?t<e:t>e;a=0<=e?++t:--t)n.push(Math.abs(c[a]-h[a]));return n}()},n.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return null},n.prototype._generic_line_legend=function(t,e,n,i,r,o){return t.save(),t.beginPath(),t.moveTo(e,(i+r)/2),t.lineTo(n,(i+r)/2),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,o),t.stroke()),t.restore()},n.prototype._generic_area_legend=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;if([o],p=Math.abs(n-e),a=.1*p,l=Math.abs(r-i),s=.1*l,u=e+a,h=n-a,c=i+s,_=r-s,this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,o),t.fillRect(u,c,h-u,_-c)),this.visuals.line.doit)return t.beginPath(),t.rect(u,c,h-u,_-c),this.visuals.line.set_vectorize(t,o),t.stroke()},n.prototype.hit_test=function(t){var e,n;return n=null,e=\"_hit_\"+t.type,null!=this[e]?n=this[e](t):null==this._nohit_warned[t.type]&&(c.logger.debug(\"'\"+t.type+\"' selection not available for \"+this.model.type),this._nohit_warned[t.type]=!0),n},n.prototype._hit_rect_against_index=function(t){var e,n,i,o,s,a,l,u,h,c;return i=t.sx0,o=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,o),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=r.validate_bbox_coords([l,u],[h,c]),n=r.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},n.prototype.set_data=function(t,e,n){var i,r,o,s,l,u,h,c,p,f,m,v;if(i=this.model.materialize_dataspecs(t),this.visuals.set_all_indices(e),e&&!(this instanceof d.LineView)){r={};for(l in i)c=i[l],\"_\"===l.charAt(0)?r[l]=function(){var t,n,i;for(i=[],t=0,n=e.length;t<n;t++)o=e[t],i.push(c[o]);return i}():r[l]=c;i=r}if(_.extend(this,i),this.renderer.plot_view.model.use_map&&(null!=this._x&&(g=a.project_xy(this._x,this._y),this._x=g[0],this._y=g[1]),null!=this._xs&&(y=a.project_xsys(this._xs,this._ys),this._xs=y[0],this._ys=y[1])),null!=this.renderer.plot_view.frame.x_ranges)for(f=this.renderer.plot_view.frame.x_ranges[this.model.x_range_name],v=this.renderer.plot_view.frame.y_ranges[this.model.y_range_name],h=this.model._coords,s=0,u=h.length;s<u;s++)b=h[s],p=b[0],m=b[1],p=\"_\"+p,m=\"_\"+m,null!=f.v_synthetic&&(this[p]=f.v_synthetic(this[p])),null!=v.v_synthetic&&(this[m]=v.v_synthetic(this[m]));return null!=this.glglyph&&this.glglyph.set_data_changed(this._x.length),this._set_data(t,n),this.index=this._index_data();var g,y,b},n.prototype._set_data=function(){},n.prototype._index_data=function(){},n.prototype.mask_data=function(t){return null!=this.glglyph?t:this._mask_data(t)},n.prototype._mask_data=function(t){return t},n.prototype._bounds=function(t){return t},n.prototype.map_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,d,f;for(r=this.model._coords,e=0,i=r.length;e<i;e++)if(m=r[e],d=m[0],f=m[1],h=\"s\"+d,_=\"s\"+f,d=\"_\"+d,f=\"_\"+f,p.isArray(null!=(o=this[d])?o[0]:void 0)||(null!=(s=this[d])&&null!=(a=s[0])?a.buffer:void 0)instanceof ArrayBuffer)for(v=[[],[]],this[h]=v[0],this[_]=v[1],t=n=0,l=this[d].length;0<=l?n<l:n>l;t=0<=l?++n:--n)g=this.map_to_screen(this[d][t],this[f][t]),u=g[0],c=g[1],this[h].push(u),this[_].push(c);else y=this.map_to_screen(this[d],this[f]),this[h]=y[0],this[_]=y[1];return this._map_data();var m,v,g,y},n.prototype._map_data=function(){},n.prototype.map_to_screen=function(t,e){return this.renderer.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},n}(l.View);var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.coords=function(t){var e,n,i,r,s,a;for(e=this.prototype._coords.concat(t),this.prototype._coords=e,r={},n=0,i=t.length;n<i;n++)l=t[n],s=l[0],a=l[1],r[s]=[o.NumberSpec],r[a]=[o.NumberSpec];return this.define(r);var l},e}(u.Model);n.Glyph=f,f.prototype._coords=[],f.internal({x_range_name:[o.String,\"default\"],y_range_name:[o.String,\"default\"]})},function(t,e,n){var i=t(364),r=t(105),o=t(15);n.HBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.scx=function(t){return(this.sleft[t]+this.sright[t])/2},e.prototype._index_data=function(){return this._index_box(this._y.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=Math.min(this._left[t],this._right[t]),i=Math.max(this._left[t],this._right[t]),r=this._y[t]+.5*this._height[t],e=this._y[t]-.5*this._height[t],[n,i,r,e]},e.prototype._map_data=function(){var t,e,n;for(this.sy=this.renderer.yscale.v_compute(this._y),this.sright=this.renderer.xscale.v_compute(this._right),this.sleft=this.renderer.xscale.v_compute(this._left),this.stop=[],this.sbottom=[],this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"),t=e=0,n=this.sy.length;0<=n?e<n:e>n;t=0<=n?++e:--e)this.stop.push(this.sy[t]-this.sh[t]/2),this.sbottom.push(this.sy[t]+this.sh[t]/2);return null},e}(r.BoxView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.HBar=s,s.prototype.default_view=n.HBarView,s.prototype.type=\"HBar\",s.coords([[\"left\",\"y\"]]),s.define({height:[o.DistanceSpec],right:[o.NumberSpec]}),s.override({left:0})},function(t,e,n){var i=t(364),r=t(128),o=t(146),s=t(15),a=t(22);n.ImageView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.color_mapper.change,function(){return this._update_image()})},e.prototype._update_image=function(){if(null!=this.image_data)return this._set_data(),this.renderer.plot_view.request_render()},e.prototype._set_data=function(){var t,e,n,i,r,o,s,l,u,h,c,_;for(null!=this.image_data&&this.image_data.length===this._image.length||(this.image_data=new Array(this._image.length)),null!=this._width&&this._width.length===this._image.length||(this._width=new Array(this._image.length)),null!=this._height&&this._height.length===this._image.length||(this._height=new Array(this._image.length)),c=[],o=u=0,h=this._image.length;0<=h?u<h:u>h;o=0<=h?++u:--u)_=[],null!=this._image_shape&&(_=this._image_shape[o]),_.length>0?(l=this._image[o],this._height[o]=_[0],this._width[o]=_[1]):(l=a.concat(this._image[o]),this._height[o]=this._image[o].length,this._width[o]=this._image[o][0].length),null!=this.image_data[o]&&this.image_data[o].width===this._width[o]&&this.image_data[o].height===this._height[o]?n=this.image_data[o]:((n=document.createElement(\"canvas\")).width=this._width[o],n.height=this._height[o]),r=n.getContext(\"2d\"),s=r.getImageData(0,0,this._width[o],this._height[o]),i=this.model.color_mapper,t=i.v_map_screen(l,!0),e=new Uint8Array(t),s.data.set(e),r.putImageData(s,0,0),this.image_data[o]=n,this.max_dw=0,\"data\"===this._dw.units&&(this.max_dw=a.max(this._dw)),this.max_dh=0,\"data\"===this._dh.units?c.push(this.max_dh=a.max(this._dh)):c.push(void 0);return c},e.prototype._map_data=function(){switch(this.model.properties.dw.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,this._dw,\"edge\",this.model.dilate);break;case\"screen\":this.sw=this._dw}switch(this.model.properties.dh.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,this._dh,\"edge\",this.model.dilate);case\"screen\":return this.sh=this._dh}},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.image_data,u=n.sx,h=n.sy,c=n.sw,_=n.sh;for(s=t.getImageSmoothingEnabled(),t.setImageSmoothingEnabled(!1),r=0,o=e.length;r<o;r++)i=e[r],null!=l[i]&&(isNaN(u[i]+h[i]+c[i]+_[i])||(a=h[i],t.translate(0,a),t.scale(1,-1),t.translate(0,-a),t.drawImage(l[i],0|u[i],0|h[i],c[i],_[i]),t.translate(0,a),t.scale(1,-1),t.translate(0,-a)));return t.setImageSmoothingEnabled(s)},e.prototype.bounds=function(){var t;return t=this.index.bbox,t.maxX+=this.max_dw,t.maxY+=this.max_dh,t},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Image=l,l.prototype.default_view=n.ImageView,l.prototype.type=\"Image\",l.define({image:[s.NumberSpec],dw:[s.DistanceSpec],dh:[s.DistanceSpec],dilate:[s.Bool,!1],color_mapper:[s.Instance,function(){return new o.LinearColorMapper({palette:[0,2434341,5395026,7566195,9868950,12434877,14277081,15790320,16777215]})}]})},function(t,e,n){var i=t(364),r=t(128),o=t(15),s=t(22);n.ImageRGBAView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(t,e){var n,i,r,o,a,l,u,h,c,_,p,d,f,m,v;for(null!=this.image_data&&this.image_data.length===this._image.length||(this.image_data=new Array(this._image.length)),null!=this._width&&this._width.length===this._image.length||(this._width=new Array(this._image.length)),null!=this._height&&this._height.length===this._image.length||(this._height=new Array(this._image.length)),m=[],u=_=0,d=this._image.length;0<=d?_<d:_>d;u=0<=d?++_:--_)if(!(null!=e&&e.indexOf(u)<0)){if(v=[],null!=this._image_shape&&(v=this._image_shape[u]),v.length>0)n=this._image[u].buffer,this._height[u]=v[0],this._width[u]=v[1];else{for(l=s.concat(this._image[u]),n=new ArrayBuffer(4*l.length),o=new Uint32Array(n),c=p=0,f=l.length;0<=f?p<f:p>f;c=0<=f?++p:--p)o[c]=l[c];this._height[u]=this._image[u].length,this._width[u]=this._image[u][0].length}null!=this.image_data[u]&&this.image_data[u].width===this._width[u]&&this.image_data[u].height===this._height[u]?r=this.image_data[u]:((r=document.createElement(\"canvas\")).width=this._width[u],r.height=this._height[u]),a=r.getContext(\"2d\"),h=a.getImageData(0,0,this._width[u],this._height[u]),i=new Uint8Array(n),h.data.set(i),a.putImageData(h,0,0),this.image_data[u]=r,this.max_dw=0,\"data\"===this._dw.units&&(this.max_dw=s.max(this._dw)),this.max_dh=0,\"data\"===this._dh.units?m.push(this.max_dh=s.max(this._dh)):m.push(void 0)}return m},e.prototype._map_data=function(){switch(this.model.properties.dw.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,this._dw,\"edge\",this.model.dilate);break;case\"screen\":this.sw=this._dw}switch(this.model.properties.dh.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,this._dh,\"edge\",this.model.dilate);case\"screen\":return this.sh=this._dh}},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.image_data,u=n.sx,h=n.sy,c=n.sw,_=n.sh;for(s=t.getImageSmoothingEnabled(),t.setImageSmoothingEnabled(!1),r=0,o=e.length;r<o;r++)i=e[r],isNaN(u[i]+h[i]+c[i]+_[i])||(a=h[i],t.translate(0,a),t.scale(1,-1),t.translate(0,-a),t.drawImage(l[i],0|u[i],0|h[i],c[i],_[i]),t.translate(0,a),t.scale(1,-1),t.translate(0,-a));return t.setImageSmoothingEnabled(s)},e.prototype.bounds=function(){var t;return t=this.index.bbox,t.maxX+=this.max_dw,t.maxY+=this.max_dh,t},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.ImageRGBA=a,a.prototype.default_view=n.ImageRGBAView,a.prototype.type=\"ImageRGBA\",a.define({image:[o.NumberSpec],dw:[o.DistanceSpec],dh:[o.DistanceSpec],dilate:[o.Bool,!1]})},function(t,e,n){var i=t(364),r=t(108),o=t(14),s=t(15);n.ImageURLView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.model.properties.global_alpha.change,function(){return n.renderer.request_render()})},e.prototype._index_data=function(){},e.prototype._set_data=function(){var t,e,n,i,r,s,a,l=this;for(null!=this.image&&this.image.length===this._url.length||(this.image=function(){var t,n,i,r;for(i=this._url,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(null);return r}.call(this)),s=this.model.retry_attempts,a=this.model.retry_timeout,this.retries=function(){var t,n,i,r;for(i=this._url,r=[],t=0,n=i.length;t<n;t++)e=i[t],r.push(s);return r}.call(this),r=[],t=n=0,i=this._url.length;0<=i?n<i:n>i;t=0<=i?++n:--n)null!=this._url[t]&&((e=new Image).onerror=function(t,e){return function(){return l.retries[t]>0?(o.logger.trace(\"ImageURL failed to load \"+l._url[t]+\" image, retrying in \"+a+\" ms\"),setTimeout(function(){return e.src=l._url[t]},a)):o.logger.warn(\"ImageURL unable to load \"+l._url[t]+\" image after \"+s+\" retries\"),l.retries[t]-=1}}(t,e),e.onload=function(t,e){return function(){return l.image[e]=t,l.renderer.request_render()}}(e,t),r.push(e.src=this._url[t]));return r},e.prototype.has_finished=function(){return t.prototype.has_finished.call(this)&&!0===this._images_rendered},e.prototype._map_data=function(){var t,e,n;switch(e=function(){var t,e,i,r;if(null!=this.model.w)return this._w;for(i=this._x,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(NaN);return r}.call(this),t=function(){var t,e,i,r;if(null!=this.model.h)return this._h;for(i=this._x,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(NaN);return r}.call(this),this.model.properties.w.units){case\"data\":this.sw=this.sdist(this.renderer.xscale,this._x,e,\"edge\",this.model.dilate);break;case\"screen\":this.sw=e}switch(this.model.properties.h.units){case\"data\":return this.sh=this.sdist(this.renderer.yscale,this._y,t,\"edge\",this.model.dilate);case\"screen\":return this.sh=t}},e.prototype._render=function(t,e,n){n._url;var i,r,o,s,a,l=n.image,u=n.sx,h=n.sy,c=n.sw,_=n.sh,p=n._angle;for(r=this.renderer.plot_view.frame,t.rect(r._left.value+1,r._top.value+1,r._width.value-2,r._height.value-2),t.clip(),i=!0,s=0,a=e.length;s<a;s++)o=e[s],isNaN(u[o]+h[o]+p[o])||-1!==this.retries[o]&&(null!=l[o]?this._render_image(t,o,l[o],u,h,c,_,p):i=!1);if(i&&!this._images_rendered)return this._images_rendered=!0,this.notify_finished()},e.prototype._final_sx_sy=function(t,e,n,i,r){switch(t){case\"top_left\":return[e,n];case\"top_center\":return[e-i/2,n];case\"top_right\":return[e-i,n];case\"center_right\":return[e-i,n-r/2];case\"bottom_right\":return[e-i,n-r];case\"bottom_center\":return[e-i/2,n-r];case\"bottom_left\":return[e,n-r];case\"center_left\":return[e,n-r/2];case\"center\":return[e-i/2,n-r/2]}},e.prototype._render_image=function(t,e,n,i,r,o,s,a){var l;return isNaN(o[e])&&(o[e]=n.width),isNaN(s[e])&&(s[e]=n.height),l=this.model.anchor,u=this._final_sx_sy(l,i[e],r[e],o[e],s[e]),i=u[0],r=u[1],t.save(),t.globalAlpha=this.model.global_alpha,a[e]?(t.translate(i,r),t.rotate(a[e]),t.drawImage(n,0,0,o[e],s[e]),t.rotate(-a[e]),t.translate(-i,-r)):t.drawImage(n,i,r,o[e],s[e]),t.restore();var u},e}(r.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Glyph);n.ImageURL=a,a.prototype.default_view=n.ImageURLView,a.prototype.type=\"ImageURL\",a.coords([[\"x\",\"y\"]]),a.mixins([]),a.define({url:[s.StringSpec],anchor:[s.Anchor,\"top_left\"],global_alpha:[s.Number,1],angle:[s.AngleSpec,0],w:[s.DistanceSpec],h:[s.DistanceSpec],dilate:[s.Bool,!1],retry_attempts:[s.Number,0],retry_timeout:[s.Number,0]})},function(t,e,n){var i=t(101);n.AnnularWedge=i.AnnularWedge;var r=t(102);n.Annulus=r.Annulus;var o=t(103);n.Arc=o.Arc;var s=t(104);n.Bezier=s.Bezier;var a=t(106);n.Circle=a.Circle;var l=t(107);n.Ellipse=l.Ellipse;var u=t(108);n.Glyph=u.Glyph;var h=t(109);n.HBar=h.HBar;var c=t(110);n.Image=c.Image;var _=t(111);n.ImageRGBA=_.ImageRGBA;var p=t(112);n.ImageURL=p.ImageURL;var d=t(114);n.Line=d.Line;var f=t(115);n.MultiLine=f.MultiLine;var m=t(116);n.Oval=m.Oval;var v=t(117);n.Patch=v.Patch;var g=t(118);n.Patches=g.Patches;var y=t(119);n.Quad=y.Quad;var b=t(120);n.Quadratic=b.Quadratic;var x=t(121);n.Ray=x.Ray;var w=t(122);n.Rect=w.Rect;var k=t(123);n.Segment=k.Segment;var S=t(124);n.Step=S.Step;var T=t(125);n.Text=T.Text;var M=t(126);n.VBar=M.VBar;var A=t(127);n.Wedge=A.Wedge;var E=t(128);n.XYGlyph=E.XYGlyph},function(t,e,n){var i=t(364),r=t(128),o=t(9);n.LineView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy;for(i=!1,this.visuals.line.set_value(t),s=null,o=0,a=e.length;o<a;o++){if(r=e[o],i){if(!isFinite(l[r]+u[r])){t.stroke(),t.beginPath(),i=!1,s=r;continue}null!==s&&r-s>1&&(t.stroke(),i=!1)}i?t.lineTo(l[r],u[r]):(t.beginPath(),t.moveTo(l[r],u[r]),i=!0),s=r}if(i)return t.stroke()},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c;for(u=o.create_hit_test_result(),a={x:t.sx,y:t.sy},h=9999,c=Math.max(2,this.visuals.line.line_width.value()/2),n=i=0,l=this.sx.length-1;0<=l?i<l:i>l;n=0<=l?++i:--i)_=[{x:this.sx[n],y:this.sy[n]},{x:this.sx[n+1],y:this.sy[n+1]}],r=_[0],s=_[1],(e=o.dist_to_segment(a,r,s))<c&&e<h&&(h=e,u[\"0d\"].glyph=this.model,u[\"0d\"].get_view=function(){return this}.bind(this),u[\"0d\"].flag=!0,u[\"0d\"].indices=[n]);return u;var _},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u;for(s=t.sx,a=t.sy,r=o.create_hit_test_result(),\"v\"===t.direction?(l=this.renderer.yscale.invert(a),u=this._y):(l=this.renderer.xscale.invert(s),u=this._x),e=n=0,i=u.length-1;0<=i?n<i:n>i;e=0<=i?++n:--n)(u[e]<=l&&l<=u[e+1]||u[e+1]<=l&&l<=u[e])&&(r[\"0d\"].glyph=this.model,r[\"0d\"].get_view=function(){return this}.bind(this),r[\"0d\"].flag=!0,r[\"0d\"].indices.push(e));return r},e.prototype.get_interpolation_hit=function(t,e){var n,i,r,s,a,l,u,h,c,_,p;return i=e.sx,r=e.sy,d=[this._x[t],this._y[t],this._x[t+1],this._y[t+1]],l=d[0],_=d[1],u=d[2],p=d[3],\"point\"===e.type?(f=this.renderer.yscale.r_invert(r-1,r+1),h=f[0],c=f[1],m=this.renderer.xscale.r_invert(i-1,i+1),s=m[0],a=m[1]):\"v\"===e.direction?(v=this.renderer.yscale.r_invert(r,r),h=v[0],c=v[1],s=(g=[l,u])[0],a=g[1]):(y=this.renderer.xscale.r_invert(i,i),s=y[0],a=y[1],h=(b=[_,p])[0],c=b[1]),n=o.check_2_segments_intersect(s,h,a,c,l,_,u,p),[n.x,n.y];var d,f,m,v,g,y,b},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Line=s,s.prototype.default_view=n.LineView,s.prototype.type=\"Line\",s.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(36),o=t(9),s=t(22),a=t(42),l=t(108);n.MultiLineView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i,o,l,u,h;for(n=[],t=e=0,i=this._xs.length;0<=i?e<i:e>i;t=0<=i?++e:--e)null!==this._xs[t]&&0!==this._xs[t].length&&(l=function(){var e,n,i,r;for(i=this._xs[t],r=[],e=0,n=i.length;e<n;e++)o=i[e],a.isStrictNaN(o)||r.push(o);return r}.call(this),h=function(){var e,n,i,r;for(i=this._ys[t],r=[],e=0,n=i.length;e<n;e++)u=i[e],a.isStrictNaN(u)||r.push(u);return r}.call(this),n.push({minX:s.min(l),minY:s.min(h),maxX:s.max(l),maxY:s.max(h),i:t}));return new r.RBush(n)},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sxs,p=n.sys;for(u=[],o=0,a=e.length;o<a;o++){for(i=e[o],d=[_[i],p[i]],h=d[0],c=d[1],this.visuals.line.set_vectorize(t,i),r=s=0,l=h.length;0<=l?s<l:s>l;r=0<=l?++s:--s)0!==r?isNaN(h[r])||isNaN(c[r])?(t.stroke(),t.beginPath()):t.lineTo(h[r],c[r]):(t.beginPath(),t.moveTo(h[r],c[r]));u.push(t.stroke())}return u;var d},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m;for(d=o.create_hit_test_result(),h={x:t.sx,y:t.sy},f=9999,n={},i=s=0,_=this.sxs.length;0<=_?s<_:s>_;i=0<=_?++s:--s){for(m=Math.max(2,this.visuals.line.cache_select(\"line_width\",i)/2),c=null,r=a=0,p=this.sxs[i].length-1;0<=p?a<p:a>p;r=0<=p?++a:--a)v=[{x:this.sxs[i][r],y:this.sys[i][r]},{x:this.sxs[i][r+1],y:this.sys[i][r+1]}],l=v[0],u=v[1],(e=o.dist_to_segment(h,l,u))<m&&e<f&&(f=e,c=[r]);c&&(n[i]=c)}return d[\"1d\"].indices=function(){var t,e,r,o;for(r=Object.keys(n),o=[],e=0,t=r.length;e<t;e++)i=r[e],o.push(parseInt(i));return o}(),d[\"2d\"].indices=n,d;var v},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d;for(c=t.sx,_=t.sy,h=o.create_hit_test_result(),\"v\"===t.direction?(p=this.renderer.yscale.invert(_),d=this._ys):(p=this.renderer.xscale.invert(c),d=this._xs),e={},n=r=0,l=d.length;0<=l?r<l:r>l;n=0<=l?++r:--r){for(a=[],i=s=0,u=d[n].length-1;0<=u?s<u:s>u;i=0<=u?++s:--s)d[n][i]<=p&&p<=d[n][i+1]&&a.push(i);a.length>0&&(e[n]=a)}return h[\"1d\"].indices=function(){var t,i,r,o;for(r=Object.keys(e),o=[],i=0,t=r.length;i<t;i++)n=r[i],o.push(parseInt(n));return o}(),h[\"2d\"].indices=e,h},e.prototype.get_interpolation_hit=function(t,e,n){var i,r,s,a,l,u,h,c,_,p,d;return r=n.sx,s=n.sy,f=[this._xs[t][e],this._ys[t][e],this._xs[t][e+1],this._ys[t][e+1]],u=f[0],p=f[1],h=f[2],d=f[3],\"point\"===n.type?(m=this.renderer.yscale.r_invert(s-1,s+1),c=m[0],_=m[1],v=this.renderer.xscale.r_invert(r-1,r+1),a=v[0],l=v[1]):\"v\"===n.direction?(g=this.renderer.yscale.r_invert(s,s),c=g[0],_=g[1],a=(y=[u,h])[0],l=y[1]):(b=this.renderer.xscale.r_invert(r,r),a=b[0],l=b[1],c=(x=[p,d])[0],_=x[1]),i=o.check_2_segments_intersect(a,c,l,_,u,p,h,d),[i.x,i.y];var f,m,v,g,y,b,x},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(l.GlyphView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Glyph);n.MultiLine=u,u.prototype.default_view=n.MultiLineView,u.prototype.type=\"MultiLine\",u.coords([[\"xs\",\"ys\"]]),u.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.OvalView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){return\"data\"===this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"):this.sw=this._width,\"data\"===this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this._height,\"center\"):this.sh=this._height},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx,l=n.sy,u=n.sw,h=n.sh;for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+this._angle[i])||(t.translate(a[i],l[i]),t.rotate(this._angle[i]),t.beginPath(),t.moveTo(0,-h[i]/2),t.bezierCurveTo(u[i]/2,-h[i]/2,u[i]/2,h[i]/2,0,h[i]/2),t.bezierCurveTo(-u[i]/2,h[i]/2,-u[i]/2,-h[i]/2,0,-h[i]/2),t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,i),t.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(t,i),t.stroke()),t.rotate(-this._angle[i]),s.push(t.translate(-a[i],-l[i])));return s},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c,_,p;return l=[o],_={},_[o]=(e+n)/2,p={},p[o]=(i+r)/2,u=this.sw[o]/this.sh[o],s=.8*Math.min(Math.abs(n-e),Math.abs(r-i)),c={},h={},u>1?(c[o]=s,h[o]=s/u):(c[o]=s*u,h[o]=s),a={sx:_,sy:p,sw:c,sh:h},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Oval=s,s.prototype.default_view=n.OvalView,s.prototype.type=\"Oval\",s.mixins([\"line\",\"fill\"]),s.define({angle:[o.AngleSpec,0],width:[o.DistanceSpec],height:[o.DistanceSpec]})},function(t,e,n){var i=t(364),r=t(128);n.PatchView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy;if(this.visuals.fill.doit){for(this.visuals.fill.set_value(t),r=0,s=e.length;r<s;r++)0!==(i=e[r])?isNaN(l[i]+u[i])?(t.closePath(),t.fill(),t.beginPath()):t.lineTo(l[i],u[i]):(t.beginPath(),t.moveTo(l[i],u[i]));t.closePath(),t.fill()}if(this.visuals.line.doit){for(this.visuals.line.set_value(t),o=0,a=e.length;o<a;o++)0!==(i=e[o])?isNaN(l[i]+u[i])?(t.closePath(),t.stroke(),t.beginPath()):t.lineTo(l[i],u[i]):(t.beginPath(),t.moveTo(l[i],u[i]));return t.closePath(),t.stroke()}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Patch=o,o.prototype.default_view=n.PatchView,o.prototype.type=\"Patch\",o.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(36),o=t(108),s=t(22),a=t(42),l=t(9);n.PatchesView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._build_discontinuous_object=function(t){var e,n,i,r,o,l,u,h,c;for(n={},i=r=0,c=t.length;0<=c?r<c:r>c;i=0<=c?++r:--r)for(n[i]=[],u=s.copy(t[i]);u.length>0;)(o=s.findLastIndex(u,function(t){return a.isStrictNaN(t)}))>=0?h=u.splice(o):(h=u,u=[]),e=function(){var t,e,n;for(n=[],t=0,e=h.length;t<e;t++)l=h[t],a.isStrictNaN(l)||n.push(l);return n}(),n[i].push(e);return n},e.prototype._index_data=function(){var t,e,n,i,o,a,l,u,h,c,_;for(h=this._build_discontinuous_object(this._xs),_=this._build_discontinuous_object(this._ys),o=[],t=n=0,a=this._xs.length;0<=a?n<a:n>a;t=0<=a?++n:--n)for(e=i=0,l=h[t].length;0<=l?i<l:i>l;e=0<=l?++i:--i)u=h[t][e],c=_[t][e],0!==u.length&&o.push({minX:s.min(u),minY:s.min(c),maxX:s.max(u),maxY:s.max(c),i:t});return new r.RBush(o)},e.prototype._mask_data=function(t){var e,n,i,r,o,s,a;return r=this.renderer.plot_view.frame.x_ranges.default,u=[r.min,r.max],n=u[0],i=u[1],a=this.renderer.plot_view.frame.y_ranges.default,h=[a.min,a.max],o=h[0],s=h[1],e=l.validate_bbox_coords([n,i],[o,s]),this.index.indices(e).sort(function(t,e){return t-e});var u,h},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d=n.sxs,f=n.sys;for(this.renderer.sxss=this._build_discontinuous_object(d),this.renderer.syss=this._build_discontinuous_object(f),c=[],o=0,a=e.length;o<a;o++){if(i=e[o],m=[d[i],f[i]],_=m[0],p=m[1],this.visuals.fill.doit){for(this.visuals.fill.set_vectorize(t,i),r=s=0,u=_.length;0<=u?s<u:s>u;r=0<=u?++s:--s)0!==r?isNaN(_[r]+p[r])?(t.closePath(),t.fill(),t.beginPath()):t.lineTo(_[r],p[r]):(t.beginPath(),t.moveTo(_[r],p[r]));t.closePath(),t.fill()}if(this.visuals.line.doit){for(this.visuals.line.set_vectorize(t,i),r=l=0,h=_.length;0<=h?l<h:l>h;r=0<=h?++l:--l)0!==r?isNaN(_[r]+p[r])?(t.closePath(),t.stroke(),t.beginPath()):t.lineTo(_[r],p[r]):(t.beginPath(),t.moveTo(_[r],p[r]));t.closePath(),c.push(t.stroke())}else c.push(void 0)}return c;var m},e.prototype._hit_point=function(t){var e,n,i,r,o,s,a,u,h,c,_,p,d,f,m,v;for(_=t.sx,d=t.sy,m=this.renderer.xscale.invert(_),v=this.renderer.yscale.invert(d),e=this.index.indices({minX:m,minY:v,maxX:m,maxY:v}),n=[],i=s=0,u=e.length;0<=u?s<u:s>u;i=0<=u?++s:--s)for(r=e[i],p=this.renderer.sxss[r],f=this.renderer.syss[r],o=a=0,h=p.length;0<=h?a<h:a>h;o=0<=h?++a:--a)l.point_in_poly(_,d,p[o],f[o])&&n.push(r);return c=l.create_hit_test_result(),c[\"1d\"].indices=n,c},e.prototype._get_snap_coord=function(t){var e,n,i,r;for(r=0,e=0,n=t.length;e<n;e++)i=t[e],r+=i;return r/t.length},e.prototype.scx=function(t,e,n){var i,r,o,s,a;if(1===this.renderer.sxss[t].length)return this._get_snap_coord(this.sxs[t]);for(s=this.renderer.sxss[t],a=this.renderer.syss[t],i=r=0,o=s.length;0<=o?r<o:r>o;i=0<=o?++r:--r)if(l.point_in_poly(e,n,s[i],a[i]))return this._get_snap_coord(s[i]);return null},e.prototype.scy=function(t,e,n){var i,r,o,s,a;if(1===this.renderer.syss[t].length)return this._get_snap_coord(this.sys[t]);for(s=this.renderer.sxss[t],a=this.renderer.syss[t],i=r=0,o=s.length;0<=o?r<o:r>o;i=0<=o?++r:--r)if(l.point_in_poly(e,n,s[i],a[i]))return this._get_snap_coord(a[i])},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(o.GlyphView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.Patches=u,u.prototype.default_view=n.PatchesView,u.prototype.type=\"Patches\",u.coords([[\"xs\",\"ys\"]]),u.mixins([\"line\",\"fill\"])},function(t,e,n){var i=t(364),r=t(105);n.QuadView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_anchor_point=function(t,e,n){var i,r,o,s;switch(r=Math.min(this.sleft[e],this.sright[e]),o=Math.max(this.sright[e],this.sleft[e]),s=Math.min(this.stop[e],this.sbottom[e]),i=Math.max(this.sbottom[e],this.stop[e]),t){case\"top_left\":return{x:r,y:s};case\"top_center\":return{x:(r+o)/2,y:s};case\"top_right\":return{x:o,y:s};case\"center_right\":return{x:o,y:(s+i)/2};case\"bottom_right\":return{x:o,y:i};case\"bottom_center\":return{x:(r+o)/2,y:i};case\"bottom_left\":return{x:r,y:i};case\"center_left\":return{x:r,y:(s+i)/2};case\"center\":return{x:(r+o)/2,y:(s+i)/2}}},e.prototype.scx=function(t){return(this.sleft[t]+this.sright[t])/2},e.prototype.scy=function(t){return(this.stop[t]+this.sbottom[t])/2},e.prototype._index_data=function(){return this._index_box(this._right.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=this._left[t],i=this._right[t],r=this._top[t],e=this._bottom[t],[n,i,r,e]},e}(r.BoxView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.Quad=o,o.prototype.default_view=n.QuadView,o.prototype.type=\"Quad\",o.coords([[\"right\",\"bottom\"],[\"left\",\"top\"]])},function(t,e,n){var i,r=t(364),o=t(36),s=t(108);i=function(t,e,n){var i,r;return e===(t+n)/2?[t,n]:(r=(t-e)/(t-2*e+n),i=t*Math.pow(1-r,2)+2*e*(1-r)*r+n*Math.pow(r,2),[Math.min(t,n,i),Math.max(t,n,i)])},n.QuadraticView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._index_data=function(){var t,e,n,r,s,a,l,u;for(n=[],t=e=0,r=this._x0.length;0<=r?e<r:e>r;t=0<=r?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t]+this._cx[t]+this._cy[t])||(h=i(this._x0[t],this._cx[t],this._x1[t]),s=h[0],a=h[1],c=i(this._y0[t],this._cy[t],this._y1[t]),l=c[0],u=c[1],n.push({minX:s,minY:l,maxX:a,maxY:u,i:t}));return new o.RBush(n);var h,c},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1,c=n.scx,_=n.scy;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i]+c[i]+_[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.quadraticCurveTo(c[i],_[i],u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(s.Glyph);n.Quadratic=a,a.prototype.default_view=n.QuadraticView,a.prototype.type=\"Quadratic\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"],[\"cx\",\"cy\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.RayView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this._length):this.slength=this._length},e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy,d=n.slength,f=n._angle;if(this.visuals.line.doit){for(c=this.renderer.plot_view.frame._width.value,i=this.renderer.plot_view.frame._height.value,o=2*(c+i),r=s=0,u=d.length;0<=u?s<u:s>u;r=0<=u?++s:--s)0===d[r]&&(d[r]=o);for(h=[],a=0,l=e.length;a<l;a++)r=e[a],isNaN(_[r]+p[r]+f[r]+d[r])||(t.translate(_[r],p[r]),t.rotate(f[r]),t.beginPath(),t.moveTo(0,0),t.lineTo(d[r],0),this.visuals.line.set_vectorize(t,r),t.stroke(),t.rotate(-f[r]),h.push(t.translate(-_[r],-p[r])));return h}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Ray=s,s.prototype.default_view=n.RayView,s.prototype.type=\"Ray\",s.mixins([\"line\"]),s.define({length:[o.DistanceSpec],angle:[o.AngleSpec]})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(22);n.RectView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_data=function(){if(this.max_w2=0,\"data\"===this.model.properties.width.units&&(this.max_w2=this.max_width/2),this.max_h2=0,\"data\"===this.model.properties.height.units)return this.max_h2=this.max_height/2},e.prototype._map_data=function(){var t;return\"data\"===this.model.properties.width.units?(e=this._map_dist_corner_for_data_side_length(this._x,this._width,this.renderer.xscale,0),this.sw=e[0],this.sx0=e[1]):(this.sw=this._width,this.sx0=function(){var e,n,i;for(i=[],t=e=0,n=this.sx.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.sx[t]-this.sw[t]/2);return i}.call(this)),\"data\"===this.model.properties.height.units?(n=this._map_dist_corner_for_data_side_length(this._y,this._height,this.renderer.yscale,1),this.sh=n[0],this.sy1=n[1]):(this.sh=this._height,this.sy1=function(){var e,n,i;for(i=[],t=e=0,n=this.sy.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.sy[t]-this.sh[t]/2);return i}.call(this)),this.ssemi_diag=function(){var e,n,i;for(i=[],t=e=0,n=this.sw.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(Math.sqrt(this.sw[t]/2*this.sw[t]/2+this.sh[t]/2*this.sh[t]/2));return i}.call(this);var e,n},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sx0,c=n.sy1,_=n.sw,p=n.sh,d=n._angle;if(this.visuals.fill.doit)for(r=0,s=e.length;r<s;r++)i=e[r],isNaN(l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||(this.visuals.fill.set_vectorize(t,i),d[i]?(t.translate(l[i],u[i]),t.rotate(d[i]),t.fillRect(-_[i]/2,-p[i]/2,_[i],p[i]),t.rotate(-d[i]),t.translate(-l[i],-u[i])):t.fillRect(h[i],c[i],_[i],p[i]));if(this.visuals.line.doit){for(t.beginPath(),o=0,a=e.length;o<a;o++)i=e[o],isNaN(l[i]+u[i]+h[i]+c[i]+_[i]+p[i]+d[i])||0!==_[i]&&0!==p[i]&&(d[i]?(t.translate(l[i],u[i]),t.rotate(d[i]),t.rect(-_[i]/2,-p[i]/2,_[i],p[i]),t.rotate(-d[i]),t.translate(-l[i],-u[i])):t.rect(h[i],c[i],_[i],p[i]),this.visuals.line.set_vectorize(t,i),t.stroke(),t.beginPath());return t.stroke()}},e.prototype._hit_rect=function(t){return this._hit_rect_against_index(t)},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A;for(y=t.sx,b=t.sy,w=this.renderer.xscale.invert(y),T=this.renderer.yscale.invert(b),v=function(){var t,e,n;for(n=[],s=t=0,e=this.sx0.length;0<=e?t<e:t>e;s=0<=e?++t:--t)n.push(this.sx0[s]+this.sw[s]/2);return n}.call(this),g=function(){var t,e,n;for(n=[],s=t=0,e=this.sy1.length;0<=e?t<e:t>e;s=0<=e?++t:--t)n.push(this.sy1[s]+this.sh[s]/2);return n}.call(this),h=a.max(this._ddist(0,v,this.ssemi_diag)),c=a.max(this._ddist(1,g,this.ssemi_diag)),k=w-h,S=w+h,M=T-c,A=T+c,r=[],e=o.validate_bbox_coords([k,S],[M,A]),d=this.index.indices(e),l=0,u=d.length;l<u;l++)s=d[l],this._angle[s]?(Math.sqrt(Math.pow(y-this.sx[s],2)+Math.pow(b-this.sy[s],2)),m=Math.sin(-this._angle[s]),n=Math.cos(-this._angle[s]),_=n*(y-this.sx[s])-m*(b-this.sy[s])+this.sx[s],p=m*(y-this.sx[s])+n*(b-this.sy[s])+this.sy[s],y=_,b=p,x=Math.abs(this.sx[s]-y)<=this.sw[s]/2,i=Math.abs(this.sy[s]-b)<=this.sh[s]/2):(x=y-this.sx0[s]<=this.sw[s]&&y-this.sx0[s]>=0,i=b-this.sy1[s]<=this.sh[s]&&b-this.sy1[s]>=0),i&&x&&r.push(s);return f=o.create_hit_test_result(),f[\"1d\"].indices=r,f},e.prototype._map_dist_corner_for_data_side_length=function(t,e,n,i){var r,o,s,a,l,u,h,c,_,p,d,f;if(this.renderer.plot_view.frame,null!=n.source_range.synthetic&&(t=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)f=t[e],r.push(n.source_range.synthetic(f));return r}()),a=function(){var n,i,o;for(o=[],r=n=0,i=t.length;0<=i?n<i:n>i;r=0<=i?++n:--n)o.push(Number(t[r])-e[r]/2);return o}(),l=function(){var n,i,o;for(o=[],r=n=0,i=t.length;0<=i?n<i:n>i;r=0<=i?++n:--n)o.push(Number(t[r])+e[r]/2);return o}(),c=n.v_compute(a),_=n.v_compute(l),d=this.sdist(n,a,e,\"edge\",this.model.dilate),0===i){for(p=c,r=o=0,u=c.length;0<=u?o<u:o>u;r=0<=u?++o:--o)if(c[r]!==_[r]){p=c[r]<_[r]?c:_;break}return[d,p]}if(1===i){for(p=c,r=s=0,h=c.length;0<=h?s<h:s>h;r=0<=h?++s:--s)if(c[r]!==_[r]){p=c[r]<_[r]?c:_;break}return[d,p]}},e.prototype._ddist=function(t,e,n){var i,r,o,s,a,l;return s=0===t?this.renderer.xscale:this.renderer.yscale,a=e,l=function(){var t,e,r;for(r=[],i=t=0,e=a.length;0<=e?t<e:t>e;i=0<=e?++t:--t)r.push(a[i]+n[i]);return r}(),r=s.v_invert(a),o=s.v_invert(l),function(){var t,e,n;for(n=[],i=t=0,e=r.length;0<=e?t<e:t>e;i=0<=e?++t:--t)n.push(Math.abs(o[i]-r[i]));return n}()},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Rect=l,l.prototype.default_view=n.RectView,l.prototype.type=\"Rect\",l.mixins([\"line\",\"fill\"]),l.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec],dilate:[s.Bool,!1]})},function(t,e,n){var i=t(364),r=t(9),o=t(36),s=t(108);n.SegmentView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i;for(n=[],t=e=0,i=this._x0.length;0<=i?e<i:e>i;t=0<=i?++e:--e)isNaN(this._x0[t]+this._x1[t]+this._y0[t]+this._y1[t])||n.push({minX:Math.min(this._x0[t],this._x1[t]),minY:Math.min(this._y0[t],this._y1[t]),maxX:Math.max(this._x0[t],this._x1[t]),maxY:Math.max(this._y0[t],this._y1[t]),i:t});return new o.RBush(n)},e.prototype._render=function(t,e,n){var i,r,o,s,a=n.sx0,l=n.sy0,u=n.sx1,h=n.sy1;if(this.visuals.line.doit){for(s=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(a[i]+l[i]+u[i]+h[i])||(t.beginPath(),t.moveTo(a[i],l[i]),t.lineTo(u[i],h[i]),this.visuals.line.set_vectorize(t,i),s.push(t.stroke()));return s}},e.prototype._hit_point=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v;for(f=t.sx,m=t.sy,this.renderer.xscale.invert(f),this.renderer.yscale.invert(m),p={x:f,y:m},n=[],2,g=this.renderer.xscale.r_invert(f-2,f+2),u=g[0],a=g[1],y=this.renderer.yscale.r_invert(m-2,m+2),h=y[0],l=y[1],e=this.index.indices({minX:u,minY:h,maxX:a,maxY:l}),o=0,s=e.length;o<s;o++)i=e[o],v=Math.pow(Math.max(2,this.visuals.line.cache_select(\"line_width\",i)/2),2),b=[{x:this.sx0[i],y:this.sy0[i]},{x:this.sx1[i],y:this.sy1[i]}],c=b[0],_=b[1],r.dist_to_segment_squared(p,c,_)<v&&n.push(i);return d=r.create_hit_test_result(),d[\"1d\"].indices=n,d;var g,y,b},e.prototype._hit_span=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v,g;for(y=this.renderer.plot_view.frame.bbox.ranges,i=y[0],g=y[1],p=t.sx,d=t.sy,\"v\"===t.direction?(v=this.renderer.yscale.invert(d),b=[this._y0,this._y1],f=b[0],m=b[1]):(v=this.renderer.xscale.invert(p),x=[this._x0,this._x1],f=x[0],m=x[1]),n=[],w=this.renderer.xscale.r_invert(i.start,i.end),h=w[0],l=w[1],k=this.renderer.yscale.r_invert(g.start,g.end),c=k[0],u=k[1],e=this.index.indices({minX:h,minY:c,maxX:l,maxY:u}),s=0,a=e.length;s<a;s++)o=e[s],(f[o]<=v&&v<=m[o]||m[o]<=v&&v<=f[o])&&n.push(o);return _=r.create_hit_test_result(),_[\"1d\"].indices=n,_;var y,b,x,w,k},e.prototype.scx=function(t){return(this.sx0[t]+this.sx1[t])/2},e.prototype.scy=function(t){return(this.sy0[t]+this.sy1[t])/2},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(s.GlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.Glyph);n.Segment=a,a.prototype.default_view=n.SegmentView,a.prototype.type=\"Segment\",a.coords([[\"x0\",\"y0\"],[\"x1\",\"y1\"]]),a.mixins([\"line\"])},function(t,e,n){var i=t(364),r=t(128),o=t(15);n.StepView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,s,a,l,u,h,c,_=n.sx,p=n.sy;if(this.visuals.line.set_value(t),!((i=e.length)<2)){for(t.beginPath(),t.moveTo(_[0],p[0]),r=o=1,s=i;1<=s?o<s:o>s;r=1<=s?++o:--o){switch(this.model.mode){case\"before\":d=[_[r-1],p[r]],a=d[0],h=d[1],f=[_[r],p[r]],l=f[0],c=f[1];break;case\"after\":m=[_[r],p[r-1]],a=m[0],h=m[1],v=[_[r],p[r]],l=v[0],c=v[1];break;case\"center\":u=(_[r-1]+_[r])/2,g=[u,p[r-1]],a=g[0],h=g[1],y=[u,p[r]],l=y[0],c=y[1]}t.lineTo(a,h),t.lineTo(l,c)}return t.lineTo(_[i-1],p[i-1]),t.stroke();var d,f,m,v,g,y}},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_line_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Step=s,s.prototype.default_view=n.StepView,s.prototype.type=\"Step\",s.mixins([\"line\"]),s.define({mode:[o.StepMode,\"before\"]})},function(t,e,n){var i=t(364),r=t(128),o=t(15),s=t(40);n.TextView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._render=function(t,e,n){var i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y=n.sx,b=n.sy,x=n._x_offset,w=n._y_offset,k=n._angle,S=n._text;for(m=[],u=0,c=e.length;u<c;u++)if(l=e[u],!isNaN(y[l]+b[l]+x[l]+w[l]+k[l])&&null!=S[l])if(this.visuals.text.doit){if(v=\"\"+S[l],t.save(),t.translate(y[l]+x[l],b[l]+w[l]),t.rotate(k[l]),this.visuals.text.set_vectorize(t,l),-1===v.indexOf(\"\\n\"))t.fillText(v,0,0);else{switch(f=v.split(\"\\n\"),o=this.visuals.text.cache_select(\"font\",l),a=s.get_text_height(o).height,d=this.visuals.text.text_line_height.value()*a,r=d*f.length,i=this.visuals.text.cache_select(\"text_baseline\",l)){case\"top\":g=0;break;case\"middle\":g=-r/2+d/2;break;case\"bottom\":g=-r+d;break;default:g=0,console.warn(\"'\"+i+\"' baseline not supported with multi line text\")}for(h=0,_=f.length;h<_;h++)p=f[h],t.fillText(p,0,g),g+=d}m.push(t.restore())}else m.push(void 0);return m},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return t.save(),this.text_props.set_value(t),t.font=this.text_props.font_value(),t.font=t.font.replace(/\\b[\\d\\.]+[\\w]+\\b/,\"10pt\"),t.textAlign=\"right\",t.textBaseline=\"middle\",t.fillText(\"text\",x2,(r+y2)/2),t.restore()},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Text=a,a.prototype.default_view=n.TextView,a.prototype.type=\"Text\",a.mixins([\"text\"]),a.define({text:[o.StringSpec,{field:\"text\"}],angle:[o.AngleSpec,0],x_offset:[o.NumberSpec,0],y_offset:[o.NumberSpec,0]})},function(t,e,n){var i=t(364),r=t(105),o=t(15);n.VBarView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.scy=function(t){return(this.stop[t]+this.sbottom[t])/2},e.prototype._index_data=function(){return this._index_box(this._x.length)},e.prototype._lrtb=function(t){var e,n,i,r;return n=this._x[t]-this._width[t]/2,i=this._x[t]+this._width[t]/2,r=Math.max(this._top[t],this._bottom[t]),e=Math.min(this._top[t],this._bottom[t]),[n,i,r,e]},e.prototype._map_data=function(){var t,e,n;for(this.sx=this.renderer.xscale.v_compute(this._x),this.stop=this.renderer.yscale.v_compute(this._top),this.sbottom=this.renderer.yscale.v_compute(this._bottom),this.sleft=[],this.sright=[],this.sw=this.sdist(this.renderer.xscale,this._x,this._width,\"center\"),t=e=0,n=this.sx.length;0<=n?e<n:e>n;t=0<=n?++e:--e)this.sleft.push(this.sx[t]-this.sw[t]/2),this.sright.push(this.sx[t]+this.sw[t]/2);return null},e}(r.BoxView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Box);n.VBar=s,s.prototype.default_view=n.VBarView,s.prototype.type=\"VBar\",s.coords([[\"x\",\"bottom\"]]),s.define({width:[o.DistanceSpec],top:[o.NumberSpec]}),s.override({bottom:0})},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15),a=t(29);n.WedgeView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._map_data=function(){return\"data\"===this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n.sradius,c=n._start_angle,_=n._end_angle;for(i=this.model.properties.direction.value(),a=[],o=0,s=e.length;o<s;o++)r=e[o],isNaN(l[r]+u[r]+h[r]+c[r]+_[r])||(t.beginPath(),t.arc(l[r],u[r],h[r],c[r],_[r],i),t.lineTo(l[r],u[r]),t.closePath(),this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(t,r),t.fill()),this.visuals.line.doit?(this.visuals.line.set_vectorize(t,r),a.push(t.stroke())):a.push(void 0));return a},e.prototype._hit_point=function(t){var e,n,i,r,s,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A;for(m=t.sx,y=t.sy,w=this.renderer.xscale.invert(m),T=this.renderer.yscale.invert(y),\"data\"===this.model.properties.radius.units?(k=w-this.max_radius,S=w+this.max_radius,M=T-this.max_radius,A=T+this.max_radius):(v=m-this.max_radius,g=m+this.max_radius,E=this.renderer.xscale.r_invert(v,g),k=E[0],S=E[1],b=y-this.max_radius,x=y+this.max_radius,z=this.renderer.yscale.r_invert(b,x),M=z[0],A=z[1]),i=[],n=o.validate_bbox_coords([k,S],[M,A]),f=this.index.indices(n),h=0,_=f.length;h<_;h++)u=f[h],d=Math.pow(this.sradius[u],2),C=this.renderer.xscale.r_compute(w,this._x[u]),v=C[0],g=C[1],O=this.renderer.yscale.r_compute(T,this._y[u]),b=O[0],x=O[1],(s=Math.pow(v-g,2)+Math.pow(b-x,2))<=d&&i.push([u,s]);for(r=this.model.properties.direction.value(),l=[],c=0,p=i.length;c<p;c++)N=i[c],u=N[0],s=N[1],e=Math.atan2(y-this.sy[u],m-this.sx[u]),a.angle_between(-e,-this._start_angle[u],-this._end_angle[u],r)&&l.push([u,s]);return o.create_1d_hit_test_result(l);var E,z,C,O,N},e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){return this._generic_area_legend(t,e,n,i,r,o)},e}(r.XYGlyphView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Wedge=l,l.prototype.default_view=n.WedgeView,l.prototype.type=\"Wedge\",l.mixins([\"line\",\"fill\"]),l.define({direction:[s.Direction,\"anticlock\"],radius:[s.DistanceSpec],start_angle:[s.AngleSpec],end_angle:[s.AngleSpec]})},function(t,e,n){var i=t(364),r=t(36),o=t(108);n.XYGlyphView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._index_data=function(){var t,e,n,i,o,s;for(n=[],t=e=0,i=this._x.length;0<=i?e<i:e>i;t=0<=i?++e:--e)o=this._x[t],s=this._y[t],!isNaN(o+s)&&isFinite(o+s)&&n.push({minX:o,minY:s,maxX:o,maxY:s,i:t});return new r.RBush(n)},e}(o.GlyphView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Glyph);n.XYGlyph=s,s.prototype.type=\"XYGlyph\",s.prototype.default_view=n.XYGlyphView,s.coords([[\"x\",\"y\"]])},function(t,e,n){var i=t(364),r=t(50),o=t(22),s=t(9);n.GraphHitTestPolicy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.do_selection=function(t,e,n,i){return!1},e.prototype.do_inspection=function(t,e,n,i){return!1},e}(r.Model);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,o;return o=e.node_view,null!==(r=o.glyph.hit_test(t))&&(this._node_selector.update(r,n,i),!this._node_selector.indices.is_empty())},e.prototype.do_selection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.node_view.model.data_source.selected=this._node_selector.indices,e.node_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._node_selector=e.model.get_selection_manager().get_or_create_inspector(e.node_view.model),r=this._do(t,e,n,i),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.node_view.model.data_source.inspect.emit([e.node_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.NodesOnly=a,a.prototype.type=\"NodesOnly\";var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,a,l,u,h,c,_,p,d,f,m,v;if(g=[e.node_view,e.edge_view],m=g[0],l=g[1],null===(u=m.glyph.hit_test(t)))return!1;for(this._node_selector.update(u,n,i),f=function(){var t,e,n,i;for(n=u[\"1d\"].indices,i=[],t=0,e=n.length;t<e;t++)h=n[t],i.push(m.model.data_source.data.index[h]);return i}(),a=l.model.data_source,r=[],h=c=0,v=a.data.start.length;0<=v?c<v:c>v;h=0<=v?++c:--c)(o.contains(f,a.data.start[h])||o.contains(f,a.data.end[h]))&&r.push(h);for(d=s.create_hit_test_result(),_=0,p=r.length;_<p;_++)h=r[_],d[\"2d\"].indices[h]=[0];return this._edge_selector.update(d,n,i),!this._node_selector.indices.is_empty();var g},e.prototype.do_selection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.selector,this._edge_selector=e.edge_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.node_view.model.data_source.selected=this._node_selector.indices,e.edge_view.model.data_source.selected=this._edge_selector.indices,e.node_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._node_selector=e.node_view.model.data_source.selection_manager.get_or_create_inspector(e.node_view.model),this._edge_selector=e.edge_view.model.data_source.selection_manager.get_or_create_inspector(e.edge_view.model),r=this._do(t,e,n,i),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.edge_view.model.data_source.setv({inspected:this._edge_selector.indices},{silent:!0}),e.node_view.model.data_source.inspect.emit([e.node_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.NodesAndLinkedEdges=l,l.prototype.type=\"NodesAndLinkedEdges\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._do=function(t,e,n,i){var r,a,l,u,h,c,_,p,d,f;if(m=[e.node_view,e.edge_view],d=m[0],a=m[1],null===(l=a.glyph.hit_test(t)))return!1;for(this._edge_selector.update(l,n,i),r=function(){var t,e,n,i;for(n=Object.keys(l[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(parseInt(u));return i}(),f=[],h=0,c=r.length;h<c;h++)u=r[h],f.push(a.model.data_source.data.start[u]),f.push(a.model.data_source.data.end[u]);return p=function(){var t,e,n,i;for(n=o.uniq(f),i=[],t=0,e=n.length;t<e;t++)u=n[t],i.push(d.model.data_source.data.index.indexOf(u));return i}(),_=s.create_hit_test_result(),_[\"1d\"].indices=p,this._node_selector.update(_,n,i),!this._edge_selector.indices.is_empty();var m},e.prototype.do_selection=function(t,e,n,i){var r;return this._edge_selector=e.edge_view.model.data_source.selection_manager.selector,this._node_selector=e.node_view.model.data_source.selection_manager.selector,r=this._do(t,e,n,i),e.edge_view.model.data_source.selected=this._edge_selector.indices,e.node_view.model.data_source.selected=this._node_selector.indices,e.edge_view.model.data_source.select.emit(),r},e.prototype.do_inspection=function(t,e,n,i){var r;return this._edge_selector=e.edge_view.model.data_source.selection_manager.get_or_create_inspector(e.edge_view.model),this._node_selector=e.node_view.model.data_source.selection_manager.get_or_create_inspector(e.node_view.model),r=this._do(t,e,n,i),e.edge_view.model.data_source.setv({inspected:this._edge_selector.indices},{silent:!0}),e.node_view.model.data_source.setv({inspected:this._node_selector.indices},{silent:!0}),e.edge_view.model.data_source.inspect.emit([e.edge_view,{geometry:t}]),r},e}(n.GraphHitTestPolicy);n.EdgesAndLinkedNodes=u,u.prototype.type=\"EdgesAndLinkedNodes\"},function(t,e,n){var i=t(364);i.__exportStar(t(129),n),i.__exportStar(t(131),n),i.__exportStar(t(132),n)},function(t,e,n){var i=t(364),r=t(50);n.LayoutProvider=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_node_coordinates=function(t){return[[],[]]},e.prototype.get_edge_coordinates=function(t){return[[],[]]},e}(r.Model)},function(t,e,n){var i=t(364),r=t(131),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_node_coordinates=function(t){var e,n,i,r,o,s,a,l;for(s=(u=[[],[]])[0],l=u[1],r=t.data.index,n=0,i=r.length;n<i;n++)e=r[n],o=null!=this.graph_layout[e]?this.graph_layout[e][0]:NaN,a=null!=this.graph_layout[e]?this.graph_layout[e][1]:NaN,s.push(o),l.push(a);return[s,l];var u},e.prototype.get_edge_coordinates=function(t){var e,n,i,r,o,s,a,l,u,h,c;for(h=(_=[[],[]])[0],c=_[1],u=t.data.start,n=t.data.end,i=null!=t.data.xs&&null!=t.data.ys,r=s=0,a=u.length;0<=a?s<a:s>a;r=0<=a?++s:--s)o=null!=this.graph_layout[u[r]]&&null!=this.graph_layout[n[r]],i&&o?(h.push(t.data.xs[r]),c.push(t.data.ys[r])):(o?(p=[this.graph_layout[u[r]],this.graph_layout[n[r]]],l=p[0],e=p[1]):(l=(d=[[NaN,NaN],[NaN,NaN]])[0],e=d[1]),h.push([l[0],e[0]]),c.push([l[1],e[1]]));return[h,c];var _,p,d},e}(r.LayoutProvider);n.StaticLayoutProvider=s,s.prototype.type=\"StaticLayoutProvider\",s.define({graph_layout:[o.Any,{}]})},function(t,e,n){var i=t(364),r=t(163),o=t(165),s=t(15),a=t(42);n.GridView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._x_range_name=this.model.x_range_name,this._y_range_name=this.model.y_range_name},e.prototype.render=function(){var t;if(!1!==this.model.visible)return(t=this.plot_view.canvas_view.ctx).save(),this._draw_regions(t),this._draw_minor_grids(t),this._draw_grids(t),t.restore()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype._draw_regions=function(t){var e,n,i,r,o,s,a,l,u;if(this.visuals.band_fill.doit){for(h=this.model.grid_coords(\"major\",!1),l=h[0],u=h[1],this.visuals.band_fill.set_value(t),e=n=0,i=l.length-1;0<=i?n<i:n>i;e=0<=i?++n:--n)e%2==1&&(c=this.plot_view.map_to_screen(l[e],u[e],this._x_range_name,this._y_range_name),r=c[0],s=c[1],_=this.plot_view.map_to_screen(l[e+1],u[e+1],this._x_range_name,this._y_range_name),o=_[0],a=_[1],t.fillRect(r[0],s[0],o[1]-r[0],a[1]-s[0]),t.fill());var h,c,_}},e.prototype._draw_grids=function(t){var e,n;if(this.visuals.grid_line.doit){return i=this.model.grid_coords(\"major\"),e=i[0],n=i[1],this._draw_grid_helper(t,this.visuals.grid_line,e,n);var i}},e.prototype._draw_minor_grids=function(t){var e,n;if(this.visuals.minor_grid_line.doit){return i=this.model.grid_coords(\"minor\"),e=i[0],n=i[1],this._draw_grid_helper(t,this.visuals.minor_grid_line,e,n);var i}},e.prototype._draw_grid_helper=function(t,e,n,i){var r,o,s,a,l,u,h;for(e.set_value(t),r=o=0,a=n.length;0<=a?o<a:o>a;r=0<=a?++o:--o){for(c=this.plot_view.map_to_screen(n[r],i[r],this._x_range_name,this._y_range_name),u=c[0],h=c[1],t.beginPath(),t.moveTo(Math.round(u[0]),Math.round(h[0])),r=s=1,l=u.length;1<=l?s<l:s>l;r=1<=l?++s:--s)t.lineTo(Math.round(u[r]),Math.round(h[r]));t.stroke()}var c},e}(o.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.ranges=function(){var t,e,n,i;return e=this.dimension,n=(e+1)%2,t=this.plot.plot_canvas.frame,i=[t.x_ranges[this.x_range_name],t.y_ranges[this.y_range_name]],[i[e],i[n]]},e.prototype.computed_bounds=function(){var t,e,n,i,r;return o=this.ranges(),e=o[0],o[1],r=this.bounds,n=[e.min,e.max],a.isArray(r)?(i=Math.min(r[0],r[1]),t=Math.max(r[0],r[1]),i<n[0]?i=n[0]:i>n[1]&&(i=null),t>n[1]?t=n[1]:t<n[0]&&(t=null)):(i=n[0],t=n[1]),[i,t];var o},e.prototype.grid_coords=function(t,e){void 0===e&&(e=!0);var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S;for(h=this.dimension,_=(h+1)%2,T=this.ranges(),y=T[0],s=T[1],M=this.computed_bounds(),w=M[0],u=M[1],S=Math.min(w,u),u=Math.max(w,u),w=S,k=this.ticker.get_ticks(w,u,y,s.min,{})[t],v=y.min,m=y.max,r=s.min,i=s.max,o=[[],[]],c=p=0,b=k.length;0<=b?p<b:p>b;c=0<=b?++p:--p)if(k[c]!==v&&k[c]!==m||!e){for(a=[],l=[],g=d=0,x=n=2;0<=x?d<x:d>x;g=0<=x?++d:--d)f=r+(i-r)/(n-1)*g,a.push(k[c]),l.push(f);o[h].push(a),o[_].push(l)}return o;var T,M},e}(r.GuideRenderer);n.Grid=l,l.prototype.default_view=n.GridView,l.prototype.type=\"Grid\",l.mixins([\"line:grid_\",\"line:minor_grid_\",\"fill:band_\"]),l.define({bounds:[s.Any,\"auto\"],dimension:[s.Number,0],ticker:[s.Instance],x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"]}),l.override({level:\"underlay\",band_fill_color:null,band_fill_alpha:0,grid_line_color:\"#e5e5e5\",minor_grid_line_color:null})},function(t,e,n){var i=t(133);n.Grid=i.Grid},function(t,e,n){var i=t(364);i.__exportStar(t(57),n),i.__exportStar(t(73),n),i.__exportStar(t(77),n),i.__exportStar(t(81),n),i.__exportStar(t(83),n),i.__exportStar(t(89),n),i.__exportStar(t(95),n),i.__exportStar(t(113),n),i.__exportStar(t(130),n),i.__exportStar(t(134),n),i.__exportStar(t(138),n),i.__exportStar(t(145),n),i.__exportStar(t(238),n),i.__exportStar(t(148),n),i.__exportStar(t(152),n),i.__exportStar(t(158),n),i.__exportStar(t(164),n),i.__exportStar(t(167),n),i.__exportStar(t(177),n),i.__exportStar(t(187),n),i.__exportStar(t(199),n),i.__exportStar(t(226),n)},function(t,e,n){var i=t(364),r=[].indexOf,o=t(13),s=t(15),a=t(22),l=t(30),u=t(139),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.children.change,function(){return e.rebuild_child_views()})},e.prototype.get_height=function(){var t,e;return e=this.model.get_layoutable_children(),t=e.map(function(t){return t._height.value}),this.model._horizontal?a.max(t):a.sum(t)},e.prototype.get_width=function(){var t,e;return e=this.model.get_layoutable_children(),t=e.map(function(t){return t._width.value}),this.model._horizontal?a.sum(t):a.max(t)},e}(u.LayoutDOMView);n.BoxView=h,h.prototype.className=\"bk-grid\";var c=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._child_equal_size_width=new o.Variable(i.toString()+\".child_equal_size_width\"),i._child_equal_size_height=new o.Variable(i.toString()+\".child_equal_size_height\"),i._box_equal_size_top=new o.Variable(i.toString()+\".box_equal_size_top\"),i._box_equal_size_bottom=new o.Variable(i.toString()+\".box_equal_size_bottom\"),i._box_equal_size_left=new o.Variable(i.toString()+\".box_equal_size_left\"),i._box_equal_size_right=new o.Variable(i.toString()+\".box_equal_size_right\"),i._box_cell_align_top=new o.Variable(i.toString()+\".box_cell_align_top\"),i._box_cell_align_bottom=new o.Variable(i.toString()+\".box_cell_align_bottom\"),i._box_cell_align_left=new o.Variable(i.toString()+\".box_cell_align_left\"),i._box_cell_align_right=new o.Variable(i.toString()+\".box_cell_align_right\"),i}return i.__extends(e,t),e.prototype.get_layoutable_children=function(){return this.children},e.prototype.get_constrained_variables=function(){return l.extend({},t.prototype.get_constrained_variables.call(this),{box_equal_size_top:this._box_equal_size_top,box_equal_size_bottom:this._box_equal_size_bottom,box_equal_size_left:this._box_equal_size_left,box_equal_size_right:this._box_equal_size_right,box_cell_align_top:this._box_cell_align_top,box_cell_align_bottom:this._box_cell_align_bottom,box_cell_align_left:this._box_cell_align_left,box_cell_align_right:this._box_cell_align_right})},e.prototype.get_constraints=function(){var e,n,i,r,s,a,l,u,h,c,_,p,d;if(r=t.prototype.get_constraints.call(this),e=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return r.push.apply(r,t)},0===(i=this.get_layoutable_children()).length)return r;for(a=0,h=i.length;a<h;a++)n=i[a],d=n.get_constrained_variables(),_=this._child_rect(d),this._horizontal?null!=d.height&&e(o.EQ(_.height,[-1,this._height])):null!=d.width&&e(o.EQ(_.width,[-1,this._width])),this._horizontal?null!=d.box_equal_size_left&&null!=d.box_equal_size_right&&null!=d.width&&e(o.EQ([-1,d.box_equal_size_left],[-1,d.box_equal_size_right],d.width,this._child_equal_size_width)):null!=d.box_equal_size_top&&null!=d.box_equal_size_bottom&&null!=d.height&&e(o.EQ([-1,d.box_equal_size_top],[-1,d.box_equal_size_bottom],d.height,this._child_equal_size_height));for(u=this._info(i[0].get_constrained_variables()),e(o.EQ(u.span.start,0)),s=l=1,p=i.length;1<=p?l<p:l>p;s=1<=p?++l:--l)c=this._info(i[s].get_constrained_variables()),u.span.size&&e(o.EQ(u.span.start,u.span.size,[-1,c.span.start])),e(o.WEAK_EQ(u.whitespace.after,c.whitespace.before,0-this.spacing)),e(o.GE(u.whitespace.after,c.whitespace.before,0-this.spacing)),u=c;return this._horizontal?null!=d.width&&e(o.EQ(u.span.start,u.span.size,[-1,this._width])):null!=d.height&&e(o.EQ(u.span.start,u.span.size,[-1,this._height])),r=r.concat(this._align_outer_edges_constraints(!0),this._align_outer_edges_constraints(!1),this._align_inner_cell_edges_constraints(),this._box_equal_size_bounds(!0),this._box_equal_size_bounds(!1),this._box_cell_align_bounds(!0),this._box_cell_align_bounds(!1),this._box_whitespace(!0),this._box_whitespace(!1))},e.prototype._child_rect=function(t){return{x:t.origin_x,y:t.origin_y,width:t.width,height:t.height}},e.prototype._span=function(t){return this._horizontal?{start:t.x,size:t.width}:{start:t.y,size:t.height}},e.prototype._info=function(t){var e,n;return n=this._horizontal?{before:t.whitespace_left,after:t.whitespace_right}:{before:t.whitespace_top,after:t.whitespace_bottom},e=this._span(this._child_rect(t)),{span:e,whitespace:n}},e.prototype._flatten_cell_edge_variables=function(t){var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;for(x=t?e._top_bottom_inner_cell_edge_variables:e._left_right_inner_cell_edge_variables,n=t!==this._horizontal,l=this.get_layoutable_children(),r=l.length,h={},o=0,c=0,f=l.length;c<f;c++){for(a=l[c],s=a instanceof e?a._flatten_cell_edge_variables(t):{},i=a.get_constrained_variables(),_=0,m=x.length;_<m;_++)(v=x[_])in i&&(s[v]=[i[v]]);for(p in s)w=s[p],n?(y=p.split(\" \"),d=y[0],b=y.length>1?y[1]:\"\",u=this._horizontal?\"row\":\"col\",g=d+\" \"+u+\"-\"+r+\"-\"+o+\"-\"+b):g=p,h[g]=g in h?h[g].concat(w):w;o+=1}return h},e.prototype._align_inner_cell_edges_constraints=function(){var t,e,n,i,s,a,l,u;if(t=[],null!=this.document&&r.call(this.document.roots(),this)>=0){e=this._flatten_cell_edge_variables(this._horizontal);for(s in e)if((u=e[s]).length>1)for(a=u[0],n=i=1,l=u.length;1<=l?i<l:i>l;n=1<=l?++i:--i)t.push(o.EQ(u[n],[-1,a]))}return t},e.prototype._find_edge_leaves=function(t){var n,i,r,o,s,a,l,u;if(r=this.get_layoutable_children(),a=[[],[]],r.length>0)if(this._horizontal===t)u=r[0],o=r[r.length-1],u instanceof e?a[0]=a[0].concat(u._find_edge_leaves(t)[0]):a[0].push(u),o instanceof e?a[1]=a[1].concat(o._find_edge_leaves(t)[1]):a[1].push(o);else for(s=0,l=r.length;s<l;s++)(n=r[s])instanceof e?(i=n._find_edge_leaves(t),a[0]=a[0].concat(i[0]),a[1]=a[1].concat(i[1])):(a[0].push(n),a[1].push(n));return a},e.prototype._align_outer_edges_constraints=function(t){var e,n,i,r,s,a,l,u,h;return c=this._find_edge_leaves(t),u=c[0],r=c[1],t?(h=\"on_edge_align_left\",s=\"on_edge_align_right\"):(h=\"on_edge_align_top\",s=\"on_edge_align_bottom\"),n=function(t,e){var n,i,r,o,s;for(n=[],i=0,o=t.length;i<o;i++)r=t[i],s=r.get_constrained_variables(),e in s&&n.push(s[e]);return n},l=n(u,h),i=n(r,s),a=[],(e=function(t){var e,n,i,r,s;if(t.length>1){for(n=t[0],i=r=1,s=t.length;1<=s?r<s:r>s;i=1<=s?++r:--r)e=t[i],a.push(o.EQ([-1,n],e));return null}})(l),e(i),a;var c},e.prototype._box_insets_from_child_insets=function(t,e,n,i){var r,s,a,l,u,h,c,_;return p=this._find_edge_leaves(t),c=p[0],s=p[1],t?(_=e+\"_left\",a=e+\"_right\",u=this[n+\"_left\"],l=this[n+\"_right\"]):(_=e+\"_top\",a=e+\"_bottom\",u=this[n+\"_top\"],l=this[n+\"_bottom\"]),h=[],(r=function(t,e,n){var r,s,a,l;for([],r=0,a=e.length;r<a;r++)s=e[r],l=s.get_constrained_variables(),n in l&&(i?h.push(o.GE([-1,t],l[n])):h.push(o.EQ([-1,t],l[n])));return null})(u,c,_),r(l,s,a),h;var p},e.prototype._box_equal_size_bounds=function(t){return this._box_insets_from_child_insets(t,\"box_equal_size\",\"_box_equal_size\",!1)},e.prototype._box_cell_align_bounds=function(t){return this._box_insets_from_child_insets(t,\"box_cell_align\",\"_box_cell_align\",!1)},e.prototype._box_whitespace=function(t){return this._box_insets_from_child_insets(t,\"whitespace\",\"_whitespace\",!0)},e}(u.LayoutDOM);n.Box=c,c.prototype.default_view=h,c.define({children:[s.Array,[]]}),c.internal({spacing:[s.Number,6]}),c._left_right_inner_cell_edge_variables=[\"box_cell_align_left\",\"box_cell_align_right\"],c._top_bottom_inner_cell_edge_variables=[\"box_cell_align_top\",\"box_cell_align_bottom\"]},function(t,e,n){var i=t(364),r=t(136),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.BoxView);n.ColumnView=o,o.prototype.className=\"bk-grid-column\";var s=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._horizontal=!1,i}return i.__extends(e,t),e}(r.Box);n.Column=s,s.prototype.type=\"Column\",s.prototype.default_view=o},function(t,e,n){var i=t(136);n.Box=i.Box;var r=t(137);n.Column=r.Column;var o=t(139);n.LayoutDOM=o.LayoutDOM;var s=t(140);n.Row=s.Row;var a=t(141);n.Spacer=a.Spacer;var l=t(142);n.WidgetBox=l.WidgetBox},function(t,e,n){var i=t(364),r=t(50),o=t(5),s=t(15),a=t(11),l=t(13),u=t(4),h=t(6),c=t(14);n.LayoutDOMView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.is_root&&(this._solver=new l.Solver),this.child_views={},this.build_child_views()},e.prototype.remove=function(){var e,n;n=this.child_views;for(e in n)n[e].remove();return this.child_views={},t.prototype.remove.call(this)},e.prototype.has_finished=function(){var e,n;if(!t.prototype.has_finished.call(this))return!1;n=this.child_views;for(e in n)if(!n[e].has_finished())return!1;return!0},e.prototype.notify_finished=function(){return this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document?(this._idle_notified=!0,this.model.document.notify_idle(this.model)):void 0:t.prototype.notify_finished.call(this)},e.prototype._calc_width_height=function(){var t,e,n;for(e=this.el;;){if(null==(e=e.parentNode)){c.logger.warn(\"detached element\"),n=t=null;break}if(i=e.getBoundingClientRect(),n=i.width,0!==(t=i.height))break}return[n,t];var i},e.prototype._init_solver=function(){var t,e,n,i,r,o,s,a,u;for(this._root_width=new l.Variable(this.toString()+\".root_width\"),this._root_height=new l.Variable(this.toString()+\".root_height\"),this._solver.add_edit_variable(this._root_width),this._solver.add_edit_variable(this._root_height),i=this.model.get_all_editables(),r=0,s=i.length;r<s;r++)n=i[r],this._solver.add_edit_variable(n,l.Strength.strong);for(e=this.model.get_all_constraints(),o=0,a=e.length;o<a;o++)t=e[o],this._solver.add_constraint(t);return null!=(u=this.model.get_constrained_variables()).width&&this._solver.add_constraint(l.EQ(u.width,this._root_width)),null!=u.height&&this._solver.add_constraint(l.EQ(u.height,this._root_height)),this._solver.update_variables(),this._solver_inited=!0},e.prototype._suggest_dims=function(t,e){var n;if(null!=(n=this.model.get_constrained_variables()).width||null!=n.height)return null!==t&&null!==e||(i=this._calc_width_height(),t=i[0],e=i[1]),null!=n.width&&null!=t&&this._solver.suggest_value(this._root_width,t),null!=n.height&&null!=e&&this._solver.suggest_value(this._root_height,e),this._solver.update_variables();var i},e.prototype.resize=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=null),this.is_root?this._do_layout(!1,t,e):this.root.resize(t,e)},e.prototype.partial_layout=function(){return this.is_root?this._do_layout(!1):this.root.partial_layout()},e.prototype.layout=function(t){return void 0===t&&(t=!0),this.is_root?this._do_layout(!0):this.root.layout()},e.prototype._do_layout=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),this._solver_inited&&!t||(this._solver.clear(),this._init_solver()),this._suggest_dims(e,n),this._layout(),this._layout(),this._layout(!0),this.notify_finished()},e.prototype._layout=function(t){void 0===t&&(t=!1);var e,n,i,r,o;for(o=this.model.get_layoutable_children(),i=0,r=o.length;i<r;i++)e=o[i],null!=(n=this.child_views[e.id])._layout&&n._layout(t);if(this.render(),t)return this._has_finished=!0},e.prototype.rebuild_child_views=function(){return this.solver.clear(),this.build_child_views(),this.layout()},e.prototype.build_child_views=function(){var t,e,n,i,r,s;for(n=this.model.get_layoutable_children(),u.build_views(this.child_views,n,{parent:this}),o.empty(this.el),s=[],i=0,r=n.length;i<r;i++)t=n[i],e=this.child_views[t.id],s.push(this.el.appendChild(e.el));return s},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.is_root&&window.addEventListener(\"resize\",function(){return e.resize()}),this.connect(this.model.properties.sizing_mode.change,function(){return e.layout()})},e.prototype._render_classes=function(){var t,e,n,i,r;if(this.el.className=\"\",null!=this.className&&this.el.classList.add(this.className),this.el.classList.add(\"bk-layout-\"+this.model.sizing_mode),null!=this.model.css_classes){for(i=this.model.css_classes,r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(this.el.classList.add(t));return r}},e.prototype.render=function(){var t,e;switch(this._render_classes(),this.model.sizing_mode){case\"fixed\":null!=this.model.width?e=this.model.width:(e=this.get_width(),this.model.setv({width:e},{silent:!0})),null!=this.model.height?t=this.model.height:(t=this.get_height(),this.model.setv({height:t},{silent:!0})),this.solver.suggest_value(this.model._width,e),this.solver.suggest_value(this.model._height,t);break;case\"scale_width\":t=this.get_height(),this.solver.suggest_value(this.model._height,t);break;case\"scale_height\":e=this.get_width(),this.solver.suggest_value(this.model._width,e);break;case\"scale_both\":n=this.get_width_height(),e=n[0],t=n[1],this.solver.suggest_value(this.model._width,e),this.solver.suggest_value(this.model._height,t)}return this.solver.update_variables(),this.position();var n},e.prototype.position=function(){switch(this.model.sizing_mode){case\"fixed\":case\"scale_width\":case\"scale_height\":this.el.style.position=\"relative\",this.el.style.left=\"\",this.el.style.top=\"\";break;case\"scale_both\":case\"stretch_both\":this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\"}return this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"},e.prototype.get_height=function(){throw new Error(\"not implemented\")},e.prototype.get_width=function(){throw new Error(\"not implemented\")},e.prototype.get_width_height=function(){var t,e,n,i,r,o,s,a,l;return s=this.el.parentNode.clientHeight,a=this.el.parentNode.clientWidth,t=this.model.get_aspect_ratio(),r=a,n=a/t,o=s*t,i=s,r<o?(l=r,e=n):(l=o,e=i),[l,e]},e}(h.DOMView);var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._width=new l.Variable(this.toString()+\".width\"),this._height=new l.Variable(this.toString()+\".height\"),this._left=new l.Variable(this.toString()+\".left\"),this._right=new l.Variable(this.toString()+\".right\"),this._top=new l.Variable(this.toString()+\".top\"),this._bottom=new l.Variable(this.toString()+\".bottom\"),this._dom_top=new l.Variable(this.toString()+\".dom_top\"),this._dom_left=new l.Variable(this.toString()+\".dom_left\"),this._width_minus_right=new l.Variable(this.toString()+\".width_minus_right\"),this._height_minus_bottom=new l.Variable(this.toString()+\".height_minus_bottom\"),this._whitespace_top=new l.Variable(this.toString()+\".whitespace_top\"),this._whitespace_bottom=new l.Variable(this.toString()+\".whitespace_bottom\"),this._whitespace_left=new l.Variable(this.toString()+\".whitespace_left\"),this._whitespace_right=new l.Variable(this.toString()+\".whitespace_right\")},e.prototype.dump_layout=function(){var t,n,i;for(t={},i=[this];i.length>0;)(n=i.shift())instanceof e&&i.push.apply(i,n.get_layoutable_children()),t[n.toString()]=n.layout_bbox;return console.table(t)},e.prototype.get_all_constraints=function(){var t,e,n,i,r;for(e=this.get_constraints(),r=this.get_layoutable_children(),n=0,i=r.length;n<i;n++)t=r[n],e=t instanceof a.LayoutCanvas?e.concat(t.get_constraints()):e.concat(t.get_all_constraints());return e},e.prototype.get_all_editables=function(){var t,e,n,i,r;for(e=this.get_editables(),r=this.get_layoutable_children(),n=0,i=r.length;n<i;n++)t=r[n],e=t instanceof a.LayoutCanvas?e.concat(t.get_editables()):e.concat(t.get_all_editables());return e},e.prototype.get_constraints=function(){return[l.GE(this._dom_left),l.GE(this._dom_top),l.GE(this._left),l.GE(this._width,[-1,this._right]),l.GE(this._top),l.GE(this._height,[-1,this._bottom]),l.EQ(this._width_minus_right,[-1,this._width],this._right),l.EQ(this._height_minus_bottom,[-1,this._height],this._bottom)]},e.prototype.get_layoutable_children=function(){return[]},e.prototype.get_editables=function(){switch(this.sizing_mode){case\"fixed\":return[this._height,this._width];case\"scale_width\":return[this._height];case\"scale_height\":return[this._width];case\"scale_both\":return[this._width,this._height];default:return[]}},e.prototype.get_constrained_variables=function(){var t;switch(t={origin_x:this._dom_left,origin_y:this._dom_top,whitespace_top:this._whitespace_top,whitespace_bottom:this._whitespace_bottom,whitespace_left:this._whitespace_left,whitespace_right:this._whitespace_right},this.sizing_mode){case\"stretch_both\":t.width=this._width,t.height=this._height;break;case\"scale_width\":t.width=this._width;break;case\"scale_height\":t.height=this._height}return t},e.prototype.get_aspect_ratio=function(){return this.width/this.height},e}(r.Model);n.LayoutDOM=_,_.prototype.type=\"LayoutDOM\",_.getters({layout_bbox:function(){return{top:this._top.value,left:this._left.value,width:this._width.value,height:this._height.value,right:this._right.value,bottom:this._bottom.value,dom_top:this._dom_top.value,dom_left:this._dom_left.value}}}),_.define({height:[s.Number],width:[s.Number],disabled:[s.Bool,!1],sizing_mode:[s.SizingMode,\"fixed\"],css_classes:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(136),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.BoxView);n.RowView=o,o.prototype.className=\"bk-grid-row\";var s=function(t){function e(e,n){var i=t.call(this,e,n)||this;return i._horizontal=!0,i}return i.__extends(e,t),e}(r.Box);n.Row=s,s.prototype.type=\"Row\",s.prototype.default_view=o},function(t,e,n){var i=t(364),r=t(139),o=t(30),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){if(t.prototype.render.call(this),\"fixed\"===this.sizing_mode)return this.el.style.width=this.model.width+\"px\",this.el.style.height=this.model.height+\"px\"},e.prototype.get_height=function(){return 1},e}(r.LayoutDOMView);n.SpacerView=s,s.prototype.className=\"bk-spacer-box\";var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_constrained_variables=function(){return o.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this._top,on_edge_align_bottom:this._height_minus_bottom,on_edge_align_left:this._left,on_edge_align_right:this._width_minus_right,box_cell_align_top:this._top,box_cell_align_bottom:this._height_minus_bottom,box_cell_align_left:this._left,box_cell_align_right:this._width_minus_right,box_equal_size_top:this._top,box_equal_size_bottom:this._height_minus_bottom,box_equal_size_left:this._left,box_equal_size_right:this._width_minus_right})},e}(r.LayoutDOM);n.Spacer=a,a.prototype.type=\"Spacer\",a.prototype.default_view=s},function(t,e,n){var i=t(364),r={}.hasOwnProperty,o=t(14),s=t(15),a=t(30),l=t(139),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.children.change,function(){return e.rebuild_child_views()})},e.prototype.render=function(){var t,e,n;return this._render_classes(),\"fixed\"!==this.model.sizing_mode&&\"scale_height\"!==this.model.sizing_mode||(n=this.get_width(),this.model._width.value!==n&&this.solver.suggest_value(this.model._width,n)),\"fixed\"!==this.model.sizing_mode&&\"scale_width\"!==this.model.sizing_mode||(e=this.get_height(),this.model._height.value!==e&&this.solver.suggest_value(this.model._height,e)),this.solver.update_variables(),\"stretch_both\"===this.model.sizing_mode?(this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\",this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"):(t=this.model._width.value-20>0?this.model._width.value-20+\"px\":\"100%\",this.el.style.width=t)},e.prototype.get_height=function(){var t,e,n,i,o,s,a,l;n=0,a=this.child_views;for(i in a)r.call(a,i)&&(t=a[i],e=t.el,l=getComputedStyle(e),s=parseInt(l.marginTop)||0,o=parseInt(l.marginBottom)||0,n+=e.offsetHeight+s+o);return n+20},e.prototype.get_width=function(){var t,e,n,i,o;if(null!=this.model.width)return this.model.width;o=this.el.scrollWidth+20,i=this.child_views;for(n in i)r.call(i,n)&&(t=i[n],(e=t.el.scrollWidth)>o&&(o=e));return o},e}(l.LayoutDOMView);n.WidgetBoxView=u,u.prototype.className=\"bk-widget-box\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),\"fixed\"===this.sizing_mode&&null===this.width&&(this.width=300,o.logger.info(\"WidgetBox mode is fixed, but no width specified. Using default of 300.\")),\"scale_height\"===this.sizing_mode)return o.logger.warn(\"sizing_mode `scale_height` is not experimental for WidgetBox. Please report your results to the bokeh dev team so we can improve.\")},e.prototype.get_constrained_variables=function(){var e;return e=a.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this._top,on_edge_align_bottom:this._height_minus_bottom,on_edge_align_left:this._left,on_edge_align_right:this._width_minus_right,box_cell_align_top:this._top,box_cell_align_bottom:this._height_minus_bottom,box_cell_align_left:this._left,box_cell_align_right:this._width_minus_right,box_equal_size_top:this._top,box_equal_size_bottom:this._height_minus_bottom}),\"fixed\"!==this.sizing_mode&&(e.box_equal_size_left=this._left,e.box_equal_size_right=this._width_minus_right),e},e.prototype.get_layoutable_children=function(){return this.children},e}(l.LayoutDOM);n.WidgetBox=h,h.prototype.type=\"WidgetBox\",h.prototype.default_view=u,h.define({children:[s.Array,[]]})},function(t,e,n){var i,r=t(364),o=t(144),s=t(15),a=t(22),l=t(42);i=function(t,e){var n,i,r;if(t.length!==e.length)return!1;for(n=i=0,r=t.length;0<=r?i<r:i>r;n=0<=r?++i:--i)if(t[n]!==e[n])return!1;return!0};var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._get_values=function(t,e){var n,r,o,s,u,h;for(h=[],o=0,u=t.length;o<u;o++)r=t[o],l.isString(r)?s=this.factors.indexOf(r):(null!=this.start?r=null!=this.end?r.slice(this.start,this.end):r.slice(this.start):null!=this.end&&(r=r.slice(0,this.end)),s=1===r.length?this.factors.indexOf(r[0]):a.findIndex(this.factors,function(t){return i(t,r)})),n=s<0||s>=e.length?this.nan_color:e[s],h.push(n);return h},e}(o.ColorMapper);n.CategoricalColorMapper=u,u.prototype.type=\"CategoricalColorMapper\",u.define({factors:[s.Array],start:[s.Number,0],end:[s.Number]})},function(t,e,n){var i=t(364),r=t(15),o=t(243),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._little_endian=this._is_little_endian(),this._palette=this._build_palette(this.palette),this.connect(this.change,function(){return this._palette=this._build_palette(this.palette)})},e.prototype.v_map_screen=function(t,e){void 0===e&&(e=!1);var n,i,r,o,s,a,l,u,h,c;if(c=this._get_values(t,this._palette,e),n=new ArrayBuffer(4*t.length),this._little_endian)for(i=new Uint8Array(n),r=s=0,l=t.length;0<=l?s<l:s>l;r=0<=l?++s:--s)h=c[r],i[o=4*r]=Math.floor(h/4278190080*255),i[o+1]=(16711680&h)>>16,i[o+2]=(65280&h)>>8,i[o+3]=255&h;else for(i=new Uint32Array(n),r=a=0,u=t.length;0<=u?a<u:a>u;r=0<=u?++a:--a)h=c[r],i[r]=h<<8|255;return n},e.prototype.compute=function(t){return null},e.prototype.v_compute=function(t){return this._get_values(t,this.palette)},e.prototype._get_values=function(t,e,n){return void 0===n&&(n=!1),[]},e.prototype._is_little_endian=function(){var t,e,n,i;return t=new ArrayBuffer(4),n=new Uint8Array(t),e=new Uint32Array(t),e[1]=168496141,i=!0,10===n[4]&&11===n[5]&&12===n[6]&&13===n[7]&&(i=!1),i},e.prototype._build_palette=function(t){var e,n,i,r,o;for(r=new Uint32Array(t.length),e=function(t){return s.isNumber(t)?t:(9!==t.length&&(t+=\"ff\"),parseInt(t.slice(1),16))},n=i=0,o=t.length;0<=o?i<o:i>o;n=0<=o?++i:--i)r[n]=e(t[n]);return r},e}(o.Transform);n.ColorMapper=a,a.prototype.type=\"ColorMapper\",a.define({palette:[r.Any],nan_color:[r.Color,\"gray\"]})},function(t,e,n){var i=t(143);n.CategoricalColorMapper=i.CategoricalColorMapper;var r=t(144);n.ColorMapper=r.ColorMapper;var o=t(146);n.LinearColorMapper=o.LinearColorMapper;var s=t(147);n.LogColorMapper=s.LogColorMapper},function(t,e,n){var i=t(364),r=t(15),o=t(26),s=t(22),a=t(144),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._nan_color=this._build_palette([o.color2hex(this.nan_color)])[0],this._high_color=null!=this.high_color?this._build_palette([o.color2hex(this.high_color)])[0]:void 0,this._low_color=null!=this.low_color?this._build_palette([o.color2hex(this.low_color)])[0]:void 0},e.prototype._get_values=function(t,e,n){void 0===n&&(n=!1);var i,r,o,a,l,u,h,c,_,p,d,f,m,v,g,y;for(h=null!=(v=this.low)?v:s.min(t),r=null!=(g=this.high)?g:s.max(t),_=e.length-1,y=[],p=n?this._nan_color:this.nan_color,c=n?this._low_color:this.low_color,o=n?this._high_color:this.high_color,d=1/(r-h),m=1/e.length,a=0,u=t.length;a<u;a++)i=t[a],isNaN(i)?y.push(p):i!==r?(f=(i-h)*d,(l=Math.floor(f/m))<0?null!=this.low_color?y.push(c):y.push(e[0]):l>_?null!=this.high_color?y.push(o):y.push(e[_]):y.push(e[l])):y.push(e[_]);return y},e}(a.ColorMapper);n.LinearColorMapper=l,l.prototype.type=\"LinearColorMapper\",l.define({high:[r.Number],low:[r.Number],high_color:[r.Color],low_color:[r.Color]})},function(t,e,n){var i,r,o=t(364),s=t(15),a=t(26),l=t(22),u=t(144);i=null!=(r=Math.log1p)?r:function(t){return Math.log(1+t)};var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._nan_color=this._build_palette([a.color2hex(this.nan_color)])[0],this._high_color=null!=this.high_color?this._build_palette([a.color2hex(this.high_color)])[0]:void 0,this._low_color=null!=this.low_color?this._build_palette([a.color2hex(this.low_color)])[0]:void 0},e.prototype._get_values=function(t,e,n){void 0===n&&(n=!1);var r,o,s,a,u,h,c,_,p,d,f,m,v,g,y,b;for(f=e.length,_=null!=(v=this.low)?v:l.min(t),o=null!=(g=this.high)?g:l.max(t),y=f/(i(o)-i(_)),d=e.length-1,b=[],m=n?this._nan_color:this.nan_color,s=n?this._high_color:this.high_color,p=n?this._low_color:this.low_color,a=0,h=t.length;a<h;a++)r=t[a],isNaN(r)?b.push(m):r>o?null!=this.high_color?b.push(s):b.push(e[d]):r!==o?r<_?null!=this.low_color?b.push(p):b.push(e[0]):(c=i(r)-i(_),(u=Math.floor(c*y))>d&&(u=d),b.push(e[u])):b.push(e[d]);return b},e}(u.ColorMapper);n.LogColorMapper=h,h.prototype.type=\"LogColorMapper\",h.define({high:[s.Number],low:[s.Number],high_color:[s.Color],low_color:[s.Color]})},function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x=t(364),w=t(149);i=Math.sqrt(3),l=function(t,e){return t.moveTo(-e,e),t.lineTo(e,-e),t.moveTo(-e,-e),t.lineTo(e,e)},o=function(t,e){return t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-e,0),t.lineTo(e,0)},s=function(t,e){return t.moveTo(0,e),t.lineTo(e/1.5,0),t.lineTo(0,-e),t.lineTo(-e/1.5,0),t.closePath()},a=function(t,e){var n,r;return r=e*i,n=r/3,t.moveTo(-e,n),t.lineTo(e,n),t.lineTo(0,n-r),t.closePath()},u=function(t,e,n,i,r,s,a){var u;u=.65*r,o(t,r),l(t,u),s.doit&&(s.set_vectorize(t,e),t.stroke())},h=function(t,e,n,i,r,s,a){t.arc(0,0,r,0,2*Math.PI,!1),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,r),t.stroke())},c=function(t,e,n,i,r,o,s){t.arc(0,0,r,0,2*Math.PI,!1),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,r),t.stroke())},_=function(t,e,n,i,r,s,a){o(t,r),s.doit&&(s.set_vectorize(t,e),t.stroke())},p=function(t,e,n,i,r,o,a){s(t,r),a.doit&&(a.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},d=function(t,e,n,i,r,a,l){s(t,r),l.doit&&(l.set_vectorize(t,e),t.fill()),a.doit&&(a.set_vectorize(t,e),o(t,r),t.stroke())},f=function(t,e,n,i,r,o,s){t.rotate(Math.PI),a(t,r),t.rotate(-Math.PI),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},m=function(t,e,n,i,r,o,s){var a;a=2*r,t.rect(-r,-r,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},v=function(t,e,n,i,r,s,a){var l;l=2*r,t.rect(-r,-r,l,l),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,r),t.stroke())},g=function(t,e,n,i,r,o,s){var a;a=2*r,t.rect(-r,-r,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,r),t.stroke())},y=function(t,e,n,i,r,o,s){a(t,r),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},b=function(t,e,n,i,r,o,s){l(t,r),o.doit&&(o.set_vectorize(t,e),t.stroke())},r=function(t,e){var n;return n=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return x.__extends(e,t),e}(w.MarkerView);return t.prototype._render_one=e,t}(),function(){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return x.__extends(e,t),e}(w.Marker);return e.prototype.default_view=n,e.prototype.type=t,e}()},n.Asterisk=r(\"Asterisk\",u),n.CircleCross=r(\"CircleCross\",h),n.CircleX=r(\"CircleX\",c),n.Cross=r(\"Cross\",_),n.Diamond=r(\"Diamond\",p),n.DiamondCross=r(\"DiamondCross\",d),n.InvertedTriangle=r(\"InvertedTriangle\",f),n.Square=r(\"Square\",m),n.SquareCross=r(\"SquareCross\",v),n.SquareX=r(\"SquareX\",g),n.Triangle=r(\"Triangle\",y),n.X=r(\"X\",b)},function(t,e,n){var i=t(364),r=t(128),o=t(9),s=t(15);n.MarkerView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.draw_legend_for_index=function(t,e,n,i,r,o){var s,a,l,u,h,c;return l=[o],h={},h[o]=(e+n)/2,c={},c[o]=(i+r)/2,u={},u[o]=.4*Math.min(Math.abs(n-e),Math.abs(r-i)),s={},s[o]=this._angle[o],a={sx:h,sy:c,_size:u,_angle:s},this._render(t,l,a)},e.prototype._render=function(t,e,n){var i,r,o,s,a,l=n.sx,u=n.sy,h=n._size,c=n._angle;for(a=[],r=0,o=e.length;r<o;r++)i=e[r],isNaN(l[i]+u[i]+h[i]+c[i])||(s=h[i]/2,t.beginPath(),t.translate(l[i],u[i]),c[i]&&t.rotate(c[i]),this._render_one(t,i,l[i],u[i],s,this.visuals.line,this.visuals.fill),c[i]&&t.rotate(-c[i]),a.push(t.translate(-l[i],-u[i])));return a},e.prototype._mask_data=function(t){var e,n,i,r,s,a,l,u,h,c,_;return n=this.renderer.plot_view.frame.bbox.h_range,i=n.start-this.max_size,r=n.end+this.max_size,p=this.renderer.xscale.r_invert(i,r),u=p[0],h=p[1],l=this.renderer.plot_view.frame.bbox.v_range,s=l.start-this.max_size,a=l.end+this.max_size,d=this.renderer.yscale.r_invert(s,a),c=d[0],_=d[1],e=o.validate_bbox_coords([u,h],[c,_]),this.index.indices(e);var p,d},e.prototype._hit_point=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;for(h=t.sx,p=t.sy,c=h-this.max_size,_=h+this.max_size,b=this.renderer.xscale.r_invert(c,_),m=b[0],v=b[1],d=p-this.max_size,f=p+this.max_size,x=this.renderer.yscale.r_invert(d,f),g=x[0],y=x[1],e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),r=[],a=0,l=n.length;a<l;a++)s=n[a],u=this._size[s]/2,i=Math.abs(this.sx[s]-h)+Math.abs(this.sy[s]-p),Math.abs(this.sx[s]-h)<=u&&Math.abs(this.sy[s]-p)<=u&&r.push([s,i]);return o.create_1d_hit_test_result(r);var b,x},e.prototype._hit_span=function(t){var e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y;return h=t.sx,p=t.sy,b=this.bounds(),s=b.minX,a=b.minY,i=b.maxX,r=b.maxY,u=o.create_hit_test_result(),\"h\"===t.direction?(g=a,y=r,l=this.max_size/2,c=h-l,_=h+l,x=this.renderer.xscale.r_invert(c,_),m=x[0],v=x[1]):(m=s,v=i,l=this.max_size/2,d=p-l,f=p+l,w=this.renderer.yscale.r_invert(d,f),g=w[0],y=w[1]),e=o.validate_bbox_coords([m,v],[g,y]),n=this.index.indices(e),u[\"1d\"].indices=n,u;var b,x,w},e.prototype._hit_rect=function(t){var e,n,i,r,s,a,l,u,h,c;return i=t.sx0,r=t.sx1,s=t.sy0,a=t.sy1,_=this.renderer.xscale.r_invert(i,r),l=_[0],u=_[1],p=this.renderer.yscale.r_invert(s,a),h=p[0],c=p[1],e=o.validate_bbox_coords([l,u],[h,c]),n=o.create_hit_test_result(),n[\"1d\"].indices=this.index.indices(e),n;var _,p},e.prototype._hit_poly=function(t){var e,n,i,r,s,a,l,u,h,c;for(h=t.sx,c=t.sy,e=function(){u=[];for(var t=0,e=this.sx.length;0<=e?t<e:t>e;0<=e?t++:t--)u.push(t);return u}.apply(this),n=[],i=s=0,a=e.length;0<=a?s<a:s>a;i=0<=a?++s:--s)r=e[i],o.point_in_poly(this.sx[i],this.sy[i],h,c)&&n.push(r);return l=o.create_hit_test_result(),l[\"1d\"].indices=n,l},e}(r.XYGlyphView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.XYGlyph);n.Marker=a,a.mixins([\"line\",\"fill\"]),a.define({size:[s.DistanceSpec,{units:\"screen\",value:4}],angle:[s.AngleSpec,0]})},function(t,e,n){var i=t(364),r=t(14),o=t(151),s=t(153),a=t(15),l=t(50),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Model);n.MapOptions=u,u.prototype.type=\"MapOptions\",u.define({lat:[a.Number],lng:[a.Number],zoom:[a.Number,12]});var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(u);n.GMapOptions=h,h.prototype.type=\"GMapOptions\",h.define({map_type:[a.String,\"roadmap\"],scale_control:[a.Bool,!1],styles:[a.String]}),n.GMapPlotView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.PlotView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),!this.api_key)return r.logger.error(\"api_key is required. See https://developers.google.com/maps/documentation/javascript/get-api-key for more information on how to obtain your own.\")},e.prototype._init_plot_canvas=function(){return new o.GMapPlotCanvas({plot:this})},e}(s.Plot);n.GMapPlot=c,c.prototype.type=\"GMapPlot\",c.prototype.default_view=n.GMapPlotView,c.define({map_options:[a.Instance],api_key:[a.String]})},function(t,e,n){var i,r,o=t(364),s=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},a=t(31),l=t(154),u=t(20);i=new u.Signal(this,\"gmaps_ready\"),r=function(t){var e;return window._bokeh_gmaps_callback=function(){return i.emit()},e=document.createElement(\"script\"),e.type=\"text/javascript\",e.src=\"https://maps.googleapis.com/maps/api/js?key=\"+t+\"&callback=_bokeh_gmaps_callback\",document.body.appendChild(e)},n.GMapPlotCanvasView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._get_latlon_bounds=e._get_latlon_bounds.bind(e),e._get_projected_bounds=e._get_projected_bounds.bind(e),e._set_bokeh_ranges=e._set_bokeh_ranges.bind(e),e}return o.__extends(e,t),e.prototype.initialize=function(e){var n,o,s=this;return this.pause(),t.prototype.initialize.call(this,e),this._tiles_loaded=!1,this.zoom_count=0,n=this.model.plot.map_options,this.initial_zoom=n.zoom,this.initial_lat=n.lat,this.initial_lng=n.lng,this.canvas_view.map_el.style.position=\"absolute\",null==(null!=(o=window.google)?o.maps:void 0)&&(null==window._bokeh_gmaps_callback&&r(this.model.plot.api_key),i.connect(function(){return s.request_render()})),this.unpause()},e.prototype.update_range=function(e){var n,i,r,o,s;if(null==e)this.model.plot.map_options,this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),t.prototype.update_range.call(this,null);else if(null!=e.sdx||null!=e.sdy)this.map.panBy(e.sdx,e.sdy),t.prototype.update_range.call(this,e);else if(null!=e.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),t.prototype.update_range.call(this,e),s=e.factor<0?-1:1,i=this.map.getZoom(),(n=i+s)>=2&&(this.map.setZoom(n),a=this._get_projected_bounds(),o=a[0],r=a[1],a[2],a[3],r-o<0&&this.map.setZoom(i)),this.unpause()}return this._set_bokeh_ranges();var a},e.prototype._build_map=function(){var t,e,n,i=this;return e=window.google.maps,this.map_types={satellite:e.MapTypeId.SATELLITE,terrain:e.MapTypeId.TERRAIN,roadmap:e.MapTypeId.ROADMAP,hybrid:e.MapTypeId.HYBRID},n=this.model.plot.map_options,t={center:new e.LatLng(n.lat,n.lng),zoom:n.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[n.map_type],scaleControl:n.scale_control},null!=n.styles&&(t.styles=JSON.parse(n.styles)),this.map=new e.Map(this.canvas_view.map_el,t),e.event.addListener(this.map,\"idle\",function(){return i._set_bokeh_ranges()}),e.event.addListener(this.map,\"bounds_changed\",function(){return i._set_bokeh_ranges()}),e.event.addListenerOnce(this.map,\"tilesloaded\",function(){return i._render_finished()}),this.connect(this.model.plot.properties.map_options.change,function(){return i._update_options()}),this.connect(this.model.plot.map_options.properties.styles.change,function(){return i._update_styles()}),this.connect(this.model.plot.map_options.properties.lat.change,function(){return i._update_center(\"lat\")}),this.connect(this.model.plot.map_options.properties.lng.change,function(){return i._update_center(\"lng\")}),this.connect(this.model.plot.map_options.properties.zoom.change,function(){return i._update_zoom()}),this.connect(this.model.plot.map_options.properties.map_type.change,function(){return i._update_map_type()}),this.connect(this.model.plot.map_options.properties.scale_control.change,function(){return i._update_scale_control()})},e.prototype._render_finished=function(){return this._tiles_loaded=!0,this.notify_finished()},e.prototype.has_finished=function(){return t.prototype.has_finished.call(this)&&!0===this._tiles_loaded},e.prototype._get_latlon_bounds=function(){var t,n,i,r,o,a,l;return s(this,e),n=this.map.getBounds(),i=n.getNorthEast(),t=n.getSouthWest(),o=t.lng(),r=i.lng(),l=t.lat(),a=i.lat(),[o,r,l,a]},e.prototype._get_projected_bounds=function(){var t,n,i,r,o,l,u,h;return s(this,e),c=this._get_latlon_bounds(),l=c[0],o=c[1],h=c[2],u=c[3],_=a.proj4(a.mercator,[l,h]),n=_[0],r=_[1],p=a.proj4(a.mercator,[o,u]),t=p[0],i=p[1],[n,t,r,i];var c,_,p},e.prototype._set_bokeh_ranges=function(){var t,n,i,r;return s(this,e),o=this._get_projected_bounds(),n=o[0],t=o[1],r=o[2],i=o[3],this.frame.x_range.setv({start:n,end:t}),this.frame.y_range.setv({start:r,end:i});var o},e.prototype._update_center=function(t){var e;return e=this.map.getCenter().toJSON(),e[t]=this.model.plot.map_options[t],this.map.setCenter(e),this._set_bokeh_ranges()},e.prototype._update_map_type=function(){return window.google.maps,this.map.setOptions({mapTypeId:this.map_types[this.model.plot.map_options.map_type]})},e.prototype._update_scale_control=function(){return window.google.maps,this.map.setOptions({scaleControl:this.model.plot.map_options.scale_control})},e.prototype._update_options=function(){return this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()},e.prototype._update_styles=function(){return this.map.setOptions({styles:JSON.parse(this.model.plot.map_options.styles)})},e.prototype._update_zoom=function(){return this.map.setOptions({zoom:this.model.plot.map_options.zoom}),this._set_bokeh_ranges()},e.prototype._map_hook=function(t,e){var n,i,r,o,s;if(i=e[0],o=e[1],s=e[2],n=e[3],this.canvas_view.map_el.style.top=o+\"px\",this.canvas_view.map_el.style.left=i+\"px\",this.canvas_view.map_el.style.width=s+\"px\",this.canvas_view.map_el.style.height=n+\"px\",null==this.map&&null!=(null!=(r=window.google)?r.maps:void 0))return this._build_map()},e.prototype._paint_empty=function(t,e){var n,i,r,o,s,a;return s=this.canvas._width.value,o=this.canvas._height.value,r=e[0],a=e[1],i=e[2],n=e[3],t.clearRect(0,0,s,o),t.beginPath(),t.moveTo(0,0),t.lineTo(0,o),t.lineTo(s,o),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(r,a),t.lineTo(r+i,a),t.lineTo(r+i,a+n),t.lineTo(r,a+n),t.lineTo(r,a),t.closePath(),t.fillStyle=this.model.plot.border_fill_color,t.fill()},e}(l.PlotCanvasView);var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o.__extends(e,t),e.prototype.initialize=function(e,n){return this.use_map=!0,t.prototype.initialize.call(this,e,n)},e}(l.PlotCanvas);n.GMapPlotCanvas=h,h.prototype.type=\"GMapPlotCanvas\",h.prototype.default_view=n.GMapPlotCanvasView},function(t,e,n){var i=t(150);n.MapOptions=i.MapOptions;var r=t(150);n.GMapOptions=r.GMapOptions;var o=t(150);n.GMapPlot=o.GMapPlot;var s=t(151);n.GMapPlotCanvas=s.GMapPlotCanvas;var a=t(153);n.Plot=a.Plot;var l=t(154);n.PlotCanvas=l.PlotCanvas},function(t,e,n){var i=t(364),r=t(13),o=t(14),s=t(15),a=t(22),l=t(30),u=t(42),h=t(139),c=t(65),_=t(168),p=t(233),d=t(66),f=t(154),m=t(173),v=t(161),g=t(3),y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e;return t.prototype.connect_signals.call(this),e=\"Title object cannot be replaced. Try changing properties on title to update it after initialization.\",this.connect(this.model.properties.title.change,function(){return o.logger.warn(e)})},e.prototype.get_height=function(){return this.model._width.value/this.model.get_aspect_ratio()},e.prototype.get_width=function(){return this.model._height.value*this.model.get_aspect_ratio()},e.prototype.save=function(t){return this.plot_canvas_view.save(t)},e}(h.LayoutDOMView);n.PlotView=y,y.prototype.className=\"bk-plot-layout\",y.getters({plot_canvas_view:function(){return this.child_views[this.model._plot_canvas.id]}});var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,r,o,s,a,h,c,_,p,d,f,m,v,g,y;for(t.prototype.initialize.call(this,e),_=l.values(this.extra_x_ranges).concat(this.x_range),n=0,s=_.length;n<s;n++)g=_[n],c=g.plots,u.isArray(c)&&(c=c.concat(this),g.setv({plots:c},{silent:!0}));for(p=l.values(this.extra_y_ranges).concat(this.y_range),i=0,a=p.length;i<a;i++)y=p[i],c=y.plots,u.isArray(c)&&(c=c.concat(this),y.setv({plots:c},{silent:!0}));for(null!=this.min_border&&(null==this.min_border_top&&(this.min_border_top=this.min_border),null==this.min_border_bottom&&(this.min_border_bottom=this.min_border),null==this.min_border_left&&(this.min_border_left=this.min_border),null==this.min_border_right&&(this.min_border_right=this.min_border)),this._init_title_panel(),this._init_toolbar_panel(),this._plot_canvas=this._init_plot_canvas(),this.plot_canvas.toolbar=this.toolbar,null==this.width&&(this.width=this.plot_width),null==this.height&&(this.height=this.plot_height),m=[],r=0,h=(d=[\"above\",\"below\",\"left\",\"right\"]).length;r<h;r++)v=d[r],o=this.getv(v),m.push(function(){var t,e,n;for(n=[],t=0,e=o.length;t<e;t++)f=o[t],n.push(f.add_panel(v));return n}());return m},e.prototype._init_plot_canvas=function(){return new f.PlotCanvas({plot:this})},e.prototype._init_title_panel=function(){var t;if(null!=this.title)return t=u.isString(this.title)?new c.Title({text:this.title}):this.title,this.add_layout(t,this.title_location)},e.prototype._init_toolbar_panel=function(){var t,e,n,i,r,o,s=this;if(null!=this._toolbar_panel){for(r=[this.left,this.right,this.above,this.below,this.renderers],t=0,n=r.length;t<n;t++)e=r[t],a.removeBy(e,function(t){return t===s._toolbar_panel});this._toolbar_panel=null}switch(this.toolbar_location){case\"left\":case\"right\":case\"above\":case\"below\":return this._toolbar_panel=new d.ToolbarPanel({toolbar:this.toolbar}),this.toolbar.toolbar_location=this.toolbar_location,this.toolbar_sticky&&(i=this.getv(this.toolbar_location),null!=(o=a.find(i,function(t){return t instanceof c.Title})))?(this._toolbar_panel.set_panel(o.panel),void this.add_renderers(this._toolbar_panel)):this.add_layout(this._toolbar_panel,this.toolbar_location)}},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.properties.toolbar_location.change,function(){return e._init_toolbar_panel()})},e.prototype._doc_attached=function(){return this.plot_canvas.attach_document(this.document),t.prototype._doc_attached.call(this)},e.prototype.add_renderers=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n;return n=this.renderers,n=n.concat(t),this.renderers=n},e.prototype.add_layout=function(t,e){void 0===e&&(e=\"center\");return null!=t.props.plot&&(t.plot=this),\"center\"!==e&&(this.getv(e).push(t),t.add_panel(e)),this.add_renderers(t)},e.prototype.add_glyph=function(t,e,n){void 0===n&&(n={});var i;return null==e&&(e=new m.ColumnDataSource),n=l.extend({},n,{data_source:e,glyph:t}),i=new v.GlyphRenderer(n),this.add_renderers(i),i},e.prototype.add_tools=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n,i,r;for(n=0,i=t.length;n<i;n++)null!=(r=t[n]).overlay&&this.add_renderers(r.overlay);return this.toolbar.tools=this.toolbar.tools.concat(t)},e.prototype.get_layoutable_children=function(){return[this.plot_canvas]},e.prototype.get_constraints=function(){var e;return(e=t.prototype.get_constraints.call(this)).push(r.EQ(this._width,[-1,this.plot_canvas._width])),e.push(r.EQ(this._height,[-1,this.plot_canvas._height])),e},e.prototype.get_constrained_variables=function(){var e;return e=l.extend({},t.prototype.get_constrained_variables.call(this),{on_edge_align_top:this.plot_canvas._top,on_edge_align_bottom:this.plot_canvas._height_minus_bottom,on_edge_align_left:this.plot_canvas._left,on_edge_align_right:this.plot_canvas._width_minus_right,box_cell_align_top:this.plot_canvas._top,box_cell_align_bottom:this.plot_canvas._height_minus_bottom,box_cell_align_left:this.plot_canvas._left,box_cell_align_right:this.plot_canvas._width_minus_right,box_equal_size_top:this.plot_canvas._top,box_equal_size_bottom:this.plot_canvas._height_minus_bottom}),\"fixed\"!==this.sizing_mode&&(e.box_equal_size_left=this.plot_canvas._left,e.box_equal_size_right=this.plot_canvas._width_minus_right),e},e}(h.LayoutDOM);n.Plot=b,b.prototype.type=\"Plot\",b.prototype.default_view=y,b.getters({plot_canvas:function(){return this._plot_canvas}}),b.mixins([\"line:outline_\",\"fill:background_\",\"fill:border_\"]),b.define({toolbar:[s.Instance,function(){return new p.Toolbar}],toolbar_location:[s.Location,\"right\"],toolbar_sticky:[s.Boolean,!0],plot_width:[s.Number,600],plot_height:[s.Number,600],title:[s.Any,function(){return new c.Title({text:\"\"})}],title_location:[s.Location,\"above\"],h_symmetry:[s.Bool,!0],v_symmetry:[s.Bool,!1],above:[s.Array,[]],below:[s.Array,[]],left:[s.Array,[]],right:[s.Array,[]],renderers:[s.Array,[]],x_range:[s.Instance],extra_x_ranges:[s.Any,{}],y_range:[s.Instance],extra_y_ranges:[s.Any,{}],x_scale:[s.Instance,function(){return new _.LinearScale}],y_scale:[s.Instance,function(){return new _.LinearScale}],lod_factor:[s.Number,10],lod_interval:[s.Number,300],lod_threshold:[s.Number,2e3],lod_timeout:[s.Number,500],hidpi:[s.Bool,!0],output_backend:[s.OutputBackend,\"canvas\"],min_border:[s.Number,5],min_border_top:[s.Number,null],min_border_left:[s.Number,null],min_border_bottom:[s.Number,null],min_border_right:[s.Number,null],inner_width:[s.Number],inner_height:[s.Number],layout_width:[s.Number],layout_height:[s.Number],match_aspect:[s.Bool,!1],aspect_scale:[s.Number,1]}),b.override({outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"}),b.getters({all_renderers:function(){var t,e,n,i,r;for(i=this.renderers,n=this.toolbar.tools,t=0,e=n.length;t<e;t++)r=n[t],i=i.concat(r.synthetic_renderers);return i},webgl:function(){return log.warning(\"webgl attr is deprecated, use output_backend\"),\"webgl\"===this.output_backend},tool_events:function(){return log.warning(\"tool_events attr is deprecated, use SelectionGeometry Event\"),null}}),g.register_with_event(g.UIEvent,b)},function(t,e,n){var i,r,o,s,a,l=t(364),u=[].indexOf,h=t(79),c=t(80),_=t(156),p=t(161),d=t(139),f=t(20),m=t(4),v=t(21),g=t(46),y=t(6),b=t(11),x=t(10),w=t(13),k=t(14),S=t(7),T=t(15),M=t(41),A=t(42),E=t(22),z=t(30),C=t(12);a=null;var O=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.view_options=function(){return z.extend({plot_view:this,parent:this},this.options)},e.prototype.pause=function(){return null==this._is_paused?this._is_paused=1:this._is_paused+=1},e.prototype.unpause=function(t){if(void 0===t&&(t=!1),this._is_paused-=1,0===this._is_paused&&!t)return this.request_render()},e.prototype.request_render=function(){return this.request_paint()},e.prototype.request_paint=function(){this.is_paused||this.throttled_paint()},e.prototype.remove=function(){return m.remove_views(this.renderer_views),m.remove_views(this.tool_views),this.canvas_view.remove(),this.canvas_view=null,t.prototype.remove.call(this)},e.prototype.initialize=function(e){var n,i,r,o,s=this;for(this.pause(),t.prototype.initialize.call(this,e),this.force_paint=new f.Signal(this,\"force_paint\"),this.state_changed=new f.Signal(this,\"state_changed\"),this.lod_started=!1,this.visuals=new g.Visuals(this.model.plot),this._initial_state_info={range:null,selection:{},dimensions:{width:this.model.canvas._width.value,height:this.model.canvas._height.value}},this.frame=this.model.frame,this.canvas=this.model.canvas,this.canvas_view=new this.canvas.default_view({model:this.canvas,parent:this}),this.el.appendChild(this.canvas_view.el),this.canvas_view.render(),\"webgl\"===this.model.plot.output_backend&&this.init_webgl(),this.throttled_paint=M.throttle(function(){return s.force_paint.emit()},15),this.ui_event_bus=new v.UIEvents(this,this.model.toolbar,this.canvas_view.el,this.model.plot),this.levels={},o=S.RenderLevel,n=0,i=o.length;n<i;n++)r=o[n],this.levels[r]={};return this.renderer_views={},this.tool_views={},this.build_levels(),this.build_tools(),this.update_dataranges(),this.unpause(!0),k.logger.debug(\"PlotView initialized\"),this},e.prototype.set_cursor=function(t){return void 0===t&&(t=\"default\"),this.canvas_view.el.style.cursor=t},e.prototype.init_webgl=function(){var t,e,n;return t=this.canvas_view.ctx,null==(e=a)&&(a=e=document.createElement(\"canvas\"),n={premultipliedAlpha:!0},e.gl=e.getContext(\"webgl\",n)||e.getContext(\"experimental-webgl\",n)),null!=e.gl?t.glcanvas=e:k.logger.warn(\"WebGL is not supported, falling back to 2D canvas.\")},e.prototype.prepare_webgl=function(t,e){var n,i,r;if(i=this.canvas_view.ctx,n=this.canvas_view.get_canvas_element(),i.glcanvas)return i.glcanvas.width=n.width,i.glcanvas.height=n.height,(r=i.glcanvas.gl).viewport(0,0,i.glcanvas.width,i.glcanvas.height),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT||r.DEPTH_BUFFER_BIT),r.enable(r.SCISSOR_TEST),r.scissor(t*e[0],t*e[1],t*e[2],t*e[3]),r.enable(r.BLEND),r.blendFuncSeparate(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA,r.ONE_MINUS_DST_ALPHA,r.ONE)},e.prototype.blit_webgl=function(t){var e;if((e=this.canvas_view.ctx).glcanvas)return k.logger.debug(\"drawing with WebGL\"),e.restore(),e.drawImage(e.glcanvas,0,0),e.save(),e.scale(t,t),e.translate(.5,.5)},e.prototype.update_dataranges=function(){var t,e,n,i,r,o,s,a,l,u,h,c,p,d,f,m,v,g,y,b,x,w,S,T,M,A,E,C,O,N,j,P,D,F,I,B;for(o=this.model.frame,e={},g={},i=!1,S=z.values(o.x_ranges).concat(z.values(o.y_ranges)),l=0,c=S.length;l<c;l++)(w=S[l])instanceof _.DataRange1d&&\"log\"===w.scale_hint&&(i=!0);T=this.renderer_views;for(u in T)j=T[u],null!=(t=null!=(M=j.glyph)&&\"function\"==typeof M.bounds?M.bounds():void 0)&&(e[u]=t),i&&null!=(v=null!=(A=j.glyph)&&\"function\"==typeof A.log_bounds?A.log_bounds():void 0)&&(g[u]=v);if(r=!1,s=!1,!1!==this.model.plot.match_aspect&&0!==this.frame._width.value&&0!==this.frame._height.value){w=1/this.model.plot.aspect_scale*(this.frame._width.value/this.frame._height.value);for(u in e)j=e[u],isFinite(j.maxX)&&isFinite(j.minX)&&isFinite(j.maxY)&&isFinite(j.minY)&&((P=j.maxX-j.minX)<=0&&(P=1),(a=j.maxY-j.minY)<=0&&(a=1),D=.5*(j.maxX+j.minX),I=.5*(j.maxY+j.minY),P<w*a?P=w*a:a=P/w,e[u].maxX=D+.5*P,e[u].minX=D-.5*P,e[u].maxY=I+.5*a,e[u].minY=I-.5*a)}for(E=z.values(o.x_ranges),h=0,p=E.length;h<p;h++)(F=E[h])instanceof _.DataRange1d&&(n=\"log\"===F.scale_hint?g:e,F.update(n,0,this.model.id),F.follow&&(r=!0)),null!=F.bounds&&(s=!0);for(C=z.values(o.y_ranges),y=0,d=C.length;y<d;y++)(B=C[y])instanceof _.DataRange1d&&(n=\"log\"===B.scale_hint?g:e,B.update(n,1,this.model.id),B.follow&&(r=!0)),null!=B.bounds&&(s=!0);if(r&&s){for(k.logger.warn(\"Follow enabled so bounds are unset.\"),O=z.values(o.x_ranges),b=0,f=O.length;b<f;b++)(F=O[b]).bounds=null;for(N=z.values(o.y_ranges),x=0,m=N.length;x<m;x++)(B=N[x]).bounds=null}return this.range_update_timestamp=Date.now()},e.prototype.map_to_screen=function(t,e,n,i){return void 0===n&&(n=\"default\"),void 0===i&&(i=\"default\"),this.frame.map_to_screen(t,e,n,i)},e.prototype.push_state=function(t,e){var n,i;return n=(null!=(i=this.state.history[this.state.index])?i.info:void 0)||{},e=z.extend({},this._initial_state_info,n,e),this.state.history.slice(0,this.state.index+1),this.state.history.push({type:t,info:e}),this.state.index=this.state.history.length-1,this.state_changed.emit()},e.prototype.clear_state=function(){return this.state={history:[],index:-1},this.state_changed.emit()},e.prototype.can_undo=function(){return this.state.index>=0},e.prototype.can_redo=function(){return this.state.index<this.state.history.length-1},e.prototype.undo=function(){if(this.can_undo())return this.state.index-=1,this._do_state_change(this.state.index),this.state_changed.emit()},e.prototype.redo=function(){if(this.can_redo())return this.state.index+=1,this._do_state_change(this.state.index),this.state_changed.emit()},e.prototype._do_state_change=function(t){var e,n;if(null!=(e=(null!=(n=this.state.history[t])?n.info:void 0)||this._initial_state_info).range&&this.update_range(e.range),null!=e.selection)return this.update_selection(e.selection)},e.prototype.get_selection=function(){var t,e,n,i,r,o;for(o=[],n=this.model.plot.renderers,t=0,e=n.length;t<e;t++)(i=n[t])instanceof p.GlyphRenderer&&(r=i.data_source.selected,o[i.id]=r);return o},e.prototype.update_selection=function(t){var e,n,i,r,o,s,a;for(r=this.model.plot.renderers,a=[],n=0,i=r.length;n<i;n++)(s=r[n])instanceof p.GlyphRenderer&&(e=s.data_source,null!=t?(o=s.id,u.call(t,o)>=0?a.push(e.selected=t[s.id]):a.push(void 0)):a.push(e.selection_manager.clear()));return a},e.prototype.reset_selection=function(){return this.update_selection(null)},e.prototype._update_ranges_together=function(t){var e,n,i,r,o,s,a,l;for(l=1,e=0,i=t.length;e<i;e++)u=t[e],a=u[0],o=u[1],l=Math.min(l,this._get_weight_to_constrain_interval(a,o));if(l<1){for(s=[],n=0,r=t.length;n<r;n++)h=t[n],a=h[0],(o=h[1]).start=l*o.start+(1-l)*a.start,s.push(o.end=l*o.end+(1-l)*a.end);return s}var u,h},e.prototype._update_ranges_individually=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f;for(i=!1,o=0,a=t.length;o<a;o++)m=t[o],d=m[0],_=m[1],r=d.start>d.end,n||(f=this._get_weight_to_constrain_interval(d,_))<1&&(_.start=f*_.start+(1-f)*d.start,_.end=f*_.end+(1-f)*d.end),null!=d.bounds&&(h=d.bounds[0],u=d.bounds[1],c=Math.abs(_.end-_.start),r?(null!=h&&h>=_.end&&(i=!0,_.end=h,null==e&&null==n||(_.start=h+c)),null!=u&&u<=_.start&&(i=!0,_.start=u,null==e&&null==n||(_.end=u-c))):(null!=h&&h>=_.start&&(i=!0,_.start=h,null==e&&null==n||(_.end=h+c)),null!=u&&u<=_.end&&(i=!0,_.end=u,null==e&&null==n||(_.start=u-c))));if(!n||!i){for(p=[],s=0,l=t.length;s<l;s++)v=t[s],d=v[0],_=v[1],d.have_updated_interactively=!0,d.start!==_.start||d.end!==_.end?p.push(d.setv(_)):p.push(void 0);return p;var m,v}},e.prototype._get_weight_to_constrain_interval=function(t,e){var n,i,r,o,s,a,l,u;return s=t.min_interval,i=t.max_interval,u=1,null!=t.bounds&&(h=t.bounds,o=h[0],n=h[1],null!=o&&null!=n&&(r=Math.abs(n-o),i=null!=i?Math.min(i,r):r)),null==s&&null==i||(l=Math.abs(t.end-t.start),a=Math.abs(e.end-e.start),s>0&&a<s&&(u=(l-s)/(l-a)),i>0&&a>i&&(u=(i-l)/(a-l)),u=Math.max(0,Math.min(1,u))),u;var h},e.prototype.update_range=function(t,e,n){var i,r,o,s,a,l,u;if(this.pause(),null==t){o=this.frame.x_ranges;for(i in o)(u=o[i]).reset();s=this.frame.y_ranges;for(i in s)(u=s[i]).reset();this.update_dataranges()}else{r=[],a=this.frame.x_ranges;for(i in a)u=a[i],r.push([u,t.xrs[i]]);l=this.frame.y_ranges;for(i in l)u=l[i],r.push([u,t.yrs[i]]);n&&this._update_ranges_together(r),this._update_ranges_individually(r,e,n)}return this.unpause()},e.prototype.reset_range=function(){return this.update_range(null)},e.prototype.build_levels=function(){var t,e,n,i,r,o,s,a,l,u,h;for(l=this.model.plot.all_renderers,a=Object.keys(this.renderer_views),s=m.build_views(this.renderer_views,l,this.view_options()),u=E.difference(a,function(){var t,e,n;for(n=[],t=0,e=l.length;t<e;t++)o=l[t],n.push(o.id);return n}()),e=0,i=u.length;e<i;e++)t=u[e],delete this.levels.glyph[t];for(n=0,r=s.length;n<r;n++)h=s[n],this.levels[h.model.level][h.model.id]=h;return this},e.prototype.get_renderer_views=function(){var t,e,n,i,r;for(i=this.model.plot.renderers,r=[],t=0,e=i.length;t<e;t++)n=i[t],r.push(this.levels[n.level][n.id]);return r},e.prototype.build_tools=function(){var t,e,n,i,r,o;for(r=this.model.plot.toolbar.tools,n=m.build_views(this.tool_views,r,this.view_options()),i=[],t=0,e=n.length;t<e;t++)o=n[t],i.push(this.ui_event_bus.register_tool(o));return i},e.prototype.connect_signals=function(){var e,n,i,r,o=this;t.prototype.connect_signals.call(this),this.connect(this.force_paint,function(){return o.repaint()}),n=this.model.frame.x_ranges;for(e in n)r=n[e],this.connect(r.change,function(){return this.request_render()});i=this.model.frame.y_ranges;for(e in i)r=i[e],this.connect(r.change,function(){return this.request_render()});return this.connect(this.model.plot.properties.renderers.change,function(){return o.build_levels()}),this.connect(this.model.plot.toolbar.properties.tools.change,function(){return o.build_levels(),o.build_tools()}),this.connect(this.model.plot.change,function(){return this.request_render()})},e.prototype.set_initial_range=function(){var t,e,n,i,r,o,s;t=!0,o={},n=this.frame.x_ranges;for(e in n){if(null==(r=n[e]).start||null==r.end||A.isStrictNaN(r.start+r.end)){t=!1;break}o[e]={start:r.start,end:r.end}}if(t){s={},i=this.frame.y_ranges;for(e in i){if(null==(r=i[e]).start||null==r.end||A.isStrictNaN(r.start+r.end)){t=!1;break}s[e]={start:r.start,end:r.end}}}return t?(this._initial_state_info.range=this.initial_range_info={xrs:o,yrs:s},k.logger.debug(\"initial ranges set\")):k.logger.warn(\"could not set initial ranges\")},e.prototype.update_constraints=function(){var t,e,n;this.solver.suggest_value(this.frame._width,this.canvas._width.value),this.solver.suggest_value(this.frame._height,this.canvas._height.value),e=this.renderer_views;for(t in e)null!=(n=e[t]).model.panel&&C.update_panel_constraints(n);return this.solver.update_variables()},e.prototype._layout=function(t){if(void 0===t&&(t=!1),this.render(),t)return this.model.plot.setv({inner_width:Math.round(this.frame._width.value),inner_height:Math.round(this.frame._height.value),layout_width:Math.round(this.canvas._width.value),layout_height:Math.round(this.canvas._height.value)},{no_change:!0}),this.paint()},e.prototype.has_finished=function(){var e,n,i;if(!t.prototype.has_finished.call(this))return!1;n=this.levels;for(e in n){i=n[e];for(e in i)if(!i[e].has_finished())return!1}return!0},e.prototype.render=function(){var t,e;return e=this.model._width.value,t=this.model._height.value,this.canvas_view.set_dims([e,t]),this.update_constraints(),!1!==this.model.plot.match_aspect&&0!==this.frame._width.value&&0!==this.frame._height.value&&this.update_dataranges(),this.el.style.position=\"absolute\",this.el.style.left=this.model._dom_left.value+\"px\",this.el.style.top=this.model._dom_top.value+\"px\",this.el.style.width=this.model._width.value+\"px\",this.el.style.height=this.model._height.value+\"px\"},e.prototype._needs_layout=function(){var t,e,n;e=this.renderer_views;for(t in e)if(null!=(n=e[t]).model.panel&&C._view_sizes.get(n)!==n.get_size())return!0;return!1},e.prototype.repaint=function(){return this._needs_layout()?this.parent.partial_layout():this.paint()},e.prototype.paint=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_=this;if(!this.is_paused){k.logger.trace(\"PlotCanvas.render() for \"+this.model.id),this.canvas_view.prepare_canvas(),null!=this.model.document&&((i=this.model.document.interactive_duration())>=0&&i<this.model.plot.lod_interval?(o=this.model.plot.lod_timeout,setTimeout(function(){return _.model.document.interactive_duration()>o&&_.model.document.interactive_stop(_.model.plot),_.request_render()},o)):this.model.document.interactive_stop(this.model.plot)),a=this.renderer_views;for(r in a)if(l=a[r],null==this.range_update_timestamp||l.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}return this.model.frame._update_scales(),t=this.canvas_view.ctx,t.pixel_ratio=s=this.canvas.pixel_ratio,t.save(),t.scale(s,s),t.translate(.5,.5),e=[this.frame._left.value,this.frame._top.value,this.frame._width.value,this.frame._height.value],this._map_hook(t,e),this._paint_empty(t,e),this.prepare_webgl(s,e),t.save(),this.visuals.outline_line.doit&&(this.visuals.outline_line.set_value(t),c=e[1],n=e[3],(h=e[0])+(u=e[2])===this.canvas._width.value&&(u-=1),c+n===this.canvas._height.value&&(n-=1),t.strokeRect(h,c,u,n)),t.restore(),this._paint_levels(t,[\"image\",\"underlay\",\"glyph\"],e),this.blit_webgl(s),this._paint_levels(t,[\"annotation\"],e),this._paint_levels(t,[\"overlay\"]),null==this.initial_range_info&&this.set_initial_range(),t.restore(),this._has_finished?void 0:(this._has_finished=!0,this.notify_finished())}},e.prototype._paint_levels=function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f;for(t.save(),null!=n&&\"canvas\"===this.model.plot.output_backend&&(t.beginPath(),t.rect.apply(t,n),t.clip()),r={},_=this.model.plot.renderers,i=o=0,a=_.length;o<a;i=++o)p=_[i],r[p.id]=i;for(f=function(t){return r[t.model.id]},s=0,l=e.length;s<l;s++)for(h=e[s],d=E.sortBy(z.values(this.levels[h]),f),c=0,u=d.length;c<u;c++)d[c].render();return t.restore()},e.prototype._map_hook=function(t,e){},e.prototype._paint_empty=function(t,e){if(t.clearRect(0,0,this.canvas_view.model._width.value,this.canvas_view.model._height.value),this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(t),t.fillRect(0,0,this.canvas_view.model._width.value,this.canvas_view.model._height.value),t.clearRect.apply(t,e)),this.visuals.background_fill.doit)return this.visuals.background_fill.set_value(t),t.fillRect.apply(t,e)},e.prototype.save=function(t){var e,n,i,r,o,s,a;return\"canvas\"===(o=this.model.plot.output_backend)||\"webgl\"===o?null!=(n=this.canvas_view.get_canvas_element()).msToBlob?(e=n.msToBlob(),window.navigator.msSaveBlob(e,t)):(r=document.createElement(\"a\"),r.href=n.toDataURL(\"image/png\"),r.download=t+\".png\",r.target=\"_blank\",r.dispatchEvent(new MouseEvent(\"click\"))):\"svg\"===this.model.plot.output_backend?(s=this.canvas_view.ctx.getSerializedSvg(!0),a=new Blob([s],{type:\"text/plain\"}),i=document.createElement(\"a\"),i.download=t+\".svg\",i.innerHTML=\"Download svg\",i.href=window.URL.createObjectURL(a),i.onclick=function(t){return document.body.removeChild(t.target)},i.style.display=\"none\",document.body.appendChild(i),i.click()):void 0},e}(y.DOMView);n.PlotCanvasView=O,O.prototype.className=\"bk-plot-wrapper\",O.prototype.state={history:[],index:-1},O.getters({canvas_overlays:function(){return this.canvas_view.overlays_el},canvas_events:function(){return this.canvas_view.events_el},is_paused:function(){return null!=this._is_paused&&0!==this._is_paused}}),i=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"AbovePanel\",t}(),r=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"BelowPanel\",t}(),o=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"LeftPanel\",t}(),s=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e}(b.LayoutCanvas);return t.prototype.type=\"RightPanel\",t}();var N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return l.__extends(e,t),e.prototype.initialize=function(e,n){var a;return t.prototype.initialize.call(this,e,n),this.canvas=new h.Canvas({map:null!=(a=this.use_map)&&a,use_hidpi:this.plot.hidpi,output_backend:this.plot.output_backend}),this.frame=new c.CartesianFrame({x_range:this.plot.x_range,extra_x_ranges:this.plot.extra_x_ranges,x_scale:this.plot.x_scale,y_range:this.plot.y_range,extra_y_ranges:this.plot.extra_y_ranges,y_scale:this.plot.y_scale}),this.above_panel=new i,this.below_panel=new r,this.left_panel=new o,this.right_panel=new s,k.logger.debug(\"PlotCanvas initialized\")},e.prototype._doc_attached=function(){return this.canvas.attach_document(this.document),this.frame.attach_document(this.document),this.above_panel.attach_document(this.document),this.below_panel.attach_document(this.document),this.left_panel.attach_document(this.document),this.right_panel.attach_document(this.document),t.prototype._doc_attached.call(this),k.logger.debug(\"PlotCanvas attached to document\")},e.prototype.get_layoutable_children=function(){var t,e;return t=[this.above_panel,this.below_panel,this.left_panel,this.right_panel,this.canvas,this.frame],(e=function(e){var n,i,r,o;for(o=[],n=0,i=e.length;n<i;n++)null!=(r=e[n]).panel?o.push(t.push(r.panel)):o.push(void 0);return o})(this.plot.above),e(this.plot.below),e(this.plot.left),e(this.plot.right),t},e.prototype.get_constraints=function(){return t.prototype.get_constraints.call(this).concat(this._get_constant_constraints(),this._get_side_constraints())},e.prototype._get_constant_constraints=function(){return[w.EQ(this.canvas._left,0),w.EQ(this.canvas._top,0),w.GE(this.above_panel._top,[-1,this.canvas._top]),w.EQ(this.above_panel._bottom,[-1,this.frame._top]),w.EQ(this.above_panel._left,[-1,this.left_panel._right]),w.EQ(this.above_panel._right,[-1,this.right_panel._left]),w.EQ(this.below_panel._top,[-1,this.frame._bottom]),w.LE(this.below_panel._bottom,[-1,this.canvas._bottom]),w.EQ(this.below_panel._left,[-1,this.left_panel._right]),w.EQ(this.below_panel._right,[-1,this.right_panel._left]),w.EQ(this.left_panel._top,[-1,this.above_panel._bottom]),w.EQ(this.left_panel._bottom,[-1,this.below_panel._top]),w.GE(this.left_panel._left,[-1,this.canvas._left]),w.EQ(this.left_panel._right,[-1,this.frame._left]),w.EQ(this.right_panel._top,[-1,this.above_panel._bottom]),w.EQ(this.right_panel._bottom,[-1,this.below_panel._top]),w.EQ(this.right_panel._left,[-1,this.frame._right]),w.LE(this.right_panel._right,[-1,this.canvas._right]),w.EQ(this._top,[-1,this.above_panel._bottom]),w.EQ(this._left,[-1,this.left_panel._right]),w.EQ(this._height,[-1,this._bottom],[-1,this.canvas._bottom],this.below_panel._top),w.EQ(this._width,[-1,this._right],[-1,this.canvas._right],this.right_panel._left),w.GE(this._top,-this.plot.min_border_top),w.GE(this._left,-this.plot.min_border_left),w.GE(this._height,[-1,this._bottom],-this.plot.min_border_bottom),w.GE(this._width,[-1,this._right],-this.plot.min_border_right)]},e.prototype._get_side_constraints=function(){var t,e,n,i,r;return i=function(t){var e,n,i,r;for(r=[],e=0,n=t.length;e<n;e++)i=t[e],r.push(i.panel);return r},t=x.vstack(this.above_panel,i(this.plot.above)),e=x.vstack(this.below_panel,E.reversed(i(this.plot.below))),n=x.hstack(this.left_panel,i(this.plot.left)),r=x.hstack(this.right_panel,E.reversed(i(this.plot.right))),[].concat(t,e,n,r)},e}(d.LayoutDOM);n.PlotCanvas=N,N.prototype.type=\"PlotCanvas\",N.prototype.default_view=O,N.override({sizing_mode:\"stretch_both\"}),N.internal({plot:[T.Instance],toolbar:[T.Instance],canvas:[T.Instance],frame:[T.Instance]})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Range);n.DataRange=s,s.prototype.type=\"DataRange\",s.define({names:[o.Array,[]],renderers:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(155),o=t(161),s=t(14),a=t(15),l=t(23),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.plot_bounds={},this.have_updated_interactively=!1,this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span},e.prototype.computed_renderers=function(){var t,e,n,i,r,a,l,u,h,c,_;if(a=this.names,0===(c=this.renderers).length)for(h=this.plots,e=0,i=h.length;e<i;e++)l=h[e],t=l.renderers,_=function(){var e,n,i;for(i=[],e=0,n=t.length;e<n;e++)(u=t[e])instanceof o.GlyphRenderer&&i.push(u);return i}(),c=c.concat(_);for(a.length>0&&(c=function(){var t,e,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],a.indexOf(u.name)>=0&&n.push(u);return n}()),s.logger.debug(\"computed \"+c.length+\" renderers for DataRange1d \"+this.id),n=0,r=c.length;n<r;n++)u=c[n],s.logger.trace(\" - \"+u.type+\" \"+u.id);return c},e.prototype._compute_plot_bounds=function(t,e){var n,i,r,o;for(o=l.empty(),n=0,i=t.length;n<i;n++)r=t[n],null!=e[r.id]&&(o=l.union(o,e[r.id]));return o},e.prototype._compute_min_max=function(t,e){var n,i,r,o,s;o=l.empty();for(n in t)s=t[n],o=l.union(o,s);return 0===e?(a=[o.minX,o.maxX],r=a[0],i=a[1]):(u=[o.minY,o.maxY],r=u[0],i=u[1]),[r,i];var a,u},e.prototype._compute_range=function(t,e){var n,i,r,o,a,l,u,h,c,_;return u=null!=(h=this.range_padding)?h:0,\"log\"===this.scale_hint?((isNaN(t)||!isFinite(t)||t<=0)&&(t=isNaN(e)||!isFinite(e)||e<=0?.1:e/100,s.logger.warn(\"could not determine minimum data value for log axis, DataRange1d using value \"+t)),(isNaN(e)||!isFinite(e)||e<=0)&&(e=isNaN(t)||!isFinite(t)||t<=0?10:100*t,s.logger.warn(\"could not determine maximum data value for log axis, DataRange1d using value \"+e)),e===t?(c=this.default_span+.001,n=Math.log(t)/Math.log(10)):(\"percent\"===this.range_padding_units?(l=Math.log(t)/Math.log(10),a=Math.log(e)/Math.log(10),c=(a-l)*(1+u)):(l=Math.log(t-u)/Math.log(10),a=Math.log(e+u)/Math.log(10),c=a-l),n=(l+a)/2),p=[Math.pow(10,n-c/2),Math.pow(10,n+c/2)],_=p[0],i=p[1]):(c=e===t?this.default_span:\"percent\"===this.range_padding_units?(e-t)*(1+u):e-t+2*u,_=(d=[(n=(e+t)/2)-c/2,n+c/2])[0],i=d[1]),o=1,this.flipped&&(_=(f=[i,_])[0],i=f[1],o=-1),null!=(r=this.follow_interval)&&Math.abs(_-i)>r&&(\"start\"===this.follow?i=_+o*r:\"end\"===this.follow&&(_=i-o*r)),[_,i];var p,d,f},e.prototype.update=function(t,e,n){var i,r,o,s,a,l,u,h;if(!this.have_updated_interactively){return u=this.computed_renderers(),this.plot_bounds[n]=this._compute_plot_bounds(u,t),c=this._compute_min_max(this.plot_bounds,e),a=c[0],s=c[1],_=this._compute_range(a,s),h=_[0],o=_[1],null!=this._initial_start&&(\"log\"===this.scale_hint?this._initial_start>0&&(h=this._initial_start):h=this._initial_start),null!=this._initial_end&&(\"log\"===this.scale_hint?this._initial_end>0&&(o=this._initial_end):o=this._initial_end),p=[this.start,this.end],r=p[0],i=p[1],h===r&&o===i||(l={},h!==r&&(l.start=h),o!==i&&(l.end=o),this.setv(l)),\"auto\"===this.bounds&&this.setv({bounds:[h,o]},{silent:!0}),this.change.emit();var c,_,p}},e.prototype.reset=function(){return this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()},e}(r.DataRange);n.DataRange1d=u,u.prototype.type=\"DataRange1d\",u.define({start:[a.Number],end:[a.Number],range_padding:[a.Number,.1],range_padding_units:[a.PaddingUnits,\"percent\"],flipped:[a.Bool,!1],follow:[a.StartEnd],follow_interval:[a.Number],default_span:[a.Number,2],bounds:[a.Any],min_interval:[a.Any],max_interval:[a.Any]}),u.internal({scale_hint:[a.String,\"auto\"]}),u.getters({min:function(){return Math.min(this.start,this.end)},max:function(){return Math.max(this.start,this.end)}})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=t(22),a=t(42);n.map_one_level=function(t,e,n){void 0===n&&(n=0);var i,r,o,s,a;for(a={},r=o=0,s=t.length;o<s;r=++o){if((i=t[r])in a)throw new Error(\"duplicate factor or subfactor \"+i);a[i]={value:.5+r*(1+e)+n}}return[a,(t.length-1)*e]},n.map_two_levels=function(t,e,i,r){void 0===r&&(r=0);var o,a,l,u,h,c,_,p,d,f,m,v,g,y,b;for(_={},g={},y=[],l=0,h=t.length;l<h;l++)x=t[l],o=x[0],a=x[1],o in g||(g[o]=[],y.push(o)),g[o].push(a);for(f=r,b=0,u=0,c=y.length;u<c;u++)o=y[u],p=g[o].length,w=n.map_one_level(g[o],i,f),d=w[0],m=w[1],b+=m,v=s.sum(function(){var t,e,n,i;for(n=g[o],i=[],t=0,e=n.length;t<e;t++)a=n[t],i.push(d[a].value);return i}()),_[o]={value:v/p,mapping:d},f+=p+e+m;return[_,y,(y.length-1)*e+b];var x,w},n.map_three_levels=function(t,e,i,r,o){void 0===o&&(o=0);var a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M;for(m={},S={},T=[],h=0,p=t.length;h<p;h++)A=t[h],a=A[0],l=A[1],u=A[2],a in S||(S[a]=[],T.push(a)),S[a].push([l,u]);for(v=[],x=o,M=0,c=0,d=T.length;c<d;c++){for(a=T[c],g=S[a].length,E=n.map_two_levels(S[a],i,r,x),y=E[0],b=E[1],w=E[2],_=0,f=b.length;_<f;_++)l=b[_],v.push([a,l]);M+=w,k=s.sum(function(){var t,e,n,i;for(n=S[a],i=[],e=0,t=n.length;e<t;e++)r=n[e],l=r[0],u=r[1],i.push(y[l].value);return i;var r}()),m[a]={value:k/g,mapping:y},x+=g+e+w}return[m,T,v,(T.length-1)*e+M];var A,E};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._init(),this.connect(this.properties.factors.change,function(){return this._init()}),this.connect(this.properties.factor_padding.change,function(){return this._init()}),this.connect(this.properties.group_padding.change,function(){return this._init()}),this.connect(this.properties.subgroup_padding.change,function(){return this._init()}),this.connect(this.properties.range_padding.change,function(){return this._init()}),this.connect(this.properties.range_padding_units.change,function(){return this._init()})},e.prototype.reset=function(){return this._init(),this.change.emit()},e.prototype.synthetic=function(t){var e;return a.isNumber(t)?t:a.isString(t)?this._lookup([t]):(e=0,a.isNumber(t[t.length-1])&&(e=t[t.length-1],t=t.slice(0,-1)),this._lookup(t)+e)},e.prototype.v_synthetic=function(t){var e;return function(){var n,i,r;for(r=[],n=0,i=t.length;n<i;n++)e=t[n],r.push(this.synthetic(e));return r}.call(this)},e.prototype._init=function(){var t,e,i,r,o;if(s.all(this.factors,a.isString))r=1,l=n.map_one_level(this.factors,this.factor_padding),this._mapping=l[0],i=l[1];else if(s.all(this.factors,function(t){return a.isArray(t)&&2===t.length&&a.isString(t[0])&&a.isString(t[1])}))r=2,u=n.map_two_levels(this.factors,this.group_padding,this.factor_padding),this._mapping=u[0],this.tops=u[1],i=u[2];else{if(!s.all(this.factors,function(t){return a.isArray(t)&&3===t.length&&a.isString(t[0])&&a.isString(t[1])&&a.isString(t[2])}))throw new Error(\"\");r=3,h=n.map_three_levels(this.factors,this.group_padding,this.subgroup_padding,this.factor_padding),this._mapping=h[0],this.tops=h[1],this.mids=h[2],i=h[3]}if(o=0,t=this.factors.length+i,\"percent\"===this.range_padding_units?(e=(t-o)*this.range_padding/2,o-=e,t+=e):(o-=this.range_padding,t+=this.range_padding),this.setv({start:o,end:t,levels:r},{silent:!0}),\"auto\"===this.bounds)return this.setv({bounds:[o,t]},{silent:!0});var l,u,h},e.prototype._lookup=function(t){return 1===t.length?this._mapping[t[0]].value:2===t.length?this._mapping[t[0]].mapping[t[1]].value:3===t.length?this._mapping[t[0]].mapping[t[1]].mapping[t[2]].value:void 0},e}(r.Range);n.FactorRange=l,l.prototype.type=\"FactorRange\",l.define({factors:[o.Array,[]],factor_padding:[o.Number,0],subgroup_padding:[o.Number,.8],group_padding:[o.Number,1.4],range_padding:[o.Number,0],range_padding_units:[o.PaddingUnits,\"percent\"],start:[o.Number],end:[o.Number],bounds:[o.Any],min_interval:[o.Any],max_interval:[o.Any]}),l.getters({min:function(){return this.start},max:function(){return this.end}}),l.internal({levels:[o.Number],mids:[o.Array],tops:[o.Array],tops_groups:[o.Array]})},function(t,e,n){var i=t(155);n.DataRange=i.DataRange;var r=t(156);n.DataRange1d=r.DataRange1d;var o=t(157);n.FactorRange=o.FactorRange;var s=t(159);n.Range=s.Range;var a=t(160);n.Range1d=a.Range1d},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(42),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.change,function(){return this._emit_callback()})},e.prototype.reset=function(){return this.change.emit()},e.prototype._emit_callback=function(){if(null!=this.callback)return s.isFunction(this.callback)?this.callback(this):this.callback.execute(this)},e}(r.Model);n.Range=a,a.prototype.type=\"Range\",a.define({callback:[o.Any]}),a.internal({plots:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(159),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._set_auto_bounds=function(){var t,e;if(\"auto\"===this.bounds)return e=Math.min(this._initial_start,this._initial_end),t=Math.max(this._initial_start,this._initial_end),this.setv({bounds:[e,t]},{silent:!0})},e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._initial_start=this.start,this._initial_end=this.end,this._set_auto_bounds()},Object.defineProperty(e.prototype,\"min\",{get:function(){return Math.min(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max\",{get:function(){return Math.max(this.start,this.end)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"is_reversed\",{get:function(){return this.start>this.end},enumerable:!0,configurable:!0}),e.prototype.reset=function(){return this._set_auto_bounds(),this.start!==this._initial_start||this.end!==this._initial_end?this.setv({start:this._initial_start,end:this._initial_end}):this.change.emit()},e}(r.Range);n.Range1d=s,s.prototype.type=\"Range1d\",s.define({start:[o.Number,0],end:[o.Number,1],bounds:[o.Any],min_interval:[o.Any],max_interval:[o.Any]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(165),s=t(114),a=t(178),l=t(172),u=t(14),h=t(15),c=t(22),_=t(30);n.GlyphRendererView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n,i,o,s,l,u,h,c,p,d;if(t.prototype.initialize.call(this,e),n=this.model.glyph,s=r.call(n.mixins,\"fill\")>=0,l=r.call(n.mixins,\"line\")>=0,o=_.clone(n.attributes),delete o.id,h=function(t){var e;return e=_.clone(o),s&&_.extend(e,t.fill),l&&_.extend(e,t.line),new n.constructor(e)},this.glyph=this.build_glyph_view(n),null==(d=this.model.selection_glyph)?d=h({fill:{},line:{}}):\"auto\"===d&&(d=h(this.model.selection_defaults)),this.selection_glyph=this.build_glyph_view(d),null==(p=this.model.nonselection_glyph)?p=h({fill:{},line:{}}):\"auto\"===p&&(p=h(this.model.nonselection_defaults)),this.nonselection_glyph=this.build_glyph_view(p),null!=(u=this.model.hover_glyph)&&(this.hover_glyph=this.build_glyph_view(u)),null!=(c=this.model.muted_glyph)&&(this.muted_glyph=this.build_glyph_view(c)),i=h(this.model.decimated_defaults),this.decimated_glyph=this.build_glyph_view(i),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),this.model.data_source instanceof a.RemoteDataSource)return this.model.data_source.setup()},e.prototype.build_glyph_view=function(t){return new t.default_view({model:t,renderer:this,plot_view:this.plot_view,parent:this})},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()}),this.connect(this.model.glyph.change,function(){return this.set_data()}),this.connect(this.model.data_source.change,function(){return this.set_data()}),this.connect(this.model.data_source.streaming,function(){return this.set_data()}),this.connect(this.model.data_source.patching,function(t){return this.set_data(!0,t)}),this.connect(this.model.data_source.select,function(){return this.request_render()}),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,function(){return this.request_render()}),this.connect(this.model.properties.view.change,function(){return this.set_data()}),this.connect(this.model.view.change,function(){return this.set_data()}),this.connect(this.model.glyph.transformchange,function(){return this.set_data()})},e.prototype.have_selection_glyphs=function(){return null!=this.selection_glyph&&null!=this.nonselection_glyph},e.prototype.set_data=function(t,e){void 0===t&&(t=!0);var n,i,r,o,s,a,l;for(l=Date.now(),a=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(a,this.all_indices,e),this.glyph.set_visuals(a),this.decimated_glyph.set_visuals(a),this.have_selection_glyphs()&&(this.selection_glyph.set_visuals(a),this.nonselection_glyph.set_visuals(a)),null!=this.hover_glyph&&this.hover_glyph.set_visuals(a),null!=this.muted_glyph&&this.muted_glyph.set_visuals(a),o=this.plot_model.plot.lod_factor,this.decimated=[],i=r=0,s=Math.floor(this.all_indices.length/o);0<=s?r<s:r>s;i=0<=s?++r:--r)this.decimated.push(i*o);if(n=Date.now()-l,u.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): set_data finished in \"+n+\"ms\"),this.set_data_timestamp=Date.now(),t)return this.request_render()},e.prototype.render=function(){var t,e,n,i,o,a,l,h,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j;if(this.model.visible){if(C=Date.now(),l=this.glyph.glglyph,Date.now(),this.glyph.map_data(),e=Date.now()-C,O=Date.now(),(p=this.glyph.mask_data(this.all_indices)).length===this.all_indices.length&&(p=function(){M=[];for(var t=0,e=this.all_indices.length;0<=e?t<e:t>e;0<=e?t++:t--)M.push(t);return M}.apply(this)),n=Date.now()-O,(t=this.plot_view.canvas_view.ctx).save(),A=this.model.data_source.selected,A=A&&0!==A.length?A[\"0d\"].glyph?this.model.view.convert_indices_from_subset(p):A[\"1d\"].indices.length>0?A[\"1d\"].indices:function(){var t,e,n,i;for(n=Object.keys(A[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)_=n[t],i.push(parseInt(_));return i}():[],d=this.model.data_source.inspected,d=d&&0!==d.length?d[\"0d\"].glyph?this.model.view.convert_indices_from_subset(p):d[\"1d\"].indices.length>0?d[\"1d\"].indices:function(){var t,e,n,i;for(n=Object.keys(d[\"2d\"].indices),i=[],t=0,e=n.length;t<e;t++)_=n[t],i.push(parseInt(_));return i}():[],d=function(){var t,e,n,i;for(i=[],t=0,e=p.length;t<e;t++)_=p[t],n=this.all_indices[_],r.call(d,n)>=0&&i.push(_);return i}.call(this),b=this.plot_model.plot.lod_threshold,(null!=(S=this.model.document)?S.interactive_duration():void 0)>0&&!l&&null!=b&&this.all_indices.length>b?(p=this.decimated,h=this.decimated_glyph,k=this.decimated_glyph,z=this.selection_glyph):(h=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,k=this.nonselection_glyph,z=this.selection_glyph),null!=this.hover_glyph&&d.length&&(p=c.difference(p,d)),A.length&&this.have_selection_glyphs()){for(j=Date.now(),E={},f=0,v=A.length;f<v;f++)_=A[f],E[_]=!0;if(A=new Array,w=new Array,this.glyph instanceof s.LineView)for(T=this.all_indices,m=0,g=T.length;m<g;m++)_=T[m],null!=E[_]?A.push(_):w.push(_);else for(x=0,y=p.length;x<y;x++)_=p[x],null!=E[this.all_indices[_]]?A.push(_):w.push(_);o=Date.now()-j,N=Date.now(),k.render(t,w,this.glyph),z.render(t,A,this.glyph),null!=this.hover_glyph&&(this.glyph instanceof s.LineView?this.hover_glyph.render(t,this.model.view.convert_indices_from_subset(d),this.glyph):this.hover_glyph.render(t,d,this.glyph)),i=Date.now()-N}else N=Date.now(),this.glyph instanceof s.LineView?this.hover_glyph&&d.length?this.hover_glyph.render(t,this.model.view.convert_indices_from_subset(d),this.glyph):h.render(t,this.all_indices,this.glyph):(h.render(t,p,this.glyph),this.hover_glyph&&d.length&&this.hover_glyph.render(t,d,this.glyph)),i=Date.now()-N;return this.last_dtrender=i,a=Date.now()-C,u.logger.debug(this.glyph.model.type+\" GlyphRenderer (\"+this.model.id+\"): render finished in \"+a+\"ms\"),u.logger.trace(\" - map_data finished in       : \"+e+\"ms\"),null!=n&&u.logger.trace(\" - mask_data finished in      : \"+n+\"ms\"),null!=o&&u.logger.trace(\" - selection mask finished in : \"+o+\"ms\"),u.logger.trace(\" - glyph renders finished in  : \"+i+\"ms\"),t.restore()}},e.prototype.draw_legend=function(t,e,n,i,r,o,s){var a;return a=this.model.get_reference_point(o,s),this.glyph.draw_legend_for_index(t,e,n,i,r,a)},e.prototype.hit_test=function(t,e,n,i){return void 0===i&&(i=\"select\"),this.model.hit_test_helper(t,this,e,n,i)},e}(o.RendererView);var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){if(t.prototype.initialize.call(this,e),null==this.view.source)return this.view.source=this.data_source,this.view.compute_indices()},e.prototype.get_reference_point=function(t,e){var n,i,r;return r=0,null!=t&&null!=this.data_source.get_column&&(n=this.data_source.get_column(t))&&(i=n.indexOf(e))>0&&(r=i),r},e.prototype.hit_test_helper=function(t,e,n,i,r){var o,s,a,l;return!!this.visible&&(null!==(o=e.glyph.hit_test(t))&&(s=this.view.convert_selection_from_subset(o),\"select\"===r?((l=this.data_source.selection_manager.selector).update(s,n,i),this.data_source.selected=l.indices,this.data_source.select.emit()):((a=this.data_source.selection_manager.get_or_create_inspector(this)).update(s,!0,!1,!0),this.data_source.setv({inspected:a.indices},{silent:!0}),this.data_source.inspect.emit([e,{geometry:t}])),!s.is_empty()))},e.prototype.get_selection_manager=function(){return this.data_source.selection_manager},e}(o.Renderer);n.GlyphRenderer=p,p.prototype.default_view=n.GlyphRendererView,p.prototype.type=\"GlyphRenderer\",p.define({x_range_name:[h.String,\"default\"],y_range_name:[h.String,\"default\"],data_source:[h.Instance],view:[h.Instance,function(){return new l.CDSView}],glyph:[h.Instance],hover_glyph:[h.Instance],nonselection_glyph:[h.Any,\"auto\"],selection_glyph:[h.Any,\"auto\"],muted_glyph:[h.Instance],muted:[h.Bool,!1]}),p.override({level:\"glyph\"}),p.prototype.selection_defaults={fill:{},line:{}},p.prototype.decimated_defaults={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},p.prototype.nonselection_defaults={fill:{fill_alpha:.2,line_alpha:.2},line:{}}},function(t,e,n){var i=t(364),r=t(165),o=t(129),s=t(15),a=t(4);n.GraphRendererView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.xscale=this.plot_view.frame.xscales.default,this.yscale=this.plot_view.frame.yscales.default,this._renderer_views={},n=a.build_views(this._renderer_views,[this.model.node_renderer,this.model.edge_renderer],this.plot_view.view_options()),this.node_view=n[0],this.edge_view=n[1],this.set_data();var n},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.layout_provider.change,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.inspect,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.change,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.inspect,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.change,function(){return this.set_data()})},e.prototype.set_data=function(t){if(void 0===t&&(t=!0),this.node_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.edge_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),e=this.model.layout_provider.get_node_coordinates(this.model.node_renderer.data_source),this.node_view.glyph._x=e[0],this.node_view.glyph._y=e[1],n=this.model.layout_provider.get_edge_coordinates(this.model.edge_renderer.data_source),this.edge_view.glyph._xs=n[0],this.edge_view.glyph._ys=n[1],this.node_view.glyph.index=this.node_view.glyph._index_data(),this.edge_view.glyph.index=this.edge_view.glyph._index_data(),t)return this.request_render();var e,n},e.prototype.render=function(){return this.edge_view.render(),this.node_view.render()},e.prototype.hit_test=function(t,e,n,i){void 0===i&&(i=\"select\");var r,o;return!!this.model.visible&&(!1,\"select\"===i?null!=(r=this.model.selection_policy)?r.do_selection(t,this,e,n):void 0:null!=(o=this.model.inspection_policy)?o.do_inspection(t,this,e,n):void 0)},e}(r.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_selection_manager=function(){return this.node_renderer.data_source.selection_manager},e}(r.Renderer);n.GraphRenderer=l,l.prototype.default_view=n.GraphRendererView,l.prototype.type=\"GraphRenderer\",l.define({x_range_name:[s.String,\"default\"],y_range_name:[s.String,\"default\"],layout_provider:[s.Instance],node_renderer:[s.Instance],edge_renderer:[s.Instance],selection_policy:[s.Instance,function(){return new o.NodesOnly}],inspection_policy:[s.Instance,function(){return new o.NodesOnly}]}),l.override({level:\"glyph\"})},function(t,e,n){var i=t(364),r=t(165),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Renderer);n.GuideRenderer=s,s.prototype.type=\"GuideRenderer\",s.define({plot:[o.Instance]}),s.override({level:\"overlay\"})},function(t,e,n){var i=t(161);n.GlyphRenderer=i.GlyphRenderer;var r=t(162);n.GraphRenderer=r.GraphRenderer;var o=t(163);n.GuideRenderer=o.GuideRenderer;var s=t(165);n.Renderer=s.Renderer},function(t,e,n){var i=t(364),r=t(6),o=t(46),s=t(15),a=t(32),l=t(30),u=t(50),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view=e.plot_view,this.visuals=new o.Visuals(this.model),this._has_finished=!0},e.prototype.request_render=function(){return this.plot_view.request_render()},e.prototype.set_data=function(t){var e;if(e=this.model.materialize_dataspecs(t),l.extend(this,e),this.plot_model.use_map&&(null!=this._x&&(n=a.project_xy(this._x,this._y),this._x=n[0],this._y=n[1]),null!=this._xs))return i=a.project_xsys(this._xs,this._ys),this._xs=i[0],this._ys=i[1],i;var n,i},e.prototype.map_to_screen=function(t,e){return this.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},e}(r.DOMView);n.RendererView=h,h.getters({plot_model:function(){return this.plot_view.model}});var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(u.Model);n.Renderer=c,c.prototype.type=\"Renderer\",c.define({level:[s.RenderLevel,null],visible:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(168),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(e){return t.prototype.compute.call(this,this.source_range.synthetic(e))},e.prototype.v_compute=function(e){return t.prototype.v_compute.call(this,this.source_range.v_synthetic(e))},e}(r.LinearScale);n.CategoricalScale=o,o.prototype.type=\"CategoricalScale\"},function(t,e,n){var i=t(166);n.CategoricalScale=i.CategoricalScale;var r=t(168);n.LinearScale=r.LinearScale;var o=t(169);n.LogScale=o.LogScale;var s=t(170);n.Scale=s.Scale},function(t,e,n){var i=t(364),r=t(170),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n;return i=this._compute_state(),e=i[0],n=i[1],e*t+n;var i},e.prototype.v_compute=function(t){var e,n,i,r,o,s,a;for(l=this._compute_state(),e=l[0],o=l[1],s=new Float64Array(t.length),i=n=0,r=t.length;n<r;i=++n)a=t[i],s[i]=e*a+o;return s;var l},e.prototype.invert=function(t){var e,n;return i=this._compute_state(),e=i[0],n=i[1],(t-n)/e;var i},e.prototype.v_invert=function(t){var e,n,i,r,o,s,a;for(l=this._compute_state(),e=l[0],o=l[1],s=new Float64Array(t.length),i=n=0,r=t.length;n<r;i=++n)a=t[i],s[i]=(a-o)/e;return s;var l},e.prototype._compute_state=function(){var t,e,n,i,r,o;return i=this.source_range.start,n=this.source_range.end,o=this.target_range.start,r=this.target_range.end,t=(r-o)/(n-i),e=-t*i+o,[t,e]},e}(r.Scale);n.LinearScale=o,o.prototype.type=\"LinearScale\"},function(t,e,n){var i=t(364),r=t(170),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,r,o,s;return a=this._compute_state(),n=a[0],o=a[1],i=a[2],r=a[3],0===i?s=0:(e=(Math.log(t)-r)/i,s=isFinite(e)?e*n+o:NaN),s;var a},e.prototype.v_compute=function(t){var e,n,i,r,o,s,a,l,u,h,c,_;if(p=this._compute_state(),n=p[0],l=p[1],r=p[2],o=p[3],c=new Float64Array(t.length),0===r)for(i=s=0,u=t.length;0<=u?s<u:s>u;i=0<=u?++s:--s)c[i]=0;else for(i=a=0,h=t.length;0<=h?a<h:a>h;i=0<=h?++a:--a)e=(Math.log(t[i])-o)/r,_=isFinite(e)?e*n+l:NaN,c[i]=_;return c;var p},e.prototype.invert=function(t){var e,n,i,r,o;return s=this._compute_state(),e=s[0],r=s[1],n=s[2],i=s[3],o=(t-r)/e,Math.exp(n*o+i);var s},e.prototype.v_invert=function(t){var e,n,i,r,o,s,a,l,u;for(h=this._compute_state(),e=h[0],s=h[1],i=h[2],r=h[3],l=new Float64Array(t.length),n=o=0,a=t.length;0<=a?o<a:o>a;n=0<=a?++o:--o)u=(t[n]-s)/e,l[n]=Math.exp(i*u+r);return l;var h},e.prototype._get_safe_factor=function(t,e){var n,i,r;return r=t<0?0:t,n=e<0?0:e,r===n&&(0===r?(r=(o=[1,10])[0],n=o[1]):(i=Math.log(r)/Math.log(10),r=Math.pow(10,Math.floor(i)),n=Math.ceil(i)!==Math.floor(i)?Math.pow(10,Math.ceil(i)):Math.pow(10,Math.ceil(i)+1))),[r,n];var o},e.prototype._compute_state=function(){var t,e,n,i,r,o,s,a,l,u,h;return a=this.source_range.start,s=this.source_range.end,h=this.target_range.start,u=this.target_range.end,o=u-h,c=this._get_safe_factor(a,s),l=c[0],t=c[1],0===l?(n=Math.log(t),i=0):(n=Math.log(t)-Math.log(l),i=Math.log(l)),e=o,r=h,[e,r,n,i];var c},e}(r.Scale);n.LogScale=o,o.prototype.type=\"LogScale\"},function(t,e,n){var i=t(364),r=t(238),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.r_compute=function(t,e){return this.target_range.is_reversed?[this.compute(e),this.compute(t)]:[this.compute(t),this.compute(e)]},e.prototype.r_invert=function(t,e){return this.target_range.is_reversed?[this.invert(e),this.invert(t)]:[this.invert(t),this.invert(e)]},e}(r.Transform);n.Scale=s,s.prototype.type=\"Scale\",s.internal({source_range:[o.Any],target_range:[o.Any]})},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=t(178),s=t(14),a=t(15),l=function(t){function e(){var e=t.apply(this,arguments)||this;return e.destroy=e.destroy.bind(e),e.setup=e.setup.bind(e),e.get_data=e.get_data.bind(e),e}return i.__extends(e,t),e.prototype.destroy=function(){if(r(this,e),null!=this.interval)return clearInterval(this.interval)},e.prototype.setup=function(){if(r(this,e),null==this.initialized&&(this.initialized=!0,this.get_data(this.mode),this.polling_interval))return this.interval=setInterval(this.get_data,this.polling_interval,this.mode,this.max_size,this.if_modified)},e.prototype.get_data=function(t,n,i){var o=this;void 0===n&&(n=0),void 0===i&&(i=!1);var a,l,u,h;r(this,e),(h=new XMLHttpRequest).open(this.method,this.data_url,!0),h.withCredentials=!1,h.setRequestHeader(\"Content-Type\",this.content_type),l=this.http_headers;for(a in l)u=l[a],h.setRequestHeader(a,u);return h.addEventListener(\"load\",function(){var e,i,r,s,a,l;if(200===h.status)switch(i=JSON.parse(h.responseText),t){case\"replace\":return o.data=i;case\"append\":for(a=o.data,l=o.columns(),r=0,s=l.length;r<s;r++)e=l[r],i[e]=a[e].concat(i[e]).slice(-n);return o.data=i}}),h.addEventListener(\"error\",function(){return s.logger.error(\"Failed to fetch JSON from \"+o.data_url+\" with code \"+h.status)}),h.send(),null},e}(o.RemoteDataSource);n.AjaxDataSource=l,l.prototype.type=\"AjaxDataSource\",l.define({mode:[a.String,\"replace\"],content_type:[a.String,\"application/json\"],http_headers:[a.Any,{}],max_size:[a.Number],method:[a.String,\"POST\"],if_modified:[a.Bool,!1]})},function(t,e,n){var i=t(364),r=t(50),o=t(15),s=t(9),a=t(22),l=t(174),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.compute_indices()},e.prototype.connect_signals=function(){var e,n,i;if(t.prototype.connect_signals.call(this),this.connect(this.properties.filters.change,function(){return this.compute_indices(),this.change.emit()}),null!=(null!=(e=this.source)?e.change:void 0)&&this.connect(this.source.change,function(){return this.compute_indices()}),null!=(null!=(n=this.source)?n.streaming:void 0)&&this.connect(this.source.streaming,function(){return this.compute_indices()}),null!=(null!=(i=this.source)?i.patching:void 0))return this.connect(this.source.patching,function(){return this.compute_indices()})},e.prototype.compute_indices=function(){var t,e,n,i;return e=function(){var e,n,i,r;for(i=this.filters,r=[],e=0,n=i.length;e<n;e++)t=i[e],r.push(t.compute_indices(this.source));return r}.call(this),(e=function(){var t,i,r;for(r=[],t=0,i=e.length;t<i;t++)null!=(n=e[t])&&r.push(n);return r}()).length>0?this.indices=a.intersection.apply(this,e):this.source instanceof l.ColumnarDataSource&&(this.indices=null!=(i=this.source)?i.get_indices():void 0),this.indices_map_to_subset()},e.prototype.indices_map_to_subset=function(){var t,e,n,i;for(this.indices_map={},i=[],t=e=0,n=this.indices.length;0<=n?e<n:e>n;t=0<=n?++e:--e)i.push(this.indices_map[this.indices[t]]=t);return i},e.prototype.convert_selection_from_subset=function(t){var e,n,i;return(i=s.create_hit_test_result()).update_through_union(t),n=function(){var n,i,r,o;for(r=t[\"1d\"].indices,o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(this.indices[e]);return o}.call(this),i[\"1d\"].indices=n,i},e.prototype.convert_selection_to_subset=function(t){var e,n,i;return(i=s.create_hit_test_result()).update_through_union(t),n=function(){var n,i,r,o;for(r=t[\"1d\"].indices,o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(this.indices_map[e]);return o}.call(this),i[\"1d\"].indices=n,i},e.prototype.convert_indices_from_subset=function(t){var e;return function(){var n,i,r;for(r=[],n=0,i=t.length;n<i;n++)e=t[n],r.push(this.indices[e]);return r}.call(this)},e}(r.Model);n.CDSView=u,u.prototype.type=\"CDSView\",u.define({filters:[o.Array,[]],source:[o.Instance]}),u.internal({indices:[o.Array,[]],indices_map:[o.Any,{}]})},function(t,e,n){var i=t(364),r={}.hasOwnProperty,o=t(174),s=t(8),a=t(15),l=t(27),u=t(35),h=t(42);n.concat_typed_arrays=function(t,e){var n;return(n=new t.constructor(t.length+e.length)).set(t,0),n.set(e,t.length),n},n.stream_to_column=function(t,e,i){var r,o,s,a,l,u,h,c,_,p;if(null!=t.concat)return(t=t.concat(e)).length>i&&(t=t.slice(-i)),t;if(p=t.length+e.length,null!=i&&p>i){for(c=p-i,r=t.length,t.length<i&&((_=new t.constructor(i)).set(t,0),t=_),o=s=l=c,u=r;l<=u?s<u:s>u;o=l<=u?++s:--s)t[o-c]=t[o];for(o=a=0,h=e.length;0<=h?a<h:a>h;o=0<=h?++a:--a)t[o+(r-c)]=e[o];return t}return _=new t.constructor(e),n.concat_typed_arrays(t,_)},n.slice=function(t,e){var n,i,r;return h.isObject(t)?[null!=(n=t.start)?n:0,null!=(i=t.stop)?i:e,null!=(r=t.step)?r:1]:(o=[t,t+1,1],o[0],o[1],o[2],o);var o},n.patch_to_column=function(t,e,i){var r,o,s,a,u,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E;for(x=new l.Set,w=!1,v=0,g=e.length;v<g;v++)for(z=e[v],s=z[0],E=z[1],h.isArray(s)?(x.push(s[0]),A=i[s[0]],_=t[s[0]]):(h.isNumber(s)?(E=[E],x.push(s)):w=!0,s=[0,0,s],A=[1,t.length],_=t),2===s.length&&(A=[1,A[0]],s=[s[0],0,s[1]]),r=0,C=n.slice(s[1],A[0]),a=C[0],c=C[1],u=C[2],O=n.slice(s[2],A[1]),d=O[0],m=O[1],f=O[2],o=y=a,k=c,S=u;S>0?y<k:y>k;o=y+=S)for(p=b=d,T=m,M=f;M>0?b<T:b>T;p=b+=M)w&&x.push(p),_[o*A[1]+p]=E[r],r++;return x;var z,C,O};var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),n=u.decode_column_data(this.data),this.data=n[0],this._shapes=n[1],n;var n},e.prototype.attributes_as_json=function(t,n){void 0===t&&(t=!0),void 0===n&&(n=e._value_to_json);var i,o,s,a;i={},s=this.serializable_attributes();for(o in s)r.call(s,o)&&(a=s[o],\"data\"===o&&(a=u.encode_column_data(a,this._shapes)),t?i[o]=a:o in this._set_after_defaults&&(i[o]=a));return n(\"attributes\",i,this)},e._value_to_json=function(t,e,n){return h.isObject(e)&&\"data\"===t?u.encode_column_data(e,n._shapes):s.HasProps._value_to_json(t,e,n)},e.prototype.stream=function(t,e){var i,r;i=this.data;for(r in t)t[r],i[r]=n.stream_to_column(i[r],t[r],e);return this.setv({data:i},{silent:!0}),this.streaming.emit()},e.prototype.patch=function(t){var e,i,r,o;e=this.data,o=new l.Set;for(i in t)r=t[i],o=o.union(n.patch_to_column(e[i],r,this._shapes[i]));return this.setv({data:e},{silent:!0}),this.patching.emit(o.values)},e}(o.ColumnarDataSource);n.ColumnDataSource=c,c.prototype.type=\"ColumnDataSource\",c.define({data:[a.Any,{}]})},function(t,e,n){var i=t(364),r=t(175),o=t(20),s=t(14),a=t(17),l=t(15),u=t(22),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.select=new o.Signal(this,\"select\"),this.inspect=new o.Signal(this,\"inspect\"),this.streaming=new o.Signal(this,\"streaming\"),this.patching=new o.Signal(this,\"patching\")},e.prototype.get_column=function(t){var e;return null!=(e=this.data[t])?e:null},e.prototype.columns=function(){return Object.keys(this.data)},e.prototype.get_length=function(t){void 0===t&&(t=!0);var e,n,i,r;switch((n=u.uniq(function(){var t,n;t=this.data,n=[];for(e in t)r=t[e],n.push(r.length);return n}.call(this))).length){case 0:return null;case 1:return n[0];default:if(i=\"data source has columns of inconsistent lengths\",t)return s.logger.warn(i),n.sort()[0];throw new Error(i)}},e.prototype.get_indices=function(){var t,e;return null==(t=this.get_length())&&(t=1),function(){e=[];for(var n=0;0<=t?n<t:n>t;0<=t?n++:n--)e.push(n);return e}.apply(this)},e}(r.DataSource);n.ColumnarDataSource=h,h.prototype.type=\"ColumnarDataSource\",h.define({column_names:[l.Array,[]]}),h.internal({selection_manager:[l.Instance,function(t){return new a.SelectionManager({source:t})}],inspected:[l.Any],_shapes:[l.Any,{}]})},function(t,e,n){var i=t(364),r=t(50),o=t(9),s=t(15),a=t(42),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.properties.selected.change,function(){var t;if(null!=(t=n.callback))return a.isFunction(t)?t(n):t.execute(n)})},e}(r.Model);n.DataSource=l,l.prototype.type=\"DataSource\",l.define({selected:[s.Any,o.create_hit_test_result()],callback:[s.Any]})},function(t,e,n){var i=t(364),r=t(174),o=t(14),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this._update_data(),this.connect(this.properties.geojson.change,function(){return n._update_data()})},e.prototype._update_data=function(){return this.data=this.geojson_to_column_data()},e.prototype._get_new_list_array=function(t){var e,n,i;for(i=[],e=0,n=t;0<=n?e<n:e>n;0<=n?++e:--e)i.push([]);return i},e.prototype._get_new_nan_array=function(t){var e,n,i;for(i=[],e=0,n=t;0<=n?e<n:e>n;0<=n?++e:--e)i.push(NaN);return i},e.prototype._flatten_function=function(t,e){return t.concat([[NaN,NaN,NaN]]).concat(e)},e.prototype._add_properties=function(t,e,n,i){var r,o;o=[];for(r in t.properties)e.hasOwnProperty(r)||(e[r]=this._get_new_nan_array(i)),o.push(e[r][n]=t.properties[r]);return o},e.prototype._add_geometry=function(t,e,n){var i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C;switch(t.type){case\"Point\":return r=t.coordinates,e.x[n]=r[0],e.y[n]=r[1],e.z[n]=null!=(x=r[2])?x:NaN;case\"LineString\":for(i=t.coordinates,A=[],u=h=0,_=i.length;h<_;u=++h)r=i[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],A.push(e.zs[n][u]=null!=(w=r[2])?w:NaN);return A;case\"Polygon\":for(t.coordinates.length>1&&o.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),s=t.coordinates[0],E=[],u=c=0,p=s.length;c<p;u=++c)r=s[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],E.push(e.zs[n][u]=null!=(k=r[2])?k:NaN);return E;case\"MultiPoint\":return o.logger.warn(\"MultiPoint not supported in Bokeh\");case\"MultiLineString\":for(l=t.coordinates.reduce(this._flatten_function),z=[],u=v=0,d=l.length;v<d;u=++v)r=l[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],z.push(e.zs[n][u]=null!=(S=r[2])?S:NaN);return z;case\"MultiPolygon\":for(a=[],T=t.coordinates,g=0,f=T.length;g<f;g++)(b=T[g]).length>1&&o.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),a.push(b[0]);for(l=a.reduce(this._flatten_function),C=[],u=y=0,m=l.length;y<m;u=++y)r=l[u],e.xs[n][u]=r[0],e.ys[n][u]=r[1],C.push(e.zs[n][u]=null!=(M=r[2])?M:NaN);return C;default:throw new Error(\"Invalid type \"+t.type)}},e.prototype._get_items_length=function(t){var e,n,i,r,o,s,a,l,u,h;for(e=0,i=s=0,l=t.length;s<l;i=++s)if(r=t[i],\"GeometryCollection\"===(n=\"Feature\"===r.type?r.geometry:r).type)for(h=n.geometries,o=a=0,u=h.length;a<u;o=++a)h[o],e+=1;else e+=1;return e},e.prototype.geojson_to_column_data=function(){var t,e,n,i,r,o,s,a,l,u,h,c,_,p,d,f;if(i=JSON.parse(this.geojson),\"GeometryCollection\"!==(d=i.type)&&\"FeatureCollection\"!==d)throw new Error(\"Bokeh only supports type GeometryCollection and FeatureCollection at top level\");if(\"GeometryCollection\"===i.type){if(null==i.geometries)throw new Error(\"No geometries found in GeometryCollection\");if(0===i.geometries.length)throw new Error(\"geojson.geometries must have one or more items\");l=i.geometries}if(\"FeatureCollection\"===i.type){if(null==i.features)throw new Error(\"No features found in FeaturesCollection\");if(0===i.features.length)throw new Error(\"geojson.features must have one or more items\");l=i.features}for(a=this._get_items_length(l),e={x:this._get_new_nan_array(a),y:this._get_new_nan_array(a),z:this._get_new_nan_array(a),xs:this._get_new_list_array(a),ys:this._get_new_list_array(a),zs:this._get_new_list_array(a)},t=0,o=h=0,_=l.length;h<_;o=++h)if(s=l[o],\"GeometryCollection\"===(r=\"Feature\"===s.type?s.geometry:s).type)for(f=r.geometries,u=c=0,p=f.length;c<p;u=++c)n=f[u],this._add_geometry(n,e,t),\"Feature\"===s.type&&this._add_properties(s,e,t,a),t+=1;else this._add_geometry(r,e,t),\"Feature\"===s.type&&this._add_properties(s,e,t,a),t+=1;return e},e}(r.ColumnarDataSource);n.GeoJSONDataSource=a,a.prototype.type=\"GeoJSONDataSource\",a.define({geojson:[s.Any]}),a.internal({data:[s.Any,{}]})},function(t,e,n){var i=t(171);n.AjaxDataSource=i.AjaxDataSource;var r=t(173);n.ColumnDataSource=r.ColumnDataSource;var o=t(174);n.ColumnarDataSource=o.ColumnarDataSource;var s=t(172);n.CDSView=s.CDSView;var a=t(175);n.DataSource=a.DataSource;var l=t(176);n.GeoJSONDataSource=l.GeoJSONDataSource;var u=t(178);n.RemoteDataSource=u.RemoteDataSource},function(t,e,n){var i=t(364),r=t(173),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ColumnDataSource);n.RemoteDataSource=s,s.prototype.type=\"RemoteDataSource\",s.define({data_url:[o.String],polling_interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=t(22),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n);var i=s.nth(this.mantissas,-1)/this.base,r=s.nth(this.mantissas,0)*this.base;this.extended_mantissas=[i].concat(this.mantissas,[r]),this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()},e.prototype.get_interval=function(t,e,n){var i=e-t,r=this.get_ideal_interval(t,e,n),o=Math.floor(function(t,e){void 0===e&&(e=Math.E);return Math.log(t)/Math.log(e)}(r/this.base_factor,this.base)),a=Math.pow(this.base,o)*this.base_factor,l=this.extended_mantissas,u=l.map(function(t){return Math.abs(n-i/(t*a))}),h=l[s.argmin(u)],c=h*a;return function(t,e,n){return Math.max(e,Math.min(n,t))}(c,this.get_min_interval(),this.get_max_interval())},e}(r.ContinuousTicker);n.AdaptiveTicker=a,a.prototype.type=\"AdaptiveTicker\",a.define({base:[o.Number,10],mantissas:[o.Array,[1,2,5]],min_interval:[o.Number,0],max_interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(179),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.AdaptiveTicker);n.BasicTicker=o,o.prototype.type=\"BasicTicker\"},function(t,e,n){var i=t(364),r=t(192),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks=function(t,e,n,i,r){var o=this._collect(n.factors,n,t,e),s=this._collect(n.tops||[],n,t,e),a=this._collect(n.mids||[],n,t,e);return{major:o,minor:[],tops:s,mids:a}},e.prototype._collect=function(t,e,n,i){for(var r=[],o=0,s=t;o<s.length;o++){var a=s[o],l=e.synthetic(a);l>n&&l<i&&r.push(a)}return r},e}(r.Ticker);n.CategoricalTicker=o,o.prototype.type=\"CategoricalTicker\"},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=t(22),a=t(30),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),Object.defineProperty(e.prototype,\"min_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_min_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_intervals\",{get:function(){return this.tickers.map(function(t){return t.get_max_interval()})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"min_interval\",{get:function(){return this.min_intervals[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_interval\",{get:function(){return this.max_intervals[0]},enumerable:!0,configurable:!0}),e.prototype.get_best_ticker=function(t,e,n){var i,r=e-t,o=this.get_ideal_interval(t,e,n),l=[s.sortedIndex(this.min_intervals,o)-1,s.sortedIndex(this.max_intervals,o)],u=[this.min_intervals[l[0]],this.max_intervals[l[1]]],h=u.map(function(t){return Math.abs(n-r/t)});if(a.isEmpty(h.filter(function(t){return!isNaN(t)})))i=this.tickers[0];else{var c=s.argmin(h),_=l[c];i=this.tickers[_]}return i},e.prototype.get_interval=function(t,e,n){var i=this.get_best_ticker(t,e,n);return i.get_interval(t,e,n)},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=this.get_best_ticker(t,e,i);return r.get_ticks_no_defaults(t,e,n,i)},e}(r.ContinuousTicker);n.CompositeTicker=l,l.prototype.type=\"CompositeTicker\",l.define({tickers:[o.Array,[]]})},function(t,e,n){var i=t(364),r=t(192),o=t(15),s=t(22),a=t(42),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks=function(t,e,n,i,r){return this.get_ticks_no_defaults(t,e,i,this.desired_num_ticks)},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=this.get_interval(t,e,i),o=Math.floor(t/r),l=Math.ceil(e/r),u=(a.isStrictNaN(o)||a.isStrictNaN(l)?[]:s.range(o,l+1)).map(function(t){return t*r}).filter(function(n){return t<=n&&n<=e}),h=this.num_minor_ticks,c=[];if(h>0&&u.length>0){for(var _=r/h,p=s.range(0,h).map(function(t){return t*_}),d=0,f=p.slice(1);d<f.length;d++){var m=f[d];c.push(u[0]-m)}for(var v=0,g=u;v<g.length;v++)for(var y=g[v],b=0,x=p;b<x.length;b++){var m=x[b];c.push(y+m)}}return{major:u,minor:c}},e.prototype.get_min_interval=function(){return this.min_interval},e.prototype.get_max_interval=function(){return null!=this.max_interval?this.max_interval:1/0},e.prototype.get_ideal_interval=function(t,e,n){var i=e-t;return i/n},e}(r.Ticker);n.ContinuousTicker=l,l.prototype.type=\"ContinuousTicker\",l.define({num_minor_ticks:[o.Number,5],desired_num_ticks:[o.Number,6]})},function(t,e,n){var i=t(364),r=t(22),o=t(179),s=t(182),a=t(185),l=t(190),u=t(194),h=t(193),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.CompositeTicker);n.DatetimeTicker=c,c.prototype.type=\"DatetimeTicker\",c.override({num_minor_ticks:0,tickers:function(){return[new o.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*h.ONE_MILLI,num_minor_ticks:0}),new o.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:h.ONE_SECOND,max_interval:30*h.ONE_MINUTE,num_minor_ticks:0}),new o.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:h.ONE_HOUR,max_interval:12*h.ONE_HOUR,num_minor_ticks:0}),new a.DaysTicker({days:r.range(1,32)}),new a.DaysTicker({days:r.range(1,31,3)}),new a.DaysTicker({days:[1,8,15,22]}),new a.DaysTicker({days:[1,15]}),new l.MonthsTicker({months:r.range(0,12,1)}),new l.MonthsTicker({months:r.range(0,12,2)}),new l.MonthsTicker({months:r.range(0,12,4)}),new l.MonthsTicker({months:r.range(0,12,6)}),new u.YearsTicker({})]}})},function(t,e,n){var i=t(364),r=t(191),o=t(193),s=t(15),a=t(22),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){e.num_minor_ticks=0,t.prototype.initialize.call(this,e,n);var i=this.days;i.length>1?this.interval=(i[1]-i[0])*o.ONE_DAY:this.interval=31*o.ONE_DAY},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=function(t,e){var n=o.last_month_no_later_than(new Date(t)),i=o.last_month_no_later_than(new Date(e));i.setUTCMonth(i.getUTCMonth()+1);var r=[],s=n;for(;r.push(o.copy_date(s)),s.setUTCMonth(s.getUTCMonth()+1),!(s>i););return r}(t,e),s=this.days,l=this.interval,u=a.concat(r.map(function(t){return function(t,e){for(var n=[],i=0,r=s;i<r.length;i++){var a=r[i],l=o.copy_date(t);l.setUTCDate(a);var u=new Date(l.getTime()+e/2);u.getUTCMonth()==t.getUTCMonth()&&n.push(l)}return n}(t,l)})),h=u.map(function(t){return t.getTime()}),c=h.filter(function(n){return t<=n&&n<=e});return{major:c,minor:[]}},e}(r.SingleIntervalTicker);n.DaysTicker=l,l.prototype.type=\"DaysTicker\",l.define({days:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.min_interval=0,e.max_interval=0,e}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(t,e,n,i){return{major:this.ticks,minor:[]}},e.prototype.get_interval=function(t,e,n){return 0},e}(r.ContinuousTicker);n.FixedTicker=s,s.prototype.type=\"FixedTicker\",s.define({ticks:[o.Array,[]]})},function(t,e,n){var i=t(179);n.AdaptiveTicker=i.AdaptiveTicker;var r=t(180);n.BasicTicker=r.BasicTicker;var o=t(181);n.CategoricalTicker=o.CategoricalTicker;var s=t(182);n.CompositeTicker=s.CompositeTicker;var a=t(183);n.ContinuousTicker=a.ContinuousTicker;var l=t(184);n.DatetimeTicker=l.DatetimeTicker;var u=t(185);n.DaysTicker=u.DaysTicker;var h=t(186);n.FixedTicker=h.FixedTicker;var c=t(188);n.LogTicker=c.LogTicker;var _=t(189);n.MercatorTicker=_.MercatorTicker;var p=t(190);n.MonthsTicker=p.MonthsTicker;var d=t(191);n.SingleIntervalTicker=d.SingleIntervalTicker;var f=t(192);n.Ticker=f.Ticker;var m=t(194);n.YearsTicker=m.YearsTicker},function(t,e,n){var i=t(364),r=t(22),o=t(179),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(t,e,n,i){var o,s=this.num_minor_ticks,a=[],l=this.base,u=Math.log(t)/Math.log(l),h=Math.log(e)/Math.log(l),c=h-u;if(isFinite(c))if(c<2){var _=this.get_interval(t,e,i),p=Math.floor(t/_),d=Math.ceil(e/_);if(o=r.range(p,d+1).filter(function(t){return 0!=t}).map(function(t){return t*_}).filter(function(n){return t<=n&&n<=e}),s>0&&o.length>0){for(var f=_/s,m=r.range(0,s).map(function(t){return t*f}),v=0,g=m.slice(1);v<g.length;v++){var y=g[v];a.push(o[0]-y)}for(var b=0,x=o;b<x.length;b++)for(var w=x[b],k=0,S=m;k<S.length;k++){var y=S[k];a.push(w+y)}}}else{var T=Math.ceil(.999999*u),M=Math.floor(1.000001*h),A=Math.ceil((M-T)/9);if(o=r.range(T,M+1,A).map(function(t){return Math.pow(l,t)}).filter(function(n){return t<=n&&n<=e}),s>0&&o.length>0){for(var E=Math.pow(l,A)/s,m=r.range(1,s+1).map(function(t){return t*E}),z=0,C=m;z<C.length;z++){var y=C[z];a.push(o[0]/y)}a.push(o[0]);for(var O=0,N=o;O<N.length;O++)for(var w=N[O],j=0,P=m;j<P.length;j++){var y=P[j];a.push(w*y)}}}else o=[];return{major:o,minor:a}},e}(o.AdaptiveTicker);n.LogTicker=s,s.prototype.type=\"LogTicker\",s.override({mantissas:[1,5]})},function(t,e,n){var i=t(364),r=t(180),o=t(15),s=t(31),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_ticks_no_defaults=function(e,n,i,r){if(null==this.dimension)throw new Error(\"MercatorTicker.dimension not configured\");T=s.clip_mercator(e,n,this.dimension),e=T[0],n=T[1];var o,a,l;\"lon\"===this.dimension?(M=s.proj4(s.mercator).inverse([e,i]),o=M[0],l=M[1],A=s.proj4(s.mercator).inverse([n,i]),a=A[0],l=A[1]):(E=s.proj4(s.mercator).inverse([i,e]),l=E[0],o=E[1],z=s.proj4(s.mercator).inverse([i,n]),l=z[0],a=z[1]);var u=t.prototype.get_ticks_no_defaults.call(this,o,a,i,r),h=[],c=[];if(\"lon\"===this.dimension){for(var _=0,p=u.major;_<p.length;_++){var d=p[_];if(s.in_bounds(d,\"lon\")){var f=s.proj4(s.mercator).forward([d,l])[0];h.push(f)}}for(var m=0,v=u.minor;m<v.length;m++){var d=v[m];if(s.in_bounds(d,\"lon\")){var f=s.proj4(s.mercator).forward([d,l])[0];c.push(f)}}}else{for(var g=0,y=u.major;g<y.length;g++){var d=y[g];if(s.in_bounds(d,\"lat\")){var b=s.proj4(s.mercator).forward([l,d]),x=b[1];h.push(x)}}for(var w=0,k=u.minor;w<k.length;w++){var d=k[w];if(s.in_bounds(d,\"lat\")){var S=s.proj4(s.mercator).forward([l,d]),x=S[1];c.push(x)}}}return{major:h,minor:c};var T,M,A,E,z},e}(r.BasicTicker);n.MercatorTicker=a,a.prototype.type=\"MercatorTicker\",a.define({dimension:[o.LatLon]})},function(t,e,n){var i=t(364),r=t(191),o=t(193),s=t(15),a=t(22),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n);var i=this.months;i.length>1?this.interval=(i[1]-i[0])*o.ONE_MONTH:this.interval=12*o.ONE_MONTH},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=function(t,e){var n=o.last_year_no_later_than(new Date(t)),i=o.last_year_no_later_than(new Date(e));i.setUTCFullYear(i.getUTCFullYear()+1);var r=[],s=n;for(;r.push(o.copy_date(s)),s.setUTCFullYear(s.getUTCFullYear()+1),!(s>i););return r}(t,e),s=this.months,l=a.concat(r.map(function(t){return s.map(function(e){var n=o.copy_date(t);return n.setUTCMonth(e),n})})),u=l.map(function(t){return t.getTime()}),h=u.filter(function(n){return t<=n&&n<=e});return{major:h,minor:[]}},e}(r.SingleIntervalTicker);n.MonthsTicker=l,l.prototype.type=\"MonthsTicker\",l.define({months:[s.Array,[]]})},function(t,e,n){var i=t(364),r=t(183),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_interval=function(t,e,n){return this.interval},Object.defineProperty(e.prototype,\"min_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"max_interval\",{get:function(){return this.interval},enumerable:!0,configurable:!0}),e}(r.ContinuousTicker);n.SingleIntervalTicker=s,s.prototype.type=\"SingleIntervalTicker\",s.define({interval:[o.Number]})},function(t,e,n){var i=t(364),r=t(50),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Model);n.Ticker=o,o.prototype.type=\"Ticker\"},function(t,e,n){function i(t){return new Date(t.getTime())}function r(t){var e=i(t);return e.setUTCDate(1),e.setUTCHours(0),e.setUTCMinutes(0),e.setUTCSeconds(0),e.setUTCMilliseconds(0),e}n.ONE_MILLI=1,n.ONE_SECOND=1e3,n.ONE_MINUTE=60*n.ONE_SECOND,n.ONE_HOUR=60*n.ONE_MINUTE,n.ONE_DAY=24*n.ONE_HOUR,n.ONE_MONTH=30*n.ONE_DAY,n.ONE_YEAR=365*n.ONE_DAY,n.copy_date=i,n.last_month_no_later_than=r,n.last_year_no_later_than=function(t){var e=r(t);return e.setUTCMonth(0),e}},function(t,e,n){var i=t(364),r=t(180),o=t(191),s=t(193),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){t.prototype.initialize.call(this,e,n),this.interval=s.ONE_YEAR,this.basic_ticker=new r.BasicTicker({num_minor_ticks:0})},e.prototype.get_ticks_no_defaults=function(t,e,n,i){var r=s.last_year_no_later_than(new Date(t)).getUTCFullYear(),o=s.last_year_no_later_than(new Date(e)).getUTCFullYear(),a=this.basic_ticker.get_ticks_no_defaults(r,o,n,i).major,l=a.map(function(t){return Date.UTC(t,0,1)}),u=l.filter(function(n){return t<=n&&n<=e});return{major:u,minor:[]}},e}(o.SingleIntervalTicker);n.YearsTicker=a,a.prototype.type=\"YearsTicker\"},function(t,e,n){var i=t(364),r=t(200),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i,r,o,s,a;return i=this.string_lookup_replace(this.url,this.extra_url_vars),this.use_latlon?(l=this.get_tile_geographic_bounds(t,e,n),o=l[0],a=l[1],r=l[2],s=l[3]):(u=this.get_tile_meter_bounds(t,e,n),o=u[0],a=u[1],r=u[2],s=u[3]),i.replace(\"{XMIN}\",o).replace(\"{YMIN}\",a).replace(\"{XMAX}\",r).replace(\"{YMAX}\",s);var l,u},e}(r.MercatorTileSource);n.BBoxTileSource=s,s.prototype.type=\"BBoxTileSource\",s.define({use_latlon:[o.Bool,!1]})},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=t(165),s=t(14),a=t(15);n.DynamicImageView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._on_image_load=e._on_image_load.bind(e),e._on_image_error=e._on_image_error.bind(e),e}return i.__extends(e,t),e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype.get_extent=function(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]},e.prototype._set_data=function(){return this.map_plot=this.plot_view.model.plot,this.map_canvas=this.plot_view.canvas_view.ctx,this.map_frame=this.plot_view.frame,this.x_range=this.map_plot.x_range,this.y_range=this.map_plot.y_range,this.lastImage=void 0,this.extent=this.get_extent()},e.prototype._map_data=function(){return this.initial_extent=this.get_extent()},e.prototype._on_image_load=function(t){var n;if(r(this,e),n=t.target.image_data,n.img=t.target,n.loaded=!0,this.lastImage=n,this.get_extent().join(\":\")===n.cache_key)return this.request_render()},e.prototype._on_image_error=function(t){var n;return r(this,e),s.logger.error(\"Error loading image: \"+t.target.src),n=t.target.image_data,this.model.image_source.remove_image(n)},e.prototype._create_image=function(t){var e;return e=new Image,e.onload=this._on_image_load,e.onerror=this._on_image_error,e.alt=\"\",e.image_data={bounds:t,loaded:!1,cache_key:t.join(\":\")},this.model.image_source.add_image(e.image_data),e.src=this.model.image_source.get_image_url(t[0],t[1],t[2],t[3],Math.ceil(this.map_frame._height.value),Math.ceil(this.map_frame._width.value)),e},e.prototype.render=function(t,e,n){var i,r,o=this;if(null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),i=this.get_extent(),this.render_timer&&clearTimeout(this.render_timer),null==(r=this.model.image_source.images[i.join(\":\")])||!r.loaded)return null!=this.lastImage&&this._draw_image(this.lastImage.cache_key),null==r?this.render_timer=setTimeout(function(){return o._create_image(i)},125):void 0;this._draw_image(i.join(\":\"))},e.prototype._draw_image=function(t){var e,n,i,r,o,s,a,l,u;if(null!=(e=this.model.image_source.images[t]))return this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha,h=this.plot_view.map_to_screen([e.bounds[0]],[e.bounds[3]]),s=h[0],u=h[1],c=this.plot_view.map_to_screen([e.bounds[2]],[e.bounds[1]]),o=c[0],l=c[1],s=s[0],u=u[0],o=o[0],l=l[0],i=o-s,n=l-u,r=s,a=u,this.map_canvas.drawImage(e.img,r,a,i,n),this.map_canvas.restore();var h,c},e.prototype._set_rect=function(){var t,e,n,i,r;return n=this.plot_model.plot.properties.outline_line_width.value(),e=this.map_frame._left.value+n/2,i=this.map_frame._top.value+n/2,r=this.map_frame._width.value-n,t=this.map_frame._height.value-n,this.map_canvas.rect(e,i,r,t),this.map_canvas.clip()},e}(o.RendererView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Renderer);n.DynamicImageRenderer=l,l.prototype.default_view=n.DynamicImageView,l.prototype.type=\"DynamicImageRenderer\",l.define({alpha:[a.Number,1],image_source:[a.Instance],render_parents:[a.Bool,!0]}),l.override({level:\"underlay\"})},function(t,e,n){n.ImagePool=function(){function t(){this.images=[]}return t.prototype.pop=function(){var t;return null!=(t=this.images.pop())?t:new Image},t.prototype.push=function(t){if(!(this.images.length>50))return t.constructor===Array?Array.prototype.push.apply(this.images,t):this.images.push(t)},t}()},function(t,e,n){var i=t(364),r=t(15),o=t(50),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.images={},this.normalize_case()},e.prototype.normalize_case=function(){\"Note: should probably be refactored into subclasses.\";var t;return t=this.url,t=t.replace(\"{xmin}\",\"{XMIN}\"),t=t.replace(\"{ymin}\",\"{YMIN}\"),t=t.replace(\"{xmax}\",\"{XMAX}\"),t=t.replace(\"{ymax}\",\"{YMAX}\"),t=t.replace(\"{height}\",\"{HEIGHT}\"),t=t.replace(\"{width}\",\"{WIDTH}\"),this.url=t},e.prototype.string_lookup_replace=function(t,e){var n,i,r;i=t;for(n in e)r=e[n],i=i.replace(\"{\"+n+\"}\",r.toString());return i},e.prototype.add_image=function(t){return this.images[t.cache_key]=t},e.prototype.remove_image=function(t){return delete this.images[t.cache_key]},e.prototype.get_image_url=function(t,e,n,i,r,o){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{XMIN}\",t).replace(\"{YMIN}\",e).replace(\"{XMAX}\",n).replace(\"{YMAX}\",i).replace(\"{WIDTH}\",o).replace(\"{HEIGHT}\",r)},e}(o.Model);n.ImageSource=s,s.prototype.type=\"ImageSource\",s.define({url:[r.String,\"\"],extra_url_vars:[r.Any,{}]})},function(t,e,n){var i=t(195);n.BBoxTileSource=i.BBoxTileSource;var r=t(196);n.DynamicImageRenderer=r.DynamicImageRenderer;var o=t(198);n.ImageSource=o.ImageSource;var s=t(200);n.MercatorTileSource=s.MercatorTileSource;var a=t(201);n.QUADKEYTileSource=a.QUADKEYTileSource;var l=t(202);n.TileRenderer=l.TileRenderer;var u=t(203);n.TileSource=u.TileSource;var h=t(205);n.TMSTileSource=h.TMSTileSource;var c=t(206);n.WMTSTileSource=c.WMTSTileSource},function(t,e,n){var i=t(364),r=[].indexOf,o=t(203),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n;return t.prototype.initialize.call(this,e),this._resolutions=function(){var t,e,i,r;for(r=[],n=t=e=this.min_zoom,i=this.max_zoom;e<=i?t<=i:t>=i;n=e<=i?++t:--t)r.push(this.get_resolution(n));return r}.call(this)},e.prototype._computed_initial_resolution=function(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size},e.prototype.is_valid_tile=function(t,e,n){return!(!this.wrap_around&&(t<0||t>=Math.pow(2,n)))&&!(e<0||e>=Math.pow(2,n))},e.prototype.retain_children=function(t){var e,n,i,r,o,s,a;r=t.quadkey,i=r.length,n=i+3,o=this.tiles,s=[];for(e in o)0===(a=o[e]).quadkey.indexOf(r)&&a.quadkey.length>i&&a.quadkey.length<=n?s.push(a.retain=!0):s.push(void 0);return s},e.prototype.retain_neighbors=function(t){var e,n,i,o,s,a,l,u,h,c,_,p,d;f=t.tile_coords,h=f[0],c=f[1],_=f[2],n=function(){var t,e,n,i;for(i=[],p=t=e=h-4,n=h+4;e<=n?t<=n:t>=n;p=e<=n?++t:--t)i.push(p);return i}(),i=function(){var t,e,n,i;for(i=[],d=t=e=c-4,n=c+4;e<=n?t<=n:t>=n;d=e<=n?++t:--t)i.push(d);return i}(),o=this.tiles,l=[];for(e in o)(u=o[e]).tile_coords[2]===_&&(s=u.tile_coords[0],r.call(n,s)>=0)&&(a=u.tile_coords[1],r.call(i,a)>=0)?l.push(u.retain=!0):l.push(void 0);return l;var f},e.prototype.retain_parents=function(t){var e,n,i,r,o;n=t.quadkey,i=this.tiles,r=[];for(e in i)o=i[e],r.push(o.retain=0===n.indexOf(o.quadkey));return r},e.prototype.children_by_tile_xyz=function(t,e,n){var i,r,o,s,a,l;for(0!==(l=this.calculate_world_x_by_tile_xyz(t,e,n))&&(u=this.normalize_xyz(t,e,n),t=u[0],e=u[1],n=u[2]),a=this.tile_xyz_to_quadkey(t,e,n),r=[],o=s=0;s<=3;o=s+=1)h=this.quadkey_to_tile_xyz(a+o.toString()),t=h[0],e=h[1],n=h[2],0!==l&&(c=this.denormalize_xyz(t,e,n,l),t=c[0],e=c[1],n=c[2]),null!=(i=this.get_tile_meter_bounds(t,e,n))&&r.push([t,e,n,i]);return r;var u,h,c},e.prototype.parent_by_tile_xyz=function(t,e,n){var i,r;return r=this.tile_xyz_to_quadkey(t,e,n),i=r.substring(0,r.length-1),this.quadkey_to_tile_xyz(i)},e.prototype.get_resolution=function(t){return this._computed_initial_resolution()/Math.pow(2,t)},e.prototype.get_resolution_by_extent=function(t,e,n){var i,r;return i=(t[2]-t[0])/n,r=(t[3]-t[1])/e,[i,r]},e.prototype.get_level_by_extent=function(t,e,n){var i,r,o,s,a,l,u,h;for(u=(t[2]-t[0])/n,h=(t[3]-t[1])/e,l=Math.max(u,h),i=0,a=this._resolutions,r=0,o=a.length;r<o;r++){if(s=a[r],l>s){if(0===i)return 0;if(i>0)return i-1}i+=1}},e.prototype.get_closest_level_by_extent=function(t,e,n){var i,r,o,s;return o=(t[2]-t[0])/n,s=(t[3]-t[1])/e,r=Math.max(o,s),this._resolutions,i=this._resolutions.reduce(function(t,e){return Math.abs(e-r)<Math.abs(t-r)?e:t}),this._resolutions.indexOf(i)},e.prototype.snap_to_zoom=function(t,e,n,i){var r,o,s,a,l,u,h,c,_;return r=this._resolutions[i],o=n*r,s=e*r,u=t[0],_=t[1],l=t[2],c=t[3],a=(o-(l-u))/2,h=(s-(c-_))/2,[u-a,_-h,l+a,c+h]},e.prototype.tms_to_wmts=function(t,e,n){\"Note this works both ways\";return[t,Math.pow(2,n)-1-e,n]},e.prototype.wmts_to_tms=function(t,e,n){\"Note this works both ways\";return[t,Math.pow(2,n)-1-e,n]},e.prototype.pixels_to_meters=function(t,e,n){var i,r,o;return o=this.get_resolution(n),i=t*o-this.x_origin_offset,r=e*o-this.y_origin_offset,[i,r]},e.prototype.meters_to_pixels=function(t,e,n){var i,r,o;return o=this.get_resolution(n),i=(t+this.x_origin_offset)/o,r=(e+this.y_origin_offset)/o,[i,r]},e.prototype.pixels_to_tile=function(t,e){var n,i;return n=Math.ceil(t/parseFloat(this.tile_size)),n=0===n?n:n-1,i=Math.max(Math.ceil(e/parseFloat(this.tile_size))-1,0),[n,i]},e.prototype.pixels_to_raster=function(t,e,n){var i;return i=this.tile_size<<n,[t,i-e]},e.prototype.meters_to_tile=function(t,e,n){var i,r;return o=this.meters_to_pixels(t,e,n),i=o[0],r=o[1],this.pixels_to_tile(i,r);var o},e.prototype.get_tile_meter_bounds=function(t,e,n){var i,r,o,s;return a=this.pixels_to_meters(t*this.tile_size,e*this.tile_size,n),r=a[0],s=a[1],l=this.pixels_to_meters((t+1)*this.tile_size,(e+1)*this.tile_size,n),i=l[0],o=l[1],null!=r&&null!=s&&null!=i&&null!=o?[r,s,i,o]:void 0;var a,l},e.prototype.get_tile_geographic_bounds=function(t,e,n){var i,r,o,s,a;return i=this.get_tile_meter_bounds(t,e,n),l=this.utils.meters_extent_to_geographic(i),a=l[0],s=l[1],o=l[2],r=l[3],[a,s,o,r];var l},e.prototype.get_tiles_by_extent=function(t,e,n){void 0===n&&(n=1);var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v;for(f=t[0],v=t[1],d=t[2],m=t[3],g=this.meters_to_tile(f,v,e),h=g[0],p=g[1],y=this.meters_to_tile(d,m,e),u=y[0],_=y[1],h-=n,u+=n,a=[],c=i=_+=n,o=p-=n;i>=o;c=i+=-1)for(l=r=h,s=u;r<=s;l=r+=1)this.is_valid_tile(l,c,e)&&a.push([l,c,e,this.get_tile_meter_bounds(l,c,e)]);return a=this.sort_tiles_from_center(a,[h,p,u,_]);var g,y},e.prototype.quadkey_to_tile_xyz=function(t){\"Computes tile x, y and z values based on quadKey.\";var e,n,i,r,o,s,a;for(r=0,o=0,s=t.length,e=n=s;n>0;e=n+=-1)switch(a=t.charAt(s-e),i=1<<e-1,a){case\"0\":continue;case\"1\":r|=i;break;case\"2\":o|=i;break;case\"3\":r|=i,o|=i;break;default:throw new TypeError(\"Invalid Quadkey: \"+t)}return[r,o,s]},e.prototype.tile_xyz_to_quadkey=function(t,e,n){\"Computes quadkey value based on tile x, y and z values.\";var i,r,o,s,a;for(a=\"\",r=o=n;o>0;r=o+=-1)i=0,0!=(t&(s=1<<r-1))&&(i+=1),0!=(e&s)&&(i+=2),a+=i.toString();return a},e.prototype.children_by_tile_xyz=function(t,e,n){var i,r,o,s,a;for(a=this.tile_xyz_to_quadkey(t,e,n),r=[],o=s=0;s<=3;o=s+=1)l=this.quadkey_to_tile_xyz(a+o.toString()),t=l[0],e=l[1],n=l[2],null!=(i=this.get_tile_meter_bounds(t,e,n))&&r.push([t,e,n,i]);return r;var l},e.prototype.parent_by_tile_xyz=function(t,e,n){var i,r;return r=this.tile_xyz_to_quadkey(t,e,n),i=r.substring(0,r.length-1),this.quadkey_to_tile_xyz(i)},e.prototype.get_closest_parent_by_tile_xyz=function(t,e,n){var i,r;for(r=this.calculate_world_x_by_tile_xyz(t,e,n),o=this.normalize_xyz(t,e,n),t=o[0],e=o[1],n=o[2],i=this.tile_xyz_to_quadkey(t,e,n);i.length>0;)if(i=i.substring(0,i.length-1),s=this.quadkey_to_tile_xyz(i),t=s[0],e=s[1],n=s[2],a=this.denormalize_xyz(t,e,n,r),t=a[0],e=a[1],n=a[2],this.tile_xyz_to_key(t,e,n)in this.tiles)return[t,e,n];return[0,0,0];var o,s,a},e.prototype.normalize_xyz=function(t,e,n){var i;return this.wrap_around?(i=Math.pow(2,n),[(t%i+i)%i,e,n]):[t,e,n]},e.prototype.denormalize_xyz=function(t,e,n,i){return[t+i*Math.pow(2,n),e,n]},e.prototype.denormalize_meters=function(t,e,n,i){return[t+2*i*Math.PI*6378137,e]},e.prototype.calculate_world_x_by_tile_xyz=function(t,e,n){return Math.floor(t/Math.pow(2,n))},e}(o.TileSource);n.MercatorTileSource=a,a.prototype.type=\"MercatorTileSource\",a.define({wrap_around:[s.Bool,!0]}),a.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i,r;return i=this.string_lookup_replace(this.url,this.extra_url_vars),o=this.tms_to_wmts(t,e,n),t=o[0],e=o[1],n=o[2],r=this.tile_xyz_to_quadkey(t,e,n),i.replace(\"{Q}\",r);var o},e}(r.MercatorTileSource);n.QUADKEYTileSource=o,o.prototype.type=\"QUADKEYTileSource\"},function(t,e,n){var i=t(364),r=function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")},o=[].indexOf,s=t(197),a=t(206),l=t(165),u=t(5),h=t(15),c=t(42);n.TileRendererView=function(t){function e(){var e=t.apply(this,arguments)||this;return e._add_attribution=e._add_attribution.bind(e),e._on_tile_load=e._on_tile_load.bind(e),e._on_tile_cache_load=e._on_tile_cache_load.bind(e),e._on_tile_error=e._on_tile_error.bind(e),e._prefetch_tiles=e._prefetch_tiles.bind(e),e._update=e._update.bind(e),e}return i.__extends(e,t),e.prototype.initialize=function(e){return this.attributionEl=null,this._tiles=[],t.prototype.initialize.call(this,e)},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()})},e.prototype.get_extent=function(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]},e.prototype._set_data=function(){return this.pool=new s.ImagePool,this.map_plot=this.plot_model.plot,this.map_canvas=this.plot_view.canvas_view.ctx,this.map_frame=this.plot_model.frame,this.x_range=this.map_plot.x_range,this.y_range=this.map_plot.y_range,this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0},e.prototype._add_attribution=function(){var t,n,i,o;if(r(this,e),t=this.model.tile_source.attribution,c.isString(t)&&t.length>0)return null==this.attributionEl&&(o=this.plot_model.canvas._right.value-this.plot_model.frame._right.value,n=this.plot_model.canvas._bottom.value-this.plot_model.frame._bottom.value,i=this.map_frame._width.value,this.attributionEl=u.div({class:\"bk-tile-attribution\",style:{position:\"absolute\",bottom:n+\"px\",right:o+\"px\",\"max-width\":i+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.8)\",\"font-size\":\"9pt\",\"font-family\":\"sans-serif\"}}),this.plot_view.canvas_view.events_el.appendChild(this.attributionEl)),this.attributionEl.innerHTML=t},e.prototype._map_data=function(){var t,e;return this.initial_extent=this.get_extent(),e=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value),t=this.model.tile_source.snap_to_zoom(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value,e),this.x_range.start=t[0],this.y_range.start=t[1],this.x_range.end=t[2],this.y_range.end=t[3],this._add_attribution()},e.prototype._on_tile_load=function(t){var n;return r(this,e),n=t.target.tile_data,n.img=t.target,n.current=!0,n.loaded=!0,this.request_render()},e.prototype._on_tile_cache_load=function(t){var n;return r(this,e),n=t.target.tile_data,n.img=t.target,n.loaded=!0,n.finished=!0,this.notify_finished()},e.prototype._on_tile_error=function(t){var n;return r(this,e),n=t.target.tile_data,n.finished=!0},e.prototype._create_tile=function(t,e,n,i,r){void 0===r&&(r=!1);var o,s;return o=this.model.tile_source.normalize_xyz(t,e,n),s=this.pool.pop(),s.onload=r?this._on_tile_cache_load:this._on_tile_load,s.onerror=this._on_tile_error,s.alt=\"\",s.tile_data={tile_coords:[t,e,n],normalized_coords:o,quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,n),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,n),bounds:i,loaded:!1,finished:!1,x_coord:i[0],y_coord:i[3]},this.model.tile_source.tiles[s.tile_data.cache_key]=s.tile_data,s.src=(a=this.model.tile_source).get_image_url.apply(a,o),this._tiles.push(s),s;var a},e.prototype._enforce_aspect_ratio=function(){var t,e,n;return(this._last_height!==this.map_frame._height.value||this._last_width!==this.map_frame._width.value)&&(t=this.get_extent(),n=this.model.tile_source.get_level_by_extent(t,this.map_frame._height.value,this.map_frame._width.value),e=this.model.tile_source.snap_to_zoom(t,this.map_frame._height.value,this.map_frame._width.value,n),this.x_range.setv({start:e[0],end:e[2]}),this.y_range.setv({start:e[1],end:e[3]}),this.extent=e,this._last_height=this.map_frame._height.value,this._last_width=this.map_frame._width.value,!0)},e.prototype.has_finished=function(){var e,n,i;if(!t.prototype.has_finished.call(this))return!1;if(0===this._tiles.length)return!1;for(i=this._tiles,e=0,n=i.length;e<n;e++)if(!i[e].tile_data.finished)return!1;return!0},e.prototype.render=function(t,e,n){if(null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),!this._enforce_aspect_ratio())return this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles,500),this.has_finished()?this.notify_finished():void 0},e.prototype._draw_tile=function(t){var e,n,i,r,o,s,a,l,u;if(null!=(u=this.model.tile_source.tiles[t]))return h=this.plot_view.map_to_screen([u.bounds[0]],[u.bounds[3]]),o=h[0],l=h[1],c=this.plot_view.map_to_screen([u.bounds[2]],[u.bounds[1]]),r=c[0],a=c[1],o=o[0],l=l[0],r=r[0],a=a[0],n=r-o,e=a-l,i=o,s=l,this.map_canvas.drawImage(u.img,i,s,n,e);var h,c},e.prototype._set_rect=function(){var t,e,n,i,r;return n=this.plot_model.plot.properties.outline_line_width.value(),e=this.map_frame._left.value+n/2,i=this.map_frame._top.value+n/2,r=this.map_frame._width.value-n,t=this.map_frame._height.value-n,this.map_canvas.rect(e,i,r,t),this.map_canvas.clip()},e.prototype._render_tiles=function(t){var e,n,i;for(this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha,e=0,n=t.length;e<n;e++)i=t[e],this._draw_tile(i);return this.map_canvas.restore()},e.prototype._prefetch_tiles=function(){var t,n,i,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b;for(r(this,e),d=this.model.tile_source,l=this.get_extent(),u=this.map_frame._height.value,m=this.map_frame._width.value,b=this.model.tile_source.get_level_by_extent(l,u,m),f=this.model.tile_source.get_tiles_by_extent(l,b),_=[],p=h=0,c=Math.min(10,f.length);h<=c;p=h+=1)v=p[0],g=p[1],y=p[2],p[3],i=this.model.tile_source.children_by_tile_xyz(v,g,y),_.push(function(){var e,r,l;for(l=[],e=0,r=i.length;e<r;e++)t=i[e],o=t[0],s=t[1],a=t[2],n=t[3],d.tile_xyz_to_key(o,s,a)in d.tiles||l.push(this._create_tile(o,s,a,n,!0));return l}.call(this));return _},e.prototype._fetch_tiles=function(t){var e,n,i,r,o,s,a,l;for(r=[],n=0,i=t.length;n<i;n++)o=t[n],s=o[0],a=o[1],l=o[2],e=o[3],r.push(this._create_tile(s,a,l,e));return r},e.prototype._update=function(){var t,n,i,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D,F,I,B,R=this;for(r(this,e),O=this.model.tile_source,b=O.min_zoom,y=O.max_zoom,O.update(),h=this.get_extent(),B=this.extent[2]-this.extent[0]<h[2]-h[0],c=this.map_frame._height.value,j=this.map_frame._width.value,I=O.get_level_by_extent(h,c,j),E=!1,I<b?(h=this.extent,I=b,E=!0):I>y&&(h=this.extent,I=y,E=!0),E&&(this.x_range.setv({x_range:{start:h[0],end:h[2]}}),this.y_range.setv({start:h[1],end:h[3]}),this.extent=h),this.extent=h,N=O.get_tiles_by_extent(h,I),S=[],x=[],n=[],s=[],_=0,m=N.length;_<m;_++){if(z=N[_],P=z[0],D=z[1],F=z[2],z[3],f=O.tile_xyz_to_key(P,D,F),null!=(C=O.tiles[f])&&!0===C.loaded)n.push(f);else if(this.model.render_parents&&(L=O.get_closest_parent_by_tile_xyz(P,D,F),T=L[0],M=L[1],A=L[2],w=O.tile_xyz_to_key(T,M,A),null!=(k=O.tiles[w])&&k.loaded&&o.call(S,w)<0&&S.push(w),B))for(s=O.children_by_tile_xyz(P,D,F),p=0,v=s.length;p<v;p++)t=s[p],a=t[0],l=t[1],u=t[2],t[3],(i=O.tile_xyz_to_key(a,l,u))in O.tiles&&s.push(i);null==C&&x.push(z)}for(this._render_tiles(S),this._render_tiles(s),this._render_tiles(n),d=0,g=n.length;d<g;d++)z=n[d],O.tiles[z].current=!0;return null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout(function(){return R._fetch_tiles(x)},65);var L},e}(l.RendererView);var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.Renderer);n.TileRenderer=_,_.prototype.default_view=n.TileRendererView,_.prototype.type=\"TileRenderer\",_.define({alpha:[h.Number,1],x_range_name:[h.String,\"default\"],y_range_name:[h.String,\"default\"],tile_source:[h.Instance,function(){return new a.WMTSTileSource}],render_parents:[h.Bool,!0]}),_.override({level:\"underlay\"})},function(t,e,n){var i=t(364),r=t(197),o=t(204),s=t(14),a=t(15),l=t(50),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.utils=new o.ProjectionUtils,this.pool=new r.ImagePool,this.tiles={},this.normalize_case()},e.prototype.string_lookup_replace=function(t,e){var n,i,r;i=t;for(n in e)r=e[n],i=i.replace(\"{\"+n+\"}\",r.toString());return i},e.prototype.normalize_case=function(){\"Note: should probably be refactored into subclasses.\";var t;return t=this.url,t=t.replace(\"{x}\",\"{X}\"),t=t.replace(\"{y}\",\"{Y}\"),t=t.replace(\"{z}\",\"{Z}\"),t=t.replace(\"{q}\",\"{Q}\"),t=t.replace(\"{xmin}\",\"{XMIN}\"),t=t.replace(\"{ymin}\",\"{YMIN}\"),t=t.replace(\"{xmax}\",\"{XMAX}\"),t=t.replace(\"{ymax}\",\"{YMAX}\"),this.url=t},e.prototype.update=function(){var t,e,n,i;s.logger.debug(\"TileSource: tile cache count: \"+Object.keys(this.tiles).length),e=this.tiles,n=[];for(t in e)(i=e[t]).current=!1,n.push(i.retain=!1);return n},e.prototype.tile_xyz_to_key=function(t,e,n){return t+\":\"+e+\":\"+n},e.prototype.key_to_tile_xyz=function(t){var e;return function(){var n,i,r,o;for(r=t.split(\":\"),o=[],n=0,i=r.length;n<i;n++)e=r[n],o.push(parseInt(e));return o}()},e.prototype.sort_tiles_from_center=function(t,e){var n,i,r,o,s,a;return o=e[0],a=e[1],r=e[2],s=e[3],n=(r-o)/2+o,i=(s-a)/2+a,t.sort(function(t,e){var r,o;return r=Math.sqrt(Math.pow(n-t[0],2)+Math.pow(i-t[1],2)),o=Math.sqrt(Math.pow(n-e[0],2)+Math.pow(i-e[1],2)),r-o}),t},e.prototype.prune_tiles=function(){var t,e,n,i,r;e=this.tiles;for(t in e)(r=e[t]).retain=r.current||r.tile_coords[2]<3,r.current&&(this.retain_neighbors(r),this.retain_children(r),this.retain_parents(r));n=this.tiles,i=[];for(t in n)(r=n[t]).retain?i.push(void 0):i.push(this.remove_tile(t));return i},e.prototype.remove_tile=function(t){var e;if(null!=(e=this.tiles[t]))return this.pool.push(e.img),delete this.tiles[t]},e.prototype.get_image_url=function(t,e,n){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n)},e.prototype.retain_neighbors=function(t){throw new Error(\"Not Implemented\")},e.prototype.retain_parents=function(t){throw new Error(\"Not Implemented\")},e.prototype.retain_children=function(t){throw new Error(\"Not Implemented\")},e.prototype.tile_xyz_to_quadkey=function(t,e,n){throw new Error(\"Not Implemented\")},e.prototype.quadkey_to_tile_xyz=function(t){throw new Error(\"Not Implemented\")},e}(l.Model);n.TileSource=u,u.prototype.type=\"TileSource\",u.define({url:[a.String,\"\"],tile_size:[a.Number,256],max_zoom:[a.Number,30],min_zoom:[a.Number,0],extra_url_vars:[a.Any,{}],attribution:[a.String,\"\"],x_origin_offset:[a.Number],y_origin_offset:[a.Number],initial_resolution:[a.Number]})},function(t,e,n){var i=t(31);n.ProjectionUtils=function(){function t(){this.origin_shift=2*Math.PI*6378137/2}return t.prototype.geographic_to_meters=function(t,e){return i.proj4(i.wgs84,i.mercator,[t,e])},t.prototype.meters_to_geographic=function(t,e){return i.proj4(i.mercator,i.wgs84,[t,e])},t.prototype.geographic_extent_to_meters=function(t){var e,n,i,r;return n=t[0],r=t[1],e=t[2],i=t[3],o=this.geographic_to_meters(n,r),n=o[0],r=o[1],s=this.geographic_to_meters(e,i),e=s[0],i=s[1],[n,r,e,i];var o,s},t.prototype.meters_extent_to_geographic=function(t){var e,n,i,r;return n=t[0],r=t[1],e=t[2],i=t[3],o=this.meters_to_geographic(n,r),n=o[0],r=o[1],s=this.meters_to_geographic(e,i),e=s[0],i=s[1],[n,r,e,i];var o,s},t}()},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n)},e}(r.MercatorTileSource);n.TMSTileSource=o,o.prototype.type=\"TMSTileSource\"},function(t,e,n){var i=t(364),r=t(200),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_image_url=function(t,e,n){var i;return i=this.string_lookup_replace(this.url,this.extra_url_vars),r=this.tms_to_wmts(t,e,n),t=r[0],e=r[1],n=r[2],i.replace(\"{X}\",t).replace(\"{Y}\",e).replace(\"{Z}\",n);var r},e}(r.MercatorTileSource);n.WMTSTileSource=o,o.prototype.type=\"WMTSTileSource\"},function(t,e,n){var i=t(364),r=t(215),o=t(20);n.ActionToolButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._clicked=function(){return this.model.do.emit()},e}(r.ButtonToolButtonView),n.ActionToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.do,function(){return this.doit()})},e}(r.ButtonToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.do=new o.Signal(this,\"do\")},e}(r.ButtonTool);n.ActionTool=s,s.prototype.button_view=n.ActionToolButtonView},function(t,e,n){var i=t(364),r=t(207),o=t(15);n.HelpToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return window.open(this.model.redirect)},e}(r.ActionToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.HelpTool=s,s.prototype.default_view=n.HelpToolView,s.prototype.type=\"HelpTool\",s.prototype.tool_name=\"Help\",s.prototype.icon=\"bk-tool-icon-help\",s.define({help_tooltip:[o.String,\"Click the question mark to learn more about Bokeh plot tools.\"],redirect:[o.String,\"https://bokeh.pydata.org/en/latest/docs/user_guide/tools.html#built-in-tools\"]}),s.getters({tooltip:function(){return this.help_tooltip}})},function(t,e,n){var i=t(364),r=t(207);n.RedoToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.plot_view.state_changed,function(){return n.model.disabled=!n.plot_view.can_redo()})},e.prototype.doit=function(){return this.plot_view.redo()},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.RedoTool=o,o.prototype.default_view=n.RedoToolView,o.prototype.type=\"RedoTool\",o.prototype.tool_name=\"Redo\",o.prototype.icon=\"bk-tool-icon-redo\",o.override({disabled:!0})},function(t,e,n){var i=t(364),r=t(207),o=t(3),s=t(15);n.ResetToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return this.plot_view.clear_state(),this.plot_view.reset_range(),this.plot_view.reset_selection(),this.plot_model.plot.trigger_event(new o.Reset)},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ResetTool=a,a.prototype.default_view=n.ResetToolView,a.prototype.type=\"ResetTool\",a.prototype.tool_name=\"Reset\",a.prototype.icon=\"bk-tool-icon-reset\",a.define({reset_size:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(207);n.SaveToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){return this.plot_view.save(\"bokeh_plot\")},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.SaveTool=o,o.prototype.default_view=n.SaveToolView,o.prototype.type=\"SaveTool\",o.prototype.tool_name=\"Save\",o.prototype.icon=\"bk-tool-icon-save\"},function(t,e,n){var i=t(364),r=t(207);n.UndoToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.plot_view.state_changed,function(){return n.model.disabled=!n.plot_view.can_undo()})},e.prototype.doit=function(){return this.plot_view.undo()},e}(r.ActionToolView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.UndoTool=o,o.prototype.default_view=n.UndoToolView,o.prototype.type=\"UndoTool\",o.prototype.tool_name=\"Undo\",o.prototype.icon=\"bk-tool-icon-undo\",o.override({disabled:!0})},function(t,e,n){var i=t(364),r=t(207),o=t(44),s=t(15);n.ZoomInToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){var t,e,n,i,r,s;return e=this.plot_model.frame,t=this.model.dimensions,n=\"width\"===t||\"both\"===t,r=\"height\"===t||\"both\"===t,s=o.scale_range(e,this.model.factor,n,r),this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),null!=(i=this.model.document)&&i.interactive_start(this.plot_model.plot),null},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ZoomInTool=a,a.prototype.default_view=n.ZoomInToolView,a.prototype.type=\"ZoomInTool\",a.prototype.tool_name=\"Zoom In\",a.prototype.icon=\"bk-tool-icon-zoom-in\",a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({factor:[s.Percent,.1],dimensions:[s.Dimensions,\"both\"]})},function(t,e,n){var i=t(364),r=t(207),o=t(44),s=t(15);n.ZoomOutToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.doit=function(){var t,e,n,i,r,s;return e=this.plot_model.frame,t=this.model.dimensions,n=\"width\"===t||\"both\"===t,r=\"height\"===t||\"both\"===t,s=o.scale_range(e,-this.model.factor,n,r),this.plot_view.push_state(\"zoom_out\",{range:s}),this.plot_view.update_range(s,!1,!0),null!=(i=this.model.document)&&i.interactive_start(this.plot_model.plot),null},e}(r.ActionToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ActionTool);n.ZoomOutTool=a,a.prototype.default_view=n.ZoomOutToolView,a.prototype.type=\"ZoomOutTool\",a.prototype.tool_name=\"Zoom Out\",a.prototype.icon=\"bk-tool-icon-zoom-out\",a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({factor:[s.Percent,.1],dimensions:[s.Dimensions,\"both\"]})},function(t,e,n){var i=t(364),r=t(6),o=t(231),s=t(5),a=t(15),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){var n=this;return t.prototype.initialize.call(this,e),this.connect(this.model.change,function(){return n.render()}),this.el.addEventListener(\"click\",function(t){return t.stopPropagation(),t.preventDefault(),n._clicked()}),this.render()},e.prototype.render=function(){return s.empty(this.el),this.el.disabled=this.model.disabled,this.el.classList.add(this.model.icon),this.el.title=this.model.tooltip},e.prototype._clicked=function(){},e}(r.DOMView);n.ButtonToolButtonView=l,l.prototype.className=\"bk-toolbar-button\",n.ButtonToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ToolView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.Tool);n.ButtonTool=u,u.prototype.button_view=l,u.prototype.icon=null,u.getters({tooltip:function(){return this.tool_name}}),u.internal({disabled:[a.Boolean,!1]})},function(t,e,n){var i,r=t(364),o=t(222),s=t(55),a=t(15);n.BoxSelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._pan_start=function(t){var e,n;return i=t.bokeh,e=i.sx,n=i.sy,this._base_point=[e,n],null;var i},e.prototype._pan=function(t){var e,n,i,r,o,s,a,l,u;return h=t.bokeh,s=h.sx,l=h.sy,n=[s,l],r=this.plot_model.frame,i=this.model.dimensions,c=this.model._get_dim_limits(this._base_point,n,r,i),a=c[0],u=c[1],this.model.overlay.update({left:a[0],right:a[1],top:u[0],bottom:u[1]}),this.model.select_every_mousemove&&(e=null!=(o=t.srcEvent.shiftKey)&&o,this._do_select(a,u,!1,e)),null;var h,c},e.prototype._pan_end=function(t){var e,n,i,r,o,s,a,l,u;return h=t.bokeh,s=h.sx,l=h.sy,n=[s,l],r=this.plot_model.frame,i=this.model.dimensions,c=this.model._get_dim_limits(this._base_point,n,r,i),a=c[0],u=c[1],e=null!=(o=t.srcEvent.shiftKey)&&o,this._do_select(a,u,!0,e),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.push_state(\"box_select\",{selection:this.plot_view.get_selection()}),null;var h,c},e.prototype._do_select=function(t,e,n,i){var r=t[0],o=t[1],s=e[0],a=e[1];void 0===i&&(i=!1);var l;return l={type:\"rect\",sx0:r,sx1:o,sy0:s,sy1:a},this._select(l,n,i)},e.prototype._emit_callback=function(t){var e,n,i,r,o,s,a,l;n=this.computed_renderers[0],e=this.plot_model.frame,a=e.xscales[n.x_range_name],l=e.yscales[n.y_range_name],i=t.sx0,r=t.sx1,o=t.sy0,s=t.sy1,u=a.r_invert(i,r),t.x0=u[0],t.x1=u[1],h=l.r_invert(o,s),t.y0=h[0],t.y1=h[1],this.model.callback.execute(this.model,{geometry:t});var u,h},e}(o.SelectToolView),i=function(){return new s.BoxAnnotation({level:\"overlay\",render_mode:\"css\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.BoxSelectTool=l,l.prototype.default_view=n.BoxSelectToolView,l.prototype.type=\"BoxSelectTool\",l.prototype.tool_name=\"Box Select\",l.prototype.icon=\"bk-tool-icon-box-select\",l.prototype.event_type=\"pan\",l.prototype.default_order=30,l.define({dimensions:[a.Dimensions,\"both\"],select_every_mousemove:[a.Bool,!1],callback:[a.Instance],overlay:[a.Instance,i]}),l.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}})},function(t,e,n){var i,r=t(364),o=t(218),s=t(55),a=t(15);n.BoxZoomToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype._match_aspect=function(t,e,n){var i,r,o,s,a,l,u,h,c;return i=n.bbox.aspect,h=Math.abs(t[0]-e[0]),u=Math.abs(t[1]-e[1]),(l=0===u?0:h/u)>=i?(c=(_=[1,l/i])[0],_[1]):(c=(p=[i/l,1])[0],p[1]),t[0]<=e[0]?(o=t[0],(s=t[0]+h*c)>hend&&(s=hend)):(s=t[0],(o=t[0]-h*c)<hstart&&(o=hstart)),h=Math.abs(s-o),t[1]<=e[1]?(r=t[1],(a=t[1]+h/i)>vend&&(a=vend)):(a=t[1],(r=t[1]-h/i)<vstart&&(r=vstart)),u=Math.abs(a-r),t[0]<=e[0]?s=t[0]+i*u:o=t[0]-i*u,[[o,s],[r,a]];var _,p},e.prototype._pan_start=function(t){return this._base_point=[t.bokeh.sx,t.bokeh.sy],null},e.prototype._pan=function(t){var e,n,i,r,o;return e=[t.bokeh.sx,t.bokeh.sy],i=this.plot_model.frame,n=this.model.dimensions,this.model.match_aspect&&\"both\"===n?(s=this._match_aspect(this._base_point,e,i),r=s[0],o=s[1]):(a=this.model._get_dim_limits(this._base_point,e,i,n),r=a[0],o=a[1]),this.model.overlay.update({left:r[0],right:r[1],top:o[0],bottom:o[1]}),null;var s,a},e.prototype._pan_end=function(t){var e,n,i,r,o;return e=[t.bokeh.sx,t.bokeh.sy],i=this.plot_model.frame,n=this.model.dimensions,this.model.match_aspect&&\"both\"===n?(s=this._match_aspect(this._base_point,e,i),r=s[0],o=s[1]):(a=this.model._get_dim_limits(this._base_point,e,i,n),r=a[0],o=a[1]),this._update(r,o),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,null;var s,a},e.prototype._update=function(t,e){var n,i,r,o,s,a,l,u,h,c=t[0],_=t[1],p=e[0],d=e[1];if(!(Math.abs(_-c)<=5||Math.abs(d-p)<=5)){l={},r=this.plot_view.frame.xscales;for(i in r)s=r[i],f=s.r_invert(c,_),a=f[0],n=f[1],l[i]={start:a,end:n};u={},o=this.plot_view.frame.yscales;for(i in o)s=o[i],m=s.r_invert(p,d),a=m[0],n=m[1],u[i]={start:a,end:n};return h={xrs:l,yrs:u},this.plot_view.push_state(\"box_zoom\",{range:h}),this.plot_view.update_range(h);var f,m}},e}(o.GestureToolView),i=function(){return new s.BoxAnnotation({level:\"overlay\",render_mode:\"css\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.GestureTool);n.BoxZoomTool=l,l.prototype.default_view=n.BoxZoomToolView,l.prototype.type=\"BoxZoomTool\",l.prototype.tool_name=\"Box Zoom\",l.prototype.icon=\"bk-tool-icon-box-zoom\",l.prototype.event_type=\"pan\",l.prototype.default_order=20,l.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),l.define({dimensions:[a.Dimensions,\"both\"],overlay:[a.Instance,i],match_aspect:[a.Bool,!1]})},function(t,e,n){var i=t(364),r=t(215),o=t(230);n.GestureToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ButtonToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.ButtonTool);n.GestureTool=s,s.prototype.button_view=o.OnOffButtonView,s.prototype.event_type=null,s.prototype.default_order=null},function(t,e,n){var i,r=t(364),o=t(222),s=t(62),a=t(15);n.LassoSelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.properties.active.change,function(){return this._active_change()}),this.data=null},e.prototype._active_change=function(){if(!this.model.active)return this._clear_overlay()},e.prototype._keyup=function(t){if(13===t.keyCode)return this._clear_overlay()},e.prototype._pan_start=function(t){var e,n;return i=t.bokeh,e=i.sx,n=i.sy,this.data={sx:[e],sy:[n]},null;var i},e.prototype._pan=function(t){var e,n,i,r;if(o=t.bokeh,i=o.sx,r=o.sy,s=this.plot_model.frame.bbox.clip(i,r),i=s[0],r=s[1],this.data.sx.push(i),this.data.sy.push(r),this.model.overlay.update({xs:this.data.sx,ys:this.data.sy}),this.model.select_every_mousemove)return e=null!=(n=t.srcEvent.shiftKey)&&n,this._do_select(this.data.sx,this.data.sy,!1,e);var o,s},e.prototype._pan_end=function(t){var e,n;return this._clear_overlay(),e=null!=(n=t.srcEvent.shiftKey)&&n,this._do_select(this.data.sx,this.data.sy,!0,e),this.plot_view.push_state(\"lasso_select\",{selection:this.plot_view.get_selection()})},e.prototype._clear_overlay=function(){return this.model.overlay.update({xs:[],ys:[]})},e.prototype._do_select=function(t,e,n,i){var r;return r={type:\"poly\",sx:t,sy:e},this._select(r,n,i)},e.prototype._emit_callback=function(t){var e,n,i,r;n=this.computed_renderers[0],e=this.plot_model.frame,i=e.xscales[n.x_range_name],r=e.yscales[n.y_range_name],t.x=i.v_invert(t.sx),t.y=r.v_invert(t.sy),this.model.callback.execute(this.model,{geometry:t})},e}(o.SelectToolView),i=function(){return new s.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]}})};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.LassoSelectTool=l,l.prototype.default_view=n.LassoSelectToolView,l.prototype.type=\"LassoSelectTool\",l.prototype.tool_name=\"Lasso Select\",l.prototype.icon=\"bk-tool-icon-lasso-select\",l.prototype.event_type=\"pan\",l.prototype.default_order=12,l.define({select_every_mousemove:[a.Bool,!0],callback:[a.Instance],overlay:[a.Instance,i]})},function(t,e,n){var i=t(364),r=t(218),o=t(15);n.PanToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._pan_start=function(t){var e,n,i,r,o,s;return this.last_dx=0,this.last_dy=0,a=t.bokeh,r=a.sx,o=a.sy,(e=this.plot_view.frame.bbox).contains(r,o)||(n=e.h_range,s=e.v_range,(r<n.start||r>n.end)&&(this.v_axis_only=!0),(o<s.start||o>s.end)&&(this.h_axis_only=!0)),null!=(i=this.model.document)?i.interactive_start(this.plot_model.plot):void 0;var a},e.prototype._pan=function(t){var e;return this._update(t.deltaX,t.deltaY),null!=(e=this.model.document)?e.interactive_start(this.plot_model.plot):void 0},e.prototype._pan_end=function(t){if(this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info)return this.plot_view.push_state(\"pan\",{range:this.pan_info})},e.prototype._update=function(t,e){var n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k,S,T;r=this.plot_view.frame,a=t-this.last_dx,l=e-this.last_dy,o=r.bbox.h_range,g=o.start-a,v=o.end-a,k=r.bbox.v_range,w=k.start-l,x=k.end-l,\"width\"!==(n=this.model.dimensions)&&\"both\"!==n||this.v_axis_only?(f=o.start,m=o.end,_=0):(f=g,m=v,_=-a),\"height\"!==n&&\"both\"!==n||this.h_axis_only?(y=k.start,b=k.end,p=0):(y=w,b=x,p=-l),this.last_dx=t,this.last_dy=e,S={},u=r.xscales;for(s in u)c=u[s],M=c.r_invert(f,m),d=M[0],i=M[1],S[s]={start:d,end:i};T={},h=r.yscales;for(s in h)c=h[s],A=c.r_invert(y,b),d=A[0],i=A[1],T[s]={start:d,end:i};return this.pan_info={xrs:S,yrs:T,sdx:_,sdy:p},this.plot_view.update_range(this.pan_info,!0),null;var M,A},e}(r.GestureToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.PanTool=s,s.prototype.default_view=n.PanToolView,s.prototype.type=\"PanTool\",s.prototype.tool_name=\"Pan\",s.prototype.event_type=\"pan\",s.prototype.default_order=10,s.define({dimensions:[o.Dimensions,\"both\"]}),s.getters({tooltip:function(){return this._get_dim_tooltip(\"Pan\",this.dimensions)},icon:function(){return\"bk-tool-icon-\"+function(){switch(this.dimensions){case\"both\":return\"pan\";case\"width\":return\"xpan\";case\"height\":return\"ypan\"}}.call(this)}})},function(t,e,n){var i,r=t(364),o=t(222),s=t(62),a=t(15),l=t(22);n.PolySelectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.connect(this.model.properties.active.change,function(){return this._active_change()}),this.data={sx:[],sy:[]}},e.prototype._active_change=function(){if(!this.model.active)return this._clear_data()},e.prototype._keyup=function(t){if(13===t.keyCode)return this._clear_data()},e.prototype._doubletap=function(t){var e,n;return e=null!=(n=t.srcEvent.shiftKey)&&n,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()},e.prototype._clear_data=function(){return this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})},e.prototype._tap=function(t){var e,n;if(i=t.bokeh,e=i.sx,n=i.sy,this.plot_model.frame.bbox.contains(e,n)){return this.data.sx.push(e),this.data.sy.push(n),this.model.overlay.update({xs:l.copy(this.data.sx),ys:l.copy(this.data.sy)});var i}},e.prototype._do_select=function(t,e,n,i){var r;return r={type:\"poly\",sx:t,sy:e},this._select(r,n,i)},e.prototype._emit_callback=function(t){var e,n,i;n=this.computed_renderers[0],e=this.plot_model.frame,i=e.xscales[n.x_range_name],e.yscales[n.y_range_name],t.x=i.v_invert(t.sx),t.y=i.v_invert(t.sy),this.model.callback.execute(this.model,{geometry:t})},e}(o.SelectToolView),i=function(){return new s.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]}})};var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r.__extends(e,t),e}(o.SelectTool);n.PolySelectTool=u,u.prototype.default_view=n.PolySelectToolView,u.prototype.type=\"PolySelectTool\",u.prototype.tool_name=\"Poly Select\",u.prototype.icon=\"bk-tool-icon-polygon-select\",u.prototype.event_type=\"tap\",u.prototype.default_order=11,u.define({callback:[a.Instance],overlay:[a.Instance,i]})},function(t,e,n){var i=t(364),r=t(218),o=t(161),s=t(162),a=t(14),l=t(15),u=t(30),h=t(3),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._computed_renderers_by_data_source=function(){var t,e,n,i,r,a;for(r={},i=this.computed_renderers,t=0,e=i.length;t<e;t++)(n=i[t])instanceof s.GraphRenderer?a=n.node_renderer.data_source.id:n instanceof o.GlyphRenderer&&(a=n.data_source.id),r[a]=a in r?r[a].concat([n]):[n];return r},e.prototype._keyup=function(t){var e,n,i,r,o,s,a;if(27===t.keyCode){for(o=this.computed_renderers,s=[],n=0,i=o.length;n<i;n++)r=o[n],e=r.data_source,a=e.selection_manager,s.push(a.clear());return s}},e.prototype._select=function(t,e,n){var i,r,o,s,a,l,u,h;u=this._computed_renderers_by_data_source();for(i in u){for(l=u[i],h=l[0].get_selection_manager(),a=[],r=0,o=l.length;r<o;r++)(s=l[r]).id in this.plot_view.renderer_views&&a.push(this.plot_view.renderer_views[s.id]);h.select(a,t,e,n)}return null!=this.model.callback&&this._emit_callback(t),this._emit_selection_event(t,e),null},e.prototype._emit_selection_event=function(t,e){void 0===e&&(e=!0);var n,i,r,o,s,l;switch(n=u.clone(t),s=this.plot_view.frame.xscales.default,l=this.plot_view.frame.yscales.default,n.type){case\"point\":n.x=s.invert(n.sx),n.y=l.invert(n.sy);break;case\"rect\":c=s.r_invert(n.sx0,n.sx1),n.x0=c[0],n.x1=c[1],_=l.r_invert(n.sy0,n.sy1),n.y0=_[0],n.y1=_[1];break;case\"poly\":for(n.x=new Array(n.sx.length),n.y=new Array(n.sy.length),i=r=0,o=n.sx.length;0<=o?r<o:r>o;i=0<=o?++r:--r)n.x[i]=s.invert(n.sx[i]),n.y[i]=l.invert(n.sy[i]);break;default:a.logger.debug(\"Unrecognized selection geometry type: '\"+n.type+\"'\")}return this.plot_model.plot.trigger_event(new h.SelectionGeometry({geometry:n,final:e}));var c,_},e}(r.GestureToolView);n.SelectToolView=c,c.getters({computed_renderers:function(){var t,e,n,i;return i=this.model.renderers,e=this.model.names,0===i.length&&(t=this.plot_model.plot.renderers,i=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)((n=t[e])instanceof o.GlyphRenderer||n instanceof s.GraphRenderer)&&r.push(n);return r}()),e.length>0&&(i=function(){var t,r,o;for(o=[],t=0,r=i.length;t<r;t++)n=i[t],e.indexOf(n.name)>=0&&o.push(n);return o}()),i}});var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.SelectTool=_,_.define({renderers:[l.Array,[]],names:[l.Array,[]]}),_.internal({multi_select_modifier:[l.String,\"shift\"]})},function(t,e,n){var i=t(364),r=t(222),o=t(15),s=t(42);n.TapToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._tap=function(t){var e,n,i,r;return o=t.bokeh,i=o.sx,r=o.sy,e=null!=(n=t.srcEvent.shiftKey)&&n,this._select(i,r,!0,e);var o},e.prototype._select=function(t,e,n,i){var r,o,a,l,u,h,c,_,p,d,f,m;if(l={type:\"point\",sx:t,sy:e},o=this.model.callback,a={geometries:l},\"select\"===this.model.behavior){f=this._computed_renderers_by_data_source();for(r in f)d=f[r],m=d[0].get_selection_manager(),_=function(){var t,e,n;for(n=[],t=0,e=d.length;t<e;t++)c=d[t],n.push(this.plot_view.renderer_views[c.id]);return n}.call(this),m.select(_,l,n,i)&&null!=o&&(a.source=m.source,s.isFunction(o)?o(this,a):o.execute(this,a));this._emit_selection_event(l),this.plot_view.push_state(\"tap\",{selection:this.plot_view.get_selection()})}else for(p=this.computed_renderers,u=0,h=p.length;u<h;u++)c=p[u],m=c.get_selection_manager(),m.inspect(this.plot_view.renderer_views[c.id],l)&&null!=o&&(a.source=m.source,s.isFunction(o)?o(this,a):o.execute(this,a));return null},e}(r.SelectToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.SelectTool);n.TapTool=a,a.prototype.default_view=n.TapToolView,a.prototype.type=\"TapTool\",a.prototype.tool_name=\"Tap\",a.prototype.icon=\"bk-tool-icon-tap-select\",a.prototype.event_type=\"tap\",a.prototype.default_order=10,a.define({behavior:[o.String,\"select\"],callback:[o.Any]})},function(t,e,n){var i=t(364),r=t(218),o=t(15);n.WheelPanToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._scroll=function(t){var e;return(e=this.model.speed*t.bokeh.delta)>.9?e=.9:e<-.9&&(e=-.9),this._update_ranges(e)},e.prototype._update_ranges=function(t){var e,n,i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w,k;switch(n=this.plot_model.frame,i=n.bbox.h_range,x=n.bbox.v_range,S=[i.start,i.end],d=S[0],p=S[1],T=[x.start,x.end],y=T[0],g=T[1],this.model.dimension){case\"height\":b=Math.abs(g-y),c=d,_=p,m=y-b*t,v=g-b*t;break;case\"width\":f=Math.abs(p-d),c=d-f*t,_=p-f*t,m=y,v=g}w={},s=n.xscales;for(r in s)u=s[r],M=u.r_invert(c,_),h=M[0],e=M[1],w[r]={start:h,end:e};k={},a=n.yscales;for(r in a)u=a[r],A=u.r_invert(m,v),h=A[0],e=A[1],k[r]={start:h,end:e};return o={xrs:w,yrs:k,factor:t},this.plot_view.push_state(\"wheel_pan\",{range:o}),this.plot_view.update_range(o,!1,!0),null!=(l=this.model.document)&&l.interactive_start(this.plot_model.plot),null;var S,T,M,A},e}(r.GestureToolView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.WheelPanTool=s,s.prototype.type=\"WheelPanTool\",s.prototype.default_view=n.WheelPanToolView,s.prototype.tool_name=\"Wheel Pan\",s.prototype.icon=\"bk-tool-icon-wheel-pan\",s.prototype.event_type=\"scroll\",s.prototype.default_order=12,s.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimension)}}),s.define({dimension:[o.Dimension,\"width\"]}),s.internal({speed:[o.Number,.001]})},function(t,e,n){var i=t(364),r=t(218),o=t(44),s=t(15);n.WheelZoomToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._pinch=function(t){var e;return e=t.scale>=1?20*(t.scale-1):-20/t.scale,t.bokeh.delta=e,this._scroll(t)},e.prototype._scroll=function(t){var e,n,i,r,s,a,l,u,h,c,_;return i=this.plot_model.frame,s=i.bbox.h_range,c=i.bbox.v_range,p=t.bokeh,l=p.sx,u=p.sy,e=this.model.dimensions,r=(\"width\"===e||\"both\"===e)&&s.start<l&&l<s.end,h=(\"height\"===e||\"both\"===e)&&c.start<u&&u<c.end,n=this.model.speed*t.bokeh.delta,_=o.scale_range(i,n,r,h,{x:l,y:u}),this.plot_view.push_state(\"wheel_zoom\",{range:_}),this.plot_view.update_range(_,!1,!0),null!=(a=this.model.document)&&a.interactive_start(this.plot_model.plot),null;var p},e}(r.GestureToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.GestureTool);n.WheelZoomTool=a,a.prototype.default_view=n.WheelZoomToolView,a.prototype.type=\"WheelZoomTool\",a.prototype.tool_name=\"Wheel Zoom\",a.prototype.icon=\"bk-tool-icon-wheel-zoom\",a.prototype.event_type=\"ontouchstart\"in window||navigator.maxTouchPoints>0?\"pinch\":\"scroll\",a.prototype.default_order=10,a.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),a.define({dimensions:[s.Dimensions,\"both\"]}),a.internal({speed:[s.Number,1/600]})},function(t,e,n){var i=t(207);n.ActionTool=i.ActionTool;var r=t(208);n.HelpTool=r.HelpTool;var o=t(209);n.RedoTool=o.RedoTool;var s=t(210);n.ResetTool=s.ResetTool;var a=t(211);n.SaveTool=a.SaveTool;var l=t(212);n.UndoTool=l.UndoTool;var u=t(213);n.ZoomInTool=u.ZoomInTool;var h=t(214);n.ZoomOutTool=h.ZoomOutTool;var c=t(215);n.ButtonTool=c.ButtonTool;var _=t(216);n.BoxSelectTool=_.BoxSelectTool;var p=t(217);n.BoxZoomTool=p.BoxZoomTool;var d=t(218);n.GestureTool=d.GestureTool;var f=t(219);n.LassoSelectTool=f.LassoSelectTool;var m=t(220);n.PanTool=m.PanTool;var v=t(221);n.PolySelectTool=v.PolySelectTool;var g=t(222);n.SelectTool=g.SelectTool;var y=t(223);n.TapTool=y.TapTool;var b=t(224);n.WheelPanTool=b.WheelPanTool;var x=t(225);n.WheelZoomTool=x.WheelZoomTool;var w=t(227);n.CrosshairTool=w.CrosshairTool;var k=t(228);n.HoverTool=k.HoverTool;var S=t(229);n.InspectTool=S.InspectTool;var T=t(231);n.Tool=T.Tool;var M=t(232);n.ToolProxy=M.ToolProxy;var A=t(233);n.Toolbar=A.Toolbar;var E=t(234);n.ToolbarBase=E.ToolbarBase;var z=t(235);n.ProxyToolbar=z.ProxyToolbar;var C=t(235);n.ToolbarBox=C.ToolbarBox},function(t,e,n){var i=t(364),r=t(229),o=t(63),s=t(15),a=t(30);n.CrosshairToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._move=function(t){var e,n;if(this.model.active){return i=t.bokeh,e=i.sx,n=i.sy,this.plot_model.frame.bbox.contains(e,n)||(e=n=null),this._update_spans(e,n);var i}},e.prototype._move_exit=function(t){return this._update_spans(null,null)},e.prototype._update_spans=function(t,e){var n;if(\"width\"!==(n=this.model.dimensions)&&\"both\"!==n||(this.model.spans.width.computed_location=e),\"height\"===n||\"both\"===n)return this.model.spans.height.computed_location=t},e}(r.InspectToolView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.spans={width:new o.Span({for_hover:!0,dimension:\"width\",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha}),height:new o.Span({for_hover:!0,dimension:\"height\",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha})}},e}(r.InspectTool);n.CrosshairTool=l,l.prototype.default_view=n.CrosshairToolView,l.prototype.type=\"CrosshairTool\",l.prototype.tool_name=\"Crosshair\",l.prototype.icon=\"bk-tool-icon-crosshair\",l.define({dimensions:[s.Dimensions,\"both\"],line_color:[s.Color,\"black\"],line_width:[s.Number,1],line_alpha:[s.Number,1]}),l.internal({location_units:[s.SpatialUnits,\"screen\"],render_mode:[s.RenderMode,\"css\"],spans:[s.Any]}),l.getters({tooltip:function(){return this._get_dim_tooltip(\"Crosshair\",this.dimensions)},synthetic_renderers:function(){return a.values(this.spans)}})},function(t,e,n){var i=t(364),r=t(229),o=t(67),s=t(161),a=t(162),l=t(9),u=t(39),h=t(5),c=t(15),_=t(26),p=t(30),d=t(42),f=t(4);n._nearest_line_hit=function(t,e,n,i,r,o){var s,a,u,h,c,_;if(s=r[t],a=o[t],u=r[t+1],h=o[t+1],\"span\"===e.type)switch(e.direction){case\"h\":c=Math.abs(s-n),_=Math.abs(u-n);break;case\"v\":c=Math.abs(a-i),_=Math.abs(h-i)}else c=l.dist_2_pts(s,a,n,i),_=l.dist_2_pts(u,h,n,i);return c<_?[[s,a],t]:[[u,h],t+1]},n._line_hit=function(t,e,n){return[[t[n],e[n]],n]};var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.ttviews={}},e.prototype.remove=function(){return f.remove_views(this.ttviews),t.prototype.remove.call(this)},e.prototype.connect_signals=function(){var e,n,i,r;for(t.prototype.connect_signals.call(this),r=this.computed_renderers,e=0,n=r.length;e<n;e++)(i=r[e])instanceof s.GlyphRenderer?this.connect(i.data_source.inspect,this._update):i instanceof a.GraphRenderer&&(this.connect(i.node_renderer.data_source.inspect,this._update),this.connect(i.edge_renderer.data_source.inspect,this._update));return this.connect(this.model.properties.renderers.change,function(){return this._computed_renderers=this._ttmodels=null}),this.connect(this.model.properties.names.change,function(){return this._computed_renderers=this._ttmodels=null}),this.connect(this.model.properties.tooltips.change,function(){return this._ttmodels=null})},e.prototype._compute_renderers=function(){var t,e,n,i;return i=this.model.renderers,e=this.model.names,0===i.length&&(t=this.plot_model.plot.renderers,i=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)((n=t[e])instanceof s.GlyphRenderer||n instanceof a.GraphRenderer)&&r.push(n);return r}()),e.length>0&&(i=function(){var t,r,o;for(o=[],t=0,r=i.length;t<r;t++)n=i[t],e.indexOf(n.name)>=0&&o.push(n);return o}()),i},e.prototype._compute_ttmodels=function(){var t,e,n,i,r,l,u;if(u={},null!=(l=this.model.tooltips))for(i=this.computed_renderers,t=0,e=i.length;t<e;t++)(n=i[t])instanceof s.GlyphRenderer?(r=new o.Tooltip({custom:d.isString(l)||d.isFunction(l),attachment:this.model.attachment,show_arrow:this.model.show_arrow}),u[n.id]=r):n instanceof a.GraphRenderer&&(r=new o.Tooltip({custom:d.isString(l)||d.isFunction(l),attachment:this.model.attachment,show_arrow:this.model.show_arrow}),u[n.node_renderer.id]=r,u[n.edge_renderer.id]=r);return f.build_views(this.ttviews,p.values(u),{parent:this,plot_view:this.plot_view}),u},e.prototype._clear=function(){var t,e,n,i;this._inspect(Infinity,Infinity),t=this.ttmodels,e=[];for(n in t)i=t[n],e.push(i.clear());return e},e.prototype._move=function(t){var e,n;if(this.model.active){return i=t.bokeh,e=i.sx,n=i.sy,this.plot_view.frame.bbox.contains(e,n)?this._inspect(e,n):this._clear();var i}},e.prototype._move_exit=function(){return this._clear()},e.prototype._inspect=function(t,e){var n,i,r,o,s,a;for(a=\"mouse\"===this.model.mode?\"point\":\"span\",n={type:a,sx:t,sy:e},\"span\"===a&&(n.direction=\"vline\"===this.model.mode?\"h\":\"v\"),s=this.computed_renderers,i=0,r=s.length;i<r;i++)o=s[i],o.get_selection_manager().inspect(this.plot_view.renderer_views[o.id],n);null!=this.model.callback&&this._emit_callback(n)},e.prototype._update=function(t){var e,i,r,o,a,l,u,h,c,_,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j,P,D,F=t[0],I=t[1].geometry;if(this.model.active&&null!=(C=null!=(b=this.ttmodels[F.model.id])?b:null)&&(C.clear(),c=F.model.get_selection_manager().inspectors[F.model.id].indices,F.model instanceof s.GlyphRenderer&&(c=F.model.view.convert_selection_to_subset(c)),r=F.model.get_selection_manager().source,!c.is_empty())){for(o=this.plot_model.frame,E=I.sx,z=I.sy,j=o.xscales[F.model.x_range_name],D=o.yscales[F.model.y_range_name],N=j.invert(E),P=D.invert(z),a=F.glyph,x=c[\"0d\"].indices,f=0,v=x.length;f<v;f++){switch(l=x[f],e=a._x[l+1],i=a._y[l+1],u=l,this.model.line_policy){case\"interp\":B=a.get_interpolation_hit(l,I),e=B[0],i=B[1],M=j.compute(e),A=D.compute(i);break;case\"prev\":R=n._line_hit(a.sx,a.sy,l),L=R[0],M=L[0],A=L[1],u=R[1];break;case\"next\":V=n._line_hit(a.sx,a.sy,l+1),G=V[0],M=G[0],A=G[1],u=V[1];break;case\"nearest\":U=n._nearest_line_hit(l,I,E,z,a.sx,a.sy),Y=U[0],M=Y[0],A=Y[1],u=U[1],e=a._x[u],i=a._y[u];break;default:M=(q=[E,z])[0],A=q[1]}O={index:u,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i,rx:M,ry:A},C.add(M,A,this._render_tooltips(r,u,O))}for(w=c[\"1d\"].indices,m=0,g=w.length;m<g;m++)if(l=w[m],p.isEmpty(c[\"2d\"].indices))e=null!=(S=a._x)?S[l]:void 0,i=null!=(T=a._y)?T[l]:void 0,\"snap_to_data\"===this.model.point_policy?(null==(y=a.get_anchor_point(this.model.anchor,l,[E,z]))&&(y=a.get_anchor_point(\"center\",l,[E,z])),M=y.x,A=y.y):(M=(K=[E,z])[0],A=K[1]),h=F.model instanceof s.GlyphRenderer?F.model.view.convert_indices_from_subset([l])[0]:l,O={index:h,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i},C.add(M,A,this._render_tooltips(r,h,O));else{k=c[\"2d\"].indices;for(l in k){switch(_=k[l][0],e=a._xs[l][_],i=a._ys[l][_],d=_,this.model.line_policy){case\"interp\":X=a.get_interpolation_hit(l,_,I),e=X[0],i=X[1],M=j.compute(e),A=D.compute(i);break;case\"prev\":W=n._line_hit(a.sxs[l],a.sys[l],_),H=W[0],M=H[0],A=H[1],d=W[1];break;case\"next\":J=n._line_hit(a.sxs[l],a.sys[l],_+1),Q=J[0],M=Q[0],A=Q[1],d=J[1];break;case\"nearest\":$=n._nearest_line_hit(_,I,E,z,a.sxs[l],a.sys[l]),Z=$[0],M=Z[0],A=Z[1],d=$[1],e=a._xs[l][d],i=a._ys[l][d]}h=F.model instanceof s.GlyphRenderer?F.model.view.convert_indices_from_subset([l])[0]:l,O={index:h,segment_index:d,x:N,y:P,sx:E,sy:z,data_x:e,data_y:i},C.add(M,A,this._render_tooltips(r,h,O))}}return null;var B,R,L,V,G,U,Y,q,X,W,H,J,Q,$,Z,K}},e.prototype._emit_callback=function(t){var e,n,i,r,o,s,a,l,u,h,c;for(u=this.computed_renderers,o=0,s=u.length;o<s;o++)l=u[o],r=l.data_source.inspected,i=this.plot_model.frame,h=i.xscales[l.x_range_name],c=i.yscales[l.y_range_name],t.x=h.invert(t.sx),t.y=c.invert(t.sy),e=this.model.callback,a=(_=[e,{index:r,geometry:t,renderer:l}])[0],n=_[1],d.isFunction(e)?e(a,n):e.execute(a,n);var _},e.prototype._render_tooltips=function(t,e,n){var i,r,o,s,a,l,c,p,f,m,v,g,y,b,x;if(b=this.model.tooltips,d.isString(b))return a=h.div(),a.innerHTML=u.replace_placeholders(b,t,e,this.model.formatters,n),a;if(d.isFunction(b))return b(t,n);for(g=h.div({style:{display:\"table\",borderSpacing:\"2px\"}}),c=0,f=b.length;c<f;c++)if(w=b[c],p=w[0],x=w[1],v=h.div({style:{display:\"table-row\"}}),g.appendChild(v),i=h.div({style:{display:\"table-cell\"},class:\"bk-tooltip-row-label\"},p+\": \"),v.appendChild(i),i=h.div({style:{display:\"table-cell\"},class:\"bk-tooltip-row-value\"}),v.appendChild(i),x.indexOf(\"$color\")>=0){if(k=x.match(/\\$color(\\[.*\\])?:(\\w*)/),k[0],m=k[1],r=k[2],null==(s=t.get_column(r))){a=h.span({},r+\" unknown\"),i.appendChild(a);continue}if(l=(null!=m?m.indexOf(\"hex\"):void 0)>=0,y=(null!=m?m.indexOf(\"swatch\"):void 0)>=0,null==(o=s[e])){a=h.span({},\"(null)\"),i.appendChild(a);continue}l&&(o=_.color2hex(o)),a=h.span({},o),i.appendChild(a),y&&(a=h.span({class:\"bk-tooltip-color-block\",style:{backgroundColor:o}},\" \"),i.appendChild(a))}else x=x.replace(\"$~\",\"$data_\"),(a=h.span()).innerHTML=u.replace_placeholders(x,t,e,this.model.formatters,n),i.appendChild(a);return g;var w,k},e}(r.InspectToolView);n.HoverToolView=m,m.getters({computed_renderers:function(){return null==this._computed_renderers&&(this._computed_renderers=this._compute_renderers()),this._computed_renderers},ttmodels:function(){return null==this._ttmodels&&(this._ttmodels=this._compute_ttmodels()),this._ttmodels}});var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.InspectTool);n.HoverTool=v,v.prototype.default_view=m,v.prototype.type=\"HoverTool\",v.prototype.tool_name=\"Hover\",v.prototype.icon=\"bk-tool-icon-hover\",v.define({tooltips:[c.Any,[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[c.Any,{}],renderers:[c.Array,[]],names:[c.Array,[]],mode:[c.String,\"mouse\"],point_policy:[c.String,\"snap_to_data\"],line_policy:[c.String,\"nearest\"],show_arrow:[c.Boolean,!0],anchor:[c.String,\"center\"],attachment:[c.String,\"horizontal\"],callback:[c.Any]})},function(t,e,n){var i=t(364),r=t(15),o=t(215),s=t(230);n.InspectToolView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ButtonToolView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.ButtonTool);n.InspectTool=a,a.prototype.button_view=s.OnOffButtonView,a.prototype.event_type=\"move\",a.define({toggleable:[r.Bool,!0]}),a.override({active:!0})},function(t,e,n){var i=t(364),r=t(215);n.OnOffButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.model.active?this.el.classList.add(\"bk-active\"):this.el.classList.remove(\"bk-active\")},e.prototype._clicked=function(){var t;return t=this.model.active,this.model.active=!t},e}(r.ButtonToolButtonView)},function(t,e,n){var i=t(364),r=t(15),o=t(45),s=t(22),a=t(50),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.plot_view=e.plot_view},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.active.change,function(){return e.model.active?e.activate():e.deactivate()})},e.prototype.activate=function(){},e.prototype.deactivate=function(){},e}(o.View);n.ToolView=l,l.getters({plot_model:function(){return this.plot_view.model}});var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._get_dim_tooltip=function(t,e){switch(e){case\"width\":return t+\" (x-axis)\";case\"height\":return t+\" (y-axis)\";case\"both\":return t}},e.prototype._get_dim_limits=function(t,e,n,i){var r,o,a,l,u=t[0],h=t[1],c=e[0],_=e[1];return r=n.bbox.h_range,\"width\"===i||\"both\"===i?(o=[s.min([u,c]),s.max([u,c])],o=[s.max([o[0],r.start]),s.min([o[1],r.end])]):o=[r.start,r.end],l=n.bbox.v_range,\"height\"===i||\"both\"===i?(a=[s.min([h,_]),s.max([h,_])],a=[s.max([a[0],l.start]),s.min([a[1],l.end])]):a=[l.start,l.end],[o,a]},e}(a.Model);n.Tool=u,u.getters({synthetic_renderers:function(){return[]}}),u.internal({active:[r.Boolean,!1]})},function(t,e,n){var i=t(364),r=t(15),o=t(20),s=t(50),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.do=new o.Signal(this,\"do\"),this.connect(this.do,function(){return this.doit()}),this.connect(this.properties.active.change,function(){return this.set_active()})},e.prototype.doit=function(){var t,e,n;for(n=this.tools,t=0,e=n.length;t<e;t++)n[t].do.emit();return null},e.prototype.set_active=function(){var t,e,n;for(n=this.tools,t=0,e=n.length;t<e;t++)n[t].active=this.active;return null},e.prototype._clicked=function(){var t;return t=this.model.active,this.model.active=!t},e}(s.Model);n.ToolProxy=a,a.getters({button_view:function(){return this.tools[0].button_view},event_type:function(){return this.tools[0].event_type},tooltip:function(){return this.tools[0].tool_name},tool_name:function(){return this.tools[0].tool_name},icon:function(){return this.tools[0].icon}}),a.define({tools:[r.Array,[]],active:[r.Bool,!1],disabled:[r.Bool,!1]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(15),s=t(22),a=t(14),l=t(207),u=t(208),h=t(218),c=t(229),_=t(234),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this.connect(this.properties.tools.change,function(){return this._init_tools()}),this._init_tools()},e.prototype._init_tools=function(){var t,e,n,i,o,_,p,d,f,m,v,g=this;for(f=this.tools,i=0,_=f.length;i<_;i++)if((m=f[i])instanceof c.InspectTool)s.any(this.inspectors,function(t){return t.id===m.id})||(this.inspectors=this.inspectors.concat([m]));else if(m instanceof u.HelpTool)s.any(this.help,function(t){return t.id===m.id})||(this.help=this.help.concat([m]));else if(m instanceof l.ActionTool)s.any(this.actions,function(t){return t.id===m.id})||(this.actions=this.actions.concat([m]));else if(m instanceof h.GestureTool)for(n=m.event_type,d=!0,\"string\"==typeof n&&(n=[n],d=!1),o=0,p=n.length;o<p;o++)(e=n[o])in this.gestures?(d?s.any(this.gestures.multi.tools,function(t){return t.id===m.id})||(this.gestures.multi.tools=this.gestures.multi.tools.concat([m])):s.any(this.gestures[e].tools,function(t){return t.id===m.id})||(this.gestures[e].tools=this.gestures[e].tools.concat([m])),this.connect(m.properties.active.change,this._active_change.bind(this,m))):a.logger.warn(\"Toolbar: unknown event type '\"+e+\"' for tool: \"+m.type+\" (\"+m.id+\")\");\"auto\"===this.active_inspect||(this.active_inspect instanceof c.InspectTool?this.inspectors.map(function(t){if(t!==g.active_inspect)return t.active=!1}):this.active_inspect instanceof Array?this.inspectors.map(function(t){if(r.call(g.active_inspect,t)<0)return t.active=!1}):null===this.active_inspect&&this.inspectors.map(function(t){return t.active=!1})),t=function(t){return t.active?g._active_change(t):t.active=!0};for(e in this.gestures)if(0!==(v=this.gestures[e].tools).length){if(this.gestures[e].tools=s.sortBy(v,function(t){return t.default_order}),\"tap\"===e){if(null===this.active_tap)continue;t(\"auto\"===this.active_tap?this.gestures[e].tools[0]:this.active_tap)}if(\"pan\"===e){if(null===this.active_drag)continue;t(\"auto\"===this.active_drag?this.gestures[e].tools[0]:this.active_drag)}if(\"pinch\"===e||\"scroll\"===e){if(null===this.active_scroll||\"auto\"===this.active_scroll)continue;t(this.active_scroll)}}return null},e}(_.ToolbarBase);n.Toolbar=p,p.prototype.type=\"Toolbar\",p.prototype.default_view=_.ToolbarBaseView,p.define({active_drag:[o.Any,\"auto\"],active_inspect:[o.Any,\"auto\"],active_scroll:[o.Any,\"auto\"],active_tap:[o.Any,\"auto\"]})},function(t,e,n){var i=t(364),r=t(14),o=t(5),s=t(4),a=t(15),l=t(6),u=t(50);n.ToolbarBaseView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._tool_button_views={},this._build_tool_button_views()},e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.tools.change,function(){return e._build_tool_button_views()})},e.prototype.remove=function(){return s.remove_views(this._tool_button_views),t.prototype.remove.call(this)},e.prototype._build_tool_button_views=function(){var t,e;return e=null!=(t=this.model._proxied_tools)?t:this.model.tools,s.build_views(this._tool_button_views,e,{parent:this},function(t){return t.button_view})},e.prototype.render=function(){var t,e,n,i,r,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x,w;o.empty(this.el),this.el.classList.add(\"bk-toolbar\"),this.el.classList.add(\"bk-toolbar-\"+this.model.toolbar_location),null!=this.model.logo&&(i=\"grey\"===this.model.logo?\"bk-grey\":null,m=o.a({href:\"https://bokeh.pydata.org/\",target:\"_blank\",class:[\"bk-logo\",\"bk-logo-small\",i]}),this.el.appendChild(m)),e=[],s=this.model.gestures;for(r in s){for(n=[],g=s[r].tools,a=0,c=g.length;a<c;a++)w=g[a],n.push(this._tool_button_views[w.id].el);e.push(n)}for(n=[],y=this.model.actions,l=0,_=y.length;l<_;l++)w=y[l],n.push(this._tool_button_views[w.id].el);for(e.push(n),n=[],b=this.model.inspectors,u=0,p=b.length;u<p;u++)(w=b[u]).toggleable&&n.push(this._tool_button_views[w.id].el);for(e.push(n),n=[],x=this.model.help,h=0,d=x.length;h<d;h++)w=x[h],n.push(this._tool_button_views[w.id].el);for(e.push(n),v=0,f=e.length;v<f;v++)0!==(n=e[v]).length&&(t=o.div({class:\"bk-button-bar\"},n),this.el.appendChild(t));return this},e}(l.DOMView);var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._active_change=function(t){var e,n,i,o,s;for(\"string\"==typeof(i=t.event_type)&&(i=[i]),o=0,s=i.length;o<s;o++)n=i[o],t.active?(null!=(e=this.gestures[n].active)&&t!==e&&(r.logger.debug(\"Toolbar: deactivating tool: \"+e.type+\" (\"+e.id+\") for event type '\"+n+\"'\"),e.active=!1),this.gestures[n].active=t,r.logger.debug(\"Toolbar: activating tool: \"+t.type+\" (\"+t.id+\") for event type '\"+n+\"'\")):this.gestures[n].active=null;return null},e}(u.Model);n.ToolbarBase=h,h.prototype.type=\"ToolbarBase\",h.prototype.default_view=n.ToolbarBaseView,h.getters({horizontal:function(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location},vertical:function(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}}),h.define({tools:[a.Array,[]],logo:[a.String,\"normal\"]}),h.internal({gestures:[a.Any,function(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},rotate:{tools:[],active:null},multi:{tools:[],active:null}}}],actions:[a.Array,[]],inspectors:[a.Array,[]],help:[a.Array,[]],toolbar_location:[a.Location,\"right\"]})},function(t,e,n){var i=t(364),r=[].indexOf,o=t(15),s=t(5),a=t(22),l=t(207),u=t(208),h=t(218),c=t(229),_=t(234),p=t(232),d=t(139),f=t(4),m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this._init_tools(),this._merge_tools()},e.prototype._init_tools=function(){var t,e,n,i,r,o;for(i=this.tools,r=[],e=0,n=i.length;e<n;e++)(o=i[e])instanceof c.InspectTool?a.any(this.inspectors,function(t){return t.id===o.id})?r.push(void 0):r.push(this.inspectors=this.inspectors.concat([o])):o instanceof u.HelpTool?a.any(this.help,function(t){return t.id===o.id})?r.push(void 0):r.push(this.help=this.help.concat([o])):o instanceof l.ActionTool?a.any(this.actions,function(t){return t.id===o.id})?r.push(void 0):r.push(this.actions=this.actions.concat([o])):o instanceof h.GestureTool?(t=o.event_type,a.any(this.gestures[t].tools,function(t){return t.id===o.id})?r.push(void 0):r.push(this.gestures[t].tools=this.gestures[t].tools.concat([o]))):r.push(void 0);return r},e.prototype._merge_tools=function(){var t,e,n,i,o,s,l,u,h,c,_,d,f,m,v,g,y,b,x,w,k,S,T,M,A,E,z,C,O,N,j=this;for(this._proxied_tools=[],u={},t={},i={},y=[],b=[],w=this.help,s=0,d=w.length;s<d;s++)o=w[s],k=o.redirect,r.call(b,k)<0&&(y.push(o),b.push(o.redirect));(P=this._proxied_tools).push.apply(P,y),this.help=y,S=this.gestures;for(n in S){l=S[n],n in i||(i[n]={}),T=l.tools;for(h=0,f=T.length;h<f;h++)(C=T[h]).type in i[n]||(i[n][C.type]=[]),i[n][C.type].push(C)}for(M=this.inspectors,c=0,m=M.length;c<m;c++)(C=M[c]).type in u||(u[C.type]=[]),u[C.type].push(C);for(A=this.actions,_=0,v=A.length;_<v;_++)(C=A[_]).type in t||(t[C.type]=[]),t[C.type].push(C);g=function(t,e){void 0===e&&(e=!1);var n;return n=new p.ToolProxy({tools:t,active:e}),j._proxied_tools.push(n),n};for(n in i){this.gestures[n].tools=[],E=i[n];for(O in E)(N=E[O]).length>0&&(x=g(N),this.gestures[n].tools.push(x),this.connect(x.properties.active.change,this._active_change.bind(this,x)))}this.actions=[];for(O in t)(N=t[O]).length>0&&this.actions.push(g(N));this.inspectors=[];for(O in u)(N=u[O]).length>0&&this.inspectors.push(g(N,!0));z=[];for(e in this.gestures)0!==(N=this.gestures[e].tools).length&&(this.gestures[e].tools=a.sortBy(N,function(t){return t.default_order}),\"pinch\"!==e&&\"scroll\"!==e?z.push(this.gestures[e].tools[0].active=!0):z.push(void 0));return z;var P},e}(_.ToolbarBase);n.ProxyToolbar=m,m.prototype.type=\"ProxyToolbar\";var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.model.toolbar.toolbar_location=this.model.toolbar_location,this._toolbar_views={},f.build_views(this._toolbar_views,[this.model.toolbar],{parent:this})},e.prototype.remove=function(){return f.remove_views(this._toolbar_views),t.prototype.remove.call(this)},e.prototype.render=function(){var e;return t.prototype.render.call(this),(e=this._toolbar_views[this.model.toolbar.id]).render(),s.empty(this.el),this.el.appendChild(e.el)},e.prototype.get_width=function(){return this.model.toolbar.vertical?30:null},e.prototype.get_height=function(){return this.model.toolbar.horizontal?30:null},e}(d.LayoutDOMView);n.ToolbarBoxView=v,v.prototype.className=\"bk-toolbar-box\";var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(d.LayoutDOM);n.ToolbarBox=g,g.prototype.type=\"ToolbarBox\",g.prototype.default_view=v,g.define({toolbar:[o.Instance],toolbar_location:[o.Location,\"right\"]}),g.getters({sizing_mode:function(){switch(this.toolbar_location){case\"above\":case\"below\":return\"scale_width\";case\"left\":case\"right\":return\"scale_height\"}}})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=t(30),a=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(r,e),r.prototype.compute=function(e){return this.scalar_transform.apply(this,this.values.concat([e,t,n]))},r.prototype.v_compute=function(e){return this.vector_transform.apply(this,this.values.concat([e,t,n]))},r.prototype._make_transform=function(t,e){return new(Function.bind.apply(Function,[void 0].concat(Object.keys(this.args),[t,\"require\",\"exports\",e])))},r.prototype._make_values=function(){return s.values(this.args)},r}(r.Transform);n.CustomJSTransform=a,a.prototype.type=\"CustomJSTransform\",a.define({args:[o.Any,{}],func:[o.String,\"\"],v_func:[o.String,\"\"]}),a.getters({values:function(){return this._make_values()},scalar_transform:function(){return this._make_transform(\"x\",this.func)},vector_transform:function(){return this._make_transform(\"xs\",this.v_func)}})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t,e){void 0===e&&(e=!0);var n;return null!=(null!=(n=this.range)?n.synthetic:void 0)&&e&&(t=this.range.synthetic(t)),t+this.value},e}(r.Transform);n.Dodge=s,s.define({value:[o.Number,0],range:[o.Instance]})},function(t,e,n){var i=t(236);n.CustomJSTransform=i.CustomJSTransform;var r=t(237);n.Dodge=r.Dodge;var o=t(239);n.Interpolator=o.Interpolator;var s=t(240);n.Jitter=s.Jitter;var a=t(241);n.LinearInterpolator=a.LinearInterpolator;var l=t(242);n.StepInterpolator=l.StepInterpolator;var u=t(243);n.Transform=u.Transform},function(t,e,n){var i=t(364),r=[].indexOf,o=t(243),s=t(15),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e,n){return t.prototype.initialize.call(this,e,n),this._x_sorted=[],this._y_sorted=[],this._sorted_dirty=!0,this.connect(this.change,function(){return this._sorted_dirty=!0})},e.prototype.sort=function(t){void 0===t&&(t=!1);var e,n,i,o,s,a,l,u,h,c,_;if(typeof this.x!=typeof this.y)throw new Error(\"The parameters for x and y must be of the same type, either both strings which define a column in the data source or both arrays of the same length\");if(\"string\"==typeof this.x&&null===this.data)throw new Error(\"If the x and y parameters are not specified as an array, the data parameter is reqired.\");if(!1!==this._sorted_dirty){if(c=[],_=[],\"string\"==typeof this.x){if(n=this.data,e=n.columns(),l=this.x,r.call(e,l)<0)throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");if(u=this.y,r.call(e,u)<0)throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");c=n.get_column(this.x),_=n.get_column(this.y)}else c=this.x,_=this.y;if(c.length!==_.length)throw new Error(\"The length for x and y do not match\");if(c.length<2)throw new Error(\"x and y must have at least two elements to support interpolation\");a=[];for(o in c)a.push({x:c[o],y:_[o]});for(!0===t?a.sort(function(t,e){var n,i;return null!=(n=t.x<e.x)?n:-{1:null!=(i=t.x===e.x)?i:{0:1}}}):a.sort(function(t,e){var n,i;return null!=(n=t.x>e.x)?n:-{1:null!=(i=t.x===e.x)?i:{0:1}}}),s=i=0,h=a.length;0<=h?i<h:i>h;s=0<=h?++i:--i)this._x_sorted[s]=a[s].x,this._y_sorted[s]=a[s].y;return this._sorted_dirty=!1}},e}(o.Transform);n.Interpolator=a,a.define({x:[s.Any],y:[s.Any],data:[s.Any],clip:[s.Bool,!0]})},function(t,e,n){var i=t(364),r=t(243),o=t(15),s=t(29),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t,e){void 0===e&&(e=!0);var n;return null!=(null!=(n=this.range)?n.synthetic:void 0)&&e&&(t=this.range.synthetic(t)),\"uniform\"===this.distribution?t+this.mean+(s.random()-.5)*this.width:\"normal\"===this.distribution?t+s.rnorm(this.mean,this.width):void 0},e}(r.Transform);n.Jitter=a,a.define({mean:[o.Number,0],width:[o.Number,1],distribution:[o.Distribution,\"uniform\"],range:[o.Instance]})},function(t,e,n){var i=t(364),r=t(22),o=t(239);n.LinearInterpolator=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,o,s;if(this.sort(!1),!0===this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return null}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return t===this._x_sorted[0]?this._y_sorted[0]:(e=r.findLastIndex(this._x_sorted,function(e){return e<t}),n=this._x_sorted[e],i=this._x_sorted[e+1],o=this._y_sorted[e],s=this._y_sorted[e+1],o+(t-n)/(i-n)*(s-o))},e.prototype.v_compute=function(t){var e,n,i,r,o;for(r=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)o=t[n],r[n]=this.compute(o);return r},e}(o.Interpolator)},function(t,e,n){var i=t(364),r=t(239),o=t(15),s=t(22),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.compute=function(t){var e,n,i,r;if(this.sort(!1),!0===this.clip){if(t<this._x_sorted[0]||t>this._x_sorted[this._x_sorted.length-1])return null}else{if(t<this._x_sorted[0])return this._y_sorted[0];if(t>this._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return n=-1,\"after\"===this.mode&&(n=s.findLastIndex(this._x_sorted,function(e){return t>=e})),\"before\"===this.mode&&(n=s.findIndex(this._x_sorted,function(e){return t<=e})),\"center\"===this.mode&&(e=function(){var e,n,i,o;for(i=this._x_sorted,o=[],e=0,n=i.length;e<n;e++)r=i[e],o.push(Math.abs(r-t));return o}.call(this),i=s.min(e),n=s.findIndex(e,function(t){return i===t})),-1!==n?this._y_sorted[n]:null},e.prototype.v_compute=function(t){var e,n,i,r,o;for(r=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)o=t[n],r[n]=this.compute(o);return r},e}(r.Interpolator);n.StepInterpolator=a,a.define({mode:[o.StepMode,\"after\"]})},function(t,e,n){var i=t(364),r=t(50);n.Transform=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.v_compute=function(t){var e,n,i,r,o,s;for(null!=(null!=(r=this.range)?r.v_synthetic:void 0)&&(t=this.range.v_synthetic(t)),o=new Float64Array(t.length),n=e=0,i=t.length;e<i;n=++e)s=t[n],o[n]=this.compute(s,!1);return o},e}(r.Model)},function(t,e,n){\"function\"!=typeof WeakMap&&t(313),\"function\"!=typeof Set&&t(303);var i=String.prototype;i.repeat||(i.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 n=\"\";1==(1&t)&&(n+=e),0!=(t>>>=1);)e+=e;return n})},function(t,e,n){var i=t(37),r=function(){function t(t,e,n){this.header=t,this.metadata=e,this.content=n,this.buffers=[]}return t.assemble=function(e,n,i){var r=JSON.parse(e),o=JSON.parse(n),s=JSON.parse(i);return new t(r,o,s)},t.prototype.assemble_buffer=function(t,e){var n=null!=this.header.num_buffers?this.header.num_buffers:0;if(n<=this.buffers.length)throw new Error(\"too many buffers received, expecting #{nb}\");this.buffers.push([t,e])},t.create=function(e,n,i){void 0===i&&(i={});var r=t.create_header(e);return new t(r,n,i)},t.create_header=function(t){return{msgid:i.uniqueId(),msgtype:t}},t.prototype.complete=function(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(!(\"num_buffers\"in this.header)||this.buffers.length===this.header.num_buffers)},t.prototype.send=function(t){var e=null!=this.header.num_buffers?this.header.num_buffers:0;if(e>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");var n=JSON.stringify(this.header),i=JSON.stringify(this.metadata),r=JSON.stringify(this.content);t.send(n),t.send(i),t.send(r)},t.prototype.msgid=function(){return this.header.msgid},t.prototype.msgtype=function(){return this.header.msgtype},t.prototype.reqid=function(){return this.header.reqid},t.prototype.problem=function(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"},t}();n.Message=r},function(t,e,n){var i=t(245),r=function(){function t(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}return t.prototype.consume=function(t){this._current_consumer(t)},t.prototype._HEADER=function(t){this._assume_text(t),this.message=null,this._partial=null,this._fragments=[t],this._buf_header=null,this._current_consumer=this._METADATA},t.prototype._METADATA=function(t){this._assume_text(t),this._fragments.push(t),this._current_consumer=this._CONTENT},t.prototype._CONTENT=function(t){this._assume_text(t),this._fragments.push(t);var e=this._fragments.slice(0,3),n=e[0],r=e[1],o=e[2];this._partial=i.Message.assemble(n,r,o),this._check_complete()},t.prototype._BUFFER_HEADER=function(t){this._assume_text(t),this._buf_header=t,this._current_consumer=this._BUFFER_PAYLOAD},t.prototype._BUFFER_PAYLOAD=function(t){this._assume_binary(t),this._partial.assemble_buffer(this._buf_header,t),this._check_complete()},t.prototype._assume_text=function(t){if(t instanceof ArrayBuffer)throw new Error(\"Expected text fragment but received binary fragment\")},t.prototype._assume_binary=function(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")},t.prototype._check_complete=function(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER},t}();n.Receiver=r},function(t,e,n){n.safely=function(t,e){void 0===e&&(e=!1);try{return t()}catch(t){if(function(t){var e=document.createElement(\"div\");e.style.backgroundColor=\"#f2dede\",e.style.border=\"1px solid #a94442\",e.style.borderRadius=\"4px\",e.style.display=\"inline-block\",e.style.fontFamily=\"sans-serif\",e.style.marginTop=\"5px\",e.style.minWidth=\"200px\",e.style.padding=\"5px 5px 5px 10px\";var n=document.createElement(\"span\");n.style.backgroundColor=\"#a94442\",n.style.borderRadius=\"0px 4px 0px 0px\",n.style.color=\"white\",n.style.cursor=\"pointer\",n.style.cssFloat=\"right\",n.style.fontSize=\"0.8em\",n.style.margin=\"-6px -6px 0px 0px\",n.style.padding=\"2px 5px 4px 5px\",n.title=\"close\",n.setAttribute(\"aria-label\",\"close\"),n.appendChild(document.createTextNode(\"x\")),n.addEventListener(\"click\",function(){return o.removeChild(e)});var i=document.createElement(\"h3\");i.style.color=\"#a94442\",i.style.margin=\"8px 0px 0px 0px\",i.style.padding=\"0px\",i.appendChild(document.createTextNode(\"Bokeh Error\"));var r=document.createElement(\"pre\");r.style.whiteSpace=\"unset\",r.style.overflowX=\"auto\",r.appendChild(document.createTextNode(t.message||t)),e.appendChild(n),e.appendChild(i),e.appendChild(r);var o=document.getElementsByTagName(\"body\")[0];o.insertBefore(e,o.firstChild)}(t),e)return;throw t}}},function(t,e,n){n.version=\"0.12.13\"},/*!!\n       *  Canvas 2 Svg v1.0.21\n       *  A low level canvas to SVG converter. Uses a mock canvas context to build an SVG document.\n       *\n       *  Licensed under the MIT license:\n       *  http://www.opensource.org/licenses/mit-license.php\n       *\n       *  Author:\n       *  Kerry Liu\n       *\n       *  Copyright (c) 2014 Gliffy Inc.\n       */\n      function(t,e,n){!function(){\"use strict\";function t(t,e){var n,i=Object.keys(e);for(n=0;n<i.length;n++)t=t.replace(new RegExp(\"\\\\{\"+i[n]+\"\\\\}\",\"gi\"),e[i[n]]);return t}function n(t){var e,n,i;if(!t)throw new Error(\"cannot create a random attribute name for an undefined object\");e=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",n=\"\";do{for(n=\"\",i=0;i<12;i++)n+=e[Math.floor(Math.random()*e.length)]}while(t[n]);return n}var i,r,o,s,a;a=function(t,e){var n,i,r,o={};for(t=t.split(\",\"),e=e||10,n=0;n<t.length;n+=2)i=\"&\"+t[n+1]+\";\",r=parseInt(t[n],e),o[i]=\"&#\"+r+\";\";return o[\"\\\\xa0\"]=\"&#160;\",o}(\"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro\",32),i={strokeStyle:{svgAttr:\"stroke\",canvas:\"#000000\",svg:\"none\",apply:\"stroke\"},fillStyle:{svgAttr:\"fill\",canvas:\"#000000\",svg:null,apply:\"fill\"},lineCap:{svgAttr:\"stroke-linecap\",canvas:\"butt\",svg:\"butt\",apply:\"stroke\"},lineJoin:{svgAttr:\"stroke-linejoin\",canvas:\"miter\",svg:\"miter\",apply:\"stroke\"},miterLimit:{svgAttr:\"stroke-miterlimit\",canvas:10,svg:4,apply:\"stroke\"},lineWidth:{svgAttr:\"stroke-width\",canvas:1,svg:1,apply:\"stroke\"},globalAlpha:{svgAttr:\"opacity\",canvas:1,svg:1,apply:\"fill stroke\"},font:{canvas:\"10px sans-serif\"},shadowColor:{canvas:\"#000000\"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:\"start\"},textBaseline:{canvas:\"alphabetic\"},lineDash:{svgAttr:\"stroke-dasharray\",canvas:[],svg:null,apply:\"stroke\"}},(o=function(t,e){this.__root=t,this.__ctx=e}).prototype.addColorStop=function(e,n){var i,r=this.__ctx.__createElement(\"stop\");r.setAttribute(\"offset\",e),-1!==n.indexOf(\"rgba\")?(i=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(n),r.setAttribute(\"stop-color\",t(\"rgb({r},{g},{b})\",{r:i[1],g:i[2],b:i[3]})),r.setAttribute(\"stop-opacity\",i[4])):r.setAttribute(\"stop-color\",n),this.__root.appendChild(r)},s=function(t,e){this.__root=t,this.__ctx=e},(r=function(t){var e,n={width:500,height:500,enableMirroring:!1};if(arguments.length>1?((e=n).width=arguments[0],e.height=arguments[1]):e=t||n,!(this instanceof r))return new r(e);this.width=e.width||n.width,this.height=e.height||n.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement(\"canvas\"),this.__ctx=this.__canvas.getContext(\"2d\")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.__root.setAttribute(\"version\",1.1),this.__root.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.__root.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),this.__root.setAttribute(\"width\",this.width),this.__root.setAttribute(\"height\",this.height),this.__ids={},this.__defs=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),this.__root.appendChild(this.__currentElement)}).prototype.__createElement=function(t,e,n){void 0===e&&(e={});var i,r,o=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",t),s=Object.keys(e);for(n&&(o.setAttribute(\"fill\",\"none\"),o.setAttribute(\"stroke\",\"none\")),i=0;i<s.length;i++)r=s[i],o.setAttribute(r,e[r]);return o},r.prototype.__setDefaultStyles=function(){var t,e,n=Object.keys(i);for(t=0;t<n.length;t++)this[e=n[t]]=i[e].canvas},r.prototype.__applyStyleState=function(t){var e,n,i=Object.keys(t);for(e=0;e<i.length;e++)this[n=i[e]]=t[n]},r.prototype.__getStyleState=function(){var t,e,n={},r=Object.keys(i);for(t=0;t<r.length;t++)e=r[t],n[e]=this[e];return n},r.prototype.__applyStyleToCurrentElement=function(e){var n=this.__currentElement,r=this.__currentElementsToStyle;r&&(n.setAttribute(e,\"\"),n=r.element,r.children.forEach(function(t){t.setAttribute(e,\"\")}));var a,l,u,h,c,_=Object.keys(i);for(a=0;a<_.length;a++)if(l=i[_[a]],u=this[_[a]],l.apply)if(u instanceof s){if(u.__ctx)for(;u.__ctx.__defs.childNodes.length;)h=u.__ctx.__defs.childNodes[0].getAttribute(\"id\"),this.__ids[h]=h,this.__defs.appendChild(u.__ctx.__defs.childNodes[0]);n.setAttribute(l.apply,t(\"url(#{id})\",{id:u.__root.getAttribute(\"id\")}))}else if(u instanceof o)n.setAttribute(l.apply,t(\"url(#{id})\",{id:u.__root.getAttribute(\"id\")}));else if(-1!==l.apply.indexOf(e)&&l.svg!==u)if(\"stroke\"!==l.svgAttr&&\"fill\"!==l.svgAttr||-1===u.indexOf(\"rgba\")){var p=l.svgAttr;if(\"globalAlpha\"===_[a]&&(p=e+\"-\"+l.svgAttr,n.getAttribute(p)))continue;n.setAttribute(p,u)}else{c=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi.exec(u),n.setAttribute(l.svgAttr,t(\"rgb({r},{g},{b})\",{r:c[1],g:c[2],b:c[3]}));var d=c[4],f=this.globalAlpha;null!=f&&(d*=f),n.setAttribute(l.svgAttr+\"-opacity\",d)}},r.prototype.__closestGroupOrSvg=function(t){return\"g\"===(t=t||this.__currentElement).nodeName||\"svg\"===t.nodeName?t:this.__closestGroupOrSvg(t.parentNode)},r.prototype.getSerializedSvg=function(t){var e,n,i,r,o,s=(new XMLSerializer).serializeToString(this.__root);if(/xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg\".+xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg/gi.test(s)&&(s=s.replace('xmlns=\"http://www.w3.org/2000/svg','xmlns:xlink=\"http://www.w3.org/1999/xlink')),t)for(e=Object.keys(a),n=0;n<e.length;n++)i=e[n],r=a[i],(o=new RegExp(i,\"gi\")).test(s)&&(s=s.replace(o,r));return s},r.prototype.getSvg=function(){return this.__root},r.prototype.save=function(){var t=this.__createElement(\"g\"),e=this.__closestGroupOrSvg();this.__groupStack.push(e),e.appendChild(t),this.__currentElement=t,this.__stack.push(this.__getStyleState())},r.prototype.restore=function(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var t=this.__stack.pop();this.__applyStyleState(t)},r.prototype.__addTransform=function(t){var e=this.__closestGroupOrSvg();if(e.childNodes.length>0){\"path\"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var n=this.__createElement(\"g\");e.appendChild(n),this.__currentElement=n}var i=this.__currentElement.getAttribute(\"transform\");i?i+=\" \":i=\"\",i+=t,this.__currentElement.setAttribute(\"transform\",i)},r.prototype.scale=function(e,n){void 0===n&&(n=e),this.__addTransform(t(\"scale({x},{y})\",{x:e,y:n}))},r.prototype.rotate=function(e){var n=180*e/Math.PI;this.__addTransform(t(\"rotate({angle},{cx},{cy})\",{angle:n,cx:0,cy:0}))},r.prototype.translate=function(e,n){this.__addTransform(t(\"translate({x},{y})\",{x:e,y:n}))},r.prototype.transform=function(e,n,i,r,o,s){this.__addTransform(t(\"matrix({a},{b},{c},{d},{e},{f})\",{a:e,b:n,c:i,d:r,e:o,f:s}))},r.prototype.beginPath=function(){var t;this.__currentDefaultPath=\"\",this.__currentPosition={},t=this.__createElement(\"path\",{},!0),this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t},r.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;\"path\"===t.nodeName?t.setAttribute(\"d\",this.__currentDefaultPath):console.error(\"Attempted to apply path command to node\",t.nodeName)},r.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=\" \",this.__currentDefaultPath+=t},r.prototype.moveTo=function(e,n){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:e,y:n},this.__addPathCommand(t(\"M {x} {y}\",{x:e,y:n}))},r.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand(\"Z\")},r.prototype.lineTo=function(e,n){this.__currentPosition={x:e,y:n},this.__currentDefaultPath.indexOf(\"M\")>-1?this.__addPathCommand(t(\"L {x} {y}\",{x:e,y:n})):this.__addPathCommand(t(\"M {x} {y}\",{x:e,y:n}))},r.prototype.bezierCurveTo=function(e,n,i,r,o,s){this.__currentPosition={x:o,y:s},this.__addPathCommand(t(\"C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}\",{cp1x:e,cp1y:n,cp2x:i,cp2y:r,x:o,y:s}))},r.prototype.quadraticCurveTo=function(e,n,i,r){this.__currentPosition={x:i,y:r},this.__addPathCommand(t(\"Q {cpx} {cpy} {x} {y}\",{cpx:e,cpy:n,x:i,y:r}))};var l=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};r.prototype.arcTo=function(t,e,n,i,r){var o=this.__currentPosition&&this.__currentPosition.x,s=this.__currentPosition&&this.__currentPosition.y;if(void 0!==o&&void 0!==s){if(r<0)throw new Error(\"IndexSizeError: The radius provided (\"+r+\") is negative.\");if(o===t&&s===e||t===n&&e===i||0===r)this.lineTo(t,e);else{var a=l([o-t,s-e]),u=l([n-t,i-e]);if(a[0]*u[1]!=a[1]*u[0]){var h=a[0]*u[0]+a[1]*u[1],c=Math.acos(Math.abs(h)),_=l([a[0]+u[0],a[1]+u[1]]),p=r/Math.sin(c/2),d=t+p*_[0],f=e+p*_[1],m=[-a[1],a[0]],v=[u[1],-u[0]],g=function(t){var e=t[0],n=t[1];return n>=0?Math.acos(e):-Math.acos(e)},y=g(m),b=g(v);this.lineTo(d+m[0]*r,f+m[1]*r),this.arc(d,f,r,y,b)}else this.lineTo(t,e)}}},r.prototype.stroke=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill stroke markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.fill=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke fill markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\")},r.prototype.rect=function(t,e,n,i){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+n,e),this.lineTo(t+n,e+i),this.lineTo(t,e+i),this.lineTo(t,e),this.closePath()},r.prototype.fillRect=function(t,e,n,i){var r;r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i},!0),this.__closestGroupOrSvg().appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement(\"fill\")},r.prototype.strokeRect=function(t,e,n,i){var r;r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i},!0),this.__closestGroupOrSvg().appendChild(r),this.__currentElement=r,this.__applyStyleToCurrentElement(\"stroke\")},r.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg(),e=t.getAttribute(\"transform\"),n=this.__root.childNodes[1],i=n.childNodes,r=i.length-1;r>=0;r--)i[r]&&n.removeChild(i[r]);this.__currentElement=n,this.__groupStack=[],e&&this.__addTransform(e)},r.prototype.clearRect=function(t,e,n,i){if(0!==t||0!==e||n!==this.width||i!==this.height){var r,o=this.__closestGroupOrSvg();r=this.__createElement(\"rect\",{x:t,y:e,width:n,height:i,fill:\"#FFFFFF\"},!0),o.appendChild(r)}else this.__clearCanvas()},r.prototype.createLinearGradient=function(t,e,i,r){var s=this.__createElement(\"linearGradient\",{id:n(this.__ids),x1:t+\"px\",x2:i+\"px\",y1:e+\"px\",y2:r+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(s),new o(s,this)},r.prototype.createRadialGradient=function(t,e,i,r,s,a){var l=this.__createElement(\"radialGradient\",{id:n(this.__ids),cx:r+\"px\",cy:s+\"px\",r:a+\"px\",fx:t+\"px\",fy:e+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(l),new o(l,this)},r.prototype.__parseFont=function(){var t=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font),e={style:t[1]||\"normal\",size:t[4]||\"10px\",family:t[6]||\"sans-serif\",weight:t[3]||\"normal\",decoration:t[2]||\"normal\",href:null};return\"underline\"===this.__fontUnderline&&(e.decoration=\"underline\"),this.__fontHref&&(e.href=this.__fontHref),e},r.prototype.__wrapTextLink=function(t,e){if(t.href){var n=this.__createElement(\"a\");return n.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",t.href),n.appendChild(e),n}return e},r.prototype.__applyText=function(t,e,n,i){var r=this.__parseFont(),o=this.__closestGroupOrSvg(),s=this.__createElement(\"text\",{\"font-family\":r.family,\"font-size\":r.size,\"font-style\":r.style,\"font-weight\":r.weight,\"text-decoration\":r.decoration,x:e,y:n,\"text-anchor\":function(t){var e={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return e[t]||e.start}(this.textAlign),\"dominant-baseline\":function(t){var e={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return e[t]||e.alphabetic}(this.textBaseline)},!0);s.appendChild(this.__document.createTextNode(t)),this.__currentElement=s,this.__applyStyleToCurrentElement(i),o.appendChild(this.__wrapTextLink(r,s))},r.prototype.fillText=function(t,e,n){this.__applyText(t,e,n,\"fill\")},r.prototype.strokeText=function(t,e,n){this.__applyText(t,e,n,\"stroke\")},r.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},r.prototype.arc=function(e,n,i,r,o,s){if(r!==o){r%=2*Math.PI,o%=2*Math.PI,r===o&&(o=(o+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));var a=e+i*Math.cos(o),l=n+i*Math.sin(o),u=e+i*Math.cos(r),h=n+i*Math.sin(r),c=s?0:1,_=0,p=o-r;p<0&&(p+=2*Math.PI),_=s?p>Math.PI?0:1:p>Math.PI?1:0,this.lineTo(u,h),this.__addPathCommand(t(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\",{rx:i,ry:i,xAxisRotation:0,largeArcFlag:_,sweepFlag:c,endX:a,endY:l})),this.__currentPosition={x:a,y:l}}},r.prototype.clip=function(){var e=this.__closestGroupOrSvg(),i=this.__createElement(\"clipPath\"),r=n(this.__ids),o=this.__createElement(\"g\");this.__applyCurrentDefaultPath(),e.removeChild(this.__currentElement),i.setAttribute(\"id\",r),i.appendChild(this.__currentElement),this.__defs.appendChild(i),e.setAttribute(\"clip-path\",t(\"url(#{id})\",{id:r})),e.appendChild(o),this.__currentElement=o},r.prototype.drawImage=function(){var t,e,n,i,o,s,a,l,u,h,c,_,p,d,f=Array.prototype.slice.call(arguments),m=f[0],v=0,g=0;if(3===f.length)t=f[1],e=f[2],o=m.width,s=m.height,n=o,i=s;else if(5===f.length)t=f[1],e=f[2],n=f[3],i=f[4],o=m.width,s=m.height;else{if(9!==f.length)throw new Error(\"Inavlid number of arguments passed to drawImage: \"+arguments.length);v=f[1],g=f[2],o=f[3],s=f[4],t=f[5],e=f[6],n=f[7],i=f[8]}a=this.__closestGroupOrSvg(),this.__currentElement;var y=\"translate(\"+t+\", \"+e+\")\";if(m instanceof r){if((l=m.getSvg().cloneNode(!0)).childNodes&&l.childNodes.length>1){for(u=l.childNodes[0];u.childNodes.length;)d=u.childNodes[0].getAttribute(\"id\"),this.__ids[d]=d,this.__defs.appendChild(u.childNodes[0]);if(h=l.childNodes[1]){var b,x=h.getAttribute(\"transform\");b=x?x+\" \"+y:y,h.setAttribute(\"transform\",b),a.appendChild(h)}}}else\"IMG\"===m.nodeName?((c=this.__createElement(\"image\")).setAttribute(\"width\",n),c.setAttribute(\"height\",i),c.setAttribute(\"preserveAspectRatio\",\"none\"),(v||g||o!==m.width||s!==m.height)&&((_=this.__document.createElement(\"canvas\")).width=n,_.height=i,(p=_.getContext(\"2d\")).drawImage(m,v,g,o,s,0,0,n,i),m=_),c.setAttribute(\"transform\",y),c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===m.nodeName?m.toDataURL():m.getAttribute(\"src\")),a.appendChild(c)):\"CANVAS\"===m.nodeName&&((c=this.__createElement(\"image\")).setAttribute(\"width\",n),c.setAttribute(\"height\",i),c.setAttribute(\"preserveAspectRatio\",\"none\"),(_=this.__document.createElement(\"canvas\")).width=n,_.height=i,(p=_.getContext(\"2d\")).imageSmoothingEnabled=!1,p.mozImageSmoothingEnabled=!1,p.oImageSmoothingEnabled=!1,p.webkitImageSmoothingEnabled=!1,p.drawImage(m,v,g,o,s,0,0,n,i),m=_,c.setAttribute(\"transform\",y),c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",m.toDataURL()),a.appendChild(c))},r.prototype.createPattern=function(t,e){var i,o=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),a=n(this.__ids);return o.setAttribute(\"id\",a),o.setAttribute(\"width\",t.width),o.setAttribute(\"height\",t.height),\"CANVAS\"===t.nodeName||\"IMG\"===t.nodeName?((i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\")).setAttribute(\"width\",t.width),i.setAttribute(\"height\",t.height),i.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===t.nodeName?t.toDataURL():t.getAttribute(\"src\")),o.appendChild(i),this.__defs.appendChild(o)):t instanceof r&&(o.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(o)),new s(o,this)},r.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null},r.prototype.drawFocusRing=function(){},r.prototype.createImageData=function(){},r.prototype.getImageData=function(){},r.prototype.putImageData=function(){},r.prototype.globalCompositeOperation=function(){},r.prototype.setTransform=function(){},\"object\"==typeof window&&(window.C2S=r),\"object\"==typeof e&&\"object\"==typeof e.exports&&(e.exports=r)}()},function(t,e,n){var i,r=t(273),o=t(283),s=t(287),a=t(282),l=t(287),u=t(289),h=Function.prototype.bind,c=Object.defineProperty,_=Object.prototype.hasOwnProperty;i=function(t,e,n){var i,o=u(e)&&l(e.value);return i=r(e),delete i.writable,delete i.value,i.get=function(){return!n.overwriteDefinition&&_.call(this,t)?o:(e.value=h.call(o,n.resolveContext?n.resolveContext(this):this),c(this,t,e),this[t])},i},e.exports=function(t){var e=o(arguments[1]);return null!=e.resolveContext&&s(e.resolveContext),a(t,function(t,n){return i(n,t,e)})}},function(t,e,n){var i=t(270),r=t(283),o=t(276),s=t(290);(e.exports=function(t,e){var n,o,a,l,u;return arguments.length<2||\"string\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(n=a=!0,o=!1):(n=s.call(t,\"c\"),o=s.call(t,\"e\"),a=s.call(t,\"w\")),u={value:e,configurable:n,enumerable:o,writable:a},l?i(r(l),u):u}).gs=function(t,e,n){var a,l,u,h;return\"string\"!=typeof t?(u=n,n=e,e=t,t=null):u=arguments[3],null==e?e=void 0:o(e)?null==n?n=void 0:o(n)||(u=n,n=void 0):(u=e,e=n=void 0),null==t?(a=!0,l=!1):(a=s.call(t,\"c\"),l=s.call(t,\"e\")),h={get:e,set:n,configurable:a,enumerable:l},u?i(r(u),h):h}},function(t,e,n){var i=t(289);e.exports=function(){return i(this).length=0,this}},function(t,e,n){var i=t(264),r=t(268),o=t(289),s=Array.prototype.indexOf,a=Object.prototype.hasOwnProperty,l=Math.abs,u=Math.floor;e.exports=function(t){var e,n,h,c;if(!i(t))return s.apply(this,arguments);for(n=r(o(this).length),h=arguments[1],h=isNaN(h)?0:h>=0?u(h):r(this.length)-u(l(h)),e=h;e<n;++e)if(a.call(this,e)&&(c=this[e],i(c)))return e;return-1}},function(t,e,n){e.exports=t(255)()?Array.from:t(256)},function(t,e,n){e.exports=function(){var t,e,n=Array.from;return\"function\"==typeof n&&(t=[\"raz\",\"dwa\"],e=n(t),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},function(t,e,n){var i=t(308).iterator,r=t(257),o=t(258),s=t(268),a=t(287),l=t(289),u=t(278),h=t(293),c=Array.isArray,_=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,n,f,m,v,g,y,b,x,w,k=arguments[1],S=arguments[2];if(t=Object(l(t)),u(k)&&a(k),this&&this!==Array&&o(this))e=this;else{if(!k){if(r(t))return 1!==(v=t.length)?Array.apply(null,t):(m=new Array(1),m[0]=t[0],m);if(c(t)){for(m=new Array(v=t.length),n=0;n<v;++n)m[n]=t[n];return m}}m=[]}if(!c(t))if(void 0!==(x=t[i])){for(y=a(x).call(t),e&&(m=new e),b=y.next(),n=0;!b.done;)w=k?_.call(k,S,b.value,n):b.value,e?(p.value=w,d(m,n,p)):m[n]=w,b=y.next(),++n;v=n}else if(h(t)){for(v=t.length,e&&(m=new e),n=0,f=0;n<v;++n)w=t[n],n+1<v&&(g=w.charCodeAt(0))>=55296&&g<=56319&&(w+=t[++n]),w=k?_.call(k,S,w,f):w,e?(p.value=w,d(m,f,p)):m[f]=w,++f;v=f}if(void 0===v)for(v=s(t.length),e&&(m=new e(v)),n=0;n<v;++n)w=k?_.call(k,S,t[n],n):t[n],e?(p.value=w,d(m,n,p)):m[n]=w;return e&&(p.value=null,m.length=v),m}},function(t,e,n){var i=Object.prototype.toString,r=i.call(function(){return arguments}());e.exports=function(t){return i.call(t)===r}},function(t,e,n){var i=Object.prototype.toString,r=i.call(t(259));e.exports=function(t){return\"function\"==typeof t&&i.call(t)===r}},function(t,e,n){e.exports=function(){}},function(t,e,n){e.exports=function(){return this}()},function(t,e,n){e.exports=t(262)()?Math.sign:t(263)},function(t,e,n){e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},function(t,e,n){e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},function(t,e,n){e.exports=t(265)()?Number.isNaN:t(266)},function(t,e,n){e.exports=function(){var t=Number.isNaN;return\"function\"==typeof t&&(!t({})&&t(NaN)&&!t(34))}},function(t,e,n){e.exports=function(t){return t!=t}},function(t,e,n){var i=t(261),r=Math.abs,o=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?i(t)*o(r(t)):t}},function(t,e,n){var i=t(267),r=Math.max;e.exports=function(t){return r(0,i(t))}},function(t,e,n){var i=t(287),r=t(289),o=Function.prototype.bind,s=Function.prototype.call,a=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(n,u){var h,c=arguments[2],_=arguments[3];return n=Object(r(n)),i(u),h=a(n),_&&h.sort(\"function\"==typeof _?o.call(_,n):void 0),\"function\"!=typeof t&&(t=h[t]),s.call(t,h,function(t,i){return l.call(n,t)?s.call(u,c,n[t],t,n,i):e})}}},function(t,e,n){e.exports=t(271)()?Object.assign:t(272)},function(t,e,n){e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},function(t,e,n){var i=t(279),r=t(289),o=Math.max;e.exports=function(t,e){var n,s,a,l=o(arguments.length,2);for(t=Object(r(t)),a=function(i){try{t[i]=e[i]}catch(t){n||(n=t)}},s=1;s<l;++s)e=arguments[s],i(e).forEach(a);if(void 0!==n)throw n;return t}},function(t,e,n){var i=t(254),r=t(270),o=t(289);e.exports=function(t){var e=Object(o(t)),n=arguments[1],s=Object(arguments[2]);if(e!==t&&!n)return e;var a={};return n?i(n,function(e){(s.ensure||e in t)&&(a[e]=t[e])}):r(a,t),a}},function(t,e,n){var i,r=Object.create;t(285)()||(i=t(286)),e.exports=function(){var t,e,n;return i?1!==i.level?r:(t={},e={},n={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){e[t]=\"__proto__\"!==t?n:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(t,e),Object.defineProperty(i,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:t}),function(e,n){return r(null===e?t:e,n)}):r}()},function(t,e,n){e.exports=t(269)(\"forEach\")},function(t,e,n){e.exports=function(t){return\"function\"==typeof t}},function(t,e,n){var i=t(278),r={function:!0,object:!0};e.exports=function(t){return i(t)&&r[typeof t]||!1}},function(t,e,n){var i=t(259)();e.exports=function(t){return t!==i&&null!==t}},function(t,e,n){e.exports=t(280)()?Object.keys:t(281)},function(t,e,n){e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},function(t,e,n){var i=t(278),r=Object.keys;e.exports=function(t){return r(i(t)?Object(t):t)}},function(t,e,n){var i=t(287),r=t(275),o=Function.prototype.call;e.exports=function(t,e){var n={},s=arguments[2];return i(e),r(t,function(t,i,r,a){n[i]=o.call(e,s,t,i,r,a)}),n}},function(t,e,n){var i=t(278),r=Array.prototype.forEach,o=Object.create;e.exports=function(t){var e=o(null);return r.call(arguments,function(t){i(t)&&function(t,e){var n;for(n in t)e[n]=t[n]}(Object(t),e)}),e}},function(t,e,n){e.exports=t(285)()?Object.setPrototypeOf:t(286)},function(t,e,n){var i=Object.create,r=Object.getPrototypeOf,o={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||i;return\"function\"==typeof t&&r(t(e(null),o))===o}},function(t,e,n){var i,r=t(277),o=t(289),s=Object.prototype.isPrototypeOf,a=Object.defineProperty,l={configurable:!0,enumerable:!1,writable:!0,value:void 0};i=function(t,e){if(o(t),null===e||r(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=function(t){var e,n;return t?(2===t.level?t.set?(n=t.set,e=function(t,e){return n.call(i(t,e),e),t}):e=function(t,e){return i(t,e).__proto__=e,t}:e=function t(e,n){var r;return i(e,n),(r=s.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===n&&(n=t.nullPolyfill),e.__proto__=n,r&&a(t.nullPolyfill,\"__proto__\",l),e},Object.defineProperty(e,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:t.level})):null}(function(){var t,e=Object.create(null),n={},i=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(i){try{(t=i.set).call(e,n)}catch(t){}if(Object.getPrototypeOf(e)===n)return{set:t,level:2}}return e.__proto__=n,Object.getPrototypeOf(e)===n?{level:2}:(e={},e.__proto__=n,Object.getPrototypeOf(e)===n&&{level:1})}()),t(274)},function(t,e,n){e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},function(t,e,n){var i=t(277);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not an Object\");return t}},function(t,e,n){var i=t(278);e.exports=function(t){if(!i(t))throw new TypeError(\"Cannot use null or undefined\");return t}},function(t,e,n){e.exports=t(291)()?String.prototype.contains:t(292)},function(t,e,n){e.exports=function(){return\"function\"==typeof\"razdwatrzy\".contains&&(!0===\"razdwatrzy\".contains(\"dwa\")&&!1===\"razdwatrzy\".contains(\"foo\"))}},function(t,e,n){var i=String.prototype.indexOf;e.exports=function(t){return i.call(this,t,arguments[1])>-1}},function(t,e,n){var i=Object.prototype.toString,r=i.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||i.call(t)===r)||!1}},function(t,e,n){var i=Object.create(null),r=Math.random;e.exports=function(){var t;do{t=r().toString(36).slice(2)}while(i[t]);return t}},function(t,e,n){var i,r=t(284),o=t(290),s=t(251),a=t(308),l=t(298),u=Object.defineProperty;i=e.exports=function(t,e){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?o.call(e,\"key+value\")?\"key+value\":o.call(e,\"key\")?\"key\":\"value\":\"value\",u(this,\"__kind__\",s(\"\",e))},r&&r(i,l),delete i.prototype.constructor,i.prototype=Object.create(l.prototype,{_resolve:s(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),u(i.prototype,a.toStringTag,s(\"c\",\"Array Iterator\"))},function(t,e,n){var i=t(257),r=t(287),o=t(293),s=t(297),a=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;e.exports=function(t,e){var n,h,c,_,p,d,f,m,v=arguments[2];if(a(t)||i(t)?n=\"array\":o(t)?n=\"string\":t=s(t),r(e),c=function(){_=!0},\"array\"!==n)if(\"string\"!==n)for(h=t.next();!h.done;){if(l.call(e,v,h.value,c),_)return;h=t.next()}else for(d=t.length,p=0;p<d&&(f=t[p],p+1<d&&(m=f.charCodeAt(0))>=55296&&m<=56319&&(f+=t[++p]),l.call(e,v,f,c),!_);++p);else u.call(t,function(t){return l.call(e,v,t,c),_})}},function(t,e,n){var i=t(257),r=t(293),o=t(295),s=t(300),a=t(301),l=t(308).iterator;e.exports=function(t){return\"function\"==typeof a(t)[l]?t[l]():i(t)?new o(t):r(t)?new s(t):new o(t)}},function(t,e,n){var i,r=t(252),o=t(270),s=t(287),a=t(289),l=t(251),u=t(250),h=t(308),c=Object.defineProperty,_=Object.defineProperties;e.exports=i=function(t,e){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");_(this,{__list__:l(\"w\",a(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(s(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete i.prototype.constructor,_(i.prototype,o({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:l(function(){return\"[object \"+(this[h.toStringTag]||\"Object\")+\"]\"})},u({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,n){e>=t&&(this.__redo__[n]=++e)},this),this.__redo__.push(t)):c(this,\"__redo__\",l(\"c\",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,n){e>t&&(this.__redo__[n]=--e)},this)))}),_onClear:l(function(){this.__redo__&&r.call(this.__redo__),this.__nextIndex__=0})}))),c(i.prototype,h.iterator,l(function(){return this}))},function(t,e,n){var i=t(257),r=t(278),o=t(293),s=t(308).iterator,a=Array.isArray;e.exports=function(t){return!!r(t)&&(!!a(t)||(!!o(t)||(!!i(t)||\"function\"==typeof t[s])))}},function(t,e,n){var i,r=t(284),o=t(251),s=t(308),a=t(298),l=Object.defineProperty;i=e.exports=function(t){if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");t=String(t),a.call(this,t),l(this,\"__length__\",o(\"\",t.length))},r&&r(i,a),delete i.prototype.constructor,i.prototype=Object.create(a.prototype,{_next:o(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:o(function(t){var e,n=this.__list__[t];return this.__nextIndex__===this.__length__?n:(e=n.charCodeAt(0))>=55296&&e<=56319?n+this.__list__[this.__nextIndex__++]:n})}),l(i.prototype,s.toStringTag,o(\"c\",\"String Iterator\"))},function(t,e,n){var i=t(299);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not iterable\");return t}},/*!\n       * @overview es6-promise - a tiny implementation of Promises/A+.\n       * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n       * @license   Licensed under MIT license\n       *            See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE\n       * @version   3.0.2\n       */\n      function(t,e,n){(function(){\"use strict\";function n(t){return\"function\"==typeof t}function i(){return function(){setTimeout(r,1)}}function r(){for(var t=0;t<w;t+=2){var e=z[t],n=z[t+1];e(n),z[t]=void 0,z[t+1]=void 0}w=0}function o(){try{var e=t,n=e(\"vertx\");return g=n.runOnLoop||n.runOnContext,function(){g(r)}}catch(t){return i()}}function s(){}function a(t,e){if(e.constructor===t.constructor)!function(t,e){e._state===O?h(t,e._result):e._state===N?c(t,e._result):_(e,void 0,function(e){l(t,e)},function(e){c(t,e)})}(t,e);else{var i=function(t){try{return t.then}catch(t){return j.error=t,j}}(e);i===j?c(t,j.error):void 0===i?h(t,e):n(i)?function(t,e,n){k(function(t){var i=!1,r=function(t,e,n,i){try{t.call(e,n,i)}catch(t){return t}}(n,e,function(n){i||(i=!0,e!==n?l(t,n):h(t,n))},function(e){i||(i=!0,c(t,e))},t._label);!i&&r&&(i=!0,c(t,r))},t)}(t,e,i):h(t,e)}}function l(t,e){t===e?c(t,new TypeError(\"You cannot resolve a promise with itself\")):!function(t){return\"function\"==typeof t||\"object\"==typeof t&&null!==t}(e)?h(t,e):a(t,e)}function u(t){t._onerror&&t._onerror(t._result),p(t)}function h(t,e){t._state===C&&(t._result=e,t._state=O,0!==t._subscribers.length&&k(p,t))}function c(t,e){t._state===C&&(t._state=N,t._result=e,k(u,t))}function _(t,e,n,i){var r=t._subscribers,o=r.length;t._onerror=null,r[o]=e,r[o+O]=n,r[o+N]=i,0===o&&t._state&&k(p,t)}function p(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var i,r,o=t._result,s=0;s<e.length;s+=3)i=e[s],r=e[s+n],i?f(n,i,r,o):r(o);t._subscribers.length=0}}function d(){this.error=null}function f(t,e,i,r){var o,s,a,u,_=n(i);if(_){if((o=function(t,e){try{return t(e)}catch(t){return P.error=t,P}}(i,r))===P?(u=!0,s=o.error,o=null):a=!0,e===o)return void c(e,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=r,a=!0;e._state!==C||(_&&a?l(e,o):u?c(e,s):t===O?h(e,o):t===N&&c(e,o))}function m(t,e){this._instanceConstructor=t,this.promise=new t(s),this._validateInput(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._init(),0===this.length?h(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&h(this.promise,this._result))):c(this.promise,this._validationError())}function v(t){this._id=L++,this._state=void 0,this._result=void 0,this._subscribers=[],s!==t&&(n(t)||function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof v||function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}(),function(t,e){try{e(function(e){l(t,e)},function(e){c(t,e)})}catch(e){c(t,e)}}(this,t))}var g,y,b,x=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},w=0,k=function(t,e){z[w]=t,z[w+1]=e,2===(w+=2)&&(y?y(r):b())},S=\"undefined\"!=typeof window?window:void 0,T=S||{},M=T.MutationObserver||T.WebKitMutationObserver,A=\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process),E=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,z=new Array(1e3);b=A?function(){process.nextTick(r)}:M?function(){var t=0,e=new M(r),n=document.createTextNode(\"\");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}():E?function(){var t=new MessageChannel;return t.port1.onmessage=r,function(){t.port2.postMessage(0)}}():void 0===S&&\"function\"==typeof t?o():i();var C=void 0,O=1,N=2,j=new d,P=new d;m.prototype._validateInput=function(t){return x(t)},m.prototype._validationError=function(){return new Error(\"Array Methods must be provided an Array\")},m.prototype._init=function(){this._result=new Array(this.length)};var D=m;m.prototype._enumerate=function(){for(var t=this.length,e=this.promise,n=this._input,i=0;e._state===C&&i<t;i++)this._eachEntry(n[i],i)},m.prototype._eachEntry=function(t,e){var n=this._instanceConstructor;!function(t){return\"object\"==typeof t&&null!==t}(t)?(this._remaining--,this._result[e]=t):t.constructor===n&&t._state!==C?(t._onerror=null,this._settledAt(t._state,e,t._result)):this._willSettleAt(n.resolve(t),e)},m.prototype._settledAt=function(t,e,n){var i=this.promise;i._state===C&&(this._remaining--,t===N?c(i,n):this._result[e]=n),0===this._remaining&&h(i,this._result)},m.prototype._willSettleAt=function(t,e){var n=this;_(t,void 0,function(t){n._settledAt(O,e,t)},function(t){n._settledAt(N,e,t)})};var F=function(t){return new D(this,t).promise},I=function(t){function e(t){l(i,t)}function n(t){c(i,t)}var i=new this(s);if(!x(t))return c(i,new TypeError(\"You must pass an array to race.\")),i;var r=t.length;for(var o=0;i._state===C&&o<r;o++)_(this.resolve(t[o]),void 0,e,n);return i},B=function(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(s);return l(e,t),e},R=function(t){var e=new this(s);return c(e,t),e},L=0,V=v;v.all=F,v.race=I,v.resolve=B,v.reject=R,v._setScheduler=function(t){y=t},v._setAsap=function(t){k=t},v._asap=k,v.prototype={constructor:v,then:function(t,e){var n=this._state;if(n===O&&!t||n===N&&!e)return this;var i=new this.constructor(s),r=this._result;if(n){var o=arguments[n-1];k(function(){f(n,i,o,r)})}else _(this,i,t,e);return i},catch:function(t){return this.then(null,t)}};var G=function(){var t;if(\"undefined\"!=typeof global)t=global;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e&&\"[object Promise]\"===Object.prototype.toString.call(e.resolve())&&!e.cast)return;t.Promise=V},U={Promise:V,polyfill:G};void 0!==e&&e.exports?e.exports=U:void 0!==this&&(this.ES6Promise=U),G()}).call(this)},function(t,e,n){t(304)()||Object.defineProperty(t(260),\"Set\",{value:t(307),configurable:!0,enumerable:!1,writable:!0})},function(t,e,n){e.exports=function(){var t,e,n;return\"function\"==typeof Set&&(t=new Set([\"raz\",\"dwa\",\"trzy\"]),\"[object Set]\"===String(t)&&(3===t.size&&(\"function\"==typeof t.add&&(\"function\"==typeof t.clear&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.entries&&(\"function\"==typeof t.forEach&&(\"function\"==typeof t.has&&(\"function\"==typeof t.keys&&(\"function\"==typeof t.values&&(e=t.values(),!1===(n=e.next()).done&&\"raz\"===n.value)))))))))))}},function(t,e,n){e.exports=\"undefined\"!=typeof Set&&\"[object Set]\"===Object.prototype.toString.call(Set.prototype)},function(t,e,n){var i,r=t(284),o=t(290),s=t(251),a=t(298),l=t(308).toStringTag,u=Object.defineProperty;i=e.exports=function(t,e){if(!(this instanceof i))return new i(t,e);a.call(this,t.__setData__,t),e=e&&o.call(e,\"key+value\")?\"key+value\":\"value\",u(this,\"__kind__\",s(\"\",e))},r&&r(i,a),i.prototype=Object.create(a.prototype,{constructor:s(i),_resolve:s(function(t){return\"value\"===this.__kind__?this.__list__[t]:[this.__list__[t],this.__list__[t]]}),toString:s(function(){return\"[object Set Iterator]\"})}),u(i.prototype,l,s(\"c\",\"Set Iterator\"))},function(t,e,n){var i,r,o,s=t(252),a=t(253),l=t(284),u=t(287),h=t(251),c=t(317),_=t(308),p=t(301),d=t(296),f=t(306),m=t(305),v=Function.prototype.call,g=Object.defineProperty,y=Object.getPrototypeOf;m&&(o=Set),e.exports=i=function(){var t,e=arguments[0];if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");return t=m&&l?l(new o,y(this)):this,null!=e&&p(e),g(t,\"__setData__\",h(\"c\",[])),e?(d(e,function(t){-1===a.call(this,t)&&this.push(t)},t.__setData__),t):t},m&&(l&&l(i,o),i.prototype=Object.create(o.prototype,{constructor:h(i)})),c(Object.defineProperties(i.prototype,{add:h(function(t){return this.has(t)?this:(this.emit(\"_add\",this.__setData__.push(t)-1,t),this)}),clear:h(function(){this.__setData__.length&&(s.call(this.__setData__),this.emit(\"_clear\"))}),delete:h(function(t){var e=a.call(this.__setData__,t);return-1!==e&&(this.__setData__.splice(e,1),this.emit(\"_delete\",e,t),!0)}),entries:h(function(){return new f(this,\"key+value\")}),forEach:h(function(t){var e,n,i,r=arguments[1];for(u(t),e=this.values(),n=e._next();void 0!==n;)i=e._resolve(n),v.call(t,r,i,i,this),n=e._next()}),has:h(function(t){return-1!==a.call(this.__setData__,t)}),keys:h(r=function(){return this.values()}),size:h.gs(function(){return this.__setData__.length}),values:h(function(){return new f(this)}),toString:h(function(){return\"[object Set]\"})})),g(i.prototype,_.iterator,h(r)),g(i.prototype,_.toStringTag,h(\"c\",\"Set\"))},function(t,e,n){e.exports=t(309)()?Symbol:t(311)},function(t,e,n){var i={object:!0,symbol:!0};e.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!i[typeof Symbol.iterator]&&(!!i[typeof Symbol.toPrimitive]&&!!i[typeof Symbol.toStringTag])}},function(t,e,n){e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},function(t,e,n){var i,r,o,s,a=t(251),l=t(312),u=Object.create,h=Object.defineProperties,c=Object.defineProperty,_=Object.prototype,p=u(null);if(\"function\"==typeof Symbol){i=Symbol;try{String(i()),s=!0}catch(t){}}var d=function(){var t=u(null);return function(e){for(var n,i,r=0;t[e+(r||\"\")];)++r;return e+=r||\"\",t[e]=!0,n=\"@@\"+e,c(_,n,a.gs(null,function(t){i||(i=!0,c(this,n,a(t)),i=!1)})),n}}();o=function(t){if(this instanceof o)throw new TypeError(\"Symbol is not a constructor\");return r(t)},e.exports=r=function t(e){var n;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return s?i(e):(n=u(o.prototype),e=void 0===e?\"\":String(e),h(n,{__description__:a(\"\",e),__name__:a(\"\",d(e))}))},h(r,{for:a(function(t){return p[t]?p[t]:p[t]=r(String(t))}),keyFor:a(function(t){var e;l(t);for(e in p)if(p[e]===t)return e}),hasInstance:a(\"\",i&&i.hasInstance||r(\"hasInstance\")),isConcatSpreadable:a(\"\",i&&i.isConcatSpreadable||r(\"isConcatSpreadable\")),iterator:a(\"\",i&&i.iterator||r(\"iterator\")),match:a(\"\",i&&i.match||r(\"match\")),replace:a(\"\",i&&i.replace||r(\"replace\")),search:a(\"\",i&&i.search||r(\"search\")),species:a(\"\",i&&i.species||r(\"species\")),split:a(\"\",i&&i.split||r(\"split\")),toPrimitive:a(\"\",i&&i.toPrimitive||r(\"toPrimitive\")),toStringTag:a(\"\",i&&i.toStringTag||r(\"toStringTag\")),unscopables:a(\"\",i&&i.unscopables||r(\"unscopables\"))}),h(o.prototype,{constructor:a(r),toString:a(\"\",function(){return this.__name__})}),h(r.prototype,{toString:a(function(){return\"Symbol (\"+l(this).__description__+\")\"}),valueOf:a(function(){return l(this)})}),c(r.prototype,r.toPrimitive,a(\"\",function(){var t=l(this);return\"symbol\"==typeof t?t:t.toString()})),c(r.prototype,r.toStringTag,a(\"c\",\"Symbol\")),c(o.prototype,r.toStringTag,a(\"c\",r.prototype[r.toStringTag])),c(o.prototype,r.toPrimitive,a(\"c\",r.prototype[r.toPrimitive]))},function(t,e,n){var i=t(310);e.exports=function(t){if(!i(t))throw new TypeError(t+\" is not a symbol\");return t}},function(t,e,n){t(314)()||Object.defineProperty(t(260),\"WeakMap\",{value:t(316),configurable:!0,enumerable:!1,writable:!0})},function(t,e,n){e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},function(t,e,n){e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},function(t,e,n){var i,r=t(284),o=t(288),s=t(289),a=t(294),l=t(251),u=t(297),h=t(296),c=t(308).toStringTag,_=t(315),p=Array.isArray,d=Object.defineProperty,f=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=i=function(){var t,e=arguments[0];if(!(this instanceof i))throw new TypeError(\"Constructor requires 'new'\");return t=_&&r&&WeakMap!==i?r(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=u(e))),d(t,\"__weakMapData__\",l(\"c\",\"$weakMap$\"+a())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},_&&(r&&r(i,WeakMap),i.prototype=Object.create(WeakMap.prototype,{constructor:l(i)})),Object.defineProperties(i.prototype,{delete:l(function(t){return!!f.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(f.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return f.call(o(t),this.__weakMapData__)}),set:l(function(t,e){return d(o(t),this.__weakMapData__,l(\"c\",e)),this}),toString:l(function(){return\"[object WeakMap]\"})}),d(i.prototype,c,l(\"c\",\"WeakMap\"))},function(t,e,n){var i,r,o,s,a,l,u,h=t(251),c=t(287),_=Function.prototype.apply,p=Function.prototype.call,d=Object.create,f=Object.defineProperty,m=Object.defineProperties,v=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};a={on:i=function(t,e){var n;return c(e),v.call(this,\"__ee__\")?n=this.__ee__:(n=g.value=d(null),f(this,\"__ee__\",g),g.value=null),n[t]?\"object\"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},once:r=function(t,e){var n,r;return c(e),r=this,i.call(this,t,n=function(){o.call(r,t,n),_.call(e,this,arguments)}),n.__eeOnceListener__=e,this},off:o=function(t,e){var n,i,r,o;if(c(e),!v.call(this,\"__ee__\"))return this;if(!(n=this.__ee__)[t])return this;if(\"object\"==typeof(i=n[t]))for(o=0;r=i[o];++o)r!==e&&r.__eeOnceListener__!==e||(2===i.length?n[t]=i[o?0:1]:i.splice(o,1));else i!==e&&i.__eeOnceListener__!==e||delete n[t];return this},emit:s=function(t){var e,n,i,r,o;if(v.call(this,\"__ee__\")&&(r=this.__ee__[t]))if(\"object\"==typeof r){for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];for(r=r.slice(),e=0;i=r[e];++e)_.call(i,this,o)}else switch(arguments.length){case 1:p.call(r,this);break;case 2:p.call(r,this,arguments[1]);break;case 3:p.call(r,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];_.call(r,this,o)}}},l={on:h(i),once:h(r),off:h(o),emit:h(s)},u=m({},l),e.exports=n=function(t){return null==t?d(u):m(Object(t),l)},n.methods=a},/*! 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(t,e,n){!function(t,n,i,r){\"use strict\";function o(t,e,n){return setTimeout(h(t,n),e)}function s(t,e,n){return!!Array.isArray(t)&&(a(t,n[e],n),!0)}function a(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==r)for(i=0;i<t.length;)e.call(n,t[i],i,t),i++;else for(i in t)t.hasOwnProperty(i)&&e.call(n,t[i],i,t)}function l(e,n,i){var r=\"DEPRECATED METHOD: \"+n+\"\\n\"+i+\" AT \\n\";return function(){var n=new Error(\"get-stack-trace\"),i=n&&n.stack?n.stack.replace(/^[^\\(]+?[\\n$]/gm,\"\").replace(/^\\s+at\\s+/gm,\"\").replace(/^Object.<anonymous>\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",o=t.console&&(t.console.warn||t.console.log);return o&&o.call(t.console,r,i),e.apply(this,arguments)}}function u(t,e,n){var i,r=e.prototype;(i=t.prototype=Object.create(r)).constructor=t,i._super=r,n&&Z(i,n)}function h(t,e){return function(){return t.apply(e,arguments)}}function c(t,e){return typeof t==et?t.apply(e?e[0]||r:r,e):t}function _(t,e){return t===r?e:t}function p(t,e,n){a(v(e),function(e){t.addEventListener(e,n,!1)})}function d(t,e,n){a(v(e),function(e){t.removeEventListener(e,n,!1)})}function f(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function m(t,e){return t.indexOf(e)>-1}function v(t){return t.trim().split(/\\s+/g)}function g(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var i=0;i<t.length;){if(n&&t[i][n]==e||!n&&t[i]===e)return i;i++}return-1}function y(t){return Array.prototype.slice.call(t,0)}function b(t,e,n){for(var i=[],r=[],o=0;o<t.length;){var s=e?t[o][e]:t[o];g(r,s)<0&&i.push(t[o]),r[o]=s,o++}return n&&(i=e?i.sort(function(t,n){return t[e]>n[e]}):i.sort()),i}function x(t,e){for(var n,i,o=e[0].toUpperCase()+e.slice(1),s=0;s<K.length;){if(n=K[s],(i=n?n+o:e)in t)return i;s++}return r}function w(e){var n=e.ownerDocument||e;return n.defaultView||n.parentWindow||t}function k(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){c(t.options.enable,[t])&&n.handler(e)},this.init()}function S(t,e,n){var i=n.pointers.length,o=n.changedPointers.length,s=e&_t&&i-o==0,a=e&(dt|ft)&&i-o==0;n.isFirst=!!s,n.isFinal=!!a,s&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,i=e.pointers,o=i.length;n.firstInput||(n.firstInput=T(e));o>1&&!n.firstMultiple?n.firstMultiple=T(e):1===o&&(n.firstMultiple=!1);var s=n.firstInput,a=n.firstMultiple,l=a?a.center:s.center,u=e.center=M(i);e.timeStamp=rt(),e.deltaTime=e.timeStamp-s.timeStamp,e.angle=C(l,u),e.distance=z(l,u),function(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==_t&&o.eventType!==dt||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y});e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}(n,e),e.offsetDirection=E(e.deltaX,e.deltaY);var h=A(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=h.x,e.overallVelocityY=h.y,e.overallVelocity=it(h.x)>it(h.y)?h.x:h.y,e.scale=a?function(t,e){return z(e[0],e[1],Tt)/z(t[0],t[1],Tt)}(a.pointers,i):1,e.rotation=a?function(t,e){return C(e[1],e[0],Tt)+C(t[1],t[0],Tt)}(a.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,i,o,s,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=ft&&(l>ct||a.velocity===r)){var u=e.deltaX-a.deltaX,h=e.deltaY-a.deltaY,c=A(l,u,h);i=c.x,o=c.y,n=it(c.x)>it(c.y)?c.x:c.y,s=E(u,h),t.lastInterval=e}else n=a.velocity,i=a.velocityX,o=a.velocityY,s=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=o,e.direction=s}(n,e);var c=t.element;f(e.srcEvent.target,c)&&(c=e.srcEvent.target);e.target=c}(t,n),t.emit(\"hammer.input\",n),t.recognize(n),t.session.prevInput=n}function T(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:nt(t.pointers[n].clientX),clientY:nt(t.pointers[n].clientY)},n++;return{timeStamp:rt(),pointers:e,center:M(e),deltaX:t.deltaX,deltaY:t.deltaY}}function M(t){var e=t.length;if(1===e)return{x:nt(t[0].clientX),y:nt(t[0].clientY)};for(var n=0,i=0,r=0;r<e;)n+=t[r].clientX,i+=t[r].clientY,r++;return{x:nt(n/e),y:nt(i/e)}}function A(t,e,n){return{x:e/t||0,y:n/t||0}}function E(t,e){return t===e?mt:it(t)>=it(e)?t<0?vt:gt:e<0?yt:bt}function z(t,e,n){n||(n=St);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function C(t,e,n){n||(n=St);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function O(){this.evEl=At,this.evWin=Et,this.pressed=!1,k.apply(this,arguments)}function N(){this.evEl=Ot,this.evWin=Nt,k.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function j(){this.evTarget=Pt,this.evWin=Dt,this.started=!1,k.apply(this,arguments)}function P(){this.evTarget=It,this.targetIds={},k.apply(this,arguments)}function D(){k.apply(this,arguments);var t=h(this.handler,this);this.touch=new P(this.manager,t),this.mouse=new O(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function F(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var i=this.lastTouches,r=function(){var t=i.indexOf(n);t>-1&&i.splice(t,1)};setTimeout(r,Bt)}}function I(t,e){this.manager=t,this.set(e)}function B(t){this.options=Z({},this.defaults,t||{}),this.id=at++,this.manager=null,this.options.enable=_(this.options.enable,!0),this.state=Ht,this.simultaneous={},this.requireFail=[]}function R(t){return t&Kt?\"cancel\":t&$t?\"end\":t&Qt?\"move\":t&Jt?\"start\":\"\"}function L(t){return t==bt?\"down\":t==yt?\"up\":t==vt?\"left\":t==gt?\"right\":\"\"}function V(t,e){var n=e.manager;return n?n.get(t):t}function G(){B.apply(this,arguments)}function U(){G.apply(this,arguments),this.pX=null,this.pY=null}function Y(){G.apply(this,arguments)}function q(){B.apply(this,arguments),this._timer=null,this._input=null}function X(){G.apply(this,arguments)}function W(){G.apply(this,arguments)}function H(){B.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function J(t,e){return e=e||{},e.recognizers=_(e.recognizers,J.defaults.preset),new Q(t,e)}function Q(t,e){this.options=Z({},J.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=function(t){var e,n=t.options.inputClass;e=n||(ut?N:ht?P:lt?D:O);return new e(t,S)}(this),this.touchAction=new I(this,this.options.touchAction),$(this,!0),a(this.options.recognizers,function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])},this)}function $(t,e){var n=t.element;if(n.style){var i;a(t.options.cssProps,function(r,o){i=x(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=r):n.style[i]=t.oldCssProps[i]||\"\"}),e||(t.oldCssProps={})}}var Z,K=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],tt=n.createElement(\"div\"),et=\"function\",nt=Math.round,it=Math.abs,rt=Date.now;Z=\"function\"!=typeof Object.assign?function(t){if(t===r||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(i!==r&&null!==i)for(var o in i)i.hasOwnProperty(o)&&(e[o]=i[o])}return e}:Object.assign;var ot=l(function(t,e,n){for(var i=Object.keys(e),o=0;o<i.length;)(!n||n&&t[i[o]]===r)&&(t[i[o]]=e[i[o]]),o++;return t},\"extend\",\"Use `assign`.\"),st=l(function(t,e){return ot(t,e,!0)},\"merge\",\"Use `assign`.\"),at=1,lt=\"ontouchstart\"in t,ut=x(t,\"PointerEvent\")!==r,ht=lt&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),ct=25,_t=1,pt=2,dt=4,ft=8,mt=1,vt=2,gt=4,yt=8,bt=16,xt=vt|gt,wt=yt|bt,kt=xt|wt,St=[\"x\",\"y\"],Tt=[\"clientX\",\"clientY\"];k.prototype={handler:function(){},init:function(){this.evEl&&p(this.element,this.evEl,this.domHandler),this.evTarget&&p(this.target,this.evTarget,this.domHandler),this.evWin&&p(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&d(this.element,this.evEl,this.domHandler),this.evTarget&&d(this.target,this.evTarget,this.domHandler),this.evWin&&d(w(this.element),this.evWin,this.domHandler)}};var Mt={mousedown:_t,mousemove:pt,mouseup:dt},At=\"mousedown\",Et=\"mousemove mouseup\";u(O,k,{handler:function(t){var e=Mt[t.type];e&_t&&0===t.button&&(this.pressed=!0),e&pt&&1!==t.which&&(e=dt),this.pressed&&(e&dt&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:\"mouse\",srcEvent:t}))}});var zt={pointerdown:_t,pointermove:pt,pointerup:dt,pointercancel:ft,pointerout:ft},Ct={2:\"touch\",3:\"pen\",4:\"mouse\",5:\"kinect\"},Ot=\"pointerdown\",Nt=\"pointermove pointerup pointercancel\";t.MSPointerEvent&&!t.PointerEvent&&(Ot=\"MSPointerDown\",Nt=\"MSPointerMove MSPointerUp MSPointerCancel\"),u(N,k,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace(\"ms\",\"\"),r=zt[i],o=Ct[t.pointerType]||t.pointerType,s=\"touch\"==o,a=g(e,t.pointerId,\"pointerId\");r&_t&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):r&(dt|ft)&&(n=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(a,1))}});var jt={touchstart:_t,touchmove:pt,touchend:dt,touchcancel:ft},Pt=\"touchstart\",Dt=\"touchstart touchmove touchend touchcancel\";u(j,k,{handler:function(t){var e=jt[t.type];if(e===_t&&(this.started=!0),this.started){var n=function(t,e){var n=y(t.touches),i=y(t.changedTouches);e&(dt|ft)&&(n=b(n.concat(i),\"identifier\",!0));return[n,i]}.call(this,t,e);e&(dt|ft)&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}}});var Ft={touchstart:_t,touchmove:pt,touchend:dt,touchcancel:ft},It=\"touchstart touchmove touchend touchcancel\";u(P,k,{handler:function(t){var e=Ft[t.type],n=function(t,e){var n=y(t.touches),i=this.targetIds;if(e&(_t|pt)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,s=y(t.changedTouches),a=[],l=this.target;if(o=n.filter(function(t){return f(t.target,l)}),e===_t)for(r=0;r<o.length;)i[o[r].identifier]=!0,r++;r=0;for(;r<s.length;)i[s[r].identifier]&&a.push(s[r]),e&(dt|ft)&&delete i[s[r].identifier],r++;if(!a.length)return;return[b(o.concat(a),\"identifier\",!0),a]}.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:\"touch\",srcEvent:t})}});var Bt=2500,Rt=25;u(D,k,{handler:function(t,e,n){var i=\"touch\"==n.pointerType,r=\"mouse\"==n.pointerType;if(!(r&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(i)(function(t,e){t&_t?(this.primaryTouch=e.changedPointers[0].identifier,F.call(this,e)):t&(dt|ft)&&F.call(this,e)}).call(this,e,n);else if(r&&function(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i<this.lastTouches.length;i++){var r=this.lastTouches[i],o=Math.abs(e-r.x),s=Math.abs(n-r.y);if(o<=Rt&&s<=Rt)return!0}return!1}.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Lt=x(tt.style,\"touchAction\"),Vt=Lt!==r,Gt=\"auto\",Ut=\"manipulation\",Yt=\"none\",qt=\"pan-x\",Xt=\"pan-y\",Wt=function(){if(!Vt)return!1;var e={},n=t.CSS&&t.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(i){e[i]=!n||t.CSS.supports(\"touch-action\",i)}),e}();I.prototype={set:function(t){\"compute\"==t&&(t=this.compute()),Vt&&this.manager.element.style&&Wt[t]&&(this.manager.element.style[Lt]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return a(this.manager.recognizers,function(e){c(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))}),function(t){if(m(t,Yt))return Yt;var e=m(t,qt),n=m(t,Xt);if(e&&n)return Yt;if(e||n)return e?qt:Xt;if(m(t,Ut))return Ut;return Gt}(t.join(\" \"))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var i=this.actions,r=m(i,Yt)&&!Wt[Yt],o=m(i,Xt)&&!Wt[Xt],s=m(i,qt)&&!Wt[qt];if(r){var a=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(a&&l&&u)return}if(!s||!o)return r||o&&n&xt||s&&n&wt?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var Ht=1,Jt=2,Qt=4,$t=8,Zt=$t,Kt=16;B.prototype={defaults:{},set:function(t){return Z(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(s(t,\"recognizeWith\",this))return this;var e=this.simultaneous;return t=V(t,this),e[t.id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return s(t,\"dropRecognizeWith\",this)?this:(t=V(t,this),delete this.simultaneous[t.id],this)},requireFailure:function(t){if(s(t,\"requireFailure\",this))return this;var e=this.requireFail;return t=V(t,this),-1===g(e,t)&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(s(t,\"dropRequireFailure\",this))return this;t=V(t,this);var e=g(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){n.manager.emit(e,t)}var n=this,i=this.state;i<$t&&e(n.options.event+R(i)),e(n.options.event),t.additionalEvent&&e(t.additionalEvent),i>=$t&&e(n.options.event+R(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(this.requireFail[t].state&(32|Ht)))return!1;t++}return!0},recognize:function(t){var e=Z({},t);if(!c(this.options.enable,[this,e]))return this.reset(),void(this.state=32);this.state&(Zt|Kt|32)&&(this.state=Ht),this.state=this.process(e),this.state&(Jt|Qt|$t|Kt)&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},u(G,B,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,i=e&(Jt|Qt),r=this.attrTest(t);return i&&(n&ft||!r)?e|Kt:i||r?n&dt?e|$t:e&Jt?e|Qt:Jt:32}}),u(U,G,{defaults:{event:\"pan\",threshold:10,pointers:1,direction:kt},getTouchAction:function(){var t=this.options.direction,e=[];return t&xt&&e.push(Xt),t&wt&&e.push(qt),e},directionTest:function(t){var e=this.options,n=!0,i=t.distance,r=t.direction,o=t.deltaX,s=t.deltaY;return r&e.direction||(e.direction&xt?(r=0===o?mt:o<0?vt:gt,n=o!=this.pX,i=Math.abs(t.deltaX)):(r=0===s?mt:s<0?yt:bt,n=s!=this.pY,i=Math.abs(t.deltaY))),t.direction=r,n&&i>e.threshold&&r&e.direction},attrTest:function(t){return G.prototype.attrTest.call(this,t)&&(this.state&Jt||!(this.state&Jt)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=L(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),u(Y,G,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Yt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&Jt)},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)}}),u(q,B,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Gt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime>e.time;if(this._input=t,!i||!n||t.eventType&(dt|ft)&&!r)this.reset();else if(t.eventType&_t)this.reset(),this._timer=o(function(){this.state=Zt,this.tryEmit()},e.time,this);else if(t.eventType&dt)return Zt;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===Zt&&(t&&t.eventType&dt?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=rt(),this.manager.emit(this.options.event,this._input)))}}),u(X,G,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Yt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&Jt)}}),u(W,G,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:xt|wt,pointers:1},getTouchAction:function(){return U.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(xt|wt)?e=t.overallVelocity:n&xt?e=t.overallVelocityX:n&wt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&it(e)>this.options.velocity&&t.eventType&dt},emit:function(t){var e=L(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),u(H,B,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Ut]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance<e.threshold,r=t.deltaTime<e.time;if(this.reset(),t.eventType&_t&&0===this.count)return this.failTimeout();if(i&&r&&n){if(t.eventType!=dt)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||z(this.pCenter,t.center)<e.posThreshold;this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t;var l=this.count%e.taps;if(0===l)return this.hasRequireFailures()?(this._timer=o(function(){this.state=Zt,this.tryEmit()},e.interval,this),Jt):Zt}return 32},failTimeout:function(){return this._timer=o(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==Zt&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),J.VERSION=\"2.0.7\",J.defaults={domEvents:!1,touchAction:\"compute\",enable:!0,inputTarget:null,inputClass:null,preset:[[X,{enable:!1}],[Y,{enable:!1},[\"rotate\"]],[W,{direction:xt}],[U,{direction:xt},[\"swipe\"]],[H],[H,{event:\"doubletap\",taps:2},[\"tap\"]],[q]],cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}};Q.prototype={set:function(t){return Z(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){this.touchAction.preventDefaults(t);var n,i=this.recognizers,r=e.curRecognizer;(!r||r&&r.state&Zt)&&(r=e.curRecognizer=null);for(var o=0;o<i.length;)n=i[o],2===e.stopped||r&&n!=r&&!n.canRecognizeWith(r)?n.reset():n.recognize(t),!r&&n.state&(Jt|Qt|$t)&&(r=e.curRecognizer=n),o++}},get:function(t){if(t instanceof B)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(s(t,\"add\",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(s(t,\"remove\",this))return this;if(t=this.get(t)){var e=this.recognizers,n=g(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==r&&e!==r){var n=this.handlers;return a(v(t),function(t){n[t]=n[t]||[],n[t].push(e)}),this}},off:function(t,e){if(t!==r){var n=this.handlers;return a(v(t),function(t){e?n[t]&&n[t].splice(g(n[t],e),1):delete n[t]}),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var i=n.createEvent(\"Event\");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<i.length;)i[r](e),r++}},destroy:function(){this.element&&$(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},Z(J,{INPUT_START:_t,INPUT_MOVE:pt,INPUT_END:dt,INPUT_CANCEL:ft,STATE_POSSIBLE:Ht,STATE_BEGAN:Jt,STATE_CHANGED:Qt,STATE_ENDED:$t,STATE_RECOGNIZED:Zt,STATE_CANCELLED:Kt,STATE_FAILED:32,DIRECTION_NONE:mt,DIRECTION_LEFT:vt,DIRECTION_RIGHT:gt,DIRECTION_UP:yt,DIRECTION_DOWN:bt,DIRECTION_HORIZONTAL:xt,DIRECTION_VERTICAL:wt,DIRECTION_ALL:kt,Manager:Q,Input:k,TouchAction:I,TouchInput:P,MouseInput:O,PointerEventInput:N,TouchMouseInput:D,SingleTouchInput:j,Recognizer:B,AttrRecognizer:G,Tap:H,Pan:U,Swipe:W,Pinch:Y,Rotate:X,Press:q,on:p,off:d,each:a,merge:st,extend:ot,assign:Z,inherit:u,bindFn:h,prefixed:x});var te=void 0!==t?t:\"undefined\"!=typeof self?self:{};te.Hammer=J,void 0!==e&&e.exports?e.exports=J:t.Hammer=J}(window,document)},function(t,e,n){var i,r=t(324);!function(t){t[t.Le=0]=\"Le\",t[t.Ge=1]=\"Ge\",t[t.Eq=2]=\"Eq\"}(i=n.Operator||(n.Operator={}));var o=function(){function t(t,e,n){void 0===n&&(n=r.Strength.required),this._id=s++,this._operator=e,this._expression=t,this._strength=r.Strength.clip(n)}return t.Compare=function(t,e){return t.id-e.id},t.prototype.toString=function(){var t=this;return this._expression+\" \"+function(){switch(t._operator){case i.Le:return\"<=\";case i.Ge:return\">=\";case i.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}();n.Constraint=o;var s=0},function(t,e,n){var i=t(328),r=t(331),o=t(322),s=function(){function t(){var t=function(t){for(var e=0,n=function(){return 0},i=o.createMap(r.Variable.Compare),s=0,a=t.length;s<a;++s){var l=t[s];if(\"number\"==typeof l)e+=l;else if(l instanceof r.Variable)i.setDefault(l,n).second+=1;else{if(!(l instanceof Array))throw new Error(\"invalid Expression argument: \"+JSON.stringify(l));if(2!==l.length)throw new Error(\"array must have length 2\");var u=l[0],h=l[1];if(\"number\"!=typeof u)throw new Error(\"array item 0 must be a number\");if(!(h instanceof r.Variable))throw new Error(\"array item 1 must be a variable\");i.setDefault(h,n).second+=u}}return{terms:i,constant:e}}(arguments);this._terms=t.terms,this._constant=t.constant}return t.prototype.toString=function(){var t=[];i.forEach(this._terms,function(e){t.push([e.first,e.second])});for(var e=!0,n=\"\",r=0,o=t;r<o.length;r++){var s=o[r],a=s[0],l=s[1];e?(e=!1,n+=1==l?\"\"+a:-1==l?\"-\"+a:l+\"*\"+a):n+=1==l?\" + \"+a:-1==l?\" - \"+a:l>=0?\" + \"+l+a:\" - \"+-l+a}var u=this.constant;return u<0?n+=\" - \"+-u:u>0&&(n+=\" + \"+u),n},Object.defineProperty(t.prototype,\"terms\",{get:function(){return this._terms},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"constant\",{get:function(){return this._constant},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"value\",{get:function(){var t=this._constant;return i.forEach(this._terms,function(e){t+=e.first.value*e.second}),t},enumerable:!0,configurable:!0}),t}();n.Expression=s},function(t,e,n){/*-----------------------------------------------------------------------------\n      | Copyright (c) 2014, Nucleic Development Team.\n      |\n      | Distributed under the terms of the Modified BSD License.\n      |\n      | The full license is in the file COPYING.txt, distributed with this software.\n      |----------------------------------------------------------------------------*/\n      function i(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}i(t(331)),i(t(320)),i(t(319)),i(t(324)),i(t(323))},function(t,e,n){var i=t(328);n.createMap=function(t){return new i.AssociativeArray(t)}},function(t,e,n){function i(t){return t<0?-t<1e-8:t<1e-8}var r=t(331),o=t(320),s=t(319),a=t(324),l=t(322),u=t(328),h=function(){function t(){this._cnMap=l.createMap(s.Constraint.Compare),this._rowMap=l.createMap(_.Compare),this._varMap=l.createMap(r.Variable.Compare),this._editMap=l.createMap(r.Variable.Compare),this._infeasibleRows=[],this._objective=new d,this._artificial=null,this._idTick=0}return t.prototype.addConstraint=function(t){var e=this._cnMap.find(t);if(void 0!==e)throw new Error(\"duplicate constraint\");var n=this._createRow(t),r=n.row,o=n.tag,s=this._chooseSubject(r,o);if(s.type()===c.Invalid&&r.allDummies()){if(!i(r.constant())){for(var a=[],l=0,u=t.expression.terms._array;l<u.length;l++){var h=u[l];a.push(h.first.name)}var _=[\"LE\",\"GE\",\"EQ\"][t.op];throw new Error(\"unsatisfiable constraint [\"+a.join(\",\")+\"] operator: \"+_)}s=o.marker}if(s.type()===c.Invalid){if(!this._addWithArtificialVariable(r))throw new Error(\"unsatisfiable constraint\")}else r.solveFor(s),this._substitute(s,r),this._rowMap.insert(s,r);this._cnMap.insert(t,o),this._optimize(this._objective)},t.prototype.removeConstraint=function(t,e){void 0===e&&(e=!1);var n=this._cnMap.erase(t);if(void 0===n){if(e)return;throw new Error(\"unknown constraint\")}this._removeConstraintEffects(t,n.second);var i=n.second.marker,r=this._rowMap.erase(i);if(void 0===r){var o=this._getMarkerLeavingSymbol(i);if(o.type()===c.Invalid)throw new Error(\"failed to find leaving row\");(r=this._rowMap.erase(o)).second.solveForEx(o,i),this._substitute(i,r.second)}this._optimize(this._objective)},t.prototype.hasConstraint=function(t){return this._cnMap.contains(t)},t.prototype.addEditVariable=function(t,e){var n=this._editMap.find(t);if(void 0!==n)throw new Error(\"duplicate edit variable: \"+t.name);if((e=a.Strength.clip(e))===a.Strength.required)throw new Error(\"bad required strength\");var i=new o.Expression(t),r=new s.Constraint(i,s.Operator.Eq,e);this.addConstraint(r);var l=this._cnMap.find(r).second,u={tag:l,constraint:r,constant:0};this._editMap.insert(t,u)},t.prototype.removeEditVariable=function(t,e){void 0===e&&(e=!1);var n=this._editMap.erase(t);if(void 0===n){if(e)return;throw new Error(\"unknown edit variable: \"+t.name)}this.removeConstraint(n.second.constraint,e)},t.prototype.hasEditVariable=function(t){return this._editMap.contains(t)},t.prototype.suggestValue=function(t,e){var n=this._editMap.find(t);if(void 0===n)throw new Error(\"unknown edit variable: \"+t.name);var i=this._rowMap,r=n.second,o=e-r.constant;r.constant=e;var s=r.tag.marker,a=i.find(s);if(void 0!==a)return a.second.add(-o)<0&&this._infeasibleRows.push(s),void this._dualOptimize();var l=r.tag.other;if(void 0!==(a=i.find(l)))return a.second.add(o)<0&&this._infeasibleRows.push(l),void this._dualOptimize();for(var u=0,h=i.size();u<h;++u){var _=i.itemAt(u),p=_.second,d=p.coefficientFor(s);0!==d&&p.add(o*d)<0&&_.first.type()!==c.External&&this._infeasibleRows.push(_.first)}this._dualOptimize()},t.prototype.updateVariables=function(){for(var t=this._varMap,e=this._rowMap,n=0,i=t.size();n<i;++n){var r=t.itemAt(n),o=e.find(r.second),s=0;void 0!==o&&-0===(s=o.second.constant())&&(s=0),r.first.setValue(s)}},t.prototype.getConstraints=function(){var t=[];return u.forEach(this._cnMap,function(e){t.push(e.first)}),t},Object.defineProperty(t.prototype,\"numConstraints\",{get:function(){return this._cnMap.size()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"numEditVariables\",{get:function(){return this._editMap.size()},enumerable:!0,configurable:!0}),t.prototype._getVarSymbol=function(t){var e=this;return this._varMap.setDefault(t,function(){return e._makeSymbol(c.External)}).second},t.prototype._createRow=function(t){for(var e=t.expression,n=new d(e.constant),r=e.terms,o=0,l=r.size();o<l;++o){var u=r.itemAt(o);if(!i(u.second)){var h=this._getVarSymbol(u.first),_=this._rowMap.find(h);void 0!==_?n.insertRow(_.second,u.second):n.insertSymbol(h,u.second)}}var f=this._objective,m=t.strength,v={marker:p,other:p};switch(t.op){case s.Operator.Le:case s.Operator.Ge:var g=t.op===s.Operator.Le?1:-1,y=this._makeSymbol(c.Slack);if(v.marker=y,n.insertSymbol(y,g),m<a.Strength.required){var b=this._makeSymbol(c.Error);v.other=b,n.insertSymbol(b,-g),f.insertSymbol(b,m)}break;case s.Operator.Eq:if(m<a.Strength.required){var x=this._makeSymbol(c.Error),w=this._makeSymbol(c.Error);v.marker=x,v.other=w,n.insertSymbol(x,-1),n.insertSymbol(w,1),f.insertSymbol(x,m),f.insertSymbol(w,m)}else{var k=this._makeSymbol(c.Dummy);v.marker=k,n.insertSymbol(k)}}return n.constant()<0&&n.reverseSign(),{row:n,tag:v}},t.prototype._chooseSubject=function(t,e){for(var n=t.cells(),i=0,r=n.size();i<r;++i){var o=n.itemAt(i);if(o.first.type()===c.External)return o.first}var s=e.marker.type();return(s===c.Slack||s===c.Error)&&t.coefficientFor(e.marker)<0?e.marker:((s=e.other.type())===c.Slack||s===c.Error)&&t.coefficientFor(e.other)<0?e.other:p},t.prototype._addWithArtificialVariable=function(t){var e=this._makeSymbol(c.Slack);this._rowMap.insert(e,t.copy()),this._artificial=t.copy(),this._optimize(this._artificial);var n=i(this._artificial.constant());this._artificial=null;var r=this._rowMap.erase(e);if(void 0!==r){var o=r.second;if(o.isConstant())return n;var s=this._anyPivotableSymbol(o);if(s.type()===c.Invalid)return!1;o.solveForEx(e,s),this._substitute(s,o),this._rowMap.insert(s,o)}for(var a=this._rowMap,l=0,u=a.size();l<u;++l)a.itemAt(l).second.removeSymbol(e);return this._objective.removeSymbol(e),n},t.prototype._substitute=function(t,e){for(var n=this._rowMap,i=0,r=n.size();i<r;++i){var o=n.itemAt(i);o.second.substitute(t,e),o.second.constant()<0&&o.first.type()!==c.External&&this._infeasibleRows.push(o.first)}this._objective.substitute(t,e),this._artificial&&this._artificial.substitute(t,e)},t.prototype._optimize=function(t){for(;;){var e=this._getEnteringSymbol(t);if(e.type()===c.Invalid)return;var n=this._getLeavingSymbol(e);if(n.type()===c.Invalid)throw new Error(\"the objective is unbounded\");var i=this._rowMap.erase(n).second;i.solveForEx(n,e),this._substitute(e,i),this._rowMap.insert(e,i)}},t.prototype._dualOptimize=function(){for(var t=this._rowMap,e=this._infeasibleRows;0!==e.length;){var n=e.pop(),i=t.find(n);if(void 0!==i&&i.second.constant()<0){var r=this._getDualEnteringSymbol(i.second);if(r.type()===c.Invalid)throw new Error(\"dual optimize failed\");var o=i.second;t.erase(n),o.solveForEx(n,r),this._substitute(r,o),t.insert(r,o)}}},t.prototype._getEnteringSymbol=function(t){for(var e=t.cells(),n=0,i=e.size();n<i;++n){var r=e.itemAt(n),o=r.first;if(r.second<0&&o.type()!==c.Dummy)return o}return p},t.prototype._getDualEnteringSymbol=function(t){for(var e=Number.MAX_VALUE,n=p,i=t.cells(),r=0,o=i.size();r<o;++r){var s=i.itemAt(r),a=s.first,l=s.second;if(l>0&&a.type()!==c.Dummy){var u=this._objective.coefficientFor(a),h=u/l;h<e&&(e=h,n=a)}}return n},t.prototype._getLeavingSymbol=function(t){for(var e=Number.MAX_VALUE,n=p,i=this._rowMap,r=0,o=i.size();r<o;++r){var s=i.itemAt(r),a=s.first;if(a.type()!==c.External){var l=s.second,u=l.coefficientFor(t);if(u<0){var h=-l.constant()/u;h<e&&(e=h,n=a)}}}return n},t.prototype._getMarkerLeavingSymbol=function(t){for(var e=Number.MAX_VALUE,n=e,i=e,r=p,o=r,s=r,a=r,l=this._rowMap,u=0,h=l.size();u<h;++u){var _=l.itemAt(u),d=_.second,f=d.coefficientFor(t);if(0!==f){var m=_.first;if(m.type()===c.External)a=m;else if(f<0){var v=-d.constant()/f;v<n&&(n=v,o=m)}else{var v=d.constant()/f;v<i&&(i=v,s=m)}}}return o!==r?o:s!==r?s:a},t.prototype._removeConstraintEffects=function(t,e){e.marker.type()===c.Error&&this._removeMarkerEffects(e.marker,t.strength),e.other.type()===c.Error&&this._removeMarkerEffects(e.other,t.strength)},t.prototype._removeMarkerEffects=function(t,e){var n=this._rowMap.find(t);void 0!==n?this._objective.insertRow(n.second,-e):this._objective.insertSymbol(t,-e)},t.prototype._anyPivotableSymbol=function(t){for(var e=t.cells(),n=0,i=e.size();n<i;++n){var r=e.itemAt(n),o=r.first.type();if(o===c.Slack||o===c.Error)return r.first}return p},t.prototype._makeSymbol=function(t){return new _(t,this._idTick++)},t}();n.Solver=h;var c;!function(t){t[t.Invalid=0]=\"Invalid\",t[t.External=1]=\"External\",t[t.Slack=2]=\"Slack\",t[t.Error=3]=\"Error\",t[t.Dummy=4]=\"Dummy\"}(c||(c={}));var _=function(){function t(t,e){this._id=e,this._type=t}return t.Compare=function(t,e){return t.id()-e.id()},t.prototype.id=function(){return this._id},t.prototype.type=function(){return this._type},t}(),p=new _(c.Invalid,-1),d=function(){function t(t){void 0===t&&(t=0),this._cellMap=l.createMap(_.Compare),this._constant=t}return t.prototype.cells=function(){return this._cellMap},t.prototype.constant=function(){return this._constant},t.prototype.isConstant=function(){return this._cellMap.empty()},t.prototype.allDummies=function(){for(var t=this._cellMap,e=0,n=t.size();e<n;++e){var i=t.itemAt(e);if(i.first.type()!==c.Dummy)return!1}return!0},t.prototype.copy=function(){var e=new t(this._constant);return e._cellMap=this._cellMap.copy(),e},t.prototype.add=function(t){return this._constant+=t},t.prototype.insertSymbol=function(t,e){void 0===e&&(e=1);var n=this._cellMap.setDefault(t,function(){return 0});i(n.second+=e)&&this._cellMap.erase(t)},t.prototype.insertRow=function(t,e){void 0===e&&(e=1),this._constant+=t._constant*e;for(var n=t._cellMap,i=0,r=n.size();i<r;++i){var o=n.itemAt(i);this.insertSymbol(o.first,o.second*e)}},t.prototype.removeSymbol=function(t){this._cellMap.erase(t)},t.prototype.reverseSign=function(){this._constant=-this._constant;for(var t=this._cellMap,e=0,n=t.size();e<n;++e){var i=t.itemAt(e);i.second=-i.second}},t.prototype.solveFor=function(t){var e=this._cellMap,n=e.erase(t),i=-1/n.second;this._constant*=i;for(var r=0,o=e.size();r<o;++r)e.itemAt(r).second*=i},t.prototype.solveForEx=function(t,e){this.insertSymbol(t,-1),this.solveFor(e)},t.prototype.coefficientFor=function(t){var e=this._cellMap.find(t);return void 0!==e?e.second:0},t.prototype.substitute=function(t,e){var n=this._cellMap.erase(t);void 0!==n&&this.insertRow(e,n.second)},t}()},function(t,e,n){!function(t){function e(t,e,n,i){void 0===i&&(i=1);var r=0;return r+=1e6*Math.max(0,Math.min(1e3,t*i)),r+=1e3*Math.max(0,Math.min(1e3,e*i)),r+=Math.max(0,Math.min(1e3,n*i))}t.create=e,t.required=e(1e3,1e3,1e3),t.strong=e(1,0,0),t.medium=e(0,1,0),t.weak=e(0,0,1),t.clip=function(e){return Math.max(0,Math.min(t.required,e))}}(n.Strength||(n.Strength={}))},function(t,e,n){function i(t,e,n){for(var i,r,o=0,s=t.length;s>0;)n(t[r=o+(i=s>>1)],e)<0?(o=r+1,s-=i+1):s=i;return o}var r=t(329);n.lowerBound=i,n.binarySearch=function(t,e,n){var r=i(t,e,n);if(r===t.length)return-1;var o=t[r];if(0!==n(o,e))return-1;return r},n.binaryFind=function(t,e,n){var r=i(t,e,n);if(r===t.length)return;var o=t[r];if(0!==n(o,e))return;return o},n.asSet=function(t,e){var n=r.asArray(t),i=n.length;if(i<=1)return n;n.sort(e);for(var o=[n[0]],s=1,a=0;s<i;++s){var l=n[s];0!==e(o[a],l)&&(o.push(l),++a)}return o},n.setIsDisjoint=function(t,e,n){var i=0,r=0,o=t.length,s=e.length;for(;i<o&&r<s;){var a=n(t[i],e[r]);if(a<0)++i;else{if(!(a>0))return!1;++r}}return!0},n.setIsSubset=function(t,e,n){var i=t.length,r=e.length;if(i>r)return!1;var o=0,s=0;for(;o<i&&s<r;){var a=n(t[o],e[s]);if(a<0)return!1;a>0?++s:(++o,++s)}if(o<i)return!1;return!0},n.setUnion=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?(a.push(u),++r):(a.push(l),++i,++r)}for(;i<o;)a.push(t[i]),++i;for(;r<s;)a.push(e[r]),++r;return a},n.setIntersection=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?++i:h>0?++r:(a.push(l),++i,++r)}return a},n.setDifference=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?++r:(++i,++r)}for(;i<o;)a.push(t[i]),++i;return a},n.setSymmetricDifference=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l,u);h<0?(a.push(l),++i):h>0?(a.push(u),++r):(++i,++r)}for(;i<o;)a.push(t[i]),++i;for(;r<s;)a.push(e[r]),++r;return a}},function(t,e,n){var i=t(329),r=function(){function t(){this._array=[]}return t.prototype.size=function(){return this._array.length},t.prototype.empty=function(){return 0===this._array.length},t.prototype.itemAt=function(t){return this._array[t]},t.prototype.takeAt=function(t){return this._array.splice(t,1)[0]},t.prototype.clear=function(){this._array=[]},t.prototype.swap=function(t){var e=this._array;this._array=t._array,t._array=e},t.prototype.__iter__=function(){return i.iter(this._array)},t.prototype.__reversed__=function(){return i.reversed(this._array)},t}();n.ArrayBase=r},function(t,e,n){/*-----------------------------------------------------------------------------\n      | Copyright (c) 2014, Nucleic Development Team.\n      |\n      | Distributed under the terms of the Modified BSD License.\n      |\n      | The full license is in the file COPYING.txt, distributed with this software.\n      |----------------------------------------------------------------------------*/\n      var i=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=t(330),o=t(326),s=t(325),a=t(329),l=function(t){function e(e){var n=t.call(this)||this;return n._compare=e,n._wrapped=function(t){return function(e,n){return t(e.first,n)}}(e),n}return i(e,t),e.prototype.comparitor=function(){return this._compare},e.prototype.indexOf=function(t){return s.binarySearch(this._array,t,this._wrapped)},e.prototype.contains=function(t){return s.binarySearch(this._array,t,this._wrapped)>=0},e.prototype.find=function(t){return s.binaryFind(this._array,t,this._wrapped)},e.prototype.setDefault=function(t,e){var n=this._array,i=s.lowerBound(n,t,this._wrapped);if(i===n.length){var o=new r.Pair(t,e());return n.push(o),o}var a=n[i];if(0!==this._compare(a.first,t)){var o=new r.Pair(t,e());return n.splice(i,0,o),o}return a},e.prototype.insert=function(t,e){var n=this._array,i=s.lowerBound(n,t,this._wrapped);if(i===n.length){var o=new r.Pair(t,e);return n.push(o),o}var a=n[i];if(0!==this._compare(a.first,t)){var o=new r.Pair(t,e);return n.splice(i,0,o),o}return a.second=e,a},e.prototype.update=function(t){var n=this;t instanceof e?this._array=function(t,e,n){var i=0,r=0,o=t.length,s=e.length,a=[];for(;i<o&&r<s;){var l=t[i],u=e[r],h=n(l.first,u.first);h<0?(a.push(l.copy()),++i):h>0?(a.push(u.copy()),++r):(a.push(u.copy()),++i,++r)}for(;i<o;)a.push(t[i].copy()),++i;for(;r<s;)a.push(e[r].copy()),++r;return a}(this._array,t._array,this._compare):a.forEach(t,function(t){n.insert(t.first,t.second)})},e.prototype.erase=function(t){var e=this._array,n=s.binarySearch(e,t,this._wrapped);if(!(n<0))return e.splice(n,1)[0]},e.prototype.copy=function(){for(var t=new e(this._compare),n=t._array,i=this._array,r=0,o=i.length;r<o;++r)n.push(i[r].copy());return t},e}(o.ArrayBase);n.AssociativeArray=l},function(t,e,n){function i(t){for(var e in t)n.hasOwnProperty(e)||(n[e]=t[e])}i(t(325)),i(t(326)),i(t(327)),i(t(329)),i(t(330))},function(t,e,n){var i=function(){function t(t,e){void 0===e&&(e=0),this._array=t,this._index=Math.max(0,Math.min(e,t.length))}return t.prototype.__next__=function(){return this._array[this._index++]},t.prototype.__iter__=function(){return this},t}();n.ArrayIterator=i;var r=function(){function t(t,e){void 0===e&&(e=t.length),this._array=t,this._index=Math.max(0,Math.min(e,t.length))}return t.prototype.__next__=function(){return this._array[--this._index]},t.prototype.__iter__=function(){return this},t}();n.ReverseArrayIterator=r,n.iter=function(t){if(t instanceof Array)return new i(t);return t.__iter__()},n.reversed=function(t){if(t instanceof Array)return new r(t);return t.__reversed__()},n.next=function(t){return t.__next__()},n.asArray=function(t){if(t instanceof Array)return t.slice();var e,n=[],i=t.__iter__();for(;void 0!==(e=i.__next__());)n.push(e);return n},n.forEach=function(t,e){if(t instanceof Array){for(var n=0,i=t.length;n<i;++n)if(!1===e(t[n]))return}else for(var r,o=t.__iter__();void 0!==(r=o.__next__());)if(!1===e(r))return},n.map=function(t,e){var n=[];if(t instanceof Array)for(var i=0,r=t.length;i<r;++i)n.push(e(t[i]));else for(var o,s=t.__iter__();void 0!==(o=s.__next__());)n.push(e(o));return n},n.filter=function(t,e){var n,i=[];if(t instanceof Array)for(var r=0,o=t.length;r<o;++r)n=t[r],e(n)&&i.push(n);else for(var s=t.__iter__();void 0!==(n=s.__next__());)e(n)&&i.push(n);return i}},function(t,e,n){var i=function(){function t(t,e){this.first=t,this.second=e}return t.prototype.copy=function(){return new t(this.first,this.second)},t}();n.Pair=i},function(t,e,n){var i=function(){function t(t){void 0===t&&(t=\"\"),this._value=0,this._context=null,this._id=r++,this._name=t}return t.Compare=function(t,e){return t.id-e.id},t.prototype.toString=function(){return this._name},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"name\",{get:function(){return this._name},enumerable:!0,configurable:!0}),t.prototype.setName=function(t){this._name=t},Object.defineProperty(t.prototype,\"context\",{get:function(){return this._context},enumerable:!0,configurable:!0}),t.prototype.setContext=function(t){this._context=t},Object.defineProperty(t.prototype,\"value\",{get:function(){return this._value},enumerable:!0,configurable:!0}),t.prototype.setValue=function(t){this._value=t},t}();n.Variable=i;var r=0},/*!\n       * numbro.js\n       * version : 1.6.2\n       * author : Företagsplatsen AB\n       * license : MIT\n       * http://www.foretagsplatsen.se\n       */\n      function(t,e,n){function i(t){this._value=t}function r(t){var e,n=\"\";for(e=0;e<t;e++)n+=\"0\";return n}function o(t,e,n,i){var o,s,a=Math.pow(10,e);return s=t.toFixed(0).search(\"e\")>-1?function(t,e){var n,i,o,s,a;a=t.toString(),n=a.split(\"e\")[0],s=a.split(\"e\")[1],i=n.split(\".\")[0],o=n.split(\".\")[1]||\"\",a=i+o+r(s-o.length),e>0&&(a+=\".\"+r(e));return a}(t,e):(n(t*a)/a).toFixed(e),i&&(o=new RegExp(\"0{1,\"+i+\"}$\"),s=s.replace(o,\"\")),s}function s(t,e,n){return e.indexOf(\"$\")>-1?function(t,e,n){var i,r,o=e,s=o.indexOf(\"$\"),l=o.indexOf(\"(\"),u=o.indexOf(\"+\"),h=o.indexOf(\"-\"),_=\"\",d=\"\";-1===o.indexOf(\"$\")?\"infix\"===c[p].currency.position?(d=c[p].currency.symbol,c[p].currency.spaceSeparated&&(d=\" \"+d+\" \")):c[p].currency.spaceSeparated&&(_=\" \"):o.indexOf(\" $\")>-1?(_=\" \",o=o.replace(\" $\",\"\")):o.indexOf(\"$ \")>-1?(_=\" \",o=o.replace(\"$ \",\"\")):o=o.replace(\"$\",\"\");if(r=a(t,o,n,d),-1===e.indexOf(\"$\"))switch(c[p].currency.position){case\"postfix\":r.indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,_+c[p].currency.symbol),r=r.join(\"\")):r=r+_+c[p].currency.symbol;break;case\"infix\":break;case\"prefix\":r.indexOf(\"(\")>-1||r.indexOf(\"-\")>-1?(r=r.split(\"\"),i=Math.max(l,h)+1,r.splice(i,0,c[p].currency.symbol+_),r=r.join(\"\")):r=c[p].currency.symbol+_+r;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else s<=1?r.indexOf(\"(\")>-1||r.indexOf(\"+\")>-1||r.indexOf(\"-\")>-1?(r=r.split(\"\"),i=1,(s<l||s<u||s<h)&&(i=0),r.splice(i,0,c[p].currency.symbol+_),r=r.join(\"\")):r=c[p].currency.symbol+_+r:r.indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,_+c[p].currency.symbol),r=r.join(\"\")):r=r+_+c[p].currency.symbol;return r}(t,e,n):e.indexOf(\"%\")>-1?function(t,e,n){var i,r=\"\";t*=100,e.indexOf(\" %\")>-1?(r=\" \",e=e.replace(\" %\",\"\")):e=e.replace(\"%\",\"\");(i=a(t,e,n)).indexOf(\")\")>-1?((i=i.split(\"\")).splice(-1,0,r+\"%\"),i=i.join(\"\")):i=i+r+\"%\";return i}(t,e,n):e.indexOf(\":\")>-1?function(t){var e=Math.floor(t/60/60),n=Math.floor((t-60*e*60)/60),i=Math.round(t-60*e*60-60*n);return e+\":\"+(n<10?\"0\"+n:n)+\":\"+(i<10?\"0\"+i:i)}(t):a(t,e,n)}function a(t,e,n,i){var r,s,a,l,u,h,_,f,m,v,g,y,b,x,w,k,S,T,M=!1,A=!1,E=!1,z=\"\",C=!1,O=!1,N=!1,j=!1,P=!1,D=\"\",F=\"\",I=Math.abs(t),B=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],R=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],L=\"\",V=!1,G=!1,U=\"\";if(0===t&&null!==d)return d;if(!isFinite(t))return\"\"+t;if(0===e.indexOf(\"{\")){var Y=e.indexOf(\"}\");if(-1===Y)throw Error('Format should also contain a \"}\"');y=e.slice(1,Y),e=e.slice(Y+1)}else y=\"\";if(e.indexOf(\"}\")===e.length-1){var q=e.indexOf(\"{\");if(-1===q)throw Error('Format should also contain a \"{\"');b=e.slice(q+1,-1),e=e.slice(0,q+1)}else b=\"\";var X;if(X=-1===e.indexOf(\".\")?e.match(/([0-9]+).*/):e.match(/([0-9]+)\\..*/),T=null===X?-1:X[1].length,-1!==e.indexOf(\"-\")&&(V=!0),e.indexOf(\"(\")>-1?(M=!0,e=e.slice(1,-1)):e.indexOf(\"+\")>-1&&(A=!0,e=e.replace(/\\+/g,\"\")),e.indexOf(\"a\")>-1){if(v=e.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],v=parseInt(v[0],10),C=e.indexOf(\"aK\")>=0,O=e.indexOf(\"aM\")>=0,N=e.indexOf(\"aB\")>=0,j=e.indexOf(\"aT\")>=0,P=C||O||N||j,e.indexOf(\" a\")>-1?(z=\" \",e=e.replace(\" a\",\"\")):e=e.replace(\"a\",\"\"),u=Math.floor(Math.log(I)/Math.LN10)+1,_=u%3,_=0===_?3:_,v&&0!==I&&(h=Math.floor(Math.log(I)/Math.LN10)+1-v,f=3*~~((Math.min(v,u)-_)/3),I/=Math.pow(10,f),-1===e.indexOf(\".\")&&v>3))for(e+=\"[.]\",k=(k=0===h?0:3*~~(h/3)-h)<0?k+3:k,r=0;r<k;r++)e+=\"0\";Math.floor(Math.log(Math.abs(t))/Math.LN10)+1!==v&&(I>=Math.pow(10,12)&&!P||j?(z+=c[p].abbreviations.trillion,t/=Math.pow(10,12)):I<Math.pow(10,12)&&I>=Math.pow(10,9)&&!P||N?(z+=c[p].abbreviations.billion,t/=Math.pow(10,9)):I<Math.pow(10,9)&&I>=Math.pow(10,6)&&!P||O?(z+=c[p].abbreviations.million,t/=Math.pow(10,6)):(I<Math.pow(10,6)&&I>=Math.pow(10,3)&&!P||C)&&(z+=c[p].abbreviations.thousand,t/=Math.pow(10,3)))}if(e.indexOf(\"b\")>-1)for(e.indexOf(\" b\")>-1?(D=\" \",e=e.replace(\" b\",\"\")):e=e.replace(\"b\",\"\"),l=0;l<=B.length;l++)if(s=Math.pow(1024,l),a=Math.pow(1024,l+1),t>=s&&t<a){D+=B[l],s>0&&(t/=s);break}if(e.indexOf(\"d\")>-1)for(e.indexOf(\" d\")>-1?(D=\" \",e=e.replace(\" d\",\"\")):e=e.replace(\"d\",\"\"),l=0;l<=R.length;l++)if(s=Math.pow(1e3,l),a=Math.pow(1e3,l+1),t>=s&&t<a){D+=R[l],s>0&&(t/=s);break}if(e.indexOf(\"o\")>-1&&(e.indexOf(\" o\")>-1?(F=\" \",e=e.replace(\" o\",\"\")):e=e.replace(\"o\",\"\"),c[p].ordinal&&(F+=c[p].ordinal(t))),e.indexOf(\"[.]\")>-1&&(E=!0,e=e.replace(\"[.]\",\".\")),m=t.toString().split(\".\")[0],g=e.split(\".\")[1],x=e.indexOf(\",\"),g){if(-1!==g.indexOf(\"*\")?L=o(t,t.toString().split(\".\")[1].length,n):g.indexOf(\"[\")>-1?(g=(g=g.replace(\"]\",\"\")).split(\"[\"),L=o(t,g[0].length+g[1].length,n,g[1].length)):L=o(t,g.length,n),m=L.split(\".\")[0],L.split(\".\")[1].length){var W=i?z+i:c[p].delimiters.decimal;L=W+L.split(\".\")[1]}else L=\"\";E&&0===Number(L.slice(1))&&(L=\"\")}else m=o(t,null,n);return m.indexOf(\"-\")>-1&&(m=m.slice(1),G=!0),m.length<T&&(m=new Array(T-m.length+1).join(\"0\")+m),x>-1&&(m=m.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+c[p].delimiters.thousands)),0===e.indexOf(\".\")&&(m=\"\"),w=e.indexOf(\"(\"),S=e.indexOf(\"-\"),U=w<S?(M&&G?\"(\":\"\")+(V&&G||!M&&G?\"-\":\"\"):(V&&G||!M&&G?\"-\":\"\")+(M&&G?\"(\":\"\"),y+U+(!G&&A&&0!==t?\"+\":\"\")+m+L+(F||\"\")+(z&&!i?z:\"\")+(D||\"\")+(M&&G?\")\":\"\")+b}function l(t,e){c[t]=e}function u(t){p=t;var e=c[t].defaults;e&&e.format&&h.defaultFormat(e.format),e&&e.currencyFormat&&h.defaultCurrencyFormat(e.currencyFormat)}var h,c={},_=c,p=\"en-US\",d=null,f=\"0,0\",m=\"0$\";void 0!==e&&e.exports;(h=function(t){return h.isNumbro(t)?t=t.value():0===t||void 0===t?t=0:Number(t)||(t=h.fn.unformat(t)),new i(Number(t))}).version=\"1.6.2\",h.isNumbro=function(t){return t instanceof i},h.setLanguage=function(t,e){console.warn(\"`setLanguage` is deprecated since version 1.6.0. Use `setCulture` instead\");var n=t,i=t.split(\"-\")[0],r=null;_[n]||(Object.keys(_).forEach(function(t){r||t.split(\"-\")[0]!==i||(r=t)}),n=r||e||\"en-US\"),u(n)},h.setCulture=function(t,e){var n=t,i=t.split(\"-\")[1],r=null;c[n]||(i&&Object.keys(c).forEach(function(t){r||t.split(\"-\")[1]!==i||(r=t)}),n=r||e||\"en-US\"),u(n)},h.language=function(t,e){if(console.warn(\"`language` is deprecated since version 1.6.0. Use `culture` instead\"),!t)return p;if(t&&!e){if(!_[t])throw new Error(\"Unknown language : \"+t);u(t)}return!e&&_[t]||l(t,e),h},h.culture=function(t,e){if(!t)return p;if(t&&!e){if(!c[t])throw new Error(\"Unknown culture : \"+t);u(t)}return!e&&c[t]||l(t,e),h},h.languageData=function(t){if(console.warn(\"`languageData` is deprecated since version 1.6.0. Use `cultureData` instead\"),!t)return _[p];if(!_[t])throw new Error(\"Unknown language : \"+t);return _[t]},h.cultureData=function(t){if(!t)return c[p];if(!c[t])throw new Error(\"Unknown culture : \"+t);return c[t]},h.culture(\"en-US\",{delimiters:{thousands:\",\",decimal:\".\"},abbreviations:{thousand:\"k\",million:\"m\",billion:\"b\",trillion:\"t\"},ordinal:function(t){var e=t%10;return 1==~~(t%100/10)?\"th\":1===e?\"st\":2===e?\"nd\":3===e?\"rd\":\"th\"},currency:{symbol:\"$\",position:\"prefix\"},defaults:{currencyFormat:\",0000 a\"},formats:{fourDigits:\"0000 a\",fullWithTwoDecimals:\"$ ,0.00\",fullWithTwoDecimalsNoCurrency:\",0.00\"}}),h.languages=function(){return console.warn(\"`languages` is deprecated since version 1.6.0. Use `cultures` instead\"),_},h.cultures=function(){return c},h.zeroFormat=function(t){d=\"string\"==typeof t?t:null},h.defaultFormat=function(t){f=\"string\"==typeof t?t:\"0.0\"},h.defaultCurrencyFormat=function(t){m=\"string\"==typeof t?t:\"0$\"},h.validate=function(t,e){var n,i,r,o,s,a,l,u;if(\"string\"!=typeof t&&(t+=\"\",console.warn&&console.warn(\"Numbro.js: Value is not string. It has been co-erced to: \",t)),(t=t.trim()).match(/^\\d+$/))return!0;if(\"\"===t)return!1;try{l=h.cultureData(e)}catch(t){l=h.cultureData(h.culture())}return r=l.currency.symbol,s=l.abbreviations,n=l.delimiters.decimal,i=\".\"===l.delimiters.thousands?\"\\\\.\":l.delimiters.thousands,(null===(u=t.match(/^[^\\d]+/))||(t=t.substr(1),u[0]===r))&&((null===(u=t.match(/[^\\d]+$/))||(t=t.slice(0,-1),u[0]===s.thousand||u[0]===s.million||u[0]===s.billion||u[0]===s.trillion))&&(a=new RegExp(i+\"{2}\"),!t.match(/[^\\d.,]/g)&&!((o=t.split(n)).length>2||(o.length<2?!o[0].match(/^\\d+.*\\d$/)||o[0].match(a):1===o[0].length?!o[0].match(/^\\d+$/)||o[0].match(a)||!o[1].match(/^\\d+$/):!o[0].match(/^\\d+.*\\d$/)||o[0].match(a)||!o[1].match(/^\\d+$/)))))},e.exports={format:function(t,e,n,i){null!=n&&n!==h.culture()&&h.setCulture(n);return s(Number(t),null!=e?e:f,null==i?Math.round:i)}}},function(t,e,n){function i(t,e){if(!(this instanceof i))return new i(t);e=e||function(t){if(t)throw t};var n=r(t);if(\"object\"==typeof n){var s=i.projections.get(n.projName);if(s){if(n.datumCode&&\"none\"!==n.datumCode){var h=l[n.datumCode];h&&(n.datum_params=h.towgs84?h.towgs84.split(\",\"):null,n.ellps=h.ellipse,n.datumName=h.datumName?h.datumName:n.datumCode)}n.k0=n.k0||1,n.axis=n.axis||\"enu\";var c=a.sphere(n.a,n.b,n.rf,n.ellps,n.sphere),_=a.eccentricity(c.a,c.b,c.rf,n.R_A),p=n.datum||u(n.datumCode,n.datum_params,c.a,c.b,_.es,_.ep2);o(this,n),o(this,s),this.a=c.a,this.b=c.b,this.rf=c.rf,this.sphere=c.sphere,this.es=_.es,this.e=_.e,this.ep2=_.ep2,this.datum=p,this.init(),e(null,this)}else e(t)}else e(t)}var r=t(353),o=t(351),s=t(355),a=t(350),l=t(341),u=t(346);(i.projections=s).start(),e.exports=i},function(t,e,n){e.exports=function(t,e,n){var i,r,o,s=n.x,a=n.y,l=n.z||0,u={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(i=s,r=\"x\"):1===o?(i=a,r=\"y\"):(i=l,r=\"z\"),t.axis[o]){case\"e\":u[r]=i;break;case\"w\":u[r]=-i;break;case\"n\":u[r]=i;break;case\"s\":u[r]=-i;break;case\"u\":void 0!==n[r]&&(u.z=i);break;case\"d\":void 0!==n[r]&&(u.z=-i);break;default:return null}return u}},function(t,e,n){var i=2*Math.PI,r=t(338);e.exports=function(t){return Math.abs(t)<=3.14159265359?t:t-r(t)*i}},function(t,e,n){e.exports=function(t,e,n){var i=t*e;return n/Math.sqrt(1-i*i)}},function(t,e,n){var i=Math.PI/2;e.exports=function(t,e){for(var n,r,o=.5*t,s=i-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(s),r=i-2*Math.atan(e*Math.pow((1-n)/(1+n),o))-s,s+=r,Math.abs(r)<=1e-10)return s;return-9999}},function(t,e,n){e.exports=function(t){return t<0?-1:1}},function(t,e,n){e.exports=function(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}},function(t,e,n){var i=Math.PI/2;e.exports=function(t,e,n){var r=t*n,o=.5*t;return r=Math.pow((1-r)/(1+r),o),Math.tan(.5*(i-e))/r}},function(t,e,n){n.wgs84={towgs84:\"0,0,0\",ellipse:\"WGS84\",datumName:\"WGS84\"},n.ch1903={towgs84:\"674.374,15.056,405.346\",ellipse:\"bessel\",datumName:\"swiss\"},n.ggrs87={towgs84:\"-199.87,74.79,246.62\",ellipse:\"GRS80\",datumName:\"Greek_Geodetic_Reference_System_1987\"},n.nad83={towgs84:\"0,0,0\",ellipse:\"GRS80\",datumName:\"North_American_Datum_1983\"},n.nad27={nadgrids:\"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",ellipse:\"clrk66\",datumName:\"North_American_Datum_1927\"},n.potsdam={towgs84:\"606.0,23.0,413.0\",ellipse:\"bessel\",datumName:\"Potsdam Rauenberg 1950 DHDN\"},n.carthage={towgs84:\"-263.0,6.0,431.0\",ellipse:\"clark80\",datumName:\"Carthage 1934 Tunisia\"},n.hermannskogel={towgs84:\"653.0,-212.0,449.0\",ellipse:\"bessel\",datumName:\"Hermannskogel\"},n.ire65={towgs84:\"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",ellipse:\"mod_airy\",datumName:\"Ireland 1965\"},n.rassadiran={towgs84:\"-133.63,-157.5,-158.62\",ellipse:\"intl\",datumName:\"Rassadiran\"},n.nzgd49={towgs84:\"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",ellipse:\"intl\",datumName:\"New Zealand Geodetic Datum 1949\"},n.osgb36={towgs84:\"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",ellipse:\"airy\",datumName:\"Airy 1830\"},n.s_jtsk={towgs84:\"589,76,480\",ellipse:\"bessel\",datumName:\"S-JTSK (Ferro)\"},n.beduaram={towgs84:\"-106,-87,188\",ellipse:\"clrk80\",datumName:\"Beduaram\"},n.gunung_segara={towgs84:\"-403,684,41\",ellipse:\"bessel\",datumName:\"Gunung Segara Jakarta\"},n.rnb72={towgs84:\"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",ellipse:\"intl\",datumName:\"Reseau National Belge 1972\"}},function(t,e,n){n.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"},n.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"},n.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"},n.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"},n.airy={a:6377563.396,b:6356256.91,ellipseName:\"Airy 1830\"},n.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"},n.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"},n.mod_airy={a:6377340.189,b:6356034.446,ellipseName:\"Modified Airy\"},n.andrae={a:6377104.43,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"},n.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"},n.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"},n.bessel={a:6377397.155,rf:299.1528128,ellipseName:\"Bessel 1841\"},n.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"},n.clrk66={a:6378206.4,b:6356583.8,ellipseName:\"Clarke 1866\"},n.clrk80={a:6378249.145,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"},n.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:\"Clarke 1858\"},n.CPM={a:6375738.7,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"},n.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"},n.engelis={a:6378136.05,rf:298.2566,ellipseName:\"Engelis 1985\"},n.evrst30={a:6377276.345,rf:300.8017,ellipseName:\"Everest 1830\"},n.evrst48={a:6377304.063,rf:300.8017,ellipseName:\"Everest 1948\"},n.evrst56={a:6377301.243,rf:300.8017,ellipseName:\"Everest 1956\"},n.evrst69={a:6377295.664,rf:300.8017,ellipseName:\"Everest 1969\"},n.evrstSS={a:6377298.556,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"},n.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"},n.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"},n.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"},n.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"},n.hough={a:6378270,rf:297,ellipseName:\"Hough\"},n.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"},n.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"},n.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"},n.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"},n.new_intl={a:6378157.5,b:6356772.2,ellipseName:\"New International 1967\"},n.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"},n.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"},n.SEasia={a:6378155,b:6356773.3205,ellipseName:\"Southeast Asia\"},n.walbeck={a:6376896,b:6355834.8467,ellipseName:\"Walbeck\"},n.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"},n.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"},n.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"},n.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"},n.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"}},function(t,e,n){n.greenwich=0,n.lisbon=-9.131906111111,n.paris=2.337229166667,n.bogota=-74.080916666667,n.madrid=-3.687938888889,n.rome=12.452333333333,n.bern=7.439583333333,n.jakarta=106.807719444444,n.ferro=-17.666666666667,n.brussels=4.367975,n.stockholm=18.058277777778,n.athens=23.7163375,n.oslo=10.722916666667},function(t,e,n){n.ft={to_meter:.3048},n[\"us-ft\"]={to_meter:1200/3937}},function(t,e,n){function i(t,e,n){var i;return Array.isArray(n)?(i=s(t,e,n),3===n.length?[i.x,i.y,i.z]:[i.x,i.y]):s(t,e,n)}function r(t){return t instanceof o?t:t.oProj?t.oProj:o(t)}var o=t(333),s=t(358),a=o(\"WGS84\");e.exports=function(t,e,n){t=r(t);var o,s=!1;void 0===e?(e=t,t=a,s=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=a,s=!0);return e=r(e),n?i(t,e,n):(o={forward:function(n){return i(t,e,n)},inverse:function(n){return i(e,t,n)}},s&&(o.oProj=e),o)}},function(t,e,n){var i=1,r=2,o=4,s=5,a=484813681109536e-20;e.exports=function(t,e,n,l,u,h){var c={};c.datum_type=o,t&&\"none\"===t&&(c.datum_type=s);e&&(c.datum_params=e.map(parseFloat),0===c.datum_params[0]&&0===c.datum_params[1]&&0===c.datum_params[2]||(c.datum_type=i),c.datum_params.length>3&&(0===c.datum_params[3]&&0===c.datum_params[4]&&0===c.datum_params[5]&&0===c.datum_params[6]||(c.datum_type=r,c.datum_params[3]*=a,c.datum_params[4]*=a,c.datum_params[5]*=a,c.datum_params[6]=c.datum_params[6]/1e6+1)));return c.a=n,c.b=l,c.es=u,c.ep2=h,c}},function(t,e,n){var i=Math.PI/2;n.compareDatums=function(t,e){return t.datum_type===e.datum_type&&(!(t.a!==e.a||Math.abs(this.es-e.es)>5e-11)&&(1===t.datum_type?this.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:2!==t.datum_type||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6]))},n.geodeticToGeocentric=function(t,e,n){var r,o,s,a,l=t.x,u=t.y,h=t.z?t.z:0;if(u<-i&&u>-1.001*i)u=-i;else if(u>i&&u<1.001*i)u=i;else if(u<-i||u>i)return null;return l>Math.PI&&(l-=2*Math.PI),o=Math.sin(u),a=Math.cos(u),s=o*o,r=n/Math.sqrt(1-e*s),{x:(r+h)*a*Math.cos(l),y:(r+h)*a*Math.sin(l),z:(r*(1-e)+h)*o}},n.geocentricToGeodetic=function(t,e,n,r){var o,s,a,l,u,h,c,_,p,d,f,m,v,g,y,b,x=t.x,w=t.y,k=t.z?t.z:0;if(o=Math.sqrt(x*x+w*w),s=Math.sqrt(x*x+w*w+k*k),o/n<1e-12){if(g=0,s/n<1e-12)return y=i,b=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(w,x);a=k/s,l=o/s,u=1/Math.sqrt(1-e*(2-e)*l*l),_=l*(1-e)*u,p=a*u,v=0;do{v++,c=n/Math.sqrt(1-e*p*p),h=e*c/(c+(b=o*_+k*p-c*(1-e*p*p))),u=1/Math.sqrt(1-h*(2-h)*l*l),m=(f=a*u)*_-(d=l*(1-h)*u)*p,_=d,p=f}while(m*m>1e-24&&v<30);return y=Math.atan(f/Math.abs(d)),{x:g,y:y,z:b}},n.geocentricToWgs84=function(t,e,n){if(1===e)return{x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(2===e){var i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],l=n[5],u=n[6];return{x:u*(t.x-l*t.y+a*t.z)+i,y:u*(l*t.x+t.y-s*t.z)+r,z:u*(-a*t.x+s*t.y+t.z)+o}}},n.geocentricFromWgs84=function(t,e,n){if(1===e)return{x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(2===e){var i=n[0],r=n[1],o=n[2],s=n[3],a=n[4],l=n[5],u=n[6],h=(t.x-i)/u,c=(t.y-r)/u,_=(t.z-o)/u;return{x:h+l*c-a*_,y:-l*h+c+s*_,z:a*h-s*c+_}}}},function(t,e,n){function i(t){return t===r||t===o}var r=1,o=2,s=t(347);e.exports=function(t,e,n){return s.compareDatums(t,e)?n:5===t.datum_type||5===e.datum_type?n:t.es!==e.es||t.a!==e.a||i(t.datum_type)||i(e.datum_type)?(n=s.geodeticToGeocentric(n,t.es,t.a),i(t.datum_type)&&(n=s.geocentricToWgs84(n,t.datum_type,t.datum_params)),i(e.datum_type)&&(n=s.geocentricFromWgs84(n,e.datum_type,e.datum_params)),s.geocentricToGeodetic(n,e.es,e.a,e.b)):n}},function(t,e,n){function i(t){var e=this;if(2===arguments.length){var n=arguments[1];i[t]=\"string\"==typeof n?\"+\"===n.charAt(0)?o(arguments[1]):s(arguments[1]):n}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?i.apply(e,t):i(t)});if(\"string\"==typeof t){if(t in i)return i[t]}else\"EPSG\"in t?i[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?i[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?i[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}var r=t(352),o=t(354),s=t(359);r(i),e.exports=i},function(t,e,n){var i=t(342);n.eccentricity=function(t,e,n,i){var r=t*t,o=e*e,s=(r-o)/r,a=0;i?(r=(t*=1-s*(.16666666666666666+s*(.04722222222222222+.022156084656084655*s)))*t,s=0):a=Math.sqrt(s);var l=(r-o)/o;return{es:s,e:a,ep2:l}},n.sphere=function(t,e,n,r,o){if(!t){var s=i[r];s||(s=i.WGS84),t=s.a,e=s.b,n=s.rf}return n&&!e&&(e=(1-1/n)*t),(0===n||Math.abs(t-e)<1e-10)&&(o=!0,e=t),{a:t,b:e,rf:n,sphere:o}}},function(t,e,n){e.exports=function(t,e){t=t||{};var n,i;if(!e)return t;for(i in e)void 0!==(n=e[i])&&(t[i]=n);return t}},function(t,e,n){e.exports=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},function(t,e,n){var i=t(349),r=t(359),o=t(354),s=[\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\"];e.exports=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in i}(t))return i[t];if(function(t){return s.some(function(e){return t.indexOf(e)>-1})}(t))return r(t);if(function(t){return\"+\"===t[0]}(t))return o(t)}},function(t,e,n){var i=.017453292519943295,r=t(343),o=t(344);e.exports=function(t){var e,n,s,a={},l=t.split(\"+\").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,e){var n=e.split(\"=\");return n.push(!0),t[n[0].toLowerCase()]=n[1],t},{}),u={proj:\"projName\",datum:\"datumCode\",rf:function(t){a.rf=parseFloat(t)},lat_0:function(t){a.lat0=t*i},lat_1:function(t){a.lat1=t*i},lat_2:function(t){a.lat2=t*i},lat_ts:function(t){a.lat_ts=t*i},lon_0:function(t){a.long0=t*i},lon_1:function(t){a.long1=t*i},lon_2:function(t){a.long2=t*i},alpha:function(t){a.alpha=parseFloat(t)*i},lonc:function(t){a.longc=t*i},x_0:function(t){a.x0=parseFloat(t)},y_0:function(t){a.y0=parseFloat(t)},k_0:function(t){a.k0=parseFloat(t)},k:function(t){a.k0=parseFloat(t)},a:function(t){a.a=parseFloat(t)},b:function(t){a.b=parseFloat(t)},r_a:function(){a.R_A=!0},zone:function(t){a.zone=parseInt(t,10)},south:function(){a.utmSouth=!0},towgs84:function(t){a.datum_params=t.split(\",\").map(function(t){return parseFloat(t)})},to_meter:function(t){a.to_meter=parseFloat(t)},units:function(t){a.units=t,o[t]&&(a.to_meter=o[t].to_meter)},from_greenwich:function(t){a.from_greenwich=t*i},pm:function(t){a.from_greenwich=(r[t]?r[t]:parseFloat(t))*i},nadgrids:function(t){\"@null\"===t?a.datumCode=\"none\":a.nadgrids=t},axis:function(t){3===t.length&&-1!==\"ewnsud\".indexOf(t.substr(0,1))&&-1!==\"ewnsud\".indexOf(t.substr(1,1))&&-1!==\"ewnsud\".indexOf(t.substr(2,1))&&(a.axis=t)}};for(e in l)n=l[e],e in u?\"function\"==typeof(s=u[e])?s(n):a[s]=n:a[e]=n;return\"string\"==typeof a.datumCode&&\"WGS84\"!==a.datumCode&&(a.datumCode=a.datumCode.toLowerCase()),a}},function(t,e,n){function i(t,e){var n=s.length;return t.names?(s[n]=t,t.names.forEach(function(t){o[t.toLowerCase()]=n}),this):(console.log(e),!0)}var r=[t(357),t(356)],o={},s=[];n.add=i,n.get=function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==o[e]&&s[o[e]]?s[o[e]]:void 0},n.start=function(){r.forEach(i)}},function(t,e,n){function i(t){return t}n.init=function(){},n.forward=i,n.inverse=i,n.names=[\"longlat\",\"identity\"]},function(t,e,n){var i=t(336),r=Math.PI/2,o=57.29577951308232,s=t(335),a=Math.PI/4,l=t(340),u=t(337);n.init=function(){var t=this.b/this.a;this.es=1-t*t,\"x0\"in this||(this.x0=0),\"y0\"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=i(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},n.forward=function(t){var e=t.x,n=t.y;if(n*o>90&&n*o<-90&&e*o>180&&e*o<-180)return null;var i,u;if(Math.abs(Math.abs(n)-r)<=1e-10)return null;if(this.sphere)i=this.x0+this.a*this.k0*s(e-this.long0),u=this.y0+this.a*this.k0*Math.log(Math.tan(a+.5*n));else{var h=Math.sin(n),c=l(this.e,n,h);i=this.x0+this.a*this.k0*s(e-this.long0),u=this.y0-this.a*this.k0*Math.log(c)}return t.x=i,t.y=u,t},n.inverse=function(t){var e,n,i=t.x-this.x0,o=t.y-this.y0;if(this.sphere)n=r-2*Math.atan(Math.exp(-o/(this.a*this.k0)));else{var a=Math.exp(-o/(this.a*this.k0));if(-9999===(n=u(this.e,a)))return null}return e=s(this.long0+i/(this.a*this.k0)),t.x=e,t.y=n,t},n.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"]},function(t,e,n){var i=1,r=2,o=t(348),s=t(334),a=t(333),l=t(339);e.exports=function t(e,n,u){var h;return Array.isArray(u)&&(u=l(u)),e.datum&&n.datum&&function(t,e){return(t.datum.datum_type===i||t.datum.datum_type===r)&&\"WGS84\"!==e.datumCode||(e.datum.datum_type===i||e.datum.datum_type===r)&&\"WGS84\"!==t.datumCode}(e,n)&&(h=new a(\"WGS84\"),u=t(e,h,u),e=h),\"enu\"!==e.axis&&(u=s(e,!1,u)),\"longlat\"===e.projName?u={x:.017453292519943295*u.x,y:.017453292519943295*u.y}:(e.to_meter&&(u={x:u.x*e.to_meter,y:u.y*e.to_meter}),u=e.inverse(u)),e.from_greenwich&&(u.x+=e.from_greenwich),u=o(e.datum,n.datum,u),n.from_greenwich&&(u={x:u.x-n.grom_greenwich,y:u.y}),\"longlat\"===n.projName?u={x:57.29577951308232*u.x,y:57.29577951308232*u.y}:(u=n.forward(u),n.to_meter&&(u={x:u.x/n.to_meter,y:u.y/n.to_meter})),\"enu\"!==n.axis?s(n,!0,u):u}},function(t,e,n){function i(t,e,n){t[e]=n.map(function(t){var e={};return r(t,e),e}).reduce(function(t,e){return a(t,e)},{})}function r(t,e){var n;Array.isArray(t)?(\"PARAMETER\"===(n=t.shift())&&(n=t.shift()),1===t.length?Array.isArray(t[0])?(e[n]={},r(t[0],e[n])):e[n]=t[0]:t.length?\"TOWGS84\"===n?e[n]=t:(e[n]={},[\"UNIT\",\"PRIMEM\",\"VERT_DATUM\"].indexOf(n)>-1?(e[n]={name:t[0].toLowerCase(),convert:t[1]},3===t.length&&(e[n].auth=t[2])):\"SPHEROID\"===n?(e[n]={name:t[0],a:t[1],rf:t[2]},4===t.length&&(e[n].auth=t[3])):[\"GEOGCS\",\"GEOCCS\",\"DATUM\",\"VERT_CS\",\"COMPD_CS\",\"LOCAL_CS\",\"FITTED_CS\",\"LOCAL_DATUM\"].indexOf(n)>-1?(t[0]=[\"name\",t[0]],i(e,n,t)):t.every(function(t){return Array.isArray(t)})?i(e,n,t):r(t,e[n])):e[n]=!0):e[t]=!0}function o(t){return t*s}var s=.017453292519943295,a=t(351);e.exports=function(t,e){var n=JSON.parse((\",\"+t).replace(/\\s*\\,\\s*([A-Z_0-9]+?)(\\[)/g,',[\"$1\",').slice(1).replace(/\\s*\\,\\s*([A-Z_0-9]+?)\\]/g,',\"$1\"]').replace(/,\\[\"VERTCS\".+/,\"\")),i=n.shift(),s=n.shift();n.unshift([\"name\",s]),n.unshift([\"type\",i]),n.unshift(\"output\");var l={};return r(n,l),function(t){function e(e){var n=t.to_meter||1;return parseFloat(e,10)*n}\"GEOGCS\"===t.type?t.projName=\"longlat\":\"LOCAL_CS\"===t.type?(t.projName=\"identity\",t.local=!0):\"object\"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION;t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),\"metre\"===t.units&&(t.units=\"meter\"),t.UNIT.convert&&(\"GEOGCS\"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=parseFloat(t.UNIT.convert,10)*t.DATUM.SPHEROID.a):t.to_meter=parseFloat(t.UNIT.convert,10)));t.GEOGCS&&(t.GEOGCS.DATUM?t.datumCode=t.GEOGCS.DATUM.name.toLowerCase():t.datumCode=t.GEOGCS.name.toLowerCase(),\"d_\"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),\"new_zealand_geodetic_datum_1949\"!==t.datumCode&&\"new_zealand_1949\"!==t.datumCode||(t.datumCode=\"nzgd49\"),\"wgs_1984\"===t.datumCode&&(\"Mercator_Auxiliary_Sphere\"===t.PROJECTION&&(t.sphere=!0),t.datumCode=\"wgs84\"),\"_ferro\"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),\"_jakarta\"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf(\"belge\")&&(t.datumCode=\"rnb72\"),t.GEOGCS.DATUM&&t.GEOGCS.DATUM.SPHEROID&&(t.ellps=t.GEOGCS.DATUM.SPHEROID.name.replace(\"_19\",\"\").replace(/[Cc]larke\\_18/,\"clrk\"),\"international\"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps=\"intl\"),t.a=t.GEOGCS.DATUM.SPHEROID.a,t.rf=parseFloat(t.GEOGCS.DATUM.SPHEROID.rf,10)),~t.datumCode.indexOf(\"osgb_1936\")&&(t.datumCode=\"osgb36\"));t.b&&!isFinite(t.b)&&(t.b=t.a);[[\"standard_parallel_1\",\"Standard_Parallel_1\"],[\"standard_parallel_2\",\"Standard_Parallel_2\"],[\"false_easting\",\"False_Easting\"],[\"false_northing\",\"False_Northing\"],[\"central_meridian\",\"Central_Meridian\"],[\"latitude_of_origin\",\"Latitude_Of_Origin\"],[\"latitude_of_origin\",\"Central_Parallel\"],[\"scale_factor\",\"Scale_Factor\"],[\"k0\",\"scale_factor\"],[\"latitude_of_center\",\"Latitude_of_center\"],[\"lat0\",\"latitude_of_center\",o],[\"longitude_of_center\",\"Longitude_Of_Center\"],[\"longc\",\"longitude_of_center\",o],[\"x0\",\"false_easting\",e],[\"y0\",\"false_northing\",e],[\"long0\",\"central_meridian\",o],[\"lat0\",\"latitude_of_origin\",o],[\"lat0\",\"standard_parallel_1\",o],[\"lat1\",\"standard_parallel_1\",o],[\"lat2\",\"standard_parallel_2\",o],[\"alpha\",\"azimuth\",o],[\"srsCode\",\"name\"]].forEach(function(e){return function(t,e){var n=e[0],i=e[1];!(n in t)&&i in t&&(t[n]=t[i],3===e.length&&(t[n]=e[2](t[n])))}(t,e)}),t.long0||!t.longc||\"Albers_Conic_Equal_Area\"!==t.projName&&\"Lambert_Azimuthal_Equal_Area\"!==t.projName||(t.long0=t.longc);t.lat_ts||!t.lat1||\"Stereographic_South_Pole\"!==t.projName&&\"Polar Stereographic (variant B)\"!==t.projName||(t.lat0=o(t.lat1>0?90:-90),t.lat_ts=t.lat1)}(l.output),a(e,l.output)}},function(t,e,n){function i(t,e,n,o,s){for(n=n||0,o=o||t.length-1,s=s||function(t,e){return t<e?-1:t>e?1:0};o>n;){if(o-n>600){var a=o-n+1,l=e-n+1,u=Math.log(a),h=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*h*(a-h)/a)*(l-a/2<0?-1:1),_=Math.max(n,Math.floor(e-l*h/a+c)),p=Math.min(o,Math.floor(e+(a-l)*h/a+c));i(t,e,_,p,s)}var d=t[e],f=n,m=o;for(r(t,n,e),s(t[o],d)>0&&r(t,n,o);f<m;){for(r(t,f,m),f++,m--;s(t[f],d)<0;)f++;for(;s(t[m],d)>0;)m--}0===s(t[n],d)?r(t,n,m):r(t,++m,o),m<=e&&(n=m+1),e<=m&&(o=m-1)}}function r(t,e,n){var i=t[e];t[e]=t[n],t[n]=i}e.exports=i},function(t,e,n){function i(t,e){if(!(this instanceof i))return new i(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function r(t,e){o(t,0,t.children.length,e,t)}function o(t,e,n,i,r){r||(r=p(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(var o,a=e;a<n;a++)o=t.children[a],s(r,t.leaf?i(o):o);return r}function s(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function a(t,e){return t.minX-e.minX}function l(t,e){return t.minY-e.minY}function u(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function h(t){return t.maxX-t.minX+(t.maxY-t.minY)}function c(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function _(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function p(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(t,e,n,i,r){for(var o,s=[e,n];s.length;)n=s.pop(),e=s.pop(),n-e<=i||(o=e+Math.ceil((n-e)/i/2)*i,f(t,o,e,n,r),s.push(e,o,o,n))}e.exports=i;var f=t(360);i.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,n=[],i=this.toBBox;if(!_(t,e))return n;for(var r,o,s,a,l=[];e;){for(r=0,o=e.children.length;r<o;r++)s=e.children[r],a=e.leaf?i(s):s,_(t,a)&&(e.leaf?n.push(s):c(t,a)?this._all(s,n):l.push(s));e=l.pop()}return n},collides:function(t){var e=this.data,n=this.toBBox;if(!_(t,e))return!1;for(var i,r,o,s,a=[];e;){for(i=0,r=e.children.length;i<r;i++)if(o=e.children[i],s=e.leaf?n(o):o,_(t,s)){if(e.leaf||c(t,s))return!0;a.push(o)}e=a.pop()}return!1},load:function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var e=0,n=t.length;e<n;e++)this.insert(t[e]);return this}var i=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===i.height)this._splitRoot(this.data,i);else{if(this.data.height<i.height){var r=this.data;this.data=i,i=r}this._insert(i,this.data.height-i.height-1,!0)}else this.data=i;return this},insert:function(t){return t&&this._insert(t,this.data.height-1),this},clear:function(){return this.data=p([]),this},remove:function(t,e){if(!t)return this;for(var n,i,r,o,s=this.data,a=this.toBBox(t),l=[],u=[];s||l.length;){if(s||(s=l.pop(),i=l[l.length-1],n=u.pop(),o=!0),s.leaf&&-1!==(r=function(t,e,n){if(!n)return e.indexOf(t);for(var i=0;i<e.length;i++)if(n(t,e[i]))return i;return-1}(t,s.children,e)))return s.children.splice(r,1),l.push(s),this._condense(l),this;o||s.leaf||!c(s,a)?i?(n++,s=i.children[n],o=!1):s=null:(l.push(s),u.push(n),n=0,i=s,s=s.children[0])}return this},toBBox:function(t){return t},compareMinX:a,compareMinY:l,toJSON:function(){return this.data},fromJSON:function(t){return this.data=t,this},_all:function(t,e){for(var n=[];t;)t.leaf?e.push.apply(e,t.children):n.push.apply(n,t.children),t=n.pop();return e},_build:function(t,e,n,i){var o,s=n-e+1,a=this._maxEntries;if(s<=a)return o=p(t.slice(e,n+1)),r(o,this.toBBox),o;i||(i=Math.ceil(Math.log(s)/Math.log(a)),a=Math.ceil(s/Math.pow(a,i-1))),(o=p([])).leaf=!1,o.height=i;var l,u,h,c,_=Math.ceil(s/a),f=_*Math.ceil(Math.sqrt(a));for(d(t,e,n,f,this.compareMinX),l=e;l<=n;l+=f)for(h=Math.min(l+f-1,n),d(t,l,h,_,this.compareMinY),u=l;u<=h;u+=_)c=Math.min(u+_-1,h),o.children.push(this._build(t,u,c,i-1));return r(o,this.toBBox),o},_chooseSubtree:function(t,e,n,i){for(var r,o,s,a,l,h,c,_;i.push(e),!e.leaf&&i.length-1!==n;){for(c=_=1/0,r=0,o=e.children.length;r<o;r++)s=e.children[r],l=u(s),(h=function(t,e){return(Math.max(e.maxX,t.maxX)-Math.min(e.minX,t.minX))*(Math.max(e.maxY,t.maxY)-Math.min(e.minY,t.minY))}(t,s)-l)<_?(_=h,c=l<c?l:c,a=s):h===_&&l<c&&(c=l,a=s);e=a||e.children[0]}return e},_insert:function(t,e,n){var i=this.toBBox,r=n?t:i(t),o=[],a=this._chooseSubtree(r,this.data,e,o);for(a.children.push(t),s(a,r);e>=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(r,o,e)},_split:function(t,e){var n=t[e],i=n.children.length,o=this._minEntries;this._chooseSplitAxis(n,o,i);var s=this._chooseSplitIndex(n,o,i),a=p(n.children.splice(s,n.children.length-s));a.height=n.height,a.leaf=n.leaf,r(n,this.toBBox),r(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(n,a)},_splitRoot:function(t,e){this.data=p([t,e]),this.data.height=t.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var i,r,s,a,l,h,c,_;for(h=c=1/0,i=e;i<=n-e;i++)r=o(t,0,i,this.toBBox),s=o(t,i,n,this.toBBox),a=function(t,e){var n=Math.max(t.minX,e.minX),i=Math.max(t.minY,e.minY),r=Math.min(t.maxX,e.maxX),o=Math.min(t.maxY,e.maxY);return Math.max(0,r-n)*Math.max(0,o-i)}(r,s),l=u(r)+u(s),a<h?(h=a,_=i,c=l<c?l:c):a===h&&l<c&&(c=l,_=i);return _},_chooseSplitAxis:function(t,e,n){var i=t.leaf?this.compareMinX:a,r=t.leaf?this.compareMinY:l,o=this._allDistMargin(t,e,n,i),s=this._allDistMargin(t,e,n,r);o<s&&t.children.sort(i)},_allDistMargin:function(t,e,n,i){t.children.sort(i);var r,a,l=this.toBBox,u=o(t,0,e,l),c=o(t,n-e,n,l),_=h(u)+h(c);for(r=e;r<n-e;r++)a=t.children[r],s(u,t.leaf?l(a):a),_+=h(u);for(r=n-e-1;r>=e;r--)a=t.children[r],s(c,t.leaf?l(a):a),_+=h(c);return _},_adjustParentBBoxes:function(t,e,n){for(var i=n;i>=0;i--)s(e[i],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():r(t[n],this.toBBox)},_initFormat:function(t){var e=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",e.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",e.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}}},function(t,e,n){!function(){\"use strict\";function t(e){return function(e,n){var r,o,s,a,l,u,h,c,_,p=1,d=e.length,f=\"\";for(o=0;o<d;o++)if(\"string\"==typeof e[o])f+=e[o];else if(Array.isArray(e[o])){if((a=e[o])[2])for(r=n[p],s=0;s<a[2].length;s++){if(!r.hasOwnProperty(a[2][s]))throw new Error(t('[sprintf] property \"%s\" does not exist',a[2][s]));r=r[a[2][s]]}else r=a[1]?n[a[1]]:n[p++];if(i.not_type.test(a[8])&&i.not_primitive.test(a[8])&&r instanceof Function&&(r=r()),i.numeric_arg.test(a[8])&&\"number\"!=typeof r&&isNaN(r))throw new TypeError(t(\"[sprintf] expecting number but found %T\",r));switch(i.number.test(a[8])&&(c=r>=0),a[8]){case\"b\":r=parseInt(r,10).toString(2);break;case\"c\":r=String.fromCharCode(parseInt(r,10));break;case\"d\":case\"i\":r=parseInt(r,10);break;case\"j\":r=JSON.stringify(r,null,a[6]?parseInt(a[6]):0);break;case\"e\":r=a[7]?parseFloat(r).toExponential(a[7]):parseFloat(r).toExponential();break;case\"f\":r=a[7]?parseFloat(r).toFixed(a[7]):parseFloat(r);break;case\"g\":r=a[7]?String(Number(r.toPrecision(a[7]))):parseFloat(r);break;case\"o\":r=(parseInt(r,10)>>>0).toString(8);break;case\"s\":r=String(r),r=a[7]?r.substring(0,a[7]):r;break;case\"t\":r=String(!!r),r=a[7]?r.substring(0,a[7]):r;break;case\"T\":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=a[7]?r.substring(0,a[7]):r;break;case\"u\":r=parseInt(r,10)>>>0;break;case\"v\":r=r.valueOf(),r=a[7]?r.substring(0,a[7]):r;break;case\"x\":r=(parseInt(r,10)>>>0).toString(16);break;case\"X\":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(a[8])?f+=r:(!i.number.test(a[8])||c&&!a[3]?_=\"\":(_=c?\"+\":\"-\",r=r.toString().replace(i.sign,\"\")),u=a[4]?\"0\"===a[4]?\"0\":a[4].charAt(1):\" \",h=a[6]-(_+r).length,l=a[6]&&h>0?u.repeat(h):\"\",f+=a[5]?_+r+l:\"0\"===u?_+l+r:l+_+r)}return f}(function(t){if(r[t])return r[t];var e,n=t,o=[],s=0;for(;n;){if(null!==(e=i.text.exec(n)))o.push(e[0]);else if(null!==(e=i.modulo.exec(n)))o.push(\"%\");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(e[2]){s|=1;var a=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(a.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))a.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");a.push(u[1])}e[2]=a}else s|=2;if(3===s)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");o.push(e)}n=n.substring(e[0].length)}return r[t]=o}(e),arguments)}function e(e,n){return t.apply(null,[e].concat(n||[]))}var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/},r=Object.create(null);void 0!==n&&(n.sprintf=t,n.vsprintf=e),\"undefined\"!=typeof window&&(window.sprintf=t,window.vsprintf=e)}()},function(t,e,n){!function(t){\"object\"==typeof e&&e.exports?e.exports=t():this.tz=t()}(function(){function t(t,e,n){var i,r=e.day[1];do{i=new Date(Date.UTC(n,e.month,Math.abs(r++)))}while(e.day[0]<7&&i.getUTCDay()!=e.day[0]);return i={clock:e.clock,sort:i.getTime(),rule:e,save:6e4*e.save,offset:t.offset},i[i.clock]=i.sort+6e4*e.time,i.posix?i.wallclock=i[i.clock]+(t.offset+e.saved):i.posix=i[i.clock]-(t.offset+e.saved),i}function e(e,n,i){var r,o,s,a,l,u,h,c=e[e.zone],_=[],p=new Date(i).getUTCFullYear(),d=1;for(r=1,o=c.length;r<o&&!(c[r][n]<=i);r++);if((s=c[r]).rules){for(u=e[s.rules],h=p+1;h>=p-d;--h)for(r=0,o=u.length;r<o;r++)u[r].from<=h&&h<=u[r].to?_.push(t(s,u[r],h)):u[r].to<h&&1==d&&(d=h-u[r].to);for(_.sort(function(t,e){return t.sort-e.sort}),r=0,o=_.length;r<o;r++)i>=_[r][n]&&_[r][_[r].clock]>s[_[r].clock]&&(a=_[r])}return a&&((l=/^(.*)\\/(.*)$/.exec(s.format))?a.abbrev=l[a.save?2:1]:a.abbrev=s.format.replace(/%s/,a.rule.letter)),a||s}function n(t,n){return\"UTC\"==t.zone?n:(t.entry=e(t,\"posix\",n),n+t.entry.offset+t.entry.save)}function i(t,n){if(\"UTC\"==t.zone)return n;var i,r;return t.entry=i=e(t,\"wallclock\",n),0<(r=n-i.wallclock)&&r<i.save?null:n-i.offset-i.save}function r(t,e,r){var o,s=+(r[1]+1),a=r[2]*s,u=l.indexOf(r[3].toLowerCase());if(u>9)e+=a*h[u-10];else{if(o=new Date(n(t,e)),u<7)for(;a;)o.setUTCDate(o.getUTCDate()+s),o.getUTCDay()==u&&(a-=s);else 7==u?o.setUTCFullYear(o.getUTCFullYear()+a):8==u?o.setUTCMonth(o.getUTCMonth()+a):o.setUTCDate(o.getUTCDate()+a);null==(e=i(t,o.getTime()))&&(e=i(t,o.getTime()+864e5*s)-864e5*s)}return e}function o(t,e){var n,i,r;return i=new Date(Date.UTC(t.getUTCFullYear(),0)),n=Math.floor((t.getTime()-i.getTime())/864e5),i.getUTCDay()==e?r=0:8==(r=7-i.getUTCDay()+e)&&(r=1),n>=r?Math.floor((n-r)/7)+1:0}function s(t){var e,n,i;return n=t.getUTCFullYear(),e=new Date(Date.UTC(n,0)).getUTCDay(),(i=o(t,1)+(e>1&&e<=4?1:0))?53!=i||4==e||3==e&&29==new Date(n,1,29).getDate()?[i,t.getUTCFullYear()]:[1,t.getUTCFullYear()+1]:(n=t.getUTCFullYear()-1,e=new Date(Date.UTC(n,0)).getUTCDay(),i=4==e||3==e&&29==new Date(n,1,29).getDate()?53:52,[i,t.getUTCFullYear()-1])}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(t,e,n,i){var r,o,s=this.entry.offset+this.entry.save,a=Math.abs(s/1e3),l=[],u=3600;for(r=0;r<3;r++)l.push((\"0\"+Math.floor(a/u)).slice(-2)),a%=u,u/=60;return\"^\"!=n||s?(\"^\"==n&&(i=3),3==i?(o=(o=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(o=o.replace(/:00$/,\"\"))):i?(o=l.slice(0,i+1).join(\":\"),\"^\"==n&&(o=o.replace(/:00$/,\"\"))):o=l.slice(0,2).join(\"\"),o=(s<0?\"-\":\"+\")+o,o=o.replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(t){return\"%\"},n:function(t){return\"\\n\"},t:function(t){return\"\\t\"},U:function(t){return o(t,0)},W:function(t){return o(t,1)},V:function(t){return s(t)[0]},G:function(t){return s(t)[1]},g:function(t){return s(t)[1]%100},j:function(t){return Math.floor((t.getTime()-Date.UTC(t.getUTCFullYear(),0))/864e5)+1},s:function(t){return Math.floor(t.getTime()/1e3)},C:function(t){return Math.floor(t.getUTCFullYear()/100)},N:function(t){return t.getTime()%1e3*1e6},m:function(t){return t.getUTCMonth()+1},Y:function(t){return t.getUTCFullYear()},y:function(t){return t.getUTCFullYear()%100},H:function(t){return t.getUTCHours()},M:function(t){return t.getUTCMinutes()},S:function(t){return t.getUTCSeconds()},e:function(t){return t.getUTCDate()},d:function(t){return t.getUTCDate()},u:function(t){return t.getUTCDay()||7},w:function(t){return t.getUTCDay()},l:function(t){return t.getUTCHours()%12||12},I:function(t){return t.getUTCHours()%12||12},k:function(t){return t.getUTCHours()},Z:function(t){return this.entry.abbrev},a:function(t){return this[this.locale].day.abbrev[t.getUTCDay()]},A:function(t){return this[this.locale].day.full[t.getUTCDay()]},h:function(t){return this[this.locale].month.abbrev[t.getUTCMonth()]},b:function(t){return this[this.locale].month.abbrev[t.getUTCMonth()]},B:function(t){return this[this.locale].month.full[t.getUTCMonth()]},P:function(t){return this[this.locale].meridiem[Math.floor(t.getUTCHours()/12)].toLowerCase()},p:function(t){return this[this.locale].meridiem[Math.floor(t.getUTCHours()/12)]},R:function(t,e){return this.convert([e,\"%H:%M\"])},T:function(t,e){return this.convert([e,\"%H:%M:%S\"])},D:function(t,e){return this.convert([e,\"%m/%d/%y\"])},F:function(t,e){return this.convert([e,\"%Y-%m-%d\"])},x:function(t,e){return this.convert([e,this[this.locale].date])},r:function(t,e){return this.convert([e,this[this.locale].time12||\"%I:%M:%S\"])},X:function(t,e){return this.convert([e,this[this.locale].time24])},c:function(t,e){return this.convert([e,this[this.locale].dateTime])},convert:function(t){if(!t.length)return\"1.0.13\";var e,o,s,a,l,h=Object.create(this),c=[];for(e=0;e<t.length;e++)if(a=t[e],Array.isArray(a))e||isNaN(a[1])?a.splice.apply(t,[e--,1].concat(a)):l=a;else if(isNaN(a)){if(\"string\"==(s=typeof a))~a.indexOf(\"%\")?h.format=a:e||\"*\"!=a?!e&&(s=/^(\\d{4})-(\\d{2})-(\\d{2})(?:[T\\s](\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d+))?)?(Z|(([+-])(\\d{2}(:\\d{2}){0,2})))?)?$/.exec(a))?((l=[]).push.apply(l,s.slice(1,8)),s[9]?(l.push(s[10]+1),l.push.apply(l,s[11].split(/:/))):s[8]&&l.push(1)):/^\\w{2,3}_\\w{2}$/.test(a)?h.locale=a:(s=u.exec(a))?c.push(s):h.zone=a:l=a;else if(\"function\"==s){if(s=a.call(h))return s}else if(/^\\w{2,3}_\\w{2}$/.test(a.name))h[a.name]=a;else if(a.zones){for(s in a.zones)h[s]=a.zones[s];for(s in a.rules)h[s]=a.rules[s]}}else e||(l=a);h[h.locale]||delete h.locale;h[h.zone]||delete h.zone;if(null!=l){if(\"*\"==l)l=h.clock();else if(Array.isArray(l)){for(s=[],o=!l[7],e=0;e<11;e++)s[e]=+(l[e]||0);--s[1],l=Date.UTC.apply(Date.UTC,s)+-s[7]*(36e5*s[8]+6e4*s[9]+1e3*s[10])}else l=Math.floor(l);if(!isNaN(l)){if(o&&(l=i(h,l)),null==l)return l;for(e=0,o=c.length;e<o;e++)l=r(h,l,c[e]);return h.format?(s=new Date(n(h,l)),h.format.replace(/%([-0_^]?)(:{0,3})(\\d*)(.)/g,function(t,e,n,i,r){var o,a,u=\"0\";if(o=h[r]){for(t=String(o.call(h,s,l,e,n.length)),\"_\"==(e||o.style)&&(u=\" \"),a=\"-\"==e?0:o.pad||0;t.length<a;)t=u+t;for(a=\"-\"==e?0:i||o.pad;t.length<a;)t=u+t;\"N\"==r&&a<t.length&&(t=t.slice(0,a)),\"^\"==e&&(t=t.toUpperCase())}return t})):l}}return function(){return h.convert(arguments)}},locale:\"en_US\",en_US:{date:\"%m/%d/%Y\",time24:\"%I:%M:%S %p\",time12:\"%I:%M:%S %p\",dateTime:\"%a %d %b %Y %I:%M:%S %p %Z\",meridiem:[\"AM\",\"PM\"],month:{abbrev:\"Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec\".split(\"|\"),full:\"January|February|March|April|May|June|July|August|September|October|November|December\".split(\"|\")},day:{abbrev:\"Sun|Mon|Tue|Wed|Thu|Fri|Sat\".split(\"|\"),full:\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday\".split(\"|\")}}},l=\"Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|year|month|day|hour|minute|second|millisecond\",u=new RegExp(\"^\\\\s*([+-])(\\\\d+)\\\\s+(\"+l+\")s?\\\\s*$\",\"i\"),h=[36e5,6e4,1e3,1];return l=l.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,function(t){a[t].pad=2}),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}})},/*! *****************************************************************************\n      Copyright (c) Microsoft Corporation. All rights reserved.\n      Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n      this file except in compliance with the License. You may obtain a copy of the\n      License at http://www.apache.org/licenses/LICENSE-2.0\n\n      THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n      KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n      WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n      MERCHANTABLITY OR NON-INFRINGEMENT.\n\n      See the Apache Version 2.0 License for specific language governing permissions\n      and limitations under the License.\n      ***************************************************************************** */\n      function(t,e,n){var i,r,o,s,a,l,u,h,c,_,p,d,f,m,v,g,y;!function(t){function n(t,e){return\"function\"==typeof Object.create?Object.defineProperty(t,\"__esModule\",{value:!0}):t.__esModule=!0,function(n,i){return t[n]=e?e(n,i):i}}var i=\"object\"==typeof global?global:\"object\"==typeof self?self:\"object\"==typeof this?this:{};t(\"object\"==typeof e&&\"object\"==typeof e.exports?n(i,n(e.exports)):n(i))}(function(t){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};i=function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)},r=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++){e=arguments[n];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},o=function(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols)for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&(n[i[r]]=t[i[r]]);return n},s=function(t,e,n,i){var r,o=arguments.length,s=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,i);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o<3?r(s):o>3?r(e,n,s):r(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},a=function(t,e){return function(n,i){e(n,i,t)}},l=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},u=function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function s(t){try{l(i.next(t))}catch(t){o(t)}}function a(t){try{l(i.throw(t))}catch(t){o(t)}}function l(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(s,a)}l((i=i.apply(t,e||[])).next())})},h=function(t,e){function n(n){return function(s){return function(n){if(i)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(i=1,r&&(o=r[2&n[0]?\"return\":n[0]?\"throw\":\"next\"])&&!(o=o.call(r,n[1])).done)return o;switch(r=0,o&&(n=[0,o.value]),n[0]){case 0:case 1:o=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,r=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(o=a.trys,!(o=o.length>0&&o[o.length-1])&&(6===n[0]||2===n[0])){a=0;continue}if(3===n[0]&&(!o||n[1]>o[0]&&n[1]<o[3])){a.label=n[1];break}if(6===n[0]&&a.label<o[1]){a.label=o[1],o=n;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(n);break}o[2]&&a.ops.pop(),a.trys.pop();continue}n=e.call(t,a)}catch(t){n=[6,t],r=0}finally{i=o=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}var i,r,o,s,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:n(0),throw:n(1),return:n(2)},\"function\"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},c=function(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])},_=function(t){var e=\"function\"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}},p=function(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,r,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)s.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return s},d=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(p(arguments[e]));return t},f=function(t){return this instanceof f?(this.v=t,this):new f(t)},m=function(t,e,n){function i(t){u[t]&&(l[t]=function(e){return new Promise(function(n,i){h.push([t,e,n,i])>1||r(t,e)})})}function r(t,e){try{!function(t){t.value instanceof f?Promise.resolve(t.value.v).then(o,s):a(h[0][2],t)}(u[t](e))}catch(t){a(h[0][3],t)}}function o(t){r(\"next\",t)}function s(t){r(\"throw\",t)}function a(t,e){t(e),h.shift(),h.length&&r(h[0][0],h[0][1])}if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var l,u=n.apply(t,e||[]),h=[];return l={},i(\"next\"),i(\"throw\"),i(\"return\"),l[Symbol.asyncIterator]=function(){return this},l},v=function(t){function e(e,r){t[e]&&(n[e]=function(n){return(i=!i)?{value:f(t[e](n)),done:\"return\"===e}:r?r(n):n})}var n,i;return n={},e(\"next\"),e(\"throw\",function(t){throw t}),e(\"return\"),n[Symbol.iterator]=function(){return this},n},g=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e=t[Symbol.asyncIterator];return e?e.call(t):\"function\"==typeof _?_(t):t[Symbol.iterator]()},y=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t},t(\"__extends\",i),t(\"__assign\",r),t(\"__rest\",o),t(\"__decorate\",s),t(\"__param\",a),t(\"__metadata\",l),t(\"__awaiter\",u),t(\"__generator\",h),t(\"__exportStar\",c),t(\"__values\",_),t(\"__read\",p),t(\"__spread\",d),t(\"__await\",f),t(\"__asyncGenerator\",m),t(\"__asyncDelegator\",v),t(\"__asyncValues\",g),t(\"__makeTemplateObject\",y)})}],{base:0,\"client/connection\":1,\"client/session\":2,\"core/bokeh_events\":3,\"core/build_views\":4,\"core/dom\":5,\"core/dom_view\":6,\"core/enums\":7,\"core/has_props\":8,\"core/hittest\":9,\"core/layout/alignments\":10,\"core/layout/layout_canvas\":11,\"core/layout/side_panel\":12,\"core/layout/solver\":13,\"core/logging\":14,\"core/properties\":15,\"core/property_mixins\":16,\"core/selection_manager\":17,\"core/selector\":18,\"core/settings\":19,\"core/signaling\":20,\"core/ui_events\":21,\"core/util/array\":22,\"core/util/bbox\":23,\"core/util/callback\":24,\"core/util/canvas\":25,\"core/util/color\":26,\"core/util/data_structures\":27,\"core/util/eq\":28,\"core/util/math\":29,\"core/util/object\":30,\"core/util/proj4\":31,\"core/util/projections\":32,\"core/util/refs\":33,\"core/util/selection\":34,\"core/util/serialization\":35,\"core/util/spatial\":36,\"core/util/string\":37,\"core/util/svg_colors\":38,\"core/util/templating\":39,\"core/util/text\":40,\"core/util/throttle\":41,\"core/util/types\":42,\"core/util/wheel\":43,\"core/util/zoom\":44,\"core/view\":45,\"core/visuals\":46,document:47,embed:48,main:49,model:50,\"models/annotations/annotation\":51,\"models/annotations/arrow\":52,\"models/annotations/arrow_head\":53,\"models/annotations/band\":54,\"models/annotations/box_annotation\":55,\"models/annotations/color_bar\":56,\"models/annotations/index\":57,\"models/annotations/label\":58,\"models/annotations/label_set\":59,\"models/annotations/legend\":60,\"models/annotations/legend_item\":61,\"models/annotations/poly_annotation\":62,\"models/annotations/span\":63,\"models/annotations/text_annotation\":64,\"models/annotations/title\":65,\"models/annotations/toolbar_panel\":66,\"models/annotations/tooltip\":67,\"models/annotations/whisker\":68,\"models/axes/axis\":69,\"models/axes/categorical_axis\":70,\"models/axes/continuous_axis\":71,\"models/axes/datetime_axis\":72,\"models/axes/index\":73,\"models/axes/linear_axis\":74,\"models/axes/log_axis\":75,\"models/callbacks/customjs\":76,\"models/callbacks/index\":77,\"models/callbacks/open_url\":78,\"models/canvas/canvas\":79,\"models/canvas/cartesian_frame\":80,\"models/canvas/index\":81,\"models/expressions/expression\":82,\"models/expressions/index\":83,\"models/expressions/stack\":84,\"models/filters/boolean_filter\":85,\"models/filters/customjs_filter\":86,\"models/filters/filter\":87,\"models/filters/group_filter\":88,\"models/filters/index\":89,\"models/filters/index_filter\":90,\"models/formatters/basic_tick_formatter\":91,\"models/formatters/categorical_tick_formatter\":92,\"models/formatters/datetime_tick_formatter\":93,\"models/formatters/func_tick_formatter\":94,\"models/formatters/index\":95,\"models/formatters/log_tick_formatter\":96,\"models/formatters/mercator_tick_formatter\":97,\"models/formatters/numeral_tick_formatter\":98,\"models/formatters/printf_tick_formatter\":99,\"models/formatters/tick_formatter\":100,\"models/glyphs/annular_wedge\":101,\"models/glyphs/annulus\":102,\"models/glyphs/arc\":103,\"models/glyphs/bezier\":104,\"models/glyphs/box\":105,\"models/glyphs/circle\":106,\"models/glyphs/ellipse\":107,\"models/glyphs/glyph\":108,\"models/glyphs/hbar\":109,\"models/glyphs/image\":110,\"models/glyphs/image_rgba\":111,\"models/glyphs/image_url\":112,\"models/glyphs/index\":113,\"models/glyphs/line\":114,\"models/glyphs/multi_line\":115,\"models/glyphs/oval\":116,\"models/glyphs/patch\":117,\"models/glyphs/patches\":118,\"models/glyphs/quad\":119,\"models/glyphs/quadratic\":120,\"models/glyphs/ray\":121,\"models/glyphs/rect\":122,\"models/glyphs/segment\":123,\"models/glyphs/step\":124,\"models/glyphs/text\":125,\"models/glyphs/vbar\":126,\"models/glyphs/wedge\":127,\"models/glyphs/xy_glyph\":128,\"models/graphs/graph_hit_test_policy\":129,\"models/graphs/index\":130,\"models/graphs/layout_provider\":131,\"models/graphs/static_layout_provider\":132,\"models/grids/grid\":133,\"models/grids/index\":134,\"models/index\":135,\"models/layouts/box\":136,\"models/layouts/column\":137,\"models/layouts/index\":138,\"models/layouts/layout_dom\":139,\"models/layouts/row\":140,\"models/layouts/spacer\":141,\"models/layouts/widget_box\":142,\"models/mappers/categorical_color_mapper\":143,\"models/mappers/color_mapper\":144,\"models/mappers/index\":145,\"models/mappers/linear_color_mapper\":146,\"models/mappers/log_color_mapper\":147,\"models/markers/index\":148,\"models/markers/marker\":149,\"models/plots/gmap_plot\":150,\"models/plots/gmap_plot_canvas\":151,\"models/plots/index\":152,\"models/plots/plot\":153,\"models/plots/plot_canvas\":154,\"models/ranges/data_range\":155,\"models/ranges/data_range1d\":156,\"models/ranges/factor_range\":157,\"models/ranges/index\":158,\"models/ranges/range\":159,\"models/ranges/range1d\":160,\"models/renderers/glyph_renderer\":161,\"models/renderers/graph_renderer\":162,\"models/renderers/guide_renderer\":163,\"models/renderers/index\":164,\"models/renderers/renderer\":165,\"models/scales/categorical_scale\":166,\"models/scales/index\":167,\"models/scales/linear_scale\":168,\"models/scales/log_scale\":169,\"models/scales/scale\":170,\"models/sources/ajax_data_source\":171,\"models/sources/cds_view\":172,\"models/sources/column_data_source\":173,\"models/sources/columnar_data_source\":174,\"models/sources/data_source\":175,\"models/sources/geojson_data_source\":176,\"models/sources/index\":177,\"models/sources/remote_data_source\":178,\"models/tickers/adaptive_ticker\":179,\"models/tickers/basic_ticker\":180,\"models/tickers/categorical_ticker\":181,\"models/tickers/composite_ticker\":182,\"models/tickers/continuous_ticker\":183,\"models/tickers/datetime_ticker\":184,\"models/tickers/days_ticker\":185,\"models/tickers/fixed_ticker\":186,\"models/tickers/index\":187,\"models/tickers/log_ticker\":188,\"models/tickers/mercator_ticker\":189,\"models/tickers/months_ticker\":190,\"models/tickers/single_interval_ticker\":191,\"models/tickers/ticker\":192,\"models/tickers/util\":193,\"models/tickers/years_ticker\":194,\"models/tiles/bbox_tile_source\":195,\"models/tiles/dynamic_image_renderer\":196,\"models/tiles/image_pool\":197,\"models/tiles/image_source\":198,\"models/tiles/index\":199,\"models/tiles/mercator_tile_source\":200,\"models/tiles/quadkey_tile_source\":201,\"models/tiles/tile_renderer\":202,\"models/tiles/tile_source\":203,\"models/tiles/tile_utils\":204,\"models/tiles/tms_tile_source\":205,\"models/tiles/wmts_tile_source\":206,\"models/tools/actions/action_tool\":207,\"models/tools/actions/help_tool\":208,\"models/tools/actions/redo_tool\":209,\"models/tools/actions/reset_tool\":210,\"models/tools/actions/save_tool\":211,\"models/tools/actions/undo_tool\":212,\"models/tools/actions/zoom_in_tool\":213,\"models/tools/actions/zoom_out_tool\":214,\"models/tools/button_tool\":215,\"models/tools/gestures/box_select_tool\":216,\"models/tools/gestures/box_zoom_tool\":217,\"models/tools/gestures/gesture_tool\":218,\"models/tools/gestures/lasso_select_tool\":219,\"models/tools/gestures/pan_tool\":220,\"models/tools/gestures/poly_select_tool\":221,\"models/tools/gestures/select_tool\":222,\"models/tools/gestures/tap_tool\":223,\"models/tools/gestures/wheel_pan_tool\":224,\"models/tools/gestures/wheel_zoom_tool\":225,\"models/tools/index\":226,\"models/tools/inspectors/crosshair_tool\":227,\"models/tools/inspectors/hover_tool\":228,\"models/tools/inspectors/inspect_tool\":229,\"models/tools/on_off_button\":230,\"models/tools/tool\":231,\"models/tools/tool_proxy\":232,\"models/tools/toolbar\":233,\"models/tools/toolbar_base\":234,\"models/tools/toolbar_box\":235,\"models/transforms/customjs_transform\":236,\"models/transforms/dodge\":237,\"models/transforms/index\":238,\"models/transforms/interpolator\":239,\"models/transforms/jitter\":240,\"models/transforms/linear_interpolator\":241,\"models/transforms/step_interpolator\":242,\"models/transforms/transform\":243,polyfill:244,\"protocol/message\":245,\"protocol/receiver\":246,safely:247,version:248})}(this);/*!\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\n      //# sourceMappingURL=bokeh.min.js.map\n\n      /* END bokeh.min.js */\n    },\n    \n    function(Bokeh) {\n      /* BEGIN bokeh-widgets.min.js */\n      !function(t,e){!function(t){(function(e,n,i){if(null!=t)return t.register_plugin(e,n,387);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({372:function(t,e,n){var i=t(364),r=t(15),o=t(5),s=t(4),a=t(412);n.AbstractButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.icon_views={},this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.remove=function(){return s.remove_views(this.icon_views),t.prototype.remove.call(this)},e.prototype._render_button=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o.button.apply(void 0,[{type:\"button\",disabled:this.model.disabled,class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]}].concat(t))},e.prototype.render=function(){var e,n=this;return t.prototype.render.call(this),o.empty(this.el),this.buttonEl=this._render_button(this.model.label),this.buttonEl.addEventListener(\"click\",function(t){return n._button_click(t)}),this.el.appendChild(this.buttonEl),null!=(e=this.model.icon)&&(s.build_views(this.icon_views,[e],{parent:this}),o.prepend(this.buttonEl,this.icon_views[e.id].el,o.nbsp)),this},e.prototype._button_click=function(t){return t.preventDefault(),this.change_input()},e.prototype.change_input=function(){var t;return null!=(t=this.model.callback)?t.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.AbstractButton=l,l.prototype.type=\"AbstractButton\",l.prototype.default_view=n.AbstractButtonView,l.define({callback:[r.Instance],label:[r.String,\"Button\"],icon:[r.Instance],button_type:[r.String,\"default\"]})},373:function(t,e,n){var i=t(364),r=t(412),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.AbstractIcon=o,o.prototype.type=\"AbstractIcon\"},374:function(t,e,n){var i=t(364),r=t(403),o=t(15),s=t(5),a=t(14),l=t(24),u=t(412);n.AbstractSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){var t=this;return this.connect(this.model.change,function(){return t.render()})},e.prototype._calc_to=function(){},e.prototype._calc_from=function(t){},e.prototype.render=function(){var e,n,i,o,u,c,d,p,h,f,m,g,v,y,b=this;if(null==this.sliderEl&&t.prototype.render.call(this),null!=this.model.callback)switch(e=function(){return b.model.callback.execute(b.model)},this.model.callback_policy){case\"continuous\":this.callback_wrapper=e;break;case\"throttle\":this.callback_wrapper=l.throttle(e,this.model.callback_throttle)}return d=\"bk-noUi-\",_=this._calc_to(),h=_.start,n=_.end,y=_.value,f=_.step,this.model.tooltips?(i={to:function(t){return b.model.pretty(t)}},g=function(){var t,e,n;for(n=[],u=t=0,e=y.length;0<=e?t<e:t>e;u=0<=e?++t:--t)n.push(i);return n}()):g=!1,this.el.classList.add(\"bk-slider\"),null==this.sliderEl?(this.sliderEl=s.div(),this.el.appendChild(this.sliderEl),r.create(this.sliderEl,{cssPrefix:d,range:{min:h,max:n},start:y,step:f,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:g,orientation:this.model.orientation,direction:this.model.direction}),this.sliderEl.noUiSlider.on(\"slide\",function(t,e,n){return b._slide(n)}),this.sliderEl.noUiSlider.on(\"change\",function(t,e,n){return b._change(n)}),c=function(t){var e;switch(y=Number(b.sliderEl.noUiSlider.get()),t.which){case 37:y-=f;break;case 39:y+=f;break;default:return}return e=b.model.pretty(y),a.logger.debug(\"[slider keypress] value = \"+e),b.model.value=y,b.sliderEl.noUiSlider.set(y),null!=b.valueEl&&(b.valueEl.textContent=e),\"function\"==typeof b.callback_wrapper?b.callback_wrapper():void 0},(o=this.sliderEl.querySelector(\".bk-noUi-handle\")).setAttribute(\"tabindex\",0),o.addEventListener(\"click\",this.focus),o.addEventListener(\"keydown\",c),m=function(t,e){var n;return o=b.sliderEl.querySelectorAll(\".bk-noUi-handle\")[t],n=o.querySelector(\".bk-noUi-tooltip\"),n.style.display=e?\"block\":\"\"},this.sliderEl.noUiSlider.on(\"start\",function(t,e){return m(e,!0)}),this.sliderEl.noUiSlider.on(\"end\",function(t,e){return m(e,!1)})):this.sliderEl.noUiSlider.updateOptions({range:{min:h,max:n},start:y,step:f}),null!=this.titleEl&&this.el.removeChild(this.titleEl),null!=this.valueEl&&this.el.removeChild(this.valueEl),null!=this.model.title&&(0!==this.model.title.length&&(this.titleEl=s.label({},this.model.title+\":\"),this.el.insertBefore(this.titleEl,this.sliderEl)),this.model.show_value&&(p=function(){var t,e,n;for(n=[],t=0,e=y.length;t<e;t++)v=y[t],n.push(this.model.pretty(v));return n}.call(this).join(\" .. \"),this.valueEl=s.div({class:\"bk-slider-value\"},p),this.el.insertBefore(this.valueEl,this.sliderEl))),this.model.disabled||(this.sliderEl.querySelector(\".bk-noUi-connect\").style.backgroundColor=this.model.bar_color),this.model.disabled?this.sliderEl.setAttribute(\"disabled\",!0):this.sliderEl.removeAttribute(\"disabled\"),this;var _},e.prototype._slide=function(t){var e,n,i;return i=this._calc_from(t),e=function(){var e,i,r;for(r=[],e=0,i=t.length;e<i;e++)n=t[e],r.push(this.model.pretty(n));return r}.call(this).join(\" .. \"),a.logger.debug(\"[slider slide] value = \"+e),null!=this.valueEl&&(this.valueEl.textContent=e),this.model.value=i,\"function\"==typeof this.callback_wrapper?this.callback_wrapper():void 0},e.prototype._change=function(t){var e,n,i,r;switch(r=this._calc_from(t),e=function(){var e,n,r;for(r=[],e=0,n=t.length;e<n;e++)i=t[e],r.push(this.model.pretty(i));return r}.call(this).join(\" .. \"),a.logger.debug(\"[slider change] value = \"+e),null!=this.valueEl&&(this.valueEl.value=e),this.model.value=r,this.model.callback_policy){case\"mouseup\":case\"throttle\":return null!=(n=this.model.callback)?n.execute(this.model):void 0}},e}(u.WidgetView);var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._formatter=function(t,e){return\"\"+t},e.prototype.pretty=function(t){return this._formatter(t,this.format)},e}(u.Widget);n.AbstractSlider=c,c.prototype.type=\"AbstractSlider\",c.prototype.default_view=n.AbstractSliderView,c.define({title:[o.String,\"\"],show_value:[o.Bool,!0],start:[o.Any],end:[o.Any],value:[o.Any],step:[o.Number,1],format:[o.String],orientation:[o.Orientation,\"horizontal\"],direction:[o.Any,\"ltr\"],tooltips:[o.Boolean,!0],callback:[o.Instance],callback_throttle:[o.Number,200],callback_policy:[o.String,\"throttle\"],bar_color:[o.Color,\"#e6e6e6\"]}),c.prototype.behaviour=null,c.prototype.connected=!1},375:function(t,e,n){var i=t(364),r=t(400),o=t(379),s=t(5),a=t(15);n.AutocompleteInputView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),o.clear_menus.connect(function(){return e._clear_menu()})},e.prototype.render=function(){var e=this;return t.prototype.render.call(this),this.inputEl.classList.add(\"bk-autocomplete-input\"),this.inputEl.addEventListener(\"keydown\",function(t){return e._keydown(t)}),this.inputEl.addEventListener(\"keyup\",function(t){return e._keyup(t)}),this.menuEl=s.ul({class:\"bk-bs-dropdown-menu\"}),this.menuEl.addEventListener(\"click\",function(t){return e._item_click(t)}),this.el.appendChild(this.menuEl),this},e.prototype._render_items=function(t){var e,n,i,r,o;for(s.empty(this.menuEl),r=[],e=0,i=t.length;e<i;e++)o=t[e],n=s.li({},s.a({data:{text:o}},o)),r.push(this.menuEl.appendChild(n));return r},e.prototype._open_menu=function(){return this.el.classList.add(\"bk-bs-open\")},e.prototype._clear_menu=function(){return this.el.classList.remove(\"bk-bs-open\")},e.prototype._item_click=function(t){var e,n;if(t.preventDefault(),t.target!==t.currentTarget)return e=t.target,n=e.dataset.text,this.model.value=n},e.prototype._keydown=function(t){},e.prototype._keyup=function(t){var e,n,i,r,o,a;switch(t.keyCode){case s.Keys.Enter:return console.log(\"enter\");case s.Keys.Esc:return this._clear_menu();case s.Keys.Up:case s.Keys.Down:return console.log(\"up/down\");default:if((a=this.inputEl.value).length<=1)return void this._clear_menu();for(e=[],r=this.model.completions,n=0,i=r.length;n<i;n++)-1!==(o=r[n]).indexOf(a)&&e.push(o);return 0===e.length?this._clear_menu():(this._render_items(e),this._open_menu())}},e}(r.TextInputView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextInput);n.AutocompleteInput=l,l.prototype.type=\"AutocompleteInput\",l.prototype.default_view=n.AutocompleteInputView,l.define({completions:[a.Array,[]]}),l.internal({active:[a.Boolean,!0]})},376:function(t,e,n){var i=t(364),r=t(15),o=t(3),s=t(372);n.ButtonView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.change_input=function(){return this.model.trigger_event(new o.ButtonClick({})),this.model.clicks=this.model.clicks+1,t.prototype.change_input.call(this)},e}(s.AbstractButtonView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.AbstractButton);n.Button=a,a.prototype.type=\"Button\",a.prototype.default_view=n.ButtonView,a.define({clicks:[r.Number,0]}),o.register_with_event(o.ButtonClick,a)},377:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(15),a=t(412);n.CheckboxButtonGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;for(t.prototype.render.call(this),o.empty(this.el),n=o.div({class:\"bk-bs-btn-group\"}),this.el.appendChild(n),e=this.model.active,c=this.model.labels,i=a=0,u=c.length;a<u;i=++a)d=c[i],(s=o.input({type:\"checkbox\",value:\"\"+i,checked:r.call(e,i)>=0})).addEventListener(\"change\",function(){return p.change_input()}),l=o.label({class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]},s,d),r.call(e,i)>=0&&l.classList.add(\"bk-bs-active\"),n.appendChild(l);return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],n=t=0,i=r.length;t<i;n=++t)(e=r[n]).checked&&o.push(n);return o}.call(this),this.model.active=t,null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.CheckboxButtonGroup=l,l.prototype.type=\"CheckboxButtonGroup\",l.prototype.default_view=n.CheckboxButtonGroupView,l.define({active:[s.Array,[]],labels:[s.Array,[]],button_type:[s.String,\"default\"],callback:[s.Instance]})},378:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(15),a=t(412);n.CheckboxGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;for(t.prototype.render.call(this),o.empty(this.el),e=this.model.active,c=this.model.labels,i=a=0,u=c.length;a<u;i=++a)d=c[i],(s=o.input({type:\"checkbox\",value:\"\"+i})).addEventListener(\"change\",function(){return p.change_input()}),this.model.disabled&&(s.disabled=!0),r.call(e,i)>=0&&(s.checked=!0),l=o.label({},s,d),this.model.inline?(l.classList.add(\"bk-bs-checkbox-inline\"),this.el.appendChild(l)):(n=o.div({class:\"bk-bs-checkbox\"},l),this.el.appendChild(n));return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],n=t=0,i=r.length;t<i;n=++t)(e=r[n]).checked&&o.push(n);return o}.call(this),this.model.active=t,null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.CheckboxGroup=l,l.prototype.type=\"CheckboxGroup\",l.prototype.default_view=n.CheckboxGroupView,l.define({active:[s.Array,[]],labels:[s.Array,[]],inline:[s.Bool,!1],callback:[s.Instance]})},379:function(t,e,n){var i=t(20);n.clear_menus=new i.Signal({},\"clear_menus\"),document.addEventListener(\"click\",function(){return n.clear_menus.emit(void 0)})},380:function(t,e,n){var i=t(364),r=t(386),o=t(5),s=t(15),a=t(404);a.prototype.adjustPosition=function(){var t,e,n,i,r,o,s,a,l;if(!this._o.container)return this.el.style.position=\"absolute\",e=this._o.trigger,l=this.el.offsetWidth,n=this.el.offsetHeight,a=window.innerWidth||document.documentElement.clientWidth,s=window.innerHeight||document.documentElement.clientHeight,r=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,t=e.getBoundingClientRect(),i=t.left+window.pageXOffset,o=t.bottom+window.pageYOffset,i-=this.el.parentElement.offsetLeft,o-=this.el.parentElement.offsetTop,(this._o.reposition&&i+l>a||this._o.position.indexOf(\"right\")>-1&&i-l+e.offsetWidth>0)&&(i=i-l+e.offsetWidth),(this._o.reposition&&o+n>s+r||this._o.position.indexOf(\"top\")>-1&&o-n-e.offsetHeight>0)&&(o=o-n-e.offsetHeight),this.el.style.left=i+\"px\",this.el.style.top=o+\"px\"};var l=function(t){function e(){var e=t.apply(this,arguments)||this;return e._on_select=e._on_select.bind(e),e}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),null!=this._picker&&this._picker.destroy(),o.empty(this.el),this.labelEl=o.label({},this.model.title),this.el.appendChild(this.labelEl),this.inputEl=o.input({type:\"text\",class:\"bk-widget-form-input\",disabled:this.model.disabled}),this.el.appendChild(this.inputEl),this._picker=new a({field:this.inputEl,defaultDate:new Date(this.model.value),setDefaultDate:!0,minDate:null!=this.model.min_date?new Date(this.model.min_date):null,maxDate:null!=this.model.max_date?new Date(this.model.max_date):null,onSelect:this._on_select}),this._root_element.appendChild(this._picker.el),this},e.prototype._on_select=function(t){return function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")}(this,e),this.model.value=t.toDateString(),this.change_input()},e}(r.InputWidgetView);n.DatePickerView=l,l.prototype.className=\"bk-widget-form-group\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.InputWidget);n.DatePicker=u,u.prototype.type=\"DatePicker\",u.prototype.default_view=l,u.define({value:[s.Any,Date.now()],min_date:[s.Any],max_date:[s.Any]})},381:function(t,e,n){var i=t(364),r=t(363),o=t(374);n.DateRangeSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.DateRangeSlider=s,s.prototype.type=\"DateRangeSlider\",s.prototype.default_view=n.DateRangeSliderView,s.prototype.behaviour=\"drag\",s.prototype.connected=[!1,!0,!1],s.prototype._formatter=r,s.override({format:\"%d %b %Y\"})},382:function(t,e,n){var i=t(364),r=t(363),o=t(374);n.DateSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e=t[0];return e},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.DateSlider=s,s.prototype.type=\"DateSlider\",s.prototype.default_view=n.DateSliderView,s.prototype.behaviour=\"tap\",s.prototype.connected=[!0,!1],s.prototype._formatter=r,s.override({format:\"%d %b %Y\"})},383:function(t,e,n){var i=t(364),r=t(388),o=t(5),s=t(15);n.DivView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.div(),this.model.render_as_text?e.textContent=this.model.text:e.innerHTML=this.model.text,this.markupEl.appendChild(e),this},e}(r.MarkupView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.Div=a,a.prototype.type=\"Div\",a.prototype.default_view=n.DivView,a.define({render_as_text:[s.Bool,!1]})},384:function(t,e,n){var i=t(364),r=t(5),o=t(15),s=t(372),a=t(379);n.DropdownView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),a.clear_menus.connect(function(){return e._clear_menu()})},e.prototype.render=function(){var e,n,i,o,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),this.model.is_split_button?(this.el.classList.add(\"bk-bs-btn-group\"),(e=this._render_button(r.span({class:\"bk-bs-caret\"}))).classList.add(\"bk-bs-dropdown-toggle\"),e.addEventListener(\"click\",function(t){return h._caret_click(t)}),this.el.appendChild(e)):(this.el.classList.add(\"bk-bs-dropdown\"),this.buttonEl.classList.add(\"bk-bs-dropdown-toggle\"),this.buttonEl.appendChild(r.span({class:\"bk-bs-caret\"}))),this.model.active&&this.el.classList.add(\"bk-bs-open\"),s=[],d=this.model.menu,n=0,l=d.length;n<l;n++)null!=(i=d[n])?(a=i[0],p=i[1],(u=r.a({},a)).dataset.value=p,u.addEventListener(\"click\",function(t){return h._item_click(t)}),o=r.li({},u)):o=r.li({class:\"bk-bs-divider\"}),s.push(o);return c=r.ul({class:\"bk-bs-dropdown-menu\"},s),this.el.appendChild(c),this},e.prototype._clear_menu=function(){return this.model.active=!1},e.prototype._toggle_menu=function(){var t;if(t=this.model.active,a.clear_menus.emit(),!t)return this.model.active=!0},e.prototype._button_click=function(t){return t.preventDefault(),t.stopPropagation(),this.model.is_split_button?(this._clear_menu(),this.set_value(this.model.default_value)):this._toggle_menu()},e.prototype._caret_click=function(t){return t.preventDefault(),t.stopPropagation(),this._toggle_menu()},e.prototype._item_click=function(t){return t.preventDefault(),this._clear_menu(),this.set_value(t.currentTarget.dataset.value)},e.prototype.set_value=function(t){return this.buttonEl.value=this.model.value=t,this.change_input()},e}(s.AbstractButtonView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(s.AbstractButton);n.Dropdown=l,l.prototype.type=\"Dropdown\",l.prototype.default_view=n.DropdownView,l.define({value:[o.String],default_value:[o.String],menu:[o.Array,[]]}),l.override({label:\"Dropdown\"}),l.internal({active:[o.Boolean,!1]}),l.getters({is_split_button:function(){return null!=this.default_value}})},385:function(t,e,n){var i=t(372);n.AbstractButton=i.AbstractButton;var r=t(373);n.AbstractIcon=r.AbstractIcon;var o=t(375);n.AutocompleteInput=o.AutocompleteInput;var s=t(376);n.Button=s.Button;var a=t(377);n.CheckboxButtonGroup=a.CheckboxButtonGroup;var l=t(378);n.CheckboxGroup=l.CheckboxGroup;var u=t(380);n.DatePicker=u.DatePicker;var c=t(381);n.DateRangeSlider=c.DateRangeSlider;var d=t(382);n.DateSlider=d.DateSlider;var p=t(383);n.Div=p.Div;var h=t(384);n.Dropdown=h.Dropdown;var f=t(386);n.InputWidget=f.InputWidget;var m=t(388);n.Markup=m.Markup;var g=t(389);n.MultiSelect=g.MultiSelect;var v=t(390);n.Panel=v.Panel;var y=t(391);n.Paragraph=y.Paragraph;var b=t(392);n.PasswordInput=b.PasswordInput;var _=t(393);n.PreText=_.PreText;var w=t(394);n.RadioButtonGroup=w.RadioButtonGroup;var x=t(395);n.RadioGroup=x.RadioGroup;var k=t(396);n.RangeSlider=k.RangeSlider;var S=t(397);n.Select=S.Select;var E=t(398);n.Slider=E.Slider;var D=t(399);n.Tabs=D.Tabs;var C=t(400);n.TextInput=C.TextInput;var M=t(401);n.Toggle=M.Toggle;var A=t(412);n.Widget=A.Widget},386:function(t,e,n){var i=t(364),r=t(412),o=t(15);n.InputWidgetView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.change_input=function(){var t;return null!=(t=this.model.callback)?t.execute(this.model):void 0},e}(r.WidgetView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.InputWidget=s,s.prototype.type=\"InputWidget\",s.prototype.default_view=n.InputWidgetView,s.define({callback:[o.Instance],title:[o.String,\"\"]})},387:function(t,e,n){var i=t(385);n.Widgets=i;var r=t(0);r.register_models(i)},388:function(t,e,n){var i=t(364),r=t(15),o=t(5),s=t(30),a=t(412);n.MarkupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e;return t.prototype.render.call(this),o.empty(this.el),e=s.extend({width:this.model.width+\"px\",height:this.model.height+\"px\"},this.model.style),this.markupEl=o.div({style:e}),this.el.appendChild(this.markupEl)},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e)},e}(a.Widget);n.Markup=l,l.prototype.type=\"Markup\",l.define({text:[r.String,\"\"],style:[r.Any,{}]})},389:function(t,e,n){var i=t(364),r=[].indexOf,o=t(5),s=t(42),a=t(15),l=t(386);n.MultiSelectView=function(t){function e(){var e=t.apply(this,arguments)||this;return e.render_selection=e.render_selection.bind(e),e}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.properties.value.change,function(){return this.render_selection()}),this.connect(this.model.properties.options.change,function(){return this.render()}),this.connect(this.model.properties.name.change,function(){return this.render()}),this.connect(this.model.properties.title.change,function(){return this.render()}),this.connect(this.model.properties.size.change,function(){return this.render()}),this.connect(this.model.properties.disabled.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i=this;return t.prototype.render.call(this),o.empty(this.el),e=o.label({for:this.model.id},this.model.title),this.el.appendChild(e),n=this.model.options.map(function(t){var e,n,a;return s.isString(t)?a=e=t:(a=t[0],e=t[1]),n=r.call(i.model.value,a)>=0,o.option({selected:n,value:a},e)}),this.selectEl=o.select({multiple:!0,class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,size:this.model.size,disabled:this.model.disabled},n),this.selectEl.addEventListener(\"change\",function(){return i.change_input()}),this.el.appendChild(this.selectEl),this},e.prototype.render_selection=function(){var t,n,i,r,o,s,a,l,u;for(function(t,e){if(!(t instanceof e))throw new Error(\"Bound instance method accessed before binding\")}(this,e),l={},s=this.model.value,n=0,r=s.length;n<r;n++)u=s[n],l[u]=!0;for(a=this.el.querySelectorAll(\"option\"),i=0,o=a.length;i<o;i++)t=a[i],l[t.value]&&(t.selected=\"selected\");return this.selectEl.size=this.model.size},e.prototype.change_input=function(){var e,n,i,r,o,s;for(i=null!==this.el.querySelector(\"select:focus\"),s=[],o=this.el.querySelectorAll(\"option\"),n=0,r=o.length;n<r;n++)(e=o[n]).selected&&s.push(e.value);if(this.model.value=s,t.prototype.change_input.call(this),i)return this.selectEl.focus()},e}(l.InputWidgetView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.InputWidget);n.MultiSelect=u,u.prototype.type=\"MultiSelect\",u.prototype.default_view=n.MultiSelectView,u.define({value:[a.Array,[]],options:[a.Array,[]],size:[a.Number,4]})},390:function(t,e,n){var i=t(364),r=t(412),o=t(15),s=t(5);n.PanelView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),s.empty(this.el),this},e}(r.WidgetView);var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Widget);n.Panel=a,a.prototype.type=\"Panel\",a.prototype.default_view=n.PanelView,a.define({title:[o.String,\"\"],child:[o.Instance],closable:[o.Bool,!1]})},391:function(t,e,n){var i=t(364),r=t(388),o=t(5);n.ParagraphView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.p({style:{margin:0}},this.model.text),this.markupEl.appendChild(e)},e}(r.MarkupView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.Paragraph=s,s.prototype.type=\"Paragraph\",s.prototype.default_view=n.ParagraphView},392:function(t,e,n){var i=t(364),r=t(400);n.PasswordInputView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.inputEl.type=\"password\"},e}(r.TextInputView);var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.TextInput);n.PasswordInput=o,o.prototype.type=\"PasswordInput\",o.prototype.default_view=n.PasswordInputView},393:function(t,e,n){var i=t(364),r=t(388),o=t(5);n.PreTextView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){var e;return t.prototype.render.call(this),e=o.pre({style:{overflow:\"auto\"}},this.model.text),this.markupEl.appendChild(e)},e}(r.MarkupView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.Markup);n.PreText=s,s.prototype.type=\"PreText\",s.prototype.default_view=n.PreTextView},394:function(t,e,n){var i=t(364),r=t(5),o=t(37),s=t(15),a=t(412);n.RadioButtonGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),r.empty(this.el),n=r.div({class:\"bk-bs-btn-group\"}),this.el.appendChild(n),c=o.uniqueId(),e=this.model.active,d=this.model.labels,i=a=0,u=d.length;a<u;i=++a)p=d[i],(s=r.input({type:\"radio\",name:c,value:\"\"+i,checked:i===e})).addEventListener(\"change\",function(){return h.change_input()}),l=r.label({class:[\"bk-bs-btn\",\"bk-bs-btn-\"+this.model.button_type]},s,p),i===e&&l.classList.add(\"bk-bs-active\"),n.appendChild(l);return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],e=t=0,i=r.length;t<i;e=++t)(n=r[e]).checked&&o.push(e);return o}.call(this),this.model.active=t[0],null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.RadioButtonGroup=l,l.prototype.type=\"RadioButtonGroup\",l.prototype.default_view=n.RadioButtonGroupView,l.define({active:[s.Any,null],labels:[s.Array,[]],button_type:[s.String,\"default\"],callback:[s.Instance]})},395:function(t,e,n){var i=t(364),r=t(5),o=t(37),s=t(15),a=t(412);n.RadioGroupView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p,h=this;for(t.prototype.render.call(this),r.empty(this.el),c=o.uniqueId(),e=this.model.active,d=this.model.labels,i=a=0,u=d.length;a<u;i=++a)p=d[i],(s=r.input({type:\"radio\",name:c,value:\"\"+i})).addEventListener(\"change\",function(){return h.change_input()}),this.model.disabled&&(s.disabled=!0),i===e&&(s.checked=!0),l=r.label({},s,p),this.model.inline?(l.classList.add(\"bk-bs-radio-inline\"),this.el.appendChild(l)):(n=r.div({class:\"bk-bs-radio\"},l),this.el.appendChild(n));return this},e.prototype.change_input=function(){var t,e,n,i;return t=function(){var t,i,r,o;for(r=this.el.querySelectorAll(\"input\"),o=[],e=t=0,i=r.length;t<i;e=++t)(n=r[e]).checked&&o.push(e);return o}.call(this),this.model.active=t[0],null!=(i=this.model.callback)?i.execute(this.model):void 0},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.Widget);n.RadioGroup=l,l.prototype.type=\"RadioGroup\",l.prototype.default_view=n.RadioGroupView,l.define({active:[s.Any,null],labels:[s.Array,[]],inline:[s.Bool,!1],callback:[s.Instance]})},396:function(t,e,n){var i=t(364),r=t(332),o=t(374);n.RangeSliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.RangeSlider=s,s.prototype.type=\"RangeSlider\",s.prototype.default_view=n.RangeSliderView,s.prototype.behaviour=\"drag\",s.prototype.connected=[!1,!0,!1],s.prototype._formatter=r.format,s.override({format:\"0[.]00\"})},397:function(t,e,n){var i=t(364),r=t(5),o=t(42),s=t(14),a=t(15),l=t(386);n.SelectView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.build_options=function(t){var e=this;return t.map(function(t){var n,i,s;return o.isString(t)?s=n=t:(s=t[0],n=t[1]),i=e.model.value===s,r.option({selected:i,value:s},n)})},e.prototype.render=function(){var e,n,i,s,a,l=this;if(t.prototype.render.call(this),r.empty(this.el),i=r.label({for:this.model.id},this.model.title),this.el.appendChild(i),o.isArray(this.model.options))e=this.build_options(this.model.options);else{e=[],s=this.model.options;for(n in s)a=s[n],e.push(r.optgroup({label:n},this.build_options(a)))}return this.selectEl=r.select({class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,disabled:this.model.disabled},e),this.selectEl.addEventListener(\"change\",function(){return l.change_input()}),this.el.appendChild(this.selectEl),this},e.prototype.change_input=function(){var e;return e=this.selectEl.value,s.logger.debug(\"selectbox: value = \"+e),this.model.value=e,t.prototype.change_input.call(this)},e}(l.InputWidgetView);var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(l.InputWidget);n.Select=u,u.prototype.type=\"Select\",u.prototype.default_view=n.SelectView,u.define({value:[a.String,\"\"],options:[a.Any,[]]})},398:function(t,e,n){var i=t(364),r=t(332),o=t(374);n.SliderView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e=t[0];return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(e):e},e}(o.AbstractSliderView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractSlider);n.Slider=s,s.prototype.type=\"Slider\",s.prototype.default_view=n.SliderView,s.prototype.behaviour=\"tap\",s.prototype.connected=[!0,!1],s.prototype._formatter=r.format,s.override({format:\"0[.]00\"})},399:function(t,e,n){var i=t(364),r=t(5),o=t(22),s=t(15),a=t(412);n.TabsView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.connect_signals=function(){var e=this;return t.prototype.connect_signals.call(this),this.connect(this.model.properties.tabs.change,function(){return e.rebuild_child_views()}),this.connect(this.model.properties.active.change,function(){return e.render()})},e.prototype.render=function(){var e,n,i,s,a,l,u,c,d,p=this;if(t.prototype.render.call(this),r.empty(this.el),0!==(i=this.model.tabs.length)){for(this.model.active>=i&&(this.model.active=i-1),(c=this.model.tabs.map(function(t,e){return r.li({},r.span({data:{index:e}},t.title))}))[this.model.active].classList.add(\"bk-bs-active\"),d=r.ul({class:[\"bk-bs-nav\",\"bk-bs-nav-tabs\"]},c),this.el.appendChild(d),(a=this.model.tabs.map(function(t){return r.div({class:\"bk-bs-tab-pane\"})}))[this.model.active].classList.add(\"bk-bs-active\"),l=r.div({class:\"bk-bs-tab-content\"},a),this.el.appendChild(l),d.addEventListener(\"click\",function(t){var e,n,i,r;if(t.preventDefault(),t.target!==t.currentTarget&&(e=t.target,i=p.model.active,n=parseInt(e.dataset.index),i!==n))return c[i].classList.remove(\"bk-bs-active\"),a[i].classList.remove(\"bk-bs-active\"),c[n].classList.add(\"bk-bs-active\"),a[n].classList.add(\"bk-bs-active\"),p.model.active=n,null!=(r=p.model.callback)?r.execute(p.model):void 0}),u=o.zip(this.model.children,a),n=0,s=u.length;n<s;n++)h=u[n],e=h[0],h[1].appendChild(this.child_views[e.id].el);return this;var h}},e}(a.WidgetView);var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.get_layoutable_children=function(){return this.children},e}(a.Widget);n.Tabs=l,l.prototype.type=\"Tabs\",l.prototype.default_view=n.TabsView,l.define({tabs:[s.Array,[]],active:[s.Number,0],callback:[s.Instance]}),l.getters({children:function(){var t,e,n,i,r;for(n=this.tabs,i=[],t=0,e=n.length;t<e;t++)r=n[t],i.push(r.child);return i}})},400:function(t,e,n){var i=t(364),r=t(14),o=t(15),s=t(5),a=t(386),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.initialize=function(e){return t.prototype.initialize.call(this,e),this.render()},e.prototype.connect_signals=function(){return t.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.render=function(){var e,n=this;return t.prototype.render.call(this),s.empty(this.el),e=s.label({for:this.model.id},this.model.title),this.el.appendChild(e),this.inputEl=s.input({type:\"text\",class:\"bk-widget-form-input\",id:this.model.id,name:this.model.name,value:this.model.value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.inputEl.addEventListener(\"change\",function(){return n.change_input()}),this.el.appendChild(this.inputEl),this.model.height&&(this.inputEl.style.height=this.model.height-35+\"px\"),this},e.prototype.change_input=function(){var e;return e=this.inputEl.value,r.logger.debug(\"widget/text_input: value = \"+e),this.model.value=e,t.prototype.change_input.call(this)},e}(a.InputWidgetView);n.TextInputView=l,l.prototype.className=\"bk-widget-form-group\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(a.InputWidget);n.TextInput=u,u.prototype.type=\"TextInput\",u.prototype.default_view=l,u.define({value:[o.String,\"\"],placeholder:[o.String,\"\"]})},401:function(t,e,n){var i=t(364),r=t(15),o=t(372);n.ToggleView=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){return t.prototype.render.call(this),this.model.active&&this.buttonEl.classList.add(\"bk-bs-active\"),this},e.prototype.change_input=function(){return this.model.active=!this.model.active,t.prototype.change_input.call(this)},e}(o.AbstractButtonView);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(o.AbstractButton);n.Toggle=s,s.prototype.type=\"Toggle\",s.prototype.default_view=n.ToggleView,s.define({active:[r.Bool,!1]}),s.override({label:\"Toggle\"})},412:function(t,e,n){var i=t(364),r=t(139),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e.prototype.render=function(){if(this._render_classes(),null!=this.model.height&&(this.el.style.height=this.model.height+\"px\"),null!=this.model.width)return this.el.style.width=this.model.width+\"px\"},e}(r.LayoutDOMView);n.WidgetView=o,o.prototype.className=\"bk-widget\";var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i.__extends(e,t),e}(r.LayoutDOM);n.Widget=s,s.prototype.type=\"Widget\",s.prototype.default_view=o},403:/*! nouislider - 10.1.0 - 2017-07-28 17:11:18 */\n      function(t,e,n){!function(t){\"object\"==typeof n?e.exports=t():window.noUiSlider=t()}(function(){\"use strict\";function t(t){t.preventDefault()}function e(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function n(t,e,n){n>0&&(o(t,e),setTimeout(function(){s(t,e)},n))}function i(t){return Array.isArray(t)?t:[t]}function r(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function o(t,e){t.classList?t.classList.add(e):t.className+=\" \"+e}function s(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function a(t){var e=void 0!==window.pageXOffset,n=\"CSS1Compat\"===(t.compatMode||\"\"),i=e?window.pageXOffset:n?t.documentElement.scrollLeft:t.body.scrollLeft,r=e?window.pageYOffset:n?t.documentElement.scrollTop:t.body.scrollTop;return{x:i,y:r}}function l(t,e){return 100/(e-t)}function u(t,e){return 100*e/(t[1]-t[0])}function c(t,e){for(var n=1;t>=e[n];)n+=1;return n}function d(t,e,n){if(n>=t.slice(-1)[0])return 100;var i,r,o,s,a=c(n,t);return i=t[a-1],r=t[a],o=e[a-1],s=e[a],o+function(t,e){return u(t,t[0]<0?e+Math.abs(t[0]):e-t[0])}([i,r],n)/l(o,s)}function p(t,e,n,i){if(100===i)return i;var r,o,s=c(i,t);return n?(r=t[s-1],o=t[s],i-r>(o-r)/2?o:r):e[s-1]?t[s-1]+function(t,e){return Math.round(t/e)*e}(i-t[s-1],e[s-1]):i}function h(t,n,i){var r;if(\"number\"==typeof n&&(n=[n]),\"[object Array]\"!==Object.prototype.toString.call(n))throw new Error(\"noUiSlider (\"+B+\"): 'range' contains invalid value.\");if(r=\"min\"===t?0:\"max\"===t?100:parseFloat(t),!e(r)||!e(n[0]))throw new Error(\"noUiSlider (\"+B+\"): 'range' value isn't numeric.\");i.xPct.push(r),i.xVal.push(n[0]),r?i.xSteps.push(!isNaN(n[1])&&n[1]):isNaN(n[1])||(i.xSteps[0]=n[1]),i.xHighestCompleteStep.push(0)}function f(t,e,n){if(!e)return!0;n.xSteps[t]=u([n.xVal[t],n.xVal[t+1]],e)/l(n.xPct[t],n.xPct[t+1]);var i=(n.xVal[t+1]-n.xVal[t])/n.xNumSteps[t],r=Math.ceil(Number(i.toFixed(3))-1),o=n.xVal[t]+n.xNumSteps[t]*r;n.xHighestCompleteStep[t]=o}function m(t,e,n){this.xPct=[],this.xVal=[],this.xSteps=[n||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i,r=[];for(i in t)t.hasOwnProperty(i)&&r.push([t[i],i]);for(r.length&&\"object\"==typeof r[0][0]?r.sort(function(t,e){return t[0][0]-e[0][0]}):r.sort(function(t,e){return t[0]-e[0]}),i=0;i<r.length;i++)h(r[i][1],r[i][0],this);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)f(i,this.xNumSteps[i],this)}function g(t){if(function(t){return\"object\"==typeof t&&\"function\"==typeof t.to&&\"function\"==typeof t.from}(t))return!0;throw new Error(\"noUiSlider (\"+B+\"): 'format' requires 'to' and 'from' methods.\")}function v(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'step' is not numeric.\");t.singleStep=n}function y(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider (\"+B+\"): 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider (\"+B+\"): Missing 'min' or 'max' in 'range'.\");if(e.min===e.max)throw new Error(\"noUiSlider (\"+B+\"): 'range' 'min' and 'max' cannot be equal.\");t.spectrum=new m(e,t.snap,t.singleStep)}function b(t,e){if(e=i(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider (\"+B+\"): 'start' option is incorrect.\");t.handles=e.length,t.start=e}function _(t,e){if(t.snap=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'snap' option must be a boolean.\")}function w(t,e){if(t.animate=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'animate' option must be a boolean.\")}function x(t,e){if(t.animationDuration=e,\"number\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'animationDuration' option must be a number.\")}function k(t,e){var n,i=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(n=1;n<t.handles;n++)i.push(e);i.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error(\"noUiSlider (\"+B+\"): 'connect' option doesn't match handle count.\");i=e}t.connect=i}function S(t,e){switch(e){case\"horizontal\":t.ort=0;break;case\"vertical\":t.ort=1;break;default:throw new Error(\"noUiSlider (\"+B+\"): 'orientation' option is invalid.\")}}function E(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'margin' option must be numeric.\");if(0!==n&&(t.margin=t.spectrum.getMargin(n),!t.margin))throw new Error(\"noUiSlider (\"+B+\"): 'margin' option is only supported on linear sliders.\")}function D(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'limit' option must be numeric.\");if(t.limit=t.spectrum.getMargin(n),!t.limit||t.handles<2)throw new Error(\"noUiSlider (\"+B+\"): 'limit' option is only supported on linear sliders with 2 or more handles.\")}function C(t,n){if(!e(n))throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be numeric.\");if(0!==n){if(t.padding=t.spectrum.getMargin(n),!t.padding)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option is only supported on linear sliders.\");if(t.padding<0)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be a positive number.\");if(t.padding>=50)throw new Error(\"noUiSlider (\"+B+\"): 'padding' option must be less than half the range.\")}}function M(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider (\"+B+\"): 'direction' option was not recognized.\")}}function A(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'behaviour' must be a string containing options.\");var n=e.indexOf(\"tap\")>=0,i=e.indexOf(\"drag\")>=0,r=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0;if(r){if(2!==t.handles)throw new Error(\"noUiSlider (\"+B+\"): 'fixed' behaviour must be used with 2 handles\");E(t,t.start[1]-t.start[0])}t.events={tap:n||o,drag:i,fixed:r,snap:o,hover:s}}function V(t,e){if(t.multitouch=e,\"boolean\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'multitouch' option must be a boolean.\")}function N(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var n=0;n<t.handles;n++)t.tooltips.push(!0)}else{if(t.tooltips=i(e),t.tooltips.length!==t.handles)throw new Error(\"noUiSlider (\"+B+\"): must pass a formatter for all handles.\");t.tooltips.forEach(function(t){if(\"boolean\"!=typeof t&&(\"object\"!=typeof t||\"function\"!=typeof t.to))throw new Error(\"noUiSlider (\"+B+\"): 'tooltips' must be passed a formatter or 'false'.\")})}}function I(t,e){t.ariaFormat=e,g(e)}function P(t,e){t.format=e,g(e)}function R(t,e){if(void 0!==e&&\"string\"!=typeof e&&!1!==e)throw new Error(\"noUiSlider (\"+B+\"): 'cssPrefix' must be a string or `false`.\");t.cssPrefix=e}function L(t,e){if(void 0!==e&&\"object\"!=typeof e)throw new Error(\"noUiSlider (\"+B+\"): 'cssClasses' must be an object.\");if(\"string\"==typeof t.cssPrefix){t.cssClasses={};for(var n in e)e.hasOwnProperty(n)&&(t.cssClasses[n]=t.cssPrefix+e[n])}else t.cssClasses=e}function T(t,e){if(!0!==e&&!1!==e)throw new Error(\"noUiSlider (\"+B+\"): 'useRequestAnimationFrame' option should be true (default) or false.\");t.useRequestAnimationFrame=e}function O(t){var e={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:U,format:U},n={step:{r:!1,t:v},start:{r:!0,t:b},connect:{r:!0,t:k},direction:{r:!0,t:M},snap:{r:!1,t:_},animate:{r:!1,t:w},animationDuration:{r:!1,t:x},range:{r:!0,t:y},orientation:{r:!1,t:S},margin:{r:!1,t:E},limit:{r:!1,t:D},padding:{r:!1,t:C},behaviour:{r:!0,t:A},multitouch:{r:!0,t:V},ariaFormat:{r:!1,t:I},format:{r:!1,t:P},tooltips:{r:!1,t:N},cssPrefix:{r:!1,t:R},cssClasses:{r:!1,t:L},useRequestAnimationFrame:{r:!1,t:T}},i={connect:!1,direction:\"ltr\",behaviour:\"tap\",multitouch:!1,orientation:\"horizontal\",cssPrefix:\"noUi-\",cssClasses:{target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",ltr:\"ltr\",rtl:\"rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},useRequestAnimationFrame:!0};t.format&&!t.ariaFormat&&(t.ariaFormat=t.format),Object.keys(n).forEach(function(r){if(void 0===t[r]&&void 0===i[r]){if(n[r].r)throw new Error(\"noUiSlider (\"+B+\"): '\"+r+\"' is required.\");return!0}n[r].t(e,void 0===t[r]?i[r]:t[r])}),e.pips=t.pips;var r=[[\"left\",\"top\"],[\"right\",\"bottom\"]];return e.style=r[e.dir][e.ort],e.styleOposite=r[e.dir?0:1][e.ort],e}function W(e,r,l){function u(t,e){var n=Z.createElement(\"div\");return e&&o(n,e),t.appendChild(n),n}function c(t,e){var n=u(t,r.cssClasses.origin),i=u(n,r.cssClasses.handle);return i.setAttribute(\"data-handle\",e),i.setAttribute(\"tabindex\",\"0\"),i.setAttribute(\"role\",\"slider\"),i.setAttribute(\"aria-orientation\",r.ort?\"vertical\":\"horizontal\"),0===e?o(i,r.cssClasses.handleLower):e===r.handles-1&&o(i,r.cssClasses.handleUpper),n}function d(t,e){return!!e&&u(t,r.cssClasses.connect)}function p(t,e){return!!r.tooltips[e]&&u(t.firstChild,r.cssClasses.tooltip)}function h(t,e,n){function i(t,e){var n=e===r.cssClasses.value,i=n?c:d,o=n?a:l;return e+\" \"+i[r.ort]+\" \"+o[t]}var s=Z.createElement(\"div\"),a=[r.cssClasses.valueNormal,r.cssClasses.valueLarge,r.cssClasses.valueSub],l=[r.cssClasses.markerNormal,r.cssClasses.markerLarge,r.cssClasses.markerSub],c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],d=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];return o(s,r.cssClasses.pips),o(s,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(t).forEach(function(o){!function(t,o){o[1]=o[1]&&e?e(o[0],o[1]):o[1];var a=u(s,!1);a.className=i(o[1],r.cssClasses.marker),a.style[r.style]=t+\"%\",o[1]&&((a=u(s,!1)).className=i(o[1],r.cssClasses.value),a.style[r.style]=t+\"%\",a.innerText=n.to(o[0]))}(o,t[o])}),s}function f(){j&&(!function(t){t.parentElement.removeChild(t)}(j),j=null)}function m(t){f();var e=t.mode,n=t.density||1,i=t.filter||!1,r=t.values||!1,o=t.stepped||!1,s=function(t,e,n){if(\"range\"===t||\"steps\"===t)return J.xVal;if(\"count\"===t){if(!e)throw new Error(\"noUiSlider (\"+B+\"): 'values' required for mode 'count'.\");var i,r=100/(e-1),o=0;for(e=[];(i=o++*r)<=100;)e.push(i);t=\"positions\"}if(\"positions\"===t)return e.map(function(t){return J.fromStepping(n?J.getStep(t):t)});if(\"values\"===t)return n?e.map(function(t){return J.fromStepping(J.getStep(J.toStepping(t)))}):e}(e,r,o),a=function(t,e,n){function i(t,e){return(t+e).toFixed(7)/1}var r={},o=J.xVal[0],s=J.xVal[J.xVal.length-1],a=!1,l=!1,u=0;(n=function(t){return t.filter(function(t){return!this[t]&&(this[t]=!0)},{})}(n.slice().sort(function(t,e){return t-e})))[0]!==o&&(n.unshift(o),a=!0);n[n.length-1]!==s&&(n.push(s),l=!0);return n.forEach(function(o,s){var c,d,p,h,f,m,g,v,y,b=o,_=n[s+1];if(\"steps\"===e&&(c=J.xNumSteps[s]),c||(c=_-b),!1!==b&&void 0!==_)for(c=Math.max(c,1e-7),d=b;d<=_;d=i(d,c)){for(g=(f=(h=J.toStepping(d))-u)/t,y=f/(v=Math.round(g)),p=1;p<=v;p+=1)r[(u+p*y).toFixed(5)]=[\"x\",0];m=n.indexOf(d)>-1?1:\"steps\"===e?2:0,!s&&a&&(m=0),d===_&&l||(r[h.toFixed(5)]=[d,m]),u=h}}),r}(n,e,s),l=t.format||{to:Math.round};return j=q.appendChild(h(a,i,l))}function g(){var t=T.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||T[e]:t.height||T[e]}function v(t,e,n,i){var o=function(o){return!q.hasAttribute(\"disabled\")&&(!function(t,e){return t.classList?t.classList.contains(e):new RegExp(\"\\\\b\"+e+\"\\\\b\").test(t.className)}(q,r.cssClasses.tap)&&(!!(o=function(t,e,n){var i,o,s=0===t.type.indexOf(\"touch\"),l=0===t.type.indexOf(\"mouse\"),u=0===t.type.indexOf(\"pointer\");0===t.type.indexOf(\"MSPointer\")&&(u=!0);if(s&&r.multitouch){var c=function(t){return t.target===n||n.contains(t.target)};if(\"touchstart\"===t.type){var d=Array.prototype.filter.call(t.touches,c);if(d.length>1)return!1;i=d[0].pageX,o=d[0].pageY}else{var p=Array.prototype.find.call(t.changedTouches,c);if(!p)return!1;i=p.pageX,o=p.pageY}}else if(s){if(t.touches.length>1)return!1;i=t.changedTouches[0].pageX,o=t.changedTouches[0].pageY}e=e||a(Z),(l||u)&&(i=t.clientX+e.x,o=t.clientY+e.y);return t.pageOffset=e,t.points=[i,o],t.cursor=l||u,t}(o,i.pageOffset,i.target||e))&&(!(t===F.start&&void 0!==o.buttons&&o.buttons>1)&&((!i.hover||!o.buttons)&&(H||o.preventDefault(),o.calcPoint=o.points[r.ort],void n(o,i))))))},s=[];return t.split(\" \").forEach(function(t){e.addEventListener(t,o,!!H&&{passive:!0}),s.push([t,o])}),s}function y(t){var e=t-function(t,e){var n=t.getBoundingClientRect(),i=t.ownerDocument,r=i.documentElement,o=a(i);/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(o.x=0);return e?n.top+o.y-r.clientTop:n.left+o.x-r.clientLeft}(T,r.ort),n=100*e/g();return r.dir?100-n:n}function b(t,e,n,i){var r=n.slice(),o=[!t,t],s=[t,!t];i=i.slice(),t&&i.reverse(),i.length>1?i.forEach(function(t,n){var i=C(r,t,r[t]+e,o[n],s[n],!1);!1===i?e=0:(e=i-r[t],r[t]=i)}):o=s=[!0];var a=!1;i.forEach(function(t,i){a=V(t,n[t]+e,o[i],s[i])||a}),a&&i.forEach(function(t){_(\"update\",t),_(\"slide\",t)})}function _(t,e,n){Object.keys(Q).forEach(function(i){var o=i.split(\".\")[0];t===o&&Q[i].forEach(function(t){t.call(z,$.map(r.format.to),e,$.slice(),n||!1,G.slice())})})}function w(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&k(t,e)}function x(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return k(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint),i=100*n/e.baseSize;b(n>0,i,e.locations,e.handleNumbers)}function k(e,n){n.handle&&(s(n.handle,r.cssClasses.active),K-=1),n.listeners.forEach(function(t){tt.removeEventListener(t[0],t[1])}),0===K&&(s(q,r.cssClasses.drag),A(),e.cursor&&(et.style.cursor=\"\",et.removeEventListener(\"selectstart\",t))),n.handleNumbers.forEach(function(t){_(\"change\",t),_(\"set\",t),_(\"end\",t)})}function S(e,n){var i;if(1===n.handleNumbers.length){var s=W[n.handleNumbers[0]];if(s.hasAttribute(\"disabled\"))return!1;i=s.children[0],K+=1,o(i,r.cssClasses.active)}e.stopPropagation();var a=[],l=v(F.move,tt,x,{target:e.target,handle:i,listeners:a,startCalcPoint:e.calcPoint,baseSize:g(),pageOffset:e.pageOffset,handleNumbers:n.handleNumbers,buttonsProperty:e.buttons,locations:G.slice()}),u=v(F.end,tt,k,{target:e.target,handle:i,listeners:a,handleNumbers:n.handleNumbers}),c=v(\"mouseout\",tt,w,{target:e.target,handle:i,listeners:a,handleNumbers:n.handleNumbers});a.push.apply(a,l.concat(u,c)),e.cursor&&(et.style.cursor=getComputedStyle(e.target).cursor,W.length>1&&o(q,r.cssClasses.drag),et.addEventListener(\"selectstart\",t,!1)),n.handleNumbers.forEach(function(t){_(\"start\",t)})}function E(t){t.stopPropagation();var e=y(t.calcPoint),i=function(t){var e=100,n=!1;return W.forEach(function(i,r){if(!i.hasAttribute(\"disabled\")){var o=Math.abs(G[r]-t);o<e&&(n=r,e=o)}}),n}(e);if(!1===i)return!1;r.events.snap||n(q,r.cssClasses.tap,r.animationDuration),V(i,e,!0,!0),A(),_(\"slide\",i,!0),_(\"update\",i,!0),_(\"change\",i,!0),_(\"set\",i,!0),r.events.snap&&S(t,{handleNumbers:[i]})}function D(t){var e=y(t.calcPoint),n=J.getStep(e),i=J.fromStepping(n);Object.keys(Q).forEach(function(t){\"hover\"===t.split(\".\")[0]&&Q[t].forEach(function(t){t.call(z,i)})})}function C(t,e,n,i,o,s){return W.length>1&&(i&&e>0&&(n=Math.max(n,t[e-1]+r.margin)),o&&e<W.length-1&&(n=Math.min(n,t[e+1]-r.margin))),W.length>1&&r.limit&&(i&&e>0&&(n=Math.min(n,t[e-1]+r.limit)),o&&e<W.length-1&&(n=Math.max(n,t[e+1]-r.limit))),r.padding&&(0===e&&(n=Math.max(n,r.padding)),e===W.length-1&&(n=Math.min(n,100-r.padding))),n=J.getStep(n),!((n=function(t){return Math.max(Math.min(t,100),0)}(n))===t[e]&&!s)&&n}function M(t){return t+\"%\"}function A(){X.forEach(function(t){var e=G[t]>50?-1:1,n=3+(W.length+e*t);W[t].childNodes[0].style.zIndex=n})}function V(t,e,n,i){return!1!==(e=C(G,t,e,n,i,!1))&&(function(t,e){G[t]=e,$[t]=J.fromStepping(e);var n=function(){W[t].style[r.style]=M(e),N(t),N(t+1)};window.requestAnimationFrame&&r.useRequestAnimationFrame?window.requestAnimationFrame(n):n()}(t,e),!0)}function N(t){if(U[t]){var e=0,n=100;0!==t&&(e=G[t-1]),t!==U.length-1&&(n=G[t]),U[t].style[r.style]=M(e),U[t].style[r.styleOposite]=M(100-n)}}function I(t,e){null!==t&&!1!==t&&(\"number\"==typeof t&&(t=String(t)),!1===(t=r.format.from(t))||isNaN(t)||V(e,J.toStepping(t),!1,!1))}function P(t,e){var o=i(t),s=void 0===G[0];e=void 0===e||!!e,o.forEach(I),r.animate&&!s&&n(q,r.cssClasses.tap,r.animationDuration),X.forEach(function(t){V(t,G[t],!0,!1)}),A(),X.forEach(function(t){_(\"update\",t),null!==o[t]&&e&&_(\"set\",t)})}function R(){var t=$.map(r.format.to);return 1===t.length?t[0]:t}function L(t,e){Q[t]=Q[t]||[],Q[t].push(e),\"update\"===t.split(\".\")[0]&&W.forEach(function(t,e){_(\"update\",e)})}var T,W,U,z,j,F=window.navigator.pointerEnabled?{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\"}:window.navigator.msPointerEnabled?{start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:{start:\"mousedown touchstart\",move:\"mousemove touchmove\",end:\"mouseup touchend\"},Y=window.CSS&&CSS.supports&&CSS.supports(\"touch-action\",\"none\"),H=Y&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e)}catch(t){}return t}(),q=e,G=[],X=[],K=0,J=r.spectrum,$=[],Q={},Z=e.ownerDocument,tt=Z.documentElement,et=Z.body;if(q.noUiSlider)throw new Error(\"noUiSlider (\"+B+\"): Slider was already initialized.\");return function(t){o(t,r.cssClasses.target),0===r.dir?o(t,r.cssClasses.ltr):o(t,r.cssClasses.rtl);0===r.ort?o(t,r.cssClasses.horizontal):o(t,r.cssClasses.vertical);T=u(t,r.cssClasses.base)}(q),function(t,e){W=[],(U=[]).push(d(e,t[0]));for(var n=0;n<r.handles;n++)W.push(c(e,n)),X[n]=n,U.push(d(e,t[n+1]))}(r.connect,T),z={destroy:function(){for(var t in r.cssClasses)r.cssClasses.hasOwnProperty(t)&&s(q,r.cssClasses[t]);for(;q.firstChild;)q.removeChild(q.firstChild);delete q.noUiSlider},steps:function(){return G.map(function(t,e){var n=J.getNearbySteps(t),i=$[e],r=n.thisStep.step,o=null;!1!==r&&i+r>n.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=J.countStepDecimals();return null!==r&&!1!==r&&(r=Number(r.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,r]})},on:L,off:function(t){var e=t&&t.split(\".\")[0],n=e&&t.substring(e.length);Object.keys(Q).forEach(function(t){var i=t.split(\".\")[0],r=t.substring(i.length);e&&e!==i||n&&n!==r||delete Q[t]})},get:R,set:P,reset:function(t){P(r.start,t)},__moveHandles:function(t,e,n){b(t,e,G,n)},options:l,updateOptions:function(t,e){var n=R(),i=[\"margin\",\"limit\",\"padding\",\"range\",\"animate\",\"snap\",\"step\",\"format\"];i.forEach(function(e){void 0!==t[e]&&(l[e]=t[e])});var o=O(l);i.forEach(function(e){void 0!==t[e]&&(r[e]=o[e])}),J=o.spectrum,r.margin=o.margin,r.limit=o.limit,r.padding=o.padding,r.pips&&m(r.pips);G=[],P(t.start||n,e)},target:q,removePips:f,pips:m},function(t){t.fixed||W.forEach(function(t,e){v(F.start,t.children[0],S,{handleNumbers:[e]})});t.tap&&v(F.start,T,E,{});t.hover&&v(F.move,T,D,{hover:!0});t.drag&&U.forEach(function(e,n){if(!1!==e&&0!==n&&n!==U.length-1){var i=W[n-1],s=W[n],a=[e];o(e,r.cssClasses.draggable),t.fixed&&(a.push(i.children[0]),a.push(s.children[0])),a.forEach(function(t){v(F.start,t,S,{handles:[i,s],handleNumbers:[n-1,n]})})}})}(r.events),P(r.start),r.pips&&m(r.pips),r.tooltips&&function(){var t=W.map(p);L(\"update\",function(e,n,i){if(t[n]){var o=e[n];!0!==r.tooltips[n]&&(o=r.tooltips[n].to(i[n])),t[n].innerHTML=o}})}(),L(\"update\",function(t,e,n,i,o){X.forEach(function(t){var e=W[t],i=C(G,t,0,!0,!0,!0),s=C(G,t,100,!0,!0,!0),a=o[t],l=r.ariaFormat.to(n[t]);e.children[0].setAttribute(\"aria-valuemin\",i.toFixed(1)),e.children[0].setAttribute(\"aria-valuemax\",s.toFixed(1)),e.children[0].setAttribute(\"aria-valuenow\",a.toFixed(1)),e.children[0].setAttribute(\"aria-valuetext\",l)})}),z}var B=\"10.1.0\";m.prototype.getMargin=function(t){var e=this.xNumSteps[0];if(e&&t/e%1!=0)throw new Error(\"noUiSlider (\"+B+\"): 'limit', 'margin' and 'padding' must be divisible by step.\");return 2===this.xPct.length&&u(this.xVal,t)},m.prototype.toStepping=function(t){return t=d(this.xVal,this.xPct,t)},m.prototype.fromStepping=function(t){return function(t,e,n){if(n>=100)return t.slice(-1)[0];var i,r,o,s,a=c(n,e);return i=t[a-1],r=t[a],o=e[a-1],s=e[a],function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,r],(n-o)*l(o,s))}(this.xVal,this.xPct,t)},m.prototype.getStep=function(t){return t=p(this.xPct,this.xSteps,this.snap,t)},m.prototype.getNearbySteps=function(t){var e=c(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e-0],step:this.xNumSteps[e-0],highestStep:this.xHighestCompleteStep[e-0]}}},m.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(r);return Math.max.apply(null,t)},m.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var U={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number};return{version:B,create:function(t,e){if(!t||!t.nodeName)throw new Error(\"noUiSlider (\"+B+\"): create requires a single element, got: \"+t);var n=O(e),i=W(t,n,e);return t.noUiSlider=i,i}}})},404:/*!\n       * Pikaday\n       *\n       * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday\n       */\n      function(t,e,n){!function(i,r){\"use strict\";var o;if(\"object\"==typeof n){try{o=t(\"moment\")}catch(t){}e.exports=r(o)}else i.Pikaday=r(i.moment)}(this,function(t){\"use strict\";var e=\"function\"==typeof t,n=!!window.addEventListener,i=window.document,r=window.setTimeout,o=function(t,e,i,r){n?t.addEventListener(e,i,!!r):t.attachEvent(\"on\"+e,i)},s=function(t,e,i,r){n?t.removeEventListener(e,i,!!r):t.detachEvent(\"on\"+e,i)},a=function(t,e){return-1!==(\" \"+t.className+\" \").indexOf(\" \"+e+\" \")},l=function(t){return/Array/.test(Object.prototype.toString.call(t))},u=function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())},c=function(t){var e=t.getDay();return 0===e||6===e},d=function(t,e){return[31,function(t){return t%4==0&&t%100!=0||t%400==0}(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},p=function(t){u(t)&&t.setHours(0,0,0,0)},h=function(t,e){return t.getTime()===e.getTime()},f=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?u(e[i])?n&&(t[i]=new Date(e[i].getTime())):l(e[i])?n&&(t[i]=e[i].slice(0)):t[i]=f({},e[i],n):!n&&r||(t[i]=e[i]);return t},m=function(t,e,n){var r;i.createEvent?((r=i.createEvent(\"HTMLEvents\")).initEvent(e,!0,!1),r=f(r,n),t.dispatchEvent(r)):i.createEventObject&&(r=i.createEventObject(),r=f(r,n),t.fireEvent(\"on\"+e,r))},g=function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),t.month>11&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t},v={field:null,bound:void 0,position:\"bottom left\",reposition:!0,format:\"YYYY-MM-DD\",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:\"\",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:\"left\",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:\"Previous Month\",nextMonth:\"Next Month\",months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],weekdays:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],weekdaysShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},y=function(t,e,n){for(e+=t.firstDay;e>=7;)e-=7;return n?t.i18n.weekdaysShort[e]:t.i18n.weekdays[e]},b=function(t){var e=[],n=\"false\";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class=\"is-empty\"></td>';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\"),'<td data-day=\"'+t.day+'\" class=\"'+e.join(\" \")+'\" aria-selected=\"'+n+'\"><button class=\"pika-button pika-day\" type=\"button\" data-pika-year=\"'+t.year+'\" data-pika-month=\"'+t.month+'\" data-pika-day=\"'+t.day+'\">'+t.day+\"</button></td>\"},_=function(t,e,n){var i=new Date(n,0,1),r=Math.ceil(((new Date(n,e,t)-i)/864e5+i.getDay()+1)/7);return'<td class=\"pika-week\">'+r+\"</td>\"},w=function(t,e,n,i){return'<tr class=\"pika-row'+(n?\" pick-whole-week\":\"\")+(i?\" is-selected\":\"\")+'\">'+(e?t.reverse():t).join(\"\")+\"</tr>\"},x=function(t,e,n,i,r,o){var s,a,u,c,d,p=t._o,h=n===p.minYear,f=n===p.maxYear,m='<div id=\"'+o+'\" class=\"pika-title\" role=\"heading\" aria-live=\"assertive\">',g=!0,v=!0;for(u=[],s=0;s<12;s++)u.push('<option value=\"'+(n===r?s-e:12+s-e)+'\"'+(s===i?' selected=\"selected\"':\"\")+(h&&s<p.minMonth||f&&s>p.maxMonth?'disabled=\"disabled\"':\"\")+\">\"+p.i18n.months[s]+\"</option>\");for(c='<div class=\"pika-label\">'+p.i18n.months[i]+'<select class=\"pika-select pika-select-month\" tabindex=\"-1\">'+u.join(\"\")+\"</select></div>\",l(p.yearRange)?(s=p.yearRange[0],a=p.yearRange[1]+1):(s=n-p.yearRange,a=1+n+p.yearRange),u=[];s<a&&s<=p.maxYear;s++)s>=p.minYear&&u.push('<option value=\"'+s+'\"'+(s===n?' selected=\"selected\"':\"\")+\">\"+s+\"</option>\");return d='<div class=\"pika-label\">'+n+p.yearSuffix+'<select class=\"pika-select pika-select-year\" tabindex=\"-1\">'+u.join(\"\")+\"</select></div>\",p.showMonthAfterYear?m+=d+c:m+=c+d,h&&(0===i||p.minMonth>=i)&&(g=!1),f&&(11===i||p.maxMonth<=i)&&(v=!1),0===e&&(m+='<button class=\"pika-prev'+(g?\"\":\" is-disabled\")+'\" type=\"button\">'+p.i18n.previousMonth+\"</button>\"),e===t._o.numberOfMonths-1&&(m+='<button class=\"pika-next'+(v?\"\":\" is-disabled\")+'\" type=\"button\">'+p.i18n.nextMonth+\"</button>\"),m+=\"</div>\"},k=function(t,e,n){return'<table cellpadding=\"0\" cellspacing=\"0\" class=\"pika-table\" role=\"grid\" aria-labelledby=\"'+n+'\">'+function(t){var e,n=[];t.showWeekNumber&&n.push(\"<th></th>\");for(e=0;e<7;e++)n.push('<th scope=\"col\"><abbr title=\"'+y(t,e)+'\">'+y(t,e,!0)+\"</abbr></th>\");return\"<thead><tr>\"+(t.isRTL?n.reverse():n).join(\"\")+\"</tr></thead>\"}(t)+function(t){return\"<tbody>\"+t.join(\"\")+\"</tbody>\"}(e)+\"</table>\"},S=function(s){var l=this,c=l.config(s);l._onMouseDown=function(t){if(l._v){var e=(t=t||window.event).target||t.srcElement;if(e)if(a(e,\"is-disabled\")||(!a(e,\"pika-button\")||a(e,\"is-empty\")||a(e.parentNode,\"is-disabled\")?a(e,\"pika-prev\")?l.prevMonth():a(e,\"pika-next\")&&l.nextMonth():(l.setDate(new Date(e.getAttribute(\"data-pika-year\"),e.getAttribute(\"data-pika-month\"),e.getAttribute(\"data-pika-day\"))),c.bound&&r(function(){l.hide(),c.blurFieldOnSelect&&c.field&&c.field.blur()},100))),a(e,\"pika-select\"))l._c=!0;else{if(!t.preventDefault)return t.returnValue=!1,!1;t.preventDefault()}}},l._onChange=function(t){var e=(t=t||window.event).target||t.srcElement;e&&(a(e,\"pika-select-month\")?l.gotoMonth(e.value):a(e,\"pika-select-year\")&&l.gotoYear(e.value))},l._onKeyChange=function(t){if(t=t||window.event,l.isVisible())switch(t.keyCode){case 13:case 27:c.field&&c.field.blur();break;case 37:t.preventDefault(),l.adjustDate(\"subtract\",1);break;case 38:l.adjustDate(\"subtract\",7);break;case 39:l.adjustDate(\"add\",1);break;case 40:l.adjustDate(\"add\",7)}},l._onInputChange=function(n){var i;n.firedBy!==l&&(i=c.parse?c.parse(c.field.value,c.format):e?(i=t(c.field.value,c.format,c.formatStrict))&&i.isValid()?i.toDate():null:new Date(Date.parse(c.field.value)),u(i)&&l.setDate(i),l._v||l.show())},l._onInputFocus=function(){l.show()},l._onInputClick=function(){l.show()},l._onInputBlur=function(){var t=i.activeElement;do{if(a(t,\"pika-single\"))return}while(t=t.parentNode);l._c||(l._b=r(function(){l.hide()},50)),l._c=!1},l._onClick=function(t){var e=(t=t||window.event).target||t.srcElement,i=e;if(e){!n&&a(e,\"pika-select\")&&(e.onchange||(e.setAttribute(\"onchange\",\"return;\"),o(e,\"change\",l._onChange)));do{if(a(i,\"pika-single\")||i===c.trigger)return}while(i=i.parentNode);l._v&&e!==c.trigger&&i!==c.trigger&&l.hide()}},l.el=i.createElement(\"div\"),l.el.className=\"pika-single\"+(c.isRTL?\" is-rtl\":\"\")+(c.theme?\" \"+c.theme:\"\"),o(l.el,\"mousedown\",l._onMouseDown,!0),o(l.el,\"touchend\",l._onMouseDown,!0),o(l.el,\"change\",l._onChange),o(i,\"keydown\",l._onKeyChange),c.field&&(c.container?c.container.appendChild(l.el):c.bound?i.body.appendChild(l.el):c.field.parentNode.insertBefore(l.el,c.field.nextSibling),o(c.field,\"change\",l._onInputChange),c.defaultDate||(e&&c.field.value?c.defaultDate=t(c.field.value,c.format).toDate():c.defaultDate=new Date(Date.parse(c.field.value)),c.setDefaultDate=!0));var d=c.defaultDate;u(d)?c.setDefaultDate?l.setDate(d,!0):l.gotoDate(d):l.gotoDate(new Date),c.bound?(this.hide(),l.el.className+=\" is-bound\",o(c.trigger,\"click\",l._onInputClick),o(c.trigger,\"focus\",l._onInputFocus),o(c.trigger,\"blur\",l._onInputBlur)):this.show()};return S.prototype={config:function(t){this._o||(this._o=f({},v,!0));var e=f(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=n>4?4:n,u(e.minDate)||(e.minDate=!1),u(e.maxDate)||(e.maxDate=!1),e.minDate&&e.maxDate&&e.maxDate<e.minDate&&(e.maxDate=e.minDate=!1),e.minDate&&this.setMinDate(e.minDate),e.maxDate&&this.setMaxDate(e.maxDate),l(e.yearRange)){var i=(new Date).getFullYear()-10;e.yearRange[0]=parseInt(e.yearRange[0],10)||i,e.yearRange[1]=parseInt(e.yearRange[1],10)||i}else e.yearRange=Math.abs(parseInt(e.yearRange,10))||v.yearRange,e.yearRange>100&&(e.yearRange=100);return e},toString:function(n){return n=n||this._o.format,u(this._d)?this._o.toString?this._o.toString(this._d,n):e?t(this._d).format(n):this._d.toDateString():\"\"},getMoment:function(){return e?t(this._d):null},setMoment:function(n,i){e&&t.isMoment(n)&&this.setDate(n.toDate(),i)},getDate:function(){return u(this._d)?new Date(this._d.getTime()):null},setDate:function(t,e){if(!t)return this._d=null,this._o.field&&(this._o.field.value=\"\",m(this._o.field,\"change\",{firedBy:this})),this.draw();if(\"string\"==typeof t&&(t=new Date(Date.parse(t))),u(t)){var n=this._o.minDate,i=this._o.maxDate;u(n)&&t<n?t=n:u(i)&&t>i&&(t=i),this._d=new Date(t.getTime()),p(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),m(this._o.field,\"change\",{firedBy:this})),e||\"function\"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},gotoDate:function(t){var e=!0;if(u(t)){if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),i=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),r=t.getTime();i.setMonth(i.getMonth()+1),i.setDate(i.getDate()-1),e=r<n.getTime()||i.getTime()<r}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}],\"right\"===this._o.mainCalendar&&(this.calendars[0].month+=1-this._o.numberOfMonths)),this.adjustCalendars()}},adjustDate:function(t,e){var n,i=this.getDate()||new Date,r=24*parseInt(e)*60*60*1e3;\"add\"===t?n=new Date(i.valueOf()+r):\"subtract\"===t&&(n=new Date(i.valueOf()-r)),this.setDate(n)},adjustCalendars:function(){this.calendars[0]=g(this.calendars[0]);for(var t=1;t<this._o.numberOfMonths;t++)this.calendars[t]=g({month:this.calendars[0].month+t,year:this.calendars[0].year});this.draw()},gotoToday:function(){this.gotoDate(new Date)},gotoMonth:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())},nextMonth:function(){this.calendars[0].month++,this.adjustCalendars()},prevMonth:function(){this.calendars[0].month--,this.adjustCalendars()},gotoYear:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())},setMinDate:function(t){t instanceof Date?(p(t),this._o.minDate=t,this._o.minYear=t.getFullYear(),this._o.minMonth=t.getMonth()):(this._o.minDate=v.minDate,this._o.minYear=v.minYear,this._o.minMonth=v.minMonth,this._o.startRange=v.startRange),this.draw()},setMaxDate:function(t){t instanceof Date?(p(t),this._o.maxDate=t,this._o.maxYear=t.getFullYear(),this._o.maxMonth=t.getMonth()):(this._o.maxDate=v.maxDate,this._o.maxYear=v.maxYear,this._o.maxMonth=v.maxMonth,this._o.endRange=v.endRange),this.draw()},setStartRange:function(t){this._o.startRange=t},setEndRange:function(t){this._o.endRange=t},draw:function(t){if(this._v||t){var e,n=this._o,i=n.minYear,o=n.maxYear,s=n.minMonth,a=n.maxMonth,l=\"\";this._y<=i&&(this._y=i,!isNaN(s)&&this._m<s&&(this._m=s)),this._y>=o&&(this._y=o,!isNaN(a)&&this._m>a&&(this._m=a)),e=\"pika-title-\"+Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,2);for(var u=0;u<n.numberOfMonths;u++)l+='<div class=\"pika-lendar\">'+x(this,u,this.calendars[u].year,this.calendars[u].month,this.calendars[0].year,e)+this.render(this.calendars[u].year,this.calendars[u].month,e)+\"</div>\";this.el.innerHTML=l,n.bound&&\"hidden\"!==n.field.type&&r(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,r,o,s,a,l,u,c;if(!this._o.container){if(this.el.style.position=\"absolute\",t=this._o.trigger,e=t,n=this.el.offsetWidth,r=this.el.offsetHeight,o=window.innerWidth||i.documentElement.clientWidth,s=window.innerHeight||i.documentElement.clientHeight,a=window.pageYOffset||i.body.scrollTop||i.documentElement.scrollTop,\"function\"==typeof t.getBoundingClientRect)c=t.getBoundingClientRect(),l=c.left+window.pageXOffset,u=c.bottom+window.pageYOffset;else for(l=e.offsetLeft,u=e.offsetTop+e.offsetHeight;e=e.offsetParent;)l+=e.offsetLeft,u+=e.offsetTop;(this._o.reposition&&l+n>o||this._o.position.indexOf(\"right\")>-1&&l-n+t.offsetWidth>0)&&(l=l-n+t.offsetWidth),(this._o.reposition&&u+r>s+a||this._o.position.indexOf(\"top\")>-1&&u-r-t.offsetHeight>0)&&(u=u-r-t.offsetHeight),this.el.style.left=l+\"px\",this.el.style.top=u+\"px\"}},render:function(t,e,n){var i=this._o,r=new Date,o=d(t,e),s=new Date(t,e,1).getDay(),a=[],l=[];p(r),i.firstDay>0&&(s-=i.firstDay)<0&&(s+=7);for(var f=0===e?11:e-1,m=11===e?0:e+1,g=0===e?t-1:t,v=11===e?t+1:t,y=d(g,f),x=o+s,S=x;S>7;)S-=7;x+=7-S;for(var E=!1,D=0,C=0;D<x;D++){var M=new Date(t,e,D-s+1),A=!!u(this._d)&&h(M,this._d),V=h(M,r),N=-1!==i.events.indexOf(M.toDateString()),I=D<s||D>=o+s,P=D-s+1,R=e,L=t,T=i.startRange&&h(i.startRange,M),O=i.endRange&&h(i.endRange,M),W=i.startRange&&i.endRange&&i.startRange<M&&M<i.endRange,B=i.minDate&&M<i.minDate||i.maxDate&&M>i.maxDate||i.disableWeekends&&c(M)||i.disableDayFn&&i.disableDayFn(M);I&&(D<s?(P=y+P,R=f,L=g):(P-=o,R=m,L=v));var U={day:P,month:R,year:L,hasEvent:N,isSelected:A,isToday:V,isDisabled:B,isEmpty:I,isStartRange:T,isEndRange:O,isInRange:W,showDaysInNextAndPreviousMonths:i.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:i.enableSelectionDaysInNextAndPreviousMonths};i.pickWholeWeek&&A&&(E=!0),l.push(b(U)),7==++C&&(i.showWeekNumber&&l.unshift(_(D-s,e,t)),a.push(w(l,i.isRTL,i.pickWholeWeek,E)),l=[],C=0,E=!1)}return k(i,a,n)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),function(t,e){t.className=function(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}((\" \"+t.className+\" \").replace(\" \"+e+\" \",\" \"))}(this.el,\"is-hidden\"),this._o.bound&&(o(i,\"click\",this._onClick),this.adjustPosition()),\"function\"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var t=this._v;!1!==t&&(this._o.bound&&s(i,\"click\",this._onClick),this.el.style.position=\"static\",this.el.style.left=\"auto\",this.el.style.top=\"auto\",function(t,e){a(t,e)||(t.className=\"\"===t.className?e:t.className+\" \"+e)}(this.el,\"is-hidden\"),this._v=!1,void 0!==t&&\"function\"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){this.hide(),s(this.el,\"mousedown\",this._onMouseDown,!0),s(this.el,\"touchend\",this._onMouseDown,!0),s(this.el,\"change\",this._onChange),s(i,\"keydown\",this._onKeyChange),this._o.field&&(s(this._o.field,\"change\",this._onInputChange),this._o.bound&&(s(this._o.trigger,\"click\",this._onInputClick),s(this._o.trigger,\"focus\",this._onInputFocus),s(this._o.trigger,\"blur\",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},S})}},{\"models/widgets/abstract_button\":372,\"models/widgets/abstract_icon\":373,\"models/widgets/abstract_slider\":374,\"models/widgets/autocomplete_input\":375,\"models/widgets/button\":376,\"models/widgets/checkbox_button_group\":377,\"models/widgets/checkbox_group\":378,\"models/widgets/common\":379,\"models/widgets/date_picker\":380,\"models/widgets/date_range_slider\":381,\"models/widgets/date_slider\":382,\"models/widgets/div\":383,\"models/widgets/dropdown\":384,\"models/widgets/index\":385,\"models/widgets/input_widget\":386,\"models/widgets/main\":387,\"models/widgets/markup\":388,\"models/widgets/multiselect\":389,\"models/widgets/panel\":390,\"models/widgets/paragraph\":391,\"models/widgets/password_input\":392,\"models/widgets/pretext\":393,\"models/widgets/radio_button_group\":394,\"models/widgets/radio_group\":395,\"models/widgets/range_slider\":396,\"models/widgets/selectbox\":397,\"models/widgets/slider\":398,\"models/widgets/tabs\":399,\"models/widgets/text_input\":400,\"models/widgets/toggle\":401,\"models/widgets/widget\":412})}(t.Bokeh)}(this);/*!\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\n      //# sourceMappingURL=bokeh-widgets.min.js.map\n\n      /* END bokeh-widgets.min.js */\n    },\n    \n    function(Bokeh) {\n      /* BEGIN bokeh-tables.min.js */\n      !function(a8274,a8275){!function(Bokeh){var define;(function(e,t,n){if(null!=Bokeh)return Bokeh.register_plugin(e,t,409);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({405:function(e,t,n){var o=e(364),r=e(15),i=e(5),l=e(30),a=e(6),s=e(50),u=e(407),c=function(e){function t(t){var n=e.call(this,l.extend({model:t.column.editor},t))||this;return n.args=t,n}return o.__extends(t,e),t.prototype.initialize=function(t){return e.prototype.initialize.call(this,t),this.render()},t.prototype.render=function(){return e.prototype.render.call(this),this.args.container.appendChild(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation(),this},t.prototype.renderEditor=function(){},t.prototype.disableNavigation=function(){return 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:return e.stopImmediatePropagation()}})},t.prototype.destroy=function(){return this.remove()},t.prototype.focus=function(){return this.inputEl.focus()},t.prototype.show=function(){},t.prototype.hide=function(){},t.prototype.position=function(){},t.prototype.getValue=function(){return this.inputEl.value},t.prototype.setValue=function(e){return this.inputEl.value=e},t.prototype.serializeValue=function(){return this.getValue()},t.prototype.isValueChanged=function(){return!(\"\"===this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue},t.prototype.applyValue=function(e,t){return this.args.grid.getData().setField(e[u.DTINDEX_NAME],this.args.column.field,t)},t.prototype.loadValue=function(e){var t;return t=e[this.args.column.field],this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)},t.prototype.validateValue=function(e){var t;return this.args.column.validator&&!(t=this.args.column.validator(e)).valid?t:{valid:!0,msg:null}},t.prototype.validate=function(){return this.validateValue(this.getValue())},t}(a.DOMView);n.CellEditorView=c,c.prototype.className=\"bk-cell-editor\",c.prototype.inputEl=null,c.prototype.emptyValue=null,c.prototype.defaultValue=null;var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(s.Model);n.CellEditor=d,d.prototype.type=\"CellEditor\",d.prototype.default_view=c;var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t}(c);n.StringEditorView=p,p.prototype.emptyValue=\"\",p.prototype.inputEl=i.input({type:\"text\"});var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.StringEditor=f,f.prototype.type=\"StringEditor\",f.prototype.default_view=p,f.define({completions:[r.Array,[]]}),n.TextEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.TextEditor=h,h.prototype.type=\"TextEditor\",h.prototype.default_view=n.TextEditorView;var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){var e,t,n;for(n=this.model.options,e=0,t=n.length;e<t;e++)i.option=n[e],this.inputEl.appendChild(i.option({value:i.option},i.option));return this.focus()},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.select()},t}(c);n.SelectEditorView=g,g.prototype.inputEl=i.select();var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.SelectEditor=m,m.prototype.type=\"SelectEditor\",m.prototype.default_view=g,m.define({options:[r.Array,[]]}),n.PercentEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.PercentEditor=v,v.prototype.type=\"PercentEditor\",v.prototype.default_view=n.PercentEditorView;var w=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.focus()},t.prototype.loadValue=function(e){return this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue},t.prototype.serializeValue=function(){return this.inputEl.checked},t}(c);n.CheckboxEditorView=w,w.prototype.inputEl=i.input({type:\"checkbox\",value:\"true\"});var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.CheckboxEditor=y,y.prototype.type=\"CheckboxEditor\",y.prototype.default_view=w;var C=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.remove=function(){return e.prototype.remove.call(this)},t.prototype.serializeValue=function(){return parseInt(this.getValue(),10)||0},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t.prototype.validateValue=function(t){return isNaN(t)?{valid:!1,msg:\"Please enter a valid integer\"}:e.prototype.validateValue.call(this,t)},t}(c);n.IntEditorView=C,C.prototype.inputEl=i.input({type:\"text\"});var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.IntEditor=b,b.prototype.type=\"IntEditor\",b.prototype.default_view=C,b.define({step:[r.Number,1]});var x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.inputEl.focus(),this.inputEl.select()},t.prototype.remove=function(){return e.prototype.remove.call(this)},t.prototype.serializeValue=function(){return parseFloat(this.getValue())||0},t.prototype.loadValue=function(t){return e.prototype.loadValue.call(this,t),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()},t.prototype.validateValue=function(t){return isNaN(t)?{valid:!1,msg:\"Please enter a valid number\"}:e.prototype.validateValue.call(this,t)},t}(c);n.NumberEditorView=x,x.prototype.inputEl=i.input({type:\"text\"});var R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.NumberEditor=R,R.prototype.type=\"NumberEditor\",R.prototype.default_view=x,R.define({step:[r.Number,.01]}),n.TimeEditorView=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(c);var S=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.TimeEditor=S,S.prototype.type=\"TimeEditor\",S.prototype.default_view=n.TimeEditorView;var E=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.renderEditor=function(){return this.calendarOpen=!1,this.inputEl.focus(),this.inputEl.select()},t.prototype.destroy=function(){return e.prototype.destroy.call(this)},t.prototype.show=function(){return e.prototype.show.call(this)},t.prototype.hide=function(){return e.prototype.hide.call(this)},t.prototype.position=function(t){return e.prototype.position.call(this)},t.prototype.getValue=function(){},t.prototype.setValue=function(e){},t}(c);n.DateEditorView=E,E.prototype.emptyValue=new Date,E.prototype.inputEl=i.input({type:\"text\"});var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(d);n.DateEditor=k,k.prototype.type=\"DateEditor\",k.prototype.default_view=E},406:function(e,t,n){var o=e(364),r=e(332),i=e(421),l=e(363),a=e(15),s=e(5),u=e(30),c=e(42),d=e(50);n.CellFormatter=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){return null==n?\"\":(n+\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")},t}(d.Model);var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){var i,l,a,u;switch(i=this.font_style,a=this.text_align,u=this.text_color,l=s.span({},null==n?\"\":\"\"+n),i){case\"bold\":l.style.fontWeight=\"bold\";break;case\"italic\":l.style.fontStyle=\"italic\"}return null!=a&&(l.style.textAlign=a),null!=u&&(l.style.color=u),l=l.outerHTML},t}(n.CellFormatter);n.StringFormatter=p,p.prototype.type=\"StringFormatter\",p.define({font_style:[a.FontStyle,\"normal\"],text_align:[a.TextAlign,\"left\"],text_color:[a.Color]});var f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(t,n,o,i,l){var a,s,u;return a=this.format,s=this.language,u=function(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}.call(this),o=r.format(o,a,s,u),e.prototype.doFormat.call(this,t,n,o,i,l)},t}(p);n.NumberFormatter=f,f.prototype.type=\"NumberFormatter\",f.define({format:[a.String,\"0,0\"],language:[a.String,\"en\"],rounding:[a.String,\"round\"]});var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){return n?s.i({class:this.icon}).outerHTML:\"\"},t}(n.CellFormatter);n.BooleanFormatter=h,h.prototype.type=\"BooleanFormatter\",h.define({icon:[a.String,\"check\"]});var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.getFormat=function(){var e;return\"__CUSTOM__\"===(e=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 null;default:return\"__CUSTOM__\"}}.call(this))?this.format:e},t.prototype.doFormat=function(t,n,o,r,i){var a;return o=c.isString(o)?parseInt(o,10):o,a=l(o,this.getFormat()),e.prototype.doFormat.call(this,t,n,a,r,i)},t}(n.CellFormatter);n.DateFormatter=g,g.prototype.type=\"DateFormatter\",g.define({format:[a.String,\"ISO-8601\"]});var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.doFormat=function(e,t,n,o,r){var l;return l=this.template,null===n?\"\":(r=u.extend({},r,{value:n}),i(l)(r))},t}(n.CellFormatter);n.HTMLTemplateFormatter=m,m.prototype.type=\"HTMLTemplateFormatter\",m.define({template:[a.String,\"<%= value %>\"]})},407:function(e,t,n){var o=e(364),r=e(419),i=e(417),l=e(416),a=e(9),s=e(15),u=e(37),c=e(22),d=e(14),p=e(411),f=e(412);n.DTINDEX_NAME=\"__bkdt_internal_index__\",n.DataProvider=function(){function e(e,t){if(this.source=e,this.view=t,n.DTINDEX_NAME in this.source.data)throw new Error(\"special name \"+n.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){var t,o,r,i,l;for(o={},l=Object.keys(this.source.data),r=0,i=l.length;r<i;r++)t=l[r],o[t]=this.source.data[t][this.index[e]];return o[n.DTINDEX_NAME]=this.index[e],o},e.prototype.setItem=function(e,t){var o,r;for(o in t)r=t[o],o!==n.DTINDEX_NAME&&(this.source.data[o][this.index[e]]=r);return this._update_source_inplace(),null},e.prototype.getField=function(e,t){return t===n.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]},e.prototype.setField=function(e,t,n){return this.source.data[t][this.index[e]]=n,this._update_source_inplace(),null},e.prototype.getItemMetadata=function(e){return null},e.prototype.getRecords=function(){var e;return function(){var t,n,o;for(o=[],e=t=0,n=this.getLength();0<=n?t<n:t>n;e=0<=n?++t:--t)o.push(this.getItem(e));return o}.call(this)},e.prototype.sort=function(e){var t,o,r,i;return 0===(t=function(){var t,n,r;for(r=[],t=0,n=e.length;t<n;t++)o=e[t],r.push([o.sortCol.field,o.sortAsc?1:-1]);return r}()).length&&(t=[[n.DTINDEX_NAME,1]]),i=this.getRecords(),r=this.index.slice(),this.index.sort(function(e,n){var o,l,a,s,u,c,d;for(l=0,a=t.length;l<a;l++)if(p=t[l],o=p[0],u=p[1],c=i[r.indexOf(e)][o],d=i[r.indexOf(n)][o],0!==(s=c===d?0:c>d?u:-u))return s;return 0;var p})},e.prototype._update_source_inplace=function(){this.source.properties.data.change.emit(this,this.source.attributes.data)},e}();var h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.initialize=function(t){return e.prototype.initialize.call(this,t),this.in_selection_update=!1},t.prototype.connect_signals=function(){var t=this;return e.prototype.connect_signals.call(this),this.connect(this.model.change,function(){return t.render()}),this.connect(this.model.source.properties.data.change,function(){return t.updateGrid()}),this.connect(this.model.source.streaming,function(){return t.updateGrid()}),this.connect(this.model.source.patching,function(){return t.updateGrid()}),this.connect(this.model.source.change,function(){return t.updateSelection()})},t.prototype.updateGrid=function(){return this.model.view.compute_indices(),this.data.constructor(this.model.source,this.model.view),this.grid.invalidate(),this.grid.render(),this.model.source.data=this.model.source.data,this.model.source.change.emit()},t.prototype.updateSelection=function(){var e,t,n,o,r,i;if(!this.in_selection_update)return o=this.model.source.selected,r=o[\"1d\"].indices,n=function(){var e,t,n;for(n=[],e=0,t=r.length;e<t;e++)i=r[e],n.push(this.data.index.indexOf(i));return n}.call(this),this.in_selection_update=!0,this.grid.setSelectedRows(n),this.in_selection_update=!1,e=this.grid.getViewport(),this.model.scroll_to_selection&&!c.any(n,function(t){return e.top<=t&&t<=e.bottom})?(t=Math.max(0,Math.min.apply(null,n)-1),this.grid.scrollRowToTop(t)):void 0},t.prototype.newIndexColumn=function(){return{id:u.uniqueId(),name:\"#\",field:n.DTINDEX_NAME,width:40,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:\"bk-cell-index\"}},t.prototype.render=function(){var e,t,o,s,u,c,p=this;return o=function(){var e,n,o,r;for(o=this.model.columns,r=[],e=0,n=o.length;e<n;e++)t=o[e],r.push(t.toColumn());return r}.call(this),\"checkbox\"===this.model.selectable&&(e=new l.CheckboxSelectColumn({cssClass:\"bk-cell-select\"}),o.unshift(e.getColumnDefinition())),this.model.row_headers&&o.unshift(this.newIndexColumn()),(c=this.model.reorderable)&&null==(\"undefined\"!=typeof $&&null!==$&&null!=(u=$.fn)?u.sortable:void 0)&&(null==this._warned_not_reorderable&&(d.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),this._warned_not_reorderable=!0),c=!1),s={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:c,forceFitColumns:this.model.fit_columns,autoHeight:\"auto\"===this.model.height,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:!1},null!=this.model.width?this.el.style.width=this.model.width+\"px\":this.el.style.width=this.model.default_width+\"px\",null!=this.model.height&&\"auto\"!==this.model.height&&(this.el.style.height=this.model.height+\"px\"),this.data=new n.DataProvider(this.model.source,this.model.view),this.grid=new r.Grid(this.el,this.data,o,s),this.grid.onSort.subscribe(function(e,t){return o=t.sortCols,p.data.sort(o),p.grid.invalidate(),p.updateSelection(),p.grid.render()}),!1!==this.model.selectable&&(this.grid.setSelectionModel(new i.RowSelectionModel({selectActiveRow:null==e})),null!=e&&this.grid.registerPlugin(e),this.grid.onSelectedRowsChanged.subscribe(function(e,t){var n,o;if(!p.in_selection_update)return o=a.create_hit_test_result(),o[\"1d\"].indices=function(){var e,o,r,i;for(r=t.rows,i=[],e=0,o=r.length;e<o;e++)n=r[e],i.push(this.data.index[n]);return i}.call(p),p.model.source.selected=o}),this.updateSelection()),this},t}(f.WidgetView);n.DataTableView=h,h.prototype.className=\"bk-data-table\";var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(p.TableWidget);n.DataTable=g,g.prototype.type=\"DataTable\",g.prototype.default_view=h,g.define({columns:[s.Array,[]],fit_columns:[s.Bool,!0],sortable:[s.Bool,!0],reorderable:[s.Bool,!0],editable:[s.Bool,!1],selectable:[s.Bool,!0],row_headers:[s.Bool,!0],scroll_to_selection:[s.Bool,!0]}),g.override({height:400}),g.internal({default_width:[s.Number,600]})},408:function(e,t,n){var o=e(364);o.__exportStar(e(405),n),o.__exportStar(e(406),n);var r=e(407);n.DataTable=r.DataTable;var i=e(410);n.TableColumn=i.TableColumn;var l=e(411);n.TableWidget=l.TableWidget},409:function(e,t,n){var o=e(408);n.Tables=o;var r=e(0);r.register_models(o)},410:function(e,t,n){var o=e(364),r=e(406),i=e(405),l=e(15),a=e(37),s=e(50),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.toColumn=function(){var e;return{id:a.uniqueId(),field:this.field,name:this.title,width:this.width,formatter:null!=(e=this.formatter)?e.doFormat.bind(this.formatter):void 0,editor:this.editor.default_view,sortable:this.sortable,defaultSortAsc:\"ascending\"===this.default_sort}},t}(s.Model);n.TableColumn=u,u.prototype.type=\"TableColumn\",u.prototype.default_view=null,u.define({field:[l.String],title:[l.String],width:[l.Number,300],formatter:[l.Instance,function(){return new r.StringFormatter}],editor:[l.Instance,function(){return new i.StringEditor}],sortable:[l.Bool,!0],default_sort:[l.String,\"ascending\"]})},411:function(e,t,n){var o=e(364),r=e(412),i=e(172),l=e(15),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.initialize=function(t){if(e.prototype.initialize.call(this,t),null==this.view.source)return this.view.source=this.source,this.view.compute_indices()},t}(r.Widget);n.TableWidget=a,a.prototype.type=\"TableWidget\",a.define({source:[l.Instance],view:[l.Instance,function(){return new i.CDSView}]})},412:function(e,t,n){var o=e(364),r=e(139),i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t.prototype.render=function(){if(this._render_classes(),null!=this.model.height&&(this.el.style.height=this.model.height+\"px\"),null!=this.model.width)return this.el.style.width=this.model.width+\"px\"},t}(r.LayoutDOMView);n.WidgetView=i,i.prototype.className=\"bk-widget\";var l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o.__extends(t,e),t}(r.LayoutDOM);n.Widget=l,l.prototype.type=\"Widget\",l.prototype.default_view=i},413:/*!\n       * jQuery JavaScript Library v3.2.1\n       * https://jquery.com/\n       *\n       * Includes Sizzle.js\n       * https://sizzlejs.com/\n       *\n       * Copyright JS Foundation and other contributors\n       * Released under the MIT license\n       * https://jquery.org/license\n       *\n       * Date: 2017-03-20T18:59Z\n       */\n      function(e,t,n){!function(e,n){\"use strict\";\"object\"==typeof t&&\"object\"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return n(e)}:n(e)}(\"undefined\"!=typeof window?window:this,function(e,t){\"use strict\";function n(e,t){var n=(t=t||G).createElement(\"script\");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function o(e){var t=!!e&&\"length\"in e&&e.length,n=ae.type(e);return\"function\"!==n&&!ae.isWindow(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}function r(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function i(e,t,n){return ae.isFunction(t)?ae.grep(e,function(e,o){return!!t.call(e,o,e)!==n}):t.nodeType?ae.grep(e,function(e){return e===t!==n}):\"string\"!=typeof t?ae.grep(e,function(e){return ee.call(t,e)>-1!==n}):ve.test(t)?ae.filter(t,e,n):(t=ae.filter(t,e),ae.grep(e,function(e){return ee.call(t,e)>-1!==n&&1===e.nodeType}))}function l(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){return e}function s(e){throw e}function u(e,t,n,o){var r;try{e&&ae.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&ae.isFunction(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(o))}catch(e){n.apply(void 0,[e])}}function c(){G.removeEventListener(\"DOMContentLoaded\",c),e.removeEventListener(\"load\",c),ae.ready()}function d(){this.expando=ae.expando+d.uid++}function p(e,t,n){var o;if(void 0===n&&1===e.nodeType)if(o=\"data-\"+t.replace(Ae,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(o))){try{n=function(e){if(\"true\"===e)return!0;if(\"false\"===e)return!1;if(\"null\"===e)return null;if(e===+e+\"\")return+e;if(Ne.test(e))return JSON.parse(e);return e}(n)}catch(e){}De.set(e,t,n)}else n=void 0;return n}function f(e,t,n,o){var r,i=1,l=20,a=o?function(){return o.cur()}:function(){return ae.css(e,t,\"\")},s=a(),u=n&&n[3]||(ae.cssNumber[t]?\"\":\"px\"),c=(ae.cssNumber[t]||\"px\"!==u&&+s)&&He.exec(ae.css(e,t));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+s||1;do{c/=i=i||\".5\",ae.style(e,t,c+u)}while(i!==(i=a()/s)&&1!==i&&--l)}return n&&(c=+c||+s||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],o&&(o.unit=u,o.start=c,o.end=r)),r}function h(e){var t,n=e.ownerDocument,o=e.nodeName,r=_e[o];return r||(t=n.body.appendChild(n.createElement(o)),r=ae.css(t,\"display\"),t.parentNode.removeChild(t),\"none\"===r&&(r=\"block\"),_e[o]=r,r)}function g(e,t){for(var n,o,r=[],i=0,l=e.length;i<l;i++)(o=e[i]).style&&(n=o.style.display,t?(\"none\"===n&&(r[i]=Pe.get(o,\"display\")||null,r[i]||(o.style.display=\"\")),\"\"===o.style.display&&Fe(o)&&(r[i]=h(o))):\"none\"!==n&&(r[i]=\"none\",Pe.set(o,\"display\",n)));for(i=0;i<l;i++)null!=r[i]&&(e[i].style.display=r[i]);return e}function m(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&r(e,t)?ae.merge([e],n):n}function v(e,t){for(var n=0,o=e.length;n<o;n++)Pe.set(e[n],\"globalEval\",!t||Pe.get(t[n],\"globalEval\"))}function w(e,t,n,o,r){for(var i,l,a,s,u,c,d=t.createDocumentFragment(),p=[],f=0,h=e.length;f<h;f++)if((i=e[f])||0===i)if(\"object\"===ae.type(i))ae.merge(p,i.nodeType?[i]:i);else if(Be.test(i)){for(l=l||d.appendChild(t.createElement(\"div\")),a=(We.exec(i)||[\"\",\"\"])[1].toLowerCase(),s=Ve[a]||Ve._default,l.innerHTML=s[1]+ae.htmlPrefilter(i)+s[2],c=s[0];c--;)l=l.lastChild;ae.merge(p,l.childNodes),(l=d.firstChild).textContent=\"\"}else p.push(t.createTextNode(i));for(d.textContent=\"\",f=0;i=p[f++];)if(o&&ae.inArray(i,o)>-1)r&&r.push(i);else if(u=ae.contains(i.ownerDocument,i),l=m(d.appendChild(i),\"script\"),u&&v(l),n)for(c=0;i=l[c++];)je.test(i.type||\"\")&&n.push(i);return d}function y(){return!0}function C(){return!1}function b(){try{return G.activeElement}catch(e){}}function x(e,t,n,o,r,i){var l,a;if(\"object\"==typeof t){\"string\"!=typeof n&&(o=o||n,n=void 0);for(a in t)x(e,a,n,o,t[a],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=C;else if(!r)return e;return 1===i&&(l=r,(r=function(e){return ae().off(e),l.apply(this,arguments)}).guid=l.guid||(l.guid=ae.guid++)),e.each(function(){ae.event.add(this,t,r,o,n)})}function R(e,t){return r(e,\"table\")&&r(11!==t.nodeType?t:t.firstChild,\"tr\")?ae(\">tbody\",e)[0]||e:e}function S(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function E(e){var t=Ye.exec(e.type);return t?e.type=t[1]:e.removeAttribute(\"type\"),e}function k(e,t){var n,o,r,i,l,a,s,u;if(1===t.nodeType){if(Pe.hasData(e)&&(i=Pe.access(e),l=Pe.set(t,i),u=i.events)){delete l.handle,l.events={};for(r in u)for(n=0,o=u[r].length;n<o;n++)ae.event.add(t,r,u[r][n])}De.hasData(e)&&(a=De.access(e),s=ae.extend({},a),De.set(t,s))}}function T(e,t){var n=t.nodeName.toLowerCase();\"input\"===n&&Me.test(e.type)?t.checked=e.checked:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}function P(e,t,o,r){t=J.apply([],t);var i,l,a,s,u,c,d=0,p=e.length,f=p-1,h=t[0],g=ae.isFunction(h);if(g||p>1&&\"string\"==typeof h&&!le.checkClone&&Ge.test(h))return e.each(function(n){var i=e.eq(n);g&&(t[0]=h.call(this,n,i.html())),P(i,t,o,r)});if(p&&(i=w(t,e[0].ownerDocument,!1,e,r),l=i.firstChild,1===i.childNodes.length&&(i=l),l||r)){for(a=ae.map(m(i,\"script\"),S),s=a.length;d<p;d++)u=i,d!==f&&(u=ae.clone(u,!0,!0),s&&ae.merge(a,m(u,\"script\"))),o.call(e[d],u,d);if(s)for(c=a[a.length-1].ownerDocument,ae.map(a,E),d=0;d<s;d++)u=a[d],je.test(u.type||\"\")&&!Pe.access(u,\"globalEval\")&&ae.contains(c,u)&&(u.src?ae._evalUrl&&ae._evalUrl(u.src):n(u.textContent.replace(Qe,\"\"),c))}return e}function D(e,t,n){for(var o,r=t?ae.filter(t,e):e,i=0;null!=(o=r[i]);i++)n||1!==o.nodeType||ae.cleanData(m(o)),o.parentNode&&(n&&ae.contains(o.ownerDocument,o)&&v(m(o,\"script\")),o.parentNode.removeChild(o));return e}function N(e,t,n){var o,r,i,l,a=e.style;return(n=n||et(e))&&(\"\"!==(l=n.getPropertyValue(t)||n[t])||ae.contains(e.ownerDocument,e)||(l=ae.style(e,t)),!le.pixelMarginRight()&&Ze.test(l)&&Je.test(t)&&(o=a.width,r=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=l,l=n.width,a.width=o,a.minWidth=r,a.maxWidth=i)),void 0!==l?l+\"\":l}function A(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}function $(e){var t=ae.cssProps[e];return t||(t=ae.cssProps[e]=function(e){if(e in lt)return e;var t=e[0].toUpperCase()+e.slice(1),n=it.length;for(;n--;)if((e=it[n]+t)in lt)return e}(e)||e),t}function H(e,t,n){var o=He.exec(t);return o?Math.max(0,o[2]-(n||0))+(o[3]||\"px\"):t}function L(e,t,n,o,r){var i,l=0;for(i=n===(o?\"border\":\"content\")?4:\"width\"===t?1:0;i<4;i+=2)\"margin\"===n&&(l+=ae.css(e,n+Le[i],!0,r)),o?(\"content\"===n&&(l-=ae.css(e,\"padding\"+Le[i],!0,r)),\"margin\"!==n&&(l-=ae.css(e,\"border\"+Le[i]+\"Width\",!0,r))):(l+=ae.css(e,\"padding\"+Le[i],!0,r),\"padding\"!==n&&(l+=ae.css(e,\"border\"+Le[i]+\"Width\",!0,r)));return l}function F(e,t,n){var o,r=et(e),i=N(e,t,r),l=\"border-box\"===ae.css(e,\"boxSizing\",!1,r);return Ze.test(i)?i:(o=l&&(le.boxSizingReliable()||i===e.style[t]),\"auto\"===i&&(i=e[\"offset\"+t[0].toUpperCase()+t.slice(1)]),(i=parseFloat(i)||0)+L(e,t,n||(l?\"border\":\"content\"),o,r)+\"px\")}function I(e,t,n,o,r){return new I.prototype.init(e,t,n,o,r)}function _(){st&&(!1===G.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(_):e.setTimeout(_,ae.fx.interval),ae.fx.tick())}function M(){return e.setTimeout(function(){at=void 0}),at=ae.now()}function W(e,t){var n,o=0,r={height:e};for(t=t?1:0;o<4;o+=2-t)n=Le[o],r[\"margin\"+n]=r[\"padding\"+n]=e;return t&&(r.opacity=r.width=e),r}function j(e,t,n){for(var o,r=(V.tweeners[t]||[]).concat(V.tweeners[\"*\"]),i=0,l=r.length;i<l;i++)if(o=r[i].call(n,t,e))return o}function V(e,t,n){var o,r,i=0,l=V.prefilters.length,a=ae.Deferred().always(function(){delete s.elem}),s=function(){if(r)return!1;for(var t=at||M(),n=Math.max(0,u.startTime+u.duration-t),o=n/u.duration||0,i=1-o,l=0,s=u.tweens.length;l<s;l++)u.tweens[l].run(i);return a.notifyWith(e,[u,i,n]),i<1&&s?n:(s||a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u]),!1)},u=a.promise({elem:e,props:ae.extend({},t),opts:ae.extend(!0,{specialEasing:{},easing:ae.easing._default},n),originalProperties:t,originalOptions:n,startTime:at||M(),duration:n.duration,tweens:[],createTween:function(t,n){var o=ae.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(o),o},stop:function(t){var n=0,o=t?u.tweens.length:0;if(r)return this;for(r=!0;n<o;n++)u.tweens[n].run(1);return t?(a.notifyWith(e,[u,1,0]),a.resolveWith(e,[u,t])):a.rejectWith(e,[u,t]),this}}),c=u.props;for(!function(e,t){var n,o,r,i,l;for(n in e)if(o=ae.camelCase(n),r=t[o],i=e[n],Array.isArray(i)&&(r=i[1],i=e[n]=i[0]),n!==o&&(e[o]=i,delete e[n]),(l=ae.cssHooks[o])&&\"expand\"in l){i=l.expand(i),delete e[o];for(n in i)n in e||(e[n]=i[n],t[n]=r)}else t[o]=r}(c,u.opts.specialEasing);i<l;i++)if(o=V.prefilters[i].call(u,e,c,u.opts))return ae.isFunction(o.stop)&&(ae._queueHooks(u.elem,u.opts.queue).stop=ae.proxy(o.stop,o)),o;return ae.map(c,j,u),ae.isFunction(u.opts.start)&&u.opts.start.call(e,u),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always),ae.fx.timer(ae.extend(s,{elem:e,anim:u,queue:u.opts.queue})),u}function B(e){var t=e.match(Re)||[];return t.join(\" \")}function q(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function O(e,t,n,o){var r;if(Array.isArray(t))ae.each(t,function(t,r){n||Ct.test(e)?o(e,r):O(e+\"[\"+(\"object\"==typeof r&&null!=r?t:\"\")+\"]\",r,n,o)});else if(n||\"object\"!==ae.type(t))o(e,t);else for(r in t)O(e+\"[\"+r+\"]\",t[r],n,o)}function z(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var o,r=0,i=t.toLowerCase().match(Re)||[];if(ae.isFunction(n))for(;o=i[r++];)\"+\"===o[0]?(o=o.slice(1)||\"*\",(e[o]=e[o]||[]).unshift(n)):(e[o]=e[o]||[]).push(n)}}function X(e,t,n,o){function r(a){var s;return i[a]=!0,ae.each(e[a]||[],function(e,a){var u=a(t,n,o);return\"string\"!=typeof u||l||i[u]?l?!(s=u):void 0:(t.dataTypes.unshift(u),r(u),!1)}),s}var i={},l=e===At;return r(t.dataTypes[0])||!i[\"*\"]&&r(\"*\")}function U(e,t){var n,o,r=ae.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((r[n]?e:o||(o={}))[n]=t[n]);return o&&ae.extend(!0,e,o),e}var K=[],G=e.document,Y=Object.getPrototypeOf,Q=K.slice,J=K.concat,Z=K.push,ee=K.indexOf,te={},ne=te.toString,oe=te.hasOwnProperty,re=oe.toString,ie=re.call(Object),le={},ae=function(e,t){return new ae.fn.init(e,t)},se=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,ue=/^-ms-/,ce=/-([a-z])/g,de=function(e,t){return t.toUpperCase()};ae.fn=ae.prototype={jquery:\"3.2.1\",constructor:ae,length:0,toArray:function(){return Q.call(this)},get:function(e){return null==e?Q.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ae.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ae.each(this,e)},map:function(e){return this.pushStack(ae.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(Q.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:Z,sort:K.sort,splice:K.splice},ae.extend=ae.fn.extend=function(){var e,t,n,o,r,i,l=arguments[0]||{},a=1,s=arguments.length,u=!1;for(\"boolean\"==typeof l&&(u=l,l=arguments[a]||{},a++),\"object\"==typeof l||ae.isFunction(l)||(l={}),a===s&&(l=this,a--);a<s;a++)if(null!=(e=arguments[a]))for(t in e)n=l[t],o=e[t],l!==o&&(u&&o&&(ae.isPlainObject(o)||(r=Array.isArray(o)))?(r?(r=!1,i=n&&Array.isArray(n)?n:[]):i=n&&ae.isPlainObject(n)?n:{},l[t]=ae.extend(u,i,o)):void 0!==o&&(l[t]=o));return l},ae.extend({expando:\"jQuery\"+(\"3.2.1\"+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return\"function\"===ae.type(e)},isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=ae.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==ne.call(e))&&(!(t=Y(e))||\"function\"==typeof(n=oe.call(t,\"constructor\")&&t.constructor)&&re.call(n)===ie)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?te[ne.call(e)]||\"object\":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(ue,\"ms-\").replace(ce,de)},each:function(e,t){var n,r=0;if(o(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(se,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(o(Object(e))?ae.merge(n,\"string\"==typeof e?[e]:e):Z.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ee.call(t,e,n)},merge:function(e,t){for(var n=+t.length,o=0,r=e.length;o<n;o++)e[r++]=t[o];return e.length=r,e},grep:function(e,t,n){for(var o=[],r=0,i=e.length,l=!n;r<i;r++)!t(e[r],r)!==l&&o.push(e[r]);return o},map:function(e,t,n){var r,i,l=0,a=[];if(o(e))for(r=e.length;l<r;l++)null!=(i=t(e[l],l,n))&&a.push(i);else for(l in e)null!=(i=t(e[l],l,n))&&a.push(i);return J.apply([],a)},guid:1,proxy:function(e,t){var n,o,r;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),ae.isFunction(e))return o=Q.call(arguments,2),r=function(){return e.apply(t||this,o.concat(Q.call(arguments)))},r.guid=e.guid=e.guid||ae.guid++,r},now:Date.now,support:le}),\"function\"==typeof Symbol&&(ae.fn[Symbol.iterator]=K[Symbol.iterator]),ae.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){te[\"[object \"+t+\"]\"]=t.toLowerCase()});var pe=/*!\n       * Sizzle CSS Selector Engine v2.3.3\n       * https://sizzlejs.com/\n       *\n       * Copyright jQuery Foundation and other contributors\n       * Released under the MIT license\n       * http://jquery.org/license\n       *\n       * Date: 2016-08-08\n       */\n      function(e){function t(e,t,n,o){var r,i,l,a,s,u,c,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],\"string\"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!o&&((t?t.ownerDocument||t:W)!==A&&N(t),t=t||A,H)){if(11!==h&&(s=ge.exec(e)))if(r=s[1]){if(9===h){if(!(l=t.getElementById(r)))return n;if(l.id===r)return n.push(l),n}else if(p&&(l=p.getElementById(r))&&_(t,l)&&l.id===r)return n.push(l),n}else{if(s[2])return Y.apply(n,t.getElementsByTagName(e)),n;if((r=s[3])&&C.getElementsByClassName&&t.getElementsByClassName)return Y.apply(n,t.getElementsByClassName(r)),n}if(C.qsa&&!O[e+\" \"]&&(!L||!L.test(e))){if(1!==h)p=t,c=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((a=t.getAttribute(\"id\"))?a=a.replace(ye,Ce):t.setAttribute(\"id\",a=M),u=S(e),i=u.length;i--;)u[i]=\"#\"+a+\" \"+f(u[i]);c=u.join(\",\"),p=me.test(e)&&d(t.parentNode)||t}if(c)try{return Y.apply(n,p.querySelectorAll(c)),n}catch(e){}finally{a===M&&t.removeAttribute(\"id\")}}}return k(e.replace(ie,\"$1\"),t,n,o)}function n(){function e(n,o){return t.push(n+\" \")>b.cacheLength&&delete e[t.shift()],e[n+\" \"]=o}var t=[];return e}function o(e){return e[M]=!0,e}function r(e){var t=A.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split(\"|\"),o=n.length;o--;)b.attrHandle[n[o]]=t}function l(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 a(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function s(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function u(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&xe(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function c(e){return o(function(t){return t=+t,o(function(n,o){for(var r,i=e([],n.length,t),l=i.length;l--;)n[r=i[l]]&&(n[r]=!(o[r]=n[r]))})})}function d(e){return e&&void 0!==e.getElementsByTagName&&e}function p(){}function f(e){for(var t=0,n=e.length,o=\"\";t<n;t++)o+=e[t].value;return o}function h(e,t,n){var o=t.dir,r=t.next,i=r||o,l=n&&\"parentNode\"===i,a=V++;return t.first?function(t,n,r){for(;t=t[o];)if(1===t.nodeType||l)return e(t,n,r);return!1}:function(t,n,s){var u,c,d,p=[j,a];if(s){for(;t=t[o];)if((1===t.nodeType||l)&&e(t,n,s))return!0}else for(;t=t[o];)if(1===t.nodeType||l)if(d=t[M]||(t[M]={}),c=d[t.uniqueID]||(d[t.uniqueID]={}),r&&r===t.nodeName.toLowerCase())t=t[o]||t;else{if((u=c[i])&&u[0]===j&&u[1]===a)return p[2]=u[2];if(c[i]=p,p[2]=e(t,n,s))return!0}return!1}}function g(e){return e.length>1?function(t,n,o){for(var r=e.length;r--;)if(!e[r](t,n,o))return!1;return!0}:e[0]}function m(e,t,n,o,r){for(var i,l=[],a=0,s=e.length,u=null!=t;a<s;a++)(i=e[a])&&(n&&!n(i,o,r)||(l.push(i),u&&t.push(a)));return l}function v(e,n,r,i,l,a){return i&&!i[M]&&(i=v(i)),l&&!l[M]&&(l=v(l,a)),o(function(o,a,s,u){var c,d,p,f=[],h=[],g=a.length,v=o||function(e,n,o){for(var r=0,i=n.length;r<i;r++)t(e,n[r],o);return o}(n||\"*\",s.nodeType?[s]:s,[]),w=!e||!o&&n?v:m(v,f,e,s,u),y=r?l||(o?e:g||i)?[]:a:w;if(r&&r(w,y,s,u),i)for(c=m(y,h),i(c,[],s,u),d=c.length;d--;)(p=c[d])&&(y[h[d]]=!(w[h[d]]=p));if(o){if(l||e){if(l){for(c=[],d=y.length;d--;)(p=y[d])&&c.push(w[d]=p);l(null,y=[],c,u)}for(d=y.length;d--;)(p=y[d])&&(c=l?J(o,p):f[d])>-1&&(o[c]=!(a[c]=p))}}else y=m(y===a?y.splice(g,y.length):y),l?l(null,a,y,u):Y.apply(a,y)})}function w(e){for(var t,n,o,r=e.length,i=b.relative[e[0].type],l=i||b.relative[\" \"],a=i?1:0,s=h(function(e){return e===t},l,!0),u=h(function(e){return J(t,e)>-1},l,!0),c=[function(e,n,o){var r=!i&&(o||n!==T)||((t=n).nodeType?s(e,n,o):u(e,n,o));return t=null,r}];a<r;a++)if(n=b.relative[e[a].type])c=[h(g(c),n)];else{if((n=b.filter[e[a].type].apply(null,e[a].matches))[M]){for(o=++a;o<r&&!b.relative[e[o].type];o++);return v(a>1&&g(c),a>1&&f(e.slice(0,a-1).concat({value:\" \"===e[a-2].type?\"*\":\"\"})).replace(ie,\"$1\"),n,a<o&&w(e.slice(a,o)),o<r&&w(e=e.slice(o)),o<r&&f(e))}c.push(n)}return g(c)}var y,C,b,x,R,S,E,k,T,P,D,N,A,$,H,L,F,I,_,M=\"sizzle\"+1*new Date,W=e.document,j=0,V=0,B=n(),q=n(),O=n(),z=function(e,t){return e===t&&(D=!0),0},X={}.hasOwnProperty,U=[],K=U.pop,G=U.push,Y=U.push,Q=U.slice,J=function(e,t){for(var n=0,o=e.length;n<o;n++)if(e[n]===t)return n;return-1},Z=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",ee=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",te=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",ne=\"\\\\[\"+ee+\"*(\"+te+\")(?:\"+ee+\"*([*^$|!~]?=)\"+ee+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+te+\"))|)\"+ee+\"*\\\\]\",oe=\":(\"+te+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+ne+\")*)|.*)\\\\)|)\",re=new RegExp(ee+\"+\",\"g\"),ie=new RegExp(\"^\"+ee+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ee+\"+$\",\"g\"),le=new RegExp(\"^\"+ee+\"*,\"+ee+\"*\"),ae=new RegExp(\"^\"+ee+\"*([>+~]|\"+ee+\")\"+ee+\"*\"),se=new RegExp(\"=\"+ee+\"*([^\\\\]'\\\"]*?)\"+ee+\"*\\\\]\",\"g\"),ue=new RegExp(oe),ce=new RegExp(\"^\"+te+\"$\"),de={ID:new RegExp(\"^#(\"+te+\")\"),CLASS:new RegExp(\"^\\\\.(\"+te+\")\"),TAG:new RegExp(\"^(\"+te+\"|[*])\"),ATTR:new RegExp(\"^\"+ne),PSEUDO:new RegExp(\"^\"+oe),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ee+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ee+\"*(?:([+-]|)\"+ee+\"*(\\\\d+)|))\"+ee+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+Z+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ee+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ee+\"*((?:-\\\\d)?\\\\d*)\"+ee+\"*\\\\)|)(?=[^-]|$)\",\"i\")},pe=/^(?:input|select|textarea|button)$/i,fe=/^h\\d$/i,he=/^[^{]+\\{\\s*\\[native \\w/,ge=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,me=/[+~]/,ve=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ee+\"?|(\"+ee+\")|.)\",\"ig\"),we=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)},ye=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,Ce=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},be=function(){N()},xe=h(function(e){return!0===e.disabled&&(\"form\"in e||\"label\"in e)},{dir:\"parentNode\",next:\"legend\"});try{Y.apply(U=Q.call(W.childNodes),W.childNodes),U[W.childNodes.length].nodeType}catch(e){Y={apply:U.length?function(e,t){G.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}C=t.support={},R=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},N=t.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:W;return o!==A&&9===o.nodeType&&o.documentElement?(A=o,$=A.documentElement,H=!R(A),W!==A&&(n=A.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",be,!1):n.attachEvent&&n.attachEvent(\"onunload\",be)),C.attributes=r(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),C.getElementsByTagName=r(function(e){return e.appendChild(A.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),C.getElementsByClassName=he.test(A.getElementsByClassName),C.getById=r(function(e){return $.appendChild(e).id=M,!A.getElementsByName||!A.getElementsByName(M).length}),C.getById?(b.filter.ID=function(e){var t=e.replace(ve,we);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&H){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var t=e.replace(ve,we);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&H){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[]}}),b.find.TAG=C.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):C.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},b.find.CLASS=C.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&H)return t.getElementsByClassName(e)},F=[],L=[],(C.qsa=he.test(A.querySelectorAll))&&(r(function(e){$.appendChild(e).innerHTML=\"<a id='\"+M+\"'></a><select id='\"+M+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&L.push(\"[*^$]=\"+ee+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||L.push(\"\\\\[\"+ee+\"*(?:value|\"+Z+\")\"),e.querySelectorAll(\"[id~=\"+M+\"-]\").length||L.push(\"~=\"),e.querySelectorAll(\":checked\").length||L.push(\":checked\"),e.querySelectorAll(\"a#\"+M+\"+*\").length||L.push(\".#.+[+~]\")}),r(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=A.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&L.push(\"name\"+ee+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&L.push(\":enabled\",\":disabled\"),$.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&L.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),L.push(\",.*:\")})),(C.matchesSelector=he.test(I=$.matches||$.webkitMatchesSelector||$.mozMatchesSelector||$.oMatchesSelector||$.msMatchesSelector))&&r(function(e){C.disconnectedMatch=I.call(e,\"*\"),I.call(e,\"[s!='']:x\"),F.push(\"!=\",oe)}),L=L.length&&new RegExp(L.join(\"|\")),F=F.length&&new RegExp(F.join(\"|\")),t=he.test($.compareDocumentPosition),_=t||he.test($.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},z=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===A||e.ownerDocument===W&&_(W,e)?-1:t===A||t.ownerDocument===W&&_(W,t)?1:P?J(P,e)-J(P,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,a=[e],s=[t];if(!r||!i)return e===A?-1:t===A?1:r?-1:i?1:P?J(P,e)-J(P,t):0;if(r===i)return l(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[o]===s[o];)o++;return o?l(a[o],s[o]):a[o]===W?-1:s[o]===W?1:0},A):A},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==A&&N(e),n=n.replace(se,\"='$1']\"),C.matchesSelector&&H&&!O[n+\" \"]&&(!F||!F.test(n))&&(!L||!L.test(n)))try{var o=I.call(e,n);if(o||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return o}catch(e){}return t(n,A,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==A&&N(e),_(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==A&&N(e);var n=b.attrHandle[t.toLowerCase()],o=n&&X.call(b.attrHandle,t.toLowerCase())?n(e,t,!H):void 0;return void 0!==o?o:C.attributes||!H?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},t.escape=function(e){return(e+\"\").replace(ye,Ce)},t.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},t.uniqueSort=function(e){var t,n=[],o=0,r=0;if(D=!C.detectDuplicates,P=!C.sortStable&&e.slice(0),e.sort(z),D){for(;t=e[r++];)t===e[r]&&(o=n.push(r));for(;o--;)e.splice(n[o],1)}return P=null,e},x=t.getText=function(e){var t,n=\"\",o=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[o++];)n+=x(t);return n},(b=t.selectors={cacheLength:50,createPseudo:o,match:de,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ve,we),e[3]=(e[3]||e[4]||e[5]||\"\").replace(ve,we),\"~=\"===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return de.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&ue.test(n)&&(t=S(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(ve,we).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=B[e+\" \"];return t||(t=new RegExp(\"(^|\"+ee+\")\"+e+\"(\"+ee+\"|$)\"))&&B(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,n,o){return function(r){var i=t.attr(r,e);return null==i?\"!=\"===n:!n||(i+=\"\",\"=\"===n?i===o:\"!=\"===n?i!==o:\"^=\"===n?o&&0===i.indexOf(o):\"*=\"===n?o&&i.indexOf(o)>-1:\"$=\"===n?o&&i.slice(-o.length)===o:\"~=\"===n?(\" \"+i.replace(re,\" \")+\" \").indexOf(o)>-1:\"|=\"===n&&(i===o||i.slice(0,o.length+1)===o+\"-\"))}},CHILD:function(e,t,n,o,r){var i=\"nth\"!==e.slice(0,3),l=\"last\"!==e.slice(-4),a=\"of-type\"===t;return 1===o&&0===r?function(e){return!!e.parentNode}:function(t,n,s){var u,c,d,p,f,h,g=i!==l?\"nextSibling\":\"previousSibling\",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),w=!s&&!a,y=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[l?m.firstChild:m.lastChild],l&&w){for(d=(p=m)[M]||(p[M]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===j&&u[1],y=f&&u[2],p=f&&m.childNodes[f];p=++f&&p&&p[g]||(y=f=0)||h.pop();)if(1===p.nodeType&&++y&&p===t){c[e]=[j,f,y];break}}else if(w&&(d=(p=t)[M]||(p[M]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===j&&u[1],y=f),!1===y)for(;(p=++f&&p&&p[g]||(y=f=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++y||(w&&(d=p[M]||(p[M]={}),(c=d[p.uniqueID]||(d[p.uniqueID]={}))[e]=[j,y]),p!==t)););return(y-=r)===o||y%o==0&&y/o>=0}}},PSEUDO:function(e,n){var r,i=b.pseudos[e]||b.setFilters[e.toLowerCase()]||t.error(\"unsupported pseudo: \"+e);return i[M]?i(n):i.length>1?(r=[e,e,\"\",n],b.setFilters.hasOwnProperty(e.toLowerCase())?o(function(e,t){for(var o,r=i(e,n),l=r.length;l--;)o=J(e,r[l]),e[o]=!(t[o]=r[l])}):function(e){return i(e,0,r)}):i}},pseudos:{not:o(function(e){var t=[],n=[],r=E(e.replace(ie,\"$1\"));return r[M]?o(function(e,t,n,o){for(var i,l=r(e,null,o,[]),a=e.length;a--;)(i=l[a])&&(e[a]=!(t[a]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:o(function(e){return function(n){return t(e,n).length>0}}),contains:o(function(e){return e=e.replace(ve,we),function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),lang:o(function(e){return ce.test(e||\"\")||t.error(\"unsupported lang: \"+e),e=e.replace(ve,we).toLowerCase(),function(t){var n;do{if(n=H?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===$},focus:function(e){return e===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:u(!1),disabled:u(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return fe.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var o=n<0?n+t:n;--o>=0;)e.push(o);return e}),gt:c(function(e,t,n){for(var o=n<0?n+t:n;++o<t;)e.push(o);return e})}}).pseudos.nth=b.pseudos.eq;for(y in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[y]=a(y);for(y in{submit:!0,reset:!0})b.pseudos[y]=s(y);return p.prototype=b.filters=b.pseudos,b.setFilters=new p,S=t.tokenize=function(e,n){var o,r,i,l,a,s,u,c=q[e+\" \"];if(c)return n?0:c.slice(0);for(a=e,s=[],u=b.preFilter;a;){o&&!(r=le.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),o=!1,(r=ae.exec(a))&&(o=r.shift(),i.push({value:o,type:r[0].replace(ie,\" \")}),a=a.slice(o.length));for(l in b.filter)!(r=de[l].exec(a))||u[l]&&!(r=u[l](r))||(o=r.shift(),i.push({value:o,type:l,matches:r}),a=a.slice(o.length));if(!o)break}return n?a.length:a?t.error(e):q(e,s).slice(0)},E=t.compile=function(e,n){var r,i=[],l=[],a=O[e+\" \"];if(!a){for(n||(n=S(e)),r=n.length;r--;)(a=w(n[r]))[M]?i.push(a):l.push(a);(a=O(e,function(e,n){var r=n.length>0,i=e.length>0,l=function(o,l,a,s,u){var c,d,p,f=0,h=\"0\",g=o&&[],v=[],w=T,y=o||i&&b.find.TAG(\"*\",u),C=j+=null==w?1:Math.random()||.1,x=y.length;for(u&&(T=l===A||l||u);h!==x&&null!=(c=y[h]);h++){if(i&&c){for(d=0,l||c.ownerDocument===A||(N(c),a=!H);p=e[d++];)if(p(c,l||A,a)){s.push(c);break}u&&(j=C)}r&&((c=!p&&c)&&f--,o&&g.push(c))}if(f+=h,r&&h!==f){for(d=0;p=n[d++];)p(g,v,l,a);if(o){if(f>0)for(;h--;)g[h]||v[h]||(v[h]=K.call(s));v=m(v)}Y.apply(s,v),u&&!o&&v.length>0&&f+n.length>1&&t.uniqueSort(s)}return u&&(j=C,T=w),g};return r?o(l):l}(l,i))).selector=e}return a},k=t.select=function(e,t,n,o){var r,i,l,a,s,u=\"function\"==typeof e&&e,c=!o&&S(e=u.selector||e);if(n=n||[],1===c.length){if((i=c[0]=c[0].slice(0)).length>2&&\"ID\"===(l=i[0]).type&&9===t.nodeType&&H&&b.relative[i[1].type]){if(!(t=(b.find.ID(l.matches[0].replace(ve,we),t)||[])[0]))return n;u&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(r=de.needsContext.test(e)?0:i.length;r--&&(l=i[r],!b.relative[a=l.type]);)if((s=b.find[a])&&(o=s(l.matches[0].replace(ve,we),me.test(i[0].type)&&d(t.parentNode)||t))){if(i.splice(r,1),!(e=o.length&&f(i)))return Y.apply(n,o),n;break}}return(u||E(e,c))(o,t,!H,n,!t||me.test(e)&&d(t.parentNode)||t),n},C.sortStable=M.split(\"\").sort(z).join(\"\")===M,C.detectDuplicates=!!D,N(),C.sortDetached=r(function(e){return 1&e.compareDocumentPosition(A.createElement(\"fieldset\"))}),r(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||i(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),C.attributes&&r(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||i(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),r(function(e){return null==e.getAttribute(\"disabled\")})||i(Z,function(e,t,n){var o;if(!n)return!0===e[t]?t.toLowerCase():(o=e.getAttributeNode(t))&&o.specified?o.value:null}),t}(e);ae.find=pe,ae.expr=pe.selectors,ae.expr[\":\"]=ae.expr.pseudos,ae.uniqueSort=ae.unique=pe.uniqueSort,ae.text=pe.getText,ae.isXMLDoc=pe.isXML,ae.contains=pe.contains,ae.escapeSelector=pe.escape;var fe=function(e,t,n){for(var o=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&ae(e).is(n))break;o.push(e)}return o},he=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},ge=ae.expr.match.needsContext,me=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i,ve=/^.[^:#\\[\\.,]*$/;ae.filter=function(e,t,n){var o=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===o.nodeType?ae.find.matchesSelector(o,e)?[o]:[]:ae.find.matches(e,ae.grep(t,function(e){return 1===e.nodeType}))},ae.fn.extend({find:function(e){var t,n,o=this.length,r=this;if(\"string\"!=typeof e)return this.pushStack(ae(e).filter(function(){for(t=0;t<o;t++)if(ae.contains(r[t],this))return!0}));for(n=this.pushStack([]),t=0;t<o;t++)ae.find(e,r[t],n);return o>1?ae.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,\"string\"==typeof e&&ge.test(e)?ae(e):e||[],!1).length}});var we,ye=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,Ce=ae.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||we,\"string\"==typeof e){if(!(o=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:ye.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 ae?t[0]:t,ae.merge(this,ae.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:G,!0)),me.test(o[1])&&ae.isPlainObject(t))for(o in t)ae.isFunction(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return(r=G.getElementById(o[2]))&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ae.isFunction(e)?void 0!==n.ready?n.ready(e):e(ae):ae.makeArray(e,this)};Ce.prototype=ae.fn,we=ae(G);var be=/^(?:parents|prev(?:Until|All))/,xe={children:!0,contents:!0,next:!0,prev:!0};ae.fn.extend({has:function(e){var t=ae(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ae.contains(this,t[e]))return!0})},closest:function(e,t){var n,o=0,r=this.length,i=[],l=\"string\"!=typeof e&&ae(e);if(!ge.test(e))for(;o<r;o++)for(n=this[o];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(l?l.index(n)>-1:1===n.nodeType&&ae.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?ae.uniqueSort(i):i)},index:function(e){return e?\"string\"==typeof e?ee.call(ae(e),this[0]):ee.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ae.uniqueSort(ae.merge(this.get(),ae(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ae.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return fe(e,\"parentNode\")},parentsUntil:function(e,t,n){return fe(e,\"parentNode\",n)},next:function(e){return l(e,\"nextSibling\")},prev:function(e){return l(e,\"previousSibling\")},nextAll:function(e){return fe(e,\"nextSibling\")},prevAll:function(e){return fe(e,\"previousSibling\")},nextUntil:function(e,t,n){return fe(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return fe(e,\"previousSibling\",n)},siblings:function(e){return he((e.parentNode||{}).firstChild,e)},children:function(e){return he(e.firstChild)},contents:function(e){return r(e,\"iframe\")?e.contentDocument:(r(e,\"template\")&&(e=e.content||e),ae.merge([],e.childNodes))}},function(e,t){ae.fn[e]=function(n,o){var r=ae.map(this,t,n);return\"Until\"!==e.slice(-5)&&(o=n),o&&\"string\"==typeof o&&(r=ae.filter(o,r)),this.length>1&&(xe[e]||ae.uniqueSort(r),be.test(e)&&r.reverse()),this.pushStack(r)}});var Re=/[^\\x20\\t\\r\\n\\f]+/g;ae.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return ae.each(e.match(Re)||[],function(e,n){t[n]=!0}),t}(e):ae.extend({},e);var t,n,o,r,i=[],l=[],a=-1,s=function(){for(r=r||e.once,o=t=!0;l.length;a=-1)for(n=l.shift();++a<i.length;)!1===i[a].apply(n[0],n[1])&&e.stopOnFalse&&(a=i.length,n=!1);e.memory||(n=!1),t=!1,r&&(i=n?[]:\"\")},u={add:function(){return i&&(n&&!t&&(a=i.length-1,l.push(n)),function t(n){ae.each(n,function(n,o){ae.isFunction(o)?e.unique&&u.has(o)||i.push(o):o&&o.length&&\"string\"!==ae.type(o)&&t(o)})}(arguments),n&&!t&&s()),this},remove:function(){return ae.each(arguments,function(e,t){for(var n;(n=ae.inArray(t,i,n))>-1;)i.splice(n,1),n<=a&&a--}),this},has:function(e){return e?ae.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return r=l=[],i=n=\"\",this},disabled:function(){return!i},lock:function(){return r=l=[],n||t||(i=n=\"\"),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=[e,(n=n||[]).slice?n.slice():n],l.push(n),t||s()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!o}};return u},ae.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",ae.Callbacks(\"memory\"),ae.Callbacks(\"memory\"),2],[\"resolve\",\"done\",ae.Callbacks(\"once memory\"),ae.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",ae.Callbacks(\"once memory\"),ae.Callbacks(\"once memory\"),1,\"rejected\"]],o=\"pending\",r={state:function(){return o},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return r.then(null,e)},pipe:function(){var e=arguments;return ae.Deferred(function(t){ae.each(n,function(n,o){var r=ae.isFunction(e[o[4]])&&e[o[4]];i[o[1]](function(){var e=r&&r.apply(this,arguments);e&&ae.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[o[0]+\"With\"](this,r?[e]:arguments)})}),e=null}).promise()},then:function(t,o,r){function i(t,n,o,r){return function(){var u=this,c=arguments,d=function(){var e,d;if(!(t<l)){if((e=o.apply(u,c))===n.promise())throw new TypeError(\"Thenable self-resolution\");d=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,ae.isFunction(d)?r?d.call(e,i(l,n,a,r),i(l,n,s,r)):(l++,d.call(e,i(l,n,a,r),i(l,n,s,r),i(l,n,a,n.notifyWith))):(o!==a&&(u=void 0,c=[e]),(r||n.resolveWith)(u,c))}},p=r?d:function(){try{d()}catch(e){ae.Deferred.exceptionHook&&ae.Deferred.exceptionHook(e,p.stackTrace),t+1>=l&&(o!==s&&(u=void 0,c=[e]),n.rejectWith(u,c))}};t?p():(ae.Deferred.getStackHook&&(p.stackTrace=ae.Deferred.getStackHook()),e.setTimeout(p))}}var l=0;return ae.Deferred(function(e){n[0][3].add(i(0,e,ae.isFunction(r)?r:a,e.notifyWith)),n[1][3].add(i(0,e,ae.isFunction(t)?t:a)),n[2][3].add(i(0,e,ae.isFunction(o)?o:s))}).promise()},promise:function(e){return null!=e?ae.extend(e,r):r}},i={};return ae.each(n,function(e,t){var l=t[2],a=t[5];r[t[1]]=l.add,a&&l.add(function(){o=a},n[3-e][2].disable,n[0][2].lock),l.add(t[3].fire),i[t[0]]=function(){return i[t[0]+\"With\"](this===i?void 0:this,arguments),this},i[t[0]+\"With\"]=l.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,o=Array(n),r=Q.call(arguments),i=ae.Deferred(),l=function(e){return function(n){o[e]=this,r[e]=arguments.length>1?Q.call(arguments):n,--t||i.resolveWith(o,r)}};if(t<=1&&(u(e,i.done(l(n)).resolve,i.reject,!t),\"pending\"===i.state()||ae.isFunction(r[n]&&r[n].then)))return i.then();for(;n--;)u(r[n],l(n),i.reject);return i.promise()}});var Se=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ae.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Se.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},ae.readyException=function(t){e.setTimeout(function(){throw t})};var Ee=ae.Deferred();ae.fn.ready=function(e){return Ee.then(e).catch(function(e){ae.readyException(e)}),this},ae.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ae.readyWait:ae.isReady)||(ae.isReady=!0,!0!==e&&--ae.readyWait>0||Ee.resolveWith(G,[ae]))}}),ae.ready.then=Ee.then,\"complete\"===G.readyState||\"loading\"!==G.readyState&&!G.documentElement.doScroll?e.setTimeout(ae.ready):(G.addEventListener(\"DOMContentLoaded\",c),e.addEventListener(\"load\",c));var ke=function(e,t,n,o,r,i,l){var a=0,s=e.length,u=null==n;if(\"object\"===ae.type(n)){r=!0;for(a in n)ke(e,t,a,n[a],!0,i,l)}else if(void 0!==o&&(r=!0,ae.isFunction(o)||(l=!0),u&&(l?(t.call(e,o),t=null):(u=t,t=function(e,t,n){return u.call(ae(e),n)})),t))for(;a<s;a++)t(e[a],n,l?o:o.call(e[a],a,t(e[a],n)));return r?e:u?t.call(e):s?t(e[0],n):i},Te=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};d.uid=1,d.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Te(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var o,r=this.cache(e);if(\"string\"==typeof t)r[ae.camelCase(t)]=n;else for(o in t)r[ae.camelCase(o)]=t[o];return r},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][ae.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,o=e[this.expando];if(void 0!==o){if(void 0!==t){t=Array.isArray(t)?t.map(ae.camelCase):(t=ae.camelCase(t))in o?[t]:t.match(Re)||[],n=t.length;for(;n--;)delete o[t[n]]}(void 0===t||ae.isEmptyObject(o))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ae.isEmptyObject(t)}};var Pe=new d,De=new d,Ne=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Ae=/[A-Z]/g;ae.extend({hasData:function(e){return De.hasData(e)||Pe.hasData(e)},data:function(e,t,n){return De.access(e,t,n)},removeData:function(e,t){De.remove(e,t)},_data:function(e,t,n){return Pe.access(e,t,n)},_removeData:function(e,t){Pe.remove(e,t)}}),ae.fn.extend({data:function(e,t){var n,o,r,i=this[0],l=i&&i.attributes;if(void 0===e){if(this.length&&(r=De.get(i),1===i.nodeType&&!Pe.get(i,\"hasDataAttrs\"))){for(n=l.length;n--;)l[n]&&0===(o=l[n].name).indexOf(\"data-\")&&(o=ae.camelCase(o.slice(5)),p(i,o,r[o]));Pe.set(i,\"hasDataAttrs\",!0)}return r}return\"object\"==typeof e?this.each(function(){De.set(this,e)}):ke(this,function(t){var n;if(i&&void 0===t){if(void 0!==(n=De.get(i,e)))return n;if(void 0!==(n=p(i,e)))return n}else this.each(function(){De.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){De.remove(this,e)})}}),ae.extend({queue:function(e,t,n){var o;if(e)return t=(t||\"fx\")+\"queue\",o=Pe.get(e,t),n&&(!o||Array.isArray(n)?o=Pe.access(e,t,ae.makeArray(n)):o.push(n)),o||[]},dequeue:function(e,t){t=t||\"fx\";var n=ae.queue(e,t),o=n.length,r=n.shift(),i=ae._queueHooks(e,t),l=function(){ae.dequeue(e,t)};\"inprogress\"===r&&(r=n.shift(),o--),r&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete i.stop,r.call(e,l,i)),!o&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Pe.get(e,n)||Pe.access(e,n,{empty:ae.Callbacks(\"once memory\").add(function(){Pe.remove(e,[t+\"queue\",n])})})}}),ae.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?ae.queue(this[0],e):void 0===t?this:this.each(function(){var n=ae.queue(this,e,t);ae._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&ae.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ae.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,o=1,r=ae.Deferred(),i=this,l=this.length,a=function(){--o||r.resolveWith(i,[i])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";l--;)(n=Pe.get(i[l],e+\"queueHooks\"))&&n.empty&&(o++,n.empty.add(a));return a(),r.promise(t)}});var $e=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,He=new RegExp(\"^(?:([+-])=|)(\"+$e+\")([a-z%]*)$\",\"i\"),Le=[\"Top\",\"Right\",\"Bottom\",\"Left\"],Fe=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&ae.contains(e.ownerDocument,e)&&\"none\"===ae.css(e,\"display\")},Ie=function(e,t,n,o){var r,i,l={};for(i in t)l[i]=e.style[i],e.style[i]=t[i];r=n.apply(e,o||[]);for(i in t)e.style[i]=l[i];return r},_e={};ae.fn.extend({show:function(){return g(this,!0)},hide:function(){return g(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){Fe(this)?ae(this).show():ae(this).hide()})}});var Me=/^(?:checkbox|radio)$/i,We=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,je=/^$|\\/(?:java|ecma)script/i,Ve={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Be=/<|&#?\\w+;/;!function(){var e=G.createDocumentFragment(),t=e.appendChild(G.createElement(\"div\")),n=G.createElement(\"input\");n.setAttribute(\"type\",\"radio\"),n.setAttribute(\"checked\",\"checked\"),n.setAttribute(\"name\",\"t\"),t.appendChild(n),le.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML=\"<textarea>x</textarea>\",le.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var qe=G.documentElement,Oe=/^key/,ze=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Xe=/^([^.]*)(?:\\.(.+)|)/;ae.event={global:{},add:function(e,t,n,o,r){var i,l,a,s,u,c,d,p,f,h,g,m=Pe.get(e);if(m)for(n.handler&&(n=(i=n).handler,r=i.selector),r&&ae.find.matchesSelector(qe,r),n.guid||(n.guid=ae.guid++),(s=m.events)||(s=m.events={}),(l=m.handle)||(l=m.handle=function(t){return void 0!==ae&&ae.event.triggered!==t.type?ae.event.dispatch.apply(e,arguments):void 0}),t=(t||\"\").match(Re)||[\"\"],u=t.length;u--;)a=Xe.exec(t[u])||[],f=g=a[1],h=(a[2]||\"\").split(\".\").sort(),f&&(d=ae.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=ae.event.special[f]||{},c=ae.extend({type:f,origType:g,data:o,handler:n,guid:n.guid,selector:r,needsContext:r&&ae.expr.match.needsContext.test(r),namespace:h.join(\".\")},i),(p=s[f])||((p=s[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,o,h,l)||e.addEventListener&&e.addEventListener(f,l)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,c):p.push(c),ae.event.global[f]=!0)},remove:function(e,t,n,o,r){var i,l,a,s,u,c,d,p,f,h,g,m=Pe.hasData(e)&&Pe.get(e);if(m&&(s=m.events)){for(t=(t||\"\").match(Re)||[\"\"],u=t.length;u--;)if(a=Xe.exec(t[u])||[],f=g=a[1],h=(a[2]||\"\").split(\".\").sort(),f){for(d=ae.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,p=s[f]||[],a=a[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),l=i=p.length;i--;)c=p[i],!r&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||o&&o!==c.selector&&(\"**\"!==o||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,d.remove&&d.remove.call(e,c));l&&!p.length&&(d.teardown&&!1!==d.teardown.call(e,h,m.handle)||ae.removeEvent(e,f,m.handle),delete s[f])}else for(f in s)ae.event.remove(e,f+t[u],n,o,!0);ae.isEmptyObject(s)&&Pe.remove(e,\"handle events\")}},dispatch:function(e){var t,n,o,r,i,l,a=ae.event.fix(e),s=new Array(arguments.length),u=(Pe.get(this,\"events\")||{})[a.type]||[],c=ae.event.special[a.type]||{};for(s[0]=a,t=1;t<arguments.length;t++)s[t]=arguments[t];if(a.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,a)){for(l=ae.event.handlers.call(this,a,u),t=0;(r=l[t++])&&!a.isPropagationStopped();)for(a.currentTarget=r.elem,n=0;(i=r.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,void 0!==(o=((ae.event.special[i.origType]||{}).handle||i.handler).apply(r.elem,s))&&!1===(a.result=o)&&(a.preventDefault(),a.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,o,r,i,l,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&!(\"click\"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(\"click\"!==e.type||!0!==u.disabled)){for(i=[],l={},n=0;n<s;n++)o=t[n],r=o.selector+\" \",void 0===l[r]&&(l[r]=o.needsContext?ae(r,this).index(u)>-1:ae.find(r,this,null,[u]).length),l[r]&&i.push(o);i.length&&a.push({elem:u,handlers:i})}return u=this,s<t.length&&a.push({elem:u,handlers:t.slice(s)}),a},addProp:function(e,t){Object.defineProperty(ae.Event.prototype,e,{enumerable:!0,configurable:!0,get:ae.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[ae.expando]?e:new ae.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&r(this,\"input\"))return this.click(),!1},_default:function(e){return r(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ae.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ae.Event=function(e,t){if(!(this instanceof ae.Event))return new ae.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?y:C,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ae.extend(this,t),this.timeStamp=e&&e.timeStamp||ae.now(),this[ae.expando]=!0},ae.Event.prototype={constructor:ae.Event,isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=y,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=y,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=y,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ae.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Oe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&ze.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},ae.event.addProp),ae.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){ae.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,o=e.relatedTarget,r=e.handleObj;return o&&(o===this||ae.contains(this,o))||(e.type=r.origType,n=r.handler.apply(this,arguments),e.type=t),n}}}),ae.fn.extend({on:function(e,t,n,o){return x(this,e,t,n,o)},one:function(e,t,n,o){return x(this,e,t,n,o,1)},off:function(e,t,n){var o,r;if(e&&e.preventDefault&&e.handleObj)return o=e.handleObj,ae(e.delegateTarget).off(o.namespace?o.origType+\".\"+o.namespace:o.origType,o.selector,o.handler),this;if(\"object\"==typeof e){for(r in e)this.off(r,t,e[r]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=C),this.each(function(){ae.event.remove(this,e,n,t)})}});var Ue=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,Ke=/<script|<style|<link/i,Ge=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Ye=/^true\\/(.*)/,Qe=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;ae.extend({htmlPrefilter:function(e){return e.replace(Ue,\"<$1></$2>\")},clone:function(e,t,n){var o,r,i,l,a=e.cloneNode(!0),s=ae.contains(e.ownerDocument,e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ae.isXMLDoc(e)))for(l=m(a),i=m(e),o=0,r=i.length;o<r;o++)T(i[o],l[o]);if(t)if(n)for(i=i||m(e),l=l||m(a),o=0,r=i.length;o<r;o++)k(i[o],l[o]);else k(e,a);return(l=m(a,\"script\")).length>0&&v(l,!s&&m(e,\"script\")),a},cleanData:function(e){for(var t,n,o,r=ae.event.special,i=0;void 0!==(n=e[i]);i++)if(Te(n)){if(t=n[Pe.expando]){if(t.events)for(o in t.events)r[o]?ae.event.remove(n,o):ae.removeEvent(n,o,t.handle);n[Pe.expando]=void 0}n[De.expando]&&(n[De.expando]=void 0)}}}),ae.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return ke(this,function(e){return void 0===e?ae.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=R(this,e);t.appendChild(e)}})},prepend:function(){return P(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=R(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return P(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ae.cleanData(m(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ae.clone(this,e,t)})},html:function(e){return ke(this,function(e){var t=this[0]||{},n=0,o=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ke.test(e)&&!Ve[(We.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=ae.htmlPrefilter(e);try{for(;n<o;n++)1===(t=this[n]||{}).nodeType&&(ae.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return P(this,arguments,function(t){var n=this.parentNode;ae.inArray(this,e)<0&&(ae.cleanData(m(this)),n&&n.replaceChild(t,this))},e)}}),ae.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){ae.fn[e]=function(e){for(var n,o=[],r=ae(e),i=r.length-1,l=0;l<=i;l++)n=l===i?this:this.clone(!0),ae(r[l])[t](n),Z.apply(o,n.get());return this.pushStack(o)}});var Je=/^margin/,Ze=new RegExp(\"^(\"+$e+\")(?!px)[a-z%]+$\",\"i\"),et=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText=\"box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",a.innerHTML=\"\",qe.appendChild(l);var t=e.getComputedStyle(a);n=\"1%\"!==t.top,i=\"2px\"===t.marginLeft,o=\"4px\"===t.width,a.style.marginRight=\"50%\",r=\"4px\"===t.marginRight,qe.removeChild(l),a=null}}var n,o,r,i,l=G.createElement(\"div\"),a=G.createElement(\"div\");a.style&&(a.style.backgroundClip=\"content-box\",a.cloneNode(!0).style.backgroundClip=\"\",le.clearCloneStyle=\"content-box\"===a.style.backgroundClip,l.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",l.appendChild(a),ae.extend(le,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),o},pixelMarginRight:function(){return t(),r},reliableMarginLeft:function(){return t(),i}}))}();var tt=/^(none|table(?!-c[ea]).+)/,nt=/^--/,ot={position:\"absolute\",visibility:\"hidden\",display:\"block\"},rt={letterSpacing:\"0\",fontWeight:\"400\"},it=[\"Webkit\",\"Moz\",\"ms\"],lt=G.createElement(\"div\").style;ae.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=N(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:\"cssFloat\"},style:function(e,t,n,o){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var r,i,l,a=ae.camelCase(t),s=nt.test(t),u=e.style;if(s||(t=$(a)),l=ae.cssHooks[t]||ae.cssHooks[a],void 0===n)return l&&\"get\"in l&&void 0!==(r=l.get(e,!1,o))?r:u[t];\"string\"==(i=typeof n)&&(r=He.exec(n))&&r[1]&&(n=f(e,t,r),i=\"number\"),null!=n&&n==n&&(\"number\"===i&&(n+=r&&r[3]||(ae.cssNumber[a]?\"\":\"px\")),le.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(u[t]=\"inherit\"),l&&\"set\"in l&&void 0===(n=l.set(e,n,o))||(s?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,o){var r,i,l,a=ae.camelCase(t),s=nt.test(t);return s||(t=$(a)),(l=ae.cssHooks[t]||ae.cssHooks[a])&&\"get\"in l&&(r=l.get(e,!0,n)),void 0===r&&(r=N(e,t,o)),\"normal\"===r&&t in rt&&(r=rt[t]),\"\"===n||n?(i=parseFloat(r),!0===n||isFinite(i)?i||0:r):r}}),ae.each([\"height\",\"width\"],function(e,t){ae.cssHooks[t]={get:function(e,n,o){if(n)return!tt.test(ae.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?F(e,t,o):Ie(e,ot,function(){return F(e,t,o)})},set:function(e,n,o){var r,i=o&&et(e),l=o&&L(e,t,o,\"border-box\"===ae.css(e,\"boxSizing\",!1,i),i);return l&&(r=He.exec(n))&&\"px\"!==(r[3]||\"px\")&&(e.style[t]=n,n=ae.css(e,t)),H(e,n,l)}}}),ae.cssHooks.marginLeft=A(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(N(e,\"marginLeft\"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),ae.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){ae.cssHooks[e+t]={expand:function(n){for(var o=0,r={},i=\"string\"==typeof n?n.split(\" \"):[n];o<4;o++)r[e+Le[o]+t]=i[o]||i[o-2]||i[0];return r}},Je.test(e)||(ae.cssHooks[e+t].set=H)}),ae.fn.extend({css:function(e,t){return ke(this,function(e,t,n){var o,r,i={},l=0;if(Array.isArray(t)){for(o=et(e),r=t.length;l<r;l++)i[t[l]]=ae.css(e,t[l],!1,o);return i}return void 0!==n?ae.style(e,t,n):ae.css(e,t)},e,t,arguments.length>1)}}),ae.Tween=I,(I.prototype={constructor:I,init:function(e,t,n,o,r,i){this.elem=e,this.prop=n,this.easing=r||ae.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=o,this.unit=i||(ae.cssNumber[n]?\"\":\"px\")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=ae.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}}).init.prototype=I.prototype,(I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ae.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){ae.fx.step[e.prop]?ae.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ae.cssProps[e.prop]]&&!ae.cssHooks[e.prop]?e.elem[e.prop]=e.now:ae.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ae.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},ae.fx=I.prototype.init,ae.fx.step={};var at,st,ut=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;ae.Animation=ae.extend(V,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return f(n.elem,e,He.exec(t),n),n}]},tweener:function(e,t){ae.isFunction(e)?(t=e,e=[\"*\"]):e=e.match(Re);for(var n,o=0,r=e.length;o<r;o++)n=e[o],V.tweeners[n]=V.tweeners[n]||[],V.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var o,r,i,l,a,s,u,c,d=\"width\"in t||\"height\"in t,p=this,f={},h=e.style,m=e.nodeType&&Fe(e),v=Pe.get(e,\"fxshow\");n.queue||(null==(l=ae._queueHooks(e,\"fx\")).unqueued&&(l.unqueued=0,a=l.empty.fire,l.empty.fire=function(){l.unqueued||a()}),l.unqueued++,p.always(function(){p.always(function(){l.unqueued--,ae.queue(e,\"fx\").length||l.empty.fire()})}));for(o in t)if(r=t[o],ut.test(r)){if(delete t[o],i=i||\"toggle\"===r,r===(m?\"hide\":\"show\")){if(\"show\"!==r||!v||void 0===v[o])continue;m=!0}f[o]=v&&v[o]||ae.style(e,o)}if(!(s=!ae.isEmptyObject(t))&&ae.isEmptyObject(f))return;d&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(u=v&&v.display)&&(u=Pe.get(e,\"display\")),\"none\"===(c=ae.css(e,\"display\"))&&(u?c=u:(g([e],!0),u=e.style.display||u,c=ae.css(e,\"display\"),g([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=u)&&\"none\"===ae.css(e,\"float\")&&(s||(p.done(function(){h.display=u}),null==u&&(c=h.display,u=\"none\"===c?\"\":c)),h.display=\"inline-block\"));n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}));s=!1;for(o in f)s||(v?\"hidden\"in v&&(m=v.hidden):v=Pe.access(e,\"fxshow\",{display:u}),i&&(v.hidden=!m),m&&g([e],!0),p.done(function(){m||g([e]),Pe.remove(e,\"fxshow\");for(o in f)ae.style(e,o,f[o])})),s=j(m?v[o]:0,o,p),o in v||(v[o]=s.start,m&&(s.end=s.start,s.start=0))}],prefilter:function(e,t){t?V.prefilters.unshift(e):V.prefilters.push(e)}}),ae.speed=function(e,t,n){var o=e&&\"object\"==typeof e?ae.extend({},e):{complete:n||!n&&t||ae.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ae.isFunction(t)&&t};return ae.fx.off?o.duration=0:\"number\"!=typeof o.duration&&(o.duration in ae.fx.speeds?o.duration=ae.fx.speeds[o.duration]:o.duration=ae.fx.speeds._default),null!=o.queue&&!0!==o.queue||(o.queue=\"fx\"),o.old=o.complete,o.complete=function(){ae.isFunction(o.old)&&o.old.call(this),o.queue&&ae.dequeue(this,o.queue)},o},ae.fn.extend({fadeTo:function(e,t,n,o){return this.filter(Fe).css(\"opacity\",0).show().end().animate({opacity:t},e,n,o)},animate:function(e,t,n,o){var r=ae.isEmptyObject(e),i=ae.speed(t,n,o),l=function(){var t=V(this,ae.extend({},e),i);(r||Pe.get(this,\"finish\"))&&t.stop(!0)};return l.finish=l,r||!1===i.queue?this.each(l):this.queue(i.queue,l)},stop:function(e,t,n){var o=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,r=null!=e&&e+\"queueHooks\",i=ae.timers,l=Pe.get(this);if(r)l[r]&&l[r].stop&&o(l[r]);else for(r in l)l[r]&&l[r].stop&&ct.test(r)&&o(l[r]);for(r=i.length;r--;)i[r].elem!==this||null!=e&&i[r].queue!==e||(i[r].anim.stop(n),t=!1,i.splice(r,1));!t&&n||ae.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||\"fx\"),this.each(function(){var t,n=Pe.get(this),o=n[e+\"queue\"],r=n[e+\"queueHooks\"],i=ae.timers,l=o?o.length:0;for(n.finish=!0,ae.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<l;t++)o[t]&&o[t].finish&&o[t].finish.call(this);delete n.finish})}}),ae.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=ae.fn[t];ae.fn[t]=function(e,o,r){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(W(t,!0),e,o,r)}}),ae.each({slideDown:W(\"show\"),slideUp:W(\"hide\"),slideToggle:W(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){ae.fn[e]=function(e,n,o){return this.animate(t,e,n,o)}}),ae.timers=[],ae.fx.tick=function(){var e,t=0,n=ae.timers;for(at=ae.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ae.fx.stop(),at=void 0},ae.fx.timer=function(e){ae.timers.push(e),ae.fx.start()},ae.fx.interval=13,ae.fx.start=function(){st||(st=!0,_())},ae.fx.stop=function(){st=null},ae.fx.speeds={slow:600,fast:200,_default:400},ae.fn.delay=function(t,n){return t=ae.fx?ae.fx.speeds[t]||t:t,n=n||\"fx\",this.queue(n,function(n,o){var r=e.setTimeout(n,t);o.stop=function(){e.clearTimeout(r)}})},function(){var e=G.createElement(\"input\"),t=G.createElement(\"select\"),n=t.appendChild(G.createElement(\"option\"));e.type=\"checkbox\",le.checkOn=\"\"!==e.value,le.optSelected=n.selected,(e=G.createElement(\"input\")).value=\"t\",e.type=\"radio\",le.radioValue=\"t\"===e.value}();var dt,pt=ae.expr.attrHandle;ae.fn.extend({attr:function(e,t){return ke(this,ae.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ae.removeAttr(this,e)})}}),ae.extend({attr:function(e,t,n){var o,r,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?ae.prop(e,t,n):(1===i&&ae.isXMLDoc(e)||(r=ae.attrHooks[t.toLowerCase()]||(ae.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void ae.removeAttr(e,t):r&&\"set\"in r&&void 0!==(o=r.set(e,n,t))?o:(e.setAttribute(t,n+\"\"),n):r&&\"get\"in r&&null!==(o=r.get(e,t))?o:null==(o=ae.find.attr(e,t))?void 0:o)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&\"radio\"===t&&r(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,o=0,r=t&&t.match(Re);if(r&&1===e.nodeType)for(;n=r[o++];)e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?ae.removeAttr(e,n):e.setAttribute(n,n),n}},ae.each(ae.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=pt[t]||ae.find.attr;pt[t]=function(e,t,o){var r,i,l=t.toLowerCase();return o||(i=pt[l],pt[l]=r,r=null!=n(e,t,o)?l:null,pt[l]=i),r}});var ft=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;ae.fn.extend({prop:function(e,t){return ke(this,ae.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ae.propFix[e]||e]})}}),ae.extend({prop:function(e,t,n){var o,r,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&ae.isXMLDoc(e)||(t=ae.propFix[t]||t,r=ae.propHooks[t]),void 0!==n?r&&\"set\"in r&&void 0!==(o=r.set(e,n,t))?o:e[t]=n:r&&\"get\"in r&&null!==(o=r.get(e,t))?o:e[t]},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,\"tabindex\");return t?parseInt(t,10):ft.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),le.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ae.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){ae.propFix[this.toLowerCase()]=this}),ae.fn.extend({addClass:function(e){var t,n,o,r,i,l,a,s=0;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,q(this)))});if(\"string\"==typeof e&&e)for(t=e.match(Re)||[];n=this[s++];)if(r=q(n),o=1===n.nodeType&&\" \"+B(r)+\" \"){for(l=0;i=t[l++];)o.indexOf(\" \"+i+\" \")<0&&(o+=i+\" \");a=B(o),r!==a&&n.setAttribute(\"class\",a)}return this},removeClass:function(e){var t,n,o,r,i,l,a,s=0;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,q(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof e&&e)for(t=e.match(Re)||[];n=this[s++];)if(r=q(n),o=1===n.nodeType&&\" \"+B(r)+\" \"){for(l=0;i=t[l++];)for(;o.indexOf(\" \"+i+\" \")>-1;)o=o.replace(\" \"+i+\" \",\" \");a=B(o),r!==a&&n.setAttribute(\"class\",a)}return this},toggleClass:function(e,t){var n=typeof e;return\"boolean\"==typeof t&&\"string\"===n?t?this.addClass(e):this.removeClass(e):ae.isFunction(e)?this.each(function(n){ae(this).toggleClass(e.call(this,n,q(this),t),t)}):this.each(function(){var t,o,r,i;if(\"string\"===n)for(o=0,r=ae(this),i=e.match(Re)||[];t=i[o++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=q(this))&&Pe.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":Pe.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,o=0;for(t=\" \"+e+\" \";n=this[o++];)if(1===n.nodeType&&(\" \"+B(q(n))+\" \").indexOf(t)>-1)return!0;return!1}});var gt=/\\r/g;ae.fn.extend({val:function(e){var t,n,o,r=this[0];if(arguments.length)return o=ae.isFunction(e),this.each(function(n){var r;1===this.nodeType&&(null==(r=o?e.call(this,n,ae(this).val()):e)?r=\"\":\"number\"==typeof r?r+=\"\":Array.isArray(r)&&(r=ae.map(r,function(e){return null==e?\"\":e+\"\"})),(t=ae.valHooks[this.type]||ae.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,r,\"value\")||(this.value=r))});if(r)return(t=ae.valHooks[r.type]||ae.valHooks[r.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(r,\"value\"))?n:\"string\"==typeof(n=r.value)?n.replace(gt,\"\"):null==n?\"\":n}}),ae.extend({valHooks:{option:{get:function(e){var t=ae.find.attr(e,\"value\");return null!=t?t:B(ae.text(e))}},select:{get:function(e){var t,n,o,i=e.options,l=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?l+1:i.length;for(o=l<0?u:a?l:0;o<u;o++)if(((n=i[o]).selected||o===l)&&!n.disabled&&(!n.parentNode.disabled||!r(n.parentNode,\"optgroup\"))){if(t=ae(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,o,r=e.options,i=ae.makeArray(t),l=r.length;l--;)((o=r[l]).selected=ae.inArray(ae.valHooks.option.get(o),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),ae.each([\"radio\",\"checkbox\"],function(){ae.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=ae.inArray(ae(e).val(),t)>-1}},le.checkOn||(ae.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var mt=/^(?:focusinfocus|focusoutblur)$/;ae.extend(ae.event,{trigger:function(t,n,o,r){var i,l,a,s,u,c,d,p=[o||G],f=oe.call(t,\"type\")?t.type:t,h=oe.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(l=a=o=o||G,3!==o.nodeType&&8!==o.nodeType&&!mt.test(f+ae.event.triggered)&&(f.indexOf(\".\")>-1&&(h=f.split(\".\"),f=h.shift(),h.sort()),u=f.indexOf(\":\")<0&&\"on\"+f,t=t[ae.expando]?t:new ae.Event(f,\"object\"==typeof t&&t),t.isTrigger=r?2:3,t.namespace=h.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=o),n=null==n?[t]:ae.makeArray(n,[t]),d=ae.event.special[f]||{},r||!d.trigger||!1!==d.trigger.apply(o,n))){if(!r&&!d.noBubble&&!ae.isWindow(o)){for(s=d.delegateType||f,mt.test(s+f)||(l=l.parentNode);l;l=l.parentNode)p.push(l),a=l;a===(o.ownerDocument||G)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(l=p[i++])&&!t.isPropagationStopped();)t.type=i>1?s:d.bindType||f,(c=(Pe.get(l,\"events\")||{})[t.type]&&Pe.get(l,\"handle\"))&&c.apply(l,n),(c=u&&l[u])&&c.apply&&Te(l)&&(t.result=c.apply(l,n),!1===t.result&&t.preventDefault());return t.type=f,r||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(p.pop(),n)||!Te(o)||u&&ae.isFunction(o[f])&&!ae.isWindow(o)&&((a=o[u])&&(o[u]=null),ae.event.triggered=f,o[f](),ae.event.triggered=void 0,a&&(o[u]=a)),t.result}},simulate:function(e,t,n){var o=ae.extend(new ae.Event,n,{type:e,isSimulated:!0});ae.event.trigger(o,null,t)}}),ae.fn.extend({trigger:function(e,t){return this.each(function(){ae.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ae.event.trigger(e,t,n,!0)}}),ae.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),le.focusin=\"onfocusin\"in e,le.focusin||ae.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){ae.event.simulate(t,e.target,ae.event.fix(e))};ae.event.special[t]={setup:function(){var o=this.ownerDocument||this,r=Pe.access(o,t);r||o.addEventListener(e,n,!0),Pe.access(o,t,(r||0)+1)},teardown:function(){var o=this.ownerDocument||this,r=Pe.access(o,t)-1;r?Pe.access(o,t,r):(o.removeEventListener(e,n,!0),Pe.remove(o,t))}}});var vt=e.location,wt=ae.now(),yt=/\\?/;ae.parseXML=function(t){var n;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){n=void 0}return n&&!n.getElementsByTagName(\"parsererror\").length||ae.error(\"Invalid XML: \"+t),n};var Ct=/\\[\\]$/,bt=/\\r?\\n/g,xt=/^(?:submit|button|image|reset|file)$/i,Rt=/^(?:input|select|textarea|keygen)/i;ae.param=function(e,t){var n,o=[],r=function(e,t){var n=ae.isFunction(t)?t():t;o[o.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(Array.isArray(e)||e.jquery&&!ae.isPlainObject(e))ae.each(e,function(){r(this.name,this.value)});else for(n in e)O(n,e[n],t,r);return o.join(\"&\")},ae.fn.extend({serialize:function(){return ae.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ae.prop(this,\"elements\");return e?ae.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ae(this).is(\":disabled\")&&Rt.test(this.nodeName)&&!xt.test(e)&&(this.checked||!Me.test(e))}).map(function(e,t){var n=ae(this).val();return null==n?null:Array.isArray(n)?ae.map(n,function(e){return{name:t.name,value:e.replace(bt,\"\\r\\n\")}}):{name:t.name,value:n.replace(bt,\"\\r\\n\")}}).get()}});var St=/%20/g,Et=/#.*$/,kt=/([?&])_=[^&]*/,Tt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Pt=/^(?:GET|HEAD)$/,Dt=/^\\/\\//,Nt={},At={},$t=\"*/\".concat(\"*\"),Ht=G.createElement(\"a\");Ht.href=vt.href,ae.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(vt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":$t,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":ae.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?U(U(e,ae.ajaxSettings),t):U(ae.ajaxSettings,e)},ajaxPrefilter:z(Nt),ajaxTransport:z(At),ajax:function(t,n){function o(t,n,o,a){var u,p,f,C,b,x=n;c||(c=!0,s&&e.clearTimeout(s),r=void 0,l=a||\"\",R.readyState=t>0?4:0,u=t>=200&&t<300||304===t,o&&(C=function(e,t,n){var o,r,i,l,a=e.contents,s=e.dataTypes;for(;\"*\"===s[0];)s.shift(),void 0===o&&(o=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(o)for(r in a)if(a[r]&&a[r].test(o)){s.unshift(r);break}if(s[0]in n)i=s[0];else{for(r in n){if(!s[0]||e.converters[r+\" \"+s[0]]){i=r;break}l||(l=r)}i=i||l}if(i)return i!==s[0]&&s.unshift(i),n[i]}(h,R,o)),C=function(e,t,n,o){var r,i,l,a,s,u={},c=e.dataTypes.slice();if(c[1])for(l in e.converters)u[l.toLowerCase()]=e.converters[l];i=c.shift();for(;i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!s&&o&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),s=i,i=c.shift())if(\"*\"===i)i=s;else if(\"*\"!==s&&s!==i){if(!(l=u[s+\" \"+i]||u[\"* \"+i]))for(r in u)if((a=r.split(\" \"))[1]===i&&(l=u[s+\" \"+a[0]]||u[\"* \"+a[0]])){!0===l?l=u[r]:!0!==u[r]&&(i=a[0],c.unshift(a[1]));break}if(!0!==l)if(l&&e.throws)t=l(t);else try{t=l(t)}catch(e){return{state:\"parsererror\",error:l?e:\"No conversion from \"+s+\" to \"+i}}}return{state:\"success\",data:t}}(h,C,R,u),u?(h.ifModified&&((b=R.getResponseHeader(\"Last-Modified\"))&&(ae.lastModified[i]=b),(b=R.getResponseHeader(\"etag\"))&&(ae.etag[i]=b)),204===t||\"HEAD\"===h.type?x=\"nocontent\":304===t?x=\"notmodified\":(x=C.state,p=C.data,f=C.error,u=!f)):(f=x,!t&&x||(x=\"error\",t<0&&(t=0))),R.status=t,R.statusText=(n||x)+\"\",u?v.resolveWith(g,[p,x,R]):v.rejectWith(g,[R,x,f]),R.statusCode(y),y=void 0,d&&m.trigger(u?\"ajaxSuccess\":\"ajaxError\",[R,h,u?p:f]),w.fireWith(g,[R,x]),d&&(m.trigger(\"ajaxComplete\",[R,h]),--ae.active||ae.event.trigger(\"ajaxStop\")))}\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,l,a,s,u,c,d,p,f,h=ae.ajaxSetup({},n),g=h.context||h,m=h.context&&(g.nodeType||g.jquery)?ae(g):ae.event,v=ae.Deferred(),w=ae.Callbacks(\"once memory\"),y=h.statusCode||{},C={},b={},x=\"canceled\",R={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=Tt.exec(l);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?l:null},setRequestHeader:function(e,t){return null==c&&(e=b[e.toLowerCase()]=b[e.toLowerCase()]||e,C[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)R.always(e[R.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||x;return r&&r.abort(t),o(0,t),this}};if(v.promise(R),h.url=((t||h.url||vt.href)+\"\").replace(Dt,vt.protocol+\"//\"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||\"*\").toLowerCase().match(Re)||[\"\"],null==h.crossDomain){u=G.createElement(\"a\");try{u.href=h.url,u.href=u.href,h.crossDomain=Ht.protocol+\"//\"+Ht.host!=u.protocol+\"//\"+u.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&\"string\"!=typeof h.data&&(h.data=ae.param(h.data,h.traditional)),X(Nt,h,n,R),c)return R;(d=ae.event&&h.global)&&0==ae.active++&&ae.event.trigger(\"ajaxStart\"),h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),i=h.url.replace(Et,\"\"),h.hasContent?h.data&&h.processData&&0===(h.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(h.data=h.data.replace(St,\"+\")):(f=h.url.slice(i.length),h.data&&(i+=(yt.test(i)?\"&\":\"?\")+h.data,delete h.data),!1===h.cache&&(i=i.replace(kt,\"$1\"),f=(yt.test(i)?\"&\":\"?\")+\"_=\"+wt+++f),h.url=i+f),h.ifModified&&(ae.lastModified[i]&&R.setRequestHeader(\"If-Modified-Since\",ae.lastModified[i]),ae.etag[i]&&R.setRequestHeader(\"If-None-Match\",ae.etag[i])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&R.setRequestHeader(\"Content-Type\",h.contentType),R.setRequestHeader(\"Accept\",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+(\"*\"!==h.dataTypes[0]?\", \"+$t+\"; q=0.01\":\"\"):h.accepts[\"*\"]);for(p in h.headers)R.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,R,h)||c))return R.abort();if(x=\"abort\",w.add(h.complete),R.done(h.success),R.fail(h.error),r=X(At,h,n,R)){if(R.readyState=1,d&&m.trigger(\"ajaxSend\",[R,h]),c)return R;h.async&&h.timeout>0&&(s=e.setTimeout(function(){R.abort(\"timeout\")},h.timeout));try{c=!1,r.send(C,o)}catch(e){if(c)throw e;o(-1,e)}}else o(-1,\"No Transport\");return R},getJSON:function(e,t,n){return ae.get(e,t,n,\"json\")},getScript:function(e,t){return ae.get(e,void 0,t,\"script\")}}),ae.each([\"get\",\"post\"],function(e,t){ae[t]=function(e,n,o,r){return ae.isFunction(n)&&(r=r||o,o=n,n=void 0),ae.ajax(ae.extend({url:e,type:t,dataType:r,data:n,success:o},ae.isPlainObject(e)&&e))}}),ae._evalUrl=function(e){return ae.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,throws:!0})},ae.fn.extend({wrapAll:function(e){var t;return this[0]&&(ae.isFunction(e)&&(e=e.call(this[0])),t=ae(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return ae.isFunction(e)?this.each(function(t){ae(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ae(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ae.isFunction(e);return this.each(function(n){ae(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){ae(this).replaceWith(this.childNodes)}),this}}),ae.expr.pseudos.hidden=function(e){return!ae.expr.pseudos.visible(e)},ae.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ae.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Lt={0:200,1223:204},Ft=ae.ajaxSettings.xhr();le.cors=!!Ft&&\"withCredentials\"in Ft,le.ajax=Ft=!!Ft,ae.ajaxTransport(function(t){var n,o;if(le.cors||Ft&&!t.crossDomain)return{send:function(r,i){var l,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(l in t.xhrFields)a[l]=t.xhrFields[l];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r[\"X-Requested-With\"]||(r[\"X-Requested-With\"]=\"XMLHttpRequest\");for(l in r)a.setRequestHeader(l,r[l]);n=function(e){return function(){n&&(n=o=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,\"abort\"===e?a.abort():\"error\"===e?\"number\"!=typeof a.status?i(0,\"error\"):i(a.status,a.statusText):i(Lt[a.status]||a.status,a.statusText,\"text\"!==(a.responseType||\"text\")||\"string\"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),o=a.onerror=n(\"error\"),void 0!==a.onabort?a.onabort=o:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&o()})},n=n(\"abort\");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),ae.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ae.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return ae.globalEval(e),e}}}),ae.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),ae.ajaxTransport(\"script\",function(e){if(e.crossDomain){var t,n;return{send:function(o,r){t=ae(\"<script>\").prop({charset:e.scriptCharset,src:e.url}).on(\"load error\",n=function(e){t.remove(),n=null,e&&r(\"error\"===e.type?404:200,e.type)}),G.head.appendChild(t[0])},abort:function(){n&&n()}}}});var It=[],_t=/(=)\\?(?=&|$)|\\?\\?/;ae.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=It.pop()||ae.expando+\"_\"+wt++;return this[e]=!0,e}}),ae.ajaxPrefilter(\"json jsonp\",function(t,n,o){var r,i,l,a=!1!==t.jsonp&&(_t.test(t.url)?\"url\":\"string\"==typeof t.data&&0===(t.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&_t.test(t.data)&&\"data\");if(a||\"jsonp\"===t.dataTypes[0])return r=t.jsonpCallback=ae.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(_t,\"$1\"+r):!1!==t.jsonp&&(t.url+=(yt.test(t.url)?\"&\":\"?\")+t.jsonp+\"=\"+r),t.converters[\"script json\"]=function(){return l||ae.error(r+\" was not called\"),l[0]},t.dataTypes[0]=\"json\",i=e[r],e[r]=function(){l=arguments},o.always(function(){void 0===i?ae(e).removeProp(r):e[r]=i,t[r]&&(t.jsonpCallback=n.jsonpCallback,It.push(r)),l&&ae.isFunction(i)&&i(l[0]),l=i=void 0}),\"script\"}),le.createHTMLDocument=function(){var e=G.implementation.createHTMLDocument(\"\").body;return e.innerHTML=\"<form></form><form></form>\",2===e.childNodes.length}(),ae.parseHTML=function(e,t,n){if(\"string\"!=typeof e)return[];\"boolean\"==typeof t&&(n=t,t=!1);var o,r,i;return t||(le.createHTMLDocument?(t=G.implementation.createHTMLDocument(\"\"),(o=t.createElement(\"base\")).href=G.location.href,t.head.appendChild(o)):t=G),r=me.exec(e),i=!n&&[],r?[t.createElement(r[1])]:(r=w([e],t,i),i&&i.length&&ae(i).remove(),ae.merge([],r.childNodes))},ae.fn.load=function(e,t,n){var o,r,i,l=this,a=e.indexOf(\" \");return a>-1&&(o=B(e.slice(a)),e=e.slice(0,a)),ae.isFunction(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(r=\"POST\"),l.length>0&&ae.ajax({url:e,type:r||\"GET\",dataType:\"html\",data:t}).done(function(e){i=arguments,l.html(o?ae(\"<div>\").append(ae.parseHTML(e)).find(o):e)}).always(n&&function(e,t){l.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},ae.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){ae.fn[t]=function(e){return this.on(t,e)}}),ae.expr.pseudos.animated=function(e){return ae.grep(ae.timers,function(t){return e===t.elem}).length},ae.offset={setOffset:function(e,t,n){var o,r,i,l,a,s,u=ae.css(e,\"position\"),c=ae(e),d={};\"static\"===u&&(e.style.position=\"relative\"),a=c.offset(),i=ae.css(e,\"top\"),s=ae.css(e,\"left\"),(\"absolute\"===u||\"fixed\"===u)&&(i+s).indexOf(\"auto\")>-1?(o=c.position(),l=o.top,r=o.left):(l=parseFloat(i)||0,r=parseFloat(s)||0),ae.isFunction(t)&&(t=t.call(e,n,ae.extend({},a))),null!=t.top&&(d.top=t.top-a.top+l),null!=t.left&&(d.left=t.left-a.left+r),\"using\"in t?t.using.call(e,d):c.css(d)}},ae.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ae.offset.setOffset(this,e,t)});var t,n,o,r,i=this[0];if(i)return i.getClientRects().length?(o=i.getBoundingClientRect(),t=i.ownerDocument,n=t.documentElement,r=t.defaultView,{top:o.top+r.pageYOffset-n.clientTop,left:o.left+r.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],o={top:0,left:0};return\"fixed\"===ae.css(n,\"position\")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),r(e[0],\"html\")||(o=e.offset()),o={top:o.top+ae.css(e[0],\"borderTopWidth\",!0),left:o.left+ae.css(e[0],\"borderLeftWidth\",!0)}),{top:t.top-o.top-ae.css(n,\"marginTop\",!0),left:t.left-o.left-ae.css(n,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&\"static\"===ae.css(e,\"position\");)e=e.offsetParent;return e||qe})}}),ae.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;ae.fn[e]=function(o){return ke(this,function(e,o,r){var i;if(ae.isWindow(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===r)return i?i[t]:e[o];i?i.scrollTo(n?i.pageXOffset:r,n?r:i.pageYOffset):e[o]=r},e,o,arguments.length)}}),ae.each([\"top\",\"left\"],function(e,t){ae.cssHooks[t]=A(le.pixelPosition,function(e,n){if(n)return n=N(e,t),Ze.test(n)?ae(e).position()[t]+\"px\":n})}),ae.each({Height:\"height\",Width:\"width\"},function(e,t){ae.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,o){ae.fn[o]=function(r,i){var l=arguments.length&&(n||\"boolean\"!=typeof r),a=n||(!0===r||!0===i?\"margin\":\"border\");return ke(this,function(t,n,r){var i;return ae.isWindow(t)?0===o.indexOf(\"outer\")?t[\"inner\"+e]:t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===r?ae.css(t,n,a):ae.style(t,n,r,a)},t,l?r:void 0,l)}})}),ae.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)}}),ae.holdReady=function(e){e?ae.readyWait++:ae.ready(!0)},ae.isArray=Array.isArray,ae.parseJSON=JSON.parse,ae.nodeName=r,\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return ae});var Mt=e.jQuery,Wt=e.$;return ae.noConflict=function(t){return e.$===ae&&(e.$=Wt),t&&e.jQuery===ae&&(e.jQuery=Mt),ae},t||(e.jQuery=e.$=ae),ae})},414:/*!\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      function(e,t,n){var o=e(420);o.fn.drag=function(e,t,n){var r=\"string\"==typeof e?e:\"\",i=o.isFunction(e)?e:o.isFunction(t)?t:null;return 0!==r.indexOf(\"drag\")&&(r=\"drag\"+r),n=(e==i?t:n)||{},i?this.on(r,n,i):this.trigger(r)};var r=o.event,i=r.special,l=i.drag={defaults:{which:1,distance:0,not:\":input\",handle:null,relative:!1,drop:!0,click:!1},datakey:\"dragdata\",noBubble:!0,add:function(e){var t=o.data(this,l.datakey),n=e.data||{};t.related+=1,o.each(l.defaults,function(e,o){void 0!==n[e]&&(t[e]=n[e])})},remove:function(){o.data(this,l.datakey).related-=1},setup:function(){if(!o.data(this,l.datakey)){var e=o.extend({related:0},l.defaults);o.data(this,l.datakey,e),r.add(this,\"touchstart mousedown\",l.init,e),this.attachEvent&&this.attachEvent(\"ondragstart\",l.dontstart)}},teardown:function(){var e=o.data(this,l.datakey)||{};e.related||(o.removeData(this,l.datakey),r.remove(this,\"touchstart mousedown\",l.init),l.textselect(!0),this.detachEvent&&this.detachEvent(\"ondragstart\",l.dontstart))},init:function(e){if(!l.touched){var t,n=e.data;if(!(0!=e.which&&n.which>0&&e.which!=n.which)&&!o(e.target).is(n.not)&&(!n.handle||o(e.target).closest(n.handle,e.currentTarget).length)&&(l.touched=\"touchstart\"==e.type?this:null,n.propagates=1,n.mousedown=this,n.interactions=[l.interaction(this,n)],n.target=e.target,n.pageX=e.pageX,n.pageY=e.pageY,n.dragging=null,t=l.hijack(e,\"draginit\",n),n.propagates))return(t=l.flatten(t))&&t.length&&(n.interactions=[],o.each(t,function(){n.interactions.push(l.interaction(this,n))})),n.propagates=n.interactions.length,!1!==n.drop&&i.drop&&i.drop.handler(e,n),l.textselect(!1),l.touched?r.add(l.touched,\"touchmove touchend\",l.handler,n):r.add(document,\"mousemove mouseup\",l.handler,n),!(!l.touched||n.live)&&void 0}},interaction:function(e,t){var n=e&&e.ownerDocument?o(e)[t.relative?\"position\":\"offset\"]()||{top:0,left:0}:{top:0,left:0};return{drag:e,callback:new l.callback,droppable:[],offset:n}},handler:function(e){var t=e.data;switch(e.type){case!t.dragging&&\"touchmove\":e.preventDefault();case!t.dragging&&\"mousemove\":if(Math.pow(e.pageX-t.pageX,2)+Math.pow(e.pageY-t.pageY,2)<Math.pow(t.distance,2))break;e.target=t.target,l.hijack(e,\"dragstart\",t),t.propagates&&(t.dragging=!0);case\"touchmove\":e.preventDefault();case\"mousemove\":if(t.dragging){if(l.hijack(e,\"drag\",t),t.propagates){!1!==t.drop&&i.drop&&i.drop.handler(e,t);break}e.type=\"mouseup\"}case\"touchend\":case\"mouseup\":default:l.touched?r.remove(l.touched,\"touchmove touchend\",l.handler):r.remove(document,\"mousemove mouseup\",l.handler),t.dragging&&(!1!==t.drop&&i.drop&&i.drop.handler(e,t),l.hijack(e,\"dragend\",t)),l.textselect(!0),!1===t.click&&t.dragging&&o.data(t.mousedown,\"suppress.click\",(new Date).getTime()+5),t.dragging=l.touched=!1}},hijack:function(e,t,n,i,a){if(n){var s,u,c,d={event:e.originalEvent,type:e.type},p=t.indexOf(\"drop\")?\"drag\":\"drop\",f=i||0,h=isNaN(i)?n.interactions.length:i;e.type=t;var g=function(){};e.originalEvent=new o.Event(d.event,{preventDefault:g,stopPropagation:g,stopImmediatePropagation:g}),n.results=[];do{if(u=n.interactions[f]){if(\"dragend\"!==t&&u.cancelled)continue;c=l.properties(e,n,u),u.results=[],o(a||u[p]||n.droppable).each(function(i,a){if(c.target=a,e.isPropagationStopped=function(){return!1},!1===(s=a?r.dispatch.call(a,e,c):null)?(\"drag\"==p&&(u.cancelled=!0,n.propagates-=1),\"drop\"==t&&(u[p][i]=null)):\"dropinit\"==t&&u.droppable.push(l.element(s)||a),\"dragstart\"==t&&(u.proxy=o(l.element(s)||u.drag)[0]),u.results.push(s),delete e.result,\"dropinit\"!==t)return s}),n.results[f]=l.flatten(u.results),\"dropinit\"==t&&(u.droppable=l.flatten(u.droppable)),\"dragstart\"!=t||u.cancelled||c.update()}}while(++f<h);return e.type=d.type,e.originalEvent=d.event,l.flatten(n.results)}},properties:function(e,t,n){var o=n.callback;return o.drag=n.drag,o.proxy=n.proxy||n.drag,o.startX=t.pageX,o.startY=t.pageY,o.deltaX=e.pageX-t.pageX,o.deltaY=e.pageY-t.pageY,o.originalX=n.offset.left,o.originalY=n.offset.top,o.offsetX=o.originalX+o.deltaX,o.offsetY=o.originalY+o.deltaY,o.drop=l.flatten((n.drop||[]).slice()),o.available=l.flatten((n.droppable||[]).slice()),o},element:function(e){if(e&&(e.jquery||1==e.nodeType))return e},flatten:function(e){return o.map(e,function(e){return e&&e.jquery?o.makeArray(e):e&&e.length?l.flatten(e):e})},textselect:function(e){o(document)[e?\"off\":\"on\"](\"selectstart\",l.dontstart).css(\"MozUserSelect\",e?\"\":\"none\"),document.unselectable=e?\"off\":\"on\"},dontstart:function(){return!1},callback:function(){}};l.callback.prototype={update:function(){i.drop&&this.available.length&&o.each(this.available,function(e){i.drop.locate(this,e)})}};var a=r.dispatch;r.dispatch=function(e){if(!(o.data(this,\"suppress.\"+e.type)-(new Date).getTime()>0))return a.apply(this,arguments);o.removeData(this,\"suppress.\"+e.type)},i.draginit=i.dragstart=i.dragend=l},415:/*!\n       * jquery.event.drop - 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      function(e,t,n){var o=e(420);o.fn.drop=function(e,t,n){var r=\"string\"==typeof e?e:\"\",i=o.isFunction(e)?e:o.isFunction(t)?t:null;return 0!==r.indexOf(\"drop\")&&(r=\"drop\"+r),n=(e==i?t:n)||{},i?this.on(r,n,i):this.trigger(r)},o.drop=function(e){e=e||{},l.multi=!0===e.multi?1/0:!1===e.multi?1:isNaN(e.multi)?l.multi:e.multi,l.delay=e.delay||l.delay,l.tolerance=o.isFunction(e.tolerance)?e.tolerance:null===e.tolerance?null:l.tolerance,l.mode=e.mode||l.mode||\"intersect\"};var r=o.event,i=r.special,l=o.event.special.drop={multi:1,delay:20,mode:\"overlap\",targets:[],datakey:\"dropdata\",noBubble:!0,add:function(e){var t=o.data(this,l.datakey);t.related+=1},remove:function(){o.data(this,l.datakey).related-=1},setup:function(){if(!o.data(this,l.datakey)){o.data(this,l.datakey,{related:0,active:[],anyactive:0,winner:0,location:{}}),l.targets.push(this)}},teardown:function(){var e=o.data(this,l.datakey)||{};if(!e.related){o.removeData(this,l.datakey);var t=this;l.targets=o.grep(l.targets,function(e){return e!==t})}},handler:function(e,t){var n;if(t)switch(e.type){case\"mousedown\":case\"touchstart\":n=o(l.targets),\"string\"==typeof t.drop&&(n=n.filter(t.drop)),n.each(function(){var e=o.data(this,l.datakey);e.active=[],e.anyactive=0,e.winner=0}),t.droppable=n,i.drag.hijack(e,\"dropinit\",t);break;case\"mousemove\":case\"touchmove\":l.event=e,l.timer||l.tolerate(t);break;case\"mouseup\":case\"touchend\":l.timer=clearTimeout(l.timer),t.propagates&&(i.drag.hijack(e,\"drop\",t),i.drag.hijack(e,\"dropend\",t))}},locate:function(e,t){var n=o.data(e,l.datakey),r=o(e),i=r.offset()||{},a=r.outerHeight(),s=r.outerWidth(),u={elem:e,width:s,height:a,top:i.top,left:i.left,right:i.left+s,bottom:i.top+a};return n&&(n.location=u,n.index=t,n.elem=e),u},contains:function(e,t){return(t[0]||t.left)>=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,r,a,s,u,c,d,p=0,f=e.interactions.length,h=[l.event.pageX,l.event.pageY],g=l.tolerance||l.modes[l.mode];do{if(d=e.interactions[p]){if(!d)return;d.drop=[],s=[],u=d.droppable.length,g&&(r=l.locate(d.proxy)),t=0;do{if(c=d.droppable[t]){if(a=o.data(c,l.datakey),!(n=a.location))continue;a.winner=g?g.call(l,l.event,r,n):l.contains(n,h)?1:0,s.push(a)}}while(++t<u);s.sort(l.sort),t=0;do{(a=s[t])&&(a.winner&&d.drop.length<l.multi?(a.active[p]||a.anyactive||(!1!==i.drag.hijack(l.event,\"dropstart\",e,p,a.elem)[0]?(a.active[p]=1,a.anyactive+=1):a.winner=0),a.winner&&d.drop.push(a.elem)):a.active[p]&&1==a.anyactive&&(i.drag.hijack(l.event,\"dropend\",e,p,a.elem),a.active[p]=0,a.anyactive-=1))}while(++t<u)}}while(++p<f);l.last&&h[0]==l.last.pageX&&h[1]==l.last.pageY?delete l.timer:l.timer=setTimeout(function(){l.tolerate(e)},l.delay),l.last=l.event}};i.dropinit=i.dropstart=i.dropend=l},416:function(e,t,n){var o=e(420),r=e(418);t.exports={CheckboxSelectColumn:function(e){function t(e,t){var n,o,r=u.getSelectedRows(),i={};for(o=0;o<r.length;o++)n=r[o],i[n]=!0,i[n]!==d[n]&&(u.invalidateRow(n),delete d[n]);for(o in d)u.invalidateRow(o);d=i,u.render(),r.length&&r.length==u.getDataLength()?u.updateColumnHeader(p.columnId,\"<input type='checkbox' checked='checked'>\",p.toolTip):u.updateColumnHeader(p.columnId,\"<input type='checkbox'>\",p.toolTip)}function n(e,t){32==e.which&&u.getColumns()[t.cell].id===p.columnId&&(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit()||l(t.row),e.preventDefault(),e.stopImmediatePropagation())}function i(e,t){if(u.getColumns()[t.cell].id===p.columnId&&o(e.target).is(\":checkbox\")){if(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();l(t.row),e.stopPropagation(),e.stopImmediatePropagation()}}function l(e){d[e]?u.setSelectedRows(o.grep(u.getSelectedRows(),function(t){return t!=e})):u.setSelectedRows(u.getSelectedRows().concat(e))}function a(e,t){if(t.column.id==p.columnId&&o(e.target).is(\":checkbox\")){if(u.getEditorLock().isActive()&&!u.getEditorLock().commitCurrentEdit())return e.preventDefault(),void e.stopImmediatePropagation();if(o(e.target).is(\":checked\")){for(var n=[],r=0;r<u.getDataLength();r++)n.push(r);u.setSelectedRows(n)}else u.setSelectedRows([]);e.stopPropagation(),e.stopImmediatePropagation()}}function s(e,t,n,o,r){return r?d[e]?\"<input type='checkbox' checked='checked'>\":\"<input type='checkbox'>\":null}var u,c=new r.EventHandler,d={},p=o.extend(!0,{},{columnId:\"_checkbox_selector\",cssClass:null,toolTip:\"Select/Deselect All\",width:30},e);o.extend(this,{init:function(e){u=e,c.subscribe(u.onSelectedRowsChanged,t).subscribe(u.onClick,i).subscribe(u.onHeaderClick,a).subscribe(u.onKeyDown,n)},destroy:function(){c.unsubscribeAll()},deSelectRows:function(e){var t,n=e.length,r=[];for(t=0;t<n;t++)d[e[t]]&&(r[r.length]=e[t]);u.setSelectedRows(o.grep(u.getSelectedRows(),function(e){return r.indexOf(e)<0}))},selectRows:function(e){var t,n=e.length,o=[];for(t=0;t<n;t++)d[e[t]]||(o[o.length]=e[t]);u.setSelectedRows(u.getSelectedRows().concat(o))},getColumnDefinition:function(){return{id:p.columnId,name:\"<input type='checkbox'>\",toolTip:p.toolTip,field:\"sel\",width:p.width,resizable:!1,sortable:!1,cssClass:p.cssClass,formatter:s}}})}}},417:function(e,t,n){var o=e(420),r=e(418);t.exports={RowSelectionModel:function(e){function t(e){return function(){p||(p=!0,e.apply(this,arguments),p=!1)}}function n(e){for(var t=[],n=0;n<e.length;n++)for(var o=e[n].fromRow;o<=e[n].toRow;o++)t.push(o);return t}function i(e){for(var t=[],n=d.getColumns().length-1,o=0;o<e.length;o++)t.push(new r.Range(e[o],0,e[o],n));return t}function l(){return n(h)}function a(e){(h&&0!==h.length||e&&0!==e.length)&&(h=e,g.onSelectedRangesChanged.notify(h))}function s(e,t){f.selectActiveRow&&null!=t.row&&a([new r.Range(t.row,0,t.row,d.getColumns().length-1)])}function u(e){var t=d.getActiveCell();if(t&&e.shiftKey&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(38==e.which||40==e.which)){var n=l();n.sort(function(e,t){return e-t}),n.length||(n=[t.row]);var o,r=n[0],s=n[n.length-1];if((o=40==e.which?t.row<s||r==s?++s:++r:t.row<s?--s:--r)>=0&&o<d.getDataLength()){d.scrollRowIntoView(o);var u=i(function(e,t){var n,o=[];for(n=e;n<=t;n++)o.push(n);for(n=t;n<e;n++)o.push(n);return o}(r,s));a(u)}e.preventDefault(),e.stopPropagation()}}function c(e){var t=d.getCellFromEvent(e);if(!t||!d.canCellBeActive(t.row,t.cell))return!1;if(!d.getOptions().multiSelect||!e.ctrlKey&&!e.shiftKey&&!e.metaKey)return!1;var r=n(h),l=o.inArray(t.row,r);if(-1===l&&(e.ctrlKey||e.metaKey))r.push(t.row),d.setActiveCell(t.row,t.cell);else if(-1!==l&&(e.ctrlKey||e.metaKey))r=o.grep(r,function(e,n){return e!==t.row}),d.setActiveCell(t.row,t.cell);else if(r.length&&e.shiftKey){var s=r.pop(),u=Math.min(t.row,s),c=Math.max(t.row,s);r=[];for(var p=u;p<=c;p++)p!==s&&r.push(p);r.push(s),d.setActiveCell(t.row,t.cell)}var f=i(r);return a(f),e.stopImmediatePropagation(),!0}var d,p,f,h=[],g=this,m=new r.EventHandler,v={selectActiveRow:!0};o.extend(this,{getSelectedRows:l,setSelectedRows:function(e){a(i(e))},getSelectedRanges:function(){return h},setSelectedRanges:a,init:function(n){f=o.extend(!0,{},v,e),d=n,m.subscribe(d.onActiveCellChanged,t(s)),m.subscribe(d.onKeyDown,t(u)),m.subscribe(d.onClick,t(c))},destroy:function(){m.unsubscribeAll()},onSelectedRangesChanged:new r.Event})}}},418:function(e,t,n){function o(){var e=!1,t=!1;this.stopPropagation=function(){e=!0},this.isPropagationStopped=function(){return e},this.stopImmediatePropagation=function(){t=!0},this.isImmediatePropagationStopped=function(){return t}}function r(){this.__nonDataRow=!0}function i(){this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}function l(){this.__groupTotals=!0,this.group=null,this.initialized=!1}function a(){var e=null;this.isActive=function(t){return t?e===t:null!==e},this.activate=function(t){if(t!==e){if(null!==e)throw new Error(\"SlickGrid.EditorLock.activate: an editController is still active, can't activate another editController\");if(!t.commitCurrentEdit)throw new Error(\"SlickGrid.EditorLock.activate: editController must implement .commitCurrentEdit()\");if(!t.cancelCurrentEdit)throw new Error(\"SlickGrid.EditorLock.activate: editController must implement .cancelCurrentEdit()\");e=t}},this.deactivate=function(t){if(e!==t)throw new Error(\"SlickGrid.EditorLock.deactivate: specified editController is not the currently active one\");e=null},this.commitCurrentEdit=function(){return!e||e.commitCurrentEdit()},this.cancelCurrentEdit=function(){return!e||e.cancelCurrentEdit()}}(i.prototype=new r).equals=function(e){return this.value===e.value&&this.count===e.count&&this.collapsed===e.collapsed&&this.title===e.title},l.prototype=new r,t.exports={Event:function(){var e=[];this.subscribe=function(t){e.push(t)},this.unsubscribe=function(t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)},this.notify=function(t,n,r){n=n||new o,r=r||this;for(var i,l=0;l<e.length&&!n.isPropagationStopped()&&!n.isImmediatePropagationStopped();l++)i=e[l].call(r,n,t);return i}},EventData:o,EventHandler:function(){var e=[];this.subscribe=function(t,n){return e.push({event:t,handler:n}),t.subscribe(n),this},this.unsubscribe=function(t,n){for(var o=e.length;o--;)if(e[o].event===t&&e[o].handler===n)return e.splice(o,1),void t.unsubscribe(n);return this},this.unsubscribeAll=function(){for(var t=e.length;t--;)e[t].event.unsubscribe(e[t].handler);return e=[],this}},Range:function(e,t,n,o){void 0===n&&void 0===o&&(n=e,o=t);this.fromRow=Math.min(e,n),this.fromCell=Math.min(t,o),this.toRow=Math.max(e,n),this.toCell=Math.max(t,o),this.isSingleRow=function(){return this.fromRow==this.toRow},this.isSingleCell=function(){return this.fromRow==this.toRow&&this.fromCell==this.toCell},this.contains=function(e,t){return e>=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:r,Group:i,GroupTotals:l,EditorLock:a,GlobalEditorLock:new a,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\"}},419:function _(require,module,exports){function SlickGrid(container,data,columns,options){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;e<columns.length;e++){var t=columns[e]=$.extend({},columnDefaults,columns[e]);columnsById[t.id]=e,t.minWidth&&t.width<t.minWidth&&(t.width=t.minWidth),t.maxWidth&&t.width>t.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=$(\"<div tabIndex='0' hideFocus style='position:fixed;width:0;height:0;top:0;left:0;outline:0;'></div>\").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$(\"<div class='slick-preheader-panel ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$preHeaderPanel=$(\"<div />\").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($preHeaderPanelScroller),options.showPreHeaderPanel||$preHeaderPanelScroller.hide()),$headerScroller=$(\"<div class='slick-header ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),($headers=$(\"<div class='slick-header-columns' style='left:-1000px' />\").appendTo($headerScroller)).width(getHeadersWidth()),$headerRowScroller=$(\"<div class='slick-headerrow ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$headerRow=$(\"<div class='slick-headerrow-columns' />\").appendTo($headerRowScroller),$headerRowSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").css(\"width\",getCanvasWidth()+scrollbarDimensions.width+\"px\").appendTo($headerRowScroller),$topPanelScroller=$(\"<div class='slick-top-panel-scroller ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$topPanel=$(\"<div class='slick-top-panel' style='width:10000px' />\").appendTo($topPanelScroller),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),($viewport=$(\"<div class='slick-viewport' style='width:100%;overflow:auto;outline:0;position:relative;;'>\").appendTo($container)).css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),$canvas=$(\"<div class='grid-canvas' />\").appendTo($viewport),options.createFooterRow&&($footerRowScroller=$(\"<div class='slick-footerrow ui-state-default' style='overflow:hidden;position:relative;' />\").appendTo($container),$footerRow=$(\"<div class='slick-footerrow-columns' />\").appendTo($footerRowScroller),$footerRowSpacer=$(\"<div style='display:block;height:1px;position:absolute;top:0;left:0;'></div>\").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;t>=0;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=$(\"<div style='position:absolute; top:-10000px; left:-10000px; width:100px; height:100px; overflow:scroll;'></div>\").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;n<o;n++){var r=columns[n].width;t+=r}return e&&(t+=scrollbarDimensions.width),t}function getHeadersWidth(){var e=getColumnTotalWidth(!0);return Math.max(e,viewportW)+1e3}function getCanvasWidth(){for(var e=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW,t=0,n=columns.length;n--;)t+=columns[n].width;return options.fullWidthRows?Math.max(t,e):t}function updateCanvasWidth(e){var t=canvasWidth;(canvasWidth=getCanvasWidth())!=t&&($canvas.width(canvasWidth),$headerRow.width(canvasWidth),options.createFooterRow&&$footerRow.width(canvasWidth),options.createPreHeaderPanel&&$preHeaderPanel.width(canvasWidth),$headers.width(getHeadersWidth()),viewportHasHScroll=canvasWidth>viewportW-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=$(\"<div style='display:none' />\").appendTo(document.body);;){var o=2*e;if(n.css(\"height\",o),o>t||n.height()!==o)break;e=o}return n.remove(),e}function getUID(){return uid}function getHeaderColumnWidthDiff(){return headerColumnWidthDiff}function getScrollbarDimensions(){return scrollbarDimensions}function bindAncestorScrollEvents(){for(var e=$canvas[0];(e=e.parentNode)!=document.body&&null!=e;)if(e==$viewport[0]||e.scrollWidth!=e.clientWidth||e.scrollHeight!=e.clientHeight){var t=$(e);$boundAncestors=$boundAncestors?$boundAncestors.add(t):t,t.on(\"scroll.\"+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.off(\"scroll.\"+uid),$boundAncestors=null)}function updateColumnHeader(e,t,n){if(initialized){var o=getColumnIndex(e);if(null!=o){var r=columns[o],i=$headers.children().eq(o);i&&(void 0!==t&&(columns[o].name=t),void 0!==n&&(columns[o].toolTip=n),trigger(self.onBeforeHeaderCellDestroy,{node:i[0],column:r,grid:self}),i.attr(\"title\",n||\"\").children().eq(0).html(t),trigger(self.onHeaderCellRendered,{node:i[0],column:r,grid:self}))}}}function getHeaderRow(){return $headerRow[0]}function getFooterRow(){return $footerRow[0]}function getPreHeaderPanel(){return $preHeaderPanel[0]}function getHeaderRowColumn(e){var t=getColumnIndex(e),n=$headerRow.children().eq(t);return n&&n[0]}function getFooterRowColumn(e){var t=getColumnIndex(e),n=$footerRow.children().eq(t);return n&&n[0]}function createColumnHeaders(){function e(){$(this).addClass(\"ui-state-hover\")}function t(){$(this).removeClass(\"ui-state-hover\")}$headers.find(\".slick-header-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:e,grid:self})}),$headers.empty(),$headers.width(getHeadersWidth()),$headerRow.find(\".slick-headerrow-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:self})}),$headerRow.empty(),options.createFooterRow&&($footerRow.find(\".slick-footerrow-column\").each(function(){var e=$(this).data(\"column\");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e})}),$footerRow.empty());for(var n=0;n<columns.length;n++){var o=columns[n],r=$(\"<div class='ui-state-default slick-header-column' />\").html(\"<span class='slick-column-name'>\"+o.name+\"</span>\").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(\"<span class='\"+sortIndicatorCssClass+\"' />\")),trigger(self.onHeaderCellRendered,{node:r[0],column:o,grid:self}),options.showHeaderRow){var i=$(\"<div class='ui-state-default slick-headerrow-column l\"+n+\" r\"+n+\"'></div>\").data(\"column\",o).appendTo($headerRow);trigger(self.onHeaderRowCellRendered,{node:i[0],column:o,grid:self})}if(options.createFooterRow&&options.showFooterRow){var l=$(\"<div class='ui-state-default slick-footerrow-column l\"+n+\" r\"+n+\"'></div>\").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<sortColumns.length;r++)if(sortColumns[r].columnId==n.id){(o=sortColumns[r]).sortAsc=!o.sortAsc;break}var i=!!o;options.tristateMultiColumnSort?(o||(o={columnId:n.id,sortAsc:n.defaultSortAsc}),i&&o.sortAsc&&(sortColumns.splice(r,1),o=null),options.multiColumnSort||(sortColumns=[]),!o||i&&options.multiColumnSort||sortColumns.push(o)):e.metaKey&&options.multiColumnSort?o&&sortColumns.splice(r,1):((e.shiftKey||e.metaKey)&&options.multiColumnSort||(sortColumns=[]),o?0==sortColumns.length&&sortColumns.push(o):(o={columnId:n.id,sortAsc:n.defaultSortAsc},sortColumns.push(o))),setSortColumns(sortColumns),sortColumns.length>0&&(options.multiColumnSort?trigger(self.onSort,{multiColumnSort:!0,sortCols:$.map(sortColumns,function(e){return{sortCol:columns[getColumnIndex(e.columnId)],sortAsc:e.sortAsc}}),grid:self},e):trigger(self.onSort,{multiColumnSort:!1,sortCol:n,sortAsc:sortColumns[0].sortAsc,grid:self},e))}}}})}function setupColumnReorder(){$headers.filter(\":ui-sortable\").sortable(\"destroy\"),$headers.sortable({containment:\"parent\",distance:3,axis:\"x\",cursor:\"default\",tolerance:\"intersection\",helper:\"clone\",placeholder:\"slick-sortable-placeholder ui-state-default slick-header-column\",start:function(e,t){t.placeholder.width(t.helper.outerWidth()-headerColumnWidthDiff),$(t.helper).addClass(\"slick-header-column-active\")},beforeStop:function(e,t){$(t.helper).removeClass(\"slick-header-column-active\")},stop:function(e){if(getEditorLock().commitCurrentEdit()){for(var t=$headers.sortable(\"toArray\"),n=[],o=0;o<t.length;o++)n.push(columns[getColumnIndex(t[o].replace(uid,\"\"))]);setColumns(n),trigger(self.onColumnsReordered,{grid:self}),e.stopPropagation(),setupColumnResize()}else $(this).sortable(\"cancel\")}})}function setupColumnResize(){var e,t,n,o,r,i,l,a,s;(r=$headers.children()).find(\".slick-resizable-handle\").remove(),r.each(function(e,t){e>=columns.length||columns[e].resizable&&(void 0===a&&(a=e),s=e)}),void 0!==a&&r.each(function(u,c){u>=columns.length||u<a||options.forceFitColumns&&u>=s||(e=$(c),$(\"<div class='slick-resizable-handle' />\").appendTo(c).on(\"dragstart\",function(e,a){if(!getEditorLock().commitCurrentEdit())return!1;o=e.pageX,$(this).parent().addClass(\"slick-header-column-active\");var s=null,c=null;if(r.each(function(e,t){e>=columns.length||(columns[e].previousWidth=$(t).outerWidth())}),options.forceFitColumns)for(s=0,c=0,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(null!==c&&(n.maxWidth?c+=n.maxWidth-n.previousWidth:c=null),s+=n.previousWidth-Math.max(n.minWidth||0,absoluteColumnMinWidth));var d=0,p=0;for(t=0;t<=u;t++)(n=columns[t]).resizable&&(null!==p&&(n.maxWidth?p+=n.maxWidth-n.previousWidth:p=null),d+=n.previousWidth-Math.max(n.minWidth||0,absoluteColumnMinWidth));null===s&&(s=1e5),null===d&&(d=1e5),null===c&&(c=1e5),null===p&&(p=1e5),l=o+Math.min(s,p),i=o-Math.min(d,c)}).on(\"drag\",function(e,r){var a,s,c=Math.min(l,Math.max(i,e.pageX))-o;if(c<0){for(s=c,t=u;t>=0;t--)(n=columns[t]).resizable&&(a=Math.max(n.minWidth||0,absoluteColumnMinWidth),s&&n.previousWidth+s<a?(s+=n.previousWidth-a,n.width=a):(n.width=n.previousWidth+s,s=0));if(options.forceFitColumns)for(s=-c,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(s&&n.maxWidth&&n.maxWidth-n.previousWidth<s?(s-=n.maxWidth-n.previousWidth,n.width=n.maxWidth):(n.width=n.previousWidth+s,s=0))}else{for(s=c,t=u;t>=0;t--)(n=columns[t]).resizable&&(s&&n.maxWidth&&n.maxWidth-n.previousWidth<s?(s-=n.maxWidth-n.previousWidth,n.width=n.maxWidth):(n.width=n.previousWidth+s,s=0));if(options.forceFitColumns)for(s=-c,t=u+1;t<columns.length;t++)(n=columns[t]).resizable&&(a=Math.max(n.minWidth||0,absoluteColumnMinWidth),s&&n.previousWidth+s<a?(s+=n.previousWidth-a,n.width=a):(n.width=n.previousWidth+s,s=0))}applyColumnHeaderWidths(),options.syncColumnCellResize&&applyColumnWidths()}).on(\"dragend\",function(e,o){var i;for($(this).parent().removeClass(\"slick-header-column-active\"),t=0;t<columns.length;t++)n=columns[t],i=$(r[t]).outerWidth(),n.previousWidth!==i&&n.rerenderOnResize&&invalidateAllRows();updateCanvasWidth(!0),render(),trigger(self.onColumnsResized,{grid:self})}))})}function getVBoxDelta(e){var t=0;return $.each([\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],function(n,o){t+=parseFloat(e.css(o))||0}),t}function measureCellPaddingAndBorder(){var e,t=[\"borderLeftWidth\",\"borderRightWidth\",\"paddingLeft\",\"paddingRight\"],n=[\"borderTopWidth\",\"borderBottomWidth\",\"paddingTop\",\"paddingBottom\"],o=$.fn.jquery.split(\".\");jQueryNewWidthBehaviour=1==o[0]&&o[1]>=8||o[0]>=2,e=$(\"<div class='ui-state-default slick-header-column' style='visibility:hidden'>-</div>\").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,\"border-box\"!=e.css(\"box-sizing\")&&\"border-box\"!=e.css(\"-moz-box-sizing\")&&\"border-box\"!=e.css(\"-webkit-box-sizing\")&&($.each(t,function(t,n){headerColumnWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){headerColumnHeightDiff+=parseFloat(e.css(n))||0})),e.remove();var r=$(\"<div class='slick-row' />\").appendTo($canvas);e=$(\"<div class='slick-cell' id='' style='visibility:hidden'>-</div>\").appendTo(r),cellWidthDiff=cellHeightDiff=0,\"border-box\"!=e.css(\"box-sizing\")&&\"border-box\"!=e.css(\"-moz-box-sizing\")&&\"border-box\"!=e.css(\"-webkit-box-sizing\")&&($.each(t,function(t,n){cellWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){cellHeightDiff+=parseFloat(e.css(n))||0})),r.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$(\"<style type='text/css' rel='stylesheet' />\").appendTo($(\"head\"));for(var e=options.rowHeight-cellHeightDiff,t=[\".\"+uid+\" .slick-header-column { left: 1000px; }\",\".\"+uid+\" .slick-top-panel { height:\"+options.topPanelHeight+\"px; }\",\".\"+uid+\" .slick-preheader-panel { height:\"+options.preHeaderPanelHeight+\"px; }\",\".\"+uid+\" .slick-headerrow-columns { height:\"+options.headerRowHeight+\"px; }\",\".\"+uid+\" .slick-footerrow-columns { height:\"+options.footerRowHeight+\"px; }\",\".\"+uid+\" .slick-cell { height:\"+e+\"px; }\",\".\"+uid+\" .slick-row { height:\"+options.rowHeight+\"px; }\"],n=0;n<columns.length;n++)t.push(\".\"+uid+\" .l\"+n+\" { }\"),t.push(\".\"+uid+\" .r\"+n+\" { }\");$style[0].styleSheet?$style[0].styleSheet.cssText=t.join(\" \"):$style[0].appendChild(document.createTextNode(t.join(\" \")))}function getColumnCssRules(e){var t;if(!stylesheet){var n=document.styleSheets;for(t=0;t<n.length;t++)if((n[t].ownerNode||n[t].owningElement)==$style[0]){stylesheet=n[t];break}if(!stylesheet)throw new Error(\"Cannot find stylesheet.\");columnCssRulesL=[],columnCssRulesR=[];var o,r,i=stylesheet.cssRules||stylesheet.rules;for(t=0;t<i.length;t++){var l=i[t].selectorText;(o=/\\.l\\d+/.exec(l))?(r=parseInt(o[0].substr(2,o[0].length-2),10),columnCssRulesL[r]=i[t]):(o=/\\.r\\d+/.exec(l))&&(r=parseInt(o[0].substr(2,o[0].length-2),10),columnCssRulesR[r]=i[t])}}return{left:columnCssRulesL[e],right:columnCssRulesR[e]}}function removeCssRules(){$style.remove(),stylesheet=null}function destroy(){getEditorLock().cancelCurrentEdit(),trigger(self.onBeforeDestroy,{grid:self});for(var e=plugins.length;e--;)unregisterPlugin(plugins[e]);options.enableColumnReorder&&$headers.filter(\":ui-sortable\").sortable(\"destroy\"),unbindAncestorScrollEvents(),$container.off(\".slickgrid\"),removeCssRules(),$canvas.off(\"draginit dragstart dragend drag\"),$container.empty().removeClass(uid)}function trigger(e,t,n){return n=n||new Slick.EventData,t=t||{},t.grid=self,e.notify(t,n,self)}function getEditorLock(){return options.editorLock}function getEditController(){return editController}function getColumnIndex(e){return columnsById[e]}function autosizeColumns(){var e,t,n,o=[],r=0,i=0,l=viewportHasVScroll?viewportW-scrollbarDimensions.width:viewportW;for(e=0;e<columns.length;e++)t=columns[e],o.push(t.width),i+=t.width,t.resizable&&(r+=t.width-Math.max(t.minWidth,absoluteColumnMinWidth));for(n=i;i>l&&r;){var a=(i-l)/r;for(e=0;e<columns.length&&i>l;e++){t=columns[e];var s=o[e];if(!(!t.resizable||s<=t.minWidth||s<=absoluteColumnMinWidth)){var u=Math.max(t.minWidth,absoluteColumnMinWidth),c=Math.floor(a*(s-u))||1;c=Math.min(c,s-u),i-=c,r-=c,o[e]-=c}}if(n<=i)break;n=i}for(n=i;i<l;){var d=l/i;for(e=0;e<columns.length&&i<l;e++){t=columns[e];var p,f=o[e];p=!t.resizable||t.maxWidth<=f?0:Math.min(Math.floor(d*f)-f,t.maxWidth-f||1e6)||1,i+=p,o[e]+=i<=l?p:0}if(n>=i)break;n=i}var h=!1;for(e=0;e<columns.length;e++)columns[e].rerenderOnResize&&columns[e].width!=o[e]&&(h=!0),columns[e].width=o[e];applyColumnHeaderWidths(),updateCanvasWidth(!0),h&&(invalidateAllRows(),render())}function applyColumnHeaderWidths(){if(initialized){for(var e,t=0,n=$headers.children(),o=columns.length;t<o;t++)e=$(n[t]),jQueryNewWidthBehaviour?e.outerWidth()!==columns[t].width&&e.outerWidth(columns[t].width):e.width()!==columns[t].width-headerColumnWidthDiff&&e.width(columns[t].width-headerColumnWidthDiff);updateColumnCaches()}}function applyColumnWidths(){for(var e,t,n=0,o=0;o<columns.length;o++)e=columns[o].width,(t=getColumnCssRules(o)).left.style.left=n+\"px\",t.right.style.right=canvasWidth-n-e+\"px\",n+=columns[o].width}function setSortColumn(e,t){setSortColumns([{columnId:e,sortAsc:t}])}function setSortColumns(e){sortColumns=e;var t=options.numberedMultiColumnSort&&sortColumns.length>1,n=$headers.children(),o=n.removeClass(\"slick-header-column-sorted\").find(\".\"+sortIndicatorCssClass).removeClass(\"slick-sort-indicator-asc slick-sort-indicator-desc\");t&&o.text(\"\"),$.each(sortColumns,function(e,r){null==r.sortAsc&&(r.sortAsc=!0);var i=getColumnIndex(r.columnId);null!=i&&(o=n.eq(i).addClass(\"slick-header-column-sorted\").find(\".\"+sortIndicatorCssClass).addClass(r.sortAsc?\"slick-sort-indicator-asc\":\"slick-sort-indicator-desc\"),t&&o.text(e+1))})}function getSortColumns(){return sortColumns}function handleSelectedRangesChanged(e,t){selectedRows=[];for(var n={},o=0;o<t.length;o++)for(var r=t[o].fromRow;r<=t[o].toRow;r++){n[r]||(selectedRows.push(r),n[r]={});for(var i=t[o].fromCell;i<=t[o].toCell;i++)canCellBeSelected(r,i)&&(n[r][columns[i].id]=options.selectedCellCssClass)}setCellCssStyles(options.selectedCellCssClass,n),trigger(self.onSelectedRowsChanged,{rows:getSelectedRows(),grid:self},e)}function getColumns(){return columns}function updateColumnCaches(){columnPosLeft=[],columnPosRight=[];for(var e=0,t=0,n=columns.length;t<n;t++)columnPosLeft[t]=e,columnPosRight[t]=e+columns[t].width,e+=columns[t].width}function setColumns(e){columns=e,columnsById={};for(var t=0;t<columns.length;t++){var n=columns[t]=$.extend({},columnDefaults,columns[t]);columnsById[n.id]=t,n.minWidth&&n.width<n.minWidth&&(n.width=n.minWidth),n.maxWidth&&n.width>n.maxWidth&&(n.width=n.maxWidth)}updateColumnCaches(),initialized&&(invalidateAllRows(),createColumnHeaders(),removeCssRules(),createCssRules(),resizeCanvas(),applyColumnWidths(),handleScroll())}function getOptions(){return options}function setOptions(e,t){getEditorLock().commitCurrentEdit()&&(makeActiveCellNormal(),options.enableAddRow!==e.enableAddRow&&invalidateRow(getDataLength()),options=$.extend(options,e),validateAndEnforceOptions(),$viewport.css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),t||render())}function validateAndEnforceOptions(){options.autoHeight&&(options.leaveSpaceForNewRows=!1)}function setData(e,t){data=e,invalidateAllRows(),updateRowCount(),t&&scrollTo(0)}function getData(){return data}function getDataLength(){return data.getLength?data.getLength():data.length}function getDataLengthIncludingAddNew(){return getDataLength()+(options.enableAddRow&&(!pagingActive||pagingIsLastPage)?1:0)}function getDataItem(e){return data.getItem?data.getItem(e):data[e]}function getTopPanel(){return $topPanel[0]}function setTopPanelVisibility(e){options.showTopPanel!=e&&(options.showTopPanel=e,e?$topPanelScroller.slideDown(\"fast\",resizeCanvas):$topPanelScroller.slideUp(\"fast\",resizeCanvas))}function setHeaderRowVisibility(e){options.showHeaderRow!=e&&(options.showHeaderRow=e,e?$headerRowScroller.slideDown(\"fast\",resizeCanvas):$headerRowScroller.slideUp(\"fast\",resizeCanvas))}function setFooterRowVisibility(e){options.showFooterRow!=e&&(options.showFooterRow=e,e?$footerRowScroller.slideDown(\"fast\",resizeCanvas):$footerRowScroller.slideUp(\"fast\",resizeCanvas))}function setPreHeaderPanelVisibility(e){options.showPreHeaderPanel!=e&&(options.showPreHeaderPanel=e,e?$preHeaderPanelScroller.slideDown(\"fast\",resizeCanvas):$preHeaderPanelScroller.slideUp(\"fast\",resizeCanvas))}function getContainerNode(){return $container.get(0)}function getRowTop(e){return options.rowHeight*e-offset}function getRowFromPosition(e){return Math.floor((e+offset)/options.rowHeight)}function scrollTo(e){e=Math.max(e,0),e=Math.min(e,th-viewportH+(viewportHasHScroll?scrollbarDimensions.height:0));var t=offset;page=Math.min(n-1,Math.floor(e/ph)),offset=Math.round(page*cj);var o=e-offset;if(offset!=t){var r=getVisibleRange(o);cleanupRows(r),updateRowPositions()}prevScrollTop!=o&&(vScrollDir=prevScrollTop+t<o+offset?1:-1,$viewport[0].scrollTop=lastRenderedScrollTop=scrollTop=prevScrollTop=o,trigger(self.onViewportChanged,{grid:self}))}function defaultFormatter(e,t,n,o,r){return null==n?\"\":(n+\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function getFormatter(e,t){var n=data.getItemMetadata&&data.getItemMetadata(e),o=n&&n.columns&&(n.columns[t.id]||n.columns[getColumnIndex(t.id)]);return o&&o.formatter||n&&n.formatter||t.formatter||options.formatterFactory&&options.formatterFactory.getFormatter(t)||options.defaultFormatter}function getEditor(e,t){var n=columns[t],o=data.getItemMetadata&&data.getItemMetadata(e),r=o&&o.columns;return r&&r[n.id]&&void 0!==r[n.id].editor?r[n.id].editor:r&&r[t]&&void 0!==r[t].editor?r[t].editor:n.editor||options.editorFactory&&options.editorFactory.getEditor(n)}function getDataItemValueForColumn(e,t){return options.dataItemColumnValueExtractor?options.dataItemColumnValueExtractor(e,t):e[t.field]}function appendRowHtml(e,t,n,o){var r=getDataItem(t),i=t<o&&!r,l=\"slick-row\"+(i?\" loading\":\"\")+(t===activeRow?\" active\":\"\")+(t%2==1?\" odd\":\" even\");r||(l+=\" \"+options.addNewRowCssClass);var a=data.getItemMetadata&&data.getItemMetadata(t);a&&a.cssClasses&&(l+=\" \"+a.cssClasses),e.push(\"<div class='ui-widget-content \"+l+\"' style='top:\"+getRowTop(t)+\"px'>\");for(var s,u,c=0,d=columns.length;c<d;c++){if(u=columns[c],s=1,a&&a.columns){var p=a.columns[u.id]||a.columns[c];\"*\"===(s=p&&p.colspan||1)&&(s=d-c)}if(columnPosRight[Math.min(d-1,c+s-1)]>n.leftPx){if(columnPosLeft[c]>n.rightPx)break;appendCellHtml(e,t,c,s,r)}s>1&&(c+=s-1)}e.push(\"</div>\")}function appendCellHtml(e,t,n,o,r){var i=columns[n],l=\"slick-cell l\"+n+\" r\"+Math.min(columns.length-1,n+o-1)+(i.cssClass?\" \"+i.cssClass:\"\");t===activeRow&&n===activeCell&&(l+=\" active\");for(var a in cellCssClasses)cellCssClasses[a][t]&&cellCssClasses[a][t][i.id]&&(l+=\" \"+cellCssClasses[a][t][i.id]);var s=null;r&&(s=getDataItemValueForColumn(r,i));var u=getFormatter(t,i)(t,n,s,i,r),c=trigger(self.onBeforeAppendCell,{row:t,cell:n,grid:self,value:s,dataContext:r})||\"\";c+=u.addClasses?(c?\" \":\"\")+u.addClasses:\"\",e.push(\"<div class='\"+l+(c?\" \"+c:\"\")+\"'>\"),r&&e.push(\"object\"!=typeof u?u:u.text),e.push(\"</div>\"),rowsCache[t].cellRenderQueue.push(n),rowsCache[t].cellColSpans[n]=o}function cleanupRows(e){for(var t in rowsCache)(t=parseInt(t,10))!==activeRow&&(t<e.top||t>e.bottom)&&removeRowFromCache(t);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function invalidate(){updateRowCount(),invalidateAllRows(),render()}function invalidateAllRows(){currentEditor&&makeActiveCellNormal();for(var e in rowsCache)removeRowFromCache(e);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function queuePostProcessedRowForCleanup(e,t,n){postProcessgroupId++;for(var o in t)t.hasOwnProperty(o)&&postProcessedCleanupQueue.push({actionType:\"C\",groupId:postProcessgroupId,node:e.cellNodesByColumnIdx[0|o],columnIdx:0|o,rowIdx:n});postProcessedCleanupQueue.push({actionType:\"R\",groupId:postProcessgroupId,node:e.rowNode}),$(e.rowNode).detach()}function queuePostProcessedCellForCleanup(e,t,n){postProcessedCleanupQueue.push({actionType:\"C\",groupId:postProcessgroupId,node:e,columnIdx:t,rowIdx:n}),$(e).detach()}function removeRowFromCache(e){var t=rowsCache[e];t&&(rowNodeFromLastMouseWheelEvent===t.rowNode?(t.rowNode.style.display=\"none\",zombieRowNodeFromLastMouseWheelEvent=rowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent=t,zombieRowPostProcessedFromLastMouseWheelEvent=postProcessedRows[e]):options.enableAsyncPostRenderCleanup&&postProcessedRows[e]?queuePostProcessedRowForCleanup(t,postProcessedRows[e],e):$canvas[0].removeChild(t.rowNode),delete rowsCache[e],delete postProcessedRows[e],renderedRows--,counter_rows_removed++)}function invalidateRows(e){var t,n;if(e&&e.length){for(vScrollDir=0,n=e.length,t=0;t<n;t++)currentEditor&&activeRow===e[t]&&makeActiveCellNormal(),rowsCache[e[t]]&&removeRowFromCache(e[t]);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}}function invalidateRow(e){invalidateRows([e])}function applyFormatResultToCellNode(e,t,n){\"object\"==typeof e?(t.innerHTML=e.text,e.removeClasses&&!n&&t.removeClass(e.removeClasses),e.addClasses&&t.addClass(e.addClasses)):t.innerHTML=e}function updateCell(e,t){var n=getCellNode(e,t);if(n){var o=columns[t],r=getDataItem(e);if(currentEditor&&activeRow===e&&activeCell===t)currentEditor.loadValue(r);else{var i=r?getFormatter(e,o)(e,t,getDataItemValueForColumn(r,o),o,r):\"\";applyFormatResultToCellNode(i,n),invalidatePostProcessingResults(e)}}}function updateRow(e){var t=rowsCache[e];if(t){ensureCellNodesInRowsCache(e);var n=getDataItem(e);for(var o in t.cellNodesByColumnIdx)if(t.cellNodesByColumnIdx.hasOwnProperty(o)){var r=columns[o|=0],i=t.cellNodesByColumnIdx[o];e===activeRow&&o===activeCell&&currentEditor?currentEditor.loadValue(n):n?applyFormatResultToCellNode(getFormatter(e,r)(e,o,getDataItemValueForColumn(n,r),r,n),i):i.innerHTML=\"\"}invalidatePostProcessingResults(e)}}function getViewportHeight(){return parseFloat($.css($container[0],\"height\",!0))-parseFloat($.css($container[0],\"paddingTop\",!0))-parseFloat($.css($container[0],\"paddingBottom\",!0))-parseFloat($.css($headerScroller[0],\"height\"))-getVBoxDelta($headerScroller)-(options.showTopPanel?options.topPanelHeight+getVBoxDelta($topPanelScroller):0)-(options.showHeaderRow?options.headerRowHeight+getVBoxDelta($headerRowScroller):0)-(options.createFooterRow&&options.showFooterRow?options.footerRowHeight+getVBoxDelta($footerRowScroller):0)-(options.createPreHeaderPanel&&options.showPreHeaderPanel?options.preHeaderPanelHeight+getVBoxDelta($preHeaderPanelScroller):0)}function resizeCanvas(){initialized&&(viewportH=options.autoHeight?options.rowHeight*getDataLengthIncludingAddNew():getViewportHeight(),numVisibleRows=Math.ceil(viewportH/options.rowHeight),viewportW=parseFloat($.css($container[0],\"width\",!0)),options.autoHeight||$viewport.height(viewportH),options.forceFitColumns&&autosizeColumns(),updateRowCount(),handleScroll(),lastRenderedScrollLeft=-1,render())}function updatePagingStatusFromView(e){pagingActive=0!==e.pageSize,pagingIsLastPage=e.pageNum==e.totalPages-1}function updateRowCount(){if(initialized){var e=getDataLength(),t=getDataLengthIncludingAddNew(),o=t+(options.leaveSpaceForNewRows?numVisibleRows-1:0),r=viewportHasVScroll;viewportHasVScroll=!options.autoHeight&&o*options.rowHeight>viewportH,viewportHasHScroll=canvasWidth>viewportW-scrollbarDimensions.width,makeActiveCellNormal();var i=e-1;for(var l in rowsCache)l>i&&removeRowFromCache(l);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup(),activeCellNode&&activeRow>i&&resetActiveCell();var a=h;(th=Math.max(options.rowHeight*o,viewportH-scrollbarDimensions.height))<maxSupportedCssHeight?(h=ph=th,n=1,cj=0):(ph=(h=maxSupportedCssHeight)/100,n=Math.floor(th/ph),cj=(th-h)/(n-1)),h!==a&&($canvas.css(\"height\",h),scrollTop=$viewport[0].scrollTop);var s=scrollTop+offset<=th-viewportH;0==th||0==scrollTop?page=offset=0:scrollTo(s?scrollTop+offset:th-viewportH),h!=a&&options.autoHeight&&resizeCanvas(),options.forceFitColumns&&r!=viewportHasVScroll&&autosizeColumns(),updateCanvasWidth(!1)}}function getVisibleRange(e,t){return null==e&&(e=scrollTop),null==t&&(t=scrollLeft),{top:getRowFromPosition(e),bottom:getRowFromPosition(e+viewportH)+1,leftPx:t,rightPx:t+viewportW}}function getRenderedRange(e,t){var n=getVisibleRange(e,t),o=Math.round(viewportH/options.rowHeight);return-1==vScrollDir?(n.top-=o,n.bottom+=3):1==vScrollDir?(n.top-=3,n.bottom+=o):(n.top-=3,n.bottom+=3),n.top=Math.max(0,n.top),n.bottom=Math.min(getDataLengthIncludingAddNew()-1,n.bottom),n.leftPx-=viewportW,n.rightPx+=viewportW,n.leftPx=Math.max(0,n.leftPx),n.rightPx=Math.min(canvasWidth,n.rightPx),n}function ensureCellNodesInRowsCache(e){var t=rowsCache[e];if(t&&t.cellRenderQueue.length)for(var n=t.rowNode.lastChild;t.cellRenderQueue.length;){var o=t.cellRenderQueue.pop();t.cellNodesByColumnIdx[o]=n,n=n.previousSibling}}function cleanUpCells(e,t){var n=rowsCache[t],o=[];for(var r in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(r)){r|=0;var i=n.cellColSpans[r];(columnPosLeft[r]>e.rightPx||columnPosRight[Math.min(columns.length-1,r+i-1)]<e.leftPx)&&(t==activeRow&&r==activeCell||o.push(r))}var l,a;for(postProcessgroupId++;null!=(l=o.pop());)a=n.cellNodesByColumnIdx[l],options.enableAsyncPostRenderCleanup&&postProcessedRows[t]&&postProcessedRows[t][l]?queuePostProcessedCellForCleanup(a,l,t):n.rowNode.removeChild(a),delete n.cellColSpans[l],delete n.cellNodesByColumnIdx[l],postProcessedRows[t]&&delete postProcessedRows[t][l],0}function cleanUpAndRenderCells(e){for(var t,n,o,r=[],i=[],l=e.top,a=e.bottom;l<=a;l++)if(t=rowsCache[l]){ensureCellNodesInRowsCache(l),cleanUpCells(e,l),n=0;var s=data.getItemMetadata&&data.getItemMetadata(l);s=s&&s.columns;for(var u=getDataItem(l),c=0,d=columns.length;c<d&&!(columnPosLeft[c]>e.rightPx);c++)if(null==(o=t.cellColSpans[c])){if(o=1,s){var p=s[columns[c].id]||s[c];\"*\"===(o=p&&p.colspan||1)&&(o=d-c)}columnPosRight[Math.min(d-1,c+o-1)]>e.leftPx&&(appendCellHtml(r,l,c,o,u),n++),c+=o>1?o-1:0}else c+=o>1?o-1:0;n&&(n,i.push(l))}if(r.length){var f=document.createElement(\"div\");f.innerHTML=r.join(\"\");for(var h,g;null!=(h=i.pop());){t=rowsCache[h];for(var m;null!=(m=t.cellRenderQueue.pop());)g=f.lastChild,t.rowNode.appendChild(g),t.cellNodesByColumnIdx[m]=g}}}function renderRows(e){for(var t=$canvas[0],n=[],o=[],r=!1,i=getDataLength(),l=e.top,a=e.bottom;l<=a;l++)rowsCache[l]||(renderedRows++,o.push(l),rowsCache[l]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},appendRowHtml(n,l,e,i),activeCellNode&&activeRow===l&&(r=!0),counter_rows_rendered++);if(o.length){var s=document.createElement(\"div\");s.innerHTML=n.join(\"\");for(var l=0,a=o.length;l<a;l++)rowsCache[o[l]].rowNode=t.appendChild(s.firstChild);r&&(activeCellNode=getCellNode(activeRow,activeCell))}}function startPostProcessing(){options.enableAsyncPostRender&&(clearTimeout(h_postrender),h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}function startPostProcessingCleanup(){options.enableAsyncPostRenderCleanup&&(clearTimeout(h_postrenderCleanup),h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay))}function invalidatePostProcessingResults(e){for(var t in postProcessedRows[e])postProcessedRows[e].hasOwnProperty(t)&&(postProcessedRows[e][t]=\"C\");postProcessFromRow=Math.min(postProcessFromRow,e),postProcessToRow=Math.max(postProcessToRow,e),startPostProcessing()}function updateRowPositions(){for(var e in rowsCache)rowsCache[e].rowNode.style.top=getRowTop(e)+\"px\"}function render(){if(initialized){var e=getVisibleRange(),t=getRenderedRange();cleanupRows(t),lastRenderedScrollLeft!=scrollLeft&&cleanUpAndRenderCells(t),renderRows(t),postProcessFromRow=e.top,postProcessToRow=Math.min(getDataLengthIncludingAddNew()-1,e.bottom),startPostProcessing(),lastRenderedScrollTop=scrollTop,lastRenderedScrollLeft=scrollLeft,h_render=null}}function handleHeaderRowScroll(){var e=$headerRowScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handleFooterRowScroll(){var e=$footerRowScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handlePreHeaderPanelScroll(){var e=$preHeaderPanelScroller[0].scrollLeft;e!=$viewport[0].scrollLeft&&($viewport[0].scrollLeft=e)}function handleScroll(){scrollTop=$viewport[0].scrollTop,scrollLeft=$viewport[0].scrollLeft;var e=Math.abs(scrollTop-prevScrollTop),t=Math.abs(scrollLeft-prevScrollLeft);if(t&&(prevScrollLeft=scrollLeft,$headerScroller[0].scrollLeft=scrollLeft,$topPanelScroller[0].scrollLeft=scrollLeft,$headerRowScroller[0].scrollLeft=scrollLeft,options.createFooterRow&&($footerRowScroller[0].scrollLeft=scrollLeft),options.createPreHeaderPanel&&($preHeaderPanelScroller[0].scrollLeft=scrollLeft)),e)if(vScrollDir=prevScrollTop<scrollTop?1:-1,prevScrollTop=scrollTop,e<viewportH)scrollTo(scrollTop+offset);else{var o=offset;page=h==viewportH?0:Math.min(n-1,Math.floor(scrollTop*((th-viewportH)/(h-viewportH))*(1/ph))),offset=Math.round(page*cj),o!=offset&&invalidateAllRows()}(t||e)&&(h_render&&clearTimeout(h_render),(Math.abs(lastRenderedScrollTop-scrollTop)>20||Math.abs(lastRenderedScrollLeft-scrollLeft)>20)&&(options.forceSyncScrolling||Math.abs(lastRenderedScrollTop-scrollTop)<viewportH&&Math.abs(lastRenderedScrollLeft-scrollLeft)<viewportW?render():h_render=setTimeout(render,50),trigger(self.onViewportChanged,{grid:self}))),trigger(self.onScroll,{scrollLeft:scrollLeft,scrollTop:scrollTop,grid:self})}function asyncPostProcessRows(){for(var e=getDataLength();postProcessFromRow<=postProcessToRow;){var t=vScrollDir>=0?postProcessFromRow++:postProcessToRow--,n=rowsCache[t];if(n&&!(t>=e)){postProcessedRows[t]||(postProcessedRows[t]={}),ensureCellNodesInRowsCache(t);for(var o in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(o)){var r=columns[o|=0],i=postProcessedRows[t][o];if(r.asyncPostRender&&\"R\"!==i){var l=n.cellNodesByColumnIdx[o];l&&r.asyncPostRender(l,t,getDataItem(t),r,\"C\"===i),postProcessedRows[t][o]=\"R\"}}return void(h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}}}function asyncPostProcessCleanupRows(){if(postProcessedCleanupQueue.length>0){for(var e=postProcessedCleanupQueue[0].groupId;postProcessedCleanupQueue.length>0&&postProcessedCleanupQueue[0].groupId==e;){var t=postProcessedCleanupQueue.shift();if(\"R\"==t.actionType&&$(t.node).remove(),\"C\"==t.actionType){var n=columns[t.columnIdx];n.asyncPostRenderCleanup&&t.node&&n.asyncPostRenderCleanup(t.node,t.rowIdx,n)}}h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay)}}function updateCellCssStylesOnRenderedRows(e,t){var n,o,r,i;for(var l in rowsCache){if(i=t&&t[l],r=e&&e[l],i)for(o in i)r&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)))&&$(n).removeClass(i[o]);if(r)for(o in r)i&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)))&&$(n).addClass(r[o])}}function addCellCssStyles(e,t){if(cellCssClasses[e])throw new Error(\"addCellCssStyles: cell CSS hash with key '\"+e+\"' already exists.\");cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,null),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function removeCellCssStyles(e){cellCssClasses[e]&&(updateCellCssStylesOnRenderedRows(null,cellCssClasses[e]),delete cellCssClasses[e],trigger(self.onCellCssStylesChanged,{key:e,hash:null,grid:self}))}function setCellCssStyles(e,t){var n=cellCssClasses[e];cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,n),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function getCellCssStyles(e){return cellCssClasses[e]}function flashCell(e,t,n){if(n=n||100,rowsCache[e]){var o=$(getCellNode(e,t)),r=function(e){e&&setTimeout(function(){o.queue(function(){o.toggleClass(options.cellFlashingCssClass).dequeue(),r(e-1)})},n)};r(4)}}function handleMouseWheel(e){var t=$(e.target).closest(\".slick-row\")[0];t!=rowNodeFromLastMouseWheelEvent&&(zombieRowNodeFromLastMouseWheelEvent&&zombieRowNodeFromLastMouseWheelEvent!=t&&(options.enableAsyncPostRenderCleanup&&zombieRowPostProcessedFromLastMouseWheelEvent?queuePostProcessedRowForCleanup(zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent):$canvas[0].removeChild(zombieRowNodeFromLastMouseWheelEvent),zombieRowNodeFromLastMouseWheelEvent=null,zombieRowCacheFromLastMouseWheelEvent=null,zombieRowPostProcessedFromLastMouseWheelEvent=null,options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()),rowNodeFromLastMouseWheelEvent=t)}function handleDragInit(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragInit,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDragStart(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragStart,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDrag(e,t){return trigger(self.onDrag,t,e)}function handleDragEnd(e,t){trigger(self.onDragEnd,t,e)}function handleKeyDown(e){trigger(self.onKeyDown,{row:activeRow,cell:activeCell,grid:self},e);var t=e.isImmediatePropagationStopped(),n=Slick.keyCode;if(!t)if(e.shiftKey||e.altKey||e.ctrlKey)e.which!=n.TAB||!e.shiftKey||e.ctrlKey||e.altKey||(t=navigatePrev());else{if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;if(e.which==n.ESCAPE){if(!getEditorLock().isActive())return;cancelEditAndSetFocus()}else e.which==n.PAGE_DOWN?(navigatePageDown(),t=!0):e.which==n.PAGE_UP?(navigatePageUp(),t=!0):e.which==n.LEFT?t=navigateLeft():e.which==n.RIGHT?t=navigateRight():e.which==n.UP?t=navigateUp():e.which==n.DOWN?t=navigateDown():e.which==n.TAB?t=navigateNext():e.which==n.ENTER&&(options.editable&&(currentEditor?activeRow===getDataLength()?navigateDown():commitEditAndSetFocus():getEditorLock().commitCurrentEdit()&&makeActiveCellEditable()),t=!0)}if(t){e.stopPropagation(),e.preventDefault();try{e.originalEvent.keyCode=0}catch(e){}}}function handleClick(e){currentEditor||(e.target!=document.activeElement||$(e.target).hasClass(\"slick-cell\"))&&setFocus();var t=getCellFromEvent(e);if(t&&(null===currentEditor||activeRow!=t.row||activeCell!=t.cell)&&(trigger(self.onClick,{row:t.row,cell:t.cell,grid:self},e),!e.isImmediatePropagationStopped()&&canCellBeActive(t.row,t.cell)&&(!getEditorLock().isActive()||getEditorLock().commitCurrentEdit()))){scrollRowIntoView(t.row,!1);var n=e.target&&e.target.className===Slick.preClickClassName;setActiveCellInternal(getCellNode(t.row,t.cell),null,n)}}function handleContextMenu(e){var t=$(e.target).closest(\".slick-cell\",$canvas);0!==t.length&&(activeCellNode===t[0]&&null!==currentEditor||trigger(self.onContextMenu,{grid:self},e))}function handleDblClick(e){var t=getCellFromEvent(e);!t||null!==currentEditor&&activeRow==t.row&&activeCell==t.cell||(trigger(self.onDblClick,{row:t.row,cell:t.cell,grid:self},e),e.isImmediatePropagationStopped()||options.editable&&gotoCell(t.row,t.cell,!0))}function handleHeaderMouseEnter(e){trigger(self.onHeaderMouseEnter,{column:$(this).data(\"column\"),grid:self},e)}function handleHeaderMouseLeave(e){trigger(self.onHeaderMouseLeave,{column:$(this).data(\"column\"),grid:self},e)}function handleHeaderContextMenu(e){var t=$(e.target).closest(\".slick-header-column\",\".slick-header-columns\"),n=t&&t.data(\"column\");trigger(self.onHeaderContextMenu,{column:n,grid:self},e)}function handleHeaderClick(e){var t=$(e.target).closest(\".slick-header-column\",\".slick-header-columns\"),n=t&&t.data(\"column\");n&&trigger(self.onHeaderClick,{column:n,grid:self},e)}function handleMouseEnter(e){trigger(self.onMouseEnter,{grid:self},e)}function handleMouseLeave(e){trigger(self.onMouseLeave,{grid:self},e)}function cellExists(e,t){return!(e<0||e>=getDataLength()||t<0||t>=columns.length)}function getCellFromPoint(e,t){for(var n=getRowFromPosition(t),o=0,r=0,i=0;i<columns.length&&r<e;i++)r+=columns[i].width,o++;return o<0&&(o=0),{row:n,cell:o-1}}function getCellFromNode(e){var t=/l\\d+/.exec(e.className);if(!t)throw new Error(\"getCellFromNode: cannot get cell - \"+e.className);return parseInt(t[0].substr(1,t[0].length-1),10)}function getRowFromNode(e){for(var t in rowsCache)if(rowsCache[t].rowNode===e)return 0|t;return null}function getCellFromEvent(e){var t=$(e.target).closest(\".slick-cell\",$canvas);if(!t.length)return null;var n=getRowFromNode(t[0].parentNode),o=getCellFromNode(t[0]);return null==n||null==o?null:{row:n,cell:o}}function getCellNodeBox(e,t){if(!cellExists(e,t))return null;for(var n=getRowTop(e),o=n+options.rowHeight-1,r=0,i=0;i<t;i++)r+=columns[i].width;var l=r+columns[t].width;return{top:n,left:r,bottom:o,right:l}}function resetActiveCell(){setActiveCellInternal(null,!1)}function setFocus(){-1==tabbingDirection?$focusSink[0].focus():$focusSink2[0].focus()}function scrollCellIntoView(e,t,n){scrollRowIntoView(e,n);var o=getColspan(e,t);internalScrollColumnIntoView(columnPosLeft[t],columnPosRight[t+(o>1?o-1:0)])}function internalScrollColumnIntoView(e,t){var n=scrollLeft+viewportW;e<scrollLeft?($viewport.scrollLeft(e),handleScroll(),render()):t>n&&($viewport.scrollLeft(Math.min(e,t-$viewport[0].clientWidth)),handleScroll(),render())}function scrollColumnIntoView(e){internalScrollColumnIntoView(columnPosLeft[e],columnPosRight[e])}function setActiveCellInternal(e,t,n,o){null!==activeCellNode&&(makeActiveCellNormal(),$(activeCellNode).removeClass(\"active\"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).removeClass(\"active\"));null!=(activeCellNode=e)?(activeRow=getRowFromNode(activeCellNode.parentNode),activeCell=activePosX=getCellFromNode(activeCellNode),null==t&&(t=activeRow==getDataLength()||options.autoEdit),options.showCellSelection&&($(activeCellNode).addClass(\"active\"),$(rowsCache[activeRow].rowNode).addClass(\"active\")),options.editable&&t&&isCellPotentiallyEditable(activeRow,activeCell)&&(clearTimeout(h_editorLoader),options.asyncEditorLoading?h_editorLoader=setTimeout(function(){makeActiveCellEditable(void 0,n)},options.asyncEditorLoadDelay):makeActiveCellEditable(void 0,n))):activeRow=activeCell=null,o||trigger(self.onActiveCellChanged,getActiveCell())}function clearTextSelection(){if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}else if(window.getSelection){var e=window.getSelection();e&&e.removeAllRanges&&e.removeAllRanges()}}function isCellPotentiallyEditable(e,t){var n=getDataLength();return!(e<n&&!getDataItem(e))&&(!(columns[t].cannotTriggerInsert&&e>=n)&&!!getEditor(e,t))}function makeActiveCellNormal(){if(currentEditor){if(trigger(self.onBeforeCellEditorDestroy,{editor:currentEditor,grid:self}),currentEditor.destroy(),currentEditor=null,activeCellNode){var e=getDataItem(activeRow);if($(activeCellNode).removeClass(\"editable invalid\"),e){var t=columns[activeCell],n=getFormatter(activeRow,t),o=n(activeRow,activeCell,getDataItemValueForColumn(e,t),t,e,self);applyFormatResultToCellNode(o,activeCellNode),invalidatePostProcessingResults(activeRow)}}navigator.userAgent.toLowerCase().match(/msie/)&&clearTextSelection(),getEditorLock().deactivate(editController)}}function makeActiveCellEditable(e,t){if(activeCellNode){if(!options.editable)throw new Error(\"Grid : makeActiveCellEditable : should never get called when options.editable is false\");if(clearTimeout(h_editorLoader),isCellPotentiallyEditable(activeRow,activeCell)){var n=columns[activeCell],o=getDataItem(activeRow);if(!1!==trigger(self.onBeforeEditCell,{row:activeRow,cell:activeCell,item:o,column:n,grid:self})){getEditorLock().activate(editController),$(activeCellNode).addClass(\"editable\");var r=e||getEditor(activeRow,activeCell);e||r.suppressClearOnEdit||(activeCellNode.innerHTML=\"\"),currentEditor=new r({grid:self,gridPosition:absBox($container[0]),position:absBox(activeCellNode),container:activeCellNode,column:n,item:o||{},commitChanges:commitEditAndSetFocus,cancelChanges:cancelEditAndSetFocus}),o&&(currentEditor.loadValue(o),t&&currentEditor.preClick&&currentEditor.preClick()),serializedEditorValue=currentEditor.serializeValue(),currentEditor.position&&handleActiveCellPositionChange()}else setFocus()}}}function commitEditAndSetFocus(){getEditorLock().commitCurrentEdit()&&(setFocus(),options.autoEdit&&navigateDown())}function cancelEditAndSetFocus(){getEditorLock().cancelCurrentEdit()&&setFocus()}function absBox(e){var t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:$(e).outerWidth(),height:$(e).outerHeight(),visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;for(var n=e.offsetParent;(e=e.parentNode)!=document.body&&null!=e;)t.visible&&e.scrollHeight!=e.offsetHeight&&\"visible\"!=$(e).css(\"overflowY\")&&(t.visible=t.bottom>e.scrollTop&&t.top<e.scrollTop+e.clientHeight),t.visible&&e.scrollWidth!=e.offsetWidth&&\"visible\"!=$(e).css(\"overflowX\")&&(t.visible=t.right>e.scrollLeft&&t.left<e.scrollLeft+e.clientWidth),t.left-=e.scrollLeft,t.top-=e.scrollTop,e===n&&(t.left+=e.offsetLeft,t.top+=e.offsetTop,n=e.offsetParent),t.bottom=t.top+t.height,t.right=t.left+t.width;return t}function getActiveCellPosition(){return absBox(activeCellNode)}function getGridPosition(){return absBox($container[0])}function handleActiveCellPositionChange(){if(activeCellNode&&(trigger(self.onActiveCellPositionChanged,{grid:self}),currentEditor)){var e=getActiveCellPosition();currentEditor.show&&currentEditor.hide&&(e.visible?currentEditor.show():currentEditor.hide()),currentEditor.position&&currentEditor.position(e)}}function getCellEditor(){return currentEditor}function getActiveCell(){return activeCellNode?{row:activeRow,cell:activeCell,grid:self}:null}function getActiveCellNode(){return activeCellNode}function scrollRowIntoView(e,t){var n=e*options.rowHeight,o=(e+1)*options.rowHeight-viewportH+(viewportHasHScroll?scrollbarDimensions.height:0);(e+1)*options.rowHeight>scrollTop+viewportH+offset?(scrollTo(t?n:o),render()):e*options.rowHeight<scrollTop+offset&&(scrollTo(t?o:n),render())}function scrollRowToTop(e){scrollTo(e*options.rowHeight),render()}function scrollPage(e){var t=e*numVisibleRows;if(scrollTo((getRowFromPosition(scrollTop)+t)*options.rowHeight),render(),options.enableCellNavigation&&null!=activeRow){var n=activeRow+t,o=getDataLengthIncludingAddNew();n>=o&&(n=o-1),n<0&&(n=0);for(var r=0,i=null,l=activePosX;r<=activePosX;)canCellBeActive(n,r)&&(i=r),r+=getColspan(n,r);null!==i?(setActiveCellInternal(getCellNode(n,i)),activePosX=l):resetActiveCell()}}function navigatePageDown(){scrollPage(1)}function navigatePageUp(){scrollPage(-1)}function getColspan(e,t){var n=data.getItemMetadata&&data.getItemMetadata(e);if(!n||!n.columns)return 1;var o=n.columns[columns[t].id]||n.columns[t],r=o&&o.colspan;return r=\"*\"===r?columns.length-t:r||1}function findFirstFocusableCell(e){for(var t=0;t<columns.length;){if(canCellBeActive(e,t))return t;t+=getColspan(e,t)}return null}function findLastFocusableCell(e){for(var t=0,n=null;t<columns.length;)canCellBeActive(e,t)&&(n=t),t+=getColspan(e,t);return n}function gotoRight(e,t,n){if(t>=columns.length)return null;do{t+=getColspan(e,t)}while(t<columns.length&&!canCellBeActive(e,t));return t<columns.length?{row:e,cell:t,posX:t}:null}function gotoLeft(e,t,n){if(t<=0)return null;var o=findFirstFocusableCell(e);if(null===o||o>=t)return null;for(var r,i={row:e,cell:o,posX:o};;){if(!(r=gotoRight(i.row,i.cell,i.posX)))return null;if(r.cell>=t)return i;i=r}}function gotoDown(e,t,n){for(var o,r=getDataLengthIncludingAddNew();;){if(++e>=r)return null;for(o=t=0;t<=n;)o=t,t+=getColspan(e,t);if(canCellBeActive(e,o))return{row:e,cell:o,posX:n}}}function gotoUp(e,t,n){for(var o;;){if(--e<0)return null;for(o=t=0;t<=n;)o=t,t+=getColspan(e,t);if(canCellBeActive(e,o))return{row:e,cell:o,posX:n}}}function gotoNext(e,t,n){if(null==e&&null==t&&(e=t=n=0,canCellBeActive(e,t)))return{row:e,cell:t,posX:t};var o=gotoRight(e,t,n);if(o)return o;var r=null,i=getDataLengthIncludingAddNew();for(e===i-1&&e--;++e<i;)if(null!==(r=findFirstFocusableCell(e)))return{row:e,cell:r,posX:r};return null}function gotoPrev(e,t,n){if(null==e&&null==t&&(e=getDataLengthIncludingAddNew()-1,t=n=columns.length-1,canCellBeActive(e,t)))return{row:e,cell:t,posX:t};for(var o,r;!o&&!(o=gotoLeft(e,t,n));){if(--e<0)return null;t=0,null!==(r=findLastFocusableCell(e))&&(o={row:e,cell:r,posX:r})}return o}function navigateRight(){return navigate(\"right\")}function navigateLeft(){return navigate(\"left\")}function navigateDown(){return navigate(\"down\")}function navigateUp(){return navigate(\"up\")}function navigateNext(){return navigate(\"next\")}function navigatePrev(){return navigate(\"prev\")}function navigate(e){if(!options.enableCellNavigation)return!1;if(!activeCellNode&&\"prev\"!=e&&\"next\"!=e)return!1;if(!getEditorLock().commitCurrentEdit())return!0;setFocus();tabbingDirection={up:-1,down:1,left:-1,right:1,prev:-1,next:1}[e];var t={up:gotoUp,down:gotoDown,left:gotoLeft,right:gotoRight,prev:gotoPrev,next:gotoNext},n=t[e],o=n(activeRow,activeCell,activePosX);if(o){var r=o.row==getDataLength();return scrollCellIntoView(o.row,o.cell,!r),setActiveCellInternal(getCellNode(o.row,o.cell)),activePosX=o.posX,!0}return setActiveCellInternal(getCellNode(activeRow,activeCell)),!1}function getCellNode(e,t){return rowsCache[e]?(ensureCellNodesInRowsCache(e),rowsCache[e].cellNodesByColumnIdx[t]):null}function setActiveCell(e,t,n,o,r){initialized&&(e>getDataLength()||e<0||t>=columns.length||t<0||options.enableCellNavigation&&(scrollCellIntoView(e,t,!1),setActiveCellInternal(getCellNode(e,t),n,o,r)))}function canCellBeActive(e,t){if(!options.enableCellNavigation||e>=getDataLengthIncludingAddNew()||e<0||t>=columns.length||t<0)return!1;var n=data.getItemMetadata&&data.getItemMetadata(e);if(n&&\"boolean\"==typeof n.focusable)return n.focusable;var o=n&&n.columns;return o&&o[columns[t].id]&&\"boolean\"==typeof o[columns[t].id].focusable?o[columns[t].id].focusable:o&&o[t]&&\"boolean\"==typeof o[t].focusable?o[t].focusable:columns[t].focusable}function canCellBeSelected(e,t){if(e>=getDataLength()||e<0||t>=columns.length||t<0)return!1;var n=data.getItemMetadata&&data.getItemMetadata(e);if(n&&\"boolean\"==typeof n.selectable)return n.selectable;var o=n&&n.columns&&(n.columns[columns[t].id]||n.columns[t]);return o&&\"boolean\"==typeof o.selectable?o.selectable:columns[t].selectable}function gotoCell(e,t,n){if(initialized&&canCellBeActive(e,t)&&getEditorLock().commitCurrentEdit()){scrollCellIntoView(e,t,!1);var o=getCellNode(e,t);setActiveCellInternal(o,n||e===getDataLength()||options.autoEdit),currentEditor||setFocus()}}function commitCurrentEdit(){var e=getDataItem(activeRow),t=columns[activeCell];if(currentEditor){if(currentEditor.isValueChanged()){var n=currentEditor.validate();if(n.valid){if(activeRow<getDataLength()){var o={row:activeRow,cell:activeCell,editor:currentEditor,serializedValue:currentEditor.serializeValue(),prevSerializedValue:serializedEditorValue,execute:function(){this.editor.applyValue(e,this.serializedValue),updateRow(this.row),trigger(self.onCellChange,{row:activeRow,cell:activeCell,item:e,grid:self})},undo:function(){this.editor.applyValue(e,this.prevSerializedValue),updateRow(this.row),trigger(self.onCellChange,{row:activeRow,cell:activeCell,item:e,grid:self})}};options.editCommandHandler?(makeActiveCellNormal(),options.editCommandHandler(e,t,o)):(o.execute(),makeActiveCellNormal())}else{var r={};currentEditor.applyValue(r,currentEditor.serializeValue()),makeActiveCellNormal(),trigger(self.onAddNewRow,{item:r,column:t,grid:self})}return!getEditorLock().isActive()}return $(activeCellNode).removeClass(\"invalid\"),$(activeCellNode).width(),$(activeCellNode).addClass(\"invalid\"),trigger(self.onValidationError,{editor:currentEditor,cellNode:activeCellNode,validationResults:n,row:activeRow,cell:activeCell,column:t,grid:self}),currentEditor.focus(),!1}makeActiveCellNormal()}return!0}function cancelCurrentEdit(){return makeActiveCellNormal(),!0}function rowsToRanges(e){for(var t=[],n=columns.length-1,o=0;o<e.length;o++)t.push(new Slick.Range(e[o],0,e[o],n));return t}function getSelectedRows(){if(!selectionModel)throw new Error(\"Selection model is not set\");return selectedRows}function setSelectedRows(e){if(!selectionModel)throw new Error(\"Selection model is not set\");selectionModel.setSelectedRanges(rowsToRanges(e))}$.fn.drag||require(414),$.fn.drop||require(415);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=[];this.debug=function(){var e=\"\";e+=\"\\ncounter_rows_rendered:  \"+counter_rows_rendered,e+=\"\\ncounter_rows_removed:  \"+counter_rows_removed,e+=\"\\nrenderedRows:  \"+renderedRows,e+=\"\\nnumVisibleRows:  \"+numVisibleRows,e+=\"\\nmaxSupportedCssHeight:  \"+maxSupportedCssHeight,e+=\"\\nn(umber of pages):  \"+n,e+=\"\\n(current) page:  \"+page,e+=\"\\npage height (ph):  \"+ph,e+=\"\\nvScrollDir:  \"+vScrollDir,alert(e)},this.eval=function(expr){return eval(expr)},$.extend(this,{slickGridVersion:\"2.3.4\",onScroll:new Slick.Event,onSort:new Slick.Event,onHeaderMouseEnter:new Slick.Event,onHeaderMouseLeave:new Slick.Event,onHeaderContextMenu:new Slick.Event,onHeaderClick:new Slick.Event,onHeaderCellRendered:new Slick.Event,onBeforeHeaderCellDestroy:new Slick.Event,onHeaderRowCellRendered:new Slick.Event,onFooterRowCellRendered:new Slick.Event,onBeforeHeaderRowCellDestroy:new Slick.Event,onBeforeFooterRowCellDestroy:new Slick.Event,onMouseEnter:new Slick.Event,onMouseLeave:new Slick.Event,onClick:new Slick.Event,onDblClick:new Slick.Event,onContextMenu:new Slick.Event,onKeyDown:new Slick.Event,onAddNewRow:new Slick.Event,onBeforeAppendCell:new Slick.Event,onValidationError:new Slick.Event,onViewportChanged:new Slick.Event,onColumnsReordered:new Slick.Event,onColumnsResized:new Slick.Event,onCellChange:new Slick.Event,onBeforeEditCell:new Slick.Event,onBeforeCellEditorDestroy:new Slick.Event,onBeforeDestroy:new Slick.Event,onActiveCellChanged:new Slick.Event,onActiveCellPositionChanged:new Slick.Event,onDragInit:new Slick.Event,onDragStart:new Slick.Event,onDrag:new Slick.Event,onDragEnd:new Slick.Event,onSelectedRowsChanged:new Slick.Event,onCellCssStylesChanged:new Slick.Event,registerPlugin:registerPlugin,unregisterPlugin:unregisterPlugin,getColumns:getColumns,setColumns:setColumns,getColumnIndex:getColumnIndex,updateColumnHeader:updateColumnHeader,setSortColumn:setSortColumn,setSortColumns:setSortColumns,getSortColumns:getSortColumns,autosizeColumns:autosizeColumns,getOptions:getOptions,setOptions:setOptions,getData:getData,getDataLength:getDataLength,getDataItem:getDataItem,setData:setData,getSelectionModel:getSelectionModel,setSelectionModel:setSelectionModel,getSelectedRows:getSelectedRows,setSelectedRows:setSelectedRows,getContainerNode:getContainerNode,updatePagingStatusFromView:updatePagingStatusFromView,render:render,invalidate:invalidate,invalidateRow:invalidateRow,invalidateRows:invalidateRows,invalidateAllRows:invalidateAllRows,updateCell:updateCell,updateRow:updateRow,getViewport:getVisibleRange,getRenderedRange:getRenderedRange,resizeCanvas:resizeCanvas,updateRowCount:updateRowCount,scrollRowIntoView:scrollRowIntoView,scrollRowToTop:scrollRowToTop,scrollCellIntoView:scrollCellIntoView,scrollColumnIntoView:scrollColumnIntoView,getCanvasNode:getCanvasNode,getUID:getUID,getHeaderColumnWidthDiff:getHeaderColumnWidthDiff,getScrollbarDimensions:getScrollbarDimensions,getHeadersWidth:getHeadersWidth,getCanvasWidth:getCanvasWidth,focus:setFocus,getCellFromPoint:getCellFromPoint,getCellFromEvent:getCellFromEvent,getActiveCell:getActiveCell,setActiveCell:setActiveCell,getActiveCellNode:getActiveCellNode,getActiveCellPosition:getActiveCellPosition,resetActiveCell:resetActiveCell,editActiveCell:makeActiveCellEditable,getCellEditor:getCellEditor,getCellNode:getCellNode,getCellNodeBox:getCellNodeBox,canCellBeSelected:canCellBeSelected,canCellBeActive:canCellBeActive,navigatePrev:navigatePrev,navigateNext:navigateNext,navigateUp:navigateUp,navigateDown:navigateDown,navigateLeft:navigateLeft,navigateRight:navigateRight,navigatePageUp:navigatePageUp,navigatePageDown:navigatePageDown,gotoCell:gotoCell,getTopPanel:getTopPanel,setTopPanelVisibility:setTopPanelVisibility,getPreHeaderPanel:getPreHeaderPanel,setPreHeaderPanelVisibility:setPreHeaderPanelVisibility,setHeaderRowVisibility:setHeaderRowVisibility,getHeaderRow:getHeaderRow,getHeaderRowColumn:getHeaderRowColumn,setFooterRowVisibility:setFooterRowVisibility,getFooterRow:getFooterRow,getFooterRowColumn:getFooterRowColumn,getGridPosition:getGridPosition,flashCell:flashCell,addCellCssStyles:addCellCssStyles,setCellCssStyles:setCellCssStyles,removeCellCssStyles:removeCellCssStyles,getCellCssStyles:getCellCssStyles,init:finishInitialization,destroy:destroy,getEditorLock:getEditorLock,getEditController:getEditController}),init()}/**\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(420),Slick=require(418),scrollbarDimensions,maxSupportedCssHeight;module.exports={Grid:SlickGrid}},420:function(e,t,n){t.exports=\"undefined\"!=typeof $?$:e(413)},421:function(e,t,n){function o(e,t,n){return i(e,t,n)}var r=e(422),i=r.template;o._=r,t.exports=o,\"function\"==typeof define&&define.amd?define(function(){return o}):\"undefined\"==typeof window&&\"undefined\"==typeof navigator||(window.UnderscoreTemplate=o)},422:function(e,t,n){\n      //     (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n      //     Underscore may be freely distributed under the MIT license.\n      var o={},r=Array.prototype,i=Object.prototype,l=r.slice,a=i.toString,s=i.hasOwnProperty,u=r.forEach,c=Object.keys,d=Array.isArray,p=function(){},f=p.each=p.forEach=function(e,t,n){if(null!=e)if(u&&e.forEach===u)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(t.call(n,e[r],r,e)===o)return}else for(var l=p.keys(e),r=0,i=l.length;r<i;r++)if(t.call(n,e[l[r]],l[r],e)===o)return};p.keys=c||function(e){if(e!==Object(e))throw new TypeError(\"Invalid object\");var t=[];for(var n in e)p.has(e,n)&&t.push(n);return t},p.defaults=function(e){return f(l.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e},p.isArray=d||function(e){return\"[object Array]\"===a.call(e)},p.has=function(e,t){if(!p.isArray(t))return null!=e&&s.call(e,t);for(var n=t.length,o=0;o<n;o++){var r=t[o];if(null==e||!s.call(e,r))return!1;e=e[r]}return!!n};var h={escape:{\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#x27;\"}},g={escape:new RegExp(\"[\"+p.keys(h.escape).join(\"\")+\"]\",\"g\")};p.each([\"escape\"],function(e){p[e]=function(t){return null==t?\"\":(\"\"+t).replace(g[e],function(t){return h[e][t]})}}),p.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var m=/(.)^/,v={\"'\":\"'\",\"\\\\\":\"\\\\\",\"\\r\":\"r\",\"\\n\":\"n\",\"\\t\":\"t\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},w=/\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;p.template=function(e,t,n){var o;n=p.defaults({},n,p.templateSettings);var r=new RegExp([(n.escape||m).source,(n.interpolate||m).source,(n.evaluate||m).source].join(\"|\")+\"|$\",\"g\"),i=0,l=\"__p+='\";e.replace(r,function(t,n,o,r,a){return l+=e.slice(i,a).replace(w,function(e){return\"\\\\\"+v[e]}),n&&(l+=\"'+\\n((__t=(\"+n+\"))==null?'':_.escape(__t))+\\n'\"),o&&(l+=\"'+\\n((__t=(\"+o+\"))==null?'':__t)+\\n'\"),r&&(l+=\"';\\n\"+r+\"\\n__p+='\"),i=a+t.length,t}),l+=\"';\\n\",n.variable||(l=\"with(obj||{}){\\n\"+l+\"}\\n\"),l=\"var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\\n\"+l+\"return __p;\\n\";try{o=new Function(n.variable||\"obj\",\"_\",l)}catch(e){throw e.source=l,e}if(t)return o(t,p);var a=function(e){return o.call(this,e,p)};return a.source=\"function(\"+(n.variable||\"obj\")+\"){\\n\"+l+\"}\",a},t.exports=p}},{\"models/widgets/tables/cell_editors\":405,\"models/widgets/tables/cell_formatters\":406,\"models/widgets/tables/data_table\":407,\"models/widgets/tables/index\":408,\"models/widgets/tables/main\":409,\"models/widgets/tables/table_column\":410,\"models/widgets/tables/table_widget\":411,\"models/widgets/widget\":412})}(a8274.Bokeh)}(this);/*!\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\n      //# sourceMappingURL=bokeh-tables.min.js.map\n\n      /* END bokeh-tables.min.js */\n    },\n    \n    function(Bokeh) {\n      /* BEGIN bokeh-gl.min.js */\n      !function(t,e){!function(t){(function(e,n,a){if(null!=t)return t.register_plugin(e,n,427);throw new Error(\"Cannot find Bokeh. You have to load it prior to loading plugins.\")})({423:function(t,e,n){var a=t(26),s=function(){function t(t,e){this.gl=t,this.glyph=e,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.init()}return t.prototype.set_data_changed=function(t){return t!==this.nvertices&&(this.nvertices=t,this.size_changed=!0),this.data_changed=!0},t.prototype.set_visuals_changed=function(){return this.visuals_changed=!0},t.prototype.render=function(t,e,n){var a,s,i,r,o,l,_;return l=_=1,h=this.glyph.renderer.map_to_screen([0*l,1*l,2*l],[0*_,1*_,2*_]),a=h[0],s=h[1],l=100/Math.min(Math.max(Math.abs(a[1]-a[0]),1e-12),1e12),_=100/Math.min(Math.max(Math.abs(s[1]-s[0]),1e-12),1e12),c=this.glyph.renderer.map_to_screen([0*l,1*l,2*l],[0*_,1*_,2*_]),a=c[0],s=c[1],!(Math.abs(a[1]-a[0]-(a[2]-a[1]))>1e-6||Math.abs(s[1]-s[0]-(s[2]-s[1]))>1e-6)&&(u=[(a[1]-a[0])/l,(s[1]-s[0])/_],i=u[0],r=u[1],o={pixel_ratio:t.pixel_ratio,width:t.glcanvas.width,height:t.glcanvas.height,dx:a[0]/i,dy:s[0]/r,sx:i,sy:r},this.draw(e,n,o),!0);var h,c,u},t}();n.BaseGLGlyph=s,s.prototype.GLYPH=\"\",s.prototype.VERT=\"\",s.prototype.FRAG=\"\",n.line_width=function(t){return t<2&&(t=Math.sqrt(2*t)),t},n.fill_array_with_float=function(t,e){var n,a,s,i;for(n=new Float32Array(t),a=s=0,i=t;0<=i?s<i:s>i;a=0<=i?++s:--s)n[a]=e;return n},n.fill_array_with_vec=function(t,e,n){var a,s,i,r,o,l,_;for(a=new Float32Array(t*e),s=r=0,l=t;0<=l?r<l:r>l;s=0<=l?++r:--r)for(i=o=0,_=e;0<=_?o<_:o>_;i=0<=_?++o:--o)a[s*e+i]=n[i];return a},n.visual_prop_is_singular=function(t,e){return void 0!==t[e].spec.value},n.attach_float=function(t,e,a,s,i,r){var o;return i.doit?n.visual_prop_is_singular(i,r)?(e.used=!1,t.set_attribute(a,\"float\",i[r].value())):(e.used=!0,o=new Float32Array(i.cache[r+\"_array\"]),e.set_size(4*s),e.set_data(0,o),t.set_attribute(a,\"float\",e)):(e.used=!1,t.set_attribute(a,\"float\",[0]))},n.attach_color=function(t,e,s,i,r,o){var l,_,h,c,u,f,d,p,g,v,y,x;if(4,c=o+\"_color\",_=o+\"_alpha\",r.doit){if(n.visual_prop_is_singular(r,c)&&n.visual_prop_is_singular(r,_))return e.used=!1,x=a.color2rgba(r[c].value(),r[_].value()),t.set_attribute(s,\"vec4\",x);for(e.used=!0,u=n.visual_prop_is_singular(r,c)?function(){var t,e,n;for(n=[],f=t=0,e=i;0<=e?t<e:t>e;f=0<=e?++t:--t)n.push(r[c].value());return n}():r.cache[c+\"_array\"],h=n.visual_prop_is_singular(r,_)?n.fill_array_with_float(i,r[_].value()):r.cache[_+\"_array\"],l=new Float32Array(4*i),f=p=0,v=i;0<=v?p<v:p>v;f=0<=v?++p:--p)for(x=a.color2rgba(u[f],h[f]),d=g=0,y=4;0<=y?g<y:g>y;d=0<=y?++g:--g)l[4*f+d]=x[d];return e.set_size(4*i*4),e.set_data(0,l),t.set_attribute(s,\"vec4\",e)}return e.used=!1,t.set_attribute(s,\"vec4\",[0,0,0,0])}},424:function(t,e,n){var a,s,i,r,o,l,_,h,c,u=function(t,e){return Array.isArray(t)&&Array.isArray(e)?t.concat(e):t+e},f=function(t,e){if(null==e);else{if(Array.isArray(e)){for(var n=0;n<e.length;n++)if(d(t,e[n]))return!0;return!1}if(e.constructor===Object){for(var a in e)if(t==a)return!0;return!1}if(e.constructor==String)return e.indexOf(t)>=0}var s=Error(\"Not a container: \"+e);throw s.name=\"TypeError\",s},d=function t(e,n){if(null==e||null==n);else{if(Array.isArray(e)&&Array.isArray(n)){for(var a=0,s=e.length==n.length;s&&a<e.length;)s=t(e[a],n[a]),a+=1;return s}if(e.constructor===Object&&n.constructor===Object){var i=Object.keys(e),r=Object.keys(n);i.sort(),r.sort();for(var o,a=0,s=t(i,r);s&&a<i.length;)o=i[a],s=t(e[o],n[o]),a+=1;return s}}return e==n},p=function(t,e){if(void 0===t||\"undefined\"!=typeof window&&window===t||\"undefined\"!=typeof global&&global===t)throw\"Class constructor is called as a function.\";for(var n in t)void 0!==Object[n]||\"function\"!=typeof t[n]||t[n].nobind||(t[n]=t[n].bind(t));t.__init__&&t.__init__.apply(t,e)},g=function(t,e){if((\"number\"==typeof t)+(\"number\"==typeof e)===1){if(t.constructor===String)return b.call(t,e);if(e.constructor===String)return b.call(e,t);if(Array.isArray(e)){var n=t;t=e,e=n}if(Array.isArray(t)){for(var a=[],s=0;s<e;s++)a=a.concat(t);return a}}return t*e},v=function(t){return null===t||\"object\"!=typeof t?t:void 0!==t.length?!!t.length&&t:void 0!==t.byteLength?!!t.byteLength&&t:t.constructor!==Object||!!Object.getOwnPropertyNames(t).length&&t},y=function(t){if(!Array.isArray(this))return this.append.apply(this,arguments);this.push(t)},x=function(t,e){return this.constructor!==Object?this.get.apply(this,arguments):void 0!==this[t]?this[t]:void 0!==e?e:null},m=function(t){if(!Array.isArray(this))return this.remove.apply(this,arguments);for(var e=0;e<this.length;e++)if(d(this[e],t))return void this.splice(e,1);var n=Error(t);throw n.name=\"ValueError\",n},b=function(t){if(this.repeat)return this.repeat(t);if(t<1)return\"\";for(var e=\"\",n=this.valueOf();t>1;)1&t&&(e+=n),t>>=1,n+=n;return e+n},w=function(t){return this.constructor!==String?this.startswith.apply(this,arguments):0==this.indexOf(t)};c=window.console,h=function(t,e){var n,a,s,i,r,o,l;for(e=void 0===e?\"periodic check\":e,i=[];a=t.getError(),!(d(a,t.NO_ERROR)||v(i)&&d(a,i[i.length-1]));)y.call(i,a);if(i.length){for(r=\"\",\"object\"!=typeof(o=i)||Array.isArray(o)||(o=Object.keys(o)),l=0;l<o.length;l+=1)n=o[l],r=u(r,n);throw s=new Error(\"RuntimeError:OpenGL got errors (\"+e+\"): \"+r),s.name=\"RuntimeError\",s}return null},(s=function(){p(this,arguments)}).prototype._base_class=Object,s.prototype._class_name=\"GlooObject\",s.prototype.__init__=function(t){if(this._gl=t,this.handle=null,this._create(),null===this.handle)throw\"AssertionError: this.handle !== null\";return null},s.prototype._create=function(){var t;throw t=new Error(\"NotImplementedError:\"),t.name=\"NotImplementedError\",t},((r=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,r.prototype._class_name=\"Program\",r.prototype.UTYPEMAP={float:\"uniform1fv\",vec2:\"uniform2fv\",vec3:\"uniform3fv\",vec4:\"uniform4fv\",int:\"uniform1iv\",ivec2:\"uniform2iv\",ivec3:\"uniform3iv\",ivec4:\"uniform4iv\",bool:\"uniform1iv\",bvec2:\"uniform2iv\",bvec3:\"uniform3iv\",bvec4:\"uniform4iv\",mat2:\"uniformMatrix2fv\",mat3:\"uniformMatrix3fv\",mat4:\"uniformMatrix4fv\",sampler1D:\"uniform1i\",sampler2D:\"uniform1i\",sampler3D:\"uniform1i\"},r.prototype.ATYPEMAP={float:\"vertexAttrib1f\",vec2:\"vertexAttrib2f\",vec3:\"vertexAttrib3f\",vec4:\"vertexAttrib4f\"},r.prototype.ATYPEINFO={float:[1,5126],vec2:[2,5126],vec3:[3,5126],vec4:[4,5126]},r.prototype._create=function(){return this.handle=this._gl.createProgram(),this.locations={},this._unset_variables=[],this._validated=!1,this._samplers={},this._attributes={},this._known_invalid=[],null},r.prototype.delete=function(){return this._gl.deleteProgram(this.handle),null},r.prototype.activate=function(){return this._gl.useProgram(this.handle),null},r.prototype.deactivate=function(){return this._gl.useProgram(0),null},r.prototype.set_shaders=function(t,e){var n,a,s,i,r,o,l,_,h,c,f,d,p;for(o=this._gl,this._linked=!1,p=o.createShader(o.VERTEX_SHADER),r=o.createShader(o.FRAGMENT_SHADER),f=[[t,p,\"vertex\"],[e,r,\"fragment\"]],_=0;_<2;_+=1)if(c=f[_],n=c[0],l=c[1],d=c[2],o.shaderSource(l,n),o.compileShader(l),h=o.getShaderParameter(l,o.COMPILE_STATUS),!v(h))throw i=o.getShaderInfoLog(l),s=new Error(\"RuntimeError:\"+u(\"errors in \"+d+\" shader:\\n\",i)),s.name=\"RuntimeError\",s;if(o.attachShader(this.handle,p),o.attachShader(this.handle,r),o.linkProgram(this.handle),!v(o.getProgramParameter(this.handle,o.LINK_STATUS)))throw a=new Error(\"RuntimeError:Program link error:\\n\"+o.getProgramInfoLog(this.handle)),a.name=\"RuntimeError\",a;return this._unset_variables=this._get_active_attributes_and_uniforms(),o.detachShader(this.handle,p),o.detachShader(this.handle,r),o.deleteShader(p),o.deleteShader(r),this._known_invalid=[],this._linked=!0,null},r.prototype._get_active_attributes_and_uniforms=function(){var t,e,n,a,s,i,r,o,l,_,h,c,f,d,p,g,x,m,b;for(o=this._gl,this.locations={},d=new window.RegExp(\"(\\\\w+)\\\\s*(\\\\[(\\\\d+)\\\\])\\\\s*\"),s=o.getProgramParameter(this.handle,o.ACTIVE_UNIFORMS),e=o.getProgramParameter(this.handle,o.ACTIVE_ATTRIBUTES),m=[],\"object\"!=typeof(g=[[t=[],e,o.getActiveAttrib,o.getAttribLocation],[m,s,o.getActiveUniform,o.getUniformLocation]])||Array.isArray(g)||(g=Object.keys(g)),x=0;x<g.length;x+=1)for(b=g[x],n=(p=b)[0],a=p[1],i=p[2],r=p[3],l=0;l<a;l+=1){if(_=i.call(o,this.handle,l),f=_.name,c=f.match(d),v(c))for(f=c[1],h=0;h<_.size;h+=1)y.call(n,[f+\"[\"+h+\"]\",_.type]);else y.call(n,[f,_.type]);this.locations[f]=r.call(o,this.handle,f)}return u(function(){var e,n,a,s=[];for(\"object\"!=typeof(n=t)||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a++)e=n[a],s.push(e[0]);return s}.apply(this),function(){var t,e,n,a=[];for(\"object\"!=typeof(e=m)||Array.isArray(e)||(e=Object.keys(e)),n=0;n<e.length;n++)t=e[n],a.push(t[0]);return a}.apply(this))},r.prototype.set_texture=function(t,e){var n,a,s;if(!v(this._linked))throw n=new Error(\"RuntimeError:Cannot set uniform when program has no code\"),n.name=\"RuntimeError\",n;return a=x.call(this.locations,t,-1),v(a<0)?(f(t,this._known_invalid)||(y.call(this._known_invalid,t),c.log(\"Variable \"+t+\" is not an active texture\")),null):(f(t,this._unset_variables)&&m.call(this._unset_variables,t),this.activate(),s=function(){return\"function\"==typeof this.keys?this.keys.apply(this,arguments):Object.keys(this)}.call(this._samplers).length,f(t,this._samplers)&&(s=this._samplers[t][this._samplers[t].length-1]),this._samplers[t]=[e._target,e.handle,s],this._gl.uniform1i(a,s),null)},r.prototype.set_uniform=function(t,e,n){var a,s,i,r,o,l,_;if(!v(this._linked))throw i=new Error(\"RuntimeError:Cannot set uniform when program has no code\"),i.name=\"RuntimeError\",i;if(o=x.call(this.locations,t,-1),v(o<0))return f(t,this._known_invalid)||(y.call(this._known_invalid,t),c.log(\"Variable \"+t+\" is not an active uniform\")),null;if(f(t,this._unset_variables)&&m.call(this._unset_variables,t),s=1,w.call(e,\"mat\")||(a=x.call({int:\"float\",bool:\"float\"},e,function(t){if(this.constructor!==String)return this.lstrip.apply(this,arguments);t=void 0===t?\" \\t\\r\\n\":t;for(var e=0;e<this.length;e++)if(t.indexOf(this[e])<0)return this.slice(e);return\"\"}.call(e,\"ib\")),s=Math.floor(n.length/this.ATYPEINFO[a][0])),v(s>1))for(l=0;l<s;l+=1)f(t+\"[\"+l+\"]\",this._unset_variables)&&f(_=t+\"[\"+l+\"]\",this._unset_variables)&&m.call(this._unset_variables,_);return r=this.UTYPEMAP[e],this.activate(),w.call(e,\"mat\")?this._gl[r](o,!1,n):this._gl[r](o,n),null},r.prototype.set_attribute=function(t,e,n,a,s){var i,r,o,l,h,u,d,p;if(a=void 0===a?0:a,s=void 0===s?0:s,!v(this._linked))throw r=new Error(\"RuntimeError:Cannot set attribute when program has no code\"),r.name=\"RuntimeError\",r;return u=n instanceof _,h=x.call(this.locations,t,-1),v(h<0)?(f(t,this._known_invalid)||(y.call(this._known_invalid,t),v(u)&&v(s>0)||c.log(\"Variable \"+t+\" is not an active attribute\")),null):(f(t,this._unset_variables)&&m.call(this._unset_variables,t),this.activate(),v(u)?(p=this.ATYPEINFO[e],d=p[0],l=p[1],o=\"vertexAttribPointer\",i=[d,l,this._gl.FALSE,a,s],this._attributes[t]=[n.handle,h,o,i]):(o=this.ATYPEMAP[e],this._attributes[t]=[0,h,o,n]),null)},r.prototype._pre_draw=function(){var t,e,n,a,s,i,r,o,l,_,h,c;this.activate(),r=this._samplers;for(c in r)r.hasOwnProperty(c)&&(c=r[c],l=(i=c)[0],o=i[1],_=i[2],this._gl.activeTexture(u(this._gl.TEXTURE0,_)),this._gl.bindTexture(l,o));s=this._attributes;for(c in s)s.hasOwnProperty(c)&&(c=s[c],h=(a=c)[0],e=a[1],n=a[2],t=a[3],v(h)?(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,h),this._gl.enableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))):(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,null),this._gl.disableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))));return v(this._validated)||(this._validated=!0,this._validate()),null},r.prototype._validate=function(){var t;if(this._unset_variables.length&&c.log(\"Program has unset variables: \"+this._unset_variables),this._gl.validateProgram(this.handle),!v(this._gl.getProgramParameter(this.handle,this._gl.VALIDATE_STATUS)))throw c.log(this._gl.getProgramInfoLog(this.handle)),t=new Error(\"RuntimeError:Program validation error\"),t.name=\"RuntimeError\",t;return null},r.prototype.draw=function(t,e){var n,a,s,r,o;if(!v(this._linked))throw a=new Error(\"RuntimeError:Cannot draw program if code has not been set\"),a.name=\"RuntimeError\",a;return h(this._gl,\"before draw\"),v(e instanceof i)?(this._pre_draw(),e.activate(),n=e._buffer_size/2,r=this._gl.UNSIGNED_SHORT,this._gl.drawElements(t,n,r,0),e.deactivate()):(s=(o=e)[0],n=o[1],v(n)&&(this._pre_draw(),this._gl.drawArrays(t,s,n))),h(this._gl,\"after draw\"),null},((a=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,a.prototype._class_name=\"Buffer\",a.prototype._target=null,a.prototype._usage=35048,a.prototype._create=function(){return this.handle=this._gl.createBuffer(),this._buffer_size=0,null},a.prototype.delete=function(){return this._gl.deleteBuffer(this.handle),null},a.prototype.activate=function(){return this._gl.bindBuffer(this._target,this.handle),null},a.prototype.deactivate=function(){return this._gl.bindBuffer(this._target,null),null},a.prototype.set_size=function(t){return d(t,this._buffer_size)||(this.activate(),this._gl.bufferData(this._target,t,this._usage),this._buffer_size=t),null},a.prototype.set_data=function(t,e){return this.activate(),this._gl.bufferSubData(this._target,t,e),null},(_=function(){p(this,arguments)}).prototype=Object.create(a.prototype),_.prototype._base_class=a.prototype,_.prototype._class_name=\"VertexBuffer\",_.prototype._target=34962,(i=function(){p(this,arguments)}).prototype=Object.create(a.prototype),i.prototype._base_class=a.prototype,i.prototype._class_name=\"IndexBuffer\",i.prototype._target=34963,((o=function(){p(this,arguments)}).prototype=Object.create(s.prototype))._base_class=s.prototype,o.prototype._class_name=\"Texture2D\",o.prototype._target=3553,o.prototype._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},o.prototype._create=function(){return this.handle=this._gl.createTexture(),this._shape_format=null,null},o.prototype.delete=function(){return this._gl.deleteTexture(this.handle),null},o.prototype.activate=function(){return this._gl.bindTexture(this._target,this.handle),null},o.prototype.deactivate=function(){return this._gl.bindTexture(this._target,0),null},o.prototype._get_alignment=function(t){var e,n,a;for(\"object\"!=typeof(n=[4,8,2,1])||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a+=1)if(e=n[a],d(t%e,0))return e;return null},o.prototype.set_wrapping=function(t,e){return this.activate(),this._gl.texParameterf(this._target,this._gl.TEXTURE_WRAP_S,t),this._gl.texParameterf(this._target,this._gl.TEXTURE_WRAP_T,e),null},o.prototype.set_interpolation=function(t,e){return this.activate(),this._gl.texParameterf(this._target,this._gl.TEXTURE_MIN_FILTER,t),this._gl.texParameterf(this._target,this._gl.TEXTURE_MAG_FILTER,e),null},o.prototype.set_size=function(t,e){var n,a,s;return a=t,n=a[0],s=a[1],d([n,s,e],this._shape_format)||(this._shape_format=[n,s,e],this.activate(),this._gl.texImage2D(this._target,0,e,s,n,0,e,this._gl.UNSIGNED_BYTE,null)),this.u_shape=[n,s],null},o.prototype.set_data=function(t,e,n){var a,s,i,r,o,l,_,h,c,u;if(d(e.length,2)&&(e=[e[0],e[1],1]),this.activate(),i=this._shape_format[2],l=e,o=l[0],h=l[1],l[2],_=t,u=_[0],c=_[1],null===(r=x.call(this._types,n.constructor.name,null)))throw s=new Error(\"ValueError:Type \"+n.constructor.name+\" not allowed for texture\"),s.name=\"ValueError\",s;return a=this._get_alignment(g(e[e.length-2],e[e.length-1])),d(a,4)||this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,a),this._gl.texSubImage2D(this._target,0,c,u,h,o,i,r,n),d(a,4)||this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,4),null},((l=function(){p(this,arguments)}).prototype=Object.create(o.prototype))._base_class=o.prototype,l.prototype._class_name=\"Texture3DLike\",l.prototype.GLSL_SAMPLE_NEAREST=\"\\n        vec4 sample3D(sampler2D tex, vec3 texcoord, vec3 shape, vec2 tiles) {\\n            shape.xyz = shape.zyx;  // silly row-major convention\\n            float nrows = tiles.y, ncols = tiles.x;\\n            // Don't let adjacent frames be interpolated into this one\\n            texcoord.x = min(texcoord.x * shape.x, shape.x - 0.5);\\n            texcoord.x = max(0.5, texcoord.x) / shape.x;\\n            texcoord.y = min(texcoord.y * shape.y, shape.y - 0.5);\\n            texcoord.y = max(0.5, texcoord.y) / shape.y;\\n\\n            float zindex = floor(texcoord.z * shape.z);\\n\\n            // Do a lookup in the 2D texture\\n            float u = (mod(zindex, ncols) + texcoord.x) / ncols;\\n            float v = (floor(zindex / ncols) + texcoord.y) / nrows;\\n\\n            return texture2D(tex, vec2(u,v));\\n        }\\n    \",l.prototype.GLSL_SAMPLE_LINEAR=\"\\n        vec4 sample3D(sampler2D tex, vec3 texcoord, vec3 shape, vec2 tiles) {\\n            shape.xyz = shape.zyx;  // silly row-major convention\\n            float nrows = tiles.y, ncols = tiles.x;\\n            // Don't let adjacent frames be interpolated into this one\\n            texcoord.x = min(texcoord.x * shape.x, shape.x - 0.5);\\n            texcoord.x = max(0.5, texcoord.x) / shape.x;\\n            texcoord.y = min(texcoord.y * shape.y, shape.y - 0.5);\\n            texcoord.y = max(0.5, texcoord.y) / shape.y;\\n\\n            float z = texcoord.z * shape.z;\\n            float zindex1 = floor(z);\\n            float u1 = (mod(zindex1, ncols) + texcoord.x) / ncols;\\n            float v1 = (floor(zindex1 / ncols) + texcoord.y) / nrows;\\n\\n            float zindex2 = zindex1 + 1.0;\\n            float u2 = (mod(zindex2, ncols) + texcoord.x) / ncols;\\n            float v2 = (floor(zindex2 / ncols) + texcoord.y) / nrows;\\n\\n            vec4 s1 = texture2D(tex, vec2(u1, v1));\\n            vec4 s2 = texture2D(tex, vec2(u2, v2));\\n\\n            return s1 * (zindex2 - z) + s2 * (z - zindex1);\\n        }\\n    \",l.prototype._get_tile_info=function(t){var e,n,a,s;if(n=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),s=Math.floor(n/t[1]),s=Math.min(s,t[0]),a=window.Math.ceil(t[0]/s),v(g(a,t[2])>n))throw e=new Error(\"RuntimeError:Cannot fit 3D data with shape \"+t+\" onto simulated 2D texture.\"),e.name=\"RuntimeError\",e;return[s,a]},l.prototype.set_size=function(t,e){var n,a,s,i;return i=this._get_tile_info(t),a=i[0],n=i[1],s=[g(t[1],a),g(t[2],n)],l.prototype._base_class.set_size.call(this,s,e),this.u_shape=[t[0],t[1],t[2]],this.u_tiles=[n,a],null},l.prototype.set_data=function(t,e,n){var a,s,i,r,o,_,h,c,u,f,p,y,x;if(d(e.length,3)&&(e=[e[0],e[1],e[2],1]),!function(t){for(var e=0;e<t.length;e++)if(!v(t[e]))return!1;return!0}(function(){var e,n,a,s=[];for(\"object\"!=typeof(n=t)||Array.isArray(n)||(n=Object.keys(n)),a=0;a<n.length;a++)e=n[a],s.push(d(e,0));return s}.apply(this)))throw r=new Error(\"ValueError:Texture3DLike does not support nonzero offset (for now)\"),r.name=\"ValueError\",r;if(u=this._get_tile_info(e),_=u[0],o=u[1],c=[g(e[1],_),g(e[2],o),e[3]],d(o,1))l.prototype._base_class.set_data.call(this,[0,0],c,n);else for(a=n.constructor,x=new a(g(g(c[0],c[1]),c[2])),l.prototype._base_class.set_data.call(this,[0,0],c,x),y=0;y<e[0];y+=1)f=[Math.floor(y/o),y%o],h=f[0],s=f[1],i=Math.floor(n.length/e[0]),p=n.slice(g(y,i),g(y+1,i)),l.prototype._base_class.set_data.call(this,[g(h,e[1]),g(s,e[2])],e.slice(1),p);return null},e.exports={Buffer:a,GlooObject:s,IndexBuffer:i,Program:r,Texture2D:o,Texture3DLike:l,VertexBuffer:_,check_error:h,console:c}},425:function(t,e,n){var a=t(364);a.__exportStar(t(426),n),a.__exportStar(t(428),n)},426:function(t,e,n){var a,s=t(364),i=t(424),r=t(423),o=t(26);a=function(){function t(t){this._atlas={},this._index=0,this._width=256,this._height=256,this.tex=new i.Texture2D(t),this.tex.set_wrapping(t.REPEAT,t.REPEAT),this.tex.set_interpolation(t.NEAREST,t.NEAREST),this.tex.set_size([this._height,this._width],t.RGBA),this.tex.set_data([0,0],[this._height,this._width],new Uint8Array(this._height*this._width*4)),this.get_atlas_data([1])}return t.prototype.get_atlas_data=function(t){var e,n,a,s;return n=t.join(\"-\"),void 0===this._atlas[n]&&(i=this.make_pattern(t),e=i[0],a=i[1],this.tex.set_data([this._index,0],[1,this._width],new Uint8Array(function(){var t,n,a;for(a=[],t=0,n=e.length;t<n;t++)s=e[t],a.push(s+10);return a}())),this._atlas[n]=[this._index/this._height,a],this._index+=1),this._atlas[n];var i},t.prototype.make_pattern=function(t){var e,n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w,P,A,E;for(t.length>1&&t.length%2&&(t=t.concat(t)),g=0,u=0,f=t.length;u<f;u++)w=t[u],g+=w;for(e=[],i=0,_=p=0,x=t.length+2;p<x;_=p+=2)a=Math.max(1e-4,t[_%t.length]),s=Math.max(1e-4,t[(_+1)%t.length]),e.push.apply(e,[i,i+a]),i+=a+s;for(d=this._width,n=new Float32Array(4*d),_=v=0,m=d;0<=m?v<m:v>m;_=0<=m?++v:--v){for(E=g*_/(d-1),h=0,A=1e16,c=y=0,b=e.length;0<=b?y<b:y>b;c=0<=b?++y:--y)(P=Math.abs(e[c]-E))<A&&(h=c,A=P);h%2==0?(l=E<=e[h]?1:0,o=e[h],r=e[h+1]):(l=E>e[h]?-1:0,o=e[h-1],r=e[h]),n[4*_+0]=e[h],n[4*_+1]=l,n[4*_+2]=o,n[4*_+3]=r}return[n,g]},t}();var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.init=function(){var t;return t=this.gl,this._scale_aspect=0,this.prog=new i.Program(t),this.prog.set_shaders(this.VERT,this.FRAG),this.index_buffer=new i.IndexBuffer(t),this.vbo_position=new i.VertexBuffer(t),this.vbo_tangents=new i.VertexBuffer(t),this.vbo_segment=new i.VertexBuffer(t),this.vbo_angles=new i.VertexBuffer(t),this.vbo_texcoord=new i.VertexBuffer(t),this.dash_atlas=new a(t)},e.prototype.draw=function(t,e,n){var a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w;if((_=e.glglyph).data_changed){if(!isFinite(n.dx)||!isFinite(n.dy))return;_._baked_offset=[n.dx,n.dy],_._set_data(),_.data_changed=!1}if(this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),x=n.sx,m=n.sy,y=Math.sqrt(x*x+m*m),x/=y,m/=y,Math.abs(this._scale_aspect-m/x)>Math.abs(.001*this._scale_aspect)&&(_._update_scale(x,m),this._scale_aspect=m/x),this.prog.set_attribute(\"a_position\",\"vec2\",_.vbo_position),this.prog.set_attribute(\"a_tangents\",\"vec4\",_.vbo_tangents),this.prog.set_attribute(\"a_segment\",\"vec2\",_.vbo_segment),this.prog.set_attribute(\"a_angles\",\"vec2\",_.vbo_angles),this.prog.set_attribute(\"a_texcoord\",\"vec2\",_.vbo_texcoord),this.prog.set_uniform(\"u_length\",\"float\",[_.cumsum]),this.prog.set_texture(\"u_dash_atlas\",this.dash_atlas.tex),a=_._baked_offset,this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[n.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[n.width,n.height]),this.prog.set_uniform(\"u_offset\",\"vec2\",[n.dx-a[0],n.dy-a[1]]),this.prog.set_uniform(\"u_scale_aspect\",\"vec2\",[x,m]),this.prog.set_uniform(\"u_scale_length\",\"float\",[y]),this.I_triangles=_.I_triangles,this.I_triangles.length<65535)return this.index_buffer.set_size(2*this.I_triangles.length),this.index_buffer.set_data(0,new Uint16Array(this.I_triangles)),this.prog.draw(this.gl.TRIANGLES,this.index_buffer);for(t=this.I_triangles,h=this.I_triangles.length,r=64008,i=[],o=l=0,d=Math.ceil(h/r);0<=d?l<d:l>d;o=0<=d?++l:--l)i.push([]);for(o=u=0,p=t.length;0<=p?u<p:u>p;o=0<=p?++u:--u)w=t[o]%r,s=Math.floor(t[o]/r),i[s].push(w);for(v=[],s=f=0,g=i.length;0<=g?f<g:f>g;s=0<=g?++f:--f)b=new Uint16Array(i[s]),c=s*r*4,0!==b.length&&(this.prog.set_attribute(\"a_position\",\"vec2\",_.vbo_position,0,2*c),this.prog.set_attribute(\"a_tangents\",\"vec4\",_.vbo_tangents,0,4*c),this.prog.set_attribute(\"a_segment\",\"vec2\",_.vbo_segment,0,2*c),this.prog.set_attribute(\"a_angles\",\"vec2\",_.vbo_angles,0,2*c),this.prog.set_attribute(\"a_texcoord\",\"vec2\",_.vbo_texcoord,0,2*c),this.index_buffer.set_size(2*b.length),this.index_buffer.set_data(0,b),v.push(this.prog.draw(this.gl.TRIANGLES,this.index_buffer)));return v},e.prototype._set_data=function(){return this._bake(),this.vbo_position.set_size(4*this.V_position.length),this.vbo_position.set_data(0,this.V_position),this.vbo_tangents.set_size(4*this.V_tangents.length),this.vbo_tangents.set_data(0,this.V_tangents),this.vbo_angles.set_size(4*this.V_angles.length),this.vbo_angles.set_data(0,this.V_angles),this.vbo_texcoord.set_size(4*this.V_texcoord.length),this.vbo_texcoord.set_data(0,this.V_texcoord)},e.prototype._set_visuals=function(){var t,e,n,a,s,i;return e=o.color2rgba(this.glyph.visuals.line.line_color.value(),this.glyph.visuals.line.line_alpha.value()),t=this.CAPS[this.glyph.visuals.line.line_cap.value()],i=this.JOINS[this.glyph.visuals.line.line_join.value()],this.prog.set_uniform(\"u_color\",\"vec4\",e),this.prog.set_uniform(\"u_linewidth\",\"float\",[this.glyph.visuals.line.line_width.value()]),this.prog.set_uniform(\"u_antialias\",\"float\",[.9]),this.prog.set_uniform(\"u_linecaps\",\"vec2\",[t,t]),this.prog.set_uniform(\"u_linejoin\",\"float\",[i]),this.prog.set_uniform(\"u_miter_limit\",\"float\",[10]),a=this.glyph.visuals.line.line_dash.value(),n=0,s=1,a.length&&(r=this.dash_atlas.get_atlas_data(a),n=r[0],s=r[1]),this.prog.set_uniform(\"u_dash_index\",\"float\",[n]),this.prog.set_uniform(\"u_dash_phase\",\"float\",[this.glyph.visuals.line.line_dash_offset.value()]),this.prog.set_uniform(\"u_dash_period\",\"float\",[s]),this.prog.set_uniform(\"u_dash_caps\",\"vec2\",[t,t]),this.prog.set_uniform(\"u_closed\",\"float\",[0]);var r},e.prototype._bake=function(){var t,e,n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w,P,A,E,z,R,q,T,S,k,G,I,O,D,L,M,F,C;for(m=this.nvertices,u=new Float64Array(this.glyph._x),f=new Float64Array(this.glyph._y),i=h=new Float32Array(2*m),a=new Float32Array(2*m),o=c=new Float32Array(4*m),new Float32Array(2*m),d=y=0,E=m;0<=E?y<E:y>E;d=0<=E?++y:--y)i[2*d+0]=u[d]+this._baked_offset[0],i[2*d+1]=f[d]+this._baked_offset[1];for(this.tangents=n=new Float32Array(2*m-2),d=w=0,z=m-1;0<=z?w<z:w>z;d=0<=z?++w:--w)n[2*d+0]=h[2*(d+1)+0]-h[2*d+0],n[2*d+1]=h[2*(d+1)+1]-h[2*d+1];for(d=P=0,R=m-1;0<=R?P<R:P>R;d=0<=R?++P:--P)o[4*(d+1)+0]=n[2*d+0],o[4*(d+1)+1]=n[2*d+1],o[4*d+2]=n[2*d+0],o[4*d+3]=n[2*d+1];for(o[0]=n[0],o[1]=n[1],o[4*(m-1)+2]=n[2*(m-2)+0],o[4*(m-1)+3]=n[2*(m-2)+1],t=new Float32Array(m),d=A=0,q=m;0<=q?A<q:A>q;d=0<=q?++A:--A)t[d]=Math.atan2(c[4*d+0]*c[4*d+3]-c[4*d+1]*c[4*d+2],c[4*d+0]*c[4*d+2]+c[4*d+1]*c[4*d+3]);for(d=O=0,T=m-1;0<=T?O<T:O>T;d=0<=T?++O:--O)a[2*d+0]=t[d],a[2*d+1]=t[d+1];for(x=4*m-4,this.V_position=r=new Float32Array(2*x),this.V_angles=s=new Float32Array(2*x),this.V_tangents=l=new Float32Array(4*x),this.V_texcoord=_=new Float32Array(2*x),2,d=D=0,S=m;0<=S?D<S:D>S;d=0<=S?++D:--D)for(g=L=0;L<4;g=++L){for(v=M=0;M<2;v=++M)r[2*(4*d+g-2)+v]=i[2*d+v],s[2*(4*d+g)+v]=a[2*d+v];for(v=F=0;F<4;v=++F)l[4*(4*d+g-2)+v]=o[4*d+v]}for(d=C=0,k=m;0<=k?C<=k:C>=k;d=0<=k?++C:--C)_[2*(4*d+0)+0]=-1,_[2*(4*d+1)+0]=-1,_[2*(4*d+2)+0]=1,_[2*(4*d+3)+0]=1,_[2*(4*d+0)+1]=-1,_[2*(4*d+1)+1]=1,_[2*(4*d+2)+1]=-1,_[2*(4*d+3)+1]=1;for(b=6*(m-1),this.I_triangles=e=new Uint32Array(b),I=[],d=p=0,G=m;0<=G?p<G:p>G;d=0<=G?++p:--p)e[6*d+0]=0+4*d,e[6*d+1]=1+4*d,e[6*d+2]=3+4*d,e[6*d+3]=2+4*d,e[6*d+4]=0+4*d,I.push(e[6*d+5]=3+4*d);return I},e.prototype._update_scale=function(t,e){var n,a,s,i,r,o,l,_,h,c,u,f,d,p,g,v,y,x;for(u=this.nvertices,c=4*u-4,a=this.tangents,n=new Float32Array(u-1),s=new Float32Array(2*u),this.V_segment=i=new Float32Array(2*c),o=h=0,g=u-1;0<=g?h<g:h>g;o=0<=g?++h:--h)n[o]=Math.sqrt(Math.pow(a[2*o+0]*t,2)+Math.pow(a[2*o+1]*e,2));for(r=0,o=f=0,v=u-1;0<=v?f<v:f>v;o=0<=v?++f:--f)r+=n[o],s[2*(o+1)+0]=r,s[2*o+1]=r;for(o=d=0,y=u;0<=y?d<y:d>y;o=0<=y?++d:--d)for(l=p=0;p<4;l=++p)for(_=x=0;x<2;_=++x)i[2*(4*o+l)+_]=s[2*o+_];return this.cumsum=r,this.vbo_segment.set_size(4*this.V_segment.length),this.vbo_segment.set_data(0,this.V_segment)},e}(r.BaseGLGlyph);n.LineGLGlyph=l,l.prototype.GLYPH=\"line\",l.prototype.JOINS={miter:0,round:1,bevel:2},l.prototype.CAPS={\"\":0,none:0,\".\":0,round:1,\")\":1,\"(\":1,o:1,\"triangle in\":2,\"<\":2,\"triangle out\":3,\">\":3,square:4,\"[\":4,\"]\":4,\"=\":4,butt:5,\"|\":5},l.prototype.VERT=\"precision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size, u_offset;\\nuniform vec2 u_scale_aspect;\\nuniform float u_scale_length;\\n\\nuniform vec4 u_color;\\nuniform float u_antialias;\\nuniform float u_length;\\nuniform float u_linewidth;\\nuniform float u_dash_index;\\nuniform float u_closed;\\n\\nattribute vec2 a_position;\\nattribute vec4 a_tangents;\\nattribute vec2 a_segment;\\nattribute vec2 a_angles;\\nattribute vec2 a_texcoord;\\n\\nvarying vec4  v_color;\\nvarying vec2  v_segment;\\nvarying vec2  v_angles;\\nvarying vec2  v_texcoord;\\nvarying vec2  v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\nfloat cross(in vec2 v1, in vec2 v2)\\n{\\n    return v1.x*v2.y - v1.y*v2.x;\\n}\\n\\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\\n{\\n    return cross(v2-v1,v1-v3) / length(v2-v1);\\n}\\n\\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\\n{\\n    float c = cos(alpha);\\n    float s = sin(alpha);\\n    result = vec2( c*v.x - s*v.y,\\n                   s*v.x + c*v.y );\\n}\\n\\nvoid main()\\n{\\n    bool closed = (u_closed > 0.0);\\n\\n    // Attributes and uniforms to varyings\\n    v_color = u_color;\\n    v_linewidth = u_linewidth;\\n    v_segment = a_segment * u_scale_length;\\n    v_length = u_length * u_scale_length;\\n\\n    // Scale to map to pixel coordinates. The original algorithm from the paper\\n    // assumed isotropic scale. We obviously do not have this.\\n    vec2 abs_scale_aspect = abs(u_scale_aspect);\\n    vec2 abs_scale = u_scale_length * abs_scale_aspect;\\n\\n    // Correct angles for aspect ratio\\n    vec2 av;\\n    av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\\n    v_angles.x = atan(av.y, av.x);\\n    av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\\n    v_angles.y = atan(av.y, av.x);\\n\\n    // Thickness below 1 pixel are represented using a 1 pixel thickness\\n    // and a modified alpha\\n    v_color.a = min(v_linewidth, v_color.a);\\n    v_linewidth = max(v_linewidth, 1.0);\\n\\n    // If color is fully transparent we just will discard the fragment anyway\\n    if( v_color.a <= 0.0 ) {\\n        gl_Position = vec4(0.0,0.0,0.0,1.0);\\n        return;\\n    }\\n\\n    // This is the actual half width of the line\\n    float w = ceil(u_antialias+v_linewidth)/2.0;\\n\\n    vec2 position = (a_position + u_offset) * abs_scale;\\n\\n    vec2 t1 = normalize(a_tangents.xy * abs_scale_aspect);  // note the scaling for aspect ratio here\\n    vec2 t2 = normalize(a_tangents.zw * abs_scale_aspect);\\n    float u = a_texcoord.x;\\n    float v = a_texcoord.y;\\n    vec2 o1 = vec2( +t1.y, -t1.x);\\n    vec2 o2 = vec2( +t2.y, -t2.x);\\n\\n    // This is a join\\n    // ----------------------------------------------------------------\\n    if( t1 != t2 ) {\\n        float angle = atan (t1.x*t2.y-t1.y*t2.x, t1.x*t2.x+t1.y*t2.y);  // Angle needs recalculation for some reason\\n        vec2 t  = normalize(t1+t2);\\n        vec2 o  = vec2( + t.y, - t.x);\\n\\n        if ( u_dash_index > 0.0 )\\n        {\\n            // Broken angle\\n            // ----------------------------------------------------------------\\n            if( (abs(angle) > THETA) ) {\\n                position += v * w * o / cos(angle/2.0);\\n                float s = sign(angle);\\n                if( angle < 0.0 ) {\\n                    if( u == +1.0 ) {\\n                        u = v_segment.y + v * w * tan(angle/2.0);\\n                        if( v == 1.0 ) {\\n                            position -= 2.0 * w * t1 / sin(angle);\\n                            u -= 2.0 * w / sin(angle);\\n                        }\\n                    } else {\\n                        u = v_segment.x - v * w * tan(angle/2.0);\\n                        if( v == 1.0 ) {\\n                            position += 2.0 * w * t2 / sin(angle);\\n                            u += 2.0*w / sin(angle);\\n                        }\\n                    }\\n                } else {\\n                    if( u == +1.0 ) {\\n                        u = v_segment.y + v * w * tan(angle/2.0);\\n                        if( v == -1.0 ) {\\n                            position += 2.0 * w * t1 / sin(angle);\\n                            u += 2.0 * w / sin(angle);\\n                        }\\n                    } else {\\n                        u = v_segment.x - v * w * tan(angle/2.0);\\n                        if( v == -1.0 ) {\\n                            position -= 2.0 * w * t2 / sin(angle);\\n                            u -= 2.0*w / sin(angle);\\n                        }\\n                    }\\n                }\\n                // Continuous angle\\n                // ------------------------------------------------------------\\n            } else {\\n                position += v * w * o / cos(angle/2.0);\\n                if( u == +1.0 ) u = v_segment.y;\\n                else            u = v_segment.x;\\n            }\\n        }\\n\\n        // Solid line\\n        // --------------------------------------------------------------------\\n        else\\n        {\\n            position.xy += v * w * o / cos(angle/2.0);\\n            if( angle < 0.0 ) {\\n                if( u == +1.0 ) {\\n                    u = v_segment.y + v * w * tan(angle/2.0);\\n                } else {\\n                    u = v_segment.x - v * w * tan(angle/2.0);\\n                }\\n            } else {\\n                if( u == +1.0 ) {\\n                    u = v_segment.y + v * w * tan(angle/2.0);\\n                } else {\\n                    u = v_segment.x - v * w * tan(angle/2.0);\\n                }\\n            }\\n        }\\n\\n    // This is a line start or end (t1 == t2)\\n    // ------------------------------------------------------------------------\\n    } else {\\n        position += v * w * o1;\\n        if( u == -1.0 ) {\\n            u = v_segment.x - w;\\n            position -= w * t1;\\n        } else {\\n            u = v_segment.y + w;\\n            position += w * t2;\\n        }\\n    }\\n\\n    // Miter distance\\n    // ------------------------------------------------------------------------\\n    vec2 t;\\n    vec2 curr = a_position * abs_scale;\\n    if( a_texcoord.x < 0.0 ) {\\n        vec2 next = curr + t2*(v_segment.y-v_segment.x);\\n\\n        rotate( t1, +v_angles.x/2.0, t);\\n        v_miter.x = signed_distance(curr, curr+t, position);\\n\\n        rotate( t2, +v_angles.y/2.0, t);\\n        v_miter.y = signed_distance(next, next+t, position);\\n    } else {\\n        vec2 prev = curr - t1*(v_segment.y-v_segment.x);\\n\\n        rotate( t1, -v_angles.x/2.0,t);\\n        v_miter.x = signed_distance(prev, prev+t, position);\\n\\n        rotate( t2, -v_angles.y/2.0,t);\\n        v_miter.y = signed_distance(curr, curr+t, position);\\n    }\\n\\n    if (!closed && v_segment.x <= 0.0) {\\n        v_miter.x = 1e10;\\n    }\\n    if (!closed && v_segment.y >= v_length)\\n    {\\n        v_miter.y = 1e10;\\n    }\\n\\n    v_texcoord = vec2( u, v*w );\\n\\n    // Calculate position in device coordinates. Note that we\\n    // already scaled with abs scale above.\\n    vec2 normpos = position * sign(u_scale_aspect);\\n    normpos += 0.5;  // make up for Bokeh's offset\\n    normpos /= u_canvas_size / u_pixel_ratio;  // in 0..1\\n    gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\\n    gl_Position.y *= -1.0;\\n}\\n\",l.prototype.FRAG_=\"// Fragment shader that can be convenient during debugging to show the line skeleton.\\nprecision mediump float;\\nuniform vec4  u_color;\\nvoid main () {\\n  gl_FragColor = u_color;\\n}\",l.prototype.FRAG=\"precision mediump float;\\n\\nconst float PI = 3.14159265358979323846264;\\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\\n\\nuniform sampler2D u_dash_atlas;\\n\\nuniform vec2 u_linecaps;\\nuniform float u_miter_limit;\\nuniform float u_linejoin;\\nuniform float u_antialias;\\nuniform float u_dash_phase;\\nuniform float u_dash_period;\\nuniform float u_dash_index;\\nuniform vec2 u_dash_caps;\\nuniform float u_closed;\\n\\nvarying vec4  v_color;\\nvarying vec2  v_segment;\\nvarying vec2  v_angles;\\nvarying vec2  v_texcoord;\\nvarying vec2  v_miter;\\nvarying float v_length;\\nvarying float v_linewidth;\\n\\n// Compute distance to cap ----------------------------------------------------\\nfloat cap( int type, float dx, float dy, float t, float linewidth )\\n{\\n    float d = 0.0;\\n    dx = abs(dx);\\n    dy = abs(dy);\\n    if      (type == 0)  discard;  // None\\n    else if (type == 1)  d = sqrt(dx*dx+dy*dy);  // Round\\n    else if (type == 3)  d = (dx+abs(dy));  // Triangle in\\n    else if (type == 2)  d = max(abs(dy),(t+dx-abs(dy)));  // Triangle out\\n    else if (type == 4)  d = max(dx,dy);  // Square\\n    else if (type == 5)  d = max(dx+t,dy);  // Butt\\n    return d;\\n}\\n\\n// Compute distance to join -------------------------------------------------\\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\\n           in float linewidth )\\n{\\n    // texcoord.x is distance from start\\n    // texcoord.y is distance from centerline\\n    // segment.x and y indicate the limits (as for texcoord.x) for this segment\\n\\n    float dx = texcoord.x;\\n\\n    // Round join\\n    if( type == 1 ) {\\n        if (dx < segment.x) {\\n            d = max(d,length( texcoord - vec2(segment.x,0.0)));\\n            //d = length( texcoord - vec2(segment.x,0.0));\\n        } else if (dx > segment.y) {\\n            d = max(d,length( texcoord - vec2(segment.y,0.0)));\\n            //d = length( texcoord - vec2(segment.y,0.0));\\n        }\\n    }\\n    // Bevel join\\n    else if ( type == 2 ) {\\n        if (dx < segment.x) {\\n            vec2 x = texcoord - vec2(segment.x,0.0);\\n            d = max(d, max(abs(x.x), abs(x.y)));\\n\\n        } else if (dx > segment.y) {\\n            vec2 x = texcoord - vec2(segment.y,0.0);\\n            d = max(d, max(abs(x.x), abs(x.y)));\\n        }\\n        /*  Original code for bevel which does not work for us\\n        if( (dx < segment.x) ||  (dx > segment.y) )\\n            d = max(d, min(abs(x.x),abs(x.y)));\\n        */\\n    }\\n\\n    return d;\\n}\\n\\nvoid main()\\n{\\n    // If color is fully transparent we just discard the fragment\\n    if( v_color.a <= 0.0 ) {\\n        discard;\\n    }\\n\\n    // Test if dash pattern is the solid one (0)\\n    bool solid =  (u_dash_index == 0.0);\\n\\n    // Test if path is closed\\n    bool closed = (u_closed > 0.0);\\n\\n    vec4 color = v_color;\\n    float dx = v_texcoord.x;\\n    float dy = v_texcoord.y;\\n    float t = v_linewidth/2.0-u_antialias;\\n    float width = 1.0;  //v_linewidth; original code had dashes scale with line width, we do not\\n    float d = 0.0;\\n\\n    vec2 linecaps = u_linecaps;\\n    vec2 dash_caps = u_dash_caps;\\n    float line_start = 0.0;\\n    float line_stop = v_length;\\n\\n    // Apply miter limit; fragments too far into the miter are simply discarded\\n    if( (dx < v_segment.x) || (dx > v_segment.y) ) {\\n        float into_miter = max(v_segment.x - dx, dx - v_segment.y);\\n        if (into_miter > u_miter_limit*v_linewidth/2.0)\\n          discard;\\n    }\\n\\n    // Solid line --------------------------------------------------------------\\n    if( solid ) {\\n        d = abs(dy);\\n        if( (!closed) && (dx < line_start) ) {\\n            d = cap( int(u_linecaps.x), abs(dx), abs(dy), t, v_linewidth );\\n        }\\n        else if( (!closed) &&  (dx > line_stop) ) {\\n            d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\\n        }\\n        else {\\n            d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\\n        }\\n\\n    // Dash line --------------------------------------------------------------\\n    } else {\\n        float segment_start = v_segment.x;\\n        float segment_stop  = v_segment.y;\\n        float segment_center= (segment_start+segment_stop)/2.0;\\n        float freq          = u_dash_period*width;\\n        float u = mod( dx + u_dash_phase*width, freq);\\n        vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n        float dash_center= tex.x * width;\\n        float dash_type  = tex.y;\\n        float _start = tex.z * width;\\n        float _stop  = tex.a * width;\\n        float dash_start = dx - u + _start;\\n        float dash_stop  = dx - u + _stop;\\n\\n        // Compute extents of the first dash (the one relative to v_segment.x)\\n        // Note: this could be computed in the vertex shader\\n        if( (dash_stop < segment_start) && (dash_caps.x != 5.0) ) {\\n            float u = mod(segment_start + u_dash_phase*width, freq);\\n            vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n            dash_center= tex.x * width;\\n            //dash_type  = tex.y;\\n            float _start = tex.z * width;\\n            float _stop  = tex.a * width;\\n            dash_start = segment_start - u + _start;\\n            dash_stop = segment_start - u + _stop;\\n        }\\n\\n        // Compute extents of the last dash (the one relatives to v_segment.y)\\n        // Note: This could be computed in the vertex shader\\n        else if( (dash_start > segment_stop)  && (dash_caps.y != 5.0) ) {\\n            float u = mod(segment_stop + u_dash_phase*width, freq);\\n            vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0;  // conversion to int-like\\n            dash_center= tex.x * width;\\n            //dash_type  = tex.y;\\n            float _start = tex.z * width;\\n            float _stop  = tex.a * width;\\n            dash_start = segment_stop - u + _start;\\n            dash_stop  = segment_stop - u + _stop;\\n        }\\n\\n        // This test if the we are dealing with a discontinuous angle\\n        bool discontinuous = ((dx <  segment_center) && abs(v_angles.x) > THETA) ||\\n                             ((dx >= segment_center) && abs(v_angles.y) > THETA);\\n        //if( dx < line_start) discontinuous = false;\\n        //if( dx > line_stop)  discontinuous = false;\\n\\n        float d_join = join( int(u_linejoin), abs(dy),\\n                            v_segment, v_texcoord, v_miter, v_linewidth );\\n\\n        // When path is closed, we do not have room for linecaps, so we make room\\n        // by shortening the total length\\n        if (closed) {\\n             line_start += v_linewidth/2.0;\\n             line_stop  -= v_linewidth/2.0;\\n        }\\n\\n        // We also need to take antialias area into account\\n        //line_start += u_antialias;\\n        //line_stop  -= u_antialias;\\n\\n        // Check is dash stop is before line start\\n        if( dash_stop <= line_start ) {\\n            discard;\\n        }\\n        // Check is dash start is beyond line stop\\n        if( dash_start >= line_stop ) {\\n            discard;\\n        }\\n\\n        // Check if current dash start is beyond segment stop\\n        if( discontinuous ) {\\n            // Dash start is beyond segment, we discard\\n            if( (dash_start > segment_stop) ) {\\n                discard;\\n                //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\\n            }\\n\\n            // Dash stop is before segment, we discard\\n            if( (dash_stop < segment_start) ) {\\n                discard;  //gl_FragColor = vec4(0.0,1.0,0.0,.25); return;\\n            }\\n\\n            // Special case for round caps (nicer with this)\\n            if( dash_caps.x == 1.0 ) {\\n                if( (u > _stop) && (dash_stop > segment_stop )  && (abs(v_angles.y) < PI/2.0)) {\\n                    discard;\\n                }\\n            }\\n\\n            // Special case for round caps  (nicer with this)\\n            if( dash_caps.y == 1.0 ) {\\n                if( (u < _start) && (dash_start < segment_start )  && (abs(v_angles.x) < PI/2.0)) {\\n                    discard;\\n                }\\n            }\\n\\n            // Special case for triangle caps (in & out) and square\\n            // We make sure the cap stop at crossing frontier\\n            if( (dash_caps.x != 1.0) && (dash_caps.x != 5.0) ) {\\n                if( (dash_start < segment_start )  && (abs(v_angles.x) < PI/2.0) ) {\\n                    float a = v_angles.x/2.0;\\n                    float x = (segment_start-dx)*cos(a) - dy*sin(a);\\n                    float y = (segment_start-dx)*sin(a) + dy*cos(a);\\n                    if( x > 0.0 ) discard;\\n                    // We transform the cap into square to avoid holes\\n                    dash_caps.x = 4.0;\\n                }\\n            }\\n\\n            // Special case for triangle caps (in & out) and square\\n            // We make sure the cap stop at crossing frontier\\n            if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\\n                if( (dash_stop > segment_stop )  && (abs(v_angles.y) < PI/2.0) ) {\\n                    float a = v_angles.y/2.0;\\n                    float x = (dx-segment_stop)*cos(a) - dy*sin(a);\\n                    float y = (dx-segment_stop)*sin(a) + dy*cos(a);\\n                    if( x > 0.0 ) discard;\\n                    // We transform the caps into square to avoid holes\\n                    dash_caps.y = 4.0;\\n                }\\n            }\\n        }\\n\\n        // Line cap at start\\n        if( (dx < line_start) && (dash_start < line_start) && (dash_stop > line_start) ) {\\n            d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\\n        }\\n        // Line cap at stop\\n        else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start < line_stop) ) {\\n            d = cap( int(linecaps.y), dx-line_stop, dy, t, v_linewidth);\\n        }\\n        // Dash cap left - dash_type = -1, 0 or 1, but there may be roundoff errors\\n        else if( dash_type < -0.5 ) {\\n            d = cap( int(dash_caps.y), abs(u-dash_center), dy, t, v_linewidth);\\n            if( (dx > line_start) && (dx < line_stop) )\\n                d = max(d,d_join);\\n        }\\n        // Dash cap right\\n        else if( dash_type > 0.5 ) {\\n            d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\\n            if( (dx > line_start) && (dx < line_stop) )\\n                d = max(d,d_join);\\n        }\\n        // Dash body (plain)\\n        else {// if( dash_type > -0.5 &&  dash_type < 0.5) {\\n            d = abs(dy);\\n        }\\n\\n        // Line join\\n        if( (dx > line_start) && (dx < line_stop)) {\\n            if( (dx <= segment_start) && (dash_start <= segment_start)\\n                && (dash_stop >= segment_start) ) {\\n                d = d_join;\\n                // Antialias at outer border\\n                float angle = PI/2.+v_angles.x;\\n                float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\\n                d = max(f,d);\\n            }\\n            else if( (dx > segment_stop) && (dash_start <= segment_stop)\\n                     && (dash_stop >= segment_stop) ) {\\n                d = d_join;\\n                // Antialias at outer border\\n                float angle = PI/2.+v_angles.y;\\n                float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\\n                d = max(f,d);\\n            }\\n            else if( dx < (segment_start - v_linewidth/2.)) {\\n                discard;\\n            }\\n            else if( dx > (segment_stop + v_linewidth/2.)) {\\n                discard;\\n            }\\n        }\\n        else if( dx < (segment_start - v_linewidth/2.)) {\\n            discard;\\n        }\\n        else if( dx > (segment_stop + v_linewidth/2.)) {\\n            discard;\\n        }\\n    }\\n\\n    // Distance to border ------------------------------------------------------\\n    d = d - t;\\n    if( d < 0.0 ) {\\n        gl_FragColor = color;\\n    } else {\\n        d /= u_antialias;\\n        gl_FragColor = vec4(color.rgb, exp(-d*d)*color.a);\\n    }\\n}\"},427:function(t,e,n){t(425)},428:function(t,e,n){var a,s=t(364),i=t(424),r=t(423),o=t(14),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a=function(){var t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e.prototype.init=function(){var t,e;return e=this.gl,t=this.FRAG.replace(/MARKERCODE/,this.MARKERCODE),this.last_trans={},this.prog=new i.Program(e),this.prog.set_shaders(this.VERT,t),this.vbo_x=new i.VertexBuffer(e),this.prog.set_attribute(\"a_x\",\"float\",this.vbo_x),this.vbo_y=new i.VertexBuffer(e),this.prog.set_attribute(\"a_y\",\"float\",this.vbo_y),this.vbo_s=new i.VertexBuffer(e),this.prog.set_attribute(\"a_size\",\"float\",this.vbo_s),this.vbo_a=new i.VertexBuffer(e),this.prog.set_attribute(\"a_angle\",\"float\",this.vbo_a),this.vbo_linewidth=new i.VertexBuffer(e),this.vbo_fg_color=new i.VertexBuffer(e),this.vbo_bg_color=new i.VertexBuffer(e),this.index_buffer=new i.IndexBuffer(e)},e.prototype.draw=function(t,e,n){var a,s,i,r,l,_,h,c,u,f,d,p,g,v,y,x,m,b,w;if(u=e.glglyph,f=u.nvertices,u.data_changed){if(!isFinite(n.dx)||!isFinite(n.dy))return;u._baked_offset=[n.dx,n.dy],u._set_data(f),u.data_changed=!1}else null==this.glyph._radius||n.sx===this.last_trans.sx&&n.sy===this.last_trans.sy||(this.last_trans=n,this.vbo_s.set_data(0,new Float32Array(function(){var t,e,n,a;for(n=this.glyph.sradius,a=[],t=0,e=n.length;t<e;t++)x=n[t],a.push(2*x);return a}.call(this))));if(this.visuals_changed&&(this._set_visuals(f),this.visuals_changed=!1),a=u._baked_offset,this.prog.set_uniform(\"u_pixel_ratio\",\"float\",[n.pixel_ratio]),this.prog.set_uniform(\"u_canvas_size\",\"vec2\",[n.width,n.height]),this.prog.set_uniform(\"u_offset\",\"vec2\",[n.dx-a[0],n.dy-a[1]]),this.prog.set_uniform(\"u_scale\",\"vec2\",[n.sx,n.sy]),this.prog.set_attribute(\"a_x\",\"float\",u.vbo_x),this.prog.set_attribute(\"a_y\",\"float\",u.vbo_y),this.prog.set_attribute(\"a_size\",\"float\",u.vbo_s),this.prog.set_attribute(\"a_angle\",\"float\",u.vbo_a),0!==t.length){if(t.length===f)return this.prog.draw(this.gl.POINTS,[0,f]);if(f<65535)return(b=window.navigator.userAgent).indexOf(\"MSIE \")+b.indexOf(\"Trident/\")+b.indexOf(\"Edge/\")>0&&o.logger.warn(\"WebGL warning: IE is known to produce 1px sprites whith selections.\"),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer);for(r=64e3,i=[],l=_=0,p=Math.ceil(f/r);0<=p?_<p:_>p;l=0<=p?++_:--_)i.push([]);for(l=h=0,g=t.length;0<=g?h<g:h>g;l=0<=g?++h:--h)w=t[l]%r,s=Math.floor(t[l]/r),i[s].push(w);for(y=[],s=c=0,v=i.length;0<=v?c<v:c>v;s=0<=v?++c:--c)m=new Uint16Array(i[s]),d=s*r*4,0!==m.length&&(this.prog.set_attribute(\"a_x\",\"float\",u.vbo_x,0,d),this.prog.set_attribute(\"a_y\",\"float\",u.vbo_y,0,d),this.prog.set_attribute(\"a_size\",\"float\",u.vbo_s,0,d),this.prog.set_attribute(\"a_angle\",\"float\",u.vbo_a,0,d),this.vbo_linewidth.used&&this.prog.set_attribute(\"a_linewidth\",\"float\",this.vbo_linewidth,0,d),this.vbo_fg_color.used&&this.prog.set_attribute(\"a_fg_color\",\"vec4\",this.vbo_fg_color,0,4*d),this.vbo_bg_color.used&&this.prog.set_attribute(\"a_bg_color\",\"vec4\",this.vbo_bg_color,0,4*d),this.index_buffer.set_size(2*m.length),this.index_buffer.set_data(0,m),y.push(this.prog.draw(this.gl.POINTS,this.index_buffer)));return y}},e.prototype._set_data=function(t){var e,n,a,s,i,r,o;for(a=4*t,this.vbo_x.set_size(a),this.vbo_y.set_size(a),this.vbo_a.set_size(a),this.vbo_s.set_size(a),r=new Float64Array(this.glyph._x),o=new Float64Array(this.glyph._y),e=n=0,s=t;0<=s?n<s:n>s;e=0<=s?++n:--n)r[e]+=this._baked_offset[0],o[e]+=this._baked_offset[1];return this.vbo_x.set_data(0,new Float32Array(r)),this.vbo_y.set_data(0,new Float32Array(o)),null!=this.glyph._angle&&this.vbo_a.set_data(0,new Float32Array(this.glyph._angle)),null!=this.glyph._radius?this.vbo_s.set_data(0,new Float32Array(function(){var t,e,n,a;for(n=this.glyph.sradius,a=[],t=0,e=n.length;t<e;t++)i=n[t],a.push(2*i);return a}.call(this))):this.vbo_s.set_data(0,new Float32Array(this.glyph._size))},e.prototype._set_visuals=function(t){return r.attach_float(this.prog,this.vbo_linewidth,\"a_linewidth\",t,this.glyph.visuals.line,\"line_width\"),r.attach_color(this.prog,this.vbo_fg_color,\"a_fg_color\",t,this.glyph.visuals.line,\"line\"),r.attach_color(this.prog,this.vbo_bg_color,\"a_bg_color\",t,this.glyph.visuals.fill,\"fill\"),this.prog.set_uniform(\"u_antialias\",\"float\",[.8])},e}(r.BaseGLGlyph);return t.prototype.VERT=\"precision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\n//\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform vec2 u_offset;\\nuniform vec2 u_scale;\\nuniform float u_antialias;\\n//\\nattribute float a_x;\\nattribute float a_y;\\nattribute float a_size;\\nattribute float a_angle;  // in radians\\nattribute float a_linewidth;\\nattribute vec4  a_fg_color;\\nattribute vec4  a_bg_color;\\n//\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec4  v_fg_color;\\nvarying vec4  v_bg_color;\\nvarying vec2  v_rotation;\\n\\nvoid main (void)\\n{\\n    v_size = a_size * u_pixel_ratio;\\n    v_linewidth = a_linewidth * u_pixel_ratio;\\n    v_fg_color = a_fg_color;\\n    v_bg_color = a_bg_color;\\n    v_rotation = vec2(cos(-a_angle), sin(-a_angle));\\n    // Calculate position - the -0.5 is to correct for canvas origin\\n    vec2 pos = (vec2(a_x, a_y) + u_offset) * u_scale; // in pixels\\n    pos += 0.5;  // make up for Bokeh's offset\\n    pos /= u_canvas_size / u_pixel_ratio;  // in 0..1\\n    gl_Position = vec4(pos*2.0-1.0, 0.0, 1.0);\\n    gl_Position.y *= -1.0;\\n    gl_PointSize = SQRT_2 * v_size + 2.0 * (v_linewidth + 1.5*u_antialias);\\n}\",t.prototype.FRAG=\"precision mediump float;\\nconst float SQRT_2 = 1.4142135623730951;\\nconst float PI = 3.14159265358979323846264;\\n//\\nuniform float u_antialias;\\n//\\nvarying vec4  v_fg_color;\\nvarying vec4  v_bg_color;\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec2  v_rotation;\\n\\nMARKERCODE\\n\\nvec4 outline(float distance, float linewidth, float antialias, vec4 fg_color, vec4 bg_color)\\n{\\n    vec4 frag_color;\\n    float t = linewidth/2.0 - antialias;\\n    float signed_distance = distance;\\n    float border_distance = abs(signed_distance) - t;\\n    float alpha = border_distance/antialias;\\n    alpha = exp(-alpha*alpha);\\n\\n    // If fg alpha is zero, it probably means no outline. To avoid a dark outline\\n    // shining through due to aa, we set the fg color to the bg color. Avoid if (i.e. branching).\\n    float select = float(bool(fg_color.a));\\n    fg_color.rgb = select * fg_color.rgb + (1.0  - select) * bg_color.rgb;\\n    // Similarly, if we want a transparent bg\\n    select = float(bool(bg_color.a));\\n    bg_color.rgb = select * bg_color.rgb + (1.0  - select) * fg_color.rgb;\\n\\n    if( border_distance < 0.0)\\n        frag_color = fg_color;\\n    else if( signed_distance < 0.0 ) {\\n        frag_color = mix(bg_color, fg_color, sqrt(alpha));\\n    } else {\\n        if( abs(signed_distance) < (linewidth/2.0 + antialias) ) {\\n            frag_color = vec4(fg_color.rgb, fg_color.a * alpha);\\n        } else {\\n            discard;\\n        }\\n    }\\n    return frag_color;\\n}\\n\\nvoid main()\\n{\\n    vec2 P = gl_PointCoord.xy - vec2(0.5, 0.5);\\n    P = vec2(v_rotation.x*P.x - v_rotation.y*P.y,\\n             v_rotation.y*P.x + v_rotation.x*P.y);\\n    float point_size = SQRT_2*v_size  + 2.0 * (v_linewidth + 1.5*u_antialias);\\n    float distance = marker(P*point_size, v_size);\\n    gl_FragColor = outline(distance, v_linewidth, u_antialias, v_fg_color, v_bg_color);\\n    //gl_FragColor.rgb *= gl_FragColor.a;  // pre-multiply alpha\\n}\",t.prototype.MARKERCODE=\"<defined in subclasses>\",t}());n.CircleGLGlyph=l,l.prototype.GLYPH=\"circle\",l.prototype.MARKERCODE=\"// --- disc\\nfloat marker(vec2 P, float size)\\n{\\n    return length(P) - size/2.0;\\n}\";var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareGLGlyph=_,_.prototype.GLYPH=\"square\",_.prototype.MARKERCODE=\"// --- square\\nfloat marker(vec2 P, float size)\\n{\\n    return max(abs(P.x), abs(P.y)) - size/2.0;\\n}\";var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.AnnulusGLGlyph=h,h.prototype.GLYPH=\"annulus\",h.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    float r1 = length(P) - size/2.0;\\n    float r2 = length(P) - size/4.0;  // half width\\n    return max(r1, -r2);\\n}\";var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.DiamondGLGlyph=c,c.prototype.GLYPH=\"diamond\",c.prototype.MARKERCODE=\"// --- diamond\\nfloat marker(vec2 P, float size)\\n{\\n    float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n    return r1 / SQRT_2;\\n}\";var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.TriangleGLGlyph=u,u.prototype.GLYPH=\"triangle\",u.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    P.y -= size * 0.3;\\n    float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / 1.6;\\n    float r2 = P.y;\\n    return max(r1 / SQRT_2, r2);  // Instersect diamond with rectangle\\n}\";var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.InvertedTriangleGLGlyph=f,f.prototype.GLYPH=\"invertedtriangle\",f.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    P.y += size * 0.3;\\n    float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n    float r1 = max(abs(x), abs(y)) - size / 1.6;\\n    float r2 = - P.y;\\n    return max(r1 / SQRT_2, r2);  // Instersect diamond with rectangle\\n}\";var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CrossGLGlyph=d,d.prototype.GLYPH=\"cross\",d.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float square = max(abs(P.x), abs(P.y)) - size / 2.5;  // 2.5 is a tweak\\n    float cross = min(abs(P.x), abs(P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return max(square, cross);\\n}';var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CircleCrossGLGlyph=p,p.prototype.GLYPH=\"circlecross\",p.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float circle = length(P) - size/2.0;\\n    float c1 = max(circle, s1);\\n    float c2 = max(circle, s2);\\n    float c3 = max(circle, s3);\\n    float c4 = max(circle, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareCrossGLGlyph=g,g.prototype.GLYPH=\"squarecross\",g.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n    float c1 = max(square, s1);\\n    float c2 = max(square, s2);\\n    float c3 = max(square, s3);\\n    float c4 = max(square, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.DiamondCrossGLGlyph=v,v.prototype.GLYPH=\"diamondcross\",v.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n    float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n    float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n    float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n    float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n    float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n    diamond /= SQRT_2;\\n    float c1 = max(diamond, s1);\\n    float c2 = max(diamond, s2);\\n    float c3 = max(diamond, s3);\\n    float c4 = max(diamond, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.XGLGlyph=y,y.prototype.GLYPH=\"x\",y.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float circle = length(P) - size / 1.6;\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return max(circle, X);\\n}';var x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.CircleXGLGlyph=x,x.prototype.GLYPH=\"circlex\",x.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    float x = P.x - P.y;\\n    float y = P.x + P.y;\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n    float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n    float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n    float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float circle = length(P) - size/2.0;\\n    float c1 = max(circle, s1);\\n    float c2 = max(circle, s2);\\n    float c3 = max(circle, s3);\\n    float c4 = max(circle, s4);\\n    // Union\\n    float almost = min(min(min(c1, c2), c3), c4);\\n    // In this case, the X is also outside of the main shape\\n    float Xmask = length(P) - size / 1.6;  // a circle\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    return min(max(X, Xmask), almost);\\n}';var m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.SquareXGLGlyph=m,m.prototype.GLYPH=\"squarex\",m.prototype.MARKERCODE=\"float marker(vec2 P, float size)\\n{\\n    float x = P.x - P.y;\\n    float y = P.x + P.y;\\n    // Define quadrants\\n    float qs = size / 2.0;  // quadrant size\\n    float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n    float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n    float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n    float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n    // Intersect main shape with quadrants (to form cross)\\n    float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n    float c1 = max(square, s1);\\n    float c2 = max(square, s2);\\n    float c3 = max(square, s3);\\n    float c4 = max(square, s4);\\n    // Union\\n    return min(min(min(c1, c2), c3), c4);\\n}\";var b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s.__extends(e,t),e}(a);n.AsteriskGLGlyph=b,b.prototype.GLYPH=\"asterisk\",b.prototype.MARKERCODE='float marker(vec2 P, float size)\\n{\\n    // Masks\\n    float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / (2.0 * SQRT_2);\\n    float square = max(abs(P.x), abs(P.y)) - size / (2.0 * SQRT_2);\\n    // Shapes\\n    float X = min(abs(P.x - P.y), abs(P.x + P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    float cross = min(abs(P.x), abs(P.y)) - size / 100.0;  // bit of \"width\" for aa\\n    // Result is union of masked shapes\\n    return min(max(X, diamond), max(cross, square));\\n}'}},{\"models/glyphs/webgl/base\":423,\"models/glyphs/webgl/gloo2\":424,\"models/glyphs/webgl/index\":425,\"models/glyphs/webgl/line\":426,\"models/glyphs/webgl/main\":427,\"models/glyphs/webgl/markers\":428})}(t.Bokeh)}(this);/*!\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\n      //# sourceMappingURL=bokeh-gl.min.js.map\n\n      /* END bokeh-gl.min.js */\n    },\n    \n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    \n    function(Bokeh) {\n      \n    },\n    function(Bokeh) {\n      console.log(\"Bokeh: injecting raw CSS\");\n      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh.min.css */\\n.bk-root{font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-size:10pt;position:relative;width:100%;height:100%}.bk-root .bk-shading{position:absolute;display:block;border:1px dashed green;z-index:100}.bk-root .bk-tool-icon-box-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpBODVDNDBCRjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpBODVDNDBDMDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkE4NUM0MEJEMjBCMzExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkE4NUM0MEJFMjBCMzExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hdQ7dQAAAJdJREFUeNpiXLhs5X8GBPgIxAJQNjZxfiD+wIAKGCkUZ0SWZGIYZIAF3YVoPkEHH6kojhUMyhD6jydEaAlgaWnwh9BAgf9DKpfxDxYHjeay0Vw2bHMZw2guG81lwyXKRnMZWlt98JdDTFAX/x9NQwPkIH6kGMAVEyjyo7lstC4jouc69Moh9L42rlyBTZyYXDS00xBAgAEAqsguPe03+cYAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-box-zoom{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMjFERDhEMjIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMjFERDhEMzIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMyMUREOEQwMjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMyMUREOEQxMjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+a2Q0KAAAAmVJREFUeNq8V19EpFEUvzOtmKfpJSJKDL2WiLJExKaUEq0eeikiaolZLT2lVUpPydqHqIlIo1ilFOmphxj1miKWWHppnobIt7+zeyZ3jjvz/bnf9OPHd8/9d77z3XN+94ts7ew6SqksWKX+w1GFiLjYdVSAfeAQ2Ag2sf0GvAXT4C/wle1x3lt9UOGBNk6BrYa+FuYIeAWOsmNviGqe6W+q081OmAGvizgh0cpjZ3RjGBFZBpMG+xn4wM8NYJfWFwNXwXrwS96RiIUTwwYn6AxMgb+FvQ5c4zOUxzR4Ce5GLZyo5LfSsQP2G5xQbKO+bWFfoLWinA1OAEcoM2rFRpMe5sloJWgtm4j0iPZcPhVdkOWxBWvZONIi2uc+5sqxbTaO1Ij2o4+5T6JdGy1SF4Kg2mLsi01E/oh2l4+5HTKaNlmTEe0ka40XyNqTsYnIkWiTwC16rMRNci0bR0hJ7w1veizqy9uB5D4ZDZKBtI3WvLCCJoT9E3jHny4j1DdmWOcbrWWjNYuGoqaL2kdmKayTztio7yzTJprz4A/9PuI3a8YMh5IKVC9fetxAY5rB79pNzXdESMJ/GrSjm8/DCTjAgpjQZCDDh5I+w4HuQBBHOsE9USty4KB2KF85m9J+v5XX9KXr3T7fQZS26WefYlcU+ayJlxhDIT40jBnn21hQOPrfgFtEqAhdGETqK7gZ4h/Av4g4Jf5TUoYquQSuqJDhFpEJca3b4EoYOtyyhrSkHTzlcj4R4t4FZ9NL+j6yMzlT/ocZES9aky3D3r6y5t2gaw3xWXgs7XFhdyzsgSpr2fFXgAEAmp2J9DuX/WgAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-zoom-in{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AcRDi0ZzsqC7QAAA5RJREFUWMO9mE1oXUUUx39z8/K1aF0JSqBpoFBoIgYKVqFQEQuCYDePTjqSjKIroQhCs6oF3SgK3Yi40EVvhasDAaHQVangqiJ9pFoUK8FCJSAEhIL0I8nLdTMpk+O8vLnX5x0YeOfcc2b+c+Z8zVNAC9ikwZEXbgh4BWgDB4FZ/+kGcAtYAi5Zo7tSVzUNOC/cQeAi8Ewf0R+ABWv0rZCZNWzZd4DlBLB4mWWvs8PCQ0C3AbAfAWcin64At/3vKeB4ROZja/TiNuAM2PqfwWrga8G+BJy2Rt8RsvuAT7yPh2POGu3U6NjY0MMHD7oDAKWs0WWEPwL8DkwE7MIa/Wqf9S4C8wFrBZhuHZqeUcud6/3AXAFeDFg/W6Nn8sJl/paGgf154bas0b8J9bYAewd4K8EGp4FjwD5PHwDarcnJ/fQDDLwrAB8AsEZvu1IX+LWH7suCPmuNvttvQ2v03bxwZ31GebRWtmfv3q0E5e8Fa7iCtxwW9LcVdKXsc9nY+HiZqLwpskvqeEIcfrWC7pqgJ7LPP/u0pMGRF+7xCuJSdr2JwvGnoI9X0D0m6NUmAHcEfcb3EilDFppOS1zXTZ8BhiN+Gh5O5YWTwVoqpTaAlYVTJ2cC/mXABPQs8AGwmFAZZwX78g7ASqnpR7uXpVJKlQEda5x20GVZjiqlpgR/CXhvOxUGVn4KeFMGYV64CeAL4CWxzm1gSQnhrdQMEB5m+4Ce/9PCqZNPJ5RmgPveZTpBCjwMjEdk56zRLuuTxsKJALgZTqD080YkjzvgfGSPceAo8LafR3uAPe/XQLrEVaWyc/Nz7Wve0mVgpY1AvrRGj/zL775yR4DJHgZYBP4CzgEjiUG3DrwPfFi5AEQAZzXz8PVI9evVwL9ujf4lZLYaLhqHImA7Aa/jg8sB38SeSI0CBl4T9HfW6OerLFDlWsPDlTWsOyTyMcCFqutkeeFUwmbPCtZGDeu+IPri+z5HU9XCKYE36fvSm36jlRqA35AFxRr9d9VFWn6u9+mHnQ+EusH2WOSN9mWdtZIA7/aO8zc05p8yo9boHyOibVEQVis28jsAP8wLlwXPneThH50lcC8v3B/eXWJjXtBFLGUl+bBXHESbeS926LxwU5G+9kLdTTJvqc2UbJFg7RTrdmT1qp2H/bN90GN+EMHWs5eo68+7/PG3HARcF3jSGr02MMBB9O92zVVTmvZlec0afeK/rPcPRydBWFnJL+gAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-zoom-out{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AcRDi4PETNkfwAAA0xJREFUWMO9mEFIFUEYx3+zPlMP1SkoBE0IBDUShCIIikAIgro8GpvQKeoUSBDkKYK6FAVeIjrUwS3YWhCCoFMUdArCh1YUFZJgCIEQBFFqPrdD82od5j13n+/twMD7vv3m2/9+883/m+8JIAcsk+Hwg7ABOALkgU6g1zyaAj4C48BjrWTRXiuyBuwHYSdwD9i9hukrYEgr+TGu9DKO7HlgMgFYjM2kWbMqwg1AMQOw14ELjkdPgRnzuwPod9jc0EqOlAB7wEqdwUrgoaV+DAxrJWct2zbgpsnx+BjQSoaiqbm5YXFhoVgDUEIrGTn0G4DPQGtMHWglT6zh7x4wGFNNA925ru4eMVmYqBakZ3apEdjuB+GKVvKTZZa3wM4CZxO4Hwb2A21G3gHkc+3t26kWsFaylEpF4EMZs8OWfFEr+T2B7+9+EF40jPLPl7dx06aVOp+3Pkt+nmKtbbvXa25pieoMeKsVubkUa+ctudW7c/tWvQHbeb8lhbltu5RF4fhqyf0p1u635LksABcs+YK5SyQZdqEp5Kztemvoo9HQ1f+SKP6KURSJMs4jIcRvYHro+LGemP4JoGJyL3AVGElQGXst9ZOcBar739ujSAghXPldDrCIoqhJCNFh6ceByyYQ8SjvBM7Yh9APwlbgLnDI8jMDjAvLeKUCoNJHOQ9pKfJCiDdDx4/tSlCaAX6ZlCnEKLAPaHHYDmglw0o5vFxpRlG0agKRmVOOIhACo453tAD7gHNm7isDdtT4wE6JZ0J4lwYH8i9NpFNRnv8g3AO0l3k8AnwDLgEbErpcAq4A19bKx3ry8ISj+pW7wJ/SSr5PcoDqBbYLeOegvb7Y7xkgBB65WqRcxgE+ackvtJIH0jjwMoxug8XHAGNp/Xh+EGaVFgete/Evw9GkjXBWgE/bBUUr+aMawLkM0mGzo0e7X42vnJlL1fZxZoeaTSvTpJV87TDNWwVhLuVFfhXgRT8IvVi7k6ZFKlW3n34QfjF56RqDlhy4KCtRSpiFtWCLn66P9oOww3GvHav2JZ6J1PJ62cLV4peJbsGuXlXzsGnbaz0Ga3HYypbmavO5wh9/k7EDVwS2aSXnawY4dvorbXNaSpOmLM9rJY+ux98fNUQlTNeDDboAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-help{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAABltpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6Q29tcHJlc3Npb24+NTwvdGlmZjpDb21wcmVzc2lvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzI8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMzIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDNDIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpBODVDNDBDMTIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpBODVDNDBDMjIwQjMxMUU0ODREQUYzNzM5QTM2MjBCRTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOnN1YmplY3Q+CiAgICAgICAgICAgIDxyZGY6U2VxLz4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNjoxMToyOCAxMToxMTo4MjwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+UGl4ZWxtYXRvciAzLjY8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cphjt2AAAAT7SURBVFgJxRdbaFxFdGb2bhui227BWrsVKYgf2kJUbP9EUPuzEB803WTXJjH61Q/7Ya1+CMYKEVTsh4J/EpvY7BoabUiNiA8s1p+4KIhpoUUEselHqyS76TbZ3HuP58ydc3d2u4+IkQxczpz3mZkzZ86VYpXjvenpjZsLhUcliE4AuUuASAgptmt1EFdwPiclzIIUUwubNn17OJlcXo1p2UpodHRiux9xB1Eug1+slbzhFxGOKc851tu7/0oznYYBDA8Pt0U2tL8KQryIq2tvZqQhD0QJHRz3yqWhgYGBpXpydQMwqz6NCnurleCSADkJEfgKfOePqL80R/wV1ZaQyr1LenKfkPCkEPKeaj0xg7vxVL3duCmA0Vyuw/fl52hgBxsBED+h4Cv9z3R/zbRm8MTJTx7HQN7GQB6w5C4L4SX7M5lfLBpurjXMyvNIShiyi0l1pL8n9b7EDGPR8fHxzSsQ6XDB3618/xqo6Pk25V5MpVJllgHM1BO58RdQ612kOYZ+GXdij70TYQB05mpj+1kU5G2fB+l3PZtOf8NGx6ambnMXb3yAxg8wjSEG6OKKR9oicBQD+ZvpH2Wzj0lQpxCPG9qMv1x6hHNCsSAlHM7ZOa682vlI9tRDbvHGbD3nZAPpDoD/3JIrLpAs26UFkC3EMUA99hpfGtEBfJjNJnS2Gwnadnvl+Xw+iuc3DAJuNyIaSCHpilVldyDjjUxj3WDZIAhxhHHyRcdNuA7AAfUaXzVKODpzFiZ4/uLvh5G+m2no+C/pyIf7MqlEJB7bpqR6nXkEUfbeawuLaZsW2ISfNQ2vtaktQlGFQyIVGT0o2+2EC4iQNGwjBIN9qdQ5Qg4mk4X4rW3vCClLtowE2FOFUxKDfNmiZci3ovKKRFPh4FK9q4Zbdr+lKKJiA13TcHR2dmLBgdmQ0GAS2MZaEowY+XbAk09IvgtYZGp16SyvFhaHcIUh645t8T9DBCcnz5zZ4hZLu3DzK2QlL1QQa0Y+pHiJKPSuOGj3PmZTheM5w2TwqBxnvBZOTk7G5gvXJ5Aelms8wnJURL+olSWcfEhf6gDoUXPMq6ZlqbzWU2pE+3hi4s6F68tfIj9cBMlikr7Z0/P0b/X0yIcUXsDCF1WhtL4OROHaXk+xlkbV0Cu732Nmhc4peaWSg73pA8dq5RkvO37ldUTfXCKZv2q45MkhvG87WQEzpCCUSvV1d9GONBy3lMvgKSwrZig8gjAietWY0QriylO2jIo4yVbOSb7KB/qmI9BPKjHpSSXYauRyn92Nq9/Kcrj13x3s3v8D481glQ/0raiNYgX9njPSBOImbrHZePl+tfFmc9sH+Xaoh8NjOKSVdDMhjjYzQLy+dFceH5+IJQf9VYXX4tROg4ZFU8m31M3mfPEqUoJqCGJfvWpo2xnNfdrhC28n06SCeSzNZxlvBINGRXCtKS7EY1uV6V7HWAm38y1cXaXsMcOCvr9ySPj+af7A1U2HJXHzVNvUXVLIGyPf+jV0pf8GHoN+TLAyPkidTCi2RpPApmnR0Bd1zGRaB/B8Oj2HSw7LLbVR1MmskW8RdEWVXSJf3JbpAMgRtc4IZoxTh9qotQjCasm46M0YX9pV1VmbpvRH5OwwgdRtSg2vKaAz/1dNKVtb17Y8DCL4HVufHxMOYl1/zTgIgiYvBnFKfaNp3YjTdPz3n9Na8//X7/k/O1tdwopcZlcAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-hover{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSEhIO6t4cXQAAAI1JREFUWMPtVjsWwCAIUx937NClR3Nx8JT2AlVATe0HRhUSSPTpnMXfw18txpQLAuzYN88SQIHXSJCWcU+0mgpocK5WWG1CGhnfaPfvmMBML5gHzAPmAfPAIycQUNpLa5EmUSqHhrz6S8aR0OaS9KBWEoh5Y8qlRYTbh5K4BbwGNgLuZ10t9IO1TvPPxwnW4GRq8RbypgAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-crosshair{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADEUlEQVRYR81XXVIaQRCeHqug8CXmBNETaE4gniDwIgpVspxAbxC9ATkBkCpQ8gKeQDiB5AQxNyAvUlrldr7eHxyGXZi1rMJ5opbp7m++7un+htSGF204vsoMoNXrlzSpfWa1oxQfhAegCZGaEtPorHo8znIoJwCt6+td8uk7ApUQCIHTF4BNAWzImq8ap6cP68CsBdDp9i9ZqXM7ML79g/EnCWD+jgMKENKqWT+tXK0CkQqgNRjs0OxpQIqKhoMxaG6/6JeRnK7T6yO2UvVqhYSlLX+ryORfgKn9ORDFIy7ky41yGcwsr0QAQfDH5zucOswx819fs4egI9OFCcD8DjBF7VNbEX0JzdWEt3NHSSASAcCxBDqMgt/623kvyTgNgNjJIfTjk4D4FqaJR1715MjmYAmA5Bx3AwUXQL+t105KaTlcBSC26XRvhjEIoLiq1yqXpr8FAGG16/ug4IT27fxBWu7EiQuAiImJpEMKE6nYM30uAIDDttSUOPfJP7JzbjPhAiBIh9QE67vIvoOi9WJfCwDavf40ulpjbCqmUf+W753ezURuh7Dg1SqflwAEHU6pgfyBq9Y4qx0LG++2fnZ/eUzcstmdM2AWH+jfc+liWdBJfSENf8Lifi3GVwC9mybOfi5dzatWVrbbLIHNva8p5h/16gkaFiLGGxbufkoE6XguwePiXLF3XmMfCUCUAqtKXU7sumd1CowOuJEi3Pg1FBpjitIGhyvVSfvmjci6ZR+rFQfDiPVE2jFYeICQ+PoewwjC5h7CZld6DBdyu6nDSKgzOyIMhmhK5TTqXYbRorZYM46TmpKAAOrGWwSJJekSB1yqJNOzp1Gs7YJ0EDeySDIMtJbQHh6Kf/uFfNFZkolJICRmz0P8DKWZuIG2g1hpok+Mk0Qphs0h9lzMtWRoNvYLuVImUWrmPJDlBKeRBDfATGOpHkhw670QSHWGLLckmF1PTsMlYqMJpyUbiO0weiMMceqLVTcotnMCYAYJJbcuQrVgZFP0NOOJYpr62pf3AmrHfWUG4O7abefGAfwH7EXSMJafOlYAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-lasso-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1ODBEQzAzNDQ0RTMxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ODBEQzAzMzQ0RTMxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTU0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7r0xDwAAAC9klEQVR42sSXb2hNcRjHz50rt1aslNQitSimq6VESW6SFMvFyJ+UknnhhVhkRIkX/iRbSPMnyt95sblZFvMC02patEKtaE3Km1taqWlxfZ/6Hj39+p17zr3nHJ76dO4953d+53ue5/k9v+ck2jseORHYRDAXpHmcDSar84McNwLegwHQa5soGULENFAPMmApH+5laXVcw9/fwA1wDYyFEbQI7FITl2vTQTPYDnaCj3KyooQJVoNu0BmBGG0zQc71YhAPzQEnGRY/+8R8+QGGVCjcXEqBZQy3tkrQBpYnfRL1EGgEEzzGSB48AT2gT+eCj8nLbQCbDU9lk0USto35Ytov0MWE7C8zTL3kKbiiFsQqWw7VcaBNzD2wGOwJIUabePeB+l9tCloI2i0xlnCsBAfAVyda69Pe1yGbBW4ywVwbB2fBRSc+0y8/5AqSpL0KpqqLo2BHRKHxMnnuFvW/xxUkD65VF76DBpb5OG0vy8rfFVtBrzQbA/f9AzFZ0KT+t0iKiKCNRt7kuMriNAlTq6pvkti33Eq9whh8N0YhUqlPcP9ybRjs1pvrfEv5j8NkyzgFatS5PNjKo+NurinjxtqIhcgedh3cN8SIZ9by6GhBI8YEkuBVHpNXlyAkQyHP2SloG7CJcQW9tOzu3VwFlVyFl8Bn8AZ8AMctnk1RxFHwDtyxCBG7DNbrMGlLoIWVXfaVR8f3ExQsDxf7wpeZwp067eMxaUsOg7fFBiUZsiPgjOX6pCL3zgDbAvZIp8HjIHF2K/VturDVqElhrJ8tShdbFqcUQW4rIK3FfrCpTGHS47wGHZbFEsjM9iPP8M3j/pYPOI+smgV8kZZyxRRr8sfZlh4LOI/0UReiiLPfV4e4/pwlB3571J3GsIKCfHWcp7cyLIzyNfGCHqkzxjaxzR0tV1CiUChYLzzszPndKx3mM0vyH+SqdRrW1UfnIT2Zh7hhtilZ4/wSV1AcOeRntmJXE2dS+9mg5VzV/xRkq1NjYSb8I8AAdTOa+zQjMmsAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-pan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhEODIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRTI5MDhEOTIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOEQ2MjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOEQ3MjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+OXzPwwAAAKNJREFUeNrsVsEKgCAM3cyj0f8fuwT9XdEHrLyVIOKYY4kPPDim0+fenF+3HZi4nhFec+Rs4oCPAALwjDVUsKMWA6DNAFX6YXcMYIERdRWIYBzAZbKYGsSKex6mVUAK8Za0TphgoFTbpSvlx3/I0EQOILO2i/ibegLk/mgVONM4JvuBVizgkGH3XTGrR/xlV0ycbO8qCeMN54wdtVQwSTFwCzAATqEZUn8W8W4AAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-xpan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSFS02n02YegAAAG5JREFUWMPtlDEOgDAMAx3Ezv9HFiR+By8ICwOKoBNWPPikrsk1bhrrtqOTCc1YwAIWsMCbQN7nbxLAITeBuRiyWR59QmYCOciMSXoNZd5AfGQejMxrfakIgnDryln7SP2ErOyHdb2GFrCABdoFLtthDii1Jv8gAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-ypan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AoSFS0IXiyF0QAAAHFJREFUWMPtlrEKgEAMQxN1PP9/dhH8Pj+gri5yGkrBI9laeuURrhBu+wFRJ4B2q6ksmaCrIUGL8CY6fVY5gGoH4uMch3OAHUfKryBFBjCAAQxgAAMYwAAGyEzFUkb8ZSqOl3PjfkICWB/6rLqCOcuBCwLtC1jsosQGAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-polygon-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMzNBREIxOTQ0MUExMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMzNBREIxQTQ0MUExMUU0QTE0ODk2NTE1M0M0MkZENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkUzM0FEQjE3NDQxQTExRTRBMTQ4OTY1MTUzQzQyRkQ0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkUzM0FEQjE4NDQxQTExRTRBMTQ4OTY1MTUzQzQyRkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xB9jgwAAAe5JREFUeNrsmL1LAzEYxu9KUVDBW8RBhRscXNSCoyA6uIl0kYqIXFcXBRdBoYpuDi7iYEFbkFZPpX6sin+BtAhODloHRZTaSkEUUZ/A23rUer275mjFBn40hJA8eZI3ea+iGjn4FL5LCkigHiQ5trM5HEPuQaFQcQhlVpy0GoFWpF2hmKe/lfaUWUHZYsRSM2Vn/9CSQ5LNu2Bq/LI7Qw6KgqSNc5gavywdqgiqRFklyv7doS7q7flrUbYImkG61FvmAU9gBvhLHWUrYIucfwdxM6kNL4fqwBzV18AHOAaNYJo1BsOqDFyiKAp68BA0Cx6BD4yDc8ql+0FC008Gp4HQtttOh6JgAVSDF/BM7WmdZyQCUct6giSTkdYCpqjup+0JghqwaXCMSYhibknFOFQFwnRIl0AbWKXtUSy42wuuIMplNcoewDB9XdyB2gLbYzQTiEKUYtShHjBK9RM6JxOgCZxxvCo2IIohOX/pwMJ1D3STCBWMgTeCZyYQI+I/3jKNmFuNe5d0zyRsSt68yojnOl+UeUEXuAc3dLew67WTs5gYzZUpvtxD3UEurINdam8HDeCIsyNMTB8cCeA344qCsyNrBbFOrfQPxQWHyCkkJhPR8/lcYoJe6XJj98GAXXkIE6IRI+S4lHXoS4ABAP0ljy6tE4wBAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-redo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wwGEDEBYlsi0wAAAYBJREFUWMPtl71Lw0AYxn9ppVAodKoUBGfHDtJJR0FRFAc5uMEbBFcdBcXi4G5Hhw5ZAkFQHASho07i0L+hUCi4KBSKQsHlLYSS0iQ0rcI9EMjHfTz3e58LCVhZWf1vOVEbup6fBTbkWAOyQEUet4AB8Ao0gabRajATg67nl4ErQAHFiON+AT5QM1p1UzHoen4eOAdOgELC8XtAHbg2WvWnZlCoPQLVKUXpDdhLQtMJMVcRc8sh7TvAA/AEfEj2kCyWgG1gH1ga03fHaNVKbFDIvYdM0AVqQGNS+GUzHUluyyEmV+OQdAID54CXkLI+AwdGq16clbueXwDugM2Qcq8brX6ijLMQOL8MMVc3Wp0mCZ0saMv1/BvZaENVZa6Lqb4Hk0pKfg/sjuzuFaNVZ1L/TNoGJbOHkr+hCsDZnyAYIHkM3AZu9YHFSdnOMDs1gHbgOj9S9tkTdD2/CHzGjIQzL4Lpfs2kTXKUnCU4hmQO+I5Cbl4ES/YfwcrKyiqefgEvB2gLTkQWKgAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-reset{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhFMDIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOUMzNDE3NDIwQkIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOERFMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOERGMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kFHGtQAAAm1JREFUeNrMmE9ExFEQx3+7ZYmlLrEsUUTHaEV0iESJVqduXaJr1xKlFB1bdYqoQ9GlFBFdikgpIhLd0rLqUsQqrW2G7+YZr+2993vaHT6H3583M795897M+0U2t3cCR6kh+kA3rtvx7IYoEGfEMSi4GIk4OJgg5ogRot5wzBvBhmaJnI2xqMW7dcQC8UCMWzgX4N1xjF2ALq8OctROiGkiHrhLHDpOoNOLg5xXF0Sn5lmWWCUGiBRRC1K4t4p3pLCuKyVnnXMwAUVJcT+HfFo3SH5ePGPI24TmA1Pl8rJcBGPEvsa5I6KVWDNcmQW824qxqiRhI+bi4IxmWjOYuneH/HvH2Ixmumd8bjNhhad8lxgSzrfp8jUa/L/wlI8KZ3h1T4bdB30Kb9zz4t6YbgurlIMBdoBHUQiGTBx8JYoKPqVe0ftFNInnW8J20SSCjRWM8k8E1S+TNfbZYyQ59yJEg0kjw1QyB42k1iI6ReXLfEWSK8iHJnJVsYqN8jtammuFc/FOr3juU7Ia+39uM7fiuq8aVrEqp+J6BPWzahw8IPLKdTPKUNU4yJ3Fhqb1inu0y7qeRNVYsWkWFkXPl0QZ8iVbohFmW0s2DmY1jSUX8mUPzi1rmoLML2eXsvsgR/FO3JtAix53nNZ96FDlDrasW35eKGniRRPJeywck9VdOjTdayL3Ahv5MC1/xy+Hp1Iq7BGHMHatjOEqMUgMlxmbVsaEOpMk4GSnp0VyCedyLtuMTlhRD1ZaPoRjeejoMf1HE7VUPkW04Jz7Ztm9rGHslM1Hhjl2xlCn+4muQP/77RyHdf799uli5FuAAQC+l5Sj5nEBdwAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-save{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMjFERDhENjIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMjFERDhENzIwQjIxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMyMUREOEQ0MjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMyMUREOEQ1MjBCMjExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+h5hT8AAAAKBJREFUeNpiWbhs5QcGBgZ+hgECTAwDDGAO+AjEjGj4Lw5xUrAAkl3ocr8IhQAzjT3PRu0o+I+EHw65NDDqgJHrABYC8t9JMIuRmiHACS2IKC0LOKH0X1JDAOTzs0BsBs3XlIKz5KSBRCA+RQXLjwNxNDlp4BoQm9Mo7fGPZsNRB4w6YNQBI94BfwfaAV9G08CoA9DbA/xUavkMvRAACDAAaPgYViexODkAAAAASUVORK5CYII=\\\")}.bk-root .bk-tool-icon-tap-select{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3NzIwRUFGMDYyMjE2ODExOTdBNUNBNjVEQTY5OTRDRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOTJBQzE0RDQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOTJBQzE0QzQ0RDUxMUU0QTE0ODk2NTE1M0M0MkZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTQ0QzIwMUM1RjIxNjgxMUE3QkFFMzhGRjc2NTI3MjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcyMEVBRjA2MjIxNjgxMTk3QTVDQTY1REE2OTk0Q0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eYZ88AAADLklEQVR42rSXf2TUYRzHv7tuGcfE6Vwb5zLSSjEj7Y9KWqfEmFZJP+yPMdKKmUrrn0iUfjhWlLFi6YfNrF+StBoTo39iYkTGco4xxxG59P7k/T2PT8/37nu3bx9ezvPj+zyf5/PreS78bGLS8SmrwE6yje3NHJsDBTALpknBz6JhH3NiYAB0gHqPOVv52wJ6QQ48BzdAttTioRJjdeA8mAHHS2xuk3p+M8M16ipVQE49Ds6CiFO9RLjGONf05QLx6wPQaBlbBlPgJVgkP0ETiIJ2sB/E1XfimjfgBOOlKDUqCGOcqBcQnw6BYW5YTo4wbvQhMmCfGRemC2rBiGXzWUb+kM/NRZ6CHWBM9ce5R61NgX6ayhSJ5EPlItlDRNkz4JbFHf06BkSzHjXxM+gDv1S/mPUo2AXWgt9UUHL/IVhS8yUV1/EbV3o4N+NaoE9Fu/i827K5pNYHnqAVJECShWmAaddpscYFFXwR7vnXBRGlnUN/L6kqKJlxnRUuDbaDBiL+vst5d4gpcpBrqk/2jIgCKVUolhntplzivHmwh4stGOPfwBWwl/2dpp8p7xjQZqFLiQJtauKkivYm+kzccpK57yXfOUe+P23JqAnVbhMFmlXntCWnxbT31am9ZJ4BJifsUmNTqt0cYhA5ypympPg7VkEKunPbVb8cIG+0kyHLJZNR7fUMooUKFHAPkfQo58VLK+RzwRDd4FdWG9mjpaAXzqkJa1R7kQttqEABWXMjOOxxVRfnhRm5URX1prk/0pQHwNcKlchZ+jdpC+hFdVqO0my9Hj5dkYgCn1Rfh/KdlNDHrJhPqlDih+IfBd6qwpOgEqYMsorJ2HtWxtagLJDn/W3KRfPOZhoeBJfZPgVeGKeKrkQBh5dLXl25Ny3pc4/1fkTdbvFqFQgbxWeYD0hXulhQ0pYiM1jG547fcbMQpVnHTZEn9W3ljsCzwHxCdVteNHIZvQa7/7cC7nV6zHIfyFP9EXjFa7YxKAVqPP4bxhhoLWW+z9JyCb6M/MREg59/RlmmXbmneIybB+YC/ay+yrffqEddDzwGvKxxDmzhc0tc80XVgblqFfgjwAAPubcGjAOl1wAAAABJRU5ErkJggg==\\\")}.bk-root .bk-tool-icon-undo{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wwGEAgO/GCy+AAAAXlJREFUWMPtlr1LQzEUxX+1ohQKuhQK/Sc6SCcdBUVQFCSQwQwOjjoKisXB3a5Ch7c8CA6iKAgddRKHjs6FQtGpUBCEoksK5RE179FPyIEs+bg59+TcJODh4THdSA0qUBDqNLBq2jKQBopmuA50gWegBtSUFN2REAxCnQfOAQEsOC5rAxooKylaQyEYhDoDnACHQDZhmA5QAS6UFJ8DI2hUuwVKA3LIC7BlUzOVgFwRuAcKluEmcAM8AB/Gexgv5oANYPuXtQ1Dsp6YoFHu1bJBCygD1f/Mb4pp3/g2b0lwqV/JVAxyc8CT5VgfgV0lRSdmslngGlizHPeKkuILYDZGzDMLuYqS4iiJ6UxC60GoL02h9VAye506KxiEugC8Rar1Dthxvc+SYsZx3nGEXBPYGzY5JwWNV96BTF/3gZLiahRPnYuCmxFyDaA6trc4CPV3zBiLSor2uD04eb8ZByWHqtz0K/iHkvO9W35SqjiKnP/ne3h4eIwOP9GxagtPmsh6AAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-wheel-pan{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AgeExIQIQWn0QAABMFJREFUWMPFmG9olVUcxz+/c7e76bw3CXxlyqppoQRFr/oDmkEGRlHU9M72R42LxqIIiszRnBhJUhSJ1QPL7S437/YihCTthaxeJARBIBtpYqH5ai9a+5Nz8z6/XnQeezzc+9znLlY/ONzn/p7zO+f7nPP7L739eYrQLUAzsAl4wP4HuAKcAfLAF0ChmHBLppEoyg0MEoeKrWOKzNsFXAQ+Ah4PgQVYDjwLDAE/2Q+qiOKCLTU3DHgRcAw4DNwaY70G4Etg/0KALSUTBvwpsJnKaQ/w1kKALSZbZX+zVmfDVAC6rb6eAa4CDwNPW7VZFJrbBXwPnKwUrKunpebmBgZpyTQivf35JVYfl4fejwFPWBDF6C7gK+D2EO8scB9QCIMoBaAl00ju2FCTqt+FUgV0tjZtzpWTM0CTA7YAPBUBFuAc8BgwFeLdY420LM1Mjlf3HB3YieoLKHeKSD2wrefo4E7P86qjZA3wpMPrsypQji4ABxzepjhga+vSG0VMM/CIiAiAiKwX0ebauvRGz/OqS7lGA9zr8HqKzHvZDop8XJjWlQNck0qtVjFdQIOqTgR8+9ygYrpqUqnVUSe8zOGNOv9fAz6w41Xn3SVrjAEtKwe4NZMZQQotiL9BlEMBX5RDiL8BKbS0ZjIjpeSrgKTDm3VcVtjPvgckgIOOga60z8k4LioA1NufvySW7+NfbosAGhXpSoEN6F176sQ1MKWwdr4++HpB1sxMjlfHAfw2ICXGwTibeZ5XXVuX3ogmcmHQcYOIUlibMNqdTKUeDUAbFpCSdakdKrIb9Lb5RzetF5WOZF1qRzjSUeHV7wM6Izc8NtRsTKIReFBVJ8Q3TSp6KXjf259HRNbfuGqTWNfbn9fwGqJmpQqLRcxDoHOITEcBft0a4B6H32HVJfo6fX+fDQiISBrhTYkW2SIiW27iyN/6F/hp9f36qjL7doQMMPiIg/yPVBVjTocN138A71ewdqeqbhOR9ao6IcohH//yTS7KJNYBW2zgyKv6wze7MLNChXYRSavqMHCkKu7mlZ5Ea9PmXM/RwcWgSaBBjd/flsmMhD2EqmqgBqr+sDGJT1wvgZrtqpxVlXzb1sbcgnqJ2enxblF9B+S3+efE8quK7J+dHu+OqxLzpmw2O+d53qmaVOqXVud0Y9ZwI599PrTj+p+//5zNZucWHHAAGhiZb8Wx/fnnRl2jm3VygGSFay4rkYdERrDAzwZ+y2BW9A4MrL2RIEXkEmMOb00FYFc6pdJYLLCayKHmtArtN/hCO2pOo4lcALwU4B8dXnMFgN2535Sr6a5NTp4X9TuBCyKS5p/AkAYuiPqd1yYnz0cBPuHw2mzzJE6Z/4bDO1FOqDa1dG5meuKUivT5yrchFzesKn0z0xOnAgMrFTj6bNUb6GICOF6mCG0AvgaWOCXTyTjXUptaOnfx3KhXv+ruOUWCXPpI29bGXJxIN2UDw2HHkL4DPFvmB1d9v+1dtDu6C/BSsdZVKe+wd+9e37YRuucTmj8GNtg2FKGT3mVHOToQ93Tj9N7iVhwttsFXKX0I7P6vkp8w4KvAM3bzqRiyV2zi8spCtKcqqekOAHfYLO2HIu2rk8CLwCqr3xVd/b9RB4C/ACaltuFyjACwAAAAAElFTkSuQmCC\\\")}.bk-root .bk-tool-icon-wheel-zoom{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAgCAYAAABpRpp6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRTI5MDhEQzIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRTI5MDhERDIwQjUxMUU0ODREQUYzNzM5QTM2MjBCRSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJFMjkwOERBMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJFMjkwOERCMjBCNTExRTQ4NERBRjM3MzlBMzYyMEJFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+sFLapAAAA8xJREFUeNq8WH9k1VEU/+67ecTYxKM8xlJiifKIMUqUKMvy1CqbEmUxJZbSlGXTLBuJpYi18dpqStOzacT+WcTXpkiRUjziETEeY9bnzHm5O53vj/te7fDx3r3fc+/9fM/3nHPPvWWP0mOOIlVAC3AQqOc2SRZ4A9Cg58CSNrj1+FEnSIYfPynHTyOQArYCO/jRPPAJGAcmMM9f87vKfG3AF+AucMAgS5LgRZ4CH/mFrARkieAs8Aw4ASSBckaS++jZLOv6El4HjAKDwPoIa28GXgLdFmQv4WcO2BVBnXTmeIxK+D5wzLGXa8D1CGT78NPPhjFlGnjAmBbPSLefx65IBf+eZZ81hfznIfsr+W0eaACa2G3MhbuAt8CUD1kyRIfongDa4affhW4Nu2Oj0d2Bfg+6Y2UIukr2x4ShkAMOMQlNyLcmgVqj7z2wk17UDDosFOOYMOdPQ+dkyBcZFkb8DGxz2ckTwrKHA8g6HMn7gQWjbzsHqZSUmJ8sej6Cq7WzrhkzKVeYnmSEXSBM6I17RZ+WNWRfJ6z7K2xy1umUc7lGDizIkDL+AsNRXs6U3YpOUrRfWwS01K2noIuLzg+iTcFSiFLKlQPi8+aNAIwri24QlstaEM6JdoIsHBOdiyJl9RntfiXazUljEdJb3IKw1F10Q/Krtin0KaSD5Ido77MYK10sG0S4ByjzwW2LRT3pYlxLRBFpGM91/r9kRJuC/FbEnVEmhEwQYRqw7IMuC8LjnAKllSeBhEI0Qc8U636luWinWxYPqoFCnuxmX16VR9ldCvINqOH/NK5alpe8NY8qL5Nnl/GMFJhU6g2SZtqaw1xCkrss2pGEFhLp0CxuGow83+BDdoDn+FP8hJFeYusNlODL9LI/ubKLRRxDKfamuaNWRBx4o9TI49NDD9yjSdn9NKFa5jTGrdrIKpw1FJCtU8h6Rp/HwbVyBNOOSGtKGHJKtGdAao/NBO4aWrecS9mwQiuU8KLoi1nOEfepQ6TsFXVxnnO0NWFZEdVZjK8RaSgXoHtGbihwh4ViCM+LvhaL8VJ3xscdqnwOCk4xhDNKYNRHPOZfCakbzGOS+SWyloX8KsIj4lNScLwIuTsgsq+ASnFkmor4JdJayopKeEHZGOJ8OzMoatIkF0XvxIm5cGhcUtyhVqlrh4rNNoU8fI+jOCUs3cYIk14L63py9yo2D7fyBZ+t3AGuWgTmiFOCuCIvHuHFo6QbCpxm4GLIxZ+880j/K8Lm593EVZqnXF9N8UXIFt7zgwoeunDZCJzju44M+nKlEP4twAAD1RclkNDukAAAAABJRU5ErkJggg==\\\")}.bk-root .bk-grid-row,.bk-root .bk-grid-column{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap}.bk-root .bk-grid-row>*,.bk-root .bk-grid-column>*{flex-shrink:0;-webkit-flex-shrink:0}.bk-root .bk-grid-row{flex-direction:row;-webkit-flex-direction:row}.bk-root .bk-grid-column{flex-direction:column;-webkit-flex-direction:column}.bk-root .bk-canvas-wrapper{position:relative;font-size:12pt}.bk-root .bk-canvas,.bk-root .bk-canvas-overlays,.bk-root .bk-canvas-events{position:absolute;top:0;left:0;width:100%;height:100%}.bk-root .bk-canvas-map{position:absolute;border:0}.bk-root .bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat}.bk-root .bk-logo.bk-grey{filter:url(\\\"data:image/svg+xml;utf8,<svg xmlns=\\\\'http://www.w3.org/2000/svg\\\\'><filter id=\\\\'grayscale\\\\'><feColorMatrix type=\\\\'matrix\\\\' values=\\\\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\\\\'/></filter></svg>#grayscale\\\");filter:gray;-webkit-filter:grayscale(100%)}.bk-root .bk-logo-notebook{display:inline-block;vertical-align:middle;margin-right:5px}.bk-root .bk-logo-small{width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==)}.bk-root .bk-toolbar,.bk-root .bk-toolbar *{box-sizing:border-box;margin:0;padding:0}.bk-root .bk-toolbar,.bk-root .bk-button-bar{display:flex;display:-webkit-flex;flex-wrap:nowrap;-webkit-flex-wrap:nowrap;align-items:center;-webkit-align-items:center;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.bk-root .bk-toolbar .bk-logo{flex-shrink:0;-webkit-flex-shrink:0}.bk-root .bk-toolbar-above,.bk-root .bk-toolbar-below{flex-direction:row;-webkit-flex-direction:row;justify-content:flex-end;-webkit-justify-content:flex-end}.bk-root .bk-toolbar-above .bk-button-bar,.bk-root .bk-toolbar-below .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row}.bk-root .bk-toolbar-above .bk-logo,.bk-root .bk-toolbar-below .bk-logo{order:1;-webkit-order:1;margin-left:5px}.bk-root .bk-toolbar-left,.bk-root .bk-toolbar-right{flex-direction:column;-webkit-flex-direction:column;justify-content:flex-start;-webkit-justify-content:flex-start}.bk-root .bk-toolbar-left .bk-button-bar,.bk-root .bk-toolbar-right .bk-button-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column}.bk-root .bk-toolbar-left .bk-logo,.bk-root .bk-toolbar-right .bk-logo{order:0;-webkit-order:0;margin-bottom:5px}.bk-root .bk-toolbar-button{width:30px;height:30px;background-size:60%;background-color:transparent;background-repeat:no-repeat;background-position:center center}.bk-root .bk-toolbar-button:hover{background-color:#f9f9f9}.bk-root .bk-toolbar-button:focus{outline:0}.bk-root .bk-toolbar-button::-moz-focus-inner{border:0}.bk-root .bk-toolbar-above .bk-toolbar-button{border-bottom:2px solid transparent}.bk-root .bk-toolbar-above .bk-toolbar-button.bk-active{border-bottom-color:#26aae1}.bk-root .bk-toolbar-below .bk-toolbar-button{border-top:2px solid transparent}.bk-root .bk-toolbar-below .bk-toolbar-button.bk-active{border-top-color:#26aae1}.bk-root .bk-toolbar-right .bk-toolbar-button{border-left:2px solid transparent}.bk-root .bk-toolbar-right .bk-toolbar-button.bk-active{border-left-color:#26aae1}.bk-root .bk-toolbar-left .bk-toolbar-button{border-right:2px solid transparent}.bk-root .bk-toolbar-left .bk-toolbar-button.bk-active{border-right-color:#26aae1}.bk-root .bk-button-bar+.bk-button-bar:before{content:\\\" \\\";display:inline-block;background-color:lightgray}.bk-root .bk-toolbar-above .bk-button-bar+.bk-button-bar:before,.bk-root .bk-toolbar-below .bk-button-bar+.bk-button-bar:before{height:10px;width:1px}.bk-root .bk-toolbar-left .bk-button-bar+.bk-button-bar:before,.bk-root .bk-toolbar-right .bk-button-bar+.bk-button-bar:before{height:1px;width:10px}.bk-root .bk-tooltip{font-family:\\\"HelveticaNeue-Light\\\",\\\"Helvetica Neue Light\\\",\\\"Helvetica Neue\\\",Helvetica,Arial,\\\"Lucida Grande\\\",sans-serif;font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid #e5e5e5;background-color:white;pointer-events:none;opacity:.95}.bk-root .bk-tooltip>div:not(:first-child){margin-top:5px;border-top:#e5e5e5 1px dashed}.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\\\" \\\";display:block;left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-left::before{left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\\\" \\\";display:block;right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-right::after{right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-above::before{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\\\" \\\";display:block;top:-10px;border-bottom-width:10px;border-bottom-color:#909599}.bk-root .bk-tooltip.bk-below::after{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\\\" \\\";display:block;bottom:-10px;border-top-width:10px;border-top-color:#909599}.bk-root .bk-tooltip-row-label{text-align:right;color:#26aae1}.bk-root .bk-tooltip-row-value{color:default}.bk-root .bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#ddd solid 1px;display:inline-block}.bk-root .bk-plotdiv{position:relative;width:100%;height:100%}.rendered_html .bk-root .bk-tooltip table,.rendered_html .bk-root .bk-tooltip tr,.rendered_html .bk-root .bk-tooltip th,.rendered_html .bk-root .bk-tooltip td{border:0;padding:1px}//# sourceMappingURL=bokeh.min.css.map\\n\\n/* END bokeh.min.css */\");\n      console.log(\"Bokeh: injecting raw CSS\");\n      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh-widgets.min.css */\\n@charset \\\"UTF-8\\\";.bk-root{/*!\\n * Pikaday\\n * Copyright \\u00a9 2014 David Bushell | BSD & MIT license | http://dbushell.com/\\n */}.bk-root .bk-noUi-target,.bk-root .bk-noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-target{position:relative;direction:ltr}.bk-root .bk-noUi-base{width:100%;height:100%;position:relative;z-index:1}.bk-root .bk-noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.bk-root .bk-noUi-origin{position:absolute;height:0;width:0}.bk-root .bk-noUi-handle{position:relative;z-index:1}.bk-root .bk-noUi-state-tap .bk-noUi-connect,.bk-root .bk-noUi-state-tap .bk-noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.bk-root .bk-noUi-state-drag *{cursor:inherit !important}.bk-root .bk-noUi-base,.bk-root .bk-noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bk-root .bk-noUi-horizontal{height:18px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.bk-root .bk-noUi-vertical{width:18px}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.bk-root .bk-noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #BBB}.bk-root .bk-noUi-connect{background:#3fb8af;border-radius:4px;box-shadow:inset 0 0 3px rgba(51,51,51,0.45);-webkit-transition:background 450ms;transition:background 450ms}.bk-root .bk-noUi-draggable{cursor:ew-resize}.bk-root .bk-noUi-vertical .bk-noUi-draggable{cursor:ns-resize}.bk-root .bk-noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #ebebeb,0 3px 6px -3px #BBB}.bk-root .bk-noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.bk-root .bk-noUi-handle:before,.bk-root .bk-noUi-handle:after{content:\\\"\\\";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.bk-root .bk-noUi-handle:after{left:17px}.bk-root .bk-noUi-vertical .bk-noUi-handle:before,.bk-root .bk-noUi-vertical .bk-noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.bk-root .bk-noUi-vertical .bk-noUi-handle:after{top:17px}.bk-root [disabled] .bk-noUi-connect{background:#b8b8b8}.bk-root [disabled].bk-noUi-target,.bk-root [disabled].bk-noUi-handle,.bk-root [disabled] .bk-noUi-handle{cursor:not-allowed}.bk-root .bk-noUi-pips,.bk-root .bk-noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-pips{position:absolute;color:#999}.bk-root .bk-noUi-value{position:absolute;white-space:nowrap;text-align:center}.bk-root .bk-noUi-value-sub{color:#ccc;font-size:10px}.bk-root .bk-noUi-marker{position:absolute;background:#CCC}.bk-root .bk-noUi-marker-sub{background:#AAA}.bk-root .bk-noUi-marker-large{background:#AAA}.bk-root .bk-noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.bk-root .bk-noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker{margin-left:-1px;width:2px;height:5px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-sub{height:10px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-large{height:15px}.bk-root .bk-noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.bk-root .bk-noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker{width:5px;height:2px;margin-top:-1px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-sub{width:10px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-large{width:15px}.bk-root .bk-noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.bk-root .bk-noUi-horizontal .bk-noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.bk-root .bk-noUi-vertical .bk-noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.bk-root .bk-noUi-handle{cursor:grab;cursor:-webkit-grab}.bk-root .bk-noUi-handle.bk-noUi-active{cursor:grabbing;cursor:-webkit-grabbing}.bk-root .bk-noUi-tooltip{display:none;white-space:nowrap}.bk-root .bk-noUi-handle:hover .bk-noUi-tooltip{display:block}.bk-root .bk-noUi-horizontal{width:100%;height:10px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:14px;height:18px;left:-7px;top:-5px}.bk-root .bk-noUi-vertical{width:10px;height:100%}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:18px;height:14px;left:-5px;top:-7px}.bk-root .bk-noUi-handle:after,.bk-root .bk-noUi-handle:before{display:none}.bk-root .bk-noUi-connect{box-shadow:none}.bk-root fieldset{padding:0;margin:0;border:0;min-width:0}.bk-root legend{display:block;width:100%;padding:0;margin-bottom:17px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.bk-root label{display:inline-block;margin-bottom:5px}.bk-root input[type=\\\"search\\\"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root input[type=\\\"radio\\\"],.bk-root input[type=\\\"checkbox\\\"]{margin:4px 0 0;margin-top:1px \\\\9;line-height:normal}.bk-root input[type=\\\"file\\\"]{display:block}.bk-root input[type=\\\"range\\\"]{display:block;width:100%}.bk-root select[multiple],.bk-root select[size]{height:auto}.bk-root input[type=\\\"file\\\"]:focus,.bk-root input[type=\\\"radio\\\"]:focus,.bk-root input[type=\\\"checkbox\\\"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root output{display:block;padding-top:7px;line-height:1.42857143;color:#555}.bk-root .bk-bs-form-control{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-bs-form-control::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-bs-form-control:-ms-input-placeholder{color:#999}.bk-root .bk-bs-form-control::-webkit-input-placeholder{color:#999}.bk-root .bk-bs-form-control[disabled],.bk-root .bk-bs-form-control[readonly],fieldset[disabled] .bk-root .bk-bs-form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-bs-form-control{height:auto}.bk-root input[type=\\\"search\\\"]{-webkit-appearance:none}.bk-root input[type=\\\"date\\\"]{line-height:31px}.bk-root .bk-bs-form-group{margin-bottom:15px}.bk-root .bk-bs-radio,.bk-root .bk-bs-checkbox{display:block;min-height:17px;margin-top:10px;margin-bottom:10px;padding-left:20px}.bk-root .bk-bs-radio label,.bk-root .bk-bs-checkbox label{display:inline;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio input[type=\\\"radio\\\"],.bk-root .bk-bs-radio-inline input[type=\\\"radio\\\"],.bk-root .bk-bs-checkbox input[type=\\\"checkbox\\\"],.bk-root .bk-bs-checkbox-inline input[type=\\\"checkbox\\\"]{float:left;margin-left:-20px}.bk-root .bk-bs-radio+.bk-bs-radio,.bk-root .bk-bs-checkbox+.bk-bs-checkbox{margin-top:-5px}.bk-root .bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio-inline+.bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline+.bk-bs-checkbox-inline{margin-top:0;margin-left:10px}.bk-root input[type=\\\"radio\\\"][disabled],.bk-root input[type=\\\"checkbox\\\"][disabled],.bk-root .bk-bs-radio[disabled],.bk-root .bk-bs-radio-inline[disabled],.bk-root .bk-bs-checkbox[disabled],.bk-root .bk-bs-checkbox-inline[disabled],fieldset[disabled] .bk-root input[type=\\\"radio\\\"],fieldset[disabled] .bk-root input[type=\\\"checkbox\\\"],fieldset[disabled] .bk-root .bk-bs-radio,fieldset[disabled] .bk-root .bk-bs-radio-inline,fieldset[disabled] .bk-root .bk-bs-checkbox,fieldset[disabled] .bk-root .bk-bs-checkbox-inline{cursor:not-allowed}.bk-root .bk-bs-input-sm{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-sm{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-sm,select[multiple].bk-root .bk-bs-input-sm{height:auto}.bk-root .bk-bs-input-lg{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-lg{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-lg,select[multiple].bk-root .bk-bs-input-lg{height:auto}.bk-root .bk-bs-has-feedback{position:relative}.bk-root .bk-bs-has-feedback .bk-bs-form-control{padding-right:38.75px}.bk-root .bk-bs-has-feedback .bk-bs-form-control-feedback{position:absolute;top:22px;right:0;display:block;width:31px;height:31px;line-height:31px;text-align:center}.bk-root .bk-bs-has-success .bk-bs-help-block,.bk-root .bk-bs-has-success .bk-bs-control-label,.bk-root .bk-bs-has-success .bk-bs-radio,.bk-root .bk-bs-has-success .bk-bs-checkbox,.bk-root .bk-bs-has-success .bk-bs-radio-inline,.bk-root .bk-bs-has-success .bk-bs-checkbox-inline{color:#3c763d}.bk-root .bk-bs-has-success .bk-bs-form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-success .bk-bs-form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.bk-root .bk-bs-has-success .bk-bs-input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.bk-root .bk-bs-has-success .bk-bs-form-control-feedback{color:#3c763d}.bk-root .bk-bs-has-warning .bk-bs-help-block,.bk-root .bk-bs-has-warning .bk-bs-control-label,.bk-root .bk-bs-has-warning .bk-bs-radio,.bk-root .bk-bs-has-warning .bk-bs-checkbox,.bk-root .bk-bs-has-warning .bk-bs-radio-inline,.bk-root .bk-bs-has-warning .bk-bs-checkbox-inline{color:#8a6d3b}.bk-root .bk-bs-has-warning .bk-bs-form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-warning .bk-bs-form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.bk-root .bk-bs-has-warning .bk-bs-input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.bk-root .bk-bs-has-warning .bk-bs-form-control-feedback{color:#8a6d3b}.bk-root .bk-bs-has-error .bk-bs-help-block,.bk-root .bk-bs-has-error .bk-bs-control-label,.bk-root .bk-bs-has-error .bk-bs-radio,.bk-root .bk-bs-has-error .bk-bs-checkbox,.bk-root .bk-bs-has-error .bk-bs-radio-inline,.bk-root .bk-bs-has-error .bk-bs-checkbox-inline{color:#a94442}.bk-root .bk-bs-has-error .bk-bs-form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-error .bk-bs-form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.bk-root .bk-bs-has-error .bk-bs-input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.bk-root .bk-bs-has-error .bk-bs-form-control-feedback{color:#a94442}.bk-root .bk-bs-form-control-static{margin-bottom:0}.bk-root .bk-bs-help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.bk-root .bk-bs-form-inline .bk-bs-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-form-control{display:inline-block;width:auto;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-input-group>.bk-bs-form-control{width:100%}.bk-root .bk-bs-form-inline .bk-bs-control-label{margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio,.bk-root .bk-bs-form-inline .bk-bs-checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio input[type=\\\"radio\\\"],.bk-root .bk-bs-form-inline .bk-bs-checkbox input[type=\\\"checkbox\\\"]{float:none;margin-left:0}.bk-root .bk-bs-form-inline .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0}}.bk-root .bk-bs-form-horizontal .bk-bs-control-label,.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox,.bk-root .bk-bs-form-horizontal .bk-bs-radio-inline,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox{min-height:24px}.bk-root .bk-bs-form-horizontal .bk-bs-form-group{margin-left:-15px;margin-right:-15px}.bk-root .bk-bs-form-horizontal .bk-bs-form-control-static{padding-top:7px}@media(min-width:768px){.bk-root .bk-bs-form-horizontal .bk-bs-control-label{text-align:right}}.bk-root .bk-bs-form-horizontal .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0;right:15px}.bk-root .bk-bs-btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bk-root .bk-bs-btn:focus,.bk-root .bk-bs-btn:active:focus,.bk-root .bk-bs-btn.bk-bs-active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root .bk-bs-btn:hover,.bk-root .bk-bs-btn:focus{color:#333;text-decoration:none}.bk-root .bk-bs-btn:active,.bk-root .bk-bs-btn.bk-bs-active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn.bk-bs-disabled,.bk-root .bk-bs-btn[disabled],fieldset[disabled] .bk-root .bk-bs-btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-default{color:#333;background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{background-image:none}.bk-root .bk-bs-btn-default.bk-bs-disabled,.bk-root .bk-bs-btn-default[disabled],fieldset[disabled] .bk-root .bk-bs-btn-default,.bk-root .bk-bs-btn-default.bk-bs-disabled:hover,.bk-root .bk-bs-btn-default[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default.bk-bs-disabled:focus,.bk-root .bk-bs-btn-default[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default.bk-bs-disabled:active,.bk-root .bk-bs-btn-default[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-default[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-default.bk-bs-active{background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default .bk-bs-badge{color:#fff;background-color:#333}.bk-root .bk-bs-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{background-image:none}.bk-root .bk-bs-btn-primary.bk-bs-disabled,.bk-root .bk-bs-btn-primary[disabled],fieldset[disabled] .bk-root .bk-bs-btn-primary,.bk-root .bk-bs-btn-primary.bk-bs-disabled:hover,.bk-root .bk-bs-btn-primary[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary.bk-bs-disabled:focus,.bk-root .bk-bs-btn-primary[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary.bk-bs-disabled:active,.bk-root .bk-bs-btn-primary[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-primary[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-primary.bk-bs-active{background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary .bk-bs-badge{color:#428bca;background-color:#fff}.bk-root .bk-bs-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{color:#fff;background-color:#47a447;border-color:#398439}.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{background-image:none}.bk-root .bk-bs-btn-success.bk-bs-disabled,.bk-root .bk-bs-btn-success[disabled],fieldset[disabled] .bk-root .bk-bs-btn-success,.bk-root .bk-bs-btn-success.bk-bs-disabled:hover,.bk-root .bk-bs-btn-success[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success.bk-bs-disabled:focus,.bk-root .bk-bs-btn-success[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success.bk-bs-disabled:active,.bk-root .bk-bs-btn-success[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-success[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-success.bk-bs-active{background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success .bk-bs-badge{color:#5cb85c;background-color:#fff}.bk-root .bk-bs-btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{background-image:none}.bk-root .bk-bs-btn-info.bk-bs-disabled,.bk-root .bk-bs-btn-info[disabled],fieldset[disabled] .bk-root .bk-bs-btn-info,.bk-root .bk-bs-btn-info.bk-bs-disabled:hover,.bk-root .bk-bs-btn-info[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info.bk-bs-disabled:focus,.bk-root .bk-bs-btn-info[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info.bk-bs-disabled:active,.bk-root .bk-bs-btn-info[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-info[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-info.bk-bs-active{background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info .bk-bs-badge{color:#5bc0de;background-color:#fff}.bk-root .bk-bs-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{background-image:none}.bk-root .bk-bs-btn-warning.bk-bs-disabled,.bk-root .bk-bs-btn-warning[disabled],fieldset[disabled] .bk-root .bk-bs-btn-warning,.bk-root .bk-bs-btn-warning.bk-bs-disabled:hover,.bk-root .bk-bs-btn-warning[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning.bk-bs-disabled:focus,.bk-root .bk-bs-btn-warning[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning.bk-bs-disabled:active,.bk-root .bk-bs-btn-warning[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-warning[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-warning.bk-bs-active{background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning .bk-bs-badge{color:#f0ad4e;background-color:#fff}.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{background-image:none}.bk-root .bk-bs-btn-danger.bk-bs-disabled,.bk-root .bk-bs-btn-danger[disabled],fieldset[disabled] .bk-root .bk-bs-btn-danger,.bk-root .bk-bs-btn-danger.bk-bs-disabled:hover,.bk-root .bk-bs-btn-danger[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger.bk-bs-disabled:focus,.bk-root .bk-bs-btn-danger[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger.bk-bs-disabled:active,.bk-root .bk-bs-btn-danger[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-danger[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-danger.bk-bs-active{background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger .bk-bs-badge{color:#d9534f;background-color:#fff}.bk-root .bk-bs-btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:active,.bk-root .bk-bs-btn-link[disabled],fieldset[disabled] .bk-root .bk-bs-btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus,.bk-root .bk-bs-btn-link:active{border-color:transparent}.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.bk-root .bk-bs-btn-link[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-link:focus{color:#999;text-decoration:none}.bk-root .bk-bs-btn-lg{padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}.bk-root .bk-bs-btn-sm{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-xs{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-block{display:block;width:100%;padding-left:0;padding-right:0}.bk-root .bk-bs-btn-block+.bk-bs-btn-block{margin-top:5px}.bk-root input[type=\\\"submit\\\"].bk-bs-btn-block,.bk-root input[type=\\\"reset\\\"].bk-bs-btn-block,.bk-root input[type=\\\"button\\\"].bk-bs-btn-block{width:100%}.bk-root .bk-bs-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.bk-root .bk-bs-dropdown{position:relative}.bk-root .bk-bs-dropdown-toggle:focus{outline:0}.bk-root .bk-bs-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:12px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bk-root .bk-bs-dropdown-menu.bk-bs-pull-right{right:0;left:auto}.bk-root .bk-bs-dropdown-menu .bk-bs-divider{height:1px;margin:7.5px 0;overflow:hidden;background-color:#e5e5e5}.bk-root .bk-bs-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.bk-root .bk-bs-dropdown-menu>li>a:hover,.bk-root .bk-bs-dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{color:#999}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.bk-bs-Microsoft.bk-bs-gradient(enabled = false);cursor:not-allowed}.bk-root .bk-bs-open>.bk-bs-dropdown-menu{display:block}.bk-root .bk-bs-open>a{outline:0}.bk-root .bk-bs-dropdown-menu-right{left:auto;right:0}.bk-root .bk-bs-dropdown-menu-left{left:0;right:auto}.bk-root .bk-bs-dropdown-header{display:block;padding:3px 20px;font-size:11px;line-height:1.42857143;color:#999}.bk-root .bk-bs-dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.bk-root .bk-bs-pull-right>.bk-bs-dropdown-menu{right:0;left:auto}.bk-root .bk-bs-dropup .bk-bs-caret,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-caret{border-top:0;border-bottom:4px solid;content:\\\"\\\"}.bk-root .bk-bs-dropup .bk-bs-dropdown-menu,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu{left:auto;right:0}.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu-left{left:0;right:auto}}.bk-root .bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.bk-root .bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn{position:relative;float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group>.bk-bs-btn:active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:active,.bk-root .bk-bs-btn-group>.bk-bs-btn.bk-bs-active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn.bk-bs-active{z-index:2}.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus{outline:0}.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-btn-toolbar{margin-left:-5px}.bk-root .bk-bs-btn-toolbar .bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar .bk-bs-input-group{float:left}.bk-root .bk-bs-btn-toolbar>.bk-bs-btn,.bk-root .bk-bs-btn-toolbar>.bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar>.bk-bs-input-group{margin-left:5px}.bk-root .bk-bs-btn-group>.bk-bs-btn:not(:first-child):not(:last-child):not(.bk-bs-dropdown-toggle){border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child{margin-left:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child:not(:last-child):not(.bk-bs-dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:last-child:not(:first-child),.bk-root .bk-bs-btn-group>.bk-bs-dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group{float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:last-child>.bk-bs-btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group .bk-bs-dropdown-toggle:active,.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{outline:0}.bk-root .bk-bs-btn-group>.bk-bs-btn+.bk-bs-dropdown-toggle{padding-left:8px;padding-right:8px}.bk-root .bk-bs-btn-group>.bk-bs-btn-lg+.bk-bs-dropdown-toggle{padding-left:12px;padding-right:12px}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle.bk-bs-btn-link{-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn .bk-bs-caret{margin-left:0}.bk-root .bk-bs-btn-lg .bk-bs-caret{border-width:5px 5px 0;border-bottom-width:0}.bk-root .bk-bs-dropup .bk-bs-btn-lg .bk-bs-caret{border-width:0 5px 5px}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{display:block;float:none;width:100%;max-width:100%}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{float:none}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn-group{margin-top:-1px;margin-left:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:last-child:not(:first-child)>.bk-bs-btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn,.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group{float:none;display:table-cell;width:1%}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group .bk-bs-btn{width:100%}.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\\\"radio\\\"],.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\\\"checkbox\\\"]{display:none}.bk-root .bk-bs-input-group{position:relative;display:table;border-collapse:separate}.bk-root .bk-bs-input-group[class*=\\\"col-\\\"]{float:none;padding-left:0;padding-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn,.bk-root .bk-bs-input-group .bk-bs-form-control{display:table-cell}.bk-root .bk-bs-input-group-addon:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group-btn:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group .bk-bs-form-control:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.bk-root .bk-bs-input-group-addon{padding:6px 12px;font-size:12px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-input-group-addon.bk-bs-input-sm{padding:5px 10px;font-size:11px;border-radius:3px}.bk-root .bk-bs-input-group-addon.bk-bs-input-lg{padding:10px 16px;font-size:15px;border-radius:6px}.bk-root .bk-bs-input-group-addon input[type=\\\"radio\\\"],.bk-root .bk-bs-input-group-addon input[type=\\\"checkbox\\\"]{margin-top:0}.bk-root .bk-bs-input-group .bk-bs-form-control:first-child,.bk-root .bk-bs-input-group-addon:first-child,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn:not(:last-child):not(.bk-bs-dropdown-toggle),.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group:not(:last-child)>.bk-bs-btn{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-input-group-addon:first-child{border-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control:last-child,.bk-root .bk-bs-input-group-addon:last-child,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn:not(:first-child),.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group:not(:first-child)>.bk-bs-btn{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-input-group-addon:last-child{border-left:0}.bk-root .bk-bs-input-group-btn{position:relative;font-size:0;white-space:nowrap}.bk-root .bk-bs-input-group-btn>.bk-bs-btn{position:relative}.bk-root .bk-bs-input-group-btn>.bk-bs-btn+.bk-bs-btn{margin-left:-1px}.bk-root .bk-bs-input-group-btn>.bk-bs-btn:hover,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:focus,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:active{z-index:2}.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group{margin-right:-1px}.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-nav{margin-bottom:0;padding-left:0;list-style:none}.bk-root .bk-bs-nav>li{position:relative;display:block}.bk-root .bk-bs-nav>li>span{position:relative;display:block;padding:10px 15px}.bk-root .bk-bs-nav>li>span:hover,.bk-root .bk-bs-nav>li>span:focus{text-decoration:none;background-color:#eee}.bk-root .bk-bs-nav>li.bk-bs-disabled>span{color:#999}.bk-root .bk-bs-nav>li.bk-bs-disabled>span:hover,.bk-root .bk-bs-nav>li.bk-bs-disabled>span:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.bk-root .bk-bs-nav-tabs{border-bottom:1px solid #ddd}.bk-root .bk-bs-nav-tabs>li{float:left;margin-bottom:-1px}.bk-root .bk-bs-nav-tabs>li>span{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.bk-root .bk-bs-nav-tabs>li>span:hover{border-color:#eee #eee #ddd;cursor:pointer}.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:hover,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.bk-root .bk-bs-tab-content>.bk-bs-tab-pane{display:none}.bk-root .bk-bs-tab-content>.bk-bs-active{display:block}.bk-root .pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif}.bk-root .pika-single:before,.bk-root .pika-single:after{content:\\\" \\\";display:table}.bk-root .pika-single:after{clear:both}.bk-root .pika-single{*zoom:1}.bk-root .pika-single.is-hidden{display:none}.bk-root .pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5)}.bk-root .pika-lendar{float:left;width:240px;margin:8px}.bk-root .pika-title{position:relative;text-align:center}.bk-root .pika-label{display:inline-block;*display:inline;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff}.bk-root .pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;filter:alpha(opacity=0);opacity:0}.bk-root .pika-prev,.bk-root .pika-next{display:block;cursor:pointer;position:relative;outline:0;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5;*position:absolute;*top:0}.bk-root .pika-prev:hover,.bk-root .pika-next:hover{opacity:1}.bk-root .pika-prev,.bk-root .is-rtl .pika-next{float:left;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');*left:0}.bk-root .pika-next,.bk-root .is-rtl .pika-prev{float:right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');*right:0}.bk-root .pika-prev.is-disabled,.bk-root .pika-next.is-disabled{cursor:default;opacity:.2}.bk-root .pika-select{display:inline-block;*display:inline}.bk-root .pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.bk-root .pika-table th,.bk-root .pika-table td{width:14.285714285714286%;padding:0}.bk-root .pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:bold;text-align:center}.bk-root .pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:0;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5}.bk-root .pika-week{font-size:11px;color:#999}.bk-root .is-today .pika-button{color:#3af;font-weight:bold}.bk-root .is-selected .pika-button,.bk-root .has-event .pika-button{color:#fff;font-weight:bold;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.bk-root .has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.bk-root .is-disabled .pika-button,.bk-root .is-inrange .pika-button{background:#d5e9f7}.bk-root .is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.bk-root .is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.bk-root .is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.bk-root .is-outside-current-month .pika-button{color:#999;opacity:.3}.bk-root .is-selection-disabled{pointer-events:none;cursor:default}.bk-root .pika-button:hover,.bk-root .pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.bk-root .pika-table abbr{border-bottom:0;cursor:help}.bk-root .bk-widget-box{overflow:visible;padding:5px 10px}.bk-root .bk-widget label{margin-bottom:2px}.bk-root .bk-widget{margin-top:10px}.bk-root .bk-widget h1:first-child,.bk-root .bk-widget h2:first-child,.bk-root .bk-widget h3:first-child,.bk-root .bk-widget h4:first-child,.bk-root .bk-widget h5:first-child,.bk-root .bk-widget h6:first-child,.bk-root .bk-widget p:first-child{margin-top:0}.bk-root .bk-widget-form-input{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-widget-form-input:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-widget-form-input::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-widget-form-input:-ms-input-placeholder{color:#999}.bk-root .bk-widget-form-input::-webkit-input-placeholder{color:#999}.bk-root .bk-widget-form-input[disabled],.bk-root .bk-widget-form-input[readonly],fieldset[disabled] .bk-root .bk-widget-form-input{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-widget-form-input{height:auto}.bk-root .bk-widget button{min-width:100%}.bk-root .bk-widget input[type=\\\"text\\\"]{min-width:90%}.bk-root .bk-widget select{min-width:97%}.bk-root .bk-bs-dropdown-toggle .bk-bs-caret{margin-left:5px}.bk-root .bk-bs-dropdown-menu{width:100%}.bk-root .bk-bs-nav-tabs{overflow:hidden}.bk-root .bk-bs-tab-pane{float:left}.bk-root .bk-slider label{margin-right:5px}.bk-root .bk-slider .bk-slider-value{display:inline-block;font-weight:600}.bk-root .bk-slider input,.bk-root .bk-slider .bk-slider-value{margin-bottom:5px}//# sourceMappingURL=bokeh-widgets.min.css.map\\n\\n/* END bokeh-widgets.min.css */\");\n      console.log(\"Bokeh: injecting raw CSS\");\n      Bokeh.embed.inject_raw_css(\"/* BEGIN bokeh-tables.min.css */\\n.bk-root .slick-header.ui-state-default,.bk-root .slick-headerrow.ui-state-default,.bk-root .slick-footerrow.ui-state-default{width:100%;overflow:hidden;border-left:0 !important}.bk-root .slick-header-columns,.bk-root .slick-headerrow-columns,.bk-root .slick-footerrow-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden}.bk-root .slick-header-column.ui-state-default{position:relative;display:inline-block;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0 !important;border-top:0 !important;border-bottom:0 !important;float:left}.bk-root .slick-headerrow-column.ui-state-default,.bk-root .slick-footerrow-column.ui-state-default{padding:4px}.bk-root .slick-header-column-sorted{font-style:italic}.bk-root .slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left}.bk-root .slick-sort-indicator-numbered{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:0;padding-left:1px;line-height:20px;float:left;font-family:Arial;font-style:normal;font-weight:bold;color:#6190cd}.bk-root .slick-sort-indicator-desc{background:url(images/sort-desc.gif)}.bk-root .slick-sort-indicator-asc{background:url(images/sort-asc.gif)}.bk-root .slick-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:col-resize;width:4px;right:0;top:0;height:100%}.bk-root .slick-sortable-placeholder{background:silver}.bk-root .grid-canvas{position:relative;outline:0}.bk-root .slick-row.ui-widget-content,.bk-root .slick-row.ui-state-active{position:absolute;border:0;width:100%}.bk-root .slick-cell,.bk-root .slick-headerrow-column,.bk-root .slick-footerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default}.bk-root .slick-cell,.bk-root .slick-headerrow-column{border-bottom-color:silver}.bk-root .slick-footerrow-column{border-top-color:silver}.bk-root .slick-group-toggle{display:inline-block}.bk-root .slick-cell.highlighted{background:lightskyblue;background:rgba(0,0,255,0.2);-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}.bk-root .slick-cell.flashing{border:1px solid red !important}.bk-root .slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid}.bk-root .slick-cell:focus{outline:0}.bk-root .slick-reorder-proxy{display:inline-block;background:blue;opacity:.15;cursor:move}.bk-root .slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:.7}.bk-root .slick-selection{z-index:10;position:absolute;border:2px dashed black}.bk-root .slick-header-columns{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-bottom:1px solid silver}.bk-root .slick-header-column{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-right:1px solid silver}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background:white url('images/header-columns-over-bg.gif') repeat-x center bottom}.bk-root .slick-headerrow{background:#fafafa}.bk-root .slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row{position:absolute;background:white;border:0;line-height:20px}.bk-root .slick-row.selected{z-index:10;background:#dfe8f6}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-group{border-bottom:2px solid silver}.bk-root .slick-group-toggle{width:9px;height:9px;margin-right:5px}.bk-root .slick-group-toggle.expanded{background:url(images/collapse.gif) no-repeat center center}.bk-root .slick-group-toggle.collapsed{background:url(images/expand.gif) no-repeat center center}.bk-root .slick-group-totals{color:gray;background:white}.bk-root .slick-group-select-checkbox{width:13px;height:13px;margin:3px 10px 0 0;display:inline-block}.bk-root .slick-group-select-checkbox.checked{background:url(images/GrpCheckboxY.png) no-repeat center center}.bk-root .slick-group-select-checkbox.unchecked{background:url(images/GrpCheckboxN.png) no-repeat center center}.bk-root .slick-cell.selected{background-color:beige}.bk-root .slick-cell.active{border-color:gray;border-style:solid}.bk-root .slick-sortable-placeholder{background:silver !important}.bk-root .slick-row.odd{background:#fafafa}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row.loading{opacity:.5}.bk-root .slick-cell.invalid{border-color:red;-moz-animation-duration:.2s;-webkit-animation-duration:.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite}@-moz-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}@-webkit-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}.bk-root .slick-column-name,.bk-root .slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px}.bk-root .slick-header-button{display:inline-block;float:right;vertical-align:top;margin:1px;margin-bottom:100px;height:15px;width:15px;background-repeat:no-repeat;background-position:center center;cursor:pointer}.bk-root .slick-header-button-hidden{width:0;-webkit-transition:.2s width;-ms-transition:.2s width;transition:.2s width}.bk-root .slick-header-column:hover>.slick-header-button{width:15px}.bk-root .slick-header-menubutton{position:absolute;right:0;top:0;bottom:0;width:14px;background-repeat:no-repeat;background-position:left center;background-image:url(../images/down.gif);cursor:pointer;display:none;border-left:thin ridge silver}.bk-root .slick-header-column:hover>.slick-header-menubutton,.bk-root .slick-header-column-active .slick-header-menubutton{display:inline-block}.bk-root .slick-header-menu{position:absolute;display:inline-block;margin:0;padding:2px;cursor:default}.bk-root .slick-header-menuitem{list-style:none;margin:0;padding:0;cursor:pointer}.bk-root .slick-header-menuicon{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;background-repeat:no-repeat;background-position:center center}.bk-root .slick-header-menucontent{display:inline-block;vertical-align:middle}.bk-root .slick-header-menuitem-disabled{color:silver}.bk-root .slick-columnpicker{border:1px solid #718bb7;background:#f0f0f0;padding:6px;-moz-box-shadow:2px 2px 2px silver;-webkit-box-shadow:2px 2px 2px silver;box-shadow:2px 2px 2px silver;min-width:100px;cursor:default}.bk-root .slick-columnpicker li{list-style:none;margin:0;padding:0;background:0}.bk-root .slick-columnpicker input{margin:4px}.bk-root .slick-columnpicker li a{display:block;padding:4px;font-weight:bold}.bk-root .slick-columnpicker li a:hover{background:white}.bk-root .slick-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url('../images/header-columns-bg.gif') repeat-x center bottom;vertical-align:middle}.bk-root .slick-pager .slick-pager-status{display:inline-block;padding:6px}.bk-root .slick-pager .ui-icon-container{display:inline-block;margin:2px;border-color:gray}.bk-root .slick-pager .slick-pager-nav{display:inline-block;float:left;padding:2px}.bk-root .slick-pager .slick-pager-settings{display:block;float:right;padding:2px}.bk-root .slick-pager .slick-pager-settings *{vertical-align:middle}.bk-root .slick-pager .slick-pager-settings a{padding:2px;text-decoration:underline;cursor:pointer}.bk-root .slick-header-columns{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .slick-header-column{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAWAIcAAKrM9tno++vz/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABYAAAgUAAUIHEiwoIAACBMqXMhwIQAAAQEAOw==\\\")}.bk-root .slick-group-toggle.expanded{background-image:url(\\\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7\\\")}.bk-root .slick-group-toggle.collapsed{background-image:url(\\\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=\\\")}.bk-root .slick-group-select-checkbox.checked{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAEcSURBVChTjdI9S8NQFAbg/raQXVwCRRFE7GK7OXTwD+ikk066VF3a0ja0hQTyQdJrwNq0zrYSQRLEXMSWSlCIb8glqRcFD+9yz3nugXwU4n9XQqMoGjj36uBJsTwuaNo3EwBG4Yy7pe7Gv8YcvhJCGFVsjxsjxujj6OTSGlHv+U2WZUZbPWKOv1ZjT5a7pbIoiptbO5b73mwrjHa1B27l8VlTEIS1damlTnEE+EEN9/P8WrfH81qdAIGeXvTTmzltdCy46sEhxpKUINReZR9NnqZbr9puugxV3NjWh/k74WmmEdWhmUNy2jNmWRc6fZTVADCqao52u+DGWTACYNT3fRxwtatPufTNR4yCIGAUn5hS+vJHhWGY/ANx/A3tvdv+1tZmuwAAAABJRU5ErkJggg==\\\")}.bk-root .slick-group-select-checkbox.unchecked{background-image:url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACXSURBVChT1dIxC4MwEAXg/v8/VOhQVDBNakV0KA6pxS4JhWRSIYPEJxwdDi1de7wleR+3JIf486w0hKCKRpSvvOhZcCmvNQBRuKqdah03U7UjNNH81rOaBYDo8SQaPX8JANFEaLaGBeAPaaY61rGksiN6TmR5H1j9CSoAosYYHLA7vTxYMvVEZa0liif23r93xjm3/oEYF8PiDn/I2FHCAAAAAElFTkSuQmCC\\\")}.bk-root .slick-sort-indicator-desc{background-image:url(\\\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgeAAUAGEgQgIAACBEKLHgwYcKFBh1KFNhQosOKEgMCADs=\\\")}.bk-root .slick-sort-indicator-asc{background-image:url(\\\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgbAAMIDABgoEGDABIeRJhQ4cKGEA8KmEiRosGAADs=\\\")}.bk-root .slick-header-menubutton{background-image:url(\\\"data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=\\\")}.bk-root .slick-pager{background-image:url(\\\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\\\")}.bk-root .bk-data-table{font-size:11px}.bk-root .bk-data-table input[type=\\\"checkbox\\\"]{margin-left:4px;margin-right:4px}.bk-root .bk-data-table *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-data-table *:before,.bk-root .bk-data-table *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;color:gray}.bk-root .slick-row.selected .bk-cell-index{background-color:transparent}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-cell.active{border-style:dashed}.bk-root .slick-cell.editable{padding-left:0;padding-right:0}.bk-root .bk-cell-editor input,.bk-root .bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline}.bk-root .bk-cell-editor input{padding-left:4px;padding-right:4px}.bk-root .bk-cell-editor-completion{font-size:11px}//# sourceMappingURL=bokeh-tables.min.css.map\\n\\n/* END bokeh-tables.min.css */\");\n    }\n  ];\n\n  function run_inline_js() {\n    \n    if ((root.Bokeh !== undefined) || (force === true)) {\n      for (var i = 0; i < inline_js.length; i++) {\n        inline_js[i].call(root, root.Bokeh);\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(null)).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(js_urls, function() {\n      console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "<script src=\"https://code.jquery.com/ui/1.10.4/jquery-ui.min.js\" type=\"text/javascript\"></script>\n",
       "<script type=\"text/javascript\">function HoloViewsWidget(){\n",
       "}\n",
       "\n",
       "HoloViewsWidget.comms = {};\n",
       "HoloViewsWidget.comm_state = {};\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].html(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",
       "\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",
       "  if(this.dynamic) {\n",
       "    current = JSON.stringify(current);\n",
       "  }\n",
       "  function callback(initialized, msg){\n",
       "    /* This callback receives data from Python as a string\n",
       "       in order to parse it correctly quotes are sliced off*/\n",
       "    if (msg.content.ename != undefined) {\n",
       "      this.process_error(msg);\n",
       "    }\n",
       "    if (msg.msg_type != \"execute_result\") {\n",
       "      console.log(\"Warning: HoloViews callback returned unexpected data for key: (\", current, \") with the following content:\", msg.content)\n",
       "    } else {\n",
       "      if (msg.content.data['text/plain'].includes('Complete')) {\n",
       "        if (this.queue.length > 0) {\n",
       "          this.time = Date.now();\n",
       "          this.dynamic_update(this.queue[this.queue.length-1]);\n",
       "          this.queue = [];\n",
       "        } else {\n",
       "          this.wait = false;\n",
       "        }\n",
       "        return\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  this.current = current;\n",
       "  if ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null)) {\n",
       "    var kernel = Jupyter.notebook.kernel;\n",
       "    callbacks = {iopub: {output: $.proxy(callback, this, this.initialized)}};\n",
       "    var cmd = \"holoviews.plotting.widgets.NdWidget.widgets['\" + this.id + \"'].update(\" + current + \")\";\n",
       "    kernel.execute(\"import holoviews;\" + cmd, callbacks, {silent : false});\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<frame_len; i++) {\n",
       "    if(!this.load_json || this.dynamic)  {\n",
       "      frame = Object.keys(this.frames)[i];\n",
       "    } else {\n",
       "      frame = i;\n",
       "    }\n",
       "    if(!(frame in this.cache) || force) {\n",
       "      if ((frame in this.cache) && force) { this.cache[frame].remove() }\n",
       "      this.cache[frame] = $('<div />').appendTo(\"#\"+\"_anim_img\"+this.id).hide();\n",
       "      var cache_id = \"_anim_img\"+this.id+\"_\"+frame;\n",
       "      this.cache[frame].attr(\"id\", cache_id);\n",
       "      this.populate_cache(frame);\n",
       "    }\n",
       "  }\n",
       "}\n",
       "\n",
       "HoloViewsWidget.prototype.update = function(current){\n",
       "  if(current in this.cache) {\n",
       "    $.each(this.cache, function(index, value) {\n",
       "      value.hide();\n",
       "    });\n",
       "    this.cache[current].show();\n",
       "    this.wait = false;\n",
       "  }\n",
       "}\n",
       "\n",
       "HoloViewsWidget.prototype.init_comms = function() {\n",
       "  if ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel !== undefined)) {\n",
       "    var widget = this;\n",
       "    comm_manager = Jupyter.notebook.kernel.comm_manager;\n",
       "    comm_manager.register_target(this.id, function (comm) {\n",
       "      comm.on_msg(function (msg) { widget.process_msg(msg) });\n",
       "    });\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){\n",
       "  this.frames = frames;\n",
       "  this.id = 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.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<this.slider_ids.length; i++)\n",
       "  {\n",
       "    val = this.current_vals[i];\n",
       "    if (!(typeof val === 'string')) {\n",
       "      if (val % 1 === 0) { val = val.toFixed(1); }\n",
       "      else { val = val.toFixed(10); val = val.slice(0, val.length-1);}\n",
       "    }\n",
       "    key += \"'\" + val + \"'\";\n",
       "    if(i != this.slider_ids.length-1) { key += ', ';}\n",
       "    else if(this.slider_ids.length == 1) { key += ',';}\n",
       "  }\n",
       "  key += \")\";\n",
       "  return this.keyMap[key];\n",
       "}\n",
       "\n",
       "SelectionWidget.prototype.set_frame = function(dim_val, dim_idx){\n",
       "  this.current_vals[dim_idx] = dim_val;\n",
       "  var key = this.current_vals;\n",
       "  if (!this.dynamic) {\n",
       "    key = this.get_key(key)\n",
       "  }\n",
       "  if (this.dynamic || !this.cached) {\n",
       "    if ((this.time !== undefined) && ((this.wait) && ((this.time + 10000) > 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){\n",
       "  this.slider_id = \"_anim_slider\" + id;\n",
       "  this.loop_select_id = \"_anim_loop_select\" + id;\n",
       "  this.id = 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.init_comms()\n",
       "  }\n",
       "}\n",
       "\n",
       "ScrubberWidget.prototype = new HoloViewsWidget;\n",
       "\n",
       "ScrubberWidget.prototype.set_frame = function(frame){\n",
       "  this.current_frame = frame;\n",
       "  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.cached) {\n",
       "    this.update(frame)\n",
       "  } else {\n",
       "    this.dynamic_update(frame)\n",
       "  }\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",
       "\t})\n",
       "    widget.slider('option', 'slide').call(widget, event, {value: 0})\n",
       "  } else {\n",
       "    widget.empty();\n",
       "    for (var i=0; i<values.length; i++){\n",
       "      widget.append($(\"<option>\", {\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",
       "// Define Bokeh specific subclasses\n",
       "function BokehSelectionWidget() {\n",
       "\tSelectionWidget.apply(this, arguments);\n",
       "}\n",
       "\n",
       "function BokehScrubberWidget() {\n",
       "\tScrubberWidget.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",
       "\tupdate_cache : function(){\n",
       "\t\t$.each(this.frames, $.proxy(function(index, frame) {\n",
       "\t\t\tthis.frames[index] = JSON.parse(frame);\n",
       "\t\t}, this));\n",
       "\t},\n",
       "\tupdate : function(current){\n",
       "\t\tif (current === undefined) {\n",
       "\t\t\tvar data = undefined;\n",
       "\t\t} else {\n",
       "\t\t\tvar data = this.frames[current];\n",
       "\t\t}\n",
       "\t\tif (data !== undefined) {\n",
       "\t\t\tvar doc = Bokeh.index[data.root].model.document;\n",
       "\t\t\tdoc.apply_json_patch(data.content);\n",
       "\t\t}\n",
       "\t},\n",
       "\tinit_comms : function() {\n",
       "\t}\n",
       "}\n",
       "\n",
       "// Extend Bokeh widgets with backend specific methods\n",
       "extend(BokehSelectionWidget.prototype, BokehMethods);\n",
       "extend(BokehScrubberWidget.prototype, BokehMethods);\n",
       "</script>\n",
       "\n",
       "\n",
       "<link rel=\"stylesheet\" href=\"https://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\">\n",
       "<style>div.hololayout {\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    margin: 0;\n",
       "}\n",
       "\n",
       "div.holoframe {\n",
       "\twidth: 75%;\n",
       "}\n",
       "\n",
       "div.holowell {\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    margin: 0;\n",
       "}\n",
       "\n",
       "form.holoform {\n",
       "    background-color: #fafafa;\n",
       "    border-radius: 5px;\n",
       "    overflow: hidden;\n",
       "\tpadding-left: 0.8em;\n",
       "    padding-right: 0.8em;\n",
       "    padding-top: 0.4em;\n",
       "    padding-bottom: 0.4em;\n",
       "}\n",
       "\n",
       "div.holowidgets {\n",
       "    padding-right: 0;\n",
       "\twidth: 25%;\n",
       "}\n",
       "\n",
       "div.holoslider {\n",
       "    min-height: 0 !important;\n",
       "    height: 0.8em;\n",
       "    width: 60%;\n",
       "}\n",
       "\n",
       "div.holoformgroup {\n",
       "    padding-top: 0.5em;\n",
       "    margin-bottom: 0.5em;\n",
       "}\n",
       "\n",
       "div.hologroup {\n",
       "    padding-left: 0;\n",
       "    padding-right: 0.8em;\n",
       "    width: 50%;\n",
       "}\n",
       "\n",
       ".holoselect {\n",
       "    width: 92%;\n",
       "    margin-left: 0;\n",
       "    margin-right: 0;\n",
       "}\n",
       "\n",
       ".holotext {\n",
       "    width: 100%;\n",
       "    padding-left:  0.5em;\n",
       "    padding-right: 0;\n",
       "}\n",
       "\n",
       ".holowidgets .ui-resizable-se {\n",
       "\tvisibility: hidden\n",
       "}\n",
       "\n",
       ".holoframe > .ui-resizable-se {\n",
       "\tvisibility: hidden\n",
       "}\n",
       "\n",
       ".holowidgets .ui-resizable-s {\n",
       "\tvisibility: hidden\n",
       "}\n",
       "\n",
       "div.bk-hbox {\n",
       "    display: flex;\n",
       "    justify-content: center;\n",
       "}\n",
       "\n",
       "div.bk-hbox div.bk-plot {\n",
       "    padding: 8px;\n",
       "}\n",
       "\n",
       "div.bk-hbox div.bk-data-table {\n",
       "    padding: 20px;\n",
       "}\n",
       "</style>\n",
       "\n",
       "\n",
       "<div class=\"logo-block\">\n",
       "<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
       "AAAB+wAAAfsBxc2miwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA6zSURB\n",
       "VHic7ZtpeFRVmsf/5966taWqUlUJ2UioBBJiIBAwCZtog9IOgjqACsogKtqirT2ttt069nQ/zDzt\n",
       "tI4+CrJIREFaFgWhBXpUNhHZQoKBkIUASchWla1S+3ar7r1nPkDaCAnZKoQP/D7mnPOe9/xy76n3\n",
       "nFSAW9ziFoPFNED2LLK5wcyBDObkb8ZkxuaoSYlI6ZcOKq1eWFdedqNzGHQBk9RMEwFAASkk0Xw3\n",
       "ETacDNi2vtvc7L0ROdw0AjoSotQVkKSvHQz/wRO1lScGModBFbDMaNRN1A4tUBCS3lk7BWhQkgpD\n",
       "lG4852/+7DWr1R3uHAZVQDsbh6ZPN7CyxUrCzJMRouusj0ipRwD2uKm0Zn5d2dFwzX1TCGhnmdGo\n",
       "G62Nna+isiUqhkzuKrkQaJlPEv5mFl2fvGg2t/VnzkEV8F5ioioOEWkLG86fvbpthynjdhXYZziQ\n",
       "x1hC9J2NFyi8vCTt91Fh04KGip0AaG9zuCk2wQCVyoNU3Hjezee9bq92duzzTmxsRJoy+jEZZZYo\n",
       "GTKJ6SJngdJqAfRzpze0+jHreUtPc7gpBLQnIYK6BYp/uGhw9YK688eu7v95ysgshcg9qSLMo3JC\n",
       "4jqLKQFBgdKDPoQ+Pltb8dUyQLpeDjeVgI6EgLIQFT5tEl3rn2losHVsexbZ3EyT9wE1uGdkIPcy\n",
       "BGxn8QUq1QrA5nqW5i2tLqvrrM9NK6AdkVIvL9E9bZL/oyfMVd/jqvc8LylzRBKDJSzIExwhQzuL\n",
       "QYGQj4rHfFTc8mUdu3E7yoLtbTe9gI4EqVgVkug2i5+uXGo919ixbRog+3fTbQ8qJe4ZOYNfMoTI\n",
       "OoshUNosgO60AisX15aeI2PSIp5KiFLI9ubb1vV3Qb2ltwLakUCDAkWX7/nHKRmmGIl9VgYsUhJm\n",
       "2NXjKYADtM1ygne9QQDIXlk49FBstMKx66D1v4+XuQr7vqTe0VcBHQlRWiOCbmmSYe2SqtL6q5rJ\n",
       "zsTb7lKx3FKOYC4DoqyS/B5bvLPxvD9Qtf6saxYLQGJErmDOdOMr/zo96km1nElr8bmPOBwI9COv\n",
       "HnFPRIwmkSOv9kcAS4heRsidOkpeWBgZM+UBrTFAXNYL5Vf2ii9c1trNzpYdaoVil3WIc+wdk+gQ\n",
       "noie3ecCcxt9ITcLAPWt/laGEO/9U6PmzZkenTtsSMQ8uYywJVW+grCstAvCIaAdArAsIWkRDDs/\n",
       "KzLm2YcjY1Lv0UdW73HabE9n6V66cxSzfEmuJssTpKGVp+0vHq73FwL46eOjpMpbRAnNmJFrGJNu\n",
       "Ukf9Yrz+3rghiumCKNXXWPhLYcjxGsIpoCMsIRoFITkW8AuyM8jC1+/QLx4bozCEJIq38+1rtpR6\n",
       "V/yzb8eBlRb3fo5l783N0CWolAzJHaVNzkrTzlEp2bQ2q3TC5gn6wpnoQAmwSiGh2GitnTmVMc5O\n",
       "UyfKWUKCIsU7+fZDKwqdT6DDpvkzAX4/+AMFjk0tDp5GRXLpQ2MUmhgDp5gxQT8+Y7hyPsMi8uxF\n",
       "71H0oebujHALECjFKaW9Lm68n18wXp2kVzIcABytD5iXFzg+WVXkegpAsOOYziqo0OkK76GyquC3\n",
       "ltZAzMhhqlSNmmWTE5T6e3IN05ITFLM4GdN0vtZ3ob8Jh1NAKXFbm5PtLU/eqTSlGjkNAJjdgn/N\n",
       "aedXa0tdi7+t9G0FIF49rtMSEgAs1kDLkTPO7ebm4IUWeyh1bKomXqlgMG6kJmHcSM0clYLJ8XtR\n",
       "1GTnbV3F6I5wCGikAb402npp1h1s7LQUZZSMIfALFOuL3UUrfnS8+rez7v9qcold5tilgHbO1fjK\n",
       "9ubb17u9oshxzMiUBKXWqJNxd+fqb0tLVs4lILFnK71H0Ind7uiPgACVcFJlrb0tV6DzxqqTIhUM\n",
       "CwDf1/rrVhTa33/3pGPxJYdQ2l2cbgVcQSosdx8uqnDtbGjh9SlDVSMNWhlnilfqZk42Th2ZpLpf\n",
       "xrHec5e815zrr0dfBZSwzkZfqsv+1FS1KUknUwPARVvItfKUY+cn57yP7qv07UE3p8B2uhUwLk09\n",
       "e0SCOrK+hbdYHYLjRIl71wWzv9jpEoeOHhGRrJAzyEyNiJuUqX0g2sBN5kGK6y2Blp5M3lsB9Qh4\n",
       "y2Ja6x6+i0ucmKgwMATwhSjdUu49tKrQ/pvN5d53ml2CGwCmJipmKjgmyuaXzNeL2a0AkQ01Th5j\n",
       "2DktO3Jyk8f9vcOBQHV94OK+fPumJmvQHxJoWkaKWq9Vs+yUsbq0zGT1I4RgeH2b5wef7+c7bl8F\n",
       "eKgoHVVZa8ZPEORzR6sT1BzDUAD/d9F78e2Tzv99v8D+fLVTqAKAsbGamKey1Mt9Ann4eH3gTXTz\n",
       "idWtAJ8PQWOk7NzSeQn/OTHDuEikVF1R4z8BQCy+6D1aWRfY0tTGG2OM8rRoPaeIj5ZHzJxszElN\n",
       "VM8K8JS5WOfv8mzRnQAKoEhmt8gyPM4lU9SmBK1MCQBnW4KONT86v1hZ1PbwSXPw4JWussVjtH9Y\n",
       "NCoiL9UoH/6PSu8jFrfY2t36erQHXLIEakMi1SydmzB31h3GGXFDFNPaK8Rme9B79Ixrd0WN+1ij\n",
       "NRQ/doRmuFLBkHSTOm5GruG+pFjFdAmorG4IXH1Qua6ASniclfFtDYt+oUjKipPrCQB7QBQ2lrgP\n",
       "fFzm+9XWUtcqJ3/5vDLDpJ79XHZk3u8nGZ42qlj1+ydtbxysCezrydp6ugmipNJ7WBPB5tydY0jP\n",
       "HaVNzs3QzeE4ZpTbI+ZbnSFPbVOw9vsfnVvqWnirPyCNGD08IlqtYkh2hjZ5dErEQzoNm+6ykyOt\n",
       "Lt5/PQEuSRRKo22VkydK+vvS1XEKlhCJAnsqvcVvH7f/ZU2R67eXbMEGAMiIV5oWZWiWvz5Fv2xG\n",
       "sjqNJQRvn3Rs2lji/lNP19VjAQDgD7FHhujZB9OGqYxRkZxixgRDVlqS6uEOFaJUVu0rPFzctrnF\n",
       "JqijImVp8dEKVWyUXDk92zAuMZ6bFwpBU1HrOw6AdhQgUooChb0+ItMbWJitSo5Ws3IAOGEOtL53\n",
       "0vHZih9sC4vtofZ7Qu6523V/fmGcds1TY3V36pUsBwAbSlxnVh2xLfAD/IAIMDf7XYIkNmXfpp2l\n",
       "18rkAJAy9HKFaIr/qULkeQQKy9zf1JgDB2uaeFNGijo5QsUyacNUUTOnGO42xSnv4oOwpDi1zYkc\n",
       "efUc3I5Gk6PhyTuVKaOGyLUAYPGIoY9Pu/atL/L92+4q9wbflRJ2Trpm/jPjdBtfnqB/dIThcl8A\n",
       "KG7hbRuKnb8qsQsVvVlTrwQAQMUlf3kwJI24Z4JhPMtcfng5GcH49GsrxJpGvvHIaeem2ma+KSjQ\n",
       "lIwUdYyCY8j4dE1KzijNnIP2llF2wcXNnsoapw9XxsgYAl6k+KzUXbi2yP3KR2ecf6z3BFsBICdW\n",
       "nvnIaG3eHybqX7vbpEqUMT+9OL4Qpe8VON7dXuFd39v19FoAABRVePbGGuXTszO0P7tu6lghUonE\n",
       "llRdrhArLvmKdh9u29jcFiRRkfLUxBiFNiqSU9icoZQHo5mYBI1MBgBH6wMNb+U7Pnw337H4gi1Y\n",
       "ciWs+uks3Z9fztUvfzxTm9Ne8XXkvQLHNytOOZeiD4e0PgkAIAYCYknKUNUDSXEKzdWNpnil7r4p\n",
       "xqkjTarZMtk/K8TQ6Qve78qqvXurGwIJqcOUKfUWHsm8KGvxSP68YudXq4pcj39X49uOK2X142O0\n",
       "Tz5/u/7TVybqH0rSya6ZBwD21/gubbrgWdDgEOx9WUhfBaC2ibcEBYm7a7x+ukrBMNcEZggyR0TE\n",
       "T8zUPjikQ4VosQZbTpS4vqizBKvqmvjsqnpfzaZyx9JPiz1/bfGKdgD45XB1zoIMzYbfTdS/NClB\n",
       "Gct0USiY3YL/g0LHy/uq/Ef6uo5+n0R/vyhp17Klpge763f8rMu6YU/zrn2nml+2WtH+Z+5IAAFc\n",
       "2bUTdTDOSNa9+cQY7YLsOIXhevEkCvzph7a8laecz/Un/z4/Ae04XeL3UQb57IwU9ZDr9UuKVajv\n",
       "nxp1+1UVIo/LjztZkKH59fO3G/JemqCfmaCRqbqbd90ZZ8FfjtkfAyD0J/9+C2h1hDwsSxvGjNDc\n",
       "b4zk5NfrSwiQblLHzZhg+Jf4aPlUwpDqkQqa9nimbt1/TDH8OitGMaQnj+RJS6B1fbF7SY1TqO5v\n",
       "/v0WAADl1f7zokgS7s7VT2DZ7pegUjBM7mjtiDZbcN4j0YrHH0rXpCtY0qPX0cVL0rv5jv/ZXend\n",
       "0u/EESYBAFBU4T4Qa5TflZOhTe7pmKpaP8kCVUVw1+yhXfJWvn1P3hnXi33JsTN6PnP3hHZ8Z3/h\n",
       "aLHzmkNPuPj7Bc/F/Q38CwjTpSwQXgE4Vmwry9tpfq/ZFgqFMy4AVDtCvi8rvMvOmv0N4YwbVgEA\n",
       "sPM72/KVnzfspmH7HQGCRLG2yL1+z8XwvPcdCbsAANh+xPzstgMtxeGKt+6MK3/tacfvwhWvIwMi\n",
       "oKEBtm0H7W+UVfkc/Y1V0BhoPlDr/w1w/eu1vjIgAgDg22OtX6/eYfnEz/focrZTHAFR+PSs56/7\n",
       "q32nwpjazxgwAQCwcU/T62t3WL7r6/jVRa6/byp1rei+Z98ZUAEAhEPHPc8fKnTU9nbgtnOe8h0l\n",
       "9hcGIqmODLQAHCy2Xti6v/XNRivf43f4fFvIteu854+VHnR7q9tfBlwAAGz+pnndB9vM26UebAe8\n",
       "SLHujPOTPVW+rwY+sxskAAC2HrA8t2Vvc7ffP1r9o+vwR2dcr92InIAbKKC1FZ5tB1tf+/G8p8sv\n",
       "N/9Q5zd/XR34LYCwV5JdccMEAMDBk45DH243r/X4xGvqxFa/GNpS7n6rwOwNWwHVE26oAADYurf1\n",
       "zx/utOzt+DMKYM0p17YtZZ5VNzqfsB2HewG1WXE8PoZ7gOclbTIvynZf9JV+fqZtfgs/8F/Nu5rB\n",
       "EIBmJ+8QRMmpU7EzGRsf2FzuePqYRbzh/zE26EwdrT10f6r6o8HOYzCJB9Dpff8tbnGLG8L/A/WE\n",
       "roTBs2RqAAAAAElFTkSuQmCC'\n",
       "     style='height:25px; border-radius:12px; display: inline-block; float: left; vertical-align: middle'></img>\n",
       "\n",
       "\n",
       "  <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAf9SURBVFiFvZh7cFTVHcc/59y7793sJiFAwkvAYDRqFWwdraLVlj61diRYsDjqCFbFKrYo0CltlSq1tLaC2GprGIriGwqjFu10OlrGv8RiK/IICYECSWBDkt3s695zTv9IAtlHeOn0O7Mzu797z+/3Ob/z+p0VfBq9doNFljuABwAXw2PcvGHt6bgwxhz7Ls4YZNVXxxANLENwE2D1W9PAGmAhszZ0/X9gll5yCbHoOirLzmaQs0F6F8QMZq1v/8xgNm7DYwwjgXJLYL4witQ16+sv/U9HdDmV4WrKw6B06cZC/RMrM4MZ7xz61DAbtzEXmAvUAX4pMOVecg9/MFFu3j3Gz7gQBLygS2RGumBkL0cubiFRsR3LzVBV1UMk3IrW73PT9C2lYOwhQB4ClhX1AuKpjLcV27oEjyUpNUJCg1CvcejykWTCXyQgzic2HIIBjg3pS6+uRLKAhumZvD4U+tq0jTrgkVKQQtLekfTtxIPAkhTNF6G7kZm7aPp6M9myKVQEoaYaIhEQYvD781DML/RfBGNZXAl4irJiwBa07e/y7cQnBaJghIX6ENl2GR/fGCBoz6cm5qeyEqQA5ZYA5x5eeiV0Qph4gjFAUSwAr6QllQgcxS/Jm25Cr2Tmpsk03XI9NfI31FTZBEOgVOk51adqDBNPCNPSRlkiDXbBEwOU2WxH+I7itQZ62g56OjM33suq1YsZHVtGZSUI2QdyYgkgOthQNIF7BIGDnRAJgJSgj69cUx1gB8PkOGwL4E1gPrM27gIg7NlGKLQApc7BmEnAxP5g/rw4YqBrCDB5xHkw5rdR/1qTrN/hKNo6YUwVDNpFsnjYS8RbidBPcPXFP6R6yfExuOXmN4A3jv1+8ZUwgY9D2OWjUZE6lO88jDwHI8ZixGiMKSeYTBamCoDk6kDAb6y1OcH1a6KpD/fZesoFw5FlIXAVCIiH4PxrV+p2npVDToTBmtjY8t1swh2V61E9KqWiyuPEjM8dbfxuvfa49Zayf9R136Wr8mBSf/T7bNteA8zwaGEUbFpckWwq95n59dUIywKl2fbOIS5e8bWSu0tJ1a5redAYfqkdjesodFajcgaVNWhXo1C9SrkN3Usmv3UMJrc6/DDwkwEntkEJLe67tSLhvyzK8rHDQWleve5CGk4VZEB1r+5bg2E2si+Y0QatDK6jUVkX5eg2YYlp++ZM+rfMNYamAj8Y7MAVWFqaR1f/t2xzU4IHjybBtthzuiAASqv7jTF7jOqDMAakFHgDNsFyP+FhwZHBmH9F7cutIYkQCylYYv1AZSqsn1/+bX51OMMjPSl2nAnM7hnjOx2v53YgNWAzHM9Q/9l0lQWPSCBSyokAtOBC1Rj+w/1Xs+STDp4/E5g7Rs2zm2+oeVd7PUuHKDf6A4r5EsPT5K3gfCnBXNUYnvGzb+KcCczYYWOnLpy4eOXuG2oec0PBN8XQQAnpvS35AvAykr56rWhPBiV4MvtceGLxk5Mr6A1O8IfK7rl7xJ0r9kyumuP4fa0lMqTBLJIAJqEf1J3qE92lMBndlyfRD2YBghHC4hlny7ASqCeWo5zaoDdIWfnIefNGTb9fC73QDfhyBUCNOxrGPSUBfPem9us253YTV+3mcBbdkUYfzmHiLqZbYdIGHHON2ZlemXouaJUOO6TqtdHEQuXYY8Yt+EbDgmlS6RdzkaDTv2P9A3gICiq93sWhb5mc5wVhuU3Y7m5hOc3So7qFT3SLgOXHb/cyOfMn7xROegoC/PTcn3v8gbKPgDopJFk3R/uBPWQiwQ+2/GJevRMObLUzqe/saJjQUQTTftEVMW9tWxPgAocwcj9abNcZe7s+6t2R2xXZG7zyYLp8Q1PiRBBHym5bYuXi8Qt+/LvGu9f/5YDAxABsaRNPH6Xr4D4Sk87a897SOy9v/fKwjoF2eQel95yDESGEF6gEMwKhLwKus3wOVjTtes7qzgLdXTMnNCNoEpbcrtNuq6N7Xh/+eqcbj94xQkp7mdKpW5XbtbR8Z26kgMCAf2UU5YEovRUVRHbu2b3vK1UdDFkDCyMRQxbpdv8nhKAGIa7QaQedzT07fFPny53R738JoVYBdVrnsNx9XZ9v33UeGO+AA2MMUkgqQ5UcdDLZSFeVgONnXeHqSAC5Ew1BXwko0D1Zct3dT1duOjS3MzZnEUJtBuoQAq3SGOLR4ekjn9NC5nVOaYXf9lETrUkmOJy3pOz8OKIb2A1cWhJCCEzOxU2mUPror+2/L3yyM3pkM7jTjr1nBOgkGeyQ7erxpdJsMAS9wb2F9rzMxNY1K2PMU0WtZV82VU8Wp6vbKJVo9Lx/+4cydORdxCCQ/kDGTZCWsRpLu7VD7bfKqL8V2orKTp/PtzaXy42jr6TwAuisi+7JolUG4wY+8vyrISCMtRrLKWpvjAOqx/QGhp0rjRo5xD3x98CWQuOQN8qumRMmI7jKZPUEpzNVZsj4Zbaq1to5tZZsKIydLWojhIXrJnES79EaOzv3du2NytKuxzJKAA6wF8xqEE8s2jo/1wd/khslQGxd81Zg62Bbp31XBH+iETt7Y3ELA0iU6iGDlQ5mexe0VEx4a3x8V1AaYwFJgTiwaOsDmeK2J8nMUOqsnB1A+dcA04ucCYt0urkjmflk9iT2v30q/gZn5rQPvor4n9Ou634PeBzoznes/iot/7WnClKoM/+zCIjH5kwT8ChQjTHPIPTjFV3PpU/Hx+DM/A9U3IXI4SPCYAAAAABJRU5ErkJggg=='\n",
       "       style='height:15px; border-radius:12px; display: inline-block; float: left'></img>\n",
       "  \n",
       "\n",
       "\n",
       "\n",
       "\n",
       "</div>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.warnings.filterwarnings('ignore')  # Hide np.floating warning\n",
    "import holoviews as hv\n",
    "import colorcet as cc\n",
    "hv.extension('bokeh')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next, let's import Keras:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'2.1.5'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import keras\n",
    "keras.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### TensorFlow and GPU Memory\n",
    "\n",
    "Even though we are using Keras for the majority of the tutorial, we can also import and access TensorFlow directly.\n",
    "\n",
    "Allocating and deallocating GPU memory can be slow (much slower than on the CPU), so most deep learning frameworks use *memory pools* to speed things up.  When a TensorFlow session initializes the GPU, it grabs 90% of the GPU memory in one big block, and then internally divides it up for different arrays.  This is normally not a problem, but we will have several notebooks open at once in this tutorial, each one with its own TensorFlow session.  For that reason, we will use the following trick to tell TensorFlow it is OK to grow its allocation as needed, rather than taking all 90% up front."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "config = tf.ConfigProto()\n",
    "config.gpu_options.allow_growth=True\n",
    "sess = tf.Session(config=config)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's verify our GPUs have been detected by TensorFlow:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[name: \"/device:CPU:0\"\n",
       " device_type: \"CPU\"\n",
       " memory_limit: 268435456\n",
       " locality {\n",
       " }\n",
       " incarnation: 2708739797721455363, name: \"/device:GPU:0\"\n",
       " device_type: \"GPU\"\n",
       " memory_limit: 11969331200\n",
       " locality {\n",
       "   bus_id: 1\n",
       " }\n",
       " incarnation: 18308716681424069938\n",
       " physical_device_desc: \"device: 0, name: TITAN Xp, pci bus id: 0000:01:00.0, compute capability: 6.1\", name: \"/device:GPU:1\"\n",
       " device_type: \"GPU\"\n",
       " memory_limit: 11970638644\n",
       " locality {\n",
       "   bus_id: 1\n",
       " }\n",
       " incarnation: 10456899858565543118\n",
       " physical_device_desc: \"device: 1, name: TITAN Xp, pci bus id: 0000:02:00.0, compute capability: 6.1\"]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from tensorflow.python.client import device_lib\n",
    "\n",
    "device_lib.list_local_devices()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we can see that TensorFlow has detected both CPU and GPU devices."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading and Inspecting the CIFAR10 Data\n",
    "\n",
    "Keras includes a [datasets](https://keras.io/datasets/) package that will automatically download and import standard test datasets into NumPy arrays.\n",
    "\n",
    "For this tutorial, we will use the CIFAR10 image set, which has the following properties:\n",
    "\n",
    "* 32x32 pixel RGB images\n",
    "* Each image is from 1 of 10 categories (represented numerically from 0 through 9)\n",
    "* 50000 training images, 10000 test images\n",
    "\n",
    "Let's load the data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.datasets import cifar10\n",
    "\n",
    "(x_train, y_train), (x_test, y_test) = cifar10.load_data()\n",
    "# The data only has numeric categories so we also have the string labels below \n",
    "cifar10_labels = np.array(['airplane', 'automobile', 'bird', 'cat', 'deer', \n",
    "                           'dog', 'frog', 'horse', 'ship', 'truck'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The data is organized into NumPy arrays of image data and label data, which we can see from the shape information:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_train shape: (50000, 32, 32, 3)\n",
      "y_train shape: (50000, 1)\n",
      "x_test shape: (10000, 32, 32, 3)\n",
      "y_test shape: (10000, 1)\n"
     ]
    }
   ],
   "source": [
    "print('x_train shape:', x_train.shape)\n",
    "print('y_train shape:', y_train.shape)\n",
    "print('x_test shape:', x_test.shape)\n",
    "print('y_test shape:', y_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For the `x` arrays, the indices are ordered:\n",
    "\n",
    "* image number\n",
    "* image row\n",
    "* image column\n",
    "* color channel (0=R, 1=G, 2=B)\n",
    "\n",
    "We can pull out a single image and plot it:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "horse\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style='display: table; margin: 0 auto;'>\n",
       "\n",
       "<div class=\"bk-root\">\n",
       "    <div class=\"bk-plotdiv\" id=\"6b8a5b5e-53f3-40a1-a66d-19945217ce90\"></div>\n",
       "</div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"1b421ed2-0af8-4add-bd61-cc43e39f6624\":{\"roots\":{\"references\":[{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"40beb81a-9099-4ff8-8be7-3446563eea95\",\"type\":\"SaveTool\"},{\"id\":\"e0221553-b0be-467f-aeed-dc123c990b47\",\"type\":\"PanTool\"},{\"id\":\"c2d0e1e3-cecc-4559-826c-f9929987c8a7\",\"type\":\"WheelZoomTool\"},{\"id\":\"5fe57b56-2499-4759-865c-b66a577fc24f\",\"type\":\"BoxZoomTool\"},{\"id\":\"57be9c91-cb0a-4012-ae4b-a14455cbaeb2\",\"type\":\"ResetTool\"}]},\"id\":\"c3ff0a5b-6f4c-445c-a338-462fb709454e\",\"type\":\"Toolbar\"},{\"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\":\"1eb6d4b6-0e4c-475e-adb0-efe3265068d8\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"eZpg/3iYY/90lGH/XIBL/1yDTP9pkVr/bJRc/1mCTP9Md0T/UHtI/1WATv9ahVH/Z49a/2+XYf99pnD/c5xm/3egaP9znGH/cppd/3iiYv+Fq23/krF4/4qob/+FpGr/gqFo/4Kiaf+Bomj/gKFp/3qaZ/98mGz/fJpr/3iaZP94nGT/dJdj/3CTYP9skV3/bJNc/26UXv9wlmD/bJNd/2CKVf9bhVD/W4RQ/2iRXP90m2f/f6Vx/4Oqdv97om3/gqdy/3qeZ/98oGb/fqNm/4epb/+LqnX/g6Fs/36cZ/+Anmn/hqRu/4ekcv+EoXL/gZ5v/36Vbv94kGf/eJhl/3ugaf91mmb/cJVj/3WZZf94nGb/fKBq/32ha/9+om3/eJtn/3mcaP92mWb/gaRw/4Gjcv+FpnX/hqd2/4SldP+EoXL/f5lr/4eicf+Mp3T/gJxp/3yZaP91kmH/cY5d/32aaP9/m2b/fZhr/2aAV/+CnXD/dYhk/19zT/94lWT/e6Ft/3SZZ/90mGj/fJ9t/3+gbP+Aom3/g6Nw/4eicP+CoGz/iKlz/4mncv+GpHD/i6h3/4ejdv9/mm//f5ds/3+Tbf9jd1P/d45i/4qidP93kWH/bYpY/36cbf95mGn/gJ5t/4Cdav97lWr/TmZE/3iTaf9TZUf/TGBA/3GQYv95nG3/eJtt/3+idP+Gp3f/fZho/36eb/9+mG3/f4Zg/4qkcf+CqHH/h6Nv/4Ohbf+GpnL/gp51/1ltTv9nc1H/bXhe/09jRv92lGT/e5tq/3aTYf9ykFn/fJ9w/3abbv97nW3/fJxr/3GKYf9DVz7/ZHxa/zhINf9HXkT/ao9i/3aTZ/+CnnP/hqJ3/3qYaf9zjV7/g6F0/32Ta/+JjGv/jqZ7/3qhcf+HpHf/gaJz/3CUY/9qg2P/Ljoo/2RnUf9LUUH/VWhP/4Wldf97nWj/e5pm/3iYYv95n3D/d59x/26UYv94nGv/Zn9a/yg0Kf9GU0T/LDcs/1VsUf90mGv/epFn/4Wccv+GnXT/dJFk/3WPYv97l2z/a31Y/4F/YP+LoXT/e6Fu/36cbP91mWf/aI1g/05jS/8XGhT/VVBJ/yAiG/9KXUb/eJdn/3eaYv+BoG7/fJ1t/3qicv97pXT/faRz/4Spev9dc1T/DhMV/xodIP8dJR7/aoBg/32cb/97kWf/fJJo/4CWbP94lGj/dY9l/3eRaf9hb03/b2ZJ/3+OX/98nGj/g55r/3KUX/9ykWf/O0c1/xINEP8mISL/DRIK/09jSP9khFT/YoRQ/3GPY/92kmr/d5xs/3Sbaf9+oXT/fJxx/zlKMv8CBAz/CQkT/xwlHf9tgV7/coxf/3+Ybv9wiV7/b4he/2eEWf9shl3/b4dg/1BbPP98bVf/XF9B/0xhPf9jdFH/bYdg/2h9WP8sLR//FAsP/wkJCv8THBH/aH1b/2uLW/9lh1n/ZoBe/3OIaP9vjmD/cJFg/3eUav9whmP/HScW/wQEC/8JCxH/OEM2/3aIYf9xhVj/e5Nq/3GLYP9yjmD/ZoNX/2Z+W/9hdFf/Ky8W/1pGMP9EOif/QlBD/z5QP/83STD/PUcs/yEdEv8WDg//DQ0L/yIrHf91hWb/do1n/3iQcP9yg2z/ipd9/4Gab/94lWP/iJ9z/3OCZP8TGgz/DA0R/xUXG/9JV0b/d41i/26IVf+HnXf/gZpw/4ahcv95kWb/a39j/2RvX/9zb17/pJF1/457Zv+kpKP/rbWn/3l7Zf85NSP/JyEY/yAaF/8ZFhH/FRYN/ygtIP8qMCP/LTQo/zM3K/9OUkP/an1b/36Waf+Fl23/TllB/wcNBP8MCwz/Ew8S/yMsH/9he1D/YoRK/4Wfe/+Hnnn/hpx2/4OYc/9vgGX/YWdZ/8O9sP/WxLH/076x/+rVzf/FqpD/vqWJ/1dJN/8dFA3/IRsZ/w4MCf8KCgX/CgsE/woKA/8KCQL/DgoF/w8MBv8YIAz/SVc6/15pTv8eIxf/BgYC/xEMCf8gFhH/DQ0H/0tdPv9hfkb/hZ5//4idgv+Im4P/eoxy/1hlT/9LSj7/yL+z/+LTwv/Sv6z/tZB5/6N2Sv+lflb/UT8t/xQIBP8iGhj/HhoZ/xIQDf8TDw3/FQ8M/xgPCv8eExD/IRQS/xQNA/8YFwr/GBoP/wwMBv8SDAr/LB4Y/0YzJP8SCgb/QEo0/2N7Rv9yhm3/YXZj/3GIe/93iX7/bXNo/3JqX//m2Mn/zb+o/4yAaf+BbFr/jHRO/4FpRv84Kxz/JhwY/0U5OP9ANTH/IBkW/xQLC/8bDwz/JxgR/z0qJP9HMiv/NSIX/yocEv8XEQr/HRgT/zMnI/9QOjL/VTkm/xwPCf85QS7/YHdE/01bR/88UUb/epeS/6O3uP+9v7//u62k/8axnf98bVD/Pz8y/11qc/98iof/W11T/ycjHP9COjf/U0RC/047Mv8nGhT/JBoY/zMjHf87Jxz/VDwv/2ZNPP9dQC//Ujwv/yccE/8uJRz/VkY//2JHPv9YNCP/IxIL/zU/K/9he0j/TltB/0ZcRf+Dn5//ucvX/87JzP+zoZv/lYh7/1RSPf87Rjz/QFNa/1hxc/8nLzH/Kicp/09JS/9ZUFD/UUVA/zgxLv9COzr/STo1/0kyKf9dQjj/dlhK/3dTQP9pSjr/MiIZ/zsvKv9aRkD/Xj81/2M+Mf8mFhT/KDEk/1hvR/9RYT7/TWRC/4Cam/+9zeD/yMHG/6WXl/98fHz/Mz0z/x8uIf85QTn/KTcv/wwODP8wLS//S0dJ/1pVVv9lXmD/XVZW/15UU/9SPzv/VTky/2RHP/+Fal//iGRR/2JFMf84KB7/RTU1/1pCP/9vUEn/gmNe/yAVGf8gKCH/Slw+/09iP/9ddlr/mLS2/5+3y/97gYv/iIqQ/3mFjP8vOzb/Ki4l/z86Nv8QFBD/FhMS/zc1M/9GREL/VU5O/2ZaX/9jVFP/Y05J/1k/N/9cPDP/YEQ5/3lkWP98YE3/TTUi/zYmHP9ZRUb/cFdX/39lZP9pVVf/EQ0S/ycyKP9BVDf/VWtM/3uXhf+62d//r83j/6u+zf+tws//d5Cd/zM/QP9hXFb/UD8+/xkVE/8jHx7/MjEv/0lJSP9gWl7/U0pS/1ZIS/9ZSEX/Uj87/046NP9NOTT/VkRA/2hRSv9ELSf/NiMh/1tLTP9jUVH/V0hH/zgzNf8oLi//KTkr/zFGK/9bdF3/lbKv/7zd7P+73vX/wN/v/73h8f+DpLT/OkVH/2heWf9rU1T/KB8f/yQiIP8uLS7/SEpO/2Nlbf8+P03/REVP/2prcv9ydn3/e4KG/3uAhf9ra3L/Yl5n/0ZASf86Mzz/Ojk7/zc1Mf81Ni7/OUI7/zhHQP8vRDL/LUQp/22Hef+21N3/ut3z/7jc8/+63e3/tuLy/6DE1P9KVVf/U0lF/2tRVP8pIB//JSUk/zc4Pf9ITFb/anSD/29/kP97j6H/qsLT/6/L2/+tzd3/rc7d/67M2v+nw9T/nrbI/5Kmtf91h4r/RlNL/zNAMP89UD//LEAz/ypALP8vRi7/fJuP/7nc6/+43fD/uN7w/7ne8P+34PH/stjq/22DjP9GQ0H/XEpN/zw0NP88Qj//RlNV/0RVZP+RqL//u9ns/7fa6/+43PD/t93w/7Tb7/+z2+3/t93v/7je8f+63vL/u97x/7fY5v9wiYj/NUk9/1NrX/85TUH/IjUi/y1CMP+fwbz/uN7x/7bd7/+33e7/t93w/7fc7/+23fD/k7K//0RIS/9GPkP/REFF/zxJSP9IYmP/hqO0/7TV7/+03O7/s9zr/7bc7/+23O//ttzv/7jd8P+53fD/uN3w/7jc7/+22/D/tt/0/5e5wf9fenr/lbC2/2Z8df8yRDP/QFRL/7ne5v+03fX/td31/7bd8f+13fD/tNzv/7fg9P+Wtsb/NUFK/zQ5RP9PV2H/XXJ4/32fpv+23O3/td31/7Lf8P+z3u//td3x/7Xd8f+13fD/tt3x/7fd8f+33fL/uN3x/7fe8v+z3vT/sNjo/5u+zv+y1Ov/hJ+g/0deUv91jI7/t+D0/7Dc+P+03fb/tN3z/7Pd8/+y3fP/tN/1/6bK3v9jeYr/cIWW/5atvf+fvsz/qtPh/7Tf8/+x3vT/sN/y/7Lf8v+z3vT/s97z/7Pd8/+z3fP/td3z/7Xd8/+13fP/tN30/7Hc9P+w3PP/stz0/7HX9f+Hpa//Z4KD/6G7zP+y4Pr/rt73/7Pd8/+z3fP/sd71/7He9f+x3vX/td71/6/R6f+w1Or/tt3z/7Pc8v+y3fT/sd71/7Le9f+y3vT/sd70/7He9f+x3vX/sd71/7Ld9f+z3fX/s9z1/7Pd9f+03PX/tNry/7Db8/+w3fX/r9jx/5i4yP+Qrr//osDd/7Hh+/+t3vX/st7x/7Ld8v+x3vX/sd71/7He9f+y3fX/tdz2/7Ld9/+w3fb/sN32/7Dc9v+x3PT/stz0/7Pc9f+x3PT/r9zz/7Dd9P+x3vX/st31/7Pd9f+z3fX/s931/7Pc9f+12vL/sdvy/7He8/+w2ev/ocPX/5u71/+iw+X/sd/4/67c8/+v3PL/r9zz/6/c9P+v3PT/r9z0/7Dc9P+y3PT/sdz1/7Hc9P+x3PT/sdv0/7Hb8/+x2/P/stv0/7Hb8/+x2/P/sdvz/7Hb9P+x2/T/sdv0/7Hb9P+y3PT/stz0/7Lb9P+y3PT/sdzz/67Y7v+myuP/ocPf/6LH5f+v3vb/rdvz/63b8/+t2/P/rdvz/63b8/+t2/P/rdvz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/rdjx/6nQ6v+nzef/ps7q/6zc9v+q2fP/q9r0/6va9P+r2vT/q9r0/6va9P+r2vT/rNn0/6zZ9P+s2vT/rNr0/6za9P+s2vT/rNr0/6za9P+s2vT/rNr0/63a9P+t2vT/rdr0/6za9P+s2vT/rNn0/6zZ8/+s2fP/rNnz/6vZ8/+r2PL/qNTu/6XQ6/+jz+z/qNr1/6bX8v+m1/L/ptjz/6bY8/+n2PP/p9n0/6jZ9P+q1/T/qtf0/6rY9P+q2PT/qtj0/6rY9P+q2PT/qtj0/6rY9P+q2PT/qtf0/6rX9P+p1/P/qdbz/6nW8/+o1vL/qNby/6jW8v+p1vP/qNby/6fV8f+k1O7/oNHs/57N6/+k1/T/otTw/6LU8P+j1fH/otXx/6PV8v+k1vL/pNby/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+k1PH/pNTx/6TU8f+k1PH/pNTx/6TU8f+k0/H/otLv/53S7f+Z0Ov/mcvq/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"b8c9c51f-79d8-421e-8040-20ee8ab42c1d\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"76285d5c-b47a-4802-bce8-d1f93b707de7\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"e0221553-b0be-467f-aeed-dc123c990b47\",\"type\":\"PanTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"e71d4ab5-4555-4a59-b8f0-dced35d52fde\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"3697bc8b-5be2-44dc-8d78-ea4563271e4f\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"c2d0e1e3-cecc-4559-826c-f9929987c8a7\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"9c4dc1d1-1162-48c2-bbf8-c54cab1fb4b8\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"overlay\":{\"id\":\"1eb6d4b6-0e4c-475e-adb0-efe3265068d8\",\"type\":\"BoxAnnotation\"}},\"id\":\"5fe57b56-2499-4759-865c-b66a577fc24f\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"57be9c91-cb0a-4012-ae4b-a14455cbaeb2\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"89b90570-e893-4f29-9bec-a774a75b7ba0\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"9ed95210-deda-4aaf-956c-5b3fae99e755\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"cc149cbd-160c-4575-9c4a-451b999adb6a\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"9ed95210-deda-4aaf-956c-5b3fae99e755\",\"type\":\"LinearAxis\"},{\"id\":\"b6edcc50-4fca-4a0d-90de-6232ef67c5b8\",\"type\":\"Grid\"},{\"id\":\"cc149cbd-160c-4575-9c4a-451b999adb6a\",\"type\":\"LinearAxis\"},{\"id\":\"32221980-7a90-477b-9f69-039ba92a99d5\",\"type\":\"Grid\"},{\"id\":\"1eb6d4b6-0e4c-475e-adb0-efe3265068d8\",\"type\":\"BoxAnnotation\"},{\"id\":\"9d29c3c4-bcf9-413c-afda-13722d9c87cd\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"e71d4ab5-4555-4a59-b8f0-dced35d52fde\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"c3ff0a5b-6f4c-445c-a338-462fb709454e\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"ad5a0230-8f6a-42fe-893a-f7304b158019\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"89b90570-e893-4f29-9bec-a774a75b7ba0\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7d6d0545-a453-49b0-82ba-61301e3a9f6a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"6642c18d-5e1d-4c47-9d70-f57528e27b42\",\"type\":\"LinearScale\"}},\"id\":\"51c87944-143f-4779-ae68-581e1d5448f6\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"6642c18d-5e1d-4c47-9d70-f57528e27b42\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"7c1bb339-d115-4774-bdf8-f8783cd7ec46\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"51c87944-143f-4779-ae68-581e1d5448f6\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5995c130-287b-4e73-a52d-400bc1bc29b3\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"9ed95210-deda-4aaf-956c-5b3fae99e755\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"7d6d0545-a453-49b0-82ba-61301e3a9f6a\",\"type\":\"Range1d\"},{\"attributes\":{\"source\":{\"id\":\"b8c9c51f-79d8-421e-8040-20ee8ab42c1d\",\"type\":\"ColumnDataSource\"}},\"id\":\"68065b9f-70e3-4c1a-ad18-78edffe9526c\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"5995c130-287b-4e73-a52d-400bc1bc29b3\",\"type\":\"BasicTicker\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"51c87944-143f-4779-ae68-581e1d5448f6\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"5995c130-287b-4e73-a52d-400bc1bc29b3\",\"type\":\"BasicTicker\"}},\"id\":\"b6edcc50-4fca-4a0d-90de-6232ef67c5b8\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"7c1bb339-d115-4774-bdf8-f8783cd7ec46\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"3697bc8b-5be2-44dc-8d78-ea4563271e4f\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"51c87944-143f-4779-ae68-581e1d5448f6\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d8781cb5-d7f2-407f-836a-cda70b87c0c8\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"cc149cbd-160c-4575-9c4a-451b999adb6a\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"d8781cb5-d7f2-407f-836a-cda70b87c0c8\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"ad5a0230-8f6a-42fe-893a-f7304b158019\",\"type\":\"Range1d\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"51c87944-143f-4779-ae68-581e1d5448f6\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d8781cb5-d7f2-407f-836a-cda70b87c0c8\",\"type\":\"BasicTicker\"}},\"id\":\"32221980-7a90-477b-9f69-039ba92a99d5\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"40beb81a-9099-4ff8-8be7-3446563eea95\",\"type\":\"SaveTool\"},{\"attributes\":{\"data_source\":{\"id\":\"b8c9c51f-79d8-421e-8040-20ee8ab42c1d\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"76285d5c-b47a-4802-bce8-d1f93b707de7\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"9c4dc1d1-1162-48c2-bbf8-c54cab1fb4b8\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"68065b9f-70e3-4c1a-ad18-78edffe9526c\",\"type\":\"CDSView\"}},\"id\":\"9d29c3c4-bcf9-413c-afda-13722d9c87cd\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"51c87944-143f-4779-ae68-581e1d5448f6\"]},\"title\":\"Bokeh Application\",\"version\":\"0.12.13\"}};\n",
       "  var render_items = [{\"docid\":\"1b421ed2-0af8-4add-bd61-cc43e39f6624\",\"elementid\":\"6b8a5b5e-53f3-40a1-a66d-19945217ce90\",\"modelid\":\"51c87944-143f-4779-ae68-581e1d5448f6\"}];\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);\n",
       "</script>\n",
       "</div>"
      ],
      "text/plain": [
       ":RGB   [x,y]   (R,G,B)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%output size=48\n",
    "%%opts RGB [xaxis=None yaxis=None]\n",
    "# For more information on Holoviews configuration, see http://holoviews.org/user_guide/Customizing_Plots.html\n",
    "\n",
    "i = 12\n",
    "print(cifar10_labels[y_train[i][0]])\n",
    "hv.RGB(x_train[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "horse\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style='display: table; margin: 0 auto;'>\n",
       "\n",
       "<div class=\"bk-root\">\n",
       "    <div class=\"bk-plotdiv\" id=\"2d47481e-f69b-42b1-8899-f5eda34015d8\"></div>\n",
       "</div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"c50ebc10-2398-4395-9fc7-7ca3a473a1e7\":{\"roots\":{\"references\":[{\"attributes\":{\"overlay\":{\"id\":\"f8c6137e-8eac-47ec-959d-41fa07a7f9c3\",\"type\":\"BoxAnnotation\"}},\"id\":\"7273cf01-0649-4060-9d10-52b9fb5ab25e\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"color_mapper\":{\"id\":\"6f674a1d-a957-48de-aa9b-3693117bd4f9\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"598a7e48-4cf2-40c5-bf62-8c2de4990834\",\"type\":\"Image\"},{\"attributes\":{},\"id\":\"2466781c-4892-49c8-b2d1-347372250749\",\"type\":\"ResetTool\"},{\"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\":\"f8c6137e-8eac-47ec-959d-41fa07a7f9c3\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"high\":251,\"low\":2,\"palette\":[\"#000000\",\"#010101\",\"#020202\",\"#030303\",\"#040404\",\"#050505\",\"#060606\",\"#070707\",\"#080808\",\"#090909\",\"#0a0a0a\",\"#0b0b0b\",\"#0c0c0c\",\"#0d0d0d\",\"#0e0e0e\",\"#0f0f0f\",\"#101010\",\"#111111\",\"#121212\",\"#131313\",\"#141414\",\"#151515\",\"#161616\",\"#171717\",\"#181818\",\"#191919\",\"#1a1a1a\",\"#1b1b1b\",\"#1c1c1c\",\"#1d1d1d\",\"#1e1e1e\",\"#1f1f1f\",\"#202020\",\"#202020\",\"#222222\",\"#232323\",\"#242424\",\"#242424\",\"#262626\",\"#272727\",\"#282828\",\"#282828\",\"#2a2a2a\",\"#2b2b2b\",\"#2c2c2c\",\"#2c2c2c\",\"#2e2e2e\",\"#2f2f2f\",\"#303030\",\"#303030\",\"#323232\",\"#333333\",\"#343434\",\"#343434\",\"#363636\",\"#373737\",\"#383838\",\"#383838\",\"#3a3a3a\",\"#3b3b3b\",\"#3c3c3c\",\"#3c3c3c\",\"#3e3e3e\",\"#3f3f3f\",\"#404040\",\"#414141\",\"#414141\",\"#434343\",\"#444444\",\"#454545\",\"#464646\",\"#474747\",\"#484848\",\"#494949\",\"#494949\",\"#4b4b4b\",\"#4c4c4c\",\"#4d4d4d\",\"#4e4e4e\",\"#4f4f4f\",\"#505050\",\"#515151\",\"#515151\",\"#535353\",\"#545454\",\"#555555\",\"#565656\",\"#575757\",\"#585858\",\"#595959\",\"#595959\",\"#5b5b5b\",\"#5c5c5c\",\"#5d5d5d\",\"#5e5e5e\",\"#5f5f5f\",\"#606060\",\"#616161\",\"#616161\",\"#636363\",\"#646464\",\"#656565\",\"#666666\",\"#676767\",\"#686868\",\"#696969\",\"#696969\",\"#6b6b6b\",\"#6c6c6c\",\"#6d6d6d\",\"#6e6e6e\",\"#6f6f6f\",\"#707070\",\"#717171\",\"#717171\",\"#737373\",\"#747474\",\"#757575\",\"#767676\",\"#777777\",\"#787878\",\"#797979\",\"#797979\",\"#7b7b7b\",\"#7c7c7c\",\"#7d7d7d\",\"#7e7e7e\",\"#7f7f7f\",\"#808080\",\"#818181\",\"#828282\",\"#838383\",\"#838383\",\"#858585\",\"#868686\",\"#878787\",\"#888888\",\"#898989\",\"#8a8a8a\",\"#8b8b8b\",\"#8c8c8c\",\"#8d8d8d\",\"#8e8e8e\",\"#8f8f8f\",\"#909090\",\"#919191\",\"#929292\",\"#939393\",\"#939393\",\"#959595\",\"#969696\",\"#979797\",\"#989898\",\"#999999\",\"#9a9a9a\",\"#9b9b9b\",\"#9c9c9c\",\"#9d9d9d\",\"#9e9e9e\",\"#9f9f9f\",\"#a0a0a0\",\"#a1a1a1\",\"#a2a2a2\",\"#a3a3a3\",\"#a3a3a3\",\"#a5a5a5\",\"#a6a6a6\",\"#a7a7a7\",\"#a8a8a8\",\"#a9a9a9\",\"#aaaaaa\",\"#ababab\",\"#acacac\",\"#adadad\",\"#aeaeae\",\"#afafaf\",\"#b0b0b0\",\"#b1b1b1\",\"#b2b2b2\",\"#b3b3b3\",\"#b3b3b3\",\"#b5b5b5\",\"#b6b6b6\",\"#b7b7b7\",\"#b8b8b8\",\"#b9b9b9\",\"#bababa\",\"#bbbbbb\",\"#bcbcbc\",\"#bdbdbd\",\"#bebebe\",\"#bfbfbf\",\"#c0c0c0\",\"#c1c1c1\",\"#c2c2c2\",\"#c3c3c3\",\"#c3c3c3\",\"#c5c5c5\",\"#c6c6c6\",\"#c7c7c7\",\"#c8c8c8\",\"#c9c9c9\",\"#cacaca\",\"#cbcbcb\",\"#cccccc\",\"#cdcdcd\",\"#cecece\",\"#cfcfcf\",\"#d0d0d0\",\"#d1d1d1\",\"#d2d2d2\",\"#d3d3d3\",\"#d3d3d3\",\"#d5d5d5\",\"#d6d6d6\",\"#d7d7d7\",\"#d8d8d8\",\"#d9d9d9\",\"#dadada\",\"#dbdbdb\",\"#dcdcdc\",\"#dddddd\",\"#dedede\",\"#dfdfdf\",\"#e0e0e0\",\"#e1e1e1\",\"#e2e2e2\",\"#e3e3e3\",\"#e3e3e3\",\"#e5e5e5\",\"#e6e6e6\",\"#e7e7e7\",\"#e8e8e8\",\"#e9e9e9\",\"#eaeaea\",\"#ebebeb\",\"#ececec\",\"#ededed\",\"#eeeeee\",\"#efefef\",\"#f0f0f0\",\"#f1f1f1\",\"#f2f2f2\",\"#f3f3f3\",\"#f3f3f3\",\"#f5f5f5\",\"#f6f6f6\",\"#f7f7f7\",\"#f8f8f8\",\"#f9f9f9\",\"#fafafa\",\"#fbfbfb\",\"#fcfcfc\",\"#fdfdfd\",\"#fefefe\",\"#ffffff\"]},\"id\":\"7eb3ed7e-4433-4e14-bcc4-256c512cb757\",\"type\":\"LinearColorMapper\"},{\"attributes\":{\"data_source\":{\"id\":\"f21db987-38fe-43b3-b52d-978b52a68ce3\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"d821e68b-15ed-485f-811a-8457d2f2338c\",\"type\":\"Image\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"598a7e48-4cf2-40c5-bf62-8c2de4990834\",\"type\":\"Image\"},\"selection_glyph\":null,\"view\":{\"id\":\"72606f4c-b750-4f7c-a6c8-c753ea96ef42\",\"type\":\"CDSView\"}},\"id\":\"f5b3b7ae-3426-48f8-8ab0-9cc02c814132\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"tools\":[{\"id\":\"4e040d12-3539-458b-9b2e-581f34943949\",\"type\":\"SaveTool\"},{\"id\":\"4b129aed-5f3f-485b-85e4-ae351acc485a\",\"type\":\"PanTool\"},{\"id\":\"61892474-7e73-4f08-b688-8321e5df7c3e\",\"type\":\"WheelZoomTool\"},{\"id\":\"7273cf01-0649-4060-9d10-52b9fb5ab25e\",\"type\":\"BoxZoomTool\"},{\"id\":\"2466781c-4892-49c8-b2d1-347372250749\",\"type\":\"ResetTool\"},{\"id\":\"72bfa98a-f5f0-4a2a-af22-73440c5eed31\",\"type\":\"SaveTool\"},{\"id\":\"1139cc27-b834-4bd0-9fe8-a98c225a6ac4\",\"type\":\"PanTool\"},{\"id\":\"5b2ff7a7-9bc7-4c94-90f6-620b064d4e2d\",\"type\":\"WheelZoomTool\"},{\"id\":\"2b8fda2c-b3da-43b1-ac35-b88550972ac1\",\"type\":\"BoxZoomTool\"},{\"id\":\"3061507c-1435-43c0-a536-25fd518c0dea\",\"type\":\"ResetTool\"},{\"id\":\"83e76204-d5a8-4e13-94f0-d8546fe132fc\",\"type\":\"SaveTool\"},{\"id\":\"5df1e3ff-0092-475a-ac3f-ab4a410db83b\",\"type\":\"PanTool\"},{\"id\":\"9eebf909-8670-4e5a-8064-7da691911824\",\"type\":\"WheelZoomTool\"},{\"id\":\"e0e095f3-d4a7-4b1e-aac4-ef21f43a061e\",\"type\":\"BoxZoomTool\"},{\"id\":\"637fafbb-475f-4f41-9c8b-91b82684e08d\",\"type\":\"ResetTool\"}]},\"id\":\"762479ec-9dec-43e9-957a-fd897e4d830e\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"YGNhS0xaXExESE5RWmFwZmhhXWJteG9qaGloaWdsa2RkY2BdXF5gXVVQUFxncXZtcmdmZm91bGdpbnJyb25nZWlmY2VmamttZ2hmcHJ1dnRya3F0aWhhXWhma1dwZE9kbWdobWxtcHBsc3Jwd3ZvbG1TYnRhWG1pbWpqRGlHQGJtbXR3aG9tYHFxb21ydU5RXkZkamFZcG5ta2E+WjVEYmdzd2ledGtre3F3c2NjKFFBT3VoZmJwcWJrWilELFFrZ3J0ZGJsWGB0bmxnYEsUSRtGZ2JubXJ0c3pUFSAeYG9naGxoZWlNSV9oa19nNRAiCkhUUGNqbGl0cTIMEx1eX25eXlldYDxXQT1RYFgfDwoRW1tZXmhgYGpjFgsRNmFYamBgV1tXFjAnQz8wLBIPCx1mZ3BsfW9jc2QMERtGYlV3cHJmY19edWajp2UjGBcRDSAjKCtDW2ltQQQMEh9QSnt5dnNlWbCxsc2QiTcNGQkFBAMCBQYMOk4XAgkRBz5Gf4KDck8+s8KseUpWLQQYGQ0NDAoQEgMKDwYKGCQGNEZtY3t+aF/JqGlaTkYcGDgxFgsMESQrFxIKEyMyJgkuREdGkri/pJ1QMnOHUxw3QjIUGB0cLzwvLxMcPz4jCytIQUWf18ybez08WnMxKUtQQC46NSk4SkA6GSpANTEUJEc+Qpvgxpd8MyE5LwwvSVZgVlM7Mj9fUTEeNT9JXhkhPj9atsuLkIw2JTYQEjNCTl9TSTczOVhNIhxGV2RXEig3TIXf483PnUBWPhMeL0heUktFOzQ0QEonIUxRRzUvKytdr+z17/G0R1lUHyAuTm1NT3J9hoVyZ0k8OzEuO0AyKXnd8/Pt8tRXRVQfJD1Wg5Ch09vd3drUyLWKSzA/Mywuj+vw8PDx6oxBTTQ/VWS/7Ovw8O/t7/Hy8eaIPV9BIjC88e/u8O/wv0tDRUhjtO/u6+/v7/Dw8O/w9MF6tnUzS+b19fHw7/TGSkRheKbt9fDv8fHw8fHy8fL06M7roFKO9Pj28/Pz9d6Klr3M4fP08vL08/Pz8/Pz9PTz9PWvg8z69/Pz9fX19enq8/L09fX09PX19fX19fX18vP18ci/3fv18fL19fX19vf29vb09PX08/T19fX19fXy8vPr19fl+PPy8/T09PT09fT09PPz9PPz8/T09PT09PT08+7j3+X28/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8ern6vbz9PT09PT09PT09PT09PT09PT09PT09PPz8/Py7uvs9fLy8/Pz9PT09PT09PT09PT09PTz8/Py8vLz8vHu7Ov08PDx8fLy8vLy8vLy8vLy8vLy8vLx8fHx8fHx7+3r6g==\",\"dtype\":\"uint8\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"76426f65-c146-4d2b-a8f2-ca09c5fdc3e0\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"toolbar\":{\"id\":\"762479ec-9dec-43e9-957a-fd897e4d830e\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"60b65c57-dec7-458b-8860-f86f1bb38b1d\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"299ffaea-e7e9-4db4-9e4f-a563e9cc397f\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"color_mapper\":{\"id\":\"7eb3ed7e-4433-4e14-bcc4-256c512cb757\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"92c4749c-671b-4316-953a-45e59b28dc6d\",\"type\":\"Image\"},{\"attributes\":{\"color_mapper\":{\"id\":\"7eb3ed7e-4433-4e14-bcc4-256c512cb757\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b5dc5a46-95d1-4128-a265-d0771ae573ca\",\"type\":\"Image\"},{\"attributes\":{\"data_source\":{\"id\":\"76426f65-c146-4d2b-a8f2-ca09c5fdc3e0\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"92c4749c-671b-4316-953a-45e59b28dc6d\",\"type\":\"Image\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"b5dc5a46-95d1-4128-a265-d0771ae573ca\",\"type\":\"Image\"},\"selection_glyph\":null,\"view\":{\"id\":\"de47fb97-8ad9-488d-b4b0-932cc447d3ef\",\"type\":\"CDSView\"}},\"id\":\"4f0be99d-c0b0-4b60-8cf7-ae1bbee3f715\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"mpiUgIORlIJ3e4CFj5emnKCcmqKrsaikoaKioZqYmpqcl5ORk5SWk4qFhJGbpaqip56go6mqoZyepKShnpWQmKCalZmcoKGim5yZpKOmp6WhmaKnnJmSjpqbmICdiHOVoZmYn6Cio6KgqaekqKOal5N3jqKRipyYnp2VZpNlYJCcm6KnmJ6YhqSoo6Gmnm1zeGOUm5OQn5udnIpXfEhej5OeopiNoZOMpqGkopSDOmdRaKWdmpifn5ScfzRTN2yYkZydkY+XfX+hoZyZjWMaUCJdl5qgnaKlpKlzEx0lgJyRkpaUj5FvZo6cnpSRRw0hEmOEhI+SnJuhnEoECSWBjJiJiISGh1ttX2F0h30tCwkcfYuHgIiOkZSGJwQLQ4iFk4uOg350L0Y6UFBJRx0ODSuFjZCDl5qVn4IaDRdXjYidmqGRf29vkXuktXs1IRoWFi0wNDdSfZaXWQ0LDyx7hJ+enJiAZ73EvtWqpUkUGwwKCwoJCgwgV2kjBgwWDV1+np2bjGVKv9O/kHZ+PwgaGhAPDw8TFA0XGgwMHjMKSnuGdoiJc2rYv4BsdGkrHDk1GQsPGCoyIhwRGCc6OQ9Bd1tRl7e/rbFtP2qKXSM6RDsaGiMnPE1APBwlRkc0Ej97W1yfy8mhiFJGU3EvJ0lQRTE7OjJCWFNKIi9GPz4WMW9hZJrNwZd8PS5BNw4tR1VeVlQ/OUdqZEUoNUJQYxUoXGJ2tLeBioU7LjoUEzVETlpUTj88RGRgNSZFV2VVDTJUa5fZzb7CkD9cPxUfMUlaSkhIPzo5RFEtI0tRSDMuOUZ0st3e3+GkRV5THyItSmU/RWt2goBrXkAzOTU2QkdERIfU3dzd4sRVSVEgJThMdH+PwsvNzszDtqaHU0BQQEBGm9zd3t7g2INDSjRCU1Wo2drc3dvb3d7e3tiJSWtNNULB3t3d3dzdskg+QUlio9Xc3Nzc3N3d3dzb37l6sHxEVN7d3d3d3OC2QTlXcp/c3d/e3d3d3d3d3d7e2L7Un16M4Nzd3d3d38p5ha2+09/e39/e3t3d3d3d3dzc3Nelgrvg3t3d3t7e3tHU3dzd3t7e3t7e3t3d3N3c2tvd2LiuwOHe3t3e3t7d3N3d3dzc3Nzc3N3e3d3d3dza297Zw7vD39zc3Nzc3Nzc3Nzc29vb29vb29vb29vc3Nvc3NjKw8fe29vb29vb29ra2tra2tra2tra2tra2tra2tra2NDNztzZ2tra2tra2dna2tra2tra2tra2tra2dnZ2dnY1NDP2tfX2NjY2dnX19jY2NjY2NjY19fX1tbW1tbW1tXU0c3X1NTV1dXW1tXV1dXV1dXV1dXV1dXU1NTU1NTT0tLQyw==\",\"dtype\":\"uint8\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"2e382b55-5923-46f0-a450-b5c9e3e1b1dc\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"76426f65-c146-4d2b-a8f2-ca09c5fdc3e0\",\"type\":\"ColumnDataSource\"}},\"id\":\"de47fb97-8ad9-488d-b4b0-932cc447d3ef\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"f21db987-38fe-43b3-b52d-978b52a68ce3\",\"type\":\"ColumnDataSource\"}},\"id\":\"72606f4c-b750-4f7c-a6c8-c753ea96ef42\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3adba439-0a0e-4cce-99b4-dfcbed33bbe5\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"222c6d4a-0f77-4951-93b6-df8e8cbaf849\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"color_mapper\":{\"id\":\"6f674a1d-a957-48de-aa9b-3693117bd4f9\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"d821e68b-15ed-485f-811a-8457d2f2338c\",\"type\":\"Image\"},{\"attributes\":{\"color_mapper\":{\"id\":\"8099ee60-ea6c-4c36-bc7c-4e7b1e109f1f\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"f7f7067f-07ed-45c9-bb68-f73fef46960c\",\"type\":\"Image\"},{\"attributes\":{\"color_mapper\":{\"id\":\"8099ee60-ea6c-4c36-bc7c-4e7b1e109f1f\",\"type\":\"LinearColorMapper\"},\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"ec45eb41-3afd-4191-8f50-12abcc0ab7ba\",\"type\":\"Image\"},{\"attributes\":{\"data_source\":{\"id\":\"2e382b55-5923-46f0-a450-b5c9e3e1b1dc\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"f7f7067f-07ed-45c9-bb68-f73fef46960c\",\"type\":\"Image\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"ec45eb41-3afd-4191-8f50-12abcc0ab7ba\",\"type\":\"Image\"},\"selection_glyph\":null,\"view\":{\"id\":\"321110ce-c3cc-477e-ae6d-643d01202fde\",\"type\":\"CDSView\"}},\"id\":\"4984c11f-5b03-4748-971b-c29278462aeb\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"2e382b55-5923-46f0-a450-b5c9e3e1b1dc\",\"type\":\"ColumnDataSource\"}},\"id\":\"321110ce-c3cc-477e-ae6d-643d01202fde\",\"type\":\"CDSView\"},{\"attributes\":{\"children\":[{\"id\":\"60b65c57-dec7-458b-8860-f86f1bb38b1d\",\"type\":\"ToolbarBox\"},{\"id\":\"69227c94-6c48-4200-8881-85810a44e7f9\",\"type\":\"Column\"}]},\"id\":\"ccf6940f-4416-42fe-8daf-76d8183c8589\",\"type\":\"Column\"},{\"attributes\":{\"plot\":null,\"text\":\"b\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"edb0dfe1-2072-4b86-b885-217484116dc6\",\"type\":\"Title\"},{\"attributes\":{\"children\":[{\"id\":\"719f9fbc-5245-4f18-bddf-11b50a0e8c37\",\"type\":\"Row\"}]},\"id\":\"69227c94-6c48-4200-8881-85810a44e7f9\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"e3a9d382-a015-4674-a734-0d5a1db7d9c2\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"32865f69-e8ee-4dc5-a785-f01f97722478\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"f39dcd70-e420-46a4-bae0-f98dea7f72db\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"d84d3d8d-465a-4f31-ba05-5e2378a44b47\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4a40c39f-ad98-4425-9339-ac48e2d33063\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"d84d3d8d-465a-4f31-ba05-5e2378a44b47\",\"type\":\"LinearAxis\"},{\"id\":\"650d30af-1cc5-47e8-a665-2946442d9980\",\"type\":\"Grid\"},{\"id\":\"4a40c39f-ad98-4425-9339-ac48e2d33063\",\"type\":\"LinearAxis\"},{\"id\":\"c6c3b952-0204-4826-99b4-9180824c595e\",\"type\":\"Grid\"},{\"id\":\"fd779a2a-973e-444a-9dd1-f9c0091d3fa9\",\"type\":\"BoxAnnotation\"},{\"id\":\"4f0be99d-c0b0-4b60-8cf7-ae1bbee3f715\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"edb0dfe1-2072-4b86-b885-217484116dc6\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"63aa6166-c80c-4a9e-b433-ab57d493d100\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"32865f69-e8ee-4dc5-a785-f01f97722478\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"f39dcd70-e420-46a4-bae0-f98dea7f72db\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"f2b34818-d5cf-41bf-b138-153c377dcd03\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"027b0407-3613-49fc-a09e-06af1def605e\",\"type\":\"LinearScale\"}},\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"3adba439-0a0e-4cce-99b4-dfcbed33bbe5\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3e1c1228-9dcf-4c62-bf54-8dbfdf91dfd4\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"4e22f233-ce80-48c3-8f66-293103f59a19\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"299ffaea-e7e9-4db4-9e4f-a563e9cc397f\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4a40683f-8264-45b9-a3ff-f725b1bf807d\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"d84d3d8d-465a-4f31-ba05-5e2378a44b47\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"eXh0XFxpbFlMUFVaZ299c3dzcniFkoqFgoKBgHp8fHh4dHBsbG5wbGBbW2h0f4N7gnp8foeLg36AhoeEgX54eHt1cHV4fH1+eHl2gYGFhoSEf4eMgHx1cX1/fWaCdV94e3R0fH+Ag4eCiImGi4d/f39jd4p3bX55gIB7TnhTTHF5eH+GfX5+f4qCh4OGgllnbU92e3ZyfHZ7fHFDZDhHanaChnpzg32JjnqHgXBqLmRLVYV7e3h5d254ZihGLFV0eoWGdHV7a4GLe351aE4XVSBKeHeBfHp7fYRdDhodan17fIB4dXdhb398g3JyOxImDU9kYnF2d3R+fDkCCRxtcn9wb2dsb1B8XExjbWgsFAkTaGtlZnNvcHdwHQQJOHZxe3FyZmZhK1pEQj43PSEWDSJ1dnhyioF4iHMTDBVJd26HgYZ5a2RzpI6krXk5JyAZFSgqLTNOan6FTgcMEyNhYoWHhoNvYcPW0+rFvlcdIQ4KCgoKDg8YSV4eBhEgDUthhYiIelhLyOLStaOlURQiHhITFRgeIRQYGAwSLEYSQGNyYXF3bXLmzYyBjIE4JkVAIBQbJz1HNSoXHTNQVRw5YE08eqO9u8Z8P118WydCU04nJDM7VGZdUicuVmJYIzVhTkaDuc6zlVQ7QFgnKk9ZUThCSUlddndpMjtaXmMmKFhRTYC9yKV8Mx85KQwwS1plXV5SVWSFiGI4RVpvgiAgSk9dmJ97iHkvKj8QFjdGVWZjY1lcYHl8TTZZcH9pESdBVXu6r6utdzNhUBkjMklgU1ZZUk5NVmhENltjVzgoKTFblby7wL2DOmhrKCQuSGM+RGpye3trYkY6Ojc1OTgvLW22uri6tqBKU2spJTdIam97qq+tra6nnpJ1RjM9LCovfLm4uLm3sm1GXDw8RkSRu7e4t7Szt7i6u7dwNVM5Ii2fuLa3t7e2k0RGRDxIhrS0s7a2tri5uLi2tpdflWYyQLm0tba1tLeWNTRPXX22tbKztbW1tre3uLezsJuyhEd1t7C0tLOytKZjcJafqrSxsLKzs7OztbW1tLGwsrGHZ6GyrrOzsbGxta+wtrOysbKysbGxsbKzs7O0tLCwr5iQorGtsrKxsbGytbKwsLCxsrOxr7CxsrOzs7O1sbGwoZuisa6vr6+vr7CysbGxsbGxsrGxsbGxsbGysrKysa6moaKvra2tra2tra+vr6+vr6+vr6+vr6+vr6+vr6+vramnpqyqq6urq6urrKysrKysrKysrK2traysrKysrKurqKWjqKampqanp6iqqqqqqqqqqqqqqqqpqamoqKipqKekoJ6koqKjoqOkpKWlpaWlpaWlpaWlpaWkpKSkpKSkop2ZmQ==\",\"dtype\":\"uint8\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"f21db987-38fe-43b3-b52d-978b52a68ce3\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"83e76204-d5a8-4e13-94f0-d8546fe132fc\",\"type\":\"SaveTool\"},{\"id\":\"5df1e3ff-0092-475a-ac3f-ab4a410db83b\",\"type\":\"PanTool\"},{\"id\":\"9eebf909-8670-4e5a-8064-7da691911824\",\"type\":\"WheelZoomTool\"},{\"id\":\"e0e095f3-d4a7-4b1e-aac4-ef21f43a061e\",\"type\":\"BoxZoomTool\"},{\"id\":\"637fafbb-475f-4f41-9c8b-91b82684e08d\",\"type\":\"ResetTool\"}]},\"id\":\"63aa6166-c80c-4a9e-b433-ab57d493d100\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":null,\"text\":\"g\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"c0359914-3002-4ebc-a2fe-a6cd87c8f7ee\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"027b0407-3613-49fc-a09e-06af1def605e\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"56646fd8-9e6c-4d3e-a0f6-6cc2be178241\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"afa4fa07-ce08-4c5a-92e6-1a83b44cc657\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3d0a0e5d-34a7-4be2-acc3-b0201651bc3c\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"4a40683f-8264-45b9-a3ff-f725b1bf807d\",\"type\":\"BasicTicker\"}},\"id\":\"650d30af-1cc5-47e8-a665-2946442d9980\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"4e22f233-ce80-48c3-8f66-293103f59a19\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"d982fd6e-6519-444e-8bbe-320a9fdd477d\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"4e22f233-ce80-48c3-8f66-293103f59a19\",\"type\":\"LinearAxis\"},{\"id\":\"3e893dbd-d21a-4658-9a29-ebeb031e91a8\",\"type\":\"Grid\"},{\"id\":\"d982fd6e-6519-444e-8bbe-320a9fdd477d\",\"type\":\"LinearAxis\"},{\"id\":\"f4d076e9-c58d-4392-a512-9d68da221962\",\"type\":\"Grid\"},{\"id\":\"a5833f6c-b0be-4961-b437-5cbe43f4ea95\",\"type\":\"BoxAnnotation\"},{\"id\":\"4984c11f-5b03-4748-971b-c29278462aeb\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"c0359914-3002-4ebc-a2fe-a6cd87c8f7ee\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"0c9e0ed2-f177-463e-9e91-c30660a44088\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"32865f69-e8ee-4dc5-a785-f01f97722478\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"3d0a0e5d-34a7-4be2-acc3-b0201651bc3c\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"f2b34818-d5cf-41bf-b138-153c377dcd03\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"92bbef24-723d-4db5-bd25-45eb0947d11f\",\"type\":\"LinearScale\"}},\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"4a40683f-8264-45b9-a3ff-f725b1bf807d\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"72bfa98a-f5f0-4a2a-af22-73440c5eed31\",\"type\":\"SaveTool\"},{\"id\":\"1139cc27-b834-4bd0-9fe8-a98c225a6ac4\",\"type\":\"PanTool\"},{\"id\":\"5b2ff7a7-9bc7-4c94-90f6-620b064d4e2d\",\"type\":\"WheelZoomTool\"},{\"id\":\"2b8fda2c-b3da-43b1-ac35-b88550972ac1\",\"type\":\"BoxZoomTool\"},{\"id\":\"3061507c-1435-43c0-a536-25fd518c0dea\",\"type\":\"ResetTool\"}]},\"id\":\"0c9e0ed2-f177-463e-9e91-c30660a44088\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"222c6d4a-0f77-4951-93b6-df8e8cbaf849\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"35bcd215-8e01-4ae9-b97c-5e4a675e7200\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"4a40c39f-ad98-4425-9339-ac48e2d33063\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"92bbef24-723d-4db5-bd25-45eb0947d11f\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"35bcd215-8e01-4ae9-b97c-5e4a675e7200\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"35bcd215-8e01-4ae9-b97c-5e4a675e7200\",\"type\":\"BasicTicker\"}},\"id\":\"c6c3b952-0204-4826-99b4-9180824c595e\",\"type\":\"Grid\"},{\"attributes\":{\"children\":[{\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"c6ce4ddc-d526-4412-8a48-e3453bdf8e5d\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"719f9fbc-5245-4f18-bddf-11b50a0e8c37\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"646d279e-78ed-48a7-ac0d-507a1564d2bb\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"3e1c1228-9dcf-4c62-bf54-8dbfdf91dfd4\",\"type\":\"BasicTicker\"}},\"id\":\"3e893dbd-d21a-4658-9a29-ebeb031e91a8\",\"type\":\"Grid\"},{\"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\":\"fd779a2a-973e-444a-9dd1-f9c0091d3fa9\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3e1c1228-9dcf-4c62-bf54-8dbfdf91dfd4\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"83e76204-d5a8-4e13-94f0-d8546fe132fc\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"e3a9d382-a015-4674-a734-0d5a1db7d9c2\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"fae91496-b986-4d73-97b5-e24627251a65\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"d982fd6e-6519-444e-8bbe-320a9fdd477d\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"fae91496-b986-4d73-97b5-e24627251a65\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5df1e3ff-0092-475a-ac3f-ab4a410db83b\",\"type\":\"PanTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"1636c20f-e17e-46a4-bf72-dbfc5a5dac7e\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"fae91496-b986-4d73-97b5-e24627251a65\",\"type\":\"BasicTicker\"}},\"id\":\"f4d076e9-c58d-4392-a512-9d68da221962\",\"type\":\"Grid\"},{\"attributes\":{\"high\":226,\"low\":4,\"palette\":[\"#000000\",\"#010101\",\"#020202\",\"#030303\",\"#040404\",\"#050505\",\"#060606\",\"#070707\",\"#080808\",\"#090909\",\"#0a0a0a\",\"#0b0b0b\",\"#0c0c0c\",\"#0d0d0d\",\"#0e0e0e\",\"#0f0f0f\",\"#101010\",\"#111111\",\"#121212\",\"#131313\",\"#141414\",\"#151515\",\"#161616\",\"#171717\",\"#181818\",\"#191919\",\"#1a1a1a\",\"#1b1b1b\",\"#1c1c1c\",\"#1d1d1d\",\"#1e1e1e\",\"#1f1f1f\",\"#202020\",\"#202020\",\"#222222\",\"#232323\",\"#242424\",\"#242424\",\"#262626\",\"#272727\",\"#282828\",\"#282828\",\"#2a2a2a\",\"#2b2b2b\",\"#2c2c2c\",\"#2c2c2c\",\"#2e2e2e\",\"#2f2f2f\",\"#303030\",\"#303030\",\"#323232\",\"#333333\",\"#343434\",\"#343434\",\"#363636\",\"#373737\",\"#383838\",\"#383838\",\"#3a3a3a\",\"#3b3b3b\",\"#3c3c3c\",\"#3c3c3c\",\"#3e3e3e\",\"#3f3f3f\",\"#404040\",\"#414141\",\"#414141\",\"#434343\",\"#444444\",\"#454545\",\"#464646\",\"#474747\",\"#484848\",\"#494949\",\"#494949\",\"#4b4b4b\",\"#4c4c4c\",\"#4d4d4d\",\"#4e4e4e\",\"#4f4f4f\",\"#505050\",\"#515151\",\"#515151\",\"#535353\",\"#545454\",\"#555555\",\"#565656\",\"#575757\",\"#585858\",\"#595959\",\"#595959\",\"#5b5b5b\",\"#5c5c5c\",\"#5d5d5d\",\"#5e5e5e\",\"#5f5f5f\",\"#606060\",\"#616161\",\"#616161\",\"#636363\",\"#646464\",\"#656565\",\"#666666\",\"#676767\",\"#686868\",\"#696969\",\"#696969\",\"#6b6b6b\",\"#6c6c6c\",\"#6d6d6d\",\"#6e6e6e\",\"#6f6f6f\",\"#707070\",\"#717171\",\"#717171\",\"#737373\",\"#747474\",\"#757575\",\"#767676\",\"#777777\",\"#787878\",\"#797979\",\"#797979\",\"#7b7b7b\",\"#7c7c7c\",\"#7d7d7d\",\"#7e7e7e\",\"#7f7f7f\",\"#808080\",\"#818181\",\"#828282\",\"#838383\",\"#838383\",\"#858585\",\"#868686\",\"#878787\",\"#888888\",\"#898989\",\"#8a8a8a\",\"#8b8b8b\",\"#8c8c8c\",\"#8d8d8d\",\"#8e8e8e\",\"#8f8f8f\",\"#909090\",\"#919191\",\"#929292\",\"#939393\",\"#939393\",\"#959595\",\"#969696\",\"#979797\",\"#989898\",\"#999999\",\"#9a9a9a\",\"#9b9b9b\",\"#9c9c9c\",\"#9d9d9d\",\"#9e9e9e\",\"#9f9f9f\",\"#a0a0a0\",\"#a1a1a1\",\"#a2a2a2\",\"#a3a3a3\",\"#a3a3a3\",\"#a5a5a5\",\"#a6a6a6\",\"#a7a7a7\",\"#a8a8a8\",\"#a9a9a9\",\"#aaaaaa\",\"#ababab\",\"#acacac\",\"#adadad\",\"#aeaeae\",\"#afafaf\",\"#b0b0b0\",\"#b1b1b1\",\"#b2b2b2\",\"#b3b3b3\",\"#b3b3b3\",\"#b5b5b5\",\"#b6b6b6\",\"#b7b7b7\",\"#b8b8b8\",\"#b9b9b9\",\"#bababa\",\"#bbbbbb\",\"#bcbcbc\",\"#bdbdbd\",\"#bebebe\",\"#bfbfbf\",\"#c0c0c0\",\"#c1c1c1\",\"#c2c2c2\",\"#c3c3c3\",\"#c3c3c3\",\"#c5c5c5\",\"#c6c6c6\",\"#c7c7c7\",\"#c8c8c8\",\"#c9c9c9\",\"#cacaca\",\"#cbcbcb\",\"#cccccc\",\"#cdcdcd\",\"#cecece\",\"#cfcfcf\",\"#d0d0d0\",\"#d1d1d1\",\"#d2d2d2\",\"#d3d3d3\",\"#d3d3d3\",\"#d5d5d5\",\"#d6d6d6\",\"#d7d7d7\",\"#d8d8d8\",\"#d9d9d9\",\"#dadada\",\"#dbdbdb\",\"#dcdcdc\",\"#dddddd\",\"#dedede\",\"#dfdfdf\",\"#e0e0e0\",\"#e1e1e1\",\"#e2e2e2\",\"#e3e3e3\",\"#e3e3e3\",\"#e5e5e5\",\"#e6e6e6\",\"#e7e7e7\",\"#e8e8e8\",\"#e9e9e9\",\"#eaeaea\",\"#ebebeb\",\"#ececec\",\"#ededed\",\"#eeeeee\",\"#efefef\",\"#f0f0f0\",\"#f1f1f1\",\"#f2f2f2\",\"#f3f3f3\",\"#f3f3f3\",\"#f5f5f5\",\"#f6f6f6\",\"#f7f7f7\",\"#f8f8f8\",\"#f9f9f9\",\"#fafafa\",\"#fbfbfb\",\"#fcfcfc\",\"#fdfdfd\",\"#fefefe\",\"#ffffff\"]},\"id\":\"8099ee60-ea6c-4c36-bc7c-4e7b1e109f1f\",\"type\":\"LinearColorMapper\"},{\"attributes\":{},\"id\":\"9eebf909-8670-4e5a-8064-7da691911824\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"below\":[{\"id\":\"2991cabf-2dd9-4fbf-8850-c3d6cead7f77\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"716713f8-3202-4578-a65c-18acfb755304\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"2991cabf-2dd9-4fbf-8850-c3d6cead7f77\",\"type\":\"LinearAxis\"},{\"id\":\"7784699b-dd55-4ca5-9745-45c6fbb3c556\",\"type\":\"Grid\"},{\"id\":\"716713f8-3202-4578-a65c-18acfb755304\",\"type\":\"LinearAxis\"},{\"id\":\"364b02cb-453f-44a2-a93b-0f2c22c49b98\",\"type\":\"Grid\"},{\"id\":\"f8c6137e-8eac-47ec-959d-41fa07a7f9c3\",\"type\":\"BoxAnnotation\"},{\"id\":\"f5b3b7ae-3426-48f8-8ab0-9cc02c814132\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3bde06aa-61cd-4868-a13b-3c51981e5408\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2dc2d2d7-4e92-4a8a-8f60-26914818ccfd\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"32865f69-e8ee-4dc5-a785-f01f97722478\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"646d279e-78ed-48a7-ac0d-507a1564d2bb\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"f2b34818-d5cf-41bf-b138-153c377dcd03\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"6f7104e8-19fc-4b65-8cc1-2dde90271605\",\"type\":\"LinearScale\"}},\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"fd779a2a-973e-444a-9dd1-f9c0091d3fa9\",\"type\":\"BoxAnnotation\"}},\"id\":\"e0e095f3-d4a7-4b1e-aac4-ef21f43a061e\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"637fafbb-475f-4f41-9c8b-91b82684e08d\",\"type\":\"ResetTool\"},{\"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\":\"a5833f6c-b0be-4961-b437-5cbe43f4ea95\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"plot\":null,\"text\":\"r\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"3bde06aa-61cd-4868-a13b-3c51981e5408\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"72bfa98a-f5f0-4a2a-af22-73440c5eed31\",\"type\":\"SaveTool\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"51a5c4bf-22d6-45ce-81a9-7f28f5f4dc33\",\"type\":\"BasicTicker\"}},\"id\":\"7784699b-dd55-4ca5-9745-45c6fbb3c556\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"f2b34818-d5cf-41bf-b138-153c377dcd03\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"6f7104e8-19fc-4b65-8cc1-2dde90271605\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1139cc27-b834-4bd0-9fe8-a98c225a6ac4\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4e040d12-3539-458b-9b2e-581f34943949\",\"type\":\"SaveTool\"},{\"id\":\"4b129aed-5f3f-485b-85e4-ae351acc485a\",\"type\":\"PanTool\"},{\"id\":\"61892474-7e73-4f08-b688-8321e5df7c3e\",\"type\":\"WheelZoomTool\"},{\"id\":\"7273cf01-0649-4060-9d10-52b9fb5ab25e\",\"type\":\"BoxZoomTool\"},{\"id\":\"2466781c-4892-49c8-b2d1-347372250749\",\"type\":\"ResetTool\"}]},\"id\":\"2dc2d2d7-4e92-4a8a-8f60-26914818ccfd\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"5b2ff7a7-9bc7-4c94-90f6-620b064d4e2d\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"56646fd8-9e6c-4d3e-a0f6-6cc2be178241\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"51a5c4bf-22d6-45ce-81a9-7f28f5f4dc33\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"2991cabf-2dd9-4fbf-8850-c3d6cead7f77\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"a5833f6c-b0be-4961-b437-5cbe43f4ea95\",\"type\":\"BoxAnnotation\"}},\"id\":\"2b8fda2c-b3da-43b1-ac35-b88550972ac1\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"51a5c4bf-22d6-45ce-81a9-7f28f5f4dc33\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3061507c-1435-43c0-a536-25fd518c0dea\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"afa4fa07-ce08-4c5a-92e6-1a83b44cc657\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7b961470-6f69-43db-b1c4-ddde89b9ceb7\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"716713f8-3202-4578-a65c-18acfb755304\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"7b961470-6f69-43db-b1c4-ddde89b9ceb7\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"58cc087b-45fc-4985-b03e-820b9458aed0\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7b961470-6f69-43db-b1c4-ddde89b9ceb7\",\"type\":\"BasicTicker\"}},\"id\":\"364b02cb-453f-44a2-a93b-0f2c22c49b98\",\"type\":\"Grid\"},{\"attributes\":{\"high\":234,\"low\":2,\"palette\":[\"#000000\",\"#010101\",\"#020202\",\"#030303\",\"#040404\",\"#050505\",\"#060606\",\"#070707\",\"#080808\",\"#090909\",\"#0a0a0a\",\"#0b0b0b\",\"#0c0c0c\",\"#0d0d0d\",\"#0e0e0e\",\"#0f0f0f\",\"#101010\",\"#111111\",\"#121212\",\"#131313\",\"#141414\",\"#151515\",\"#161616\",\"#171717\",\"#181818\",\"#191919\",\"#1a1a1a\",\"#1b1b1b\",\"#1c1c1c\",\"#1d1d1d\",\"#1e1e1e\",\"#1f1f1f\",\"#202020\",\"#202020\",\"#222222\",\"#232323\",\"#242424\",\"#242424\",\"#262626\",\"#272727\",\"#282828\",\"#282828\",\"#2a2a2a\",\"#2b2b2b\",\"#2c2c2c\",\"#2c2c2c\",\"#2e2e2e\",\"#2f2f2f\",\"#303030\",\"#303030\",\"#323232\",\"#333333\",\"#343434\",\"#343434\",\"#363636\",\"#373737\",\"#383838\",\"#383838\",\"#3a3a3a\",\"#3b3b3b\",\"#3c3c3c\",\"#3c3c3c\",\"#3e3e3e\",\"#3f3f3f\",\"#404040\",\"#414141\",\"#414141\",\"#434343\",\"#444444\",\"#454545\",\"#464646\",\"#474747\",\"#484848\",\"#494949\",\"#494949\",\"#4b4b4b\",\"#4c4c4c\",\"#4d4d4d\",\"#4e4e4e\",\"#4f4f4f\",\"#505050\",\"#515151\",\"#515151\",\"#535353\",\"#545454\",\"#555555\",\"#565656\",\"#575757\",\"#585858\",\"#595959\",\"#595959\",\"#5b5b5b\",\"#5c5c5c\",\"#5d5d5d\",\"#5e5e5e\",\"#5f5f5f\",\"#606060\",\"#616161\",\"#616161\",\"#636363\",\"#646464\",\"#656565\",\"#666666\",\"#676767\",\"#686868\",\"#696969\",\"#696969\",\"#6b6b6b\",\"#6c6c6c\",\"#6d6d6d\",\"#6e6e6e\",\"#6f6f6f\",\"#707070\",\"#717171\",\"#717171\",\"#737373\",\"#747474\",\"#757575\",\"#767676\",\"#777777\",\"#787878\",\"#797979\",\"#797979\",\"#7b7b7b\",\"#7c7c7c\",\"#7d7d7d\",\"#7e7e7e\",\"#7f7f7f\",\"#808080\",\"#818181\",\"#828282\",\"#838383\",\"#838383\",\"#858585\",\"#868686\",\"#878787\",\"#888888\",\"#898989\",\"#8a8a8a\",\"#8b8b8b\",\"#8c8c8c\",\"#8d8d8d\",\"#8e8e8e\",\"#8f8f8f\",\"#909090\",\"#919191\",\"#929292\",\"#939393\",\"#939393\",\"#959595\",\"#969696\",\"#979797\",\"#989898\",\"#999999\",\"#9a9a9a\",\"#9b9b9b\",\"#9c9c9c\",\"#9d9d9d\",\"#9e9e9e\",\"#9f9f9f\",\"#a0a0a0\",\"#a1a1a1\",\"#a2a2a2\",\"#a3a3a3\",\"#a3a3a3\",\"#a5a5a5\",\"#a6a6a6\",\"#a7a7a7\",\"#a8a8a8\",\"#a9a9a9\",\"#aaaaaa\",\"#ababab\",\"#acacac\",\"#adadad\",\"#aeaeae\",\"#afafaf\",\"#b0b0b0\",\"#b1b1b1\",\"#b2b2b2\",\"#b3b3b3\",\"#b3b3b3\",\"#b5b5b5\",\"#b6b6b6\",\"#b7b7b7\",\"#b8b8b8\",\"#b9b9b9\",\"#bababa\",\"#bbbbbb\",\"#bcbcbc\",\"#bdbdbd\",\"#bebebe\",\"#bfbfbf\",\"#c0c0c0\",\"#c1c1c1\",\"#c2c2c2\",\"#c3c3c3\",\"#c3c3c3\",\"#c5c5c5\",\"#c6c6c6\",\"#c7c7c7\",\"#c8c8c8\",\"#c9c9c9\",\"#cacaca\",\"#cbcbcb\",\"#cccccc\",\"#cdcdcd\",\"#cecece\",\"#cfcfcf\",\"#d0d0d0\",\"#d1d1d1\",\"#d2d2d2\",\"#d3d3d3\",\"#d3d3d3\",\"#d5d5d5\",\"#d6d6d6\",\"#d7d7d7\",\"#d8d8d8\",\"#d9d9d9\",\"#dadada\",\"#dbdbdb\",\"#dcdcdc\",\"#dddddd\",\"#dedede\",\"#dfdfdf\",\"#e0e0e0\",\"#e1e1e1\",\"#e2e2e2\",\"#e3e3e3\",\"#e3e3e3\",\"#e5e5e5\",\"#e6e6e6\",\"#e7e7e7\",\"#e8e8e8\",\"#e9e9e9\",\"#eaeaea\",\"#ebebeb\",\"#ececec\",\"#ededed\",\"#eeeeee\",\"#efefef\",\"#f0f0f0\",\"#f1f1f1\",\"#f2f2f2\",\"#f3f3f3\",\"#f3f3f3\",\"#f5f5f5\",\"#f6f6f6\",\"#f7f7f7\",\"#f8f8f8\",\"#f9f9f9\",\"#fafafa\",\"#fbfbfb\",\"#fcfcfc\",\"#fdfdfd\",\"#fefefe\",\"#ffffff\"]},\"id\":\"6f674a1d-a957-48de-aa9b-3693117bd4f9\",\"type\":\"LinearColorMapper\"},{\"attributes\":{},\"id\":\"4e040d12-3539-458b-9b2e-581f34943949\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"61892474-7e73-4f08-b688-8321e5df7c3e\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"4b129aed-5f3f-485b-85e4-ae351acc485a\",\"type\":\"PanTool\"}],\"root_ids\":[\"ccf6940f-4416-42fe-8daf-76d8183c8589\"]},\"title\":\"Bokeh Application\",\"version\":\"0.12.13\"}};\n",
       "  var render_items = [{\"docid\":\"c50ebc10-2398-4395-9fc7-7ca3a473a1e7\",\"elementid\":\"2d47481e-f69b-42b1-8899-f5eda34015d8\",\"modelid\":\"ccf6940f-4416-42fe-8daf-76d8183c8589\"}];\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);\n",
       "</script>\n",
       "</div>"
      ],
      "text/plain": [
       ":Layout\n",
       "   .Image.R :Image   [x,y]   (z)\n",
       "   .Image.G :Image   [x,y]   (z)\n",
       "   .Image.B :Image   [x,y]   (z)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%output size=48\n",
    "%%opts Image [xaxis=None yaxis=None] (cmap='gray')\n",
    "\n",
    "i = 12\n",
    "print(cifar10_labels[y_train[i][0]])\n",
    "hv.Image(x_train[i,:,:,0], label='r') \\\n",
    "  + hv.Image(x_train[i,:,:,1], label='g') \\\n",
    "  + hv.Image(x_train[i,:,:,2], label='b')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we want to see a bunch of images from a particular class, we can use NumPy fancy indexing and Holoviews layouts to make a grid:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style='display: table; margin: 0 auto;'>\n",
       "\n",
       "<div class=\"bk-root\">\n",
       "    <div class=\"bk-plotdiv\" id=\"1f1a6f7c-f405-4032-81f4-13449f3db476\"></div>\n",
       "</div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"8b2085a4-20fd-4d36-9032-a04dae39c407\":{\"roots\":{\"references\":[{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"b4be9419-cc9a-45c1-aec7-feec60453928\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b8fca634-4725-4726-a7a9-361dc3bc1eb6\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"6524f544-2c54-4569-9962-88eeabe5e25c\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"ca8f1eec-4dc5-46f0-91f8-5c8e26fc4f7a\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"9d57b7e1-f9ef-4d89-b037-7b5d7d4da8d3\",\"type\":\"BoxAnnotation\"}},\"id\":\"854b2e77-d8c0-4264-bd48-fb990e836607\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"c8782eff-41b6-40bc-a6b9-742a8457da40\",\"type\":\"ResetTool\"},{\"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\":\"9d57b7e1-f9ef-4d89-b037-7b5d7d4da8d3\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b99ef11c-ea3a-4c6c-b6da-b18ab7b6b80b\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"source\":{\"id\":\"4c66090d-3882-4fa9-b27b-39e8036fb24f\",\"type\":\"ColumnDataSource\"}},\"id\":\"af6ae943-45ea-436c-b8b6-dba55f202123\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"57ed5e4a-d0cb-4302-bd28-f216d69fd46f\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"36b28dd2-5f7d-4660-b38f-a88fda815822\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"ea114c43-af54-4e7c-a6af-95926ab6ba7d\",\"type\":\"SaveTool\"},{\"id\":\"c28e8637-77df-4570-8abd-5fce5539eeeb\",\"type\":\"PanTool\"},{\"id\":\"f1dfe598-5601-4604-9853-219b0f748fe4\",\"type\":\"WheelZoomTool\"},{\"id\":\"93d31607-c4fa-4d2f-947a-33863bc433b8\",\"type\":\"BoxZoomTool\"},{\"id\":\"9374b3ec-0f14-4125-9ca4-42cbc236f69a\",\"type\":\"ResetTool\"}]},\"id\":\"003193e9-b0b1-4995-9993-b808c04131fc\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"y7B6/8ipeP/Nqnz/wax8/8WthP+omHP/g4Nh/317Wf+dlm3/qZtv/5WOYv92elX/dXFb/3t0Wf+IhGf/kpR5/4iIY/+Silr/kJJo/5OYbf+cmW3/j45g/5OXYP+VnGb/mZxq/6irfP+ltHf/kJxc/4aEXP+XmGj/m6dp/5emav+iiFf/q49f/8WjdP+vmW3/qJdr/4l+WP9nZEb/d3NU/4N/W/+OgVv/hn5Z/3h5Wv96c2L/in5q/4Z/ZP98fWP/f35c/4V/VP+EiF//dnxV/4uLY/+Cg1r/jZJi/42VYv+ZnGv/qq6A/5+tdP+QnmH/h4le/5GUY/+msHT/nqpv/3ZpPv96bED/rJVl/5KDX/96eUj/eH1T/2VdSf+Eel//enpa/2pnR/9kXj//dGxL/4d3XP+Bb1j/hnha/4d/aP+Jhmr/f4BX/4qQZf9jbEb/fIVe/3R9Vv9yfFX/f4pY/5WdaP+orYH/laN2/4ibaf+KmGX/lpxr/6eqeP+fpWz/iXJJ/4pzTf+ji2D/nZJv/3t9UP94fVb/YlpH/3xvU/99dVP/eHBT/2ZeR/9zaVT/koBr/4dvXP+Mdlf/hnRf/4J7bP96e2H/d3pc/25zWP9yeVn/aXJP/293VP+DjWD/j5Zj/5ugc/+Yp3v/jqJz/5Kjbv+cpXD/sLJ+/62xev+rhV7/s41t/6yQa/+Ti2f/fHtX/4WGZv9hWUX/gnJY/4x8Wf+Edl3/X1JF/0g+NP9kW0v/l4Ft/5F5V/9+a1T/Z2FT/2hnVP9naE3/dXZY/3J2V/9qb1D/fIJg/42VbP+PlGX/lpts/6Cvg/+ZrH7/k6Rx/5eja/+wtXz/ra94/9iwiv/Dlnn/vqJ9/4iEW/9UUTf/b2tU/1lQPf+KeWb/inZb/2dWQv9ENSr/Qjgu/0lFMf+QfmP/j3tS/3JnS/9qZ1L/Y2NI/2lpRf+HiFn/gINf/2twUv+Bh2L/oad//5ebbv+PlWP/obCE/6S2iv+ltof/n612/6qwdP+pq3L/xaN+/7iJbP+nj2T/lphp/05KOP9YUEH/TEQx/2xfVP9kVEb/X1BB/1dIOf9sXk3/hHJY/7qZeP/CoXb/e2pO/3RyW/9xcFT/dnNM/8TDif+TlGr/bG5O/4KHW/+lqX3/p6p7/5OZZv+uvI//scOZ/6m5jf+jsoH/mqJl/6yucf/Ap33/1K6J/7Sib/+hom7/UUo7/1JKPv9USzf/T0U+/0pAPf9RRjn/al1G/4BuUv+0kHL/16eD/9isgf+AY07/WFJE/1xaRf93c1H/19Oe/3t6Uf9ydVD/nqNx/62xgv+3uoz/pq16/7zJnP+zw5v/pLOO/6q5jv+osHT/srN1/760c//XyY7/wbd+/7CjbP9nW0L/UUxA/2RcRP9rYFL/UUlJ/2RdSf9zakj/rqB2/8ashv+7n3P/o4pc/2hQPv9HPjf/UE06/355Wv+4s4v/ZWVB/3h9U/+ut4L/s7yM/7nDnP+tuI//vMSZ/77GpP/Fz7f/rruT/6+3ev+xtHn/pKJg/726fP+4s3z/sKJt/4N2V/9dWEf/ZVlB/3hpVf9pYFf/k45y/5SQZ/+tqnv/uLaG/6yrdv+Sj1n/XlQ8/zgvKv89Nyj/c29X/4SAaP9cWD7/jIxk/6+1gv+jrn//ssCc/7TBnv+1vJH/trqV/8zRtv+8wZj/r698/7W2hP+Xl2b/tbaC/6yse/+wqXj/iIBc/2NbRf+Zh3P/d2RQ/2JZRP+BfVv/k5Nr/3h+U/+UoW3/nqVu/5iYYf9ZUjr/NCsn/zozK/9OS0D/TElE/1FIPP9+dlb/qat9/46Xav+UoX//pLGR/6muhf+jpnz/q7CH/6qnef+noHv/raqD/5OUcf+ytIj/l5ls/4qHXv+BfFf/YFg+/4p6av+jkoP/XVU//2JgQf90dVX/ZGpJ/4SOYf+fnm//p59w/1hOPP8rIyT/OTUx/z88Nv8zMC//S0I7/310Wv+YmW//e4JX/42Vdv+yt57/qKmG/5icc/+fpnf/n5xt/62jhP+2s47/npyF/76+lv+mp3z/gH5d/3ZzUv92clf/UUk//2tiXv9oZFf/WVdD/1NRPv9QUT3/Z2pI/42EX/+vo37/VU1D/x4dJf86Ozr/QD4y/1FMQP9RTEL/cXBZ/5SWb/+JjWX/j49z/7u2o/+VkXj/ipBt/5elev+Mj2T/qKSA/6uqgP92b13/npl0/6Shdv+Fgmf/Z2VJ/2FgSP89PTb/Kyww/0FBQP9LSUD/SkQ7/0hGO/9hZkv/eXJU/5eRcf9MT0n/FBwo/y0zM/9BQC7/WE8z/0A/Lv9RWkT/hYxl/4aJY/+inIL/saOT/4+GdP+Wn4L/g5lz/4iUbf+go3f/o6Vz/31xVv+WiGf/mY5v/2xoUv9UUkD/T01C/1ZTT/9EREH/KCwp/0I7OP9RQjr/NTMs/0tMPP+FfWH/ioNp/z4/PP8WIi//Hygu/0dDOv9qVD7/RDgq/zc/LP9reVT/fINe/6mniv+zq5L/p56J/56ih/+BkG//iZJt/4uNZP+mpXj/hHhT/4NxT/+cjHL/Z2VU/0xKQv9EQDz/g311/2ReT/8vLCL/Rzcz/1dCN/8tLCj/Jicj/3l1Yv91b2D/JSUq/xgkNP8bJzL/OjY4/3ReUf92ZVn/OD0w/1hnTv+Lk3X/sLCQ/9LQsP+3sZT/paaE/5GadP+PlnH/holi/52edP9qYzn/fW5I/5SFZP9SVET/NDUz/1BLRv+blIb/YVlD/0c9Mv9TRED/UD84/ystMf8bIyv/KC4s/yYsLP8eJjP/Gig5/xkoNf8lKS7/RTs0/29lWf9ERUH/MTY0/3h5Zf+urIz/trWV/7y6k/+usYP/k5tt/42Vcf+Nl2//l59x/3RvQv+UhmD/n5Fs/1ZYRP8/PTn/ST84/3FpVv9bVT7/PTo0/z05PP8zLC3/HSYx/xsnNf8XJC3/FyUt/xomM/8ZJTT/GSg1/x4pMP8qKyj/QD0z/zQyNP8uKzT/TUc6/42Ia/+Tk3P/oqR4/5eaaP+XmW3/jJNx/4OQaP+bpnb/f35S/5SGY/+YiWX/eXdY/2leTf9cSj7/bmRQ/1JPOf85Ozb/MDMy/zczMP8vNTv/GyQu/xQiK/8dKzP/Hykt/xohKv8VISz/FSMq/yApJ/8qLCf/Liks/0Q7QP9RRDr/YVhE/5KTeP+do3n/q6yD/66qjP+Vlnr/l6R9/6ezgv+ZmnH/mItt/45/Xf+lm3H/r5p6/5J4Z/9rYE//WVZA/1JOPv9VUkP/XE05/1RLQP8oKyz/GCIo/ycyM/8pLSb/JSUn/xsiKf8VIyf/IS4r/y8zNP8xKyz/QTQt/11NQf9KPjL/dXZh/56lgv+KiW3/a19S/2pmT/+irIf/rLWE/5iTa/+Hf1n/l5Jn/6mfbv+kkWv/mYVx/3hsW/97cVj/j31l/5V/af+IcVT/W1A3/zIwLP8mKir/Nzkz/zw3KP8/NzL/LCot/yUqKP8yOS7/PTw2/zwzLP9AMSL/YE4+/05AMP9EQi7/UFVA/0dLOv9cWEn/dnJa/6Ong/+ytoX/kYhe/5OQYv+qrXv/tq16/5+PaP+HeGH/koBu/6SKdP+riHH/n35p/455X/9oX0X/PTkw/zU0Lv88OC3/Qzcn/0E0Lf83MS//Njcx/zk6LP9ORzb/V0o5/0o4Jv9qVkP/eWhS/1dPPP81Niz/UFdK/1ddRf+YmHn/urqT/8PGkv+almn/sLGA/6Opdf+5sn7/uqp+/6eUdf+xk4D/zJ2P/8WQf/+XdWD/j3hj/3diUf9MQjH/SEI2/0Y9M/9CNCf/PzQt/zs4Nv88PTz/Ozo0/1RGMv9mTzb/Ykkz/3ldSv+Lcl//cmdU/0xNQf9eZlf/S1I4/5madv/LzaD/09ae/52baP+ur3n/nqNp/66ocv/OwY7/zbmP/9u5of/lrKL/3J6P/8Sbhf+ohnX/iGZZ/19MNf9VSDf/Vkc7/1A9Mv9JPDP/Qjw4/z46N/9FPTb/Zkgw/3xVNf+ZdVr/u5N9/7KQe/9+cFv/VFNG/0VNPf9eZkn/q62E/77AkP/AxIv/trR4/8XEhf+6unj/sa1y/8K8gf/Lv4f/6Mys//fLwP/tuKn/7ruj/7WCbv+HWUr/d1pB/2tWQv9gTDz/Y0s7/19JPv9SQDj/STkt/11HNP+CWzz/o3xV/7mbdP/YtpP/27ib/6eTf/9mYlT/OEAu/3eBYf+5u5H/o6R1/6Sncf/Jw37/5uGa/+bgl//Dv4H/ur17/8rJhP/k1Kz/+ufX//fWxP/foYf/rmpQ/51oUv+EYEj/dVlE/2ZNOf9sUDv/b1BC/2VHOv9tTzn/lXBO/7GQZv/BsYH/q6lz/7eweP/TvpP/ybOe/3t1Z/9IUDz/maSE/6iqgv+foHT/pKZ2/9jQhv/u5Zj/4NeL/9nWlv/DxoP/29yb/+vfsf/s2Lf/7Mis/8J8Xv+zZkn/oWZM/3xRQv9vTTz/fVxE/4NgQP9/Uzz/gFM+/593W//Jqnv/2cqW/8bIj//S3pn/0NqV/7+7iP+8sJT/dnBe/2NlUf+kqor/rq+G/52fc/+UlWf/29CC/+/jlf/i2pX/492b/+bimf/y7LD/9eWu/+jFjv/cpHv/w31c/8iAYv+zclj/kFRL/4xVSf+dZU3/n2RA/7B/WP/Jnnn/onxg/7Ohc//b1p7/zMuQ/9DTjv/Cxof/qq96/6utiP9kXUr/W1VA/5KRa/+ionH/mJlm/5aXZP/Uy3f/6uCU//r2vP/07aj/+O+W//XtpP/r3Jz/7taX/+S9jv/eqoL/4KeD/8aNa/+zfmD/sH5k/7+Jbf+8g2H/0bKA//fjsP+hiGf/s6V6/+7mqP/RyZD/pKJv/5SZY/+hqm//qayC/2NaS/9VTTT/q6t0/6mobv+sq3L/trR7/97Wfv/o4Jf///7O//7ys//w34b/7uSZ/9nMj//TyYv/xL+H/8u8h//DqHj/waZ0/7y1dv+wrXb/u7OE/8Cyhf/YzqH/9u+//6CUbP+onmb/4NaK/7Klb/+noX3/n6R1/665ef+0tob/c2lX/4qCX//c3Zb/2NeW/9zanP/FxIX/9uiX//LnoP///cv/++23/97OgP/e1pH/5dql/8PCif+bq27/s76C/7u9gv++uHz/y82I/7O4ev++v4j/uLF//9XOr//9+dj/pp93/6SbWf/m2or/q51n/52Vcf+dn2//xc2L/9XXn/+zqoj/1Mye/9XWjv/U1Zb/1NSY/8fHiv/24Jr/+eul//j0uv/o3qf/z8d7/8bEe//c1Zv/y8iP/6Osc/+lsXX/ub+C/8jDh//c05r/vbaA/8e+h/+6qnP/2s+u//342f+on4L/nI1e/+jamv/Vy5P/mZNh/6ypc//c35//6eqq/+jiqv/h2aD/0tGU/7a7hP+wtX//rbJ8/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"120cf9da-97e9-4c0d-a431-99d0670c56e1\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"ce1b4e25-1926-413d-9958-71f4795055e6\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"14c51780-c963-49b5-9855-cc54922afbf4\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"cb31e2b5-c1f3-4380-bedd-bcf7dbf17f84\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"a8a243b9-5ab0-45de-a8f8-ee7d4ad442e7\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"67af718c-8443-4dc7-8de8-cc7dd7c3a156\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"da3de9b3-fb39-4831-b813-b2e70b45bf7a\",\"type\":\"CDSView\"}},\"id\":\"756ff6c7-b10f-4732-953f-a027b7a1b60e\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"cffd724d-b0ec-4121-805a-d17c7c7d3440\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b8fca634-4725-4726-a7a9-361dc3bc1eb6\",\"type\":\"BasicTicker\"}},\"id\":\"fd61453f-c3be-44d5-9885-b32317e57cd3\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"b8fca634-4725-4726-a7a9-361dc3bc1eb6\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"e195898f-a2d4-4f1b-a3ab-86f3aaec77fd\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"735c8e0c-5b4f-4796-9424-d1c96d20a67d\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"e4b47940-e04f-485a-9e9f-6806bbe8dc29\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"735c8e0c-5b4f-4796-9424-d1c96d20a67d\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"735c8e0c-5b4f-4796-9424-d1c96d20a67d\",\"type\":\"BasicTicker\"}},\"id\":\"52bcd2aa-350b-4d59-a958-a9135bc248d2\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"b4be9419-cc9a-45c1-aec7-feec60453928\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"S1w5/01eOv9UZUH/Y3RQ/2h7Vv9idlH/aX1Y/2N3Uv9fc07/YHVP/196Tv9mgFb/aoJa/2uAXP9yg2P/an5d/2yCXv9whl//bINZ/2uDVf9ofk//aXpN/2V2S/9ldU3/Y3NO/2l5VP9kdU3/YHJI/1hqQP9XaT//VWc9/1RmPv9FVjL/U2RA/1hpRf9bbEj/XXFL/1VqQ/9ccUr/XnNM/190Tf9gdk//XXdN/1lzSv9cckz/XW9O/3eHaf9qfFr/aH1X/2+EXf9keVD/aoBT/2+EV/9vgFb/a3xR/2Z2Tv9mdlD/aXlT/2FzSf9gckj/XW9F/1ttQ/9UZjz/SVs0/1NlQP9gcUz/X3FM/2J0Tv9idE7/W21F/1xvR/9leFD/ZXhQ/2B0TP9YcUn/XHNM/1puS/9eblD/ZHNX/19wTv9keVH/aX5V/2d8U/9keU7/ZnlP/2d3UP9qelL/cYJZ/2p7Uf9oeVD/ZnhO/2FzSf9hc0n/XW9F/1dpP/9NXzf/ZnhQ/2h6U/9ecEj/Z3lS/2l7Uv9qfFL/Z3lP/2x+VP9tf1X/boFY/2V8U/9nfFb/ZXZU/258Xv9mc1f/aHlU/2x/Vf9tgFb/boFX/2t+Vf9rfVX/aXlT/219V/9wgVj/dIVZ/21+U/9qfFL/anxS/2h6UP9db0X/XnBG/2J0Sv9abEL/UmQ7/1RmPP9YakH/X3FG/2V2S/9ic0j/YHFG/2BxRv9jdUn/Y3lO/2x/WP9peVX/WmZG/2l0Vv9zgVr/dodb/3eIXf94iV//doZg/25/Wv9kdFD/bHxX/3SEW/9yg1f/a3xP/2p8UP9oelD/YHJI/1hqQP9bbUP/YHJI/2F0SP9cbkP/YXRI/2d6Tv9rfVD/anpO/2h5Tf9md0r/ZHVI/2V2Sf9tgVT/dIZb/2NzTP9UYD7/bnhX/36MY/97jF7/eIhc/3WEW/9xgFv/X25L/1FgP/9icU3/aXpR/21+Uf9vgFH/b4FV/2x+Vf9jdUv/ZnhO/2FzSf9abEH/aXxP/22AU/9sgFL/boFU/26AU/9wgVP/cYJV/3eIW/94iVz/fI1g/4CTZP+Elmj/dINa/0hTLv9faUb/h5Vo/4CQYP9+jWH/gpFo/3eFYP9FUzL/U2JC/2d3VP9xgVn/doha/3iKWf91h1v/cYNZ/2p8Uv9ugFb/aHpQ/19xRv9idEj/anxQ/2x+Uv9rfVD/bH5S/3WGWv95il3/gZFj/4GSYf+ElWP/h5ho/4uacP+MmHX/SVMz/0ZRMf+Hkm7/eoZg/215V/91gWD/Y25Q/ztGKf9/i3D/cX9d/4CRZ/+AkmL/eYxZ/3aJWv9wg1b/ZHdL/2R3S/9idUj/X3FF/2d4TP9vf1P/bX5S/3CBVP9wglf/dIVb/3aHW/96ilz/fo1c/4ORX/+Cj2P/jJh0/4SOcv85Qyr/JzEY/zpCKv8qMhv/IysU/y83IP8wOCH/MTki/1NcQ/9VYD7/e4tg/3mNXP91i1f/dIhZ/3CDVf9qfU//Z3pM/2d6TP9oe03/bH1R/2p7UP9ldkv/c4RZ/3mKYP97jWP/dodd/3qKX/+HlWv/jptx/4+bdv+GkXP/TlhA/yUuGf8lLxn/GyQQ/x4mFP8hKRf/IyoY/yUtG/8rMx//Rk81/2l1Uv+Ckmf/fZBg/32SYP96jmD/c4ZY/3GEVv9wg1X/X3JF/2J0R/9md03/bH1T/2l6UP9xglj/coRZ/3qLYf92h17/Tl04/1toRv9/imr/a3ZY/0pUO/88RTL/ND0q/y84Jf8rNCT/KjIl/ykxI/8qMiT/JzAi/zA5J/9weV3/jpp2/3iIXf9xhFX/fZJi/3yPYv9sf1P/b4JW/2+BVf9kdkr/YXRJ/2h5UP9oeE//ZHVM/2p6Uf9oek7/antP/3CAWf9FUzL/JTAU/zU/Jv8yPCT/N0Ar/zhBLv8wOSj/MDko/ykyJf8nMCT/KDEl/y02Kv8pMSb/LTUl/2BpS/+Fkmz/eopf/3eKXf99kWT/d4lf/3qMYv+ClGv/f5Fn/3eJX/9sflX/d4Zg/3GBWv9tfFb/c4Nc/3WHXP96jGD/eotk/3B+X/9FUDf/KzUf/y84JP8oMRz/JC0Y/ygxHP8rNCH/JzEg/yg0I/8uOSn/Lzop/yczIv8tOCP/YGpJ/4uYcf+Dk2j/gZNn/3+SaP9/kmr/gJJq/3mLZP92iGD/dIZe/2p8Vf9uflf/coJb/3qKZP93h2D/eYtg/3qMYP95iWL/U2FC/1djSf8xOiX/QEk0/1FaQ/9JUzn/Lzke/yozG/8zPyb/Pkwy/0RROP8+SzH/Qk82/11pTf9/iWX/hJFo/4SUaf+ClGn/f5Nr/36Ra/95i2X/cYNd/3GCXf9pe1b/ZndS/2h4U/9kdE7/cIBb/2x7Vv9rfVL/coNX/3aGXv9TYUD/VWFF/0xWPv9WX0j/i5Z6/4+aef9zflz/ZXBQ/3WDYf91hWH/eYll/36Nav9+jWr/hZNv/3+KZP90gFb/bn5T/3GDWv9wg13/dohk/3OEYP9xgl7/cYJe/2h5Vf9oeVX/Z3dS/2l5VP9qelX/b39a/21+Vf90hFr/eIdg/1ZkQf9yfl//jZh8/3B6X/9xfF7/jZl1/4SRa/+Fkm7/kKB5/4GSav+ElWz/h5hv/4GSaf+Ek2v/fIhh/3iHXP9oeU3/aXtS/2l8Vv93iWX/eIll/3GCXv9qe1f/Z3hU/1xsSf9re1f/dIRg/3GBXf93h2P/e4ll/3yJZf9xfVr/Ym1L/4CLav+HkW//jJVz/2FrTf+BjWv/iJht/4aYbv+Ponn/jKB1/4aacP+Hm3D/f5No/4GVav98j2X/fY9l/3yQZf97j2X/d4ti/3qMZv96imb/dYVh/2x8WP9nd1P/XWtL/2l5Vf9sfFj/bX1Z/3GBXf95hmP/e4Zk/32IZv99iGb/gYxq/4aRbf+RmXT/c3xf/3aDYf+NnnL/jqF1/4iacf+KnHL/hphu/4ibcP+GmW7/hJZs/3mMYv9/kWf/eYxi/3iLYf93imD/doZh/3WFYf9tfVn/ZHRQ/2l5Vf9pd1X/aHhT/2Z2Uv9uflr/cIBc/3OBXf93g1//gY1p/3yIZP+AjGj/iZRv/5Scef91fmL/cX1c/42ecv+Im27/hJdr/4qdcf+Im2//fpFl/32PY/+ClWj/gZRo/3yOYv92iV3/coRY/3eJXf92hmD/cYFc/2x8V/9re1b/bHxX/2h2U/9vf1n/dIRe/3iIYf9xglv/a3lS/3qGX/+FkWr/iZVu/4mVbv+Ll3D/ipFu/252XP9wfFv/k6R3/5Gkdv+Nn3P/j6B0/4+gdP+LnXH/g5Ro/4WXav+Elmr/fY9j/32PYv98jmL/eYpe/3SFXf90hF7/doZf/3ODXf9wgFr/anhT/3GCWf90hVz/eYlg/32OZP+AjmT/hZJn/4aTaP+HlGn/i5ht/42ZcP+Ei2n/WWBH/256Wf+XqXr/lql5/5Wmev+Wpnr/kaB1/5ame/+RoHX/i5pv/4iYbP+JmW3/h5Zr/4KRZv+BkGX/gZFn/4GSaf+Bkmj/eoti/3WGXf9xf1n/dIVa/3mKX/9+j2T/gZJn/4STZ/+Cj2P/go9j/4qXa/+QnXH/kJxy/2BnR/9OVj3/WmVF/5Wmd/+QpHP/k6N3/5akeP+RnnP/lKJ2/5KgdP+OnHD/iZZr/4uZbf+Nmm//iJZq/4iWav+Dk2j/hJVp/4KTZ/9/kGX/e4xg/3aFW/90hVj/fY5h/3+QZP9+j2P/iZhr/5CdcP+QnXD/k6Bz/4+cb/9nc0j/VFs7/0xUO/9pdVT/lad4/5Sndf+Zp3r/nal9/52pff+dqX3/m6d8/5eid/+Pm2//jZlt/5Oec/+QnHD/jppv/4SUZ/+Ck2f/g5Rn/36PYv94iVz/d4Zb/3WGWP98jWD/gpNm/4OUZ/+Qn3H/k6Fx/5Geb/+QnW7/lKFy/4OPYv9jakr/cnlh/4qWdf+Ro3T/mKx6/5imef+eqX7/m6Z7/5ynfP+apXr/l6J3/5eid/+TnnP/lJ90/5Kccf+Pmm//ippt/4mabf+Flmn/f5Bj/3mKXf93h1r/eole/4CPZP+JmG3/iplu/5Gecv+Sn3L/kJ1w/5Cdb/+VonX/k6Bz/5Cbdv+SnXv/jZlz/42ccP+QoXL/kqJ1/5Sjd/+SoXX/lqV5/5Oidf+SoHT/k590/5Sgdf+RnXL/j5tw/4qWa/+Il2v/hpVp/4CPY/99jGD/eope/3aFWv9+imL/gY1l/4iUbP+FkWn/iZZs/42ab/+Sn3T/kJ1y/5KfdP+ToHX/k6B1/5WieP+Vonf/lKF2/5ajeP+Vpnr/lql7/5Woev+Up3n/lKd5/5anev+Vo3j/lqN4/5Sid/+Sn3T/i5ht/4iVav+HlGn/hZJn/4GOY/9+i2D/eole/3uHX/9+imL/gIxk/4CMZP+Gkmn/i5ht/46bcP+QnXL/jptw/5Gec/+ToHX/lqN4/5ajeP+Wo3j/lqN4/5Okd/+SpXf/kaR2/5Gjdf+Qo3X/kaJ1/5Gec/+PnHH/jZpv/42ab/+HlGn/hpNo/4WSZ/+Cj2T/g5Bl/3yJXv94h13/doJa/3eDW/98iGD/fYlh/4GOZP+Gk2j/jZpv/4uYbf+Kl2z/jZpv/5Ogdf+UoXb/kp90/5ekef+UoXb/kaB0/5SkeP+Sonb/k6N3/5SkeP+Tonb/j5xx/4+ccf+LmG3/i5ht/4mWa/+HlGn/hJFm/4GOY/+BjmP/eYZb/3OBV/+AjGT/fYlh/4SQaP+IlGz/i5du/42ab/+Vonf/laJ3/5ilev+XpHn/maZ7/5ypfv+grYL/oK2C/56rgP+frYL/nayB/56tgv+erIH/nayB/5yqf/+Zpnv/mqd8/5ajeP+Vonf/kZ5z/4qXbP+IlWr/h5Rp/4aTaP9/jGH/fYpg/3yIYP+BjWX/hJBo/4mVbf+LmG7/jJlu/4+ccf+ToHX/laJ3/5ekef+YpXr/mqd8/5uoff+bqH3/l6R5/5ilev+Zpnv/maZ7/5ajeP+VoXf/laF2/5ekef+Sn3T/kZ5z/5Gec/+QnXL/jZpv/4yZbv+IlWr/iJVq/4WSZ/+AjWP/gY1l/4aSav+JlW3/jJhw/5Cdc/+Sn3T/lKF2/5ekef+XpHn/lqN4/5ilev+Zpnv/m6h9/52qf/+erIH/n6uB/5+qgP+fqoD/nqh//5mjev+VoXf/l6R5/5Ogdf+Vonf/kp90/5KfdP+RnnP/jZpv/4WSZ/+AjWL/gI1i/36KYP+Cjmb/h5Nr/4qWbv+Ll2//jppx/5Shdv+XpHn/mKV6/5mme/+Zpnv/m6h9/5mme/+ap3z/nap//6Ctgv+hrIP/oqqD/6Kqg/+iqoP/nqZ//5qkfP+ap3z/mKV6/5mme/+UoXb/kp90/5KfdP+PnHH/iJVq/4KPZP+Cj2T/f4ph/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"720a42be-8f87-41b3-94e9-d405c414e144\",\"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\":\"a9efb034-ae76-4b03-9e1a-6d879b158e28\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"ea114c43-af54-4e7c-a6af-95926ab6ba7d\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"fHhS/3dzTP+Ae1v/fnlZ/4SAXP9+elb/gX1Z/4aAXP+Kgl//ioVj/3x3WP+Bfl//iYZm/396W/9uaEr/dm5R/4d/Zf+IgWn/f3hf/3FpUf92alL/lIZt/5iKcP+bjXT/in9l/351Xf+EfGb/cGhV/351ZP9rY07/bWZM/3FqUP92ck//cmxK/4F5Wv+Ff13/j4tl/5KNZf+UjGT/mZFp/5aOa/+SiWr/l45t/5WLZ/+XiWf/jodj/3hzUf+Bd1j/l41v/5qRc/+LgmX/e3JU/4d6XP+WiGn/koRl/5GFZf+Kf2D/iHxg/4qAZv9+dWD/enJd/2VdQ/9oYET/b2dL/2VhQ/9tZ0r/cWhM/394WP+MhmH/mI9p/5uQZ/+aj2j/joVk/3twVP+Jf1//joBc/6KObf+mnXr/nZd2/5iMbv+qnHv/tqmH/7Gjgf+nmnj/p5h1/6mbdv+mmHP/pplz/6madv+hkW//mYtr/5KGaP+Sh2v/h3xc/4V5Wf+HfFv/W1g+/2dhSf9lXUb/cmtP/3t0VP+UiWj/lolm/5GFYv+Fe13/dGpR/3FpTv9/dVb/nY1v/6SYe/+ek3j/iHth/6qaef/EtI//wbGN/8Cwi/+1p4H/uKqD/7+xiv+9roj/vKqE/7ikfv+yoHv/q5x3/6aYdP+ml3P/qpp2/6SVcf9PTTj/TEc0/01GNP9vaVL/cGpP/4V8X/+Felv/iH1e/4J3W/9jWkX/WFI+/4R/Zv+LhGj/kohw/4h9aP93bFf/opV1/7KkgP+0poL/uaqH/7esiP+upID/sKOB/7GhgP+0oX//rJh2/7GffP+tnnn/pZhz/6udef+1poP/saJ//0dGN/9HQzX/OjQm/1JPPf9fX0f/b2xS/2tmS/94b1P/fXFZ/1dOPv88Nyr/bW5b/2tvVf95dWD/XVdF/2llU/+NiG//gXtg/396Xv+LhWn/h4Rp/29sUf9vZk3/cGNL/4FyXf9uYEv/dGlQ/3x0WP97dVj/gntd/5GKbP+TjG7/MzMn/zQxJv8uKR7/SEo5/1JXQf9SVT7/VVY9/2NdQ/9jVkD/U0o9/zg1K/9VW0v/XGpR/15hTf8+PS3/T1JD/09UQv9NUj//REk2/0pPPf9HTTz/Nzor/y8sH/8+NCn/Qjgw/yYhGv8vLCH/RUU2/1FUQP9ISzX/ZGZQ/2dqVP8vLSH/OzEn/zUoHP9DOy7/RkY5/zQ4Kv8xMiX/Pjot/1VOQP9LRzz/NTUq/01RQv9YXkz/REI1/z8+Mf9JUUD/PEg6/z5JPP8mLx//Nz8s/zc+Lv8zNyr/IyMY/0Q+NP84NS3/HyIb/yImHv8sMin/Nj4z/zxGOP9PWEr/PkY5/zkzKP9hUUX/XEUz/0AsHf85MCX/IyEY/xYSDf8pIhz/NC4k/zItIf9BPS3/Pjoo/zkxI/81KiT/Mi0l/zpDNP8vOzH/JjAm/ygvIP9ARDH/Nzwr/zU5Kv8yNCb/Ojgr/zg6Lf8wNin/Nj0z/yowKP8dIxz/HCYe/yYvJ/8kKyT/LCca/0w+K/97ZUj/Zk80/0U0H/8oHAv/JhgL/zUlFf87Khj/OikW/1xLNf9fUDf/RDYi/zMkHP8mHxz/HSIc/xwkHv8oMCf/LjQn/zxAMP8xNif/KC0g/ykrHv8zMyf/PT4y/zo8Mf84OjL/JCUf/xcZFP8LEgz/FRsU/yAjHf81MiH/RDoi/4VvSv+BZkH/gmlH/4RsTP+MdFT/l3xe/5p8Yf+LblD/im1N/5p+XP+Mdln/UD4x/x4UE/8UExT/JCcj/ywxKv8lKh//MDQn/y82Kf8nLiH/JCgc/y0vJP8qKyD/Jycd/ywsJP8kIx7/HBwY/yMnIv8rLij/KSkl/zs5Jv9NRSz/gmtI/5Z6U/+lh2H/v513/8infv/Us4z/3buY/9y5lP/Zt4//zKuB/7+gff9xXEf/LiQd/yIdHP8lIx//Li8p/zU4MP8pLCT/LDQp/yUtIf8iJx3/JCcd/yUnHP8hIhf/Kywk/zQ0Lv8mKCP/KS8o/zg8N/81NjH/Li4b/0pEMP99ZEn/q49s/7ubdv/Pp4L/3biO/+bFm//uzKT/8M+l//fWqf/iwJH/y6Z+/4ZvU/9GPC3/LSUc/ygjHv8sKib/LC0o/zE1L/8mLyb/JC4k/ykwKP8rLyf/Ki4k/yIoG/8zOC7/OT43/z1DPP83QTn/Ljcw/yowKf8yMR7/g3lj/6KEaf+piGj/xKSA/9Orhv/fupD/6Mab/+3Lov/y0ab/9deq/+3Lnf/ctIj/o4lo/2FTPv8uJBf/Ix4X/ykmIf8rKyf/MTYx/y43MP8oMyr/Mjsy/zpBOP80OzD/KjEk/zM5Lv80OjL/Mzoy/y03L/8nLyj/KTAp/ywnGP+Ugmj/z6uI/6B6Vf+4lW//zquD/9KvhP/atIn/6L+W//DKof/z0Kf/7suf/+rFk//Gp4D/iHJZ/0Q1Jv8fGA7/LCMd/zgxLf8jJB//GyIb/x0lHf8tNCz/KzMp/zc8Mv89Pzb/NDYt/zg6Mv8fIRn/FhgT/ywtKP83ODP/FhIJ/0Y7Kv+SemP/nn1g/6J/Xv+2lHD/w6J8/8ypgv/PqYL/zKV7/+G7jv/pw5P/1rCC/7mYcP+Jb0//YEw0/zonGv9KMyz/UDw3/zovKf8oKR7/ISUZ/x4hGf8WGRP/GxwY/zExLf8uLyr/ISId/xQUEP8TEw//HR4Z/yUmIf8SEg3/FBMM/yggGf9SQDP/WkQz/2dRPf9yXUX/dF9H/39pTf+cg2H/vJ94/8KlfP+dg2L/eGJE/2BOMf9PQCb/Qy0c/19FOf9YQjf/OTAj/z4+Lf8yNCT/HR4U/xIRD/8SEhL/Hh4d/xwcGv8TExL/Dw8N/xARDP8UFRD/GxwX/xEVEf8PFhL/DhEP/wsLCv8qKSf/LCwn/x0dFf8aGhL/NjYq/2JfTf9rZEz/aWJJ/1VTQ/82NSX/Q0My/z48Kf88Lxz/VkUx/0Y8Kv85PSf/SU44/y8xHv8bGxD/GhkV/xQTEv8MDAr/CgoJ/w0NDP8ODg3/FxgT/xYXEv8ZGhX/GyMc/yQvKP8ZHxr/CxEQ/yIqKf8xOTX/Hych/yQsJf9BSUH/P0c8/0BIOv8/SDn/OEQ4/zM9Mf9DSj7/Rkg8/0c8Kf9LPSn/QDwo/0RONv9ASjX/MTUk/yMnGf8yNSr/Jigh/xscF/8QEQ3/ExMO/xkaFf8bHBf/GRoV/yssJ/8wOi//PUg8/zM5Lv8qLSX/KSwk/ysuJP8xNCn/PEAz/zk9Mf8tNCf/P0g6/09aS/9MV0f/RUw9/yorHv8wKh7/TDss/088LP9LQzH/WF5I/zpFMv8sNST/Ljcm/0JMOv86QTL/OTsy/zU3Lf8sLiX/JCYf/x8hHP8cHhj/QEE8/0FKPP86QjT/QUg6/z5BOf8qKyb/FxgS/x8hGv8lJx//Gx8W/yUtI/88QzT/Sk08/z4/N/8qKSH/JB0S/0Q4Kf9VSDf/RDsp/1JROf9faEv/MDwm/zM/LP8zPir/Mz8r/yw1JP8/RDb/PUM0/yQpHv8VGRP/EBgR/yIpIv9GS0X/P0c6/zxEN/85QDP/Jywl/w8RD/8PEQ//ERMR/wwOCv8SFhD/Ji0m/z1AM/9EQC//HhYO/xIKAv9HPTD/aF1L/2NcSf9NTTb/TVM5/0xXOv8yPij/KzYl/zM+Lf8kMB//JC4f/zlAMf8wNyb/DhQJ/w8VEP8NFw//ISki/yovKf80Oi//OD4z/ysxJv8eIRr/FxkV/xgaFv8VFxP/EBAM/xsaFf8yNC7/RUQ5/09GNf9AMCH/UUEw/2ZbSf9eWEf/ZmRO/2doUf9KTzr/QEk1/zA7K/8bJhn/OEI1/zlEN/8rMyf/OD4w/0NKOf8gJhr/GB4Y/yAoIf8sMiz/Nzo0/ycrI/8eIhr/Iycf/zAzLP82ODL/NDcw/ygqJP8mJiD/JiQg/yAhHP8xLyX/Y1lH/3ZjTv+Cblf/b2JN/0tJOf9SVkD/U1hC/z5EMv8xOCr/MDou/yAqH/8yPDD/NkA1/yszKP8rMSP/LzYl/yQqHv8zOTT/Mzkz/zI2MP83ODP/ERIN/w8QCv8aHBb/Jykh/zQ3Lv9NUEf/S05G/0hKQ/8vMCv/Gh4Y/yQlGf9eV0X/WUs5/3FeRv9lWEH/P0Ay/y41Jf8wNyb/Qkg5/z9FOP8+Rzn/JzIk/y86LP8qNSf/JCwf/x4lFv8aIRD/GSAU/yovKv8kKCP/HiEb/z09Of8QEQz/IiId/yYnIv8VFxD/FBgP/zc6Mf9FSD//RUlB/zI4MP82Pzf/UFRH/2dmVP9EPjD/ZFU+/2dbRP84Oiz/JCwj/zI7L/9HT0D/VFtL/zM8Kv8wOyj/QEs5/zE9Kv8sNSX/MTcp/zA3Jv8jKR7/ERYR/xQXEf8ODwr/MzIu/xgZFP8rKyf/JiYi/xgaFP8PEAr/GxwV/yIjHf8iIh3/NDYw/0FFP/9HSED/VVVK/zo4Lf9aTD7/ZltM/0lOQP9IUkf/S1VG/1FbRv9RW0H/RFE1/0hVPf9CTjj/NkQn/0hTOP9NVED/OD0t/zI2Lf8YHBr/DBAP/wsNC/8dHRn/ICId/x4fG/8XGRT/FBYR/xYWEv8hIR3/HR0Y/xYVEP8kIB3/Liso/yklIv8rKiX/IyIZ/0E2MP9MRT3/PEU4/0dUQf8/TDT/Tls9/1hmQv9QXTz/RE82/ztGMP9CTjH/VmA//01TOP9ESDb/Oj0z/yIlI/8cISL/FhoZ/ywuKv8aHRf/FhkU/yYpJP8WGBP/ExUQ/yEjHv8qKyb/JCUg/x8eGv8uLSn/HBsX/xocFv8aHxT/Lisi/zk4L/85QzX/UmBH/0pWN/9EUS7/aHZO/1hiQ/9CSTT/QEY2/zI3J/8+RCz/SVAx/1NZQf9YXEz/LjIp/yEnJP8qLiv/NDUx/ysxKv8wNS//KzAq/xcaFf8YGxb/IiQf/ysuKP8xMy7/GhsW/x4fGv8jJB//Jyok/yMuIf8kKR3/Jywh/zE9Lf9XY0f/XGZF/0dSLv9qdU7/S1I2/zU4KP8rLiH/GhsU/ywwH/9GTSz/QUgt/1VaRf8zOCj/ICcf/yUqJP8sLij/RU1G/ztDPP83QDn/MDYw/yswKv8gJR//MDUv/yImIP8MDgn/EBEM/xYYE/8bHxn/LTks/zU+Mf8zOi7/OkEz/z1FLv9BSC3/SE80/05VOP8wNiP/JCgb/yktIP8eIRr/PkIz/z9GJ/83PSP/Q0kx/zM5Jv86QTb/NTox/ycqI/85Qjv/OEI6/ygyKv85QTr/Mjgx/yEnIf8tMy3/EhcR/wkNB/8VGRP/GBwX/xYbFP8sNyr/OUI1/zc8Mf84Oi//LC8f/y4yIf84PC3/MTUm/yAmHP8rMyf/O0Qy/z1FN/9RWEj/UFY9/zo/KP85Pij/RUs3/zxENP85PzP/MzYu/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"e6f4f3ca-95c7-41a5-b55f-853bd82f1287\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"c28e8637-77df-4570-8abd-5fce5539eeeb\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"f1dfe598-5601-4604-9853-219b0f748fe4\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"a9efb034-ae76-4b03-9e1a-6d879b158e28\",\"type\":\"BoxAnnotation\"}},\"id\":\"93d31607-c4fa-4d2f-947a-33863bc433b8\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"9374b3ec-0f14-4125-9ca4-42cbc236f69a\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"67af718c-8443-4dc7-8de8-cc7dd7c3a156\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1414a0be-f442-4a7d-9af6-102fed2ee70d\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"cd86870e-576b-4e11-a78c-6db4e813c62d\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"b99ef11c-ea3a-4c6c-b6da-b18ab7b6b80b\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1414a0be-f442-4a7d-9af6-102fed2ee70d\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"3527d970-842d-45fc-bc3b-e388e0c91655\",\"type\":\"CDSView\"}},\"id\":\"85b3981b-7ef8-46e6-9827-f415eb64df83\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"cd86870e-576b-4e11-a78c-6db4e813c62d\",\"type\":\"ColumnDataSource\"}},\"id\":\"3527d970-842d-45fc-bc3b-e388e0c91655\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"0b189eb8-8dfc-4853-af8c-4bbb1fa56230\",\"type\":\"BasicTicker\"}},\"id\":\"1ba0e6c2-fdcb-4fad-86c7-a9d399f0677f\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"e195898f-a2d4-4f1b-a3ab-86f3aaec77fd\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3afb4668-0596-415d-8be9-a549d32a424c\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"7fba5bed-2120-4c43-92b9-bd3539ef562b\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"717f577b-be53-495a-9da5-d70df7d34092\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4d545f05-1113-4080-82df-03ee47abd0b9\",\"type\":\"SaveTool\"},{\"id\":\"3e2e4263-080a-4520-a52a-907d73dc1479\",\"type\":\"PanTool\"},{\"id\":\"8fdba891-11c1-4085-a0c3-136fbefadaa5\",\"type\":\"WheelZoomTool\"},{\"id\":\"6d416697-8a3a-4742-a76c-89fc67fb6b35\",\"type\":\"BoxZoomTool\"},{\"id\":\"003151a2-866d-45c5-9990-71ece62a9e7b\",\"type\":\"ResetTool\"}]},\"id\":\"2b4f1447-41bb-4156-97ab-a0edcd90ef45\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"21ad19cd-3425-46d4-970a-1b728909747d\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ce2906e1-7580-48ad-9a51-547884f8cba2\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"467a0efc-8844-4fb5-a8e5-5d69b7ca7a1b\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5584422d-e8dc-49a5-aace-024aa3c903d4\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"467a0efc-8844-4fb5-a8e5-5d69b7ca7a1b\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"f7795f62-443d-4970-850c-f7788396cf18\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"467a0efc-8844-4fb5-a8e5-5d69b7ca7a1b\",\"type\":\"LinearAxis\"},{\"id\":\"73f1d71c-a239-4232-b8a1-a65110d4c9dc\",\"type\":\"Grid\"},{\"id\":\"f7795f62-443d-4970-850c-f7788396cf18\",\"type\":\"LinearAxis\"},{\"id\":\"9680c607-ad84-406d-a031-927b50e75403\",\"type\":\"Grid\"},{\"id\":\"c2ac7e93-8d97-4250-8c8f-58105cea6a0f\",\"type\":\"BoxAnnotation\"},{\"id\":\"549a3c92-7799-412b-854b-2da65bc1f326\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"717f577b-be53-495a-9da5-d70df7d34092\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2b4f1447-41bb-4156-97ab-a0edcd90ef45\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"5584422d-e8dc-49a5-aace-024aa3c903d4\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"3afb4668-0596-415d-8be9-a549d32a424c\",\"type\":\"LinearScale\"}},\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ce2906e1-7580-48ad-9a51-547884f8cba2\",\"type\":\"BasicTicker\"}},\"id\":\"73f1d71c-a239-4232-b8a1-a65110d4c9dc\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"ce2906e1-7580-48ad-9a51-547884f8cba2\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"78fc2489-f4bd-449b-b19a-e9e177dd62d9\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7fc69877-d1d1-4050-86c3-7576b4116f9b\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"f7795f62-443d-4970-850c-f7788396cf18\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"7fc69877-d1d1-4050-86c3-7576b4116f9b\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7fc69877-d1d1-4050-86c3-7576b4116f9b\",\"type\":\"BasicTicker\"}},\"id\":\"9680c607-ad84-406d-a031-927b50e75403\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"21ad19cd-3425-46d4-970a-1b728909747d\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"a8a243b9-5ab0-45de-a8f8-ee7d4ad442e7\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"fId8/2V6Z/9heGf/dYt7/219bv9td2f/gY5+/3eLev9xhHX/gI2A/3h9cv96e3L/eHdu/4uJe/+IiHj/gIZ6/46QhP+UkID/kJGA/4WHd/98gHH/kpiE/6atlv+jqZf/oaiY/6Kvov+gsKH/nKqY/5ykkf+YpIz/bXxs/2R0Y/9yfnT/XXJg/2F4Zf9kfWr/aXtr/255av98i3v/eZF//3CCdf96h3n/gIR4/4OGev90eGz/eH5w/4CJeP9+iHr/gop8/3+Dc/9+g3X/f4V2/4WKfP+RlIT/mpiH/5uZiP+doI//prCi/6yzpv+1s6P/r6qW/46UfP9pc1//gY96/3J+df9keWb/aH1p/2h/a/9vgnH/c4By/3yKe/92hXn/aHBt/3J4c/91enL/goh+/3F5b/9lbWX/b3lu/2p1av9weG7/bnJq/21vaf9vb2n/d3Zw/4yIf/+ek4j/rqOV/7Cvm/+1tqL/v7mm/8u/qf/Eu6L/iI5y/4CJcP+HlXv/fImA/2t/a/9yhXH/b4Ju/3SHdf9qfW7/doN0/2NkXf9LRk//Xl5k/09OTv91cm7/ZmNh/1lVWf9SUFH/TkpJ/1RNTv9XUFT/Vk9V/1hPVP9kWVz/kISB/7WknP+/rqH/zcmz/83Ls//Ty7X/2NC6/83Ns/+mr5D/sLqc/4+hgv+Cj4T/cYZz/3eKev9zhHT/c4l5/3CIef+IkoP/cWhk/0Q4RP9dVV//RD1C/1FITP9NQkj/QzU//1RDSP9lUlX/ZE9T/1ZESP9ZSlD/cF5l/3tnb/+YhIX/r5qP/4x8cP+aoI7/tL6n/83Ouv/e3sv/1dvH/8rTvf/P2sP/tsmw/3aBdv9xhnX/d4p//3aHfP91i37/eo+C/5ickP+cjov/VklS/2ZbYv9iWF//RDlB/zUpMv9LPET/fmhr/5N7fP+Ndnb/fWhn/5eEhP+eiYv/hGxz/7Wdnv+4n5L/hnds/32KfP+Xqpb/vMa0/9Xay//Q2Mr/y9XH/8zXyf/O3c7/f4d9/3aGdv94iHz/doZ7/3mJff+BjoT/lpSM/66fnf99b3f/joSK/4l9g/9rXGT/QjE4/2BNVP+kj5H/qZKU/6CKjP+ZhIX/sp+d/7CcnP+ljpD/1sC9/8uzpP+MeW//k5WJ/6y7qf/F0sL/yNXI/8XUyP/F0sT/w9DB/8jUxv+Chn7/gIh5/3+Kf/91g3n/dYB2/3+Hf/+KiYP/q56e/5uLkv+glJr/no+V/5N/h/90X2X/gm1x/7Oen/+1oKH/q5aZ/6WRk/+zoZ//tKCf/7Senf/QubT/sJeK/4JsZ/+NhX7/q7eo/7zOwP/B1Mj/xtfM/8zazP/I1Mb/w87A/3t7dv+DhHb/f4Z7/3eDef92fnX/gYqB/3+Ffv+dlJT/o4+U/6WUmf+mlZz/qJSa/5eChf+ahYX/uqem/7mlp/+umqD/sZ2j/7KeoP+sl5j/rpeX/66Vk/+FbGT/f2lr/42Dgf+YpJf/q8Cx/7zQwf/L2sv/1+PV/9Hdz//H1Mb/e3p0/39+cf97gHb/bXhu/2JqYv9icGb/WGZe/3NxcP+Ugob/qpWc/7OiqP+1pKj/p5SV/5eDgP+xnpz/s6Ci/66bof+wnKT/p5Oa/56Jjv+WgIP/gGho/2dPTf98aG//eG9x/4qWjP+ovrD/usu5/8bQvv/M1cf/zdnL/8nYyf+Gi4L/bXVr/2t2b/9pdW3/WGNg/0pcV/9FWFP/UVpa/11ZXf9+cHj/rJ2j/7ioq/+wm5//nIWI/6uYmP+tmp7/oY6U/5uHjf+VgIn/kHuD/415fv9jT1L/WENG/3JhaP9YTlH/hImB/6u/r/+uva3/qbim/6a1pf+su6//s8W2/4uWiv9ue3P/Ym9r/1tkYv9NU1j/RlNX/0FUU/9DVFP/Nz9C/0A/Rf9pY2j/fHJ3/35wdv+Id37/nouO/5mEjP+Icnr/jXV4/4Zsbv+QeHr/j3l6/1pGSP9dSk7/a1xg/1pOUf9/gXb/ma2Y/5aqlP+PqI//jqqU/5avoP+jvq//eYh+/3mHgP9jbGr/QUJK/z49S/8+Q03/Mj1B/zI9P/8oMDP/JSov/zE0Of8yMzn/NTM6/zw3Pv9JQET/UkVN/2hYX/+EcHH/iXNw/5eGgv+Sgn//ZVFR/4Nubv9uXF3/Rzg8/4J+d/+UoJD/hJN//4mih/+QrZb/mLSl/6XBsv9qenP/i5eU/3x/gP9EP07/QjtP/zU2Rf8jJi//JSQs/yIiKv8eHyb/HiMr/x4lLf8eJCz/JCkx/yInK/8fIij/NTc5/1lZVf91c2//eXp1/4F/e/98a2r/pI2J/29cWP9HNDr/inp+/4mDg/9+fHf/n6uZ/5SolP9/lIj/i5yU/2JxbP+OlZX/mpaa/1BKW/9DPFH/NzdG/yQoMP8iIyz/JSYv/yEjK/8gIyv/HSMq/ygtNP8sMjn/KS41/y00O/84RET/VmNc/1tpYP98i3//nqOV/5WEfv+zmpT/kHt1/29bYP+QgIT/mI6S/42Cgf+nrJr/h5aD/2J1av9yfXn/b315/5mcmv+9tbn/X1pr/0E8UP81N0P/JzA2/ycwNv8qMjn/JCwz/ycuM/8pLzP/LTM3/ygtM/8iIy3/MTU+/11naf9ufHb/fI19/6+9qP/T073/moh7/6qRif+nj4r/g250/6abmf+4sq3/qKOZ/6ixmf9/j3v/U2te/2l3dP+AkYr/uLqx/87Hyf9nY3L/QDxO/zU6Rf8sODz/LTg8/yo0Of8oMTb/LTg8/zVBRf8tNjr/KzE4/ycqNP8rLzj/WV5k/2Zwb/+isKH/1tvI/9nSwf+wnpH/uJ+V/7abm/+hjZP/08fD/9LGvv/Bu7D/w8m3/6Csm/9nf3P/XGtr/5ekm//Gw73/urG2/2FdbP9DQFL/O0FM/zI/Q/8uOT3/JSsx/yYoL/8oLDL/KTA2/yoxNv8pLzb/LTI7/zQ4Qf89QUf/Vl1f/4eQiv/Avrb/vayn/6WMhP+ylo3/sJeV/7Wiov/OxcD/2MbD/9HBvv/R08n/rr2t/46glf9kcHH/qLGm/8O7t/+JfYb/U09e/0hFV/9HTVf/Tlxg/zVBRf8gJSv/IyAp/yIfKP8gISn/MjY9/0JJT/8xNT//OT1G/1RZX/+Fi4z/jI+K/56Wkf+tmJT/lXly/5h+dv+GcW3/loN9/6uemf/Tv8D/w7e2/52qoP+ot6n/sbqx/4KJjP+3vrP/sKei/4F3f/9VUWD/S0hZ/0pQW/9KV1v/NEBE/x4kKv8gICj/JiUt/ygqMf82OkD/NjtC/zA0Pf8vMzz/QEVL/3Z5ev+Sjoj/mIyH/7OgmP+IcGn/d2Ri/35wbv+kjYb/sZqW/8i2tf+lnZv/cXVx/5+gmf/Cxr//oKSp/6Orn/+yq6P/r6ms/1xZaP9LSFn/OkBL/zE+Qf8sNzv/KTI3/ycuNP8qMDb/LzU7/yswNv8pLTT/NjpD/0pOV/9gZmz/bG1w/3pxcv+Thoj/zb67/4V1cf9dVFb/f3l5/7ael//ApZ//zr24/5qEhv92VFz/hnJ0/6irpP+YnKL/pq6f/8rCuv+6s7T/WFNh/0E9Tv88Q03/NEJG/yo3O/8wOj//LTY6/yUtMv8mLTL/Jisx/zAzOv8wMT7/WV5p/5SQk/90bXL/lYyU/5CJkP/DuLn/inx5/1RRV/9nX2j/o4eE/8atqP/Jurj/qY6R/4tZZP92Vl//nJ6Z/4uRkv+6v6//18vG/7ausP9WUF3/PjlK/zxBSv82REj/MD1D/zE6QP8qMDX/KC0y/ykuNP88QUf/NDg+/zAyP/9maHX/lYaE/5qQkv+vrbL/rq6x/7etrf+DdXD/Wlti/2JaZf+fhYP/xK+t/62eov+jj5X/fmBm/2pSXf+jo6P/lpqa/77As//RxMT/npeZ/0xKVv8/O0z/LjA7/yw2PP8tOUD/KjM5/y40OP8sMTb/LTI4/1FWXP82O0H/LTM8/1lQWv+YhoT/x8S+/6ywsP+7vb//uayt/4BxbP9eXmP/a2Nq/5yGhP+8r6z/sqCm/5aEjv9xaW//a2Zt/6Gfo/+jpqr/sLOp/7OorP+Khor/S0pW/0E9Tv8xMj3/KDE3/ygzOf8kLDL/MDQ5/zY6QP8qLzX/PUJI/zpBR/8yNzv/W0lQ/5SEhf+/wLj/srm1/7a6uf+wo6T/hnFv/2thZv+Ccnf/k3p7/760tP/Ds7n/i32I/3h+hP+CiY7/nZ2h/52gpf+vta3/oJqg/4+Pk/9VUl//QT1N/zg7Rv8uOD7/LTc+/yowN/8wMjj/LjI4/ywxN/83PEL/R0xS/11YWv+Fb3L/gHd+/6ippf/M0sz/s7i2/5KJif94ZGP/g3R4/6GPj/+QeXr/vrS3/87Cxv+UjZL/fISI/5Ocnv+4vr7/nqSm/7G6tP+bm6P/gYaL/1VPXf9DPk7/NDtD/y05Pv8mLzb/KS82/zAyOf8rLzX/Mzc9/zY6QP9AREv/f3N0/5N+gP9+fIn/oqKj/8zPyP/AxcL/rKak/4l6eP+FgH//j4eC/4l8fP+xp63/4NjY/7Gvrf99gYH/j5OV/7nDv/+jq6n/qa6t/4OHkv9eZW//UUdZ/0Q+Tv8zQEb/NUZI/yo4O/8mLzX/Ky85/ywwOP9HSk//X2Jo/0ZLVP98dXj/h3t+/4qJkv/Qzs3/0dHM/8bHxP/Gu7n/n46N/2hvc/+AfX7/i3t9/66kqv/i2tn/r6+r/3uGgv+TnZz/sLmz/5ignv+ZnaD/gYWQ/1pfaf9KQlT/QTxK/zRARv85SUz/NEVI/zhDSP9ARk3/MTY+/z1ARf9tcnf/TVZe/3Z1ef+Ben//jY6W/7e1tP+bm5j/nJ2a/83BvP+aiYn/WGBp/3Z0e/+Idn3/raSq/9zU0/+oqqX/h5aS/6Cuq//Iz8r/o6qp/4mOkv+SlJz/am5z/0lDU/9GQlD/QUtQ/zpITP83SU7/RFJV/0pPUv9GTFH/Njw//0VLT/9HUVn/e3yC/29sc/9iZ3L/eHl6/42Ojv+go6L/y8O9/4l8fv9TWWL/cXB4/31wev+yqa7/3tXU/6qrpv9/jon/iZaT/7G5s/+VnJv/hIqO/5WXnv9tcnT/SENR/1BMWP9JU1f/P05Q/190dv9db2//MTY4/zQ4PP9NUlT/aG1w/2Fqcf90dX//UU9Z/1NZZ/9pa2//s7a1/8jOzP+5tbD/dGxx/2Nobv96fIP/bGZv/7SssP/f19b/p6ij/2d1cf97iIX/oqmk/4mQj/+Chor/j5Ob/4aNkP9TS1r/VVBc/1ZjZP9RZGP/cYqH/2B1c/80ODz/LCwx/3l6fP+Cg4b/Vltk/2Fgbf9eWWj/Y2Z4/3Z3e/+lqaT/rLOy/7m4t/9qZm7/cXN1/3t/gv9oZm3/saqs/9PKyf+en5r/bnx4/5Shnv/Dy8X/pKup/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"0f6671f5-6a96-4f53-91d1-81b25bc8e070\",\"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\":\"c2ac7e93-8d97-4250-8c8f-58105cea6a0f\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"4d545f05-1113-4080-82df-03ee47abd0b9\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"78fc2489-f4bd-449b-b19a-e9e177dd62d9\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3e2e4263-080a-4520-a52a-907d73dc1479\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"f218fae7-c49c-452a-8392-ab63db84e110\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c86df071-45b9-4784-acfc-755c941c730a\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"64b56d33-ad96-412d-b3af-52fe0cda1fb4\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8fdba891-11c1-4085-a0c3-136fbefadaa5\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"c2ac7e93-8d97-4250-8c8f-58105cea6a0f\",\"type\":\"BoxAnnotation\"}},\"id\":\"6d416697-8a3a-4742-a76c-89fc67fb6b35\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"003151a2-866d-45c5-9990-71ece62a9e7b\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b66b37d1-7205-4a00-8976-9eecb7dc2645\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"e6f4f3ca-95c7-41a5-b55f-853bd82f1287\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7fba5bed-2120-4c43-92b9-bd3539ef562b\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"b66b37d1-7205-4a00-8976-9eecb7dc2645\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"8812b720-ce5c-450d-a2ef-e907bad1d796\",\"type\":\"CDSView\"}},\"id\":\"549a3c92-7799-412b-854b-2da65bc1f326\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"e6f4f3ca-95c7-41a5-b55f-853bd82f1287\",\"type\":\"ColumnDataSource\"}},\"id\":\"8812b720-ce5c-450d-a2ef-e907bad1d796\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"77c4b89c-cc20-4b7e-bc98-2393a40ce867\",\"type\":\"Title\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"5a8cd4b6-83f3-41dd-a6ef-998dddbe18be\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"388b9dac-356c-4abf-9f06-36f7bee7471a\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"9d91f3af-c848-41bc-86c7-cbfc17b47bd6\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"c9fc2b20-1b6c-4246-a119-29b6a1181f3c\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"f44a564a-0ad8-472b-bf4f-583362f91c7d\",\"type\":\"SaveTool\"},{\"id\":\"106f24cd-30a8-4790-a285-64809ee86af6\",\"type\":\"PanTool\"},{\"id\":\"683706b4-d9d8-46e4-a971-850084c07874\",\"type\":\"WheelZoomTool\"},{\"id\":\"1442b6c4-52fc-47da-9398-46845eb5baed\",\"type\":\"BoxZoomTool\"},{\"id\":\"9efbea0e-9d85-46b8-933e-aa43532aa8ca\",\"type\":\"ResetTool\"}]},\"id\":\"9a2dd823-13ee-4b9c-acc1-cadadb08908c\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"6a3739f8-c214-45ed-9204-3e5664f6f35c\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"71e7e384-1419-4fb7-8abb-68aef3fe53a6\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"c9fc2b20-1b6c-4246-a119-29b6a1181f3c\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"9f2ab67d-e75d-435e-a8ac-a7f6932a8392\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"c9fc2b20-1b6c-4246-a119-29b6a1181f3c\",\"type\":\"LinearAxis\"},{\"id\":\"11d5f417-a362-4ee6-b407-1cc7048db738\",\"type\":\"Grid\"},{\"id\":\"9f2ab67d-e75d-435e-a8ac-a7f6932a8392\",\"type\":\"LinearAxis\"},{\"id\":\"620564aa-5738-4833-8602-a27af0f5491f\",\"type\":\"Grid\"},{\"id\":\"a15a0966-4c19-4268-bdcf-d2c47de72cf1\",\"type\":\"BoxAnnotation\"},{\"id\":\"6065143a-69a1-4fd2-ad2b-c12addfc265b\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"77c4b89c-cc20-4b7e-bc98-2393a40ce867\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"9a2dd823-13ee-4b9c-acc1-cadadb08908c\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"71e7e384-1419-4fb7-8abb-68aef3fe53a6\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"6a3739f8-c214-45ed-9204-3e5664f6f35c\",\"type\":\"LinearScale\"}},\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"9d91f3af-c848-41bc-86c7-cbfc17b47bd6\",\"type\":\"BasicTicker\"}},\"id\":\"11d5f417-a362-4ee6-b407-1cc7048db738\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"0b189eb8-8dfc-4853-af8c-4bbb1fa56230\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"9d91f3af-c848-41bc-86c7-cbfc17b47bd6\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"e3156364-d02c-47ff-b403-d8ee29475c23\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d344fa25-ec9c-4fb3-b93e-05cf5128f95e\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"9f2ab67d-e75d-435e-a8ac-a7f6932a8392\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"d344fa25-ec9c-4fb3-b93e-05cf5128f95e\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d344fa25-ec9c-4fb3-b93e-05cf5128f95e\",\"type\":\"BasicTicker\"}},\"id\":\"620564aa-5738-4833-8602-a27af0f5491f\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"120cf9da-97e9-4c0d-a431-99d0670c56e1\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5a8cd4b6-83f3-41dd-a6ef-998dddbe18be\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"040405e5-ebe6-4fa6-b34f-6aab78829533\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"c9cfbb55-184e-46b6-98c1-1110ae555353\",\"type\":\"CDSView\"}},\"id\":\"6065143a-69a1-4fd2-ad2b-c12addfc265b\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"fd921411-3bf9-4c98-8da8-dae999451670\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"257bec91-ceb3-4b36-848b-128f594ec67a\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"fd921411-3bf9-4c98-8da8-dae999451670\",\"type\":\"LinearAxis\"},{\"id\":\"ac1ded6a-8863-4168-8dae-ff90be24dbbf\",\"type\":\"Grid\"},{\"id\":\"257bec91-ceb3-4b36-848b-128f594ec67a\",\"type\":\"LinearAxis\"},{\"id\":\"e7cac2ee-533e-49b8-9710-6a0568861ec9\",\"type\":\"Grid\"},{\"id\":\"fa74de7a-fd85-4b52-852d-38efd655c8d9\",\"type\":\"BoxAnnotation\"},{\"id\":\"bdf58e9f-91b9-4a43-93c8-132bd035e412\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"eccc4fa5-37c8-4c90-95a0-66b8c5a8fadf\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"23bb3df6-6a48-4b46-840c-6dd8508ef496\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"83de2dc4-f709-433f-9a8a-f76d2a325c8d\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"69c11d40-d593-4626-bec9-53895274458c\",\"type\":\"LinearScale\"}},\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"040405e5-ebe6-4fa6-b34f-6aab78829533\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"f44a564a-0ad8-472b-bf4f-583362f91c7d\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"683706b4-d9d8-46e4-a971-850084c07874\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"106f24cd-30a8-4790-a285-64809ee86af6\",\"type\":\"PanTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"9106c0ec-15ae-44a4-80af-4235618985be\",\"type\":\"Title\"},{\"attributes\":{\"overlay\":{\"id\":\"0d00d228-4430-4244-9d9e-ac58bc9c073b\",\"type\":\"BoxAnnotation\"}},\"id\":\"77bd1b5a-0ed8-4496-bd5a-aed8d31b8e10\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"b08fedfe-d786-465a-be4c-15e56f732fce\",\"type\":\"ResetTool\"},{\"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\":\"0d00d228-4430-4244-9d9e-ac58bc9c073b\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"013332de-ff02-449e-8504-ef6b9e105954\",\"type\":\"SaveTool\"},{\"id\":\"16afa72f-10fb-4d9d-9131-5bb9db5bd8a1\",\"type\":\"PanTool\"},{\"id\":\"30376665-b5ae-40f2-9b09-c8d999e1c42b\",\"type\":\"WheelZoomTool\"},{\"id\":\"5104565a-ecbb-451c-974b-6c854ec36732\",\"type\":\"BoxZoomTool\"},{\"id\":\"c805a8fb-b10b-460a-91d5-90f536bf53c0\",\"type\":\"ResetTool\"}]},\"id\":\"0fe86d86-a774-40da-a646-bb261c33d270\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"53103490-d6a3-48e2-9ef6-26ef22c84e20\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"97ee5ff4-b4f3-4268-9aed-edbca5c49853\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"264ff196-3335-489e-88eb-5bf2b3ca7e51\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e8e55d5b-637b-4959-8f12-6994208f9682\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"39f2a22b-e79d-4e9b-96f7-d092571b57c9\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"995dae87-d225-47b0-9bcd-d8bd2b5d1855\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"below\":[{\"id\":\"21dbe7ca-14f3-45d3-8b2c-8806709cec48\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"a7e45cdd-341c-4cc7-be05-c44cb192c878\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"21dbe7ca-14f3-45d3-8b2c-8806709cec48\",\"type\":\"LinearAxis\"},{\"id\":\"a6c1c5b5-4a87-4a87-a081-59c417004373\",\"type\":\"Grid\"},{\"id\":\"a7e45cdd-341c-4cc7-be05-c44cb192c878\",\"type\":\"LinearAxis\"},{\"id\":\"94f24f70-cb30-42b6-976d-2e06f98d86a2\",\"type\":\"Grid\"},{\"id\":\"d0047ca7-0837-487a-ac65-44751d41ff4d\",\"type\":\"BoxAnnotation\"},{\"id\":\"114e4d42-2600-4eb8-9395-427c03b7a460\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"9106c0ec-15ae-44a4-80af-4235618985be\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"0fe86d86-a774-40da-a646-bb261c33d270\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"53103490-d6a3-48e2-9ef6-26ef22c84e20\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"97ee5ff4-b4f3-4268-9aed-edbca5c49853\",\"type\":\"LinearScale\"}},\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"83396f5c-c782-4d4c-ab35-0b708257819a\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ceb33d19-f45e-4226-9738-8253c749c402\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"21dbe7ca-14f3-45d3-8b2c-8806709cec48\",\"type\":\"LinearAxis\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ceb33d19-f45e-4226-9738-8253c749c402\",\"type\":\"BasicTicker\"}},\"id\":\"a6c1c5b5-4a87-4a87-a081-59c417004373\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"ceb33d19-f45e-4226-9738-8253c749c402\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"1f1ef9eb-1d8b-4029-839e-94c8f0cb07e1\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"86e86adc-03f2-4723-a609-9d14d52d49d9\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"a7e45cdd-341c-4cc7-be05-c44cb192c878\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"86e86adc-03f2-4723-a609-9d14d52d49d9\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"86e86adc-03f2-4723-a609-9d14d52d49d9\",\"type\":\"BasicTicker\"}},\"id\":\"94f24f70-cb30-42b6-976d-2e06f98d86a2\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"83396f5c-c782-4d4c-ab35-0b708257819a\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"516e493e-d0fb-4d3e-808a-0a3c14a4d763\",\"type\":\"LinearScale\"},{\"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\":\"d0047ca7-0837-487a-ac65-44751d41ff4d\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"013332de-ff02-449e-8504-ef6b9e105954\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"XGVP/2BpUf9fYVH/Y2RT/1hROP9vVjr/bnFR/2RkUv9qcF7/XV5H/1c+J/9vWUH/dXpn/253Zf92fmz/dnxq/2luXP9bTjX/dGRP/2xYO/98d2L/cnVo/2t0Yf97dGX/dHtn/29zY/9zdWb/cXRl/29xZP9vc2H/ZmdT/3NoXP9fZFP/W15N/1leTv9mbVv/XVdB/3FTM/97b0v/Zm9Y/253Y/9nZUv/XUIo/25QN/97fWj/andj/3B8af91eGT/c3Je/2BUOP96XkL/fF48/355ZP92eWz/cXRl/3VwY/9xc2P/cXVi/21xXP9ydWT/dHhp/2xzXP9ra1b/bGhX/2hrWv9gYlH/Zmxa/2p3Yf9qaVT/cVQz/4x0T/9pblX/ZG5Z/2hmTP9hSC3/aEUs/25pUP9ncVv/aXNf/3V1Xv9pY07/Z1s9/3xYOf+CYDv/b2pS/3V5aP92dmX/bWla/3l3aP9+gW3/dXpi/3N2ZP9xdGX/fIBo/3BtWf9taVf/a29Z/2NlUP9udV7/a3th/3Z9Z/9+aEr/knRQ/3lyWP9gZlH/cnFb/2lWPv9cOyH/cGBE/3Z2Xf9xdF7/hoJq/2xlUP9lVzv/cUwv/4lmQf9/eF//dnll/3N0X/9zcl7/dnZj/3Z4ZP93emP/enxq/31+cP+Df2r/bmRS/3xzY/9obFX/YGJM/2lvWP9ZaEz/XWtV/3RnTP+LaUT/hHFU/3R2Yf93eWX/aFtF/1ExGP9yWDr/ioFn/3h4Yf93clr/ZFtG/1hILf9rRSr/kGtG/4F4X/90dWD/bW5Y/3Z3Yf92dmP/dnZj/319aP97emn/c3Fk/3pwXf+Ke2v/fXJj/2BkT/9sblr/Z25Y/1lkSP9dbVn/bWhQ/4dlP/+UeFf/e3pl/250Y/9rY1D/TzEY/2hHKv+GeF//cW9a/3p2Yf9pX0z/Tz4j/29HLP+Vbkv/hHhh/3t6Z/+EhHH/f4Ju/4CCb/99fGn/h4Zx/4F/b/9wa1//jYJv/5OFdP96cWH/aWxc/21vX/9obl3/b3Rb/2Z1Y/9zdWD/gmE6/5R1UP+Fgmz/cXlq/3h0ZP9PMxv/Yz8k/4h5Y/94eGb/f35s/2xhUP9RPiP/dUww/5tzT/+ThXL/hIF0/4OCdP+Kjn7/kZKC/3p3Zf95dmH/hoRz/4qFef+UiXf/jIBu/4eBcP90eWv/dHhq/2txYv9nblz/cHtt/3RzX/9qTy7/kHVZ/42MgP97hHj/d25d/0ksGv9jPh//jXZa/46DeP+Vj3//c2pW/1Q6Hv+CVTX/m3RT/4+Bbv+IhXb/g4Ny/3p+bf99f2//fXto/3l3ZP+Ni3z/lI6D/4h+bf+CfGn/gH9s/290Zv9scGP/bXFk/2tzZv9wdmj/eHFf/1Q/J/+HdGL/lJaS/4WLgP9wX0r/SCcY/2pDHv+KaEP/fWBV/3NfSv9ZSC3/VDIX/4JUNP+Qakz/kIBs/4SCcf+ChHD/fYBt/35+a/+AfWn/hIFw/4eEd/9+eG3/jYN1/4SCcP97e2j/dHNn/3FwZP92dmr/dnlp/3N0Y/97dGP/Sjsp/3RkV/+LioX/cW9j/1c9JP9SLRf/fFAp/5NpQf9rQij/YjwY/2xFHv9YMBT/a0Mq/31UNv+Vfmv/iIR3/4OFdP+Eg3H/joh2/5GLef+HgG//g3xu/4N7b/+Gf3H/h4V2/4J/cP9wa2H/d3Jn/3t2a/97eGj/gH1q/3ZvX/9HPDD/XlFI/353cv9lWUr/WDQU/3JGJv+XZj//qXdP/4tXLv+LVST/nmU0/3BEIv9qRy//fVAy/5d3Yf+VjYD/f4By/4eDc/+hmYf/pZ+M/5CKeP+PiXf/jYd2/4B9b/9/e27/hoB0/3RvZP95dGn/cWxi/3t3aP9/emn/cmpd/zkuJP9NPzf/g3Zx/2ZPPv91RiD/lGI4/5xpQv+jbUv/mWQz/5pjLf+objv/i100/3pWNf+IWjr/kmtN/5mJc/+Kinv/jIt7/46Idv+XlIH/i4l1/42Ldf+Dg2z/fH5r/4aCcf+Qhnf/eXZq/3p4bP93dGn/dnVo/3t5bP9pYVX/LB4T/0Y0K/+GdW//YkMw/5FZLv+aYzL/kF03/6ZyV/+bazj/nG05/6NyRf+bbj3/il8y/4hcN/+UZ0H/o4tq/5aXg/+Ljn3/hoZz/5OWgv98f2n/foFn/3Z8X/9sclj/hYFq/4h9aP94eG3/cG9j/3p4a/92dmz/hoV7/1xUSv8qGRD/TDov/4FtZP9oPif/o2c3/5BaIv+NWjP/oW9X/5dpOf+bcUD/mXBH/5ltO/+TZC//g1Yr/5JgM/+ohVn/nph+/5KWhf+Wl4T/np+L/4qLdv+JjnL/e4Bh/3d8YP+OiW//hHle/29xZ/91c2j/fXlr/3l1cP+Ih33/WVNL/yoXEv9VRDj/eWJR/3tFIv+majX/kF8m/5BeNv+SZEj/mWY6/5xuOv+YbT7/lWU0/5ZkMf+BUCD/kFou/6RzRf+smXb/kpB9/3ZwW/+DdmH/kYNx/4yKb/+ZkHD/kINj/5CBXf+hkGf/cnNs/3p6cP93dWr/fXp2/4WFeP9STEL/KhcS/11IPP9vUjv/iVAg/6BiLP+XYzf/lmhG/5RpS/+dZzn/mmgz/51nMf+ZXif/k1kn/3hFHP93SCj/glYw/5J7WP+flXj/iXxX/5iFYv+nj3H/pZZw/8mtgP/MqW//zKhr/+K7ff94dmz/ends/3ZyZf90bWP/hIBr/1xTRf80Hxn/Ykg8/3RPMv+QVx3/m14n/5hkRP+YcVT/oXhY/6JqOv+RXSv/kF4s/5NbKP+BTCH/YTgc/04vHv9VMhf/cVg1/8Ctg//fypP/582Z/+fGl//kyJT/5bh8//DAcv/zwXP/5K5i/3ZuW/+JfGX/j31j/4p1W/+ejWz/gHFc/0YwKv96XVH/iF5A/5dfKP+aYC//mmlO/515Xv+je1f/nmY0/3hIH/9bPB7/g149/2dBIv86IRD/KhoQ/0ElDf9oSyf/v6Vz//XXlf/20JH/9s2T//rbnP/qtXD/6bdo//TEdv/gql7/saB//7CUaf/Dm2j/vZRj/9e3hf+jjG7/W0Q+/5l/cf+TaEz/mWM8/6BtRf+gdFP/o35g/550S/+XXy3/Xzca/ysiHP90Y1H/fl9B/0IsFP8dEwX/RCwQ/3RVL/+egU//6seD//TEgv/jr3L/0KZh/+WvaP/cqmX/16Zg/8yYT//DqHf/xp1h/9iiXP/FjEr/1ahp/76gef9pUUj/hGlb/5BmTf+YZUv/lWVD/5RuRP+feVf/mGs//49ZJ/9fPSP/NTQ1/1dMQv98Xjn/e1wy/08/Iv9nTSn/i2lC/5R3Sf/nwoP/9L+A/+Stcf/SpWH/4rBr/+u4ef/cqGX/zJhQ/8yjZP/OoF//2qhi/9qkYP/WpGH/3bmF/5F2YP9zWEz/jmdR/5ljSf+QWzj/kmlB/5lyTf+VYzX/j1op/3FLKP9MPjH/Rj05/1hIKP92VSj/imY4/5lvOf+Paj//lnpU/+nIlP/wxoz/7MCH/+vDiP/atXn/6MKF/+O1c//GoWL/68eN/9Swd//Cn2b/1654/9CpcP/dv4z/ybKY/4VoXv+RY1T/nmFJ/55fQv+dakv/mWtJ/5liOP+QWjL/g1o6/3JdSv9HQT//Ojgh/1xFI/+PaTz/nXE2/39eNf+ag2T/17yR/9i9jP/MrH3/y6x8/8qzhf/HroL/yqh2/6uWbf+9qYL/r5x0/6GNZv+kjmj/q5Vu/7Wiff+7qpL/rZKI/5VnXf+WXUz/nGJL/5tpUf+ccFH/nm5M/6B2WP+wk33/s6ST/25tZv8yNin/ODAb/2tTMP+EYTL/iXBQ/7ChiP/BsY//vq6M/7mlhf+0ooD/tKmK/7OnjP+9qYf/rKSL/5uSdv+hmH3/s6qP/7Gmjf+vpIr/uK2S/7itl//HtKb/tpiL/5h2Yf+QbVb/nH1l/6iObv+4n37/wK2S/8zBrf/NxbH/np2P/z5DPP82NSn/UUEl/2ZII/+PfWX/wruo/7u0mf+2sZj/tauV/6ObhP+ko4z/raqO/7arif+oqpH/rqSO/66lj/+0qpT/uK2Z/7Wqlf+0q5T/tKyU/72znv/BtqH/uK6R/7GmiP+3rJH/taqL/8C2mP+8tpz/t7Sd/7Stlf+qp4//U1JL/0VBNf9HOh7/SzEU/1xOPP+QjX3/tLGX/7a0nP+yrJX/m5Z+/4uNc/+dmXn/rqJ7/6Ghgv+un4f/q5yE/6magv+rmYH/rp2H/6ygif+lnYL/o5uB/6Sdg/+yro3/u7iX/7u0mf+ypoz/taqR/66jiv+zpo3/r6WI/66oh/9oXlL/PTAj/11NNP92XET/RDcm/z07K/+Wk3f/ubaY/7Osj/+jnoH/nJt+/6ibff+2oX3/mZB1/6STef+lln//ppmD/6mZgv+llXz/qZqB/6KVef+kl3n/qZx8/7OriP+2sY7/t7GS/6ufh/+voov/opJ7/7Cdhf+4qIn/yb2U/5WIbP9wYUz/q5uA/8WwlP96bFX/SUIw/3dwVv+1ro3/sqmI/7Cnhv+upof/q5l8/7Gae/+Tg2r/opV//6ebiP+gloT/npR+/5yQd/+fkHb/opJ3/6uYev+6poP/vaqH/7Ojfv+0pYH/p5d4/6yafP+1oIP/u6SI/7+pif/MvJP/urCK/2tjUP+Qg27/zLyd/5+RdP9bTzz/bmNN/6mef/+onX3/qZ9//6ebe/+gjnD/no1x/5OEav+rppX/saqX/6WciP+bkXv/oZZ//6CTev+nmH3/sZ2C/8Cmif/LsI//yq6I/9K0jv/StJD/waWA/9C2kf/QuJP/wq2N/7Cigf+dl3v/WVlP/46EdP+yo4T/q5+B/5CFb/+Ngm7/oJZ7/6KYff+lm4H/pJh+/5eJb/+Xi3L/l412/6mpm/+fm4n/o5uG/6CXgv+ck33/m493/6eZf/+1poz/vKuO/825l//Wvpf/0LaN/9K3lf/Ls5H/x7WR/8m6lv/Gtpj/qZ6D/5qXhP9pbWj/lo+B/6OVeP+kmXr/o5uC/5yUf/+cknz/pZuF/6KZgv+gln//lIly/5OLdf+Qinb/nZyL/5KPe/+RjHb/qqSP/6Gahf+gloD/qp6G/62kif+uqIv/sqqJ/6+lf/+lmnP/raCF/7eskv+yq5D/vLaa/7iuk/+poIf/op6M/4eIfv+jm4v/pJh8/6Wcff+knoL/m5V+/5iRev+ZkXv/kot1/5GJcv+TiXL/kYhz/4mDb/+loIn/oZ2H/5aTfv+ppZH/pZ+M/6igiv+nnIX/pJqB/6ujif+yrJD/pqGD/6WihP+vqo//sq2T/7Krkf+0rJL/qqOH/6mjiP+wqZL/qKKN/6OZhf+glnz/opx8/6KdgP+WkXj/kIpx/5OOdP+TjnT/j4hu/5KHbv+Rhm//i4Nu/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"f6518676-e91a-4b03-b848-49e59a53b5da\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"16afa72f-10fb-4d9d-9131-5bb9db5bd8a1\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"2dXL/9TOxv/Nwrn/uqid/5eCeP91X1T/X0Q3/043Kf8+Kh7/NyMX/0EpG/9WPC//XUQ0/29TPv95W0P/W0c5/1hIPv9sYFj/nJWR/8O+vv/MxLj/ysG1/8vAtf/LwLH/zcO4/9TKxP/Jvbf/ysG4/8i/uf/NxL3/0cjB/8nAt//SzsH/0cvC/8/Jvv/NyLv/zsa5/7yyov+VgXP/h21g/25WRv92W0v/iWxb/4doWP9pTj7/a088/29SPP9ZRTj/VEM5/3BjXP+flpH/xcHF/9LLx//HvrT/yL+1/8vCtf/Qxrv/zsO7/9HHv//VzcX/ysC6/9TLxf/Y0Mr/0srF/8jEsv/Mxbf/zsi4/87Iuv/OyLf/0827/8vBsf/IuKr/vrCg/8KzpP/KuKf/rZF//3haSP9iSDf/ZEk3/1ZBNP9UQjj/e21k/5eKgv+vqar/0svJ/8a8sf/KwbX/xLuw/8/Fvf/Lwrn/w7ux/8jAt//Ivrb/zcW7/8vEuv/DubL/z8i3/9LLvf/Vz8D/08y9/8vHsf/Oxbb/zsS0/8/Juf/Uz7z/2NHD/9nRwv/CsJ3/fF5J/1pBMf9YPy//W0Qz/2NPQf+BcmX/iXty/56Wkv/Kwrr/wbeq/8nBs//Kwrj/0Ma+/8q+s/+3rKD/v7Oq/9HFvv/JwLf/yMG4/8rAuf/MxrP/ycWv/8vFrv/Mx7H/0Mq2/8jCrv/Fvqz/y8S2/8jEsf/Sy7z/2M/F/8/Ft/+Jblv/UDYm/1E5KP9oTDj/bFdH/3ZmV/9+cGX/g3py/5qQhv+ek4n/opaL/6yglf+zqJ//u7Ks/87Euv/OxLr/0ca+/9DGvf/UzsT/0cnC/8jBr//Dvaj/wLql/8rFsf/c0sP/0862/8fGp//Gxan/w7+p/8jBr//Bu6f/zse1/5+Idf9UOSj/W0Ew/3BUQP9nUkP/aVlK/2hZTv9yZV3/gnZt/4R2bf94Z17/f21h/4x7b/+MgHz/wbm1/83EvP/CuK//xLiu/7+1q//KwLj/w8Cn/8vGr//Nx7L/yMWu/8/Ks//Iw63/zMWs/8zNp//Oyq7/yser/8bEpP/Szrf/tqaQ/2VJNv9eRDL/c1dD/2NPQP9eTkD/bVpM/456bv+PfG7/inNj/3xlVv9zX1T/emVZ/4FuYv+GgYH/xr23/87Cuf/Mwrj/x7yy/8zBuP/AwKD/yseq/8vKqv/FxqL/w8ad/77Dmf/JyKb/zcyt/87Lrv/HyaL/zcyr/8/Ksf/Ivqb/hGpV/2FGM/9uVkT/XUxA/2lXSP+LdGD/kHpp/4p1ZP+Wf27/im9b/4FtYP+IdGn/hnVs/4J9fP/Dt6r/1ci3/9XJvf/Sx7r/1Mm+/8PImP/Gx6H/xsmg/73ClP/DyJz/wMiU/8bMnv/Ky6j/yMik/83NpP/S0Kz/zsuo/9LKsP+ijHX/bVA9/3dgUf9hUUb/e2lb/4ZxX/96Z1n/g3Rq/5B9c/+MdGX/loV8/7GakP+0oJT/wrir/9XLu//c0MT/1sy//9XMv//Zz8f/yMyh/8LJm//Bxpr/wMKa/8jHpf/Bw5z/ycyi/87LrP/ExaD/y8uk/9DNq//Nzab/zMmo/76xlf98Yk//dF9R/2JWTf9qXlX/a1lL/1pMRP8+Nzf/altV/31qXf+diHn/0cCu/8/Esf/Du6P/z8ax/9jQwv/Ry7r/1M2+/9PKwP+9wZX/w8ua/7/Kj//IzJn/0dOm/9HRqv/IyaL/ysin/8PFnv+5uZT/xMOf/8fIo//KyqH/zsin/5J8Z/9oVUv/gXl1/4J2b/+KcF3/gm9m/25iYf95ZVv/fWJU/76rmP/WzbX/0MWt/8zDrv/FvqT/xL6j/8rArf/PxrH/zsez/73Pkf/Bz5f/xc6Y/7zKjv+/y5T/ytSc/8bLnP/Bxpz/wsaY/7/ClP/Dxpr/wsSc/8rMo//HxqX/s6aG/5F6bP+Bdm7/lYyG/4JsXv+egW3/sZqJ/6GCbf+2n4j/zsGs/869qv/Tw63/zcGq/83Ep//Px6j/0cWx/9HGsP/SyLP/vc6L/8PRlP/DzZb/uMyI/7/SjP/H1JT/xMyV/8LJl/+/yJH/xMuX/8nOmv+/x5D/wsaa/8nIo//JxaD/vKSG/4BqV/+MhID/dGlk/3tdR/9vVEX/l4Zx/8fBof/IwaL/z8Cq/8i5pf/BtZ3/yb6k/8vCqP/LxKn/ysCo/8/FsP/Gz5f/z9Sk/8/SpP/Jz5z/zdub/8fTl//Fz5b/ydSZ/7/Hlv+7wJH/x86W/8LOjv/AyZH/vL2S/7i1lv+woIf/fWZS/5yQiv+QhoX/XUY3/4RzZf+5tZv/xsGk/8XAo//BuJ7/uKyX/7+0nv/DuaL/xr+n/8S+o//HvKf/y8Kw/8TWkP/H0pT/xtWV/7/Pkf/F0Zn/xs2c/8XMnP/J0pv/y9Oe/8fOmv+0v4T/jZJm/2llR/9eVUH/cGFT/3dmXv97Z13/p5qR/7Spov+Hdm7/iX5w/8G8pP/Ox6//x8Gn/7+7m//Gv6D/wr2g/8W+o//DuaT/y8Cq/83Brf/QxLT/v9OM/8DOkf+/0Y7/u82K/7/Lk//AyZj/xs6e/8TLm//Lz6L/oaF9/2JZQ/9VRDv/Oysh/2thUP+up5D/o5iG/6qZjP/Es67/yby1/8/Evv+fkov/hnps/8C4o//DwaP/yMWi/8K+of+6uJn/wb2g/8m9qf/Sxq//1cyz/8/GsP/F15P/v9SK/7vPg/+8yor/t8SJ/7fIjv+ww4j/kJlq/2JfSf9ANSz/ZVVH/6aihP+XkHX/g3xi/7u7lv/DuKn/wrmr/87Mt//Cwab/zNCx/8bKo/+OgW3/kIVw/8LCnv/Hxaf/wb+i/7u4mv/AvJ//xr6o/83Brv/Sx7P/0Max/8PTkf+90oz/u9KE/73Pi/+wwIL/mKNy/1paPP86Lx3/Pi8j/1JCN/+VinT/sLKE/6ese/95aVb/pZSH/97Rxv/ByaD/vc+P/7zQjv+9zZT/tsKL/6+si/+knYb/t7iU/8LFnv/FxqD/x8Sn/8nDrf/JwK3/x76r/83Asf/PwLL/vdKK/7vOjP/B0ZH/tb6K/3h5Vf9GPSf/QC4b/1A8Kf9QPTD/g3Re/7+ym/+olYj/nIt4/6aPg/+tm4v/xbur/7KykP/Hz5z/w86Y/8HGmf/AwZ3/u7uW/7Wzkf+6u5f/xcuh/8XHov/Hw6j/yMCv/8i+rf/Ivq3/x7us/8i6rP+71IX/vNWH/7PJgP+Wl3L/fndY/047Jv9XPir/WUMv/1hENP+hnHb/trSN/7KflP+6ppr/xbuj/7y0mv/JwKv/tqqV/76/mv/DxqL/vcCW/8HDoP/Av5//v7ye/8bCp//HxKb/yMKo/8rCq//Ivaz/y8Gv/8i+q//Hu6r/yLms/7jWgf+60Yn/r7yG/6m3f/+HiFv/TTcm/2FKNf9ZQzD/Yk89/5qRcf+rmoX/pY2F/66jjf+9x5j/wsWi/8vLq/+8tJf/t7SP/77EnP/AxZv/u8OW/77Cmf/Dwqb/xMGn/8bAqP/Iwaz/yb6v/8a6rP/MwbD/x76r/8e8q//GuKr/rdB6/7LOg/+3yY//kJFm/1ZDL/9TPCr/ZU46/2BJOf92YFP/ppGG/72nnf+Xgnj/pJ98/7/Lkv+/xJr/vsWZ/769l/+3sJH/tbmR/8C/oP/ExaP/wMGg/8LApv/Ev6f/xr2p/8K6qf/DuKz/w7is/8K2qP+8sp//u7Gf/8G1pf+5zI3/usuO/8DKmv+koHv/Yks0/1c+Kv9WQjH/VkQ2/498cP+6qZn/rZyP/5Z/d/+yq4//wMSZ/8LBnv/DwZ//xcKm/7y3nv+/vqD/zMWx/8rCrv/Gvar/xryn/8q+rv/IvKz/wLWm/8O4qf/Euqn/wLSj/7+unv+9rJ3/vq2d/7XIh/+5xo3/wsya/6Smev9cSC//TDYm/0U1Jf9aSjz/rJyP/7allv+Uf3H/mIZ7/8bDrP/Jyqz/y8ix/8bDqv/HxKz/w8Cp/8jBr//LwbH/ycCv/8vAsf/Hu6z/ycCx/8O5qP/Btaf/wram/8G1pf++saL/wrKj/8S0pP+5qZn/s8OJ/7zDl//BxZ3/lYVk/2ZLNf9iSzn/VD8w/4d0Zv+/r5//rZuN/5aAdP+zpJr/1tDB/9bRv//TzL7/yMSw/8jErv/LxbH/zMS1/8zEtf/Sybz/0ci6/8W8rv/Iv7P/wbep/8K3qf/Euqr/xLmo/8G1pP/AtKL/vK+d/7Kikf+8xZj/wsOk/8K6oP+YfmX/i25X/45yXf+BZ1f/r5uL/76sm/+olof/rJqP/9HGvf/d1cv/2dHE/9fQwv/Pxrf/xLus/8vCsv/Kw7L/zcaz/9PLu//OxrX/xb6s/8O7qv++uaL/urWb/7mznP+/tqD/wLaf/7uwmv+3qZf/tqeW/8jLqv/MyrL/t6uU/5Z6ZP+wloD/tZqF/6GJef+wnIr/sJyJ/5J/bv+nmIv/4NjR/9zVy//Vz8L/z8e6/83Ft/+5sqL/xr6s/8a+q//Cu6b/x7+r/8nDr//IwK3/wLmi/7m1mf+3spb/urSc/7yynP+/tZ3/u6+a/7eolv+4qpn/usWV/8PIo/+jknj/o4V1/9LAsP/MtaX/r5mL/5R/bf+RfWn/eGRS/6ORgv/Uy8D/yMG1/87Gu//NxLj/ysK1/8rDtf/JwLL/zcKz/8S7qv+7tKH/urWe/76zn/+4rJb/sqmR/7ywnP+/s6H/vK6e/7qqmv+8q5z/vqud/7mlmP/Fw6v/xr+s/6qVgP/Br6H/0cS4/7Gcjv+YgnH/hnBc/3ZiTf9oU0H/sKCS/8a8r//EuKn/xrys/8W8q//Duab/w7im/8O3pv++saH/uqye/7utnf+1qJb/taWW/7qomP+1pJX/vKma/7mll/+1opX/s52S/7eglv+3o5n/uaSb/8bCrv/AtaX/uqia/8e9r//Kv7L/n4t+/4x1ZP+EbFj/Z1I9/3ZjU/++sKT/wbSp/8Ozpv+/saL/vbGg/7+wof/AsKL/vKmd/7ilmf+4pZr/uKOY/7ikmv+zn5b/s56V/7Wflf+0npP/uaOZ/7aimf+8p6H/wq2p/7emn/+8rKb/z8S4/8q8sv/LvLL/zcC2/8/CuP/Csaj/taKW/5yEdv9lUD3/nIp+/86+t//Ftq7/wLCo/8m6sv/GuLD/z8G5/9bGwP/ItrD/xLGt/8q4tP+/rKj/sp6Z/62alP+0oZv/vKmk/7Gfmf+7qaP/va2o/7yqqP+9qqf/t6Of/6+cmP/VyMD/zb+5/82+uP/LvLb/08S//9TGwv/Pwrz/w7Os/4t3av+0p53/1czH/8m8uP++ran/v6+p/7qspf+9sKv/w7Wx/7qrqP+zo6D/uqqn/7qppv+smpb/qJaS/62bmf+qmpj/qJiX/6ybl/+rmZT/oI2K/5qHg/+Xgn//mIF+/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"bc4901d6-0254-44b1-bef7-810b1297fcf4\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"30376665-b5ae-40f2-9b09-c8d999e1c42b\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"children\":[{\"id\":\"76c85d40-6daf-407d-860b-74a97c13bec8\",\"type\":\"Row\"},{\"id\":\"958a95f8-2e18-4e55-aec3-c1c27f45f4f0\",\"type\":\"Row\"},{\"id\":\"0a2af9c3-6edc-4329-a267-cc9003ea8d42\",\"type\":\"Row\"}]},\"id\":\"32e084fb-598e-423c-8b7e-55c7707b6829\",\"type\":\"Column\"},{\"attributes\":{\"overlay\":{\"id\":\"d0047ca7-0837-487a-ac65-44751d41ff4d\",\"type\":\"BoxAnnotation\"}},\"id\":\"5104565a-ecbb-451c-974b-6c854ec36732\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"c805a8fb-b10b-460a-91d5-90f536bf53c0\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"c86df071-45b9-4784-acfc-755c941c730a\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"10eab5e6-004e-44c7-948b-491945681a53\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"0424c2dd-b2be-46f0-b05c-cd2f167ae287\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"995dae87-d225-47b0-9bcd-d8bd2b5d1855\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"10eab5e6-004e-44c7-948b-491945681a53\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"5c31a121-d007-45af-a36d-cd29b76c1c86\",\"type\":\"CDSView\"}},\"id\":\"114e4d42-2600-4eb8-9395-427c03b7a460\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"0424c2dd-b2be-46f0-b05c-cd2f167ae287\",\"type\":\"ColumnDataSource\"}},\"id\":\"5c31a121-d007-45af-a36d-cd29b76c1c86\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1f1ef9eb-1d8b-4029-839e-94c8f0cb07e1\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e8e55d5b-637b-4959-8f12-6994208f9682\",\"type\":\"BasicTicker\"}},\"id\":\"57b0c9c2-7933-4871-9f87-b6598835bbbe\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"ef53ca6a-09c7-4ccf-84a2-b760f6dba167\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"da0e64ff-32dc-4663-a144-31026afe481f\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"81f31ed5-840b-47aa-9a9b-b91d6c7c0a68\",\"type\":\"SaveTool\"},{\"id\":\"3b625bd5-2b00-4110-b9cb-cd183017d535\",\"type\":\"PanTool\"},{\"id\":\"3a26e68d-1e8a-432e-ba0b-5ce0defac864\",\"type\":\"WheelZoomTool\"},{\"id\":\"4e63ca48-7f00-4197-b6a0-e909ff5a7873\",\"type\":\"BoxZoomTool\"},{\"id\":\"dbaa9756-a0b1-4758-87ff-01e1ac372f31\",\"type\":\"ResetTool\"}]},\"id\":\"e4aa0acb-817c-421b-a17f-dcbace87d029\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"8bc131fd-e55b-446b-b222-d35b9c28a7e2\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"618233c1-0cd7-4102-a31c-b8efbace9bba\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"27014beb-ceb3-4433-beef-c8b71d6a50ed\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"P1s6/zhWNv9BYjz/S29H/0FeQP9GZkD/SWhD/0FgO/9GZT7/SGdC/0VkQP9IZET/RWNE/01wTP9Rd0z/S2xI/0FnPf9FakH/U3JM/1V0U/9Xe1n/VHhS/1J4Tv9Rd0r/TXFK/0ZsQ/9JbkX/S2tF/0RnP/9CZj3/QGNA/0ZqQv89WTj/OlQ3/0BbOP9FYTv/Plg5/0NhO/9HaT//R2c7/0lmPv9FXz3/Ql85/0JfOv80UTD/Ql87/1V0UP9rgWb/QGU+/0duRv9KbEb/R2lF/0pwTv9Kb0n/TXNJ/1R4Sv9LbUb/RWhC/0FlPP9EZkH/RWlD/0RqQv9HbEn/RGhG/zlVNf82TzL/OlQy/zxXNP88VDb/Plg2/z9dNv9DYzb/QmY8/0RgPv8+XDb/QF02/09lRf9DWT7/SGND/36Abv9EYUD/PmE7/0RpQf9IbUX/SnRN/0dxSv9Hb0j/RmxE/0VoRf9FZkP/RWhB/z9kPf8/ZED/SG1G/0lvSP9EaEP/O1U1/zxUNf81US//Mk8u/zVQMP80TS7/Olk5/zxdNP85WzX/Nlcz/zhWM/86WDb/Z3FZ/1ZeT/87VTr/gH1q/0VjP/9AXzv/QGA7/0prRv9KcEj/R25H/0ZsRP9AZkD/QmZF/0JlQP9IakT/RWtD/0FmQ/9Gakf/S3JJ/05yTP8/VDb/RFs4/zxVM/85UTT/PFc1/z9ZNv8+Wjn/Olk1/zlVNf83VzL/N1U0/zhXN/9RXkD/cmxb/zVQNf9tc13/O1w6/0BePP9HYkL/SWRC/0xpR/9KakX/Q2Y8/0JmP/9AY0D/RWhD/0ttR/9KcUr/RWtJ/0NmSP9EZ0T/Q2ZD/ztMMv9FWzf/RF46/z9XOv86VDH/Qlw3/0FaNv87WTb/Olg4/ztZNv86Ujf/OFA0/0JXN/9zcV7/MEgt/2NnUP84Vjn/QF8+/z1bOP8/Wzn/Plg6/0JgPf9EYz3/SWRB/0NhPf8/Wzr/SGZC/0tvS/9MbEz/S2lI/z9jO/89ZT7/NUYw/zxPMf87VTL/NVAw/z5WM/9BXjf/Plk1/ztXNP9AXT7/PVY6/0dZQf86UTb/NlIx/2tpVf8xRy//YWNM/zdVNv89Wzz/NVgx/zhYNf8yUjH/NlY1/0pjRv9lclz/O1g4/0RgP/9JaUL/RmlG/0lpSf9GZkP/QmdD/z5iQP8vQCz/Nkwy/zNLMv8tRSv/OEww/0JYOf8+VDj/QFk7/zhUNf83TzT/RFw9/zpZNv8zUzD/a2hT/0JXPP9pZ0//OVY1/zlYNv83Wjb/MVAw/zVXNv8xUjL/P1g9/3d5bP88Wz7/PGE7/0JmQf9Kbkr/TW5L/0doRf9CY0D/QFo7/y49LP8pQin/MEU0/zFEM/89Szf/PEs0/z9NOf81SjP/MUsw/zFILv80TC//NVEz/zRTNf9gYkn/U2BF/3pwX/8yUDH/PlI4/zRRNf8wTDH/N1c5/zZUN/9JXkT/jod//0hhSv82Wjf/P2A//0ZoRf9KZ0P/SGRB/0NjO/9IZT7/ND8y/yo/K/8uQjT/NUM4/0dNPf9BRzT/Q0Y3/zVGNf8wRjP/LEUs/zBKLf8tQyz/Mkoz/2JfS/9UXkr/f3hs/01XP/9bXUz/NlE2/zBOMv8xTDP/M04z/1hjTP+OhID/S2JP/zVVOP82Vjj/OVs8/z5fPv85XDz/QGQ+/0NlPf82PDX/LTkt/ys8MP80RTn/Q0o7/0tNPf9HSzv/Pko7/yxCMP8qRS7/MVAz/zVMNP8zRjD/bmlZ/1dkVf94d23/Q1xC/z1VOf80VDL/MU8w/zZNMf81TzH/VGBI/46AfP9Ualj/NFU4/zVVOP85Wj//Olk//zZZN/89Yz//PGI+/z9CPf87RDv/NkE3/y07MP9HT0T/VVlM/0RRQf83RDb/Lj8x/y9CMf8uRzH/MUQx/zZFNP9lYlP/X2hb/3d0aP87Uzj/NVQx/zZXNf83VDX/OlE0/zNOM/9TYkn/hnt1/1hmV/83WDv/N1k6/zpZPv84VTz/N1Y0/zZYNv83Vzf/P0Q8/0BLQf8+RT7/OUI5/1FUTf9mZV7/T1xP/z5NP/8vPDH/N0A2/y4/MP8lNCX/MT4x/1xbTf9nbGH/eHVr/0ZVQ/82VTf/OVc4/zlWN/84UTT/L0s0/0RWPf91bmf/X2dc/zdVOP85Wzv/Olk6/zpYO/86Wzv/OFs6/zpZOf9SVU7/R09I/zo/O/85PDf/YV1Y/3BpZP9RVk3/PEo+/zM+NP81OTL/Mz00/yw3LP8tOS//U1ZH/2dpX/92c2v/SltN/zFPMv86VDb/NlE0/zZNMv8wTDL/PFE2/3FqYf9gZ13/NE4y/zNSNv8xTzD/NVI1/zRUNv83Vzr/QFw+/0lGQv8/Pjz/NDcz/z5BPf9iXFf/X1hU/0BAPP8kLCb/Nzs0/0JDPP80OjX/MTcx/ztIO/93dmj/cW5k/2xsZv9SYVb/MU4z/zNMNf8zSjX/NEcx/y5IK/83UTP/b2lb/2RrYP8vSzH/NFQ4/zFRM/8wTjL/MlA1/zJOM/87VTr/S01G/z5AO/8/QTz/PUA8/1pVT/9NTkr/Oj47/y0zL/88PDj/SUlC/y44Mf8oMyv/XV5S/5GHfv9sZ17/XVxV/1VZU/8pPi3/LEAv/y1CL/82SDb/NUwz/zRMMv9ybmL/c3Vx/zZROP8zUjf/NlQ4/zZUOv80Ujf/Nk82/ztNOP9HSUX/SEpG/0tLRv83Ozb/YVtY/0dHRv9FR0T/NTs3/z4/PP9JSET/Mjgz/zI7Mf95dWb/bnBo/3l2b/9ybWf/bGhk/1pjXv8yQTb/LkAv/zRGN/8zRzX/SFhI/316dv96eXv/O1I6/zJPNf8zTzT/NVE3/zFNNP87Tjn/Q09B/0RDP/9KSUT/TEpG/0FHQP9dXVr/TE1N/1BTUP9ASUn/QUZD/0hHQv8zNzP/Nj41/4mCc/91d3T/eXZz/3VwcP9vbGj/cnJu/2lxbP84QTn/Mz82/0JOQv91eHH/fHt8/2BiYP8zQzX/MUk2/zJINP80Tjb/NE01/0hPQf9FTkL/QkE9/0lIRP9ISEb/QklE/1deWP9SV1f/YWFk/05SVv9UV1f/VFNQ/0JJSP9FTEX/h392/3x9fv94cnH/dG5u/29ubf9sZV7/d3Nu/2Zubv9ARUD/Y2Re/397ef90dHT/U1VR/zdBN/8tOjD/M0E1/y5CMf8ySDT/UVRJ/z5BOf88PTb/T01H/0dJRP9ITUn/TldU/1NcXf9lZmf/UFZZ/1RZWv9bXF7/X2Zz/2hvbf+Ji4f/f4CD/3FnaP9ybW//c29w/3NsaP9ybmn/eHx8/2NlYP91bmr/gnx9/15fXf9BQz7/REdC/zQ4Nf88QTv/OkQ6/zRDNf9ZWE//SEhD/0JAPf9HRUD/RElA/1BSTv9MVFP/Vl5f/2FjYP9WXl//UFlb/1ZbXP9aYG3/goaP/4CJjf99foH/bWVm/29qbf9sZWT/cW1u/3NtbP96c3H/dG5p/4J6dP9/fHr/W1ta/z9CPf9JSEX/PT47/z09Of9DRT7/OUA3/1hVTv9JSEL/VVFN/0RFQf88RT3/R0xH/1ZeW/9cXmH/ZWFi/11kZf9MWFr/Ulxc/19kaP9/gYz/e36D/3xzcv9sYmP/bWNi/3FnZv90bm//enV3/3p2eP91bGf/fXZy/4N/fv9xdX7/RkxM/0xLRv9JSkX/Pj45/0RFP/87PTj/Uk9I/1JKRv9YWVH/SlFL/0NMRP9QUE3/VllX/2BlZf9pZWb/ZGho/1VdYP9bYmb/cnFz/4J/if9xd4P/emxv/3xnZ/93a2r/cmho/3pycf99d3n/e3V5/3FmY/9za2n/eXZ2/32Il/9XX2T/Uk5I/0xMR/8+Pjn/S0pD/0VFP/9PTEX/WFJP/1tfV/9PV0//V1xV/1lYVv9ZXl7/ZGtq/25ucP9tcXL/W2Nm/2Bnbf9zbXL/hXd2/3x5fP9wdXb/cGZi/35ta/97bWr/eG1s/3tycf96b2//d2di/3lua/9wbGr/foaU/19mb/9STkf/TUtF/0BBOv9PTUX/SUhB/1JRSf9dWVb/XmJb/1ZaU/9aYVr/WVxY/2BjZP9qbW//cHJ4/21zd/9faGv/X2pt/5GSl/95b2//fXZ2/5mZn/9bYFr/cmlj/4lzb/98bm3/dG5u/3h0dP+Acm3/fW5q/3FqaP97fYT/WWBn/1RSSP9NSkL/RkdA/1BMRf9OTEb/WFdR/1xYVv9aXFb/U1JL/05aUf9hZ2T/aGlo/2tscP9obHH/bnt8/19rbv95g4T/lpih/19mav9fa2v/ioyR/11nYf9OXFP/gHNu/4N0cP97bmz/fG5u/4Bwa/+Ac27/eXJz/3x7f/9XW1z/WFNM/05ORv9KSkP/WFJL/1VWU/9VV1L/U1FN/1lZVf9OSkf/UlFO/15lYv9dY2L/X2Rm/15pav9neHj/ZXp2/3iFiP9da2//VmNk/0RTUv9SW1r/WWVh/0RVS/9ba2H/hnVv/4p6cv+DcW7/d25p/4Jzb/95b27/gXqA/2NnZf9jYFv/UE9K/1JRS/9bUUr/T09L/01QSf9TUk3/V1ZW/0hIRv9XVlX/amtq/2hpav9sb2//X2xr/2dzdP9ofnr/UGZl/0dbW/9QYF//QVJQ/0pYU/9NW1b/TltV/0VfU/9fbF7/jHp0/4p4cf9/cGz/gHFv/4N3dv+GgYz/X2Zn/11gWv9TUUv/WVhS/1pSSv9QS0X/TU5G/1ZaUf9OUlH/SUxI/1dXV/9aXFz/bm9v/29ycP9dbm3/WWxr/15tcP9TZGH/U2Rk/0tcWv9CU1H/UmFb/0lWUP9KVVH/Ql1Q/0VgVP9aZVr/g3Nu/4N0b/+BdnT/fHJx/2tubP9LWE7/TlVO/1NUS/9RVEz/WVVM/1ZNSP9MTET/Tk1H/0VPSv89RkD/R1JN/1BXVv9oZmr/Z21u/1dpZ/9Yb2z/WWts/1trav9TYWT/Sltb/0RVVP9VZV//T11U/1BgWP9CWFH/R1hR/0JXTv9FVUz/VGNa/1hcVv9fXFP/WFhO/0VQRf9NTkn/SUxF/0pQSP9PUkn/UE1J/1NTTv9QSkj/SFJM/z9IQ/9MWVP/Vl5d/1lcX/9VZmT/Wm1s/1pwbv9ddHT/WG1t/1dfY/9RXF//RVNU/1FcWP9OWFP/S1hS/0lcVf9GW1L/RlpU/0VdU/9BU0z/UFdS/1hbU/9bX1b/UldN/1BPSf9HTEb/TlZP/09XTv9MUEn/VlJO/1RPTP8/RD//OkU//0dRTf9WXFv/Vlhd/1dlZv9YcXD/V21u/11scf9cZGn/XWRo/1xkaP9FUFL/UFVV/1deXf9TXVn/Xm5m/0xiWf9GUE7/RFdO/0BNSf9QWFP/U1tU/0lQSf9KV0z/UFNN/0xcU/9TVlD/TU5I/0ZLQ/9SUEv/UE5K/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"97a5a307-e08f-4c6a-925c-3419b7493d5c\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"below\":[{\"id\":\"39f2a22b-e79d-4e9b-96f7-d092571b57c9\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"27014beb-ceb3-4433-beef-c8b71d6a50ed\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"39f2a22b-e79d-4e9b-96f7-d092571b57c9\",\"type\":\"LinearAxis\"},{\"id\":\"57b0c9c2-7933-4871-9f87-b6598835bbbe\",\"type\":\"Grid\"},{\"id\":\"27014beb-ceb3-4433-beef-c8b71d6a50ed\",\"type\":\"LinearAxis\"},{\"id\":\"85fa9855-14da-43d3-b7a6-5245b9269498\",\"type\":\"Grid\"},{\"id\":\"e48af8ff-44ec-4a24-a8e1-b83bae67f7c5\",\"type\":\"BoxAnnotation\"},{\"id\":\"c7373e23-d11d-4e14-9483-616ae03a71d6\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"da0e64ff-32dc-4663-a144-31026afe481f\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"e4aa0acb-817c-421b-a17f-dcbace87d029\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"781c1805-1682-4bd2-ac94-c6ba6acb8d38\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"516e493e-d0fb-4d3e-808a-0a3c14a4d763\",\"type\":\"LinearScale\"}},\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"e8e55d5b-637b-4959-8f12-6994208f9682\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"618233c1-0cd7-4102-a31c-b8efbace9bba\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"618233c1-0cd7-4102-a31c-b8efbace9bba\",\"type\":\"BasicTicker\"}},\"id\":\"85fa9855-14da-43d3-b7a6-5245b9269498\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"264ff196-3335-489e-88eb-5bf2b3ca7e51\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"fcefd492-5dfd-4052-b0a0-cc3bf73d08f7\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"c0cdca50-fe92-4902-85c5-ad248f58b018\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"eab12690-5aa2-48e3-8f63-46113b56bdf1\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"4b3c87a1-3965-4910-ba42-15a223faee55\",\"type\":\"CDSView\"}},\"id\":\"91f929cf-d6ba-4a0e-a97a-d646f46c5de5\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"jJ+n/4SZo/+On63/lKu4/569yv+11eP/ttPk/7nP3//P2+n/2eDp/9HY3P++wcH/tqmn/52GhP+cj4v/hpGN/32Ukv+ClZf/hZGT/36QjP+AlI//hpaV/4CQj/96ion/f4+N/4KSj/+Ajor/foqG/5GYlv+Xmpn/mZqa/56iof+Nn6j/iZyj/5Cdpf+LnaP/fJOY/4afqP+assL/tsvd/93t+P/o+P3/zuft/5mtr/+emJb/hGRf/5p1av+UfHL/fX52/3yNif+Dk5L/d4WB/2Jybv9oeHf/cYF//32Nif+DlI7/fY2G/3mGgP+Ai4X/jZOP/5GSkP+WlpT/kZWS/5Chq/+JnKP/j5+j/4ydoP+FmJf/iZqe/4aXo/+Kn63/lKey/4CRmv9Ybnn/N01T/1tgX/9ZS0H/WUIv/6Z9cP+mjYX/hIaB/4eOjP93d3T/QkVC/1lkYv9reXf/b398/3KCfP+BkIn/h5KN/4aOiv+Pk4//jo6K/5OSjv+KjIf/hpSc/3yQlP9/l5n/gJaY/3eLjP93hov/fYqR/2x+hP9zgof/fIGH/2BmbP8wOj7/R0dI/21fW/8+LiH/V0U4/42Cef+NjIf/kI2J/4d7df9kWlL/ZGRd/0JIRP9RXFr/d4OA/4eTjv+GkY3/hYqI/46Oiv+PjIf/j46H/4SDff99iJL/doiO/3yTlP98k5L/dIeI/3uIjP+GkZb/coB//3+Fgf+xpKD/mYN+/1tKQv9kTUT/jXBm/21WR/88LSL/RT41/3V0bv+NioT/cmhg/3lvYv9lYVP/RUc+/2NpZP99g4D/g4uH/3qFgf99gn7/jY2J/4yJg/+GhHz/eHhw/3yIk/9zhYv/dYmK/3eJiP+BkJD/kZyg/36Kjf9tfHn/kJOO/9vGv//gv6//wKON/7ybhP+ohXD/fmRP/3NXTf9dRUD/fHFr/5CPiP9tcGj/ioh8/2VhVP9dX1b/cXdx/3V7dv93f3n/b3p0/3d9eP+JiYP/g4F5/3t5b/9saF//fY6Y/3qNkv99jI7/go2O/5WfoP+XoaT/dIKE/2p8ev98hID/zb+7//LUzP/lyLr/5sa0/8Ggjv+Ea1n/im1h/5p/dv+Ug3v/nJSO/4yJh/+RjYn/aGdf/3J2cP92f3r/bXdw/2dxaf9ocmr/eH13/4KBev91cmn/dXJm/3dtY/92iZD/domN/4uVmf+JkZP/jpmb/4qXmf9zhIL/doeC/3eEff+zsKv/69PN/+HGvf/dwLP/wqOT/6SFc/+KcGD/oYt9/7imm/+kmI7/i4R7/3NwZ/9jZl3/gomE/3V/fP9pc27/Y2pk/2tvaf98e3X/eXNs/2tlW/9wa13/hHho/3+Rl/+Gmpz/k56h/4OOj/9zgID/d4OE/2Vycf9pdnL/c396/5WUjv/lzcX/5Mi+/9Cypv+8nIz/q4p5/49zZf+Gb2L/moh8/5iLgP+CeW7/b2pe/3Z2bP+Hi4X/cXl2/2tzcP9tc27/dXdw/3Zzav9rY1n/Y1tP/29nWf+BcWH/j5+j/4yfoP+NmZr/b3x6/2NycP9zf37/b3p5/4CJiP9+h4X/ioqG/97GvP/hw7j/y6uf/8SilP+0kYT/n4R4/5F6b/+Ld2z/kYF1/4x/c/+Fe23/h4F1/4GBev9xd3P/bnVz/32Cfv98fHX/Y19S/1pSQf9YUD//YFdJ/3VjU/+Uoqb/fZCQ/4GNjf9zgX3/cYJ9/3WBfv93f37/jZKS/4KKiv+Li4f/2sG3/9i5rv++nZL/0Kyg/8Wglf+ylo3/po+G/497cP+Ecmb/hXVo/4t9b/+BeGr/aWZe/29ybv9/hIP/hIeE/3Z1bf9VUED/TkUw/1FHNP9fVUb/b19P/3qBhv9xgID/eoeG/3qEg/+CiYb/fIV//3qGg/93goD/bHZz/4aHg//ex8P/1rKp/7iSh//DoJX/yKaX/8CilP+9nJf/q4yH/5F+cP+CdGT/gXZn/3twYf9oYFP/Y2Va/32Dfv96fHn/c3No/09KPP9EOij/UUYz/25kUP94ZVP/dX19/3yJhv+Ai4f/jJGP/3+Cfv9weHL/aHNw/2lzcf9+f33/rKSi/+fS0P/TrqX/vpWL/7uUi//BmYn/wKCQ/8Sgmf/DmpD/ooFu/5N/b/+JfXH/gHVl/3ZrW/9gYVP/d3x1/4mHgv98dGb/SkU0/z46Jv9iWkX/inpm/4hwX/9fa2X/ZnFq/4aPh/+Mj4n/dXlz/2t0cP+Bioj/k5SU/6qenv/Rvr7/69XS/9i4r//GoZn/xJuT/7uJe/+TbF//jG5j/7uXhf+sgm3/nn9y/5eIff+Iemv/em1e/2RjVv+IjIb/n5mW/6aYiv9hW0f/Q0Eq/4F1X/+ghnT/knZn/4KJh/9rc2//anJs/3B4cv9xeHP/h5CO/5SdnP+UlZT/vLCv/+jU0v/t2NL/5cvB/9vBuP/burH/1KGR/5JjVP86Jxv/Sj4x/45xYf+bfW7/inlr/4Z3aP96bF7/aGZZ/5eZlP+jn53/squi/4qBdP9eTz//knln/6GAbv+XeWr/k5iY/5OWlv+Diof/fYqD/4SRi/+Nl5X/jJWT/4ySj/+9trL/79vW/+nNxf/kw7n/58m+//HTx//qwbH/x5mI/3ReUP8oIxb/VEU4/4t5aP97bV7/fnBk/3RpXP9qaV7/np6b/6GgoP+gn5v/nZON/4VvZf+ae23/nXto/5l8bP+Dion/kZaV/4SNif96iIH/f4+H/4SQi/+Di4j/iJCL/6qlof/bxL7/062h/9Wjl//LnY//1bKk/+jGvP/pxLj/4MGy/6SOfv90ZVT/f3Ni/3hrXv+CeGv/cm9h/3t8cf+iop//n5+g/56fm/+fmZL/mYh9/6OId/+ffWn/kXNh/32Hhv9+iIX/d4J9/32Jg/+IlY//jZaS/5KYlv+boZ3/sKun/9K6s//KoJL/w4+B/7mMe/+1kYD/xqGW/9+7sv/dv7T/wque/5aEdv+HdWb/empa/4R7af9zcGD/iop//5+gmf+bnZn/mJyY/52ak/+djIL/pYh6/6yIdv+aemj/eoiF/3aEgP96h4L/hI6I/4aPiv+TmJb/oqWk/6Sppf+yran/17+5/9Kpnv/CkIL/uo15/7eOeP+8jnz/1q2d/8qqmv+vl4b/sqCQ/6ORgv+IeWj/enFf/25qXv+Vlo7/np+Z/52dmf+cm5j/oJyY/5iOh/+Xhn3/nIZ8/4JvY/93h4P/c4aA/32Nh/+Kko7/j5WR/5qbmv+foaH/n6Wh/62ppf/Uv7r/37qz/82flP/Jmob/yph+/9yih/+/kHT/nnxf/6WLcv+tm4b/oJCC/4+Cc/+If3H/ko2G/6SjoP+ioqH/oZ+d/6Oem/+koJ3/npuZ/5qXlv+no6P/qaOm/3GBfP9rf3j/fY6I/5ObmP+bn57/oaOi/6Cio/+osK7/vby4/8i3sv/bv7j/2LSq/92un//kq5P/56mK/6R0UP91UCv/hGZF/4pzWv+UgnL/mouA/5SKgP+hnJT/pqah/6enpv+ko6L/o6Oe/6Wlof+mpaX/oJ+j/7Gxtv/Ny9D/ZHJt/19xa/+Dko3/k5yZ/5yioP+mqKj/pqiq/7e9uv+uq6X/n4+I/7ilmv/Tu7H/3760/+S6rf/ktaL/w5J6/5RmS/9yTDL/c1VA/5V8bv+mlIr/oJSL/5mUjP+goJv/ra2s/6mpqP+kpKH/pqek/6enp/+np6n/p6aq/6eoqv92f3z/go6J/46alv+TnZn/mKCe/5+io/+rrK3/o6ei/4R/d/+ZiH7/o5SI/72rpP/MtbH/yKyn/7eYkP+7kof/vpSF/7CMev+zlYT/oYd5/6OOhP+ThXz/kYyD/5KSjf+rrqv/rK6t/6usqv+tra3/qamp/6usrP+wsLH/sLKw/5GYlv+YoZ7/mqSg/5ejnv+XoZ//mp6f/6Slpf+KjYf/d29l/6uVi//CraX/z7q2/8iwr/+zmpj/l314/491bv+XfnL/p49//72llf+5opT/tqGX/5qKgv+Ff3f/l5iT/6ywrf+wtLP/s7S1/7W1tf+wsLD/rays/66trP+2tbL/n6ip/5qmpf+cqKX/n6mm/6CopP+epqP/nqel/5mcmP+ilYz/x62j/822sf/GsK3/vKaj/6eRjP+Yg3v/jntv/3JlV/9WTkD/dm9i/7aqn/+1oZj/p5aR/6empf+wubr/sbi5/7m6u/+0srT/uri3/7u4tf+4ta//sa+m/6GmnP+bpqf/maen/56rqv+hqqn/oKik/56ppP+fq6n/pamn/72xq//Vvrf/1b65/8SuqP+wm5T/nomA/5uHfP+Kfm3/Y2BQ/2xvZP+jp6D/trax/7ispf+tnpf/vLm3/7vBwf+2u7r/wsC9/7u2r/+qqaD/lpyQ/3aDc/9Ya1r/Q11P/56qrf+bq6v/m6qq/56qqf+hq6n/oKuo/6Ksq/+nrKr/t7Kv/9DBvf/Nu7T/xbOr/7qooP+hjoT/k4F2/3htX/94cmb/rq2m/8nKx//DwsH/xL+4/7uzqf+po5z/raqm/5ydl/+Gi4P/cnty/2dxaf9uenT/YG5p/15uav9ufnz/prO3/6W1t/+gsLH/oq6v/6Wvr/+msLD/p7Gx/6uysv+1tbb/x8HB/8K3s/+6r6n/taqk/6OYkP+EenD/hH1y/7Ktpf+9urT/rKym/5mckv+PlYn/io2D/4mDff+OhoP/dnly/2Vxaf9wf3n/h5OQ/5+np/+usrX/uLu//8HCx/+ot7v/p7m6/6m6uv+quLr/qrS2/6qzs/+ttrX/r7i2/7a8u/+/wsH/yMbE/766t/+npKD/jY2I/3p9d/95hHv/dYF5/2Vxav9YZVz/VWVY/2Nzaf98h4H/k5SS/5eVlP+coJ3/s7q3/76/vf/AwcD/wsXE/8PGxf/AxcX/vMbG/7bExv+wwb3/scG8/7O/vf+uu7v/o7Ky/5ysqv+UpKH/kaKd/42fmv98jYn/coB9/2x5dv9re3f/cIN//3OFgv97jIn/jZ2a/5Wkov+hrqz/sL28/7rFxf/Cy8z/x83P/8vO0v/NztH/yszM/8fKy//Fycv/xMnM/8DHyv+6yMr/hZmg/3yVl/96lJL/eZGN/3WOjf9xjI7/cIuM/3WPjv9/l5f/iKKg/4ahoP+OpKT/na2w/6Cvsv+svL7/w87Q/8nR0v/N1db/z9XX/9DV1//N1Nb/yNHS/8nR0//L0NP/x8zP/8fMz//Hz9D/xs/R/8TO0f/BzdD/v8zQ/77M0/+Hnqb/iaSt/4+ts/+TsLT/m7a6/6e/xP+xx8z/vM/U/8TU2P/F1tn/xtba/83X3f/T2OD/0NPc/8vQ1//Q1dn/0tfa/9PX2//V19v/1dXa/9TY3P/R2d3/0djc/9PZ3f/T2N3/z9bb/87Y3P/M19z/yNTZ/8bT2v/Bz9f/wtHZ/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"9335b9e0-772b-441f-9f6e-448aa87ea079\",\"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\":\"e48af8ff-44ec-4a24-a8e1-b83bae67f7c5\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"81f31ed5-840b-47aa-9a9b-b91d6c7c0a68\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"cX1J/32LT/+Nnlv/kKRe/4uhW/+PpWL/i59e/5WiXv+apGH/oqxw/6GsdP+Vo2v/k6Jo/4+gY/+NoGD/lKpn/5yzbf+iuW//m7Nl/5iwZP+asWn/kadj/4+lW/+OplT/kKxW/4eoUf96nEf/cI5C/3yUU/9/kln/cohM/3iRUf9WXzj/Xmg9/2l1RP9ndkL/ZnZD/2d4SP98iVj/j5Jd/46MWf+WlWb/lZVr/4uOZP+Mkmb/foZX/3d/UP98hFn/g4pg/42UaP+YoHP/lZxx/3yDWv9jaUP/YGlB/19sQP9jdkT/cYlR/3+ZX/94kVn/fZJf/3iLWv+InmH/g5pV/1BXRf9BSDP/ND0j/ztEJv86RSP/Q08r/254TP+Kk1j/kJhY/5ujZf+nr3T/pq50/5uja/+Oll7/hYxX/3h8Tv9sbkv/VVU+/1dVSP9iYFb/U1FD/01LOf9gYVH/UlRJ/0dLPv9TWEf/aW9Z/251Wv9yelz/iJBv/5Cab/+KlmX/hZBi/4OPXf+Cjln/iZZd/4eVWP+OnVz/kaBa/5qoWv+hrl3/oa5e/6OwYv+grWH/n6th/6OvZ/+hrWX/maVg/5SeZv+Ei2P/a3FW/2hsWP9nbFf/XGFJ/15hUv9eX1n/TU5I/09QR/9XWUz/XmBO/2dqVf98f2j/jI5z/56egv+xvof/t8WM/6i2e/+xwIL/rbx8/6m4d/+tu3r/rbh4/7G7fP+xu37/rrh8/6y1fP+ut3//srqE/7K9hP+wvoT/q7mF/52ogv+HkXj/dHxs/15mWf9MU0f/Njoy/y8xLP89Pjj/SktF/zc4MP8sLiT/Njcs/zI0KP8uKiD/PDQq/77FsP/CyrP/usKs/73Fr/+8xK7/vcWv/8PKtP/IzLf/xsq1/8XItf/Exrb/w8W3/8PFuP/Fx7v/xsm6/8PItv+xtqX/jJCF/2FkX/8/QUL/Njg9/1FSWf9UVVj/Pj49/zY2NP8qKij/EhIP/wsMCf8UFBL/Dg4L/woHBP8JBAD/vsLC/7/Dw/+/w8P/wcXG/7/Dxf/Aw8b/sbS2/6eopv+2trP/x8fG/83Nzf/MzM7/yMjM/8XFyv/Ew8b/qqin/3p4df9VU0//RUI+/0pHRP9WUlH/aWVm/3Ryc/90c3P/bWxt/1RUVf8yMTP/Fxca/wwMEP8PDhL/DA0M/woLB/+7wcb/vcLG/77Cxf/AwsX/vL2//5KSlP88Ozv/MS4s/0NAPf9oZ2T/iImF/5eal/+rr6z/t725/6Sopf9hYWD/NTMy/zczMv9NR0b/XVVV/11TVP9XS03/U0lN/1BJTv9hWl//hYCF/4aCh/9bWV7/OTg8/x0dIf8TExX/EhIU/7vCyP+9w8f/vsLF/8LDxf/AwMD/iYmI/zIwLv8oIR//KiIg/yQfHP8qJiP/MS8r/0BAPP9RU03/RkdE/y0sLP8uKyz/NTAy/z02OP9ANjr/QDQ5/0I1Ov87LjL/LiIm/zInK/9DOTz/V1BS/2hjZf+Bfn7/Xlxc/zs4Of8rKCn/wMfN/8PIzf/EyMv/x8nL/8nJyf/Gxsb/op+e/2BXVv81Kyr/KiEf/zgvLf9ANzb/PjY1/zozMf8vKCf/Lygp/zMtL/8yLC7/MCgr/zAoK/84LzL/PjY5/0E3Of9FOjr/TUND/1lPT/9bU1L/WlVT/2JeXP9ZVlP/Qj8+/zUyMv/Cyc//xcrP/8XJzP/Gx8n/vr6+/62trf98e3n/W1hV/19bWP9MSEX/R0E+/zw1Mv82Liz/OC4t/zovMP83LTD/OjAz/zsxNf81LTD/MCos/zo1Nv9TT1D/eHN1/5KOkf+koKT/sK6x/7Oztf+rra//nKGh/5CVlv+Chor/g4aN/8HIzv/Eyc7/xMjL/8DBw/+Li4z/NjY1/yAgHv8jKCL/YWdg/5KWkP9+gHv/Pz46/xUSD/8XEg//KB4f/yodIP8oHCD/Niww/0xFR/9iXV//hYKD/6qqq/+6vcH/vMLK/7vDy/+5wcn/tb/H/6+8wv+vvsP/sL7F/6+8x/+ruMb/u8LJ/73Cy/+/wMr/trW//25qcf8nIST/JB4c/xwZD/8WFw3/LC8q/1NXVv9lZ2j/QUBB/yAaGv87MS//UUVD/0lAPf9eWVj/hIOE/56hqP+nrrz/pbDD/5+uwv+arr//l6y9/5Wpuf+TqLf/kqa0/5Clsv+Ooq//i6Gw/4mhsf+zu8H/trrF/7m5xv+wrLr/YVlj/zsyNv8eFRT/HxoT/zMxK/8+QD7/RUhK/1NUVv9KRkb/JhsZ/zEjH/9qXFf/i4B7/4mEgP+ChYT/lJ6l/5urvP+Tpb7/kKa9/5Cnuv+Oprj/jaO1/4uhs/+KoLH/iJ2u/4WbrP+EnK3/g5yt/7G5vP+zuMD/trfC/6mmsf9STFL/KSEj/0U+Pf9+f3//mp6f/5ibm/99fXz/Y19d/1xTTv9PQz3/Pi4q/0EvLv9DNTT/RT47/09QTP9mbm3/ipie/56wu/+hs7//nq65/5uqtv+ZqLX/laaz/5Gksv+OobH/jJ+v/4ygr/+MoK//ucLC/7zCxv++v8f/vLnB/4WAg/9JQkD/fnh1/46OkP95eXz/aGVk/2ReWv+AenT/qqWf/766tP+zrKn/komI/2phX/9JRD7/MC8m/ycqIv81Ojb/V15g/4iPk/+qsbb/sLe9/6mzuv+jr7j/nay4/5mquP+WqLf/l6i2/5iotv/DzMn/xsvN/8fIzf+0srf/aWRl/z42M/9dVVD/ZFxb/2tiYP9fVE//Y1dQ/5mSi//Nzsr/zNbV/8zW1//S1tb/ztDL/7W1q/99e27/RkE1/0lCOf9fVlH/UkxK/2JhYP+enp//ub3A/7S9xP+vvMb/q7vH/6e5x/+susf/r7rG/8XO0//JztT/wMDG/3Vzd/9CPDz/W1JP/3VqZv9lWFf/g3d2/1tQTv90bGr/npyb/8bLzf/M193/y9fc/9DY2//U2d7/2Nrf/8HCwP9xcGj/aGRe/7Grq/+noqH/XFpW/1lYV/+qq6//x8vT/8bN2P/DzNn/wMvZ/8PL2v/FzNr/yM/d/8zQ3P/Fxs//c3B2/2RdYP+2ra3/nJGS/4Z7fv9jWl7/Y11i/7q4vv/IydH/zdLb/9Pb5P/U2+L/2Nzi/9nb6f/Y2ev/0dPc/42Sj/9gZmL/qayx/9fY2/++vrv/bm5t/3R0eP/Exs7/1tnl/9PY5f/S2Ob/1dnp/9fa6//Q1uX/0dTj/9DS3v+3t8H/qqev/97Z4P/W0df/w73H/5+ZpP+wrLf/2tnk/9vd6P/a3+r/2uHr/9zi6v/f4+r/3+Hv/93e8P/Z2+T/mJ2a/2twbP+tsLT/2dnh/93c4P+ysbT/YmNl/6Gjp//T193/193o/9bc6//X2+z/2Nvs/9HW5//Q1OX/0NPj/9ja6v/Z2ur/19jn/9nZ6f/b2+3/4eDz/93d7//b3e3/3eDv/97i8P/f5PH/4ufv/+To7v/j5fP/4uP1/9vd5v+Sl5P/bHFt/7W4vf/c2+j/3dvn/8jHzP9sbGz/hYiG/8rP0P/U2uL/1Nro/9PX6P/U1+j/ys3g/8rN4f/KzeH/zNHl/83R5v/M0eb/zNHn/8zR6v/O0uz/0dXt/9TY7f/Y3O//3eDw/+Hk8v/j5vD/4+bt/+Lk8v/h4vT/zdDY/3V5dv9vc2//w8bL/+Df7//i3vD/0tDY/3FzcP9uc2v/yM7K/9fd4//U2uj/1Njp/9PW5/+5v9n/usDb/7vC3f+9xeD/vcXh/7zE4f+7xOH/usPi/73F5f/ByOj/xczp/8rQ6f/R1en/19vq/9nh6f/a4+n/2+Dx/+Df9v+ysLv/VVhT/3+GgP/Q2t//3uXz/+Hk8v/Ozdb/X1xh/15cXv/NztH/3OPp/9Tf6f/U3O3/1Nru/5imzP+cqtD/nqzR/5+t0/+erdL/nazR/5yr0P+aqtD/nKzT/6Gu2P+lsNv/qrTc/7C52/+1v9n/tsXY/7fJ2/++yeP/urrU/3Nvd/89PTT/ipKN/8TS4P/I1+v/y9Xm/6msuv9FQE3/Vk9b/728yv/Fz+D/u8/h/7vM5v+7yOf/eJC7/3uTvv98lb//fpfB/36Wwf99lcD/fJW//3qUvf97lMD/fZTF/4CVyv+El87/h5jM/4mZyf+KnMn/i53K/5Kfwv9zeov/Nzo3/ywuJP9tb3P/mp65/56nzf+dqMn/bHSI/ycrNP83O0D/jpak/5Sjwf+Im8f/hpvK/4SZyP9nh7P/Z4e0/2iItP9pibb/aoq2/2qLt/9ri7f/a4y2/2uKuP9sir7/b4vD/3CJw/9yicH/com+/3WIvf90gLP/W2aF/zI8Q/85QT3/X2Rl/2Bkc/9gY37/ZmyL/1xlgf8rNUT/ERsg/xolKf9DT17/a3qa/3KCsv9sgrf/aYO4/119pv9efqf/YICp/2KCq/9jg6z/ZISt/2WFrv9mhq//Z4ey/2mHtv9rh7j/bYe2/26GsP9qgqf/X26Q/0dLZf8vMzv/JzAv/0JLU/9wepH/fomi/299if9ncnH/V15a/0FIR/9PVlz/aXF+/0hQYv81PlP/ZG+G/3SJrv9uibf/U2yS/1Vulf9Ycpj/W3Wb/1x2nP9ceJ3/Xnqh/2J/qf9ng6//aoWu/2mCpv9ieZX/UGZ5/z9TXv8zQUj/Ky4z/0NHRf9ocG//V19r/1Facf9HUWL/MT48/zdBMP9MUUD/V1xW/15kbP+LkqT/j5ir/1hib/9MWGL/eo+o/3qUuP9NY4j/TWSJ/05mi/9OaYz/TmqN/01qjf9ScJX/Wnij/2OAq/9qhan/boeh/22Dk/9cb3f/UWFj/1NjZv9EU1z/S1lj/3aBif9yeYD/V1tf/zY4OP8hIR//GR4d/0xXXP91gov/UmFu/2t8jv+Clar/iJyz/36Urf+CnLn/fZm5/z5cgP88W4D/O1yA/zpdgP85XoD/OF6A/z9lh/9OcJP/Wnqc/2OBoP9phaH/d5Co/3+Vq/98kKP/c4eZ/1twgf9ZbH3/dYaV/4GPnP99iZP/fIWN/1xja/84RlL/XHGE/3CInf9ie5L/YHqV/3CLqP94lbX/fpq8/3+cvf98mbn/MFJ4/y9SeP8vU3j/LlV6/y5Xe/8wW37/OGKE/0Zri/9TdZX/W3yd/118nf9de53/Xnqd/196nv9jfp7/aIOe/2+Jov90jaX/e5Or/3qRp/95j6T/cYec/2yHof9niKb/YYOj/2eIqf9ri67/b460/3eWvf99nMP/gJ7B/3+cvP8uTnj/Lk95/y9Se/8vU3z/LVR8/y9Wfv80W4P/PmKJ/0dpkP9Lbpb/TG+X/05xmv9Qc53/VHii/1t+pf9ig6b/Z4ep/2iJq/9niKr/ZYap/2KEpv9ig6b/Y4er/2KIrf9jh63/aIqw/22Otf90krr/e5e//3+awf9/m7//fJm6/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"b1cc3c5a-7323-43b9-b552-e0afd6c00669\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"eab12690-5aa2-48e3-8f63-46113b56bdf1\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"3b625bd5-2b00-4110-b9cb-cd183017d535\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3a26e68d-1e8a-432e-ba0b-5ce0defac864\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"e48af8ff-44ec-4a24-a8e1-b83bae67f7c5\",\"type\":\"BoxAnnotation\"}},\"id\":\"4e63ca48-7f00-4197-b6a0-e909ff5a7873\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c86df071-45b9-4784-acfc-755c941c730a\",\"type\":\"BasicTicker\"}},\"id\":\"ba02b10b-79ec-4392-9c3a-cd4587bb9b2e\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"dbaa9756-a0b1-4758-87ff-01e1ac372f31\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2ff26489-dfc8-4693-8918-155aeb41a526\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"f6518676-e91a-4b03-b848-49e59a53b5da\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"ef53ca6a-09c7-4ccf-84a2-b760f6dba167\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2ff26489-dfc8-4693-8918-155aeb41a526\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"1fd1f55b-d93c-4250-81c2-b31991bfbca6\",\"type\":\"CDSView\"}},\"id\":\"c7373e23-d11d-4e14-9483-616ae03a71d6\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"f6518676-e91a-4b03-b848-49e59a53b5da\",\"type\":\"ColumnDataSource\"}},\"id\":\"1fd1f55b-d93c-4250-81c2-b31991bfbca6\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"8bc131fd-e55b-446b-b222-d35b9c28a7e2\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"15755929-3c87-42f3-a3bd-d754bb16f33a\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b8e65c49-19a5-47e7-be15-8ad21051d76c\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"1a77c4f5-e592-4713-a707-2eeae74f9fba\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"89bc2e38-4d44-48bf-949d-89f8ebb1873d\",\"type\":\"SaveTool\"},{\"id\":\"04ac458d-4747-461d-ba34-b818b4b9f5dc\",\"type\":\"PanTool\"},{\"id\":\"24c51c17-b3ad-4e78-97d0-76d43ecea31a\",\"type\":\"WheelZoomTool\"},{\"id\":\"caab2f3a-c416-4508-91a6-681634a46d88\",\"type\":\"BoxZoomTool\"},{\"id\":\"5cd74d1e-9608-4bca-8cf6-a04b5ae83802\",\"type\":\"ResetTool\"}]},\"id\":\"2efc1fed-2006-410a-93ec-fa27a97b2acb\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"82e46496-d9f3-40b8-9e0e-8f0935da99b5\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"6c111bfd-d827-4808-8c8a-bf7cd8f0c2e7\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"dd7fb7dc-95f5-4a8e-bc6f-2b84095f6e75\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"7c02fa7b-19c1-4796-8be2-49698a700927\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"dd7fb7dc-95f5-4a8e-bc6f-2b84095f6e75\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"85ebd359-7426-4fd3-8e9f-0bdd508fb267\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"dd7fb7dc-95f5-4a8e-bc6f-2b84095f6e75\",\"type\":\"LinearAxis\"},{\"id\":\"5d8769c9-7141-415b-8e57-d56d9df5777a\",\"type\":\"Grid\"},{\"id\":\"85ebd359-7426-4fd3-8e9f-0bdd508fb267\",\"type\":\"LinearAxis\"},{\"id\":\"d378c175-0d5e-4c8a-8214-b4a4213d9779\",\"type\":\"Grid\"},{\"id\":\"dfa62509-f8ab-4d2b-822a-aa7d5c62275b\",\"type\":\"BoxAnnotation\"},{\"id\":\"25a4a0e6-4400-4380-b5bc-da6e21e3b128\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1a77c4f5-e592-4713-a707-2eeae74f9fba\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2efc1fed-2006-410a-93ec-fa27a97b2acb\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"7c02fa7b-19c1-4796-8be2-49698a700927\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"15755929-3c87-42f3-a3bd-d754bb16f33a\",\"type\":\"LinearScale\"}},\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"6c111bfd-d827-4808-8c8a-bf7cd8f0c2e7\",\"type\":\"BasicTicker\"}},\"id\":\"5d8769c9-7141-415b-8e57-d56d9df5777a\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"6c111bfd-d827-4808-8c8a-bf7cd8f0c2e7\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"eed8a7e3-4332-4c5d-b7bb-ad6f3743fb29\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c9d0f284-1859-44d7-9356-84dd84e463b7\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"85ebd359-7426-4fd3-8e9f-0bdd508fb267\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"c0cdca50-fe92-4902-85c5-ad248f58b018\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"c9d0f284-1859-44d7-9356-84dd84e463b7\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"c9d0f284-1859-44d7-9356-84dd84e463b7\",\"type\":\"BasicTicker\"}},\"id\":\"d378c175-0d5e-4c8a-8214-b4a4213d9779\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"b1cc3c5a-7323-43b9-b552-e0afd6c00669\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"b8e65c49-19a5-47e7-be15-8ad21051d76c\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"b90f7334-8412-4b67-9978-fc0ed91cffff\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"ad68560a-50e7-48f1-ad3f-efe38b91f5fd\",\"type\":\"CDSView\"}},\"id\":\"25a4a0e6-4400-4380-b5bc-da6e21e3b128\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"99e23b9b-4b0c-4265-86a7-179a5f10da03\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"8fa671b8-f47c-4708-9203-deb6f2866ecd\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"99e23b9b-4b0c-4265-86a7-179a5f10da03\",\"type\":\"LinearAxis\"},{\"id\":\"ea25e95c-3fd2-40c2-b2ed-fdfbcb6185c5\",\"type\":\"Grid\"},{\"id\":\"8fa671b8-f47c-4708-9203-deb6f2866ecd\",\"type\":\"LinearAxis\"},{\"id\":\"499febb7-74e2-4d72-b6c2-f5aba2b97094\",\"type\":\"Grid\"},{\"id\":\"ca405490-4009-4fbf-8ec4-9ea0839a4cee\",\"type\":\"BoxAnnotation\"},{\"id\":\"0ee2307f-79fe-4208-a207-d17083fd6715\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"e3e35536-f697-48bc-8395-3e2462f9262e\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1f3c02e4-8e9d-4e89-8238-10a2f0e25247\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"ee72fad9-13ec-4b34-8f6b-3a49a2cffbfc\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"6129286a-08ec-406d-9fe7-815acd3e1e4e\",\"type\":\"LinearScale\"}},\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b90f7334-8412-4b67-9978-fc0ed91cffff\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"89bc2e38-4d44-48bf-949d-89f8ebb1873d\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"5cd74d1e-9608-4bca-8cf6-a04b5ae83802\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"04ac458d-4747-461d-ba34-b818b4b9f5dc\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"24c51c17-b3ad-4e78-97d0-76d43ecea31a\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"dfa62509-f8ab-4d2b-822a-aa7d5c62275b\",\"type\":\"BoxAnnotation\"}},\"id\":\"caab2f3a-c416-4508-91a6-681634a46d88\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b30c6045-b860-49d3-8190-94cd5091f5b1\",\"type\":\"BasicTicker\"}},\"id\":\"94d51b17-79fc-4085-9fd0-d3ad38f9a97e\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"78aafb0f-1270-40ad-8cc5-71c7af87cd79\",\"type\":\"BasicTickFormatter\"},{\"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\":\"1e26f743-c684-4fa4-9a6e-eb0559780863\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"35731d04-311f-4c3e-9038-032978b85840\",\"type\":\"ColumnDataSource\"}},\"id\":\"5a91eb37-10ec-4656-8907-2d827e45632d\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"180d33aa-c636-4152-b1fb-2c5175bffe22\",\"type\":\"ColumnDataSource\"}},\"id\":\"aac001c1-c1aa-4b31-977b-3b2a3403e970\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"622340b5-8960-48f8-9016-7098c6639f23\",\"type\":\"SaveTool\"},{\"id\":\"5fd79523-615c-42ba-8e3b-76e0bdb02caa\",\"type\":\"PanTool\"},{\"id\":\"0403a898-2a82-4eca-a8b9-ac23240cddc7\",\"type\":\"WheelZoomTool\"},{\"id\":\"bcbcbeae-a5e8-40ce-8191-f2c1df50148e\",\"type\":\"BoxZoomTool\"},{\"id\":\"bc9280f0-79fc-40ef-8fd7-fc6650be1932\",\"type\":\"ResetTool\"}]},\"id\":\"679e2c3a-53a9-4566-b7e3-c2b24f7523fc\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"b92fc805-cb31-4290-91b7-e433441408fc\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"22713a34-af36-4d51-a1a7-7739350106f8\",\"type\":\"ColumnDataSource\"}},\"id\":\"62e0f509-2ca2-4fc9-94f8-24d14d515758\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"35cc223f-8297-40a8-b2e4-e99cf437312f\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3d2ed9c8-223c-4a2b-88db-c73072d72814\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2a82ec67-112c-4999-9bae-62aa4dcee784\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"efe70d98-3c00-4c3e-a01e-038dc20fc5e9\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"b786baa9-102c-4ff9-9c9b-fd7375a7f4db\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"efe70d98-3c00-4c3e-a01e-038dc20fc5e9\",\"type\":\"LinearAxis\"},{\"id\":\"5ae85375-1ec0-44d8-a227-8122c2dd964f\",\"type\":\"Grid\"},{\"id\":\"b786baa9-102c-4ff9-9c9b-fd7375a7f4db\",\"type\":\"LinearAxis\"},{\"id\":\"e3ba98db-20e4-4fdd-9f2f-156340c2e965\",\"type\":\"Grid\"},{\"id\":\"2994d58c-693e-493a-86c3-959283546086\",\"type\":\"BoxAnnotation\"},{\"id\":\"e751009b-3e7c-46ac-8fd2-5bff677286c0\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6513db68-aaa6-4287-843b-c93a77ca094a\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"679e2c3a-53a9-4566-b7e3-c2b24f7523fc\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"3d2ed9c8-223c-4a2b-88db-c73072d72814\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"d95b51b1-a6a8-4c63-817d-ba5a798453ac\",\"type\":\"LinearScale\"}},\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"a4583618-da79-4800-97d3-bf62dc6df9f0\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b30c6045-b860-49d3-8190-94cd5091f5b1\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"25e2e02c-7f1f-4570-9a07-13318ee51bda\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"729aa9ef-8ec4-4ed0-bc70-b3f20ab4bcfa\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7ea834f6-d88b-48a8-9da3-a0adee3a930e\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"efe70d98-3c00-4c3e-a01e-038dc20fc5e9\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"366bee04-ee74-43d5-8cdb-94a6c538d70d\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"6513db68-aaa6-4287-843b-c93a77ca094a\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"a01e827c-efb9-40a1-aa24-9afa00c87f7a\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"4caR/9S4if/Ps4H/3sCK/969i//evpD/3b2M/+DBi//bvYf/3L2M/8qqf/+zkmv/rYpm/7KPZf/PrXr/3LuC/9m5h//VtYf/wKB1/6aGXf+qimT/pYVg/6+RZ/+2m2r/072C/8u6df/CtGn/1syC/9DIff+inUf/q5xV/7ihZv/fxY7/2b+O/97FkP/bwIj/38GO/+bGl//gwYz/48SI/+jJi//nyI//68uX/9m4iP/JpXf/zKl5/9y8iP/jw47/48SM/+TFjv/cvIj/1rWD/9i1hf/Mq3n/1reD/+PIlf/p1Jz/3MuI/82+dv/EuXL/2M6I/5mLPv+QdjH/tpZV/9jAhf/dxZD/4suV/9rCif/av4j/48aR/+THj//jx4n/5suH/+rLjP/kwYn/5cGL/+G9iP/JpXH/1bSC/72fbf+8nGf/2biB//HPmf/zz5r/372H/8Wkbv/StYD/4cWW/+TNnv/ezpT/zMB6/7GoX//RyID/u6hg/52BQP+8nFz/17+C/9W/h//SvYb/zLZ+/9m/h//gx4//4ciQ/9/Ii//ex4X/5MeJ/9Kudf/HoGr/4byG/9atev+zjFz/lXRG/7+eb//fvYz/68mV/+rIkf/hwYz/zK9+/9m+jv/cw5X/38qe/+PToP/SxoL/xbxu/8vBc//ItW7/tZxg/8GnbP/LsXf/v6hw/7qlbv/BqHP/zrJ//9vAjf/Wu4j/0rmB/9a9gf/hw4v/17SB/8agbv/ZsH3/0KRz/7qQYf/Jp3f/6MqZ/+zPnP/jxpD/2LuE/+fLmf/KsIH/u6Ry/9vIkv/q2KT/49Oa/9LCfP/Nv3D/wLFh/8y5cv/RuoD/07uC/+DDjf/Uu4X/y7V+/8iue//KrH3/07aG/9W4if/MsX7/zrR9/+PHk//qypv/6MeY/9q7hv/XtIH/17iE/+vUnf/kzZb/5cyW/+PKlP/TuoP/zrWE/8Stff/JtYD/zLyB/9bHi//cy43/z754/8SyZf/Cr1//zbt1/+3Yof/dxZD/zK17/9zBjf/fx5D/2b2J/9CxgP/Or37/0bGB/8Smc//Jr3j/17uI/9u+jv/PtIP/w614/8mwe//KtXz/2suP/+LNk//awYn/2MCK/9G4hP/Ap3X/zbWC/9C7hP/EsXf/t6pr/66iYf+0pWT/xLBo/8q3af/KunT/4c6Y/97Hl/++nW//v6Jw/9O5gv/fwYv/2bmE/86uef/Lq3b/y612/8yyef/Xvob/4ciT/9i+jP/JrHz/y6l3/8qtdv/KtHn/28KI/9i9hf/LsHv/tZlp/9K1gP/fw4v/z7Z//8Ssd/+6rHD/pJ5d/7esb//JuHb/ybds/8a3cv/XxJD/5M2h/9O1g//LsHz/zLB6/9i7g//ixIv/4cOJ/9q8gf/bv4P/2sKF/+jPlf/qz5j/7M+c/9u5jf/Ys4b/5MKN/9u8gP/cvoL/3L2E/86tev+gfVP/y6l3/+nKkP/RtoD/yLF//8W2gP+zrW//wrh7/9XCgv/XwHj/0b15/9W/iv/fyp3/28KI/9vEiv/cwIf/4sSN/+HEjf/ixYv/5cmM/+HHiv/q0Zb/8tad/+7PmP/tzJn/0a+D/7KWaf/t0Z3/7M2R/+zMk//xz5j/27aF/5JoRP/CnW//38CJ/5yBTv+9p3f/2siW/82/hf/KvX3/3ceF/93Aev/Vu3b/1LqB/93Hkv/awoj/0LuB/9/FjP/ry5f/2biH/9m5hP/jw4z/4sGM/+vIlf/x0Jv/8dOc/+3Nl//huo7/knFH/9S3jP/dv47/0K+C/+G/kP++mWn/gVgv/9Ctgf+UeEj/a04h/8OpfP/p0KD/486V/+LSk//n1pL/2sN+/9O7eP/Erm7/zbp3/6uTZf+kj2H/yq+D/96+kf/Oq33/0K59/9q5hf/euoj/4rqL/+jFk//myZL/4sON/9Gkev97VjL/dVg2/3BSMf9lQyb/iWZD/4RgNP97VSn/mnlQ/1g8E/+hg1j/27yQ/9u8i//PtXv/6tma/+zfm//i0Y3/6dWT/8GvZ/+2qVj/sJhx/7Gcdf/Ap4H/1LaK/9e4hv/bvIj/3sCK/+LCjP/dvIn/38CN/+XJl//avY3/pn5Z/189IP9cPyX/YUQq/1o5JP9ePCD/aUYe/2M+Ff9gPRj/eFcx/+DAlP/fwI7/za13/7CWWv/Pvn7/7N6c/+XVlP/j0o//zL9x/720Xf/ZxZH/1sWR/9vFkv/bwo7/48uU/97GjP/hyo3/7NaX/+fSlf/o0Jv/28CU/56AWv95WTv/Vjsj/2lON/95W0P/dFNB/3BONv9oRiL/XzsW/2U9HP+KZD//za19/9e8gf/Xvn7/v6ho/8a2df/j05P/28iK/9TGgf/Ivm3/sqxV/+jalf/j1o7/69eS/+rXlP/n1pP/5tSR/+TRjf/p2ZP/4tSR/8i2f/+Ea0b/YUUt/2FJNf9dSTb/bVZC/3ZYQv95WUT/clI5/2VCIv93US3/e04p/31SLv9zUy7/tZ9n/+PQjv/MuXf/0cF8/97Mif/Jtnb/uapj/8K1Zf+zqFb/5d2V/+TcjP/w35T/6tyQ/+fdkP/t4Jb/6NiR/+nZk//j05T/r5xt/1M+IP9TOyj/YUs7/2RQPf9zWkb/hWNN/49rUP+GZEf/dU8v/5BiOv+NWy3/b0Uh/1k8Jf+lkmb/zLt//9XBgf/WxHv/4M6E/9nGgv+7qF//38d9/7qnWf/b15L/1NGG/9/Ui//g143/3teN/93Tjf/bzov/59eW/9vIk/+Ca03/SDEW/1dAHf92WT7/f2RI/4poTP+me1//topo/6qBXv+MYTz/l2M3/4tYKP9rQhz/ZUkr/5J+Uf+fi1L/uKBl/9O9ev/Zwn7/4MiG/7uiXP+sk0r/rZxO/8/Qk//BxIP/yMWF/9DNi//JxoT/wLp7/7mxdv/TxYv/0ruR/25SQv+Mclf/wal1/7COZf+fflX/mnJM/6t6VP+vflT/qnxT/6l7Uf+YYjL/kF0t/5FrQv95Xjn/jnlK/5qCTP+hhE7/wKRr/8ercP+7nmH/wqVi/5+IQf+mmEv/wsaW/77Glv+/xJH/x8qR/7Kzef+opnD/mZVi/8G0g//QuJL/hWpT/8auif/v2Jv/4sOM/82ve//Io3P/16h7/9Cicf++lWX/xJxu/7aJV/+7jl3/v5tv/4dsQv+fiFf/rJNe/7CUY/+milr/wKVy/8Knbf/FrGr/xbJr/7KkWf+Umnj/h5N0/5eiff+dpHT/mp9r/5ydbf+amWz/oJNp/6OIYf+TeFH/xax8/+XNkv/ex4j/0bt+/9e6g//iu4n/5L2J/9OygP/ixJT/5cOR/9awfv/GpHX/knhK/6iQXv++pXL/uaJz/5yFWv++p3j/072D/7ypZv+ypV7/wLBn/255Yf9zf2j/fIlv/3+KYv+Smmr/naJ2/5idcv9+d07/qpZo/9XCiv+9qWz/4s2R/+jZmP/Xx4b/07yB/8+vev/XuIL/xKx3/+fRoP/avon/wqBu/7qaav+ihlf/popZ/8quff/CqXz/qpRq/7uleP/ItX7/u7Fv/6mgWf++rmX/aHlh/4CKcf+Cjnf/e4pm/4mTaP+Yn3b/i5Zs/4+Vaf+7uIX/1NSV/8/Ih//l15r/6d+h/93Pjf/fyIr/0LJ7/820ev/HtXz/4M6Z/+XKlP/StIH/vZ9w/7KTY/+3lmj/17aF/8qtfP+9p3r/r5ps/8m4g/+8t3j/wLl0/8GzZ/96jm//hZFx/4KPcf99jGj/go1l/4yUbf+Klm3/kJtx/5ykdf+ut4P/wMGQ/9bNoP/d1Zj/28+K/9zHgv/SuHj/y7l2/8m9f//WyZH/6dWd/9/GkP/LsX7/t5po/7uca//QtH3/w6xy/9G9iv/BrXr/1cWN/8i9gP/DuHX/y8B1/4SbdP+HmG//hJFs/3mIY/98iWP/ho5r/4mWcf+Gl3H/fpBo/4KVbP9+h2n/kJB0/8bEi//Z043/2syB/9TCef/Pxnz/zMeD/93Tmf/f0pj/386U/865gP/Hr3f/wKVu/7+qbP+4qWX/zrmA/9PAiv/WyY7/2ceM/7GjYv+1rWP/iqN5/4+kd/+JlW7/eYdk/4CPbP+Ej27/hpRy/4GVc/91jm3/eZNw/2R2Xv9udmP/pq1+/8rNjv/V0or/1MyC/8rHff/V0Y7/5tye/9fPjv/ZzYz/ybh6/9nFiP/XwIT/zL96/7myaP+5p2z/y7mE/87Dif/Mun7/ybp6/7KpY/9/mXD/jKN2/4yXcf+Ajm3/fIts/4WQcv9/jW7/dYts/26KbP9xjm3/aX5k/2t3ZP9+jmv/pbN//8DHhv/N0Iv/0NCM/+HZm//i1ZX/1s+E/8/Hfv/SxYL/49OR/9PAf//Px37/vr1y/7embP+yoG7/z8aP/7mrbv+8r3D/w7l2/3yXcP+Jn3f/jJd2/4GQb/93imn/fItv/2+AZ/9geF//Xntk/2yKb/9uhmj/ZHhe/2R9Yv+LoXn/s8GM/8jOlP/GyIz/3tec/+TXlv/e2Yr/x8N5/8vFgP/g1pD/1MN//8vBef/Ewnv/zsCK/62fb/+3sHn/vrJz/6maW/+klFT/gZt0/4mdeP+DkHH/fJBr/3uUbf9yiWv/Yndj/1t1Yf9ObF//Xnpw/2yHbP9rhmv/ZYdv/22Jbf+QoX3/ucGW/6y0hP/FxI7/5dyd/+Tgl//Mz4n/x8uD/9HPgv/azYT/yrx3/87GhP/Ty5X/xb+M/7eyeP/HvYD/uq1v/7CgYP9uh2T/e5Jw/3+Ucv93kGv/eZRw/2Z/YP9ddlr/YHph/09pYP9OZWH/aX9u/191af9Oa1//X3hm/3OGa/+YqIb/lKN//6muhf/X0p7/39qZ/8/Qiv/S1In/xMJz/8fAdf/Wzob/1s+M/8S+hP++u4P/t7Z7/66scP+ko2X/n6Be/0deTf9Saln/aIRs/3KNcP+Am3z/aIRk/2yIZv9qhWn/WG5n/2B0cv9neW//VmZo/0tgYf9VZ13/W21Y/3iOdP+Bk3v/iZN4/6yuh//X053/0tGO/8vLgP/QzX3/vLxs/8PCdv/W0or/yMaE/6alZ/+op2z/qadu/5qbX/+CiUj/MkpO/zVNUP9JZFv/U29a/2yJb/9riGz/e5h6/2SAaP9IX1v/ZXp2/26Bdv9jc3f/Wmpw/2p0a/91gWz/eIx1/3qLeP9wfWv/fIVr/7u9kv/IzJL/ztCL/9HMgP/FxXP/sbNk/7y6b/+4uG//q61p/5iYXP+ooWn/wryC/6KhYv84Vlv/Q11i/2N9cv9ifWj/Xnpm/0tnU/9VcV3/SmZX/0FbWv9adGv/cIl1/15zcP9YZ2j/j5OD/6GjiP+Ml33/ipV//3+NfP9ygm7/k599/5ildv+1uoL/ysN+/768av+lp1T/s7Rm/7O2Zv+1uXH/mJxd/4yNT/+2t3f/wcB+/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"180d33aa-c636-4152-b1fb-2c5175bffe22\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"afed58b9-7830-4294-b42f-00c64ed40d82\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"d95b51b1-a6a8-4c63-817d-ba5a798453ac\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"c8760d71-9de2-43e0-8c2e-8f6dcb73bf62\",\"type\":\"SaveTool\"},{\"id\":\"559c6da2-839e-40a2-a422-d4f4ad28a212\",\"type\":\"PanTool\"},{\"id\":\"a330b0f2-a410-4f7e-b004-47fb8af1490e\",\"type\":\"WheelZoomTool\"},{\"id\":\"9eb238ab-c6d5-4713-8dc1-2541291b70fa\",\"type\":\"BoxZoomTool\"},{\"id\":\"877df82f-8390-4c4a-b9b5-af5345b8f4a8\",\"type\":\"ResetTool\"}]},\"id\":\"cb609e4c-39b8-4921-938d-eb33c95a9ed4\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"b30c6045-b860-49d3-8190-94cd5091f5b1\",\"type\":\"BasicTicker\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"e00c6df4-0ac0-423f-be95-41e04d068507\",\"type\":\"SaveTool\"},{\"id\":\"554df7df-9d56-4022-8d9b-a986b17ba4f3\",\"type\":\"PanTool\"},{\"id\":\"2259c376-3c2d-43e6-a1ee-66957c582b3d\",\"type\":\"WheelZoomTool\"},{\"id\":\"cfd58bb3-6f23-4933-a010-3413485f282e\",\"type\":\"BoxZoomTool\"},{\"id\":\"46d3796f-427e-4388-9dbb-b151a2c64b7b\",\"type\":\"ResetTool\"}]},\"id\":\"e1a55883-9ab0-4763-aa8c-a3de1f1e6cef\",\"type\":\"Toolbar\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"ebf0d44d-18f0-489b-a986-2046a62c2888\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7ea834f6-d88b-48a8-9da3-a0adee3a930e\",\"type\":\"BasicTicker\"}},\"id\":\"5ae85375-1ec0-44d8-a227-8122c2dd964f\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"e1cf5c82-3255-4166-8199-7a851835d234\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"d1d21159-db7c-43d0-b7fb-4cc2fe7781c4\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7ea834f6-d88b-48a8-9da3-a0adee3a930e\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"70a73dcd-764a-453e-b98a-d1fd743f1d80\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"efddd888-a26a-4e89-ac06-a8711898d67d\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"bb8c0a6b-215c-4dba-affc-0a92de9fd9b7\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"07b894a1-618c-42be-b6c8-b2701b1f8544\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"44e59a5f-2140-44d1-b457-46d685524528\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"b786baa9-102c-4ff9-9c9b-fd7375a7f4db\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"efddd888-a26a-4e89-ac06-a8711898d67d\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"44e59a5f-2140-44d1-b457-46d685524528\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"efddd888-a26a-4e89-ac06-a8711898d67d\",\"type\":\"BasicTicker\"}},\"id\":\"7f07b6dd-ff61-4b9c-a41a-c1587a5db1e7\",\"type\":\"Grid\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"44e59a5f-2140-44d1-b457-46d685524528\",\"type\":\"BasicTicker\"}},\"id\":\"e3ba98db-20e4-4fdd-9f2f-156340c2e965\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a4583618-da79-4800-97d3-bf62dc6df9f0\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"729aa9ef-8ec4-4ed0-bc70-b3f20ab4bcfa\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"01923725-8647-48ff-a027-86635b12d73a\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"to9k/7OLXv+2k2b/u5Rm/7yVaf+6k2f/uJFl/7mTYf+0j1v/s4tj/7SMZ/+xi2L/rYpf/6mHW/+ph1v/rIpe/7SPYv+2j2T/s4tl/62EYf+wjWP/rIxg/66MZv+Zd1f/kW9N/5x7U/+qiWH/pYRc/6OAW/+efFj/nH9T/6B+WP+5kGP/uI9f/7qXZ//FnGv/xp1v/8CXaf+/lmj/wZlm/72WYf+5kGL/vJRl/72VY/+wil7/tY9k/7aPZP+3kGT/vpZl/8Scav/JoHH/w5pt/7eTYv+ykF7/roxf/5t3UP+hfVf/qIVc/7CNZP+phl3/poBa/6N/Wv+dflH/mHNM/7WOYv+yi1z/uJZo/7+YaP+6lGX/tI5f/7GLXP+9l2b/u5Zk/7yWZP/Bm2f/vZdj/7aOYf+6kmX/wppt/8GZbP/Am2j/yKNv/82ndP++mWb/rotX/62MWf+wjl//pYNX/6+MY/+phmD/p4Rd/5VzTP+felX/o39b/5t8UP+YdE//uZRp/7GMX/+3lmn/u5dn/7KPX/+qh1f/s5Bg/72aav+9mWn/vZpm/8qncv/Dn2z/wJxq/8Sfbf/Io3H/wp1s/8Whcf/EoXH/xaJx/6qHVf+igE7/r41c/6eFV/+ohlj/rYph/6mGYf+phmH/mHVQ/5p1Uf+hfVz/mXpQ/5VwTf+5lWz/so5i/7GRZv+8mWr/s5Fh/6uIWf+2lGT/uJZn/7WTY/+3lmL/uZdo/6+MZP+lg1v/spBo/7mXbv+xjmf/uZZy/7qXcv+6l2//p4Ra/6SCVv+ti1//pYNX/6qIXP+siWH/q4dk/6iEYf+eelb/l3FQ/5l1VP+VdU3/k25N/66LYv+uil7/rY5j/7iWZf+4lmb/sY9f/7CNXf+silv/tJNk/7OSYf+gflb/jWpN/3FPN/95WED/iWhR/4ZlTf+AW0P/jmpS/41qTv+PbEn/qYVd/6KAWP+ScEr/p4Re/6B7V/+hfVz/pYFe/6F8Wf+adVX/mnZW/5l5Uv+cd1b/nntT/6B9Uf+mhVj/uZdh/7ubaf+8mmz/u5hm/7eVYf+6mmn/u5ts/66NZf+ceVj/i2dK/4pnTP+KaE7/iGZJ/31XPv9rTED/aVFF/5R0Uv+thlX/lXZN/2JJL/+Oa1H/hF1C/4hlR/+rhFz/o31X/5p2Vv+deVb/lXVO/555Vf+Yd1X/n4Bb/6eHYP+8m2n/rZBh/6qJYf+yj2P/u5dl/8Gcaf/Ammr/upNn/7qTav+4kWn/vJdx/76bdP+0kmj/s49o/35mVf9ZS0L/s5t5/8Gfb/+jiWr/TDoq/5BuV/+bc1f/hWVJ/6Z/Xf+he1n/knBP/6iFXv+dfVX/oHxT/4psVf+We2T/o4pw/6yRa/+af1r/k3ZV/51+Wv+tiV7/xJtr/7iOYf+1i2D/xZtx/8Wecv/BnW7/xqV0/8SjcP/HpXX/i3Vd/y4kG/9wYkz/m4Nr/29cUP9MPTL/qYls/66MZv91XEL/lXNi/5p2Yv+ce1f/sY9j/6aHWv+jgFP/a1BC/2hQRv9+aVz/hm1R/4RsTP+LcVP/nH9i/6iJaf+rimb/qYhl/7GRbf+9nHb/xKBy/8Kibf+/omz/vaBv/7CRbP9LOCv/DwgK/xcPEP8gEhP/FgwQ/0U6Nf+sknf/sJVu/1xKNv94Xlv/f2FV/6mJZP+piFr/pYZY/6qHV/9yWEv/YElH/3dkXv+XgGf/n4hn/5d/Xf+NcVP/kXZb/4dwVP+GblH/jndY/5B4Vv+jh1v/rpRh/6iPYv+Mc1X/cVlJ/yESEv8QChf/Ew0d/w4HFP8QCxb/Ix0e/1xMPv90YU3/Nysj/1FBQv+EbWL/qoxo/7KQZP+yk2b/so9h/5F0ZP94YV//fm1n/6GJb/+wl3P/rpRs/55/Xf+cf2L/oYlq/5mBYP+ii2b/moNd/6ONZv+diV//iHZZ/0EtJ/8sHR3/FQ4R/xYTHf8TDxz/DgoV/xAOFv8UEBj/FAsO/x0RFf8YEBb/RTw8/4JwYP+miWj/t5Rs/7KSav+yjmX/mX9r/3ZeWf96Z1z/jnRZ/5R4Uv+ghFf/pIRc/6mJZP+niWH/pIZb/66RYv+hhVb/o4xl/35pQP9oVDz/Lx0e/xwUGv8UERX/ExEV/xQRFf8OChD/DgwU/w8PGP8ODBb/DwsX/xIOG/8mIiP/UkU0/4NpS/+mhGH/q4tl/6mHYf+Gc2L/cVtS/4p0Zv+hhWz/p4hl/7SVaf+3mWv/vZ1w/7qYav+7mmn/uZhk/6mIVf+ykWT/p4VU/51/WP9XRDb/GRMa/xcSH/8TCxf/GQ8V/xcOFv8SDBf/DAsT/wkNEv8IDRD/Dg4V/xQOFv9GODL/a1c//4hqTv+mhmL/kndW/2pWVv9xWVr/fWVf/6SIdf+xk3P/tJdu/7OXbP+3lm3/vJZt/76Zbv+/mWv/vZlr/7aVa/+zkGP/uJpz/5B7Z/8nHiH/GhEf/x0OHP8rGCD/Khgc/x4PFP8UChH/EAwS/w8LFP8YDxv/Khsi/1dAPv96XlX/e1xM/4JiSf90WUT/d2Fo/3xkZ/+Hb2r/noN0/6SIbf+ojWv/qY9t/5+BZf+ceWH/nnxh/6F/Yv+lhGX/pYZm/5+CXf+Zfl7/gWxX/z0wL/8lFh//KxMg/0IlLf9TNjf/OyIi/yUQFf8fDxj/IA8f/zEcKP9fR0H/c1VM/2tJR/9iQT3/WTgu/1M2MP95ZWP/d2FY/4FqXf+Ib2H/m4Ft/5yEav+cg2v/fmVY/2tTT/93YFn/fWdd/4VuYP+ghG3/nYRo/494Xf9+Z1T/STcx/zomKv9KLjf/Sigu/1o4OP9ePj3/VDg9/0MsNv9ELDn/WD0//3ZbSf+AYE7/cU1I/2FBQv9ZOTn/TzQ4/3dkWP9qVkT/Y008/25WSv+Se23/k3xq/4lxY/93YV7/ZFJX/2NRVP9nVlf/dmJf/5qBc/+Tfmz/gW5a/6iQff+GbGL/WT4+/19CR/9XODv/XDo8/3ZWWf95XWL/Y0xV/2NNU/9wVlX/eV5U/3pdUP+FZl7/gWRj/3RVWf9rUFj/fmxf/3ZiU/9kTEb/dl9a/4dxZ/99aFv/clxU/2JKSv9cQkX/XkVF/19HRP9tU0//fmZf/3lpXP95aFf/x6+c/6iKff90VlP/aU5Q/2FLSf9yVlr/cFNd/25WXf9nVVr/ZVNX/2VNV/9kSlr/VTtD/2BHQv9nS0b/cVNV/3JYXv9yXlf/h3Bk/4BpYv+BbWf/g3Bm/3ZjWP9sWVH/cllU/3NTTf9xUkv/dFZO/3BTTP9lTET/a1pO/3poWv+pj4D/k3Zr/39jXv+FbGn/cFpV/3ReXv9uWl3/aVZY/2VUVP9nVFb/Zk9a/2tTZP9pUFz/b1dY/2VOTv9lT1T/U0FG/2VNSf95X1L/hnJk/4RwZP+EbmL/inNn/4dwZf+KcWf/gWhh/3liXf96Z2T/blxc/25fYP98dnX/g317/4d5ev9+cHL/eWxv/3hrbv91aWz/cWpu/3Btcf9uaGz/aWFm/2pgZv9tYWj/cWVs/3JlbP9uYmn/Y1li/1hUX/9VUlv/aVBN/3RaUf9zXlP/fGZb/35jWP+BZlv/hWpf/3JeV/94b2//hYKG/46Rmf+CiJb/dH+U/3OEmP90hpn/f4yg/46br/+Ekqb/YXCD/0NRZf82RVn/N0Zb/zdDWf81PlX/Nj5T/zxEVv8+Rlf/O0RV/zU8Tf8uNEb/JC9D/yo2Rv9uWlz/Yk9P/2NUUv9wYWL/Z1hZ/2ZWWP9mVlf/b2pu/5eirf+qu8v/q8PY/6G+2P+Zt9f/kLDQ/5Oy0v+fvd3/psXi/6PD3/+Xt9P/d5ey/y9KaP8TKkr/FytM/xcpSv8XKUr/FShJ/xEkRP8SJUb/ECFB/xMgPf8PHj3/Dhw5/4N/if98fYn/hIWR/4eNnv+DjKL/jZar/5CYrf+mtcr/r8rf/6vJ4v+ny+f/p83r/6zL6v+uyur/rsvr/63L6v+qyeb/qsnl/63M6P+vzen/mLLP/0JYdv8hNVT/JzdX/yExVf8gMVr/HC1X/xkqVP8YJ1D/GSVL/xckTf8WIEf/qLvP/6K81f+lvtj/pb/c/6XB4f+pxeX/qcXl/6rI6P+pyuj/qMro/6nL6P+pyuf/rMnm/7HH5v+xx+b/rcnm/67J5v+txuT/q8Ti/6rD4f+wyeX/l6/K/0pffP8qPFr/JDVX/yE0W/8dMFf/Gy9W/x8yWP8VJkr/ECFJ/xgkSv+kyeb/l8Ln/5nD5/+dwuX/oMPl/6DD5v+hxOb/osbp/6TJ7P+oy+v/q8ro/6vK5v+qy+j/r8jo/67H5/+qyef/qsfo/6rF6P+qxef/qcTm/6bE5P+ryOf/janI/2mCof9ngJ//VG2N/0ligv9feJj/aYOi/1NujP8vSWv/HDJV/5rG6/+UwOn/l8Tp/5vD6P+gwuX/oMLm/6HD5/+hxOf/ocfp/6PJ6/+jyev/pMrs/6LL6/+lyev/psfq/6XG6f+lxez/o8Pr/6LD6P+hxOf/pMTq/6bC6f+lw+X/oMDd/6C/2/+bt9X/lrPQ/5+72P+hvtz/mrfU/4Kgwf9oiaz/m8Hl/5i94f+dw+L/n8Pj/6bC4v+oxeX/qsbn/6nG5f+pyeb/qMro/5/E5P+Zv+D/ncPi/6HF5f+jxub/pMbn/6TF6/+hw+n/ocHk/6HB4v+mweX/p8Dm/6PB4/+ewd7/mL/g/5bA5/+Uvub/kbvj/5C54P+Wttj/mbja/5m74P+iw+P/nr7f/6TF4P+nx+T/rcfk/6/K5v+xzOn/sMvm/6/M5v+uzOj/pcbj/5y+3f+hwuL/o8Xl/57D4f+bwuD/mMDi/5W53f+audv/or3e/6bA4v+ivuP/mr/k/5PA5f+RwOf/kr7m/4+64v+Ktt7/hLHa/4Ov2v+Frdb/irHa/6LH6v+dwOT/osbl/6bM7f+sze3/qszs/6rL6/+qy+r/qcvp/6bK6v+hyOn/nsbo/6DF6/+cxOr/lMHk/4y94P+NvuP/j7zi/5m+5P+kw+n/psfs/5nA6P+IuOP/erPj/3yy3/+Gsdf/hrHW/4Ww1f98q9T/bqfc/3Cm2f94q93/pMnr/53A4/+gxOP/oMjp/6bK7P+myuz/psrs/6bK6v+oy+r/qM3t/6TL7f+gye3/oMbs/53F6/+ZxOj/lMLm/5XE6P+axen/ocjr/6fI6v+jx+v/lcDm/4a34v96suH/dK/g/3Ks2/9uqdj/bafW/2ej1P9kndT/ZZzR/2yk2P+sxd3/pLzW/6W90v+fvdX/obzV/5+60/+gvNX/pL7W/6fA1/+mwNj/o8Da/5+92P+du9T/ob7Y/6S/2f+kvtn/pb/a/6bA2f+nwdf/pr/T/6K+1P+cu9b/lLfV/4yx0v+CrNH/eanQ/3amzf90pcv/dKTL/3Obw/9tlLz/b5rF/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"4f27c239-5317-45d5-836a-c6d820f3eb29\",\"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\":\"b473a5ee-9aa6-4451-a6ef-92b2833b05bc\",\"type\":\"BoxAnnotation\"},{\"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\":\"2994d58c-693e-493a-86c3-959283546086\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"e00c6df4-0ac0-423f-be95-41e04d068507\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"622340b5-8960-48f8-9016-7098c6639f23\",\"type\":\"SaveTool\"},{\"attributes\":{\"below\":[{\"id\":\"8b3a7ad1-e1ca-452b-9fe8-192203962d3c\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"657a19cd-c10e-40e4-80de-cbd2108e14d7\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"8b3a7ad1-e1ca-452b-9fe8-192203962d3c\",\"type\":\"LinearAxis\"},{\"id\":\"b00d312d-7043-46cf-a8c0-af72ed19fc06\",\"type\":\"Grid\"},{\"id\":\"657a19cd-c10e-40e4-80de-cbd2108e14d7\",\"type\":\"LinearAxis\"},{\"id\":\"ab7dece6-d75e-48a4-98c3-1340dbe4cd6b\",\"type\":\"Grid\"},{\"id\":\"dec27f51-b6dc-422b-be00-e2705c5b37bd\",\"type\":\"BoxAnnotation\"},{\"id\":\"0b181390-0329-47cd-a567-2d4e80458647\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"542518d4-72db-48a7-9bea-cb6f9f412807\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"cb609e4c-39b8-4921-938d-eb33c95a9ed4\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"01923725-8647-48ff-a027-86635b12d73a\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"c4a4d21c-118c-4779-8bbe-d3c5da424834\",\"type\":\"LinearScale\"}},\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"PT0//zo7Pf8yNDf/PkJG/zc6PP9VW17/TFNX/1JXWf9MU1b/XWVp/2Jnbf9bYWf/XWRr/1phav9WX2f/VV1i/y81O/88RFD/NUJN/zA2O/8mKSz/NTtC/4mnqP+LsrD/mru9/67Kzf+40dX/wdje/8Tb4f+41dn/q8jM/7nV2f87PDz/RUdJ/z5CR/87QEX/SU5Q/1VZXP9VWl3/W2Jk/0xTVv9vdHn/dnuC/3B3fv9gaG3/XGFo/2Focf9eZWn/Ki4z/y41QP8uO0b/KzE1/yksL/8tMjb/T2xk/2iThP98pJr/k7m0/57Bwv+mxsr/pcTH/6DBxP+avr//r9DT/xcYGf8iJSj/ISYr/x4jKf8qMDP/NT1D/zU7P/8uNTj/LTM3/1FVW/9WW2H/Tldg/0xVXv8zNj7/OT9H/z5GTP8eIyr/LDM9/zRBS/8pMDX/Jist/ygtL/8qQTf/U3xm/2GMd/9wnY//fKei/4y1tf+Ot7b/hq6s/3ymn/+Ksa3/AQUI/wQJDf8MExj/GB8j/x4mKv8kMjv/Iiku/xsgJv8gJSr/PUJH/0JHS/81PUf/N0JO/yQrMf8cJCr/LDZA/x0kLf8vNz//OEZO/yYwNv8lKi3/Jios/yY1Lv9Rclz/VH5j/1WCaP9XhW7/ZZOB/2iWh/9fjXz/VYNq/2SRe/8JDxP/DhMX/xgeI/8hJyv/Iyou/y06Qf8lKzD/HSIm/x8kKf8+Q0f/R0xO/y42Pv84RU//OkhN/xchJf8tN0D/JSw0/y83Pv85R1D/JzE3/yswMv8rLzL/LTw1/1JxW/9Pdln/S3RR/0NuSP9OfFf/U4Ji/057Xv9Jd1P/WYhm/xMbIf8YHSH/HSIm/yMnKf8hJyr/JzM6/yEnK/8XHB//JCkt/0NIS/9VWlv/PENH/y45Qf83Rkz/JTAz/zE7Qv8rMzn/LTU7/zxJUv8sNjz/Jist/ywvMv8wPTf/S2dQ/01vUf9Ob0//RWlD/0dxSv9Ldlb/SnRY/0VxUf9OfV3/GCIp/x4kKf8hJir/Iyco/yInKP8gKzH/HSMl/xkeIf8pLjD/QkdJ/1BWVf9eY2T/QkdP/yApMv8qNDf/O0ZL/y00Ov8nLzT/NkRN/y85P/8dIyX/LjE0/zVAO/9GYEj/SmlK/01oS/9LaUT/SG1F/1B4V/9ReFn/THZW/018Wv8aIyz/Jiow/yYpLv8kKCr/Iycq/yUuNf8fJSn/ISYo/y0zNP8kKir/JCwr/1VVVv9cWGD/Ki44/yYuMP80PUP/MzpC/yUuNP8vPkT/Iiwy/w8TFf8sLjH/PktF/155XP9jhF//X3pb/1Z0TP9WfU//XYZc/2WKY/9ahF7/VYZc/x8lLf8qLTT/Kisx/youMv8jKS7/MDg//y82O/8sMDT/MTY4/xcdHv8sNDX/SUdK/1lTWv9NVFz/NT09/ywzOf9WXWj/PUhP/yk3O/8YISb/DhET/ykpLP8+UEf/Xn5a/2GLXv9fhF3/WH5R/12KWP9ZiFj/YYtd/1uIXv9ajl//JCcu/youM/8oLDD/LTAz/yovM/84P0P/PkNI/zQ4PP8yNjn/Gx8g/0FIS/9QUVb/Pz1E/0dNUv9PVVX/NjxB/11lb/9JVVz/Ii8z/x8oLv8UGBn/KSwt/0VdS/9ReE7/V4VW/0+BTP9Of0b/VIdQ/1KEU/9IfUj/UYVU/1mQXP8nKS3/Ki0v/yotLf8zNDT/ODo8/0pOUP9HSk7/Oz1B/zAxNf8dHiD/S09T/09RVv9CQUT/UlJR/1tbWv8/QUL/LzU7/yo0O/8gLDD/ISkv/xcdHf8sMTH/TGpM/1F/T/9Yiln/SoRF/0aAP/9If0T/ToNP/0N9Rv9OhlL/XZRg/ygqLP8xMTL/Nzc2/0RDQf9DQ0P/W1td/1ZYW/9DREj/RUZK/zs8P/9HR0n/R0hJ/09NSv98c2v/enFs/0xIQ/8yNDP/HiQp/x8oLv8gKS//ERkZ/ysyMv9IbEP/U4hR/0+EUf9Gf0H/TIZG/0iBRv9OhVH/TIJQ/1GGV/9elGT/KSws/zk4OP9KRkX/UU1K/0hGRf9bW1v/YGBk/09OU/9bWFr/Z2Ji/09IRv9HQT3/VUxF/29jVf93bGL/U0pA/0VCPP8hJSb/HCUo/ygwNf8TGRr/MDk0/1iBU/9PiE//UIVT/1CETf9Zj1X/UYhN/1WKU/9Wilf/V4td/16TZP83OTj/S0lH/1hTUf9bVVP/UUxM/2NgYf9hYGP/V1ZZ/2phYf+KeXX/emtj/3dnX/9tXFT/VUs+/0pDNv9VST3/RT84/yktK/8hKSj/MTo8/x8iI/8sOS7/YI9i/1ySX/9uoHH/XpJd/2CWXv9Wi1H/YpNZ/1qSWf9VjFb/ZZto/0hHRf9cVlT/ZV1a/2hgXv9gWVj/cGpr/2loav9cXV7/bGNi/5SDgP+TgHn/h3Jq/4Nvaf9jV0//R0E1/1JIPv9EPjj/IyUi/yMoKP83P0L/KCwt/yw9Lv9bjF3/YJZg/2aaZP9YkVf/ZJ5i/1qTVv9il1z/ZJ1k/1qRW/9lm2f/XFdT/2ZcWP9sX1z/bGFf/2lfXv93bm//bGlp/19gX/9mYF7/fnFv/5mGgf95Y17/dF9a/29hWv9aVEr/TUQ+/0Y+O/8xMCz/Jysq/zlAQ/8vNTb/NEsz/1WKT/9cklX/W5JR/1WTUP9fm13/YJpd/1+ZXP9qo2n/Zp1m/2ieav9lW1f/b2Fc/3dnYv92aWb/c2dm/31ycv9zbGz/ZmJh/2lkYv9vaWb/in99/4t6eP91Ylz/dWZc/2VfVv9gWlf/TUZE/0I9OP8qLCz/Nj1A/zE3OP9DXkP/U4xP/2CUXf9ckln/W5pW/2afX/9qoWT/Z6Bk/2uka/9on2j/cadz/21hXP94aGP/fmxn/4R1c/98bm3/fnJx/390dP9uZWX/amVi/29saf99eXj/hnx7/49+eP9+bGD/YFhN/2lkYf9SSkn/NC4t/yoqKv83PkD/PEpG/11+Yf9klGz/aI55/2OKb/9ailn/ap5j/2+maf9upmn/daxy/26lbP92q3f/bmJc/3hoZP95aGX/emxr/3twbv+BeHb/gXh2/3lwb/91b2z/dnJv/314df92cG3/in14/5F8cf9oWU3/YFdT/1lOTf8tKSv/Kign/z5CRf9JXVT/Z4hs/1p1Zv9xgIr/foyO/2x+c/9nh2r/dKVz/3qudv98sXj/c6tx/3iuev9uY17/bmFe/3FkYf9zbGn/b2pm/398d/9ua2f/bWlm/358eP9+fXn/iIWB/4eDgP+HfXj/nIl//4BvZv9bUEr/X1FI/z86NP8wLyz/REVI/1hiXv9rfHL/RFFO/0NKT/9veH7/eoKO/2Vyb/9xj3L/hLWG/3yxff93sXn/erJ//2VcWf9jWlf/W1RQ/1ZTTv86OTT/MDEr/ygqJP8tLSj/QUI9/0VGQf9LSUX/YV5b/312c/+MfXX/g3Rt/1lOSP9uXlH/UktB/y0sKP84OTn/SElJ/0tOUv8zNTj/Ky0r/ztCRv89TFT/Y3Ru/32dfv+Iu4z/g7eC/3y0ev99s33/Y1tY/09JRv86NjL/MS4q/y0sJ/8mJyH/HR8Z/xobFv8cGxf/HxwY/yonI/80MjD/RUE//2pfWf9cUEr/NCwm/05AM/9XT0f/MjEs/yUnJP9aW13/PD5A/xQWFf8bGhf/LDAv/2Z6dP+OrJn/mb6f/5jCn/+QvJX/ibqM/4q6jv9RSkj/My8s/z87OP86NzP/Pzs2/zg1MP8yMCz/KSgj/yQgHf9TTU3/dXJw/2xtav90dHP/b2lm/2FZVf8/Ojb/SD00/1tTS/81My3/UllT/7S9vf+wuLX/UVVQ/xwcGf8kJSH/aHRr/77YyP/M6dj/yuDU/7zayf+r0bv/q8+5/19aWv8rJyX/MS8s/1BQTf9AOzf/QDs4/0pGRP86NzL/Lywp/4J9gv+WkpT/cXRy/6uxsf+go6X/Zmdr/1lcYP9iYF3/UEpB/yooIP+OlY//3e7r/+35+P/Hy8j/Pj86/yEgGf8sLSf/jpeS/+j18//s9vf/5vTx/9Ts5f/S6eL/VldY/yAhH/9tb23/nJ+e/0dFQ/9JR0f/aGZn/0xIRP89Ojb/hoGE/6Gbmv+cmpX/2dzb/+3y9v+rt8D/e4aP/1VaXP9RT0r/NTEs/77Avf/z/f3/8fr6//j8+/+EhYH/JCIc/yMgHP8rLSr/oaal//r+///x9/r/5/X1/+Ty8v9cYWP/SE5N/9nf3v/s8fH/YF9d/1xbXP+Hhof/XlpW/0RBO/99eXn/joaE/5SOh/+wrqn/8vP1//j///+tsrP/Y2Jf/3dzb/9RTUv/4+Pj//f7/f/0+fv/+Pz9/8PEwf85NzL/Lion/yEeHP84Nzb/qKip//X2+//x9/r/7/X5/8LGyv+wtLf/+v///9fZ2P9VUU7/ZGFf/358fP9rZ2P/R0Q8/3NvbP+Be3v/i4N8/392bv+4s7L/5ujk/29tZv+gnZf/jo2L/319ff/29vj/9vn7//X6/f/4/P7/2NjX/1ZUUf+Hh4P/SEVC/yEdGv8xMS//lJSX/+bo6//3+/3/9/r///b5/f/n6uz/f398/1NOSf9sZWL/fXh2/3h1cf9LSUH/YmBZ/3l2dP+FfHb/hXhu/3xxav+Eg33/VVRP/9rc3P/P1dj/09bY//f7/P/3+/7/9/r9//r9///X19j/WFhV/9bX1f+tran/NTQv/yUmIP8pKyj/cXNy/+Lo5v/2+v3/9/v+/5OXmP9ZWlb/raml/4R6dv94cGz/c3Bs/1VTTP9RT0b/cGxl/3RtZv+IfHT/iHpx/3p0a/+mpKL/9vr9//f9///4/P//9/v9//f8/v/5+/z//////9HR0f9TU1P/3d3e//Ly8f9fYFr/MzMq/zIwKP8tLSf/g4eF//f8/v/1+vz/lJia/7Cxsf/z8O3/j4iC/2NbVv9aVFH/V1FN/0dBPP9oY1//j4qH/8rCvv++s67/tbCo//z6+f/4/P3/9fr6//X5+v/3+/v/+Pz9//v8/P//////29vb/4eHh//s7Oz//////5ydmf9zc2v/aGJa/0I/OP9hYV3/+Pz9//b6+//s8PH/9Pb3//r59//Oy8X/qaSe/6WfnP+oop//lI6M/56bmP/y7+7///v7/+jj4v/q5uH///79//v9/v/4/Pv/+vv6//v9+//8/v3//f79//7+/v/4+Pj/7Ozs//z8/P/+/v7/7e3r/+no5f/e2tT/r6um/8G+uv/+/////P////r+/f/7//3///////////////3////+///////59/b/8PDs/////////////////////f///////////////v////7////+/////////////////////////////////////////////////////////////////w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"3926fbed-14ca-452f-b926-a6a5a6823182\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"5fd79523-615c-42ba-8e3b-76e0bdb02caa\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"554df7df-9d56-4022-8d9b-a986b17ba4f3\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"0403a898-2a82-4eca-a8b9-ac23240cddc7\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2259c376-3c2d-43e6-a1ee-66957c582b3d\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"46d3796f-427e-4388-9dbb-b151a2c64b7b\",\"type\":\"ResetTool\"},{\"attributes\":{\"overlay\":{\"id\":\"2994d58c-693e-493a-86c3-959283546086\",\"type\":\"BoxAnnotation\"}},\"id\":\"bcbcbeae-a5e8-40ce-8191-f2c1df50148e\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"bc9280f0-79fc-40ef-8fd7-fc6650be1932\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"LkJc/zZNb/88V3n/PVR5/0hghv9FY4b/S2iL/0pojv9Nc57/YIWz/2SDrv9PapL/UnSf/1x8pv9JZon/Plh0/0RZdP9AU2r/Ok9n/z9bfP9CYo3/SmqW/0dljP8zT3L/Mktp/zNLaf8pQ2T/Jz1b/yU5UP8cMUX/LjZD/yY3Qf8sPVX/LD1Z/yk8Wv8uQmL/M0po/ytGYP8zT2b/Plt1/0Jhgf9LaIn/SmKB/0VdeP9DYHv/WnSb/1BokP9EXHr/R2B8/1ZvkP9deJz/PVt8/zZXeP9DYon/QFuD/zpQdv87UnD/L0dh/yxAXP8oPVj/HjlQ/xgyTP8hMkf/JDZJ/y0+Vf8vP1n/JjVQ/y5BX/8wR2L/Lkde/y1KXf8yT2X/PFdz/z9Yc/87Umr/PVNq/zdQZv9AVnT/SVx//0VZef9TcJD/SWmR/22Ouv9liK7/SG2R/0Rmj/86VoD/LEBk/zBGYf8wSWD/LUBZ/yk+Vv8hPFP/FStE/x4sQf8oM0b/KztS/zFBWv8mNVH/LEBd/zFKZf8zTmb/LUth/y9OZ/81U3D/OFRw/z9Zcv9BWXP/PFNt/zpQYf9IWW3/U2GC/1Jukv88XoX/Vnqm/22Vv/9nksH/XoW3/0lok/8zSmf/Nkxi/y9GXv8nPFX/JDpT/yY/V/8bLkX/Hik7/ygwQf8qO1L/MEBZ/yg3U/8qP1r/Lkhi/zBNZv8qSWL/MFJs/zNVcv8yUW3/PVp0/z5Zc/88VG//Qlhk/0hXZf9WYH//RFp9/zpYfP9DZo3/SXCb/2GMvv9ulsr/V3eh/zhSav81TV7/L0Ze/ylBWf8mPVX/KEBZ/yQ8V/8pOlH/KzlO/yo6Uf8wQFn/LDtX/yk/Wf8sSGL/LEpl/ylJZf8zVnP/Mld1/zFUcP85WnT/N1Zw/zdUbf9BWWv/R1dq/05Ycf89Smb/NEhi/zdScP9EZIr/VXek/2iKtv9aeJ//N1Rs/zJLXv81S2P/Lkhf/ytEW/8vRV//LERe/y4/Vf8wPlL/KztS/zFBWv8tPVn/KkFa/yxJYv8rS2f/K0xr/zNYeP8vVnX/M1h1/zVYdP80V2//MlZq/zdTcP89T2z/M0BT/yovQP8nLz//LD1Q/z1Uc/8/WHn/RF1+/0hihf86WHP/OVJq/ztRaf8zUGX/Mkxj/zZIYP8zP1D/Oj5K/z0/Sf8xQlv/MT1X/zJAWP8tRFv/Kkdf/y1MZ/8tTWv/K09u/ylRb/8wV3X/L1Rz/ytQbf8qUmr/LExu/zdKZ/8sMkH/ISEt/x8gK/8pMT//MUFa/z5Qbf8/VHH/OlV0/zNQbP83UGn/PVJt/zROZ/84UGr/L0BZ/zY9TP9FRlP/PT1K/zBDXf8yPVb/M0BV/zFHXP8oRF3/LEpk/ypKZv8mSmf/JUxp/y1Uc/8rUXT/KE9y/yZScv8qT27/Nkhf/zMyPf8iHyn/IR8p/y4vO/8+R1n/SVVu/0xde/89VnX/OFNw/zZOav84TWr/OE1q/z5Ucf8wQ17/NUBU/ztCVv80OlD/LkRd/zVFXv80Q1r/LkZd/yRBW/8mRWH/J0lm/ydMaf8lTmr/LFRz/yxTdf8qVHf/JVV2/ytRbf8yQ1T/MC41/x0bJf8kISr/QDxE/09QXP9WWWz/W2aB/01jhf89WX3/N1Jz/zZNbP85UG7/QFh2/y5EYf8uPVP/OENZ/zI6Uf8tRl7/Mkdg/zNGX/8vSGH/JkVg/ydIZf8tT27/KU9t/yhSbv8vWXb/Lld5/y1Yev8nV3f/LVBo/zA8SP8tKS7/FxYh/zEuN/9MRUv/U05W/2Nhcf9nboj/Wm+U/0djjv85VHv/OlNy/zRNbP88VXX/NU1r/zhMZP84SF//Mz5V/ytIX/8sSGH/L0dj/zFMaf8uTmr/K01r/y9Tc/8tVXP/LFlz/y9cef8sWHn/LVl6/y9XdP80S1//Jys2/yYhKf8hICv/Mi84/0M9Rf9UUl3/YGJz/2Fth/9geJ7/S2mV/0Fehv9DXH3/NE5u/y9Jaf83UG//NE1n/yxAWP8zQFf/KUlf/ylLY/8vTGn/NVJw/zFTcP8uUXD/MFV3/y5Yd/8tW3X/Llx5/ytZef8uWXn/OFNs/yUwQP8fHCj/LSc1/ywqN/8mIy3/PDtG/05UZf9QXXD/Q1hz/0Rih/89XYj/P1yE/ztXef8vTG3/LUlq/zRQcf8pRmP/Jj5X/ys7Uf8mRl7/Kk1n/y5Maf8wTmv/L1Fu/y9Tcf8wVnf/K1V0/ypYc/8qWHX/K1l4/zBYdv8sOlD/IyEz/y8oN/83M0H/NTQ//ysnLv85PUv/P1Fp/z1Tbf8yTGn/NlZ6/zpagv85Vnz/NlJ1/zBNcP82UnT/NlFx/yZEYf8sRWH/LD1W/yVDXf8pSGL/Kkhj/ylIYv8uT2r/LVBs/yxScP8nUG7/JlJu/yVSbv8tWnb/L1Rv/yQqQf81Lkj/OjNI/zc6RP8yMzr/PTQ2/0BJWP8xUXL/NlJ0/zZPcP83VHn/NlZ9/zJQdv81UHP/Old8/zlSdP88UnD/Lkpn/zdPbf8zQ2P/JEJc/yRBW/8rSWP/LEtk/y1OaP8rTmr/LFJw/ylSbv8mUmv/J1Rt/y1acv8zWnP/L0Nb/y01Uf8qLkb/MzpI/z8+Rv9MQkT/R1Nm/ydLcP8tS3D/L0lu/zJPdf8uTnb/LEpw/zBKbv85Vnv/N09y/z5ScP81T2z/O1Jx/zxNbv8mRV//JEJc/y9NZ/8vTmj/LE5o/y5Rbf8vVXP/K1Rw/ylVbP8sWXD/LFlw/y9ccv8yV3D/Lkhm/zA/W/83QVb/QUBL/0hARv9BUWj/KU10/ydGbP8pRWv/Kkhu/y1Lcv8vTHD/MUxv/zRRd/83T3H/Ok5s/zVNa/81S2r/OEpq/yhGYP8nRV//Lkxm/y5NZv8tTmj/LlFt/zBVc/8rVHD/KVZu/y9bc/8sWXH/K1lx/ypXc/8uUnP/N05t/0FOZ/86PU3/MzE9/y9CXf8pSnH/KUVq/ytGav8sRmr/M0xv/zVOcP83UnX/M1B1/zFJa/81SGb/NUtp/zRJaP82SWn/J0Vf/ylHYf8rSWP/K0pk/ytMZv8rTmr/K1Fu/ydQb/8nUnD/K1Z0/ydTcf8pVHH/LFR0/zJWef88Vnb/UV55/0pTaf8wNkn/JTlY/yxFaf8xRmb/KUBh/yw/X/84SWb/Sl58/0pliP8yT3X/LkZo/y5AXv81SWj/QFV0/zRIZ/8lRF3/KUdi/ylHYv8pSWP/KEpl/ylNaf8mTGr/I0tr/yVPcP8kT3D/Ik1u/ylRcv83WXr/N1l6/z1VdP9GVXD/Q1Nu/0BPaP9IXn//UWWH/0haeP88UXD/MEJe/zVDXf82R2L/NU5v/zBLb/8rQmP/Lj9d/zhKav85TW3/Mkdn/yNEXP8kRWD/I0Nh/yRHZf8jSWb/J01r/yhPbf8lTGr/J09s/ydQbP8nUGz/PGOB/zlffP8vUm//Ok5r/z9Vbv86V3D/Old1/0Beg/9OZov/QVx//zlXef87VHT/OExp/zNHYv8tQVz/LD5b/zZFYv9BTWn/Pk1s/yo/Yf8pQWL/H0JZ/x0/Wv8gQl//IkZl/yJJaP8mTmz/KVBu/yVNaf8oUGr/LFRu/y1Vbv9NdI7/OmR//yxSbP9FWXX/Plpx/ztedv85XX3/M1V7/0Nehf84V3z/K05x/zhWd/9FXn3/N0xp/zlJZf8yQV3/RFBt/0hTcP88TGr/Jz5f/yhCYv8gQlz/IEJc/yVGYv8lSWb/JEtn/ydOav8oT2v/Jk5p/ylRa/8sVG7/KlJs/ztjff81YHn/NFx2/1hwjv9DY3z/QGV//z5jhP8vU3j/QV2B/zdXeP8oS2r/Mk9u/1Rsi/85T27/N0pr/zhKa/81RGb/OUZo/0hadv8pQWH/KkZk/yNFYP8kRmH/J0li/yVLZP8iSmT/Jk5n/ylQav8nT2n/KVFr/yhQav8qUmz/MVhy/y5Zcv9BbIX/VXKQ/z1ifv84X3z/P2WI/y1Td/8+XX7/Olt3/ydLZv8tS2j/WHCQ/0FZef8xSGr/Ok9y/zlLb/8xQWP/TmJ8/zBLaP8rSWX/IkRg/ydJYv8qTGP/J01l/yRMZf8nT2j/KFBp/ydQaf8pUWv/KFBq/yxUbv8zW3X/MV52/zVifP9AYoH/NF9+/zJce/82XYD/LVV3/zpcef89YHf/LVFo/zFPa/9BWnr/PFV2/zBLa/86UnP/Qlh5/zBEZP9HXnX/M1Fr/ylJYv8dP1z/I0Ve/ypNYv8sUmj/KFFn/yxVa/8sVWv/LFVt/y9Xcf8vV3H/LlZw/zRcdv8xXnX/MV94/zhdfv8yYYL/NF+A/zNcf/8vWXv/Ol15/0RofP8zWGz/NVRu/zZOb/81UG//MU9r/zpWcv9IYX//NEtn/zlRZ/8zUmr/KUti/yNBX/8iQlz/J0hg/ypPZ/8qUmn/LVRs/yxSbf8tVW//L1ly/y9Zcv8tV2//MFlz/y9Zc/80X3z/OV6C/zFcgf8yWn3/MVd6/y5Udf85XHn/TXOJ/zRab/80Vm//OVVy/zdUb/8yUWn/NVNr/09shP84VGz/LUti/y9PZ/8rS2H/L0hq/ylFZf8pSGf/Kk1q/y5Sb/8wVHL/LVBw/y1Ucv8uV3P/Llhz/y1Xcv8vWHX/MVd4/zVbfv83XIT/M1iC/zRXff8zVXr/MVR1/zRXdf9Iboj/MVhx/y5SbP8yUm7/M1Jt/zJQav8wTmj/UG6H/zpZcv8pSmL/Lkxk/y1JX/86Unr/MUxz/zVSeP85WX//OVqA/zhafv84WXz/Nlp8/zBWev8vVXn/MFZ6/zVafv87XoX/PF+J/zlciP81V4X/NFZ9/zNVef8xVHT/LE9t/zVbeP8sUm//KUxq/y1Obf8vTmz/L0xq/y1LaP9HZIL/Olh1/yVEXf8oRV3/KENZ/z1VgP8+WYP/Q1+I/0dlkP9EYo7/P16H/0JhiP9FZo3/QGGM/z5gi/8+YIv/Pl+L/0Fij/9AYY7/NFWD/y1Oe/8tT3b/K01x/ylMbP8qTWv/KU5t/yhObf8qTW3/Lk9w/y1Ka/8rSGj/Kkdn/zdUdP8xTm3/Ij9a/yM+Vv8iO1L/M0ty/ztWe/88WX3/P12D/0Rhif9CX4n/SGSQ/1JvnP9Rb53/TmuZ/01rmf9JZ5b/RWST/0Bfjf8wUHz/K0t1/y1Pdf8pS2//JUho/yhLaf8pT2z/J0xq/yhLav8rS2v/KUdn/yhFZP8rSGf/LUpp/yhFY/8mQl3/JkBZ/yQ8VP8jPVn/JUJd/ydGYf8uTGj/N1V1/z9bgv9JZJP/VG6e/1Ntm/9Papf/TmmW/0xnlf9HZJH/PVqG/zFPdv8vTnL/Lk90/yxOcv8qTGz/KEtp/yhOaf8oTmf/Kk1o/yhJZP8pR2L/Kkdi/ytJY/8rSGP/KUZg/ylDXf8oQFr/JzxU/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"369205c6-fb08-4011-a0e2-350af029bdbc\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6d2b5624-78b6-44e3-a054-f81b20075389\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"children\":[{\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"a24ec7c7-824d-4f2a-b61c-cd633166f958\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"188449be-4938-4f75-975f-0ea004d39d8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"3bec42ff-2d59-41f7-a263-fde795bf6393\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"76c85d40-6daf-407d-860b-74a97c13bec8\",\"type\":\"Row\"},{\"attributes\":{\"data_source\":{\"id\":\"4fa7f0cf-220e-4a79-b945-f596eb8f41cc\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"366bee04-ee74-43d5-8cdb-94a6c538d70d\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6d2b5624-78b6-44e3-a054-f81b20075389\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"d5706bcf-94f5-452b-90d2-cd6af67d7669\",\"type\":\"CDSView\"}},\"id\":\"9824e7ad-1b86-4910-b004-956660d0462e\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"43cab65e-7ddb-45d0-beae-952d06fbab47\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"36b44de5-aa6f-476d-aaa3-84d823836360\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"ebf0d44d-18f0-489b-a986-2046a62c2888\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"43cab65e-7ddb-45d0-beae-952d06fbab47\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"06eedc59-849f-4620-926c-5174075b2ded\",\"type\":\"CDSView\"}},\"id\":\"e751009b-3e7c-46ac-8fd2-5bff677286c0\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"4fa7f0cf-220e-4a79-b945-f596eb8f41cc\",\"type\":\"ColumnDataSource\"}},\"id\":\"d5706bcf-94f5-452b-90d2-cd6af67d7669\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"70a73dcd-764a-453e-b98a-d1fd743f1d80\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"36b44de5-aa6f-476d-aaa3-84d823836360\",\"type\":\"ColumnDataSource\"}},\"id\":\"06eedc59-849f-4620-926c-5174075b2ded\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"35731d04-311f-4c3e-9038-032978b85840\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"62a126a2-037b-4ead-b138-970492e7c58b\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"ec432509-9042-4541-9e59-2d5076be5e29\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"5a91eb37-10ec-4656-8907-2d827e45632d\",\"type\":\"CDSView\"}},\"id\":\"3a6af790-20dc-4c47-9b94-6f320186cf54\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"083d0154-1dc9-45b2-9e54-fa385554e86c\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"07b894a1-618c-42be-b6c8-b2701b1f8544\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"af966e67-2236-4c48-a24a-2c1f9c6924cc\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"bee162e8-5c5c-4df0-a866-92235b0b341a\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"af966e67-2236-4c48-a24a-2c1f9c6924cc\",\"type\":\"LinearAxis\"},{\"id\":\"6f845640-0187-4d41-b090-9100115e6ee9\",\"type\":\"Grid\"},{\"id\":\"bee162e8-5c5c-4df0-a866-92235b0b341a\",\"type\":\"LinearAxis\"},{\"id\":\"a9ca7477-e7e3-46f2-9372-e1d12f6fe644\",\"type\":\"Grid\"},{\"id\":\"ac570737-66e0-44d3-9f6f-b36c7ed91636\",\"type\":\"BoxAnnotation\"},{\"id\":\"7428fadd-e950-4fac-94f2-ec9891e88298\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"786d177b-2fe7-4e99-a600-62d838882d67\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"0e14d515-d6bc-4633-b6dd-5eb351e128b6\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"acb79a18-64f3-4d08-a5f0-6db6c2d3789f\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"3651f2cd-50d4-43bd-8e91-e8f040f25ffb\",\"type\":\"LinearScale\"}},\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"a60cd877-1f93-4793-a98c-4f39f98c9a8c\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"c1da8c1d-158c-472c-a7a0-2a3ba65ffc6e\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"3817a891-6b8d-451b-b0ee-c94b5388c807\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"c4a4d21c-118c-4779-8bbe-d3c5da424834\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"9d889181-3b5a-42ff-addf-5e0c22c5a5c9\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3ccf9338-81af-4164-9ceb-7e16b175f546\",\"type\":\"SaveTool\"},{\"id\":\"7832a642-f658-48ec-ba92-82fe52c5b41c\",\"type\":\"PanTool\"},{\"id\":\"7741a302-993c-43f0-a57a-69c1a19c6405\",\"type\":\"WheelZoomTool\"},{\"id\":\"f4a4cfd6-2a0e-489c-9368-5228331ddd52\",\"type\":\"BoxZoomTool\"},{\"id\":\"045d35ee-9a9d-4e5a-86d2-c5c5aa5e3dbe\",\"type\":\"ResetTool\"}]},\"id\":\"fb2c3065-1ce8-4eed-bb7c-f3f451f97f7e\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"542518d4-72db-48a7-9bea-cb6f9f412807\",\"type\":\"Title\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"786d177b-2fe7-4e99-a600-62d838882d67\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"a4c7107f-f997-4b14-b8b5-16585afdb9cb\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2856f6f1-15b4-4eb0-8370-1f281df62b31\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"61131f4e-33c6-4520-b948-beaef8e5a211\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"ecc6ec98-1b55-4ca6-962c-5037192b00d9\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"acb79a18-64f3-4d08-a5f0-6db6c2d3789f\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"ff3f73f0-5a5b-471f-8464-eb69f8755f90\",\"type\":\"SaveTool\"},{\"id\":\"c864114f-e339-45f9-8fef-dc6f41089d0b\",\"type\":\"PanTool\"},{\"id\":\"de5b010f-91f6-4358-9085-45a05e0e5daa\",\"type\":\"WheelZoomTool\"},{\"id\":\"6330d61f-c64c-4347-b5da-6abcb9db9028\",\"type\":\"BoxZoomTool\"},{\"id\":\"dca237ea-7cf9-437b-8bee-5fa0a99c0889\",\"type\":\"ResetTool\"}]},\"id\":\"0e14d515-d6bc-4633-b6dd-5eb351e128b6\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"0116e1ec-0b88-4c92-8eea-c78f3249754c\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a1c3bfe5-e382-47b7-be14-541f1938c5b9\",\"type\":\"BasicTicker\"}},\"id\":\"b00d312d-7043-46cf-a8c0-af72ed19fc06\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"6e2079cc-6893-4911-a786-b56e7d4bc647\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a1c3bfe5-e382-47b7-be14-541f1938c5b9\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"8b3a7ad1-e1ca-452b-9fe8-192203962d3c\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"61131f4e-33c6-4520-b948-beaef8e5a211\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"cb2433d4-b0e2-418b-907a-4482bdae03ee\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"61131f4e-33c6-4520-b948-beaef8e5a211\",\"type\":\"LinearAxis\"},{\"id\":\"cd119db4-ca5a-41de-87dd-9e3c03405a27\",\"type\":\"Grid\"},{\"id\":\"cb2433d4-b0e2-418b-907a-4482bdae03ee\",\"type\":\"LinearAxis\"},{\"id\":\"78967c5d-b945-4267-be39-228aff23a4ce\",\"type\":\"Grid\"},{\"id\":\"0e7b5c2b-ee68-4a32-8752-28984bb33260\",\"type\":\"BoxAnnotation\"},{\"id\":\"4c73c66a-3cc4-4100-beac-9f8769ed508e\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3817a891-6b8d-451b-b0ee-c94b5388c807\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"fb2c3065-1ce8-4eed-bb7c-f3f451f97f7e\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"0116e1ec-0b88-4c92-8eea-c78f3249754c\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"083d0154-1dc9-45b2-9e54-fa385554e86c\",\"type\":\"LinearScale\"}},\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f94d455e-e5d2-4d8b-b807-03ad29e00c3f\",\"type\":\"BasicTicker\"}},\"id\":\"6f845640-0187-4d41-b090-9100115e6ee9\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3651f2cd-50d4-43bd-8e91-e8f040f25ffb\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"2856f6f1-15b4-4eb0-8370-1f281df62b31\",\"type\":\"BasicTicker\"}},\"id\":\"cd119db4-ca5a-41de-87dd-9e3c03405a27\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a1c3bfe5-e382-47b7-be14-541f1938c5b9\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"675c4e3b-1bce-454b-9e97-d3c4f361968b\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f94d455e-e5d2-4d8b-b807-03ad29e00c3f\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"af966e67-2236-4c48-a24a-2c1f9c6924cc\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"133466bf-6995-4125-b05c-4bf1d75df311\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"aeaf5b42-f99f-4be3-aeee-d2f7c28c2743\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"657a19cd-c10e-40e4-80de-cbd2108e14d7\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2856f6f1-15b4-4eb0-8370-1f281df62b31\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"537657c0-7bd6-41a8-9f3e-0ed811d591ef\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a9b38963-dad9-425e-aa90-b605b93ecf6f\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"cb2433d4-b0e2-418b-907a-4482bdae03ee\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"f94d455e-e5d2-4d8b-b807-03ad29e00c3f\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"aeaf5b42-f99f-4be3-aeee-d2f7c28c2743\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"d0f0487f-09a1-4554-b6ac-69cccdfe2141\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f65abaad-cda7-489d-ad5c-6b72ac84fbf4\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"bee162e8-5c5c-4df0-a866-92235b0b341a\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"aeaf5b42-f99f-4be3-aeee-d2f7c28c2743\",\"type\":\"BasicTicker\"}},\"id\":\"ab7dece6-d75e-48a4-98c3-1340dbe4cd6b\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a9b38963-dad9-425e-aa90-b605b93ecf6f\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a9b38963-dad9-425e-aa90-b605b93ecf6f\",\"type\":\"BasicTicker\"}},\"id\":\"78967c5d-b945-4267-be39-228aff23a4ce\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"f65abaad-cda7-489d-ad5c-6b72ac84fbf4\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"6e2079cc-6893-4911-a786-b56e7d4bc647\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"9fdb4bcf-6f49-42c0-bf77-bd3372a20273\",\"type\":\"PanTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"e339bf20-3c66-44a5-8352-1b6d1ebebc0b\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f65abaad-cda7-489d-ad5c-6b72ac84fbf4\",\"type\":\"BasicTicker\"}},\"id\":\"a9ca7477-e7e3-46f2-9372-e1d12f6fe644\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a4c7107f-f997-4b14-b8b5-16585afdb9cb\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"f1ddd28c-bebf-4bc2-8f71-1271ee89b4a4\",\"type\":\"SaveTool\"},{\"id\":\"abbecaa2-6ca3-416e-a6cf-098027ab6fe8\",\"type\":\"PanTool\"},{\"id\":\"a13addf1-21b5-46c0-91cd-105c818d9290\",\"type\":\"WheelZoomTool\"},{\"id\":\"89d7a203-3ab9-490e-be78-baab5042cd78\",\"type\":\"BoxZoomTool\"},{\"id\":\"4dbf544a-099f-4731-b576-64c2087d27a3\",\"type\":\"ResetTool\"}]},\"id\":\"ed4c5528-8c59-423e-b188-829c77a99138\",\"type\":\"Toolbar\"},{\"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\":\"dec27f51-b6dc-422b-be00-e2705c5b37bd\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"675c4e3b-1bce-454b-9e97-d3c4f361968b\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"781c1805-1682-4bd2-ac94-c6ba6acb8d38\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"c8760d71-9de2-43e0-8c2e-8f6dcb73bf62\",\"type\":\"SaveTool\"},{\"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\":\"0e7b5c2b-ee68-4a32-8752-28984bb33260\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3ccf9338-81af-4164-9ceb-7e16b175f546\",\"type\":\"SaveTool\"},{\"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\":\"ac570737-66e0-44d3-9f6f-b36c7ed91636\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"YlJD/2NTRf9fT0D/WEs+/1FGOv9UST3/WlBE/2FVSP9lVkf/Y1NE/2dYSP9XRzn/XUpB/2ZTSP9lU0P/Z1dE/2lYRv9rWEr/ZlNI/1xIQP9PPDX/U0I6/2JRSf9hUEj/a1pQ/29gUf9fUkP/UEU5/1JJP/9gVkT/YVZB/2RYR/9iUkP/ZVZG/2NTRP9eUUL/WEw+/1pOQP9dUUP/YFNF/21dTv9nV0j/ZlZH/2VURf9uVkj/Zk9A/1lHOP9mWEn/aVhJ/2hVRv9lUkP/Yk8+/1pIOP9fT0L/YlJF/15OQf9mVUj/a1tL/19RQv9IPTH/TkU7/1tRRP9PQzT/WEw8/2paS/9sXE3/Y1NE/2FTQ/9cTz//Vkk5/1pMPf9fUUL/a1tM/2paS/9kVEX/a1pK/3heSv9tU0D/W0c4/1ZIO/9RQTT/V0Q1/21bR/9yYUf/d2dO/3VmVP9rW0r/YVJA/2dYRv9uXk7/XlBB/0I3K/8xKB7/LyQe/0U4MP9YTD3/ZVRF/2xcTf9mVkf/Xk4+/15OPv9eTj7/Y1ND/2dXR/9oWEn/ZVVG/2ZWR/9sW0v/eWFL/4BmUf9yXEv/YU9B/1E/M/9mU0T/fGlW/4RzWf+IeF//e2xa/3ZmVf9tXUz/cWFQ/3NkVP9lWEn/RTou/xsSC/8iFxP/QDIs/09CNv9cTD3/ZVVG/2BQQf9gTz7/a1pH/3FgTf9wX0z/bl1M/2hYSf9gUEH/ZFRF/2RTRP9oVkH/d2FM/4ZsWf+GaVj/iHFh/39sXf90YVP/eWZX/29dTv9QPzP/TDww/1JCNv9gT0P/aFhJ/2JURf9QRTn/S0I5/1pORf9WSUD/TkE3/1RENf9SQjP/WUo7/2dWRf9qWEX/allE/2xaR/9uXUz/ZlZI/2NTRf9oWEn/ZldI/1tNPP9iTzz/kHNf/5NwW/+NcmD/bltN/2pWTP9tWFH/XklC/0Y0LP8xIBn/MSAZ/04+Nf9oWUr/Wk0+/09EOP9cU0n/X1RH/1dLPv9LPjb/TUAy/1ZJO/9YSz3/XU5B/2VVRP9dTjn/XU07/2hXSv9gT0P/Xk1C/2NSRv9oWU3/YFZJ/3NdS/+WdmH/g2dT/3RdTP9cSDz/XElB/2xUS/9wVkv/Tjgv/0MwJ/87KSL/UkI7/2NWSv9fU0b/V0xA/1pRRf9dUkX/V0w//0s/OP9DNiv/T0I3/1tOQ/9YSkH/YFNF/1ZKNv9RRDT/Vkc9/1A/Nf9TQjj/UUA2/1xNQv9ZTUH/fWVV/4FiUP9wX0//ZlRG/1lEOv9YSED/ZlFF/4FmVv9gSTr/OiYZ/0c2K/9SQzr/VUk9/1ZKPv9hVUn/al5R/2JXSf9aTkL/UUU8/ygbE/8xJB3/VklB/19TTP9lXE7/XlZD/1RLPP9RRTv/UEAz/0Q0Jv8+LiD/Szwu/1lKO/+Hb2D/blRF/2xfU/9mV0r/VUM4/1JFPv9bTEP/cFtL/413Y/9XRDH/Rzcm/1pMPf9eUUP/UUQ2/0s/MP9mWkv/cmVV/2NWR/9jVkr/LyIb/ycbFP9FODH/UkY+/1VNPv9WTjr/VEw7/1RJPf9cTT3/Tz8w/04+Lv9HOCj/UT8t/5B4aP98ZFb/aFlL/3poVv9iT0D/V0tC/15RR/9gTjz/eGJL/4d1X/8/MB//V0o5/15QP/9SRDT/TT8v/1lLO/9uYE3/cmRR/2tdTf9KPTH/PzIn/z4yJv9DNij/Vkk1/21hR/9iVUD/W009/2VWRP9gUD7/aFhH/1tLOf9bSDP/fGJR/2xRQf98Ykz/mXxh/25VP/9KOy3/Y1VH/3JfTf9yXEb/g3Bc/0Y3Kf9DNSf/WEg3/15OPP9ZSDf/Sjko/1pKNP9wYEn/Z1dD/1tQPf9gVEL/X1RB/2lZRf9/bVL/j35c/4JwU/9sW0X/b2BM/3FiTv9xYk3/aVpF/3FdR/97YE7/g2BL/6uBXv+3jWX/jW1P/0w3JP9kUj//fGZT/31mVv9tWUv/RDQq/1VGPP9qWUf/cmBN/2NSPv9ZSDT/cWBH/35tU/9yYEn/fXJZ/4d8Y/9/dFv/gXFa/4p1W/+Oe1z/jXld/3NgSv9iUj//aFlG/2xeS/9pWkb/hGtT/41sU/+dclT/wo1g/7eHW/+ad1b/b1U9/3lhSP+WfGP/jXVj/zwrIf8qHRj/XlBI/29dTf9rWUf/cF5M/3poVv+FdF3/hHNa/31rVv+Edlz/inxi/3NmS/9aSjf/Tz8w/15NPv9rWkv/cGBR/19PP/9cTT3/UEM1/0o8LP+ScVP/mW9L/55wSf+xflH/j2dB/3hZP/9rTTb/el5A/6GDXv+hhmj/PDAi/zApI/9gVU3/cV9S/3JfUP9wXU//cV5Q/29dS/9wX03/b11O/2VWQf9eTzv/UEEs/0c3J/8wIRT/SDgs/1tLPv9vX1L/cmJS/2ZWR/9cTj7/aFlI/4NqU/+BZEj/imlL/49sS/9wTzL/YUEs/14+K/97XUL/mHhT/6OCX/9uW0b/PzMo/2xdU/9yYFP/bFlL/2tYSv9sWUv/aFZF/2lYRv9lU0T/VUU3/1lJPP9XRjn/TT0w/0c3Kv9ZSTz/ZFNG/2hYSv9vX1D/aVhI/2lYRv94ZVL/aVE6/21SOf95XUP/el1B/25NNf9iPy3/Xjss/3lYQf+Wck//nnZR/4ZoTv9aRDT/ZFBD/2lWSP9jUEL/aFVH/3NgUv9yXkz/blpH/29aS/9YRz3/Xk1D/2VUS/9pWE3/ZFRH/2VVSP9vX1L/bFxP/2xeT/9tXEr/cV1I/3xjTP95UzP/g1s3/4tkQv+IYj//fVg9/3BLOf9kPi//dFE5/41nRf+Xa0b/l3FS/3xfS/9qVEf/aldJ/2RRQ/9jUEL/c2BS/3tmU/92YEr/fGRT/2RTSP9lVEn/ZFNI/21dUf9wYFP/aVlM/2dXSv9nWEv/a11O/2tZRv+CalT/k3RZ/55vRv+tek3/qntR/6d6Uf+VbU3/hmFK/31YQ/+BXUD/imVA/4tfPP+nfV3/lXVh/3FbUv9tWk3/aVZI/2JPQf9xXlD/gmxX/39nUP+Dalf/bV1O/3BgUf9kVEX/Y1NF/2JSRf9lVUj/ZlZJ/1tNQP9iVUf/ZlNA/5R6Yv+lhGb/rX5U/7SDWP+jd1D/o3tX/6F7Wf+ZdFb/mnRZ/5hzT/+VcEn/kGdH/5xxU/9+Xkz/ZFFM/29dUv9xXU//Yk9C/2hVR/9+Z1L/hWxU/4BmUf9wYE3/cWJP/2xdS/9nVkX/a1hJ/3RgUf90YVL/aFdG/3xqVP+ojHH/z6uN/8Sdff+xhVz/lHFO/3JYPv9yVj3/d1k9/3haQP95W0T/gGNJ/4JmTf+BZlH/dVlA/21VP/9zY1L/e2dW/3VgTv9wW0n/c15N/31mTv+CaVD/c1xG/25eSv90ZVH/d2hT/3JfTP91X03/fWdV/3xmVP98Z1P/rZh8/+vIpv/uxKL/zaOC/7eOZv+HbVH/ZVdJ/29aSf90XUj/dGBN/3JdTv9rVkr/ZlRK/2BTRv9hU0H/dWVM/4V0WP+GcVv/fmhT/39pVP+FcFr/g2xS/4FrUf97aVL/cGFN/3ZnVP9yY1D/dmRS/3NeTf95ZFP/eGNS/3BdS/+ZiHH/3sGk/+7Lrv+9m4D/p4Ng/4FqUP9pW07/f2tc/454Zf+EcmD/dmNU/29bUP9rWlH/YlZK/19SQv9tXUb/f25U/4NvWf97ZlH/dGBL/35pVP+Eb1f/dWFK/3JhS/9sXEz/cGFQ/2laSf9uXE3/b1xN/3BdTf9wXU7/bFtN/3BiUv+ijHT/5cuz/5iBav+FaEz/dF5I/11OQv9uWk7/emVT/3dlUv9nVEX/YExB/2dWTP9lWk3/ZFdH/2NSP/9tW0b/cF5K/21bR/9sWkb/eWZT/3lnUv9qWET/alhF/11NP/9fT0H/YVFD/2NTRf9nVkj/aFdJ/2lXSf9pWU3/aFpO/3NfSv+3oo3/fGtY/2dSPP9uWkj/YU9D/2VRR/9kUED/Y1A+/1tIOv9bRzz/XUxC/1tPQf9jVUf/XEs8/1xJOv9mVUT/aFhG/2pZSP9rWkn/YlFB/2FQQP9wXk3/WUk9/1hHPP9ZSD3/YlNH/2tcUP9sXVH/a1xP/2VWS/9jUUb/dmBL/6uWf/+Vh3P/fGxc/2xZS/9pVkv/aVVN/2lWSP9nVUL/Y1BB/2BMQf9aSj//VEk7/19RRP9jUUb/Yk9E/2ZWR/9jVET/XE4+/15PP/9hU0b/Z1dL/3JfUf9XRjv/VEM4/15NQ/9hUkf/ZFZK/2pcUP9nWU3/altQ/2xYSv95YUv/kn1k/41+af+CdGb/dGFV/2pWSv9rVk7/bltN/3NgTv9vW03/aFRI/2NSRv9fUkT/YVJF/2hVTP9oVEv/aFhJ/2JTQv9OPy//Sjsr/11PQv9qWU7/dWFT/1tKPP9ZSTz/Y1NF/2FSRP9fUkP/aVtN/2pdTv9sXE7/blpK/21YRf9zX0v/jn1q/4d1Zf+EcGH/cVxN/25ZS/91YVH/dWBP/3BbS/9yXU7/cF1O/2pZS/9rWUz/cl9T/3RhVP92YlH/cl1L/2RQPv9iTTv/a1ZG/29aSv95Y1H/ZVVG/2paS/9sXE3/a1xN/2tdTf9uYFH/bF9P/2laSv9vXEv/b1xL/3JfTv+Cb17/inVk/4JtXP96ZVT/dWBP/3tmVf9yXUz/b1pJ/3FcS/9wW0v/a1hK/2xZS/9vXE7/cF1P/3NfUP9yXk7/dmJS/3llVf9yXk7/bVlJ/29bSv9sW0z/bV1O/2xcTf9sXE3/bl1P/21dTv9sW03/blxN/29cS/9vXEv/cF1M/3FeTf9yXk3/bllI/3FcS/9wW0r/c15N/3lkU/93YlL/cl1M/3FdTf9vXE7/aVZI/2ZTRf9pVkn/ZlZK/2RVSf9qW0//a1xQ/2dYTf9oWU3/ZVZK/29fUP9vX1D/bl5P/3NhU/90YVP/dGFT/3ViVP93ZFX/dWJR/3NgT/9xXk3/dGFQ/3ZiUf90X07/dmFQ/3FdS/9vWkn/d2JR/3tmVf91YE//c19P/3FeUP9uW03/bVpM/2pYSv9jVUr/Y1ZM/2pdU/9sX1X/bWBW/2teVP9qXVP/b19Q/21dTv9yYlP/eWZY/3ZhVP93YlX/d2FU/3ZhU/94ZVT/dGFQ/2xZSP9wXUz/d2JR/3hjUv95ZFP/d2JR/3ZhUP94Y1L/emVU/3diUf91YVH/eGVX/3dkVv91YlP/b1xP/2lZTP9rXFD/c2RY/3NjV/9xYVX/bl5S/3RlWP9sXE3/aFlK/21eT/9yXlH/dFxQ/3lhVf94YFT/dF5R/3dkVP9xXk7/a1hH/3FeTf92YVH/dF9O/3RfTv94Y1L/eGRT/3djUv94Y1L/eGNS/3VhUf91YlT/dGFT/3NgUv9wXU//c19Q/3ZiUv97Z1f/e2dX/3tnV/96Zlb/fWlZ/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"92791279-efba-4229-9f3c-e9f40a48c778\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"d247992c-64f9-4e8e-876d-7cc26f364368\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"ff3f73f0-5a5b-471f-8464-eb69f8755f90\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"559c6da2-839e-40a2-a422-d4f4ad28a212\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"a330b0f2-a410-4f7e-b004-47fb8af1490e\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"7832a642-f658-48ec-ba92-82fe52c5b41c\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"fWBE/3FVO/9sUTr/dFpE/3VbQ/9nTzj/WEQz/2tfVf/Iw8H/7+7t//f39//39/f/9/f3//T39f/HycL/bGVb/0Y7Mf9rYFf/no+C/1tJPv9pWE7/ZVdQ/z4yMf9uZmz/0s/Q//Tz8f/29fP/9/b0//f29f/39fD/1cq9/5OAbf+Ia03/hWpN/4ZsUv+Iblb/gGdN/3deRP9mUDr/aFdI/5yUjP/i4N7/9fX0//j4+P/4+Pf/9/bz/7uxpf9xWkz/Sy4j/1I1Lf9kQzb/Vzco/0wsHf89IhX/OSck/3lxd//W09T/9fTy//f29P/49/X/9/bz//Xw6P/FtqX/gWpU/49zVP+Sd1j/mH9f/5+HaP+QeVv/g2tO/3VeRP9pVUD/ZlhL/7Suqf/j4uH/9vf3//f39P/08ej/vKyV/3pjTf9KMiT/NiAZ/z0hGP9RLSD/aD4o/3BJMP91WUj/rqWg/+Th3v/19PL/9vXz//f28//29PH/5t7U/6iVgv9nTDX/nIBg/56EYv+iiWf/qJFv/5iCY/+Jc1X/emRJ/2tWPv9fTDj/in50/8/Oy//1+PX/8/Lp/+LYxP+Ygmf/VUIw/yocFv8aDw7/Hw8M/zMdFP9mRiv/lG1K/7CQdv/Y0sf/7u3n//X08P/19PH/9fTw//Xz7v/WzL//lHxn/1s8Jf+liWf/qo9s/6uSbv+rlHH/nIdn/414W/9+aU3/blpA/2NPO/+PhHv/0tHO//X38v/r6Nv/v7CY/2FOPP8uHxf/GA4P/xQMD/8VCwz/HA4N/0szIf+Jakr/waWH/+Tg0//x8Or/9PTw//X08P/19PD/9fPt/9PFtv+SdV7/Wjgf/6aLZv+vlG7/r5dx/6+Xc/+hjGz/k31g/4VvVP93Ykj/a1dC/5mMgP/X087/9vbv/97azP+KfGf/Oywh/yASD/8ZDQ7/FgwO/xcNDf8VCQv/NiIY/3VZPv++o37/5NvL//Hu5//08+7/9PLu//Tz7//18u7/4NHF/6eJc/9pRiz/pYtm/6+Vbf+ymXH/s5x1/6eQbv+chWX/kXpd/4VvVP95Y0v/h3Zn/8vEvf/u7ef/y8i9/1lOQP8rHxj/IxQP/yMTD/8gEQ7/GhAO/xYKDf8tGhT/ak83/7qfdv/dzrP/7+nd//Tx6//08ez/9PLs//Tx7f/y6eH/1MGw/5uCbP+kimb/rJJr/66Vbv+slnD/q5Rv/6aOa/+dhWT/kXhZ/4FpTf9yYFD/urKt/97d2P+yr6f/OS0n/yQYEv8sHBT/MyAY/ywcF/8ZERH/FQ0P/ywbF/9tVT//w6mB/93KqP/u59j/9PHq//Ty7P/z8uv/8/Ls//Pz7v/w7Ob/zMW9/6iLaP+rjmj/qo5n/6eMZf+rkGz/poxp/52CYf+NclP/dFs//2hXSf+2rqj/1NDL/5uXjv8mGhf/JxgT/z4rIv9ELyX/Lx8Y/xcQD/8VDg//NCQd/3plTP/Qu5P/4tOy/+7p2P/x7+X/7u3l/+vp4f/n5d3/5eLc/+nl3//Rzsn/vquR/7qkhv+rkW//mntU/5h3VP+RcVL/f2JH/2ZNNv9QOif/VUY7/4uBev+Ykor/a2Vc/x8VEv88LyX/YU4//2NNPf9CLyL/JRkU/x0TE/9ENSn/j3xf/9nIn//NwaL/uLGd/7Ounv+6tab/wbyt/7Cqm/+so5L/s6mX/6ScjP+LhHX/iIBu/4J2YP93ZEv/bFU+/2FIMv9MNiX/NiQZ/zEgFv9FNir/U0k9/0tFPP82Lij/KR0X/0U2Kv9XRTb/YUw6/2BJNf9ELiD/Lh4Y/2BNPP+sl3b/3Mif/5+Pcf9wZVD/YVhG/2hfTf9zalj/bmRS/25lT/9xaFL/Zl5L/1ROQf9WUUT/YFpM/2lhUv9JPzP/QTIl/zAjGf8fFRD/JBcR/0Y3Kf9EPCz/NjAl/y4lIP9AMSX/UD0v/1ZBNP9iTDr/cVc9/2NGMP9LNCP/h3NZ/8GujP/BsIz/fG9U/1pQPf9KQTD/Rz4t/0tCMf9RSDb/W1I8/11VP/9RSjj/REA1/0lGO/9YVEj/YlxQ/z85L/89MSX/LyQb/xwVEf8jFxL/STst/0A4J/8zLiH/Ni4l/1VGNf9NOiv/Tjkt/1tGNP9vVjv/dlg//3BZQv+Id1//in9l/2tkSv9cVkD/VE09/0pDNP9COy3/QTor/0pDM/9YUDz/WlI+/01HN/88OjD/QkE4/1BORP9VUUX/Qjou/0EyJP8wIRf/GxAK/yETDP9FNSf/QDUj/zkyIf9BOCn/WUs1/0MzJf8/Lyb/Szos/2BMNf91XEX/alhD/05EM/89OSv/Q0Ez/1FMPP9IQjX/RD8y/0E8L/8/OSz/T0k6/19XRP9cVEH/S0Q2/zg4L/83Ni//QD82/0pIO/9QRzX/WEYx/0IvH/8kEwv/KBML/1Y6J/9fQin/YEQp/2FILf9hSTD/VT0r/1E5Kf9XPi3/Zkw3/3lbRP9xUzj/WUYt/0c+Kv9EQC//R0Iz/zYxJ/8yLiT/OTQn/0Q+Lv9TTTn/Y11F/2FbRf9NSDn/OTgx/zg4Mf9CQjj/UU5B/1FEMv9TQCv/RjUj/zcqHv9BLiD/ZUky/2hHLf9hPyf/Vjgj/0kwHv9ONSP/UDYl/1M3KP9ZOiz/Xz4v/2xJMv9zUDP/bU8y/1pGMP9FPDD/My4l/y4qH/82MST/SEEx/11WQv9mYEf/XlhC/0lFNf82NS7/ODgx/0hIP/9ZWU3/QD4y/zQwJP8vLSX/MzIs/0M5LP9WQCv/XUMs/11DLv9XQDD/Tz4y/01ANP9URTr/W0g9/11FPP9ZQTf/WEQz/1tDK/9gRiv/YE43/1FOPv8+PS//Ozgr/0E8L/9KQzX/TEU1/1tUQP9iXEj/VlJD/zIyKv80NCz/Q0M5/1RURv9DQjH/Pjsq/0VBM/9VTUH/ZlVE/3FhTv90Ykv/dGJJ/2tdRv9PSDf/REI8/1NQS/9lXVX/bF9T/2NURP9eUUP/WUs+/1ZGOP9WRTb/WUw6/0c/L/8/Oyz/QTwv/0dANP9IQDP/Uks6/1NNO/9IQzX/NDUt/zc2Lf9IRDf/X1ZF/1tPO/9jVUH/cWZO/3RtU/9XU0L/Tks9/1pSPf9sZEn/b2lQ/0RGNv9IS0H/VlZP/2VhWf9uZ1n/a2NR/1BMP/9HQzj/UUc8/2dURf9zWkb/Xks6/1BDNP9GPS//PjYq/0Q6L/9TTDz/Tko4/0A9Lv8zNiv/Qz4y/11PQP9wXEj/dGNP/2RXRf9ZUj//T087/zg9Mv87PTL/XVtI/2ViTP9SUT3/QEI2/0lLQv9VVU3/XlxT/2VhVf9uaVv/VlZL/0FDOf9APzP/U04+/2pfTP9cUkH/WEo8/1ZFN/9QQTP/Uko4/1lUP/9VUjv/R0Yy/zw7L/9bUUL/eWZS/3VdRf9WSTf/QDov/zc2K/84Oi3/Oz00/zw+Mv9GSDn/REU1/zk6Lv88Pjf/SUpE/1hZUP9eX1T/WFlO/01NRf9JS0P/Oz84/zQ4MP87PDH/TUk7/0pGOP9QRjn/WUk5/15NOf9fUTn/WVI6/05LNP9CQC7/SUY6/2tgTf+IdVv/e2dM/01HN/83OTD/MjUt/zU2LP82NSv/NDUr/zM1Kv81Ny3/Oz01/0RFQP9TVEz/YGFX/2BiV/9UVk7/RUdC/0BEPf81OjT/MTQu/zk3Mf9JQjn/S0Y8/1FMPv9XUD7/X1E8/3RdRf9eUT3/SUMz/zs5LP9ERTn/YVZC/35pTv+IdFr/ZV5L/0FDNf8wNCr/LjAn/ywxJv8tMCb/LzEo/zM0LP86PDT/R0g//1dYTf9fYVX/XmBV/1ZYT/9JS0T/PUE6/zQ6NP8yODH/OTsz/0VDOP9FQjb/SkY4/1FMPP9fVEP/hm5X/2RVQ/9HPzT/ODUt/0FENv9YTTn/dF1D/4JsVP9jW0b/QUQz/y8zKP8rLSb/KC4l/y0wJv8wMif/NTYs/zw+NP9ISj//WlxP/2BiVv9fYVb/WVpR/05PSP9DRj//OD43/zU7NP88Pzb/RUQ5/0NBNf9IRTb/Tkk5/1hPP/+FbVb/ZFVD/0Q8Mv81Miv/TEs8/2BWQf92Ykn/dWRN/2JcRP9FSDb/NDgt/y8wK/8vNS3/OTww/zw/Mv9CRDf/SUs//1BSRv9eYFP/ZGZa/2BiWP9XWVD/UlNM/01RSf9GTUb/REpD/0dLQv9KST7/SEY6/0xJOv9QSzv/Vkw7/3ZeRv9YSDb/Pzcs/zQxKv9NSzv/amFJ/3ttU/9kXEf/Y2BL/1BSQf9DRTr/PkA5/z9EO/9GST7/SEo+/0tNQv9SU0j/WFpO/2NkWP9pa1//Y2Va/1VXTv9PUUr/VVhS/2RpYv9qbmf/X2JY/1NTSP9RUUX/UlFE/1dRQf9jVT//fWJE/1JDL/86NSn/MzIq/1NUQv91b1b/gnlf/11cS/9gYFD/VVdK/05QRv9NUUf/UVZK/0tNRP9JS0L/TU9G/1pbUv9zdWv/enpu/3V2av9qbGH/X2FY/1xgWP9ZXFb/am1n/3F0bP9jZlz/WFpP/1tcUf9gYFT/aGJR/3NiSf+HbUz/Wk03/0E9Mf82Ny7/XmJR/3h3YP94dF7/W11O/1dZS/9KTUL/R0tD/1RaUf9tdGn/XGFX/05SSf9MUUf/YGRb/5GUif+NjoL/fX5y/21vZP9kZ13/Z2tk/2BjXf9xc23/c3Zu/19iV/9ZW1D/ZWVZ/3VzZv9+d2b/fG9Y/457X/9oXUj/T0o8/0BANf9fZFT/bnFe/2trWf9hZVn/TFBD/z1COP85QDj/Rk5G/2VuZP9eZlv/UFdM/0xSSP9fZVv/k5iN/5WWiv+HiHz/c3Vq/2RnXf9gZFz/YmRe/3N1b/92eXH/Zmle/1xeU/9zcmX/jot7/5SNfP+Demb/npN9/3RrWP9XUUL/RkM3/1xgUv9pbV7/dHdo/3l+cP9RWEn/PUY6/zQ/Nf88Rj3/V19U/1BVS/9DSD7/RktB/2JnXf+anpP/lJWI/3+Ac/9pa17/WVxR/1VZT/9aXVX/b3Jp/3Z5b/9nal7/VVlL/2psXP9/fm3/hoRy/4SAbv+oo5H/amZW/0lHOv89PDP/WFxP/25yZP99gXP/hYp7/2FqWf9CTkD/NUE2/z9KP/9cY1j/RUk//z9COf9OUUj/dXdu/6+xpv+MjX//cnNl/2BiVf9YW0//VlpQ/1NWTv9dYFb/am5j/29zZv9UWEn/bnFh/3h6af93d2f/d3Vm/4+Nff9cW03/REQ5/z09Nf9rb2L/fIBy/3+Ddf+Gi3v/Zm5d/0tWSP9JVUr/WWNZ/2NpXv9GSkD/Q0Y9/1daUf+FiH//ztHG/5eYiv91dmj/X2FU/1RXS/9WWk//UFRL/25xaP+NkIX/kJSH/2drXP+ChHb/goR1/3JxY/9jYFP/dnRm/2BfUf9RUUb/RUU9/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"35731d04-311f-4c3e-9038-032978b85840\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"dec27f51-b6dc-422b-be00-e2705c5b37bd\",\"type\":\"BoxAnnotation\"}},\"id\":\"9eb238ab-c6d5-4713-8dc1-2541291b70fa\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"c864114f-e339-45f9-8fef-dc6f41089d0b\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"7741a302-993c-43f0-a57a-69c1a19c6405\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"de5b010f-91f6-4358-9085-45a05e0e5daa\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"0e7b5c2b-ee68-4a32-8752-28984bb33260\",\"type\":\"BoxAnnotation\"}},\"id\":\"f4a4cfd6-2a0e-489c-9368-5228331ddd52\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"877df82f-8390-4c4a-b9b5-af5345b8f4a8\",\"type\":\"ResetTool\"},{\"attributes\":{\"overlay\":{\"id\":\"ac570737-66e0-44d3-9f6f-b36c7ed91636\",\"type\":\"BoxAnnotation\"}},\"id\":\"6330d61f-c64c-4347-b5da-6abcb9db9028\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"045d35ee-9a9d-4e5a-86d2-c5c5aa5e3dbe\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"58be3d3f-c541-4540-82d4-6bf572ad1369\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"4f27c239-5317-45d5-836a-c6d820f3eb29\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"c1da8c1d-158c-472c-a7a0-2a3ba65ffc6e\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"58be3d3f-c541-4540-82d4-6bf572ad1369\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"030b69f5-c550-4f94-9087-425b85140770\",\"type\":\"CDSView\"}},\"id\":\"0b181390-0329-47cd-a567-2d4e80458647\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"dca237ea-7cf9-437b-8bee-5fa0a99c0889\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"fb28badf-832f-45fc-8ccd-a83682786800\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"3926fbed-14ca-452f-b926-a6a5a6823182\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"a60cd877-1f93-4793-a98c-4f39f98c9a8c\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"fb28badf-832f-45fc-8ccd-a83682786800\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"3f186983-7fc3-4652-977c-ca9d68689fa8\",\"type\":\"CDSView\"}},\"id\":\"4c73c66a-3cc4-4100-beac-9f8769ed508e\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2edb4ff3-289e-4003-8d02-5c7283b8d11e\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"source\":{\"id\":\"4f27c239-5317-45d5-836a-c6d820f3eb29\",\"type\":\"ColumnDataSource\"}},\"id\":\"030b69f5-c550-4f94-9087-425b85140770\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"369205c6-fb08-4011-a0e2-350af029bdbc\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"9d889181-3b5a-42ff-addf-5e0c22c5a5c9\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2edb4ff3-289e-4003-8d02-5c7283b8d11e\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"0dbdd275-9660-4b46-9f7a-fd812b54fb61\",\"type\":\"CDSView\"}},\"id\":\"7428fadd-e950-4fac-94f2-ec9891e88298\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"3926fbed-14ca-452f-b926-a6a5a6823182\",\"type\":\"ColumnDataSource\"}},\"id\":\"3f186983-7fc3-4652-977c-ca9d68689fa8\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"133466bf-6995-4125-b05c-4bf1d75df311\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6284dfd2-3f31-44b6-8eb5-0537a275a869\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"369205c6-fb08-4011-a0e2-350af029bdbc\",\"type\":\"ColumnDataSource\"}},\"id\":\"0dbdd275-9660-4b46-9f7a-fd812b54fb61\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"537657c0-7bd6-41a8-9f3e-0ed811d591ef\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"d0f0487f-09a1-4554-b6ac-69cccdfe2141\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"e898690f-6030-4538-82b3-446ae40fe46a\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"34b5ac67-2ab1-4b23-ba6b-16537cdfa5d2\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"8891195e-52e3-4c8d-9f14-948b98918faf\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"c1f9d3cf-aea6-4755-931a-a9ac44c4ce55\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"58531941-5709-4b3c-a3b6-0162d52d5a04\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"854c327f-57ec-4b95-8da5-7da09b679d54\",\"type\":\"SaveTool\"},{\"id\":\"cfbbed6c-8a16-45e2-9a73-0c6538e5dcea\",\"type\":\"PanTool\"},{\"id\":\"1fe03424-0f54-48c5-a1e1-22206906fcc4\",\"type\":\"WheelZoomTool\"},{\"id\":\"6432a644-c261-4eb8-88a7-f0b3b3c01765\",\"type\":\"BoxZoomTool\"},{\"id\":\"1ca4b528-7510-48d2-a459-5eba4dea5994\",\"type\":\"ResetTool\"}]},\"id\":\"c324e5a4-a669-4d9a-a3ea-72eadf9eb7e4\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"39dbd211-56de-447f-afd8-1b264bbf3723\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"62a126a2-037b-4ead-b138-970492e7c58b\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"cc90a140-270d-41b3-b469-e1dfc0b6cc8d\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"637dc7ec-0aeb-458f-a465-45bc47fb9a49\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"ada04011-e3d0-49a8-9c0a-ec1eb3f6aa38\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"998e4447-22d6-4406-9886-70f74abec3cd\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"a55e74f7-0a7e-48e8-abd8-4af6907ec899\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"998e4447-22d6-4406-9886-70f74abec3cd\",\"type\":\"LinearAxis\"},{\"id\":\"79b49e7b-2b62-4078-8dc2-9f9bfce4ae3a\",\"type\":\"Grid\"},{\"id\":\"a55e74f7-0a7e-48e8-abd8-4af6907ec899\",\"type\":\"LinearAxis\"},{\"id\":\"c54ec703-c086-4f81-9d36-74f6497023d0\",\"type\":\"Grid\"},{\"id\":\"125c7601-ffce-44ab-a48a-2d112bfbddd9\",\"type\":\"BoxAnnotation\"},{\"id\":\"9597f12f-b397-4a48-87d6-21ef5c02d01f\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"d247992c-64f9-4e8e-876d-7cc26f364368\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"ed4c5528-8c59-423e-b188-829c77a99138\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"39dbd211-56de-447f-afd8-1b264bbf3723\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"8049ab85-91a8-4c0a-aab3-a57266bece35\",\"type\":\"LinearScale\"}},\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"bef5f308-9c7b-4883-88f2-ff4f8c409244\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"4bbba49f-1e31-478b-9fc9-ad1ad58a0105\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"27f38737-87e4-4156-acaf-fd7c08045cdd\",\"type\":\"SaveTool\"},{\"id\":\"45864af7-a9e3-485e-ada6-4c86eb0983af\",\"type\":\"PanTool\"},{\"id\":\"d4259d53-5ed0-4031-9aec-fede67406a3a\",\"type\":\"WheelZoomTool\"},{\"id\":\"77bd1b5a-0ed8-4496-bd5a-aed8d31b8e10\",\"type\":\"BoxZoomTool\"},{\"id\":\"b08fedfe-d786-465a-be4c-15e56f732fce\",\"type\":\"ResetTool\"}]},\"id\":\"04b1d021-af73-4066-81b9-f6cb2bbb4f3f\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"35cc223f-8297-40a8-b2e4-e99cf437312f\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1eb0bdce-cfc0-4ce8-b556-097e86733cc9\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"a55e74f7-0a7e-48e8-abd8-4af6907ec899\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"ada04011-e3d0-49a8-9c0a-ec1eb3f6aa38\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"f60b4423-dff7-4b7c-a029-af7078a4217f\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"ada04011-e3d0-49a8-9c0a-ec1eb3f6aa38\",\"type\":\"LinearAxis\"},{\"id\":\"96225d06-1712-4a21-995d-80aeb568f8a9\",\"type\":\"Grid\"},{\"id\":\"f60b4423-dff7-4b7c-a029-af7078a4217f\",\"type\":\"LinearAxis\"},{\"id\":\"410207a5-12d3-4f87-b767-f32ba6c50f29\",\"type\":\"Grid\"},{\"id\":\"53c19f2d-0d6a-453f-a910-339024449c7f\",\"type\":\"BoxAnnotation\"},{\"id\":\"45cba3f2-90c3-46e7-93a4-01bf581fb258\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8891195e-52e3-4c8d-9f14-948b98918faf\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"c324e5a4-a669-4d9a-a3ea-72eadf9eb7e4\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"4bbba49f-1e31-478b-9fc9-ad1ad58a0105\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"6284dfd2-3f31-44b6-8eb5-0537a275a869\",\"type\":\"LinearScale\"}},\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"4ea6aa49-50f6-4e19-af58-e4121f679727\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a952072f-002e-4622-8be3-7534dfae310a\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"06acb8fa-8c86-4b2f-8998-d8b005889def\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8049ab85-91a8-4c0a-aab3-a57266bece35\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"637dc7ec-0aeb-458f-a465-45bc47fb9a49\",\"type\":\"BasicTicker\"}},\"id\":\"96225d06-1712-4a21-995d-80aeb568f8a9\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a02bb953-0920-43a3-8509-6ad8cf464022\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e898690f-6030-4538-82b3-446ae40fe46a\",\"type\":\"BasicTicker\"}},\"id\":\"79b49e7b-2b62-4078-8dc2-9f9bfce4ae3a\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"06acb8fa-8c86-4b2f-8998-d8b005889def\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"d8ac92a2-d3bb-41b0-ae36-fafac11a71ac\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"06acb8fa-8c86-4b2f-8998-d8b005889def\",\"type\":\"LinearAxis\"},{\"id\":\"7d89f009-ce59-420f-ab52-2437c4491755\",\"type\":\"Grid\"},{\"id\":\"d8ac92a2-d3bb-41b0-ae36-fafac11a71ac\",\"type\":\"LinearAxis\"},{\"id\":\"bfa7c989-d140-4bba-9f1a-bb194e8c5432\",\"type\":\"Grid\"},{\"id\":\"0d00d228-4430-4244-9d9e-ac58bc9c073b\",\"type\":\"BoxAnnotation\"},{\"id\":\"3a6af790-20dc-4c47-9b94-6f320186cf54\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"bef5f308-9c7b-4883-88f2-ff4f8c409244\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"04b1d021-af73-4066-81b9-f6cb2bbb4f3f\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"a02bb953-0920-43a3-8509-6ad8cf464022\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"c1f9d3cf-aea6-4755-931a-a9ac44c4ce55\",\"type\":\"LinearScale\"}},\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"78aafb0f-1270-40ad-8cc5-71c7af87cd79\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e898690f-6030-4538-82b3-446ae40fe46a\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"998e4447-22d6-4406-9886-70f74abec3cd\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"637dc7ec-0aeb-458f-a465-45bc47fb9a49\",\"type\":\"BasicTicker\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a952072f-002e-4622-8be3-7534dfae310a\",\"type\":\"BasicTicker\"}},\"id\":\"7d89f009-ce59-420f-ab52-2437c4491755\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"102b8935-3dfc-40fa-b333-3c3c11932218\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7de0b254-1dd4-41cc-8969-665cba595237\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"f60b4423-dff7-4b7c-a029-af7078a4217f\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1eb0bdce-cfc0-4ce8-b556-097e86733cc9\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1eb0bdce-cfc0-4ce8-b556-097e86733cc9\",\"type\":\"BasicTicker\"}},\"id\":\"c54ec703-c086-4f81-9d36-74f6497023d0\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a952072f-002e-4622-8be3-7534dfae310a\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7de0b254-1dd4-41cc-8969-665cba595237\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7de0b254-1dd4-41cc-8969-665cba595237\",\"type\":\"BasicTicker\"}},\"id\":\"410207a5-12d3-4f87-b767-f32ba6c50f29\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"a01e827c-efb9-40a1-aa24-9afa00c87f7a\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"81405fa7-ae8e-41f6-9354-3f1f96be6960\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"d8ac92a2-d3bb-41b0-ae36-fafac11a71ac\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"180d33aa-c636-4152-b1fb-2c5175bffe22\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"58531941-5709-4b3c-a3b6-0162d52d5a04\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"0f2c8e19-ab4b-42df-ae1a-21aeb9720114\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"aac001c1-c1aa-4b31-977b-3b2a3403e970\",\"type\":\"CDSView\"}},\"id\":\"9597f12f-b397-4a48-87d6-21ef5c02d01f\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"9aaa70ad-6548-4a1e-8f89-4edc965ac374\",\"type\":\"BoxAnnotation\"}},\"id\":\"130285fb-da65-438d-988b-2b896d04b97d\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"81405fa7-ae8e-41f6-9354-3f1f96be6960\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"lZak/5CTnf+RlJv/lJed/5CTm/+VmKH/kpWe/4uOl/+QlJz/lJee/4+Qmv+SkZ3/lJKc/5eVmf+PkZv/jJKg/5abqP+QlZ//jpSc/5OXoP+VmKH/mp2m/5ibpP+Rk53/iImY/4+OoP+TkaD/j42Z/5SSm/+dnqf/lpmi/5GUnf+Vl6L/k5Wi/5OVpf+Vl6j/l5ml/5aZov+Tlp//kZSd/5SXoP+Nkpb/lZeh/5iUpf+QiJH/jIN//4yIj/+WlaP/jo2W/5CRlP+QkZD/iIqP/4yPmP+WmaH/k5af/5CTnP+Wkpn/lpCX/5SQmf+Qjpj/lpWh/5iapP+VmKH/lZih/3Z+Z/9+hHf/goeE/5GUmP+Lj5X/kZWc/5ufpv+hpa3/o6ev/5qgov+ZnKb/mZWo/5uQmv+GeXH/loqO/6Wcp/+WjZH/fHNx/5CKg/+Li47/jZCZ/5GUnf+Ii5T/gYOL/4WAev+Lgnf/gXp2/4B9gv+Ih5X/kJKe/46Sm/+Qk5z/YnA6/2BtPv9fa0H/X2tH/1JhR/9VZVL/bXtt/4GPhv+EkYz/g46I/4uVlv+aoKn/npyi/4V7ev+Ngon/oZ+l/6Camf96am3/jYmN/5aYov+WlaH/k5Ke/5eWov+Xl6P/lZaW/4x8cP+Hb13/e3Vp/29yff9udIb/aXF//2dufP9mdTr/aHY//2h2Qv9fbjv/V2s7/1dtP/9YbUX/UWRE/1FjR/9QX0T/UmBK/1xqWf90eWr/bWdX/3NtY/96gXL/gH9t/3prX/+MjIP/ipCO/46Nkf+Mi47/jIyP/5eXmv+eo6H/jntz/39fTv+Cemv/iI2S/4OJmv94gI//b3eG/2h3Pf9odkD/bXtI/3B/Tf9wg0n/bIJF/2p/Rv9hdkD/X3I//19wQP9XaTr/WWs8/2JrP/9cWjL/ZGM9/2t1TP9lZ0D/aV07/3h9Vf9xfFX/eX5a/3Z8WP9sck7/cnlV/3B6V/98bU//fV9B/3VwTv9td1z/doBu/3yHeP94gnP/ZHM5/2NxO/9mdEH/Z3VE/2d3QP9mdz7/aHpB/25/R/9wgUn/bX5K/2h8Rf9vg0f/c39I/3FwQv9wcED/dYFP/2tuQ/9rXzn/d31K/3ODRP93gUH/dX8//295OP9xfDv/bXw7/3puO/+AZDn/c3E9/2FxNP9dazL/Y287/2NwO/9ldTr/Y3I7/2JwPP9fbTv/XWs7/15rPP9ebDv/YG48/2RyP/9jckP/Y3ZB/2N3Ov9oczz/bGpA/2RkN/9rdUf/ZWZD/2RZOf9tdET/a3tB/295QP9xe0P/b3hB/296Qv9xfkX/fW9F/39iRf9vakL/aXg//2d1N/9mcTX/aXU4/3OBQ/9wfkL/cH5D/3F+RP9xfEb/cXtG/295Q/9ueEL/bHZB/2l0Q/9se0L/Z3g0/2hvNv9qZED/Xl81/2RpPf9PSyz/VVIy/15qP/9cbjv/ZHVB/11uPP9VZjj/W2pA/2luSP9vYT7/cFk2/2tkO/9icEL/Z3hC/256QP9tekD/e4VF/3mCRP95g0T/eoNF/32DR/98gUf/fYJH/36DSf+AhEr/g4VO/4GJSf99iUf/dnxK/11YPP9RUi//YWM//zg2G/9JTDH/Ul48/0hVMf9SXTn/WmVA/2JtR/9ga0X/Xlw//1VGKv9jUi3/ZV40/1ViN/9WaD3/X21D/2BuRP9/hkn/gIdK/3+GSf99g0f/fYFF/4GDSP+ChUn/hIZL/4KESf+FhEf/g4ZG/4CITv9ydU3/OjQg/zUuH/8/Oi//Likm/ygmI/8iJBz/KSgc/zAtHv87OSX/WVg9/01LLv9NQy7/UkEr/2dZN/9saT//Ym1A/2BxQ/9ic0T/YXFD/3J/Sf9zf0r/cn9J/3J+Sf91fkj/dn9I/3aASP97hU3/e4NM/3qARf98hEn/f4VU/354V/9bRzT/UDgt/z0qJ/81KSz/Kh4i/yYZGP84KSD/QzQo/0AyI/9TRTT/UEIw/19NPP9nVjz/eXFH/3+CTf93gkr/cX5D/3F+P/9yf0D/aX1N/2t+T/9ofEz/aHxN/21+Tv9nd0b/aHhH/3GCUP9yg1D/coJL/3OBTv+UmXH/m41w/4JkS/+GYkT/cFQ1/2dSOP9oVTz/bVU7/2ZNNf9bRC7/VD0q/083KP9kTUD/clpK/2dWN/95dkX/fYRG/3iEQv91fEH/eX1G/3t+R/9rgVv/aoBa/2l/Wf9ofVj/anxZ/2Z2U/9oeVL/b4FW/2+BU/9sgU//bn9W/6Wpj/+WiHL/k3hc/6eEX/+MZT3/hF00/45qRP+Wd1b/jWtK/3xZN/9yUTP/cFM5/29UPf9tUkD/XUsy/2VlO/9wfUT/bn09/3B6QP90eUX/dXpG/3N/gf9uen3/bHl7/2t4ev9peHP/aXlw/2t7cP9qe2z/a3xq/2x8Zf9yfWn/pqSW/2teTf9sWUH/dl5G/3FRNf+DXDn/jmM//5VuTf+UbEn/j2dC/41nRP+EYED/d1U3/2lKNf9cSjP/WVk3/296T/9wfk3/cH1L/257SP9ue0n/g4eb/4CEmP95fZH/d3yP/3J8i/9wfIn/dYGO/297iP9pdYH/bHN8/3p5ev+gl4//Vkk8/yofEf8oHRP/Tzst/35eRP+MYkH/lGpI/5VtS/+QaUf/hF07/3xWM/99VzT/cFA3/19NOP9aWD//a3Ra/254X/9relv/aXtV/2h6Vf+UlJz/lJSd/5OTnP+Tk5z/j5Cb/4eJlf+MjZz/kJCj/4aGm/+AgZT/joeL/5CBdP9HPC7/EhEP/yIfH/9fT0b/eFpH/39aQP+CXUL/gmJH/3tdQf9yUjT/gV4//4tnRv95WT7/WEUw/1hVRP9tcmr/bnR0/295c/9tem7/b3xw/5SVnf+RkZr/lJWd/5ubo/+gm5//n5ib/5qSmv+dlaD/oJim/5eRnP+JfXr/qJaG/11SSP8mJy//KCQo/1JCO/91XFD/f2JS/3heTv9zX0//alhH/2lTP/92XET/gWRJ/3VaQ/9rWkn/hIF4/3p9gf9tcYD/c3qG/3d/h/90e4T/eIed/3GAlv9ygZf/fouh/42PoP+VkqP/j42f/5GNnv+elqT/opWR/2VWS/9bTUf/NSss/2plbv91cXj/b2lv/4l/iP+Rhov/k4qH/4B+f/94eHv/gHp4/35ya/+BcWf/fnNs/3l1cf+IiIj/g4eN/3V8hP9weoH/dH6E/3N6gf9xib7/cYi8/3GIvP9xiLz/cou4/3SLs/94iav/eIKf/3l/l/9/e37/ZF5X/0lGQf8eHhj/eXt2/5GYpf94gJv/d3+f/3qCof+Ci6P/dICZ/2x4kv96gpj/hYea/4+Onf9+hI//cXyE/3yFjP+AiI3/hYyQ/3+Chf+Dg4T/jImL/3GRy/9wkMn/cJDJ/2+PyP9vkcP/dpC4/4GMqv90d4//Vllx/2VqhP94fpj/XmV6/zlBT/9YYW3/bHyU/3CDq/9zh7j/cIa7/26HuP9thrX/bIOx/22Brv9wgqz/dISs/2p+qP9nfKT/b3+l/3WBo/92f57/b3qT/2t3jv97hJz/b5PC/26RwP9vksH/b5LA/3WRu/93hKL/gX+S/3t2h/9tcIn/f5C6/3iNvv9qfar/c4Os/29+o/9SYXv/UWKB/2J2pf91jsb/cY3E/2+Mwf9vjcH/cI3B/3CNwf9wjcH/cIvD/2+Iw/9uhsD/b4a//26EvP9ohbj/YIGy/2OBs/9zksj/cpDG/3KRxf90kcX/dI65/1Jggf90d5H/bXKM/2d1lf93k7r/c5K7/2qFrf96kbj/dIet/0xZbv9ib4T/UGCD/2+Brf93j8L/cY3B/3GOv/9wjsH/cI/C/3CPw/9yj77/co26/2+MvP9tjb//aozA/2mJvf9riL3/bYe9/3SVy/91lMb/dZLD/3uVxP9oe5//R1d7/3qHsf90faD/YWeB/3GFr/92ksP/boey/3yTuf9YbI7/QVNx/3ePsf9idpX/YW2L/3aOwP9wjsX/c43A/3ONwP9yjcD/co3A/3OOv/9yjL3/cYu8/3CMvf9uir3/b4i7/2+Guv9whrr/cpPH/3OTw/90kcD/eZO//1NjhP9XZo3/fpTF/3iOvf9xhKn/d5C+/3eTxv94kcD/e5O9/2Z8ov9whK7/eZXD/2h/oP9PWnD/b4ev/3KQxP9zjcD/c43A/3ONwP9zjcD/c43A/3KMv/9xir7/cYu+/3CJvP9wiLz/cYi8/3GIvP9xksf/cZHC/3OQv/9xi7f/R1d3/2J0nP91ksn/b5HK/3KVxv9zk8P/dJLD/3aSwf93kb//eJC9/3qQw/92k8f/dIut/0hRZf9mepv/d5PE/3WOwv90j8H/c43A/3ONwP9zjcD/coy//3KMv/9xjL7/cYu+/3KLvv9zir7/com9/3GTx/9xkMH/dpPC/2eArf84Smz/aH2m/3STyv9ukMn/b5HB/2+Sv/9wksD/cZDA/3OOwP90jsD/dY7B/3KUxP9uhqf/PURZ/2Bxlf96lcf/dY/C/3WPwv9zjcD/c43A/3SOwf91j8L/dI7B/3KMv/9yjL//dIzA/3SLv/9yib3/cpLG/3GQwf94lMT/WHKg/0daf/96j7n/dZDF/3KQxf9zkb//cZK//3GSwf9ykcP/dJDE/3WPxP9zksH/cJPB/3aNsP9OVW7/XmyW/3uTyP90jsH/dI7B/3ONwP9zjcD/c43A/3ONwP9zjcD/coy//3KMv/9zjL//dIu//3KJvf91kMT/co2//3eRxP9cdaf/RFiB/3aLs/94ksD/cZHE/3CSx/9zkMT/dZDC/3WQwv92kMP/d5LE/3OUw/9zj8T/doiz/0xZc/9ZaI7/fpPH/3SOwf90jsH/c43A/3ONwP90jsH/c43A/3KMv/9wir3/cIq9/3GKvf9yib3/com9/3eRxf90jsH/dpDD/2+Ju/9Wa5f/bIGs/3mTwf90k8X/cpTI/3WSxf93kcT/dpDD/3WPwv93ksT/d5TA/3WKu/9bZ5D/LztR/1lmif98ksT/coy//3ONwP9zjcD/c43A/3SOwf90jsH/coy//3CKvf9wir3/cYm9/3KJvf9yib3/eZPH/3eRxP94ksX/eZLF/3mRv/97lMD/eZXD/3eUxP92lcb/eJTH/3qUx/95k8b/eZLG/3iTxP95k73/f5LA/2l0nf9DUGj/b3+k/3iPwv9zjcD/dI7B/3SOwf90jsH/dI7B/3ONwP9yjL//cIq9/3CKvf9xib3/cYi8/3CHu/97lsv/epTI/3qUyP96lMj/e5bH/3uXx/97l8f/e5fH/3uXxv98lsn/fJbK/3yWyv98lsr/fJfJ/3qWwv9+lcf/b4Gv/2h+nv93ksD/dpHI/3eRxf93kcX/d5HF/3eRxf91kMT/dY/D/3SPwv90jsL/dI7C/3SMwf90i8D/com+/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"36b44de5-aa6f-476d-aaa3-84d823836360\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"c891007f-2447-47dc-8a1e-7c4ccbb6ff0f\",\"type\":\"SaveTool\"},{\"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\":\"125c7601-ffce-44ab-a48a-2d112bfbddd9\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ba66ede0-9096-43b8-8ce1-13a166e1fa45\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"81405fa7-ae8e-41f6-9354-3f1f96be6960\",\"type\":\"BasicTicker\"}},\"id\":\"bfa7c989-d140-4bba-9f1a-bb194e8c5432\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"f1ddd28c-bebf-4bc2-8f71-1271ee89b4a4\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"02595bef-a090-4c1a-b15e-3599037ef89c\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"4ea6aa49-50f6-4e19-af58-e4121f679727\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"854c327f-57ec-4b95-8da5-7da09b679d54\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"Z1ph/3Vrcf9jWl7/c2dq/21kZv9YU1b/ZWBe/3BjZf94bm//dG9w/3Rtb/9nXF7/ZFda/25gZP94am3/iH1//3Fmaf9+cHH/d2hx/4d9ff+fjY3/mIuL/4Z3ev+JeHr/f21t/4J0dP+Vh4j/jYmH/5GHhf+Lg4b/lomL/6CQj/9rZGb/cm1w/4Byc/+LeXn/eG1o/3FoZv9rYGL/dGhq/3pucf9xbG//aWRm/3twcf9zZWb/a19f/3Vpaf9tYGL/bV9l/3ZnaP9zZmj/fnRz/3RpaP9/fnj/cGhm/3VlZf9yXl3/eGpw/5KBg/+Lf37/in19/4Z2dP+RhoL/ioKA/3RoaP9tYWL/g3R1/457ff97cXT/fXBx/3Voa/90am//Ylpf/1pQVP9qYmT/i4F//3Rtaf9ra2H/gHx5/3RrbP9tZWf/fHJy/390eP+Hf3r/aGpg/4SNgf9/kW7/hpBx/4uFeP+Fe33/j4OC/5GAgv9oXGD/i4d3/42aev+PmYH/iXt5/3xoZf99amv/f210/3dvcv+CeXn/i4B+/3Jrav9zbmn/bVxf/2VVWv99c3L/f3V0/3Nxa/99e3X/bWlo/4d7gf95cXP/hnx//3dwbP+Dgnv/e3ly/46YgP+JlH//jJR8/5abhv+RjIH/f3N1/36Bcf+Nl3z/kKKA/5udj/+Fd3n/eWlt/3doa/9xaWr/bWNj/4J6ff+Kg4H/hX56/4WDdf+LfHv/e3Fx/3lvc/+DeH//cnJq/4mCfv+Ef3b/cWdp/3x0df97cXL/dGpn/2loZv9wa2//dmxu/4Z7f/+Sior/gn95/4yEhP+EgID/kJiG/4yhff+Eknr/hod//2VYW/9oYWP/Z2Nn/3dsaf+Cb23/gX12/4+Qjv+KioP/d3ly/2hiXv9yZWn/ZF1f/3x8eP+Tmor/e3Zu/4yBgP94c3L/fHNz/3FmZ/9pW1z/Yl9V/2tjZ/+Benz/aF9j/39xdP9tXWP/hnN0/4+DhP+ShIj/lY6L/5iel/+Pjon/f3V2/4uBhP+KeXn/hnh9/3l1av+QmH//ko+H/5CWiv+Ql37/hIV7/4qJfv+Cdnn/fHRu/5KZhP+HiIj/e3B2/42Dif+Jf37/eW9u/3luav+BgnP/lJOG/6adoP+Tjon/jIqB/5ONiP+Ul4b/lJyT/5yfkv+GinH/kZeP/4iQgv+Ri4b/op6f/52Ul/+PhoX/k4iN/5mViv+NjX3/lpyH/5+bjP+clor/k5KN/5OUhv+JjXX/nJ2R/5mRlP+flZz/lIyQ/5CPgv+Lgnv/lYyL/4uPgf9xcG7/bWVr/2NhZ/9vdW3/cXRs/4mNf/+fm5P/qaai/4+gff+Wp4T/nrmG/5uUiv+pqKX/o5+f/52SlP+ShJH/komQ/5OUjP+Kgn//mI2T/5ODjP9/dXT/o6KZ/6O6jP+ck53/lIqN/56Xmv+HhoD/k5x9/4GDa/+HlHP/V2FV/0NLTP9KVFP/U19O/3iQZP+Jo3P/j6SB/6Gujf+ToIj/n7KM/6jKh/+32Z3/eXpp/2dhW/93c23/joqC/35/av+TlYj/n7CU/6jBhf+jqor/jZR1/6CoiP+yrJr/wsKq/6Cih/+Mk37/doVm/4uWg/+hsoH/l7tw/4uuYv9mgUn/Z4Ni/2l/dP9qiW3/kbZ0/7Lakv+s2Iz/qsic/6a+nv+PtXr/vOG1/8Lgvf9vj1n/T2s6/2F5Uf95k1n/j6d3/4+kb/+xy5P/tdCY/77Im/+qspH/t8uf/7rCs/+4saj/rb6S/6W+j/+lxJD/vtqm/73Tn/+uypr/pcmJ/53Mg/+JpHz/hqGB/5rBif+kwI3/ssuj/7rcq/+43rD/vuqp/7HclP+026j/0+vD/5C/Z/+VxXv/mcZ9/7Lcjv+qyZD/t9eV/7vQov/D1qj/us+j/7W9p//BybL/ysO9/8LEtv/E28D/wt+q/8nosP+72qf/rMST/67Fl//J4rH/vuSa/6LSgf+r143/tuSb/7zcoP+826n/vOCq/8Pjsv/N4cL/zuSw/9Luwv/b89P/w9er/8fpq//B5aH/xt6x/83Wtv/M567/vdud/7DBmf+1xKr/utOw/8bQuv++x6r/0NLC/8XWq//H77b/z+PG/8Lds/+206P/vN2i/9Dpvv/F27H/ueOd/8Hoof/K3bv/tsOp/87fvP/J1Lf/ys/F/72wsf+3sZ3/t8ap/7XIsP+/s67/mJeQ/5+alP+yraT/rqKj/8zlxv/G2rr/qMia/8LWuP/C4Lv/2OvZ/9Dbxv/U3M7/w9yv/629of/EvrX/x+W0/9nt0P/H1b3/3d/U/9Lix//B2MT/lpKY/6Gemf+goYn/npCP/46CiP+Hg4H/nZSN/5uPkP+0ubP/lZKU/5WChP+Ed3v/jn+E/5+Ljv+kkZX/p6qj/6awnf+4zbP/uLyx/7vMt//K0cn/sauq/7Cqq/+QhHr/oIh4/8GdiP+tqJz/t6un/9S1oP/mysP/xKud/6eYkv92cXf/iomJ/6+1nP+gl5L/k4yE/5iekv+jmZj/lIyK/4WAfP+Tion/iHp9/4+BgP+dkI3/h3d3/4x8fv+IfHj/g4Z4/5SNh/+Nf4P/lI2K/5CKi/+xoqf/l4aF/4BnXv+miHP/q4Bg/5FvZP+whXf/3a+Y/+G4rP/AlY//p5GW/4+Ch/+snaP/q7un/5iTkP+Vm5H/jYJ8/35ucf+gkpP/jYOA/6CQj/+BeXr/al9e/3RoZf9hXFn/dW9s/39ycP9vbGP/gm1s/4V6ff+Sf4X/iX2B/6OWlP+Oe2f/dllL/5l2Zv+uhWv/r4dr/72Mcf/Zpob/06GE/6h+bv9tYWT/f3l2/5eGjP+ZmY//r7qr/7nEt/+ompT/mYF+/56Rj/+Gdnr/gnF2/391dP9yZ2n/WE9N/1ZNTP9lXF3/c2hq/3tucf9xZGT/VlBS/1tTWf9oXl7/fHZ1/5Z+b/98ZV//knNb/7uHZf/Ek3f/w5h+/9Whgf/Rnn3/eWNc/09KT/9dW1T/f3Nx/5eIh/+qrKX/mY2M/4d5eP+CeXr/kYSC/3tvbf+HfHf/bGRj/2ZaXP9NRUL/ZlVa/19YVf9vZGT/bmFi/3FpaP9oXl//TkhH/1dNTf9TSEf/speT/62bnv+Halb/uoVc/9KYZ//Qm33/4KaF/7CMfP+LfXn/X1hR/4B/cv+Fe3T/fnVz/3dpbf+TgoL/fnZv/19gXf+GdHj/fXJv/3FnZf9xaGb/Z2Fe/3F0Yf96cmz/bl5h/3BiY/9dVVT/aWJi/2thYP9cV0//V1JP/25jX//BpZz/spmX/414bv+riW//uYlm/6Z+Zv+RdnL/bl5d/4R9ev+CgnL/goR3/3hwcP92dHH/fnd0/4B1d/+PkIX/i4yA/4R8eP+Jgnn/fnlx/3BoYf9qbF7/eYRs/3l5cP9wYGP/Y1tc/15bW/9mXV7/ZGBZ/2NkV/9gWFb/fG1z/7KRkf+qior/lImH/3t0cP9uaV//X1hU/1lSUv9YV1H/hoZ8/3t7df+Agm3/gHZx/311c/+Cd3P/f3V1/4GGe/93dWz/d3Zw/4aAdv96dW7/cnBj/3N5Yf9UWVD/Xlxd/2VhX/9fYFr/YV1a/25kY/9mZl7/bHJj/2JaVv+Cc2z/1a2M/86kjP+tk5T/eXZ1/3RvZ/9ybGf/fnRv/3Ftav9/g3j/gYx7/3+Odv+Chnz/jImD/4eFff+OiYT/jYqF/312eP96dnT/iYN7/394df9jaFf/eX5l/1xXUv9taGL/Z2Ri/2ZhWv9jYVn/dGhm/3h8c/91gG//bW1j/4+Fhv+1lH7/tJiL/5uJh/9paVz/d3Vo/3l1bP9pZ1//a2tk/3p6bf9/gHX/g410/3uCb/9/dXD/f311/3t2cP+CdnH/enJu/3Zya/90dmb/enRp/3d0av96f2r/aGRf/21jZP9vZmn/amdg/29sYf90aWD/eX1x/35/dv91cm7/f3R7/35vcP+Hf37/d3Rr/3lyaf+AfHf/gYR1/2hsYf90fGX/bmdj/3dzcP99fG//cGlm/4d6dv96cmr/f3dx/3Vwaf93cWz/gn50/32Abv97dW3/amhc/4OLb/9dXFH/XVdV/29rZP91cGH/fHpl/3JsYf9wbGf/dXNr/3t5b/99cnD/fHBu/4WIhf92dW3/fYFz/4CJfv99hHb/cnBm/3J3af90cmz/d3t0/3F0a/9ub2r/gIF0/4qNff+GjYH/eHhw/4J6d/99enP/foBz/395c/9hY1b/dn1p/2FhWP9jYV//ZWdi/3Zwa/91dWn/eHJp/3Z2bP92cmf/cHtm/2xuZP98enL/fHx2/21yZf9obl3/c2lk/3BsYv9zd2r/aG1l/2FhWf9oa1n/Y2VT/1xZUP9ybWT/fHdu/29yZ/9pZV3/fXhx/3p6av9wdV7/c25i/2xuXf+CiHD/Xl9W/2JgX/9fYlr/ZWRd/3J0Zv9na1z/cWhf/2poXP9sbF7/XFdR/25rYv9pYVj/XWhT/2hqWv9qbmT/XGFS/2BqW/9jaGH/YmBb/2JkWv9maF7/cHBo/4aJgP9xdG3/d25o/3JrZP92c2v/fHp2/3t7c/90bWn/XF5O/3h8av9hZFb/Z2Ve/2NiWP9ta2b/eHRq/25zZv9wa2f/bGtn/3Rwaf9rZ2T/YV9Z/1hWTv9kbV3/YWdX/2txZP9qd2T/XVtR/2JjWP9ZXVT/c4Br/3B+Z/+Oj3z/hoB2/2hkXP95cWn/XFtR/29sY/9kXlz/YmBa/2FbV/9iaFj/c3Zp/2BpXf9jZFz/YF9X/2ZkX/90c2r/Y2dX/2pmX/9wamr/ZV9a/2doW/9kYlb/WGFN/11hUP9calT/Zmtb/1lmU/9QUEX/UFVH/1BZUf9mbGH/doNt/5KbhP97dWv/aWxg/31/dP9qaF7/e3hu/2ZgWv9hZFv/bWll/15kTv94fmf/T1lF/1laTf9lYVj/YFdU/3Zsaf9oalz/aGJc/3Nwav9nZF//b3Ji/21tWv9hcFr/anJg/2BuZP9zfm7/XWtO/1lfUP9dY1f/UVRS/11gVv9vd2X/gH96/25vZv9pZmH/eHVy/3Z0av97c23/bWpp/2ZtYP95c2r/YmxS/3J4Y/9gZ1b/YGBY/2dpX/9qbmH/dndt/2ttYv9tamL/Z2Zb/2RhVv9iYlf/a2VX/2JrWf9dZFT/W1tP/4KWd/+PuIf/Y3Ng/05SSP9QVEz/ZGxY/3Z3af9xa2j/Zmdc/2ZjW/9rZ2b/ZmZd/31ya/9xaGX/dH1v/3h7a/9mc1v/eoFq/1lgR/9dZE//YWJV/3RzZf92dWb/YmRa/1hYTP9XV0z/YVtN/11ZUv90bGP/aWpb/15fUf9WXU7/cI1y/5/Jpv9bbFn/XWBW/2pyY/9yfWX/dndr/3l4bP9+fnH/foF0/3d4cP94em//joh+/3dsZP9yeGz/hI1//w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"0424c2dd-b2be-46f0-b05c-cd2f167ae287\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"0f2c8e19-ab4b-42df-ae1a-21aeb9720114\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"abbecaa2-6ca3-416e-a6cf-098027ab6fe8\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1ca4b528-7510-48d2-a459-5eba4dea5994\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"ec432509-9042-4541-9e59-2d5076be5e29\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"27f38737-87e4-4156-acaf-fd7c08045cdd\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"a13addf1-21b5-46c0-91cd-105c818d9290\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"cfbbed6c-8a16-45e2-9a73-0c6538e5dcea\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"d4259d53-5ed0-4031-9aec-fede67406a3a\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1fe03424-0f54-48c5-a1e1-22206906fcc4\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"125c7601-ffce-44ab-a48a-2d112bfbddd9\",\"type\":\"BoxAnnotation\"}},\"id\":\"89d7a203-3ab9-490e-be78-baab5042cd78\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"53c19f2d-0d6a-453f-a910-339024449c7f\",\"type\":\"BoxAnnotation\"}},\"id\":\"6432a644-c261-4eb8-88a7-f0b3b3c01765\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"45864af7-a9e3-485e-ada6-4c86eb0983af\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"4dbf544a-099f-4731-b576-64c2087d27a3\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"cb31e2b5-c1f3-4380-bedd-bcf7dbf17f84\",\"type\":\"ColumnDataSource\"}},\"id\":\"da3de9b3-fb39-4831-b813-b2e70b45bf7a\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2a743b1d-764f-4fca-977e-493a0c2b5bd7\",\"type\":\"BasicTickFormatter\"},{\"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\":\"a2dd8f11-c5d3-480e-b970-fa51db43764e\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"13d5a3b7-6a8a-45c9-963f-e24f70a9874f\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"a2dd8f11-c5d3-480e-b970-fa51db43764e\",\"type\":\"BoxAnnotation\"}},\"id\":\"bbe69ceb-b6f6-4c72-97ef-bfc1556952fe\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"544a2398-b8fd-4246-b5fc-66d4441eaa09\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"GRI1/xsVNP8ZFDb/FQ80/xMNM/8RCzH/EQsx/xQNM/8VDzX/Ewwy/xMJMP8TCjD/Ewwy/xQONP8SCzH/FA40/xYMNP8ZDjX/Fwwz/xYKMv8cEDj/GAw0/xUKMf8ZDjX/GQ42/xYLM/8WCzP/Fgsz/xYLMv8VCjL/FAkw/xwUN/8bDzb/GxQ2/xoUNv8XDjT/FQsz/xQKMv8UCjL/FQsz/xYNNP8WCzP/Fwkx/xYJMf8VCzL/FQwz/xMKMf8VCzP/Fww0/xgNNf8ZDDT/GAoz/xsNNv8ZCzT/Fwky/xsNNv8aDDT/GAoz/xgKM/8YCjP/GAoz/xUKMv8VCTH/GQ00/xwNN/8bEzf/GhQ2/xgONP8WCzP/FQoy/xUKMv8VCjL/FQoy/xYKMv8YCTL/GAoy/xYKMv8UCDD/FAgw/xUKMv8WCzP/GA01/xkMNP8ZCjP/Ggs0/xkKM/8YCTL/Gws0/xkKM/8ZCjP/GQoz/xkKM/8YCjP/Fgsz/xYKM/8ZDDX/HA43/xsTN/8aFDb/Fw40/xYLM/8VCjL/FQoy/xQJMf8UCTH/FQgx/xgJMv8XCTL/FAkx/xQJMf8UCTD/FQsz/xYLM/8YDTX/GQw0/xkKM/8aCzT/GQoz/xgJMv8XCTH/GAoy/xkKM/8ZCjP/GQoz/xgKM/8XDDT/Fww0/xkMNP8dDzb/HxM3/yMUNf8ZDzP/FQ4z/xkLMf8VCS//FAkv/xYJMf8VBzD/Fgcw/xUHMP8TBi7/FAYu/xQJLv8VCzL/Fwsx/xgMMv8ZCzL/Ggoy/xkNNf8YCzD/GAkv/xgJL/8YCjD/GAsv/xkKMf8XCjP/FQwy/xoMNf8aDjP/HQ0z/0MYNP8+FzT/TB02/zYYMv8tEjD/MhI0/xYJLf8VCi//GAky/xQFLv8UBS7/Fwgw/xQFLv8VBi3/Fgkt/yQNMP8rEDD/JA0t/ysPLv83FDX/JRAz/yAQMv8YDDX/Fgoy/xoLMf8dDC7/GQ0s/yQPLv8lDjL/MBAy/zIVMP8uFC//okFO/4k1Rf+eQUv/gzdD/2omOv9VHjn/FQkt/xQJLv8YCTL/Fgcw/xYHMP8YCTL/FAUu/xQGLv8YByz/RxUx/2olOf9iIDT/eyo7/5Q4SP9zKjv/WiA1/zkUMf8nDSz/Jw0u/1YdNP9RHTH/aik5/3UoPP+AMD3/ijI+/3orO//SWVn/v1JW/9BgXP+eP0b/iTVE/1MgOP8TBy7/Fgkv/xcIMf8YCTL/Fwgx/xcJMv8WBi//EwUv/x0LL/9zKTz/mzc//7RITP/YYFv/4mZh/9tkX/+zSkr/nUBE/38yPv9iIDT/rUVJ/6BBTP+lQEf/0F1W/9ltZP/rdGb/2WRd/+RzYP/acmH/539o/79gVP+UQ0T/NxY0/xUIMv8ZCTL/GAky/xcIMf8XCDH/GQoz/xgJMv8WBzD/FAgw/3kyQv/QYlb/321d//aFav/6jHD/+4tv/+FxX//aa1v/xmRW/65PS//ac2L/rFhX/7hTUP/tfWb/85R7//+beP/xi27/8Itr/+eHav/6nXn/+pJw/7FgU/8iDzH/Fwgy/xgJMv8YCTL/Fwgx/xcIMf8YCjP/GQoz/xgJMP8QBy//RR43/954YP/8mnb//J15//2ddv//nXf/5n9k/9lrWf/dc13/ymNT/+GGaP+wYVn/tE5K/+t+Zv/6nHn//qJ7/+2Rcf/5mXb/85R3//yng///oHr/tWZV/x0PMv8YCDL/GQcv/xcJMP8XCTD/FQkw/xgKMv8aCzT/Fwoy/xcILf8hDzL/tmxf//+vf//7qoP//aSA//aOb//LZ1T/uVFM/8JZUf+7WVP/3YJm/8JoW/+pQkX/yl5R//aXdP//pX3/7ZRz//6pff/8qoP/+66I//+phv/PfWj/NRs0/xMIMf8WBy//Ewkv/xYKMf8XCzL/Ggwz/xsLNP8YCTL/GAkx/xYHL/+MUVX/+aGC//aihf/tlX//yWRX/6NIRv+MO0L/oUhJ/6lPTP/EbVn/r1lU/5xCSP+dPj3/34Bn//6iev/qk2//9Zx///Wcgv/4n4b/85Z//+WEcv+PUFj/LBY4/xAHLv8VBy7/GQgu/x0PMf8bDjH/Fwky/xkKM/8YCTL/EwUv/2M0Sf/Td3X/2nx1/8lxbv+sVlj/hjtH/5JCS/+xV1X/uV5T/7xgVf+fSEv/nkZO/5o+P//GYVX/9Y12/+6Tev/jiH7/5Il//+iLgP/SeXX/vmlw/79sdf+HT2X/US1L/1kzT/9pPFr/dkJe/18yUP8jDjb/FAcv/xcIL/8TBjD/VytK/7xlcf/Fa3T/vWht/5xMVf9rKj3/jDpK/5hFUv+XRlH/n0ZQ/3w2Rv9rK0D/fTJC/59ASv/WbG7/1HBv//iuk//1q5L/9KmQ/+Wdif/ZjoD/3ZmH/+eolP/kp5X/5KeY/+Oekv/ejof/04Z+/6dta/9mQFD/HQws/xIIL/9wRFP/0YmG/9eNhP/aiYD/m05X/20vP/+KQkr/pVZZ/51PVv+jUVP/ejtC/3Y0PP+gTFL/tVdU/96Bd//La2f//9Kk///Spf//06X//s2h//3Dmf/8z6H//Nam///Zqv//1Kn//8eh//y9mP/7vJn//sCe/9ijkP85JUH/FAku/598b//+06n/+L6X//Sgg/+/Z17/n1FN/6NUTf/DaVz/rVxY/8Z3aP+0X1L/t19V/8pqXP/oi3L/+rKL/+6kgf//1qj//dyt//zfrv/+26z//dGm//zZq//93a3/+9ys//zer//+263//tao//zSqP/+16//qYh7/ywbOf8RBS3/dVtc/+zKoP/8vJP/85x+/9Z/av+tV1L/lUdH/7RbUf+hU1H/vG5g/7hdUv/Gal3/znBb//Gaef/+u47/9KiC//W/oP/1yaT/986o//rJpP/7xaL//cqm//3Kpv/90Kj//dmq//3aq//91Kn//9es//DNo/9yU1j/OyQ7/zUiPf89KDv/vpN9//+vjv/6nYD/0Htp/6RTTv+MQUf/qFRU/5lOUv+WTEv/mkZG/7RaVP/Xc2X/5o96//Svkv/Sh3X/o3CC/6p6iv+uf4//rXqK/6t3iP+seov/qniI/6+Bj/+wh5D/s4eT/7eEk/+2iI//g2Jt/1ExUv9uSmf/gFl3/0otT/+HXGj/snJ8/6pndv9yOk//WShE/1UnR/9sN1X/UylI/0ciQv9YKk7/ZjNZ/4hOcf+VWn7/lVt//2s9Xf95UX//eVeH/3dXh/9wUIP/akqA/2dKfv9jSHz/aEx//2xOgv9tT4f/a0yD/1M2X/9FK17/XUJ5/2ZHff9rQ3f/Xj5z/0QuV/9SNF//VzRj/zsfTP8pEkL/NR9O/zwjVP8uG0j/MR5M/z4kWP9QNGr/ZUmC/21QjP9eQXz/SCxg/4BUgf9/Won/fluH/4Fbhf+AWIT/eFJ9/3VRe/97VIH/c06C/2pOh/9dSHv/OChR/1I9dP9iSoT/YEiE/15DfP9kSIL/Tjhn/zwlTv9PLlv/RyNN/zcbRP9DJlb/RChc/zoiU/84IVL/PiRY/1E1a/9vTYf/clCO/1k+ef9KMGb/q26E/6xzjv+wd4//wYeS/82SmP/AhYz/u4GH/8CHkv+oc4r/nm+J/31Yev86J0//e1eH/4Vfj/+LYoz/j2aK/5Zmif+RY37/WjZO/4JAVv+cUV//iUJQ/4hBUv+OSln/iUNX/305Uf+HSGD/m1x2/69vi/+ma47/jFR3/3tKbP/tpZn/7qif//Krnf/5sqD//bak//uyoP/6r57/+ral//G0o//zs6L/w4iJ/3tPWv/ZoJv/5Kuk/+auof/uuKT/8r2j/+e/o/+IXVv/1Hxu//ecf//kgGr/5YJt/+qHcP/nh3L/5YBv/+uMev/3uJ3/+MKl//W+p//tsZz/5J+M//+/p//+u6b//bah//6voP/9qJ3/+qOa//qhmv/5pJ3/96ie//mnm//Rg3z/qmRk//ipmv/9taP/+7aj//26pf/+wKT/98qo/6t9eP/emIf//aiM//CQe//zm4b/7ZiC/+uZgf/um4T/9KiO//7ftf/857r//ue8//7mu//71a3//7mp//6zp//9rKP//qSh//ycnP/2l5j/8ZSW/++Slv/ukZf/6o2S/8V1eP+0ZGz/9JKT//ucmv/9m5f//ZqW//ubk//zo5X/xoF//+eViv/vjn3/64t6//mqlv/1qJX/7JKC//OZif/4q5T//NCt//vZsv/83bT//OG4//nat///tKn//K2m//6opf/8oqL/952f//KZnP/ulpn/7pSa/++Tm//rj5f/0X6E/9V/hP/zkZT/+5OW//6Qj//8joz/+42H/+6Ni//QfoH/6omF/952b//YdnD/95+V//KUiv/riX7/+JiJ//qtl//7y63//de1//3ctf/917H/+Map//6zq//3rKf/+Kmm//empv/yoaX/75uj/++Zof/wmaH/8Zqf/++Wmf/skJP/9JaX//yXmv/+lZn//pSV//6Tk//9k4v/9JWM/+mSkP/3mZf/9pGP/++Mif/7nJf/74WB/+Z+d//xiH//+KKU//u1pv/8vqz/+sWo//e7n//3vKH/+bOv//Svrf/xrKz/8Kip/+2jqf/uoKj/76Cm//Cgp//yo6b/86Kf//ihnv/7o6D//6Wj//6jof/+oJ7//pqa//2Ukf/7lY//+ZiV//ycmv/9npr/+6Kb//yjmv/1j4j/7oWB/+yDgf/zko//+6Gg//mfov/6op7/8ZaT/+eVk//Wmqf/0pen/9GWpv/Ulab/2Jmm/+GdqP/poaz/76av//Onq//3qqj/+qqn//usqf/9r6v//K2q//upqf/7o6X/+puf//uXnf/7lJv/+5GZ//yTmf/7mZz/95iY//ePj//1ioz/8ISH//eTlP/8m5//95Se//yZoP/wkpn/04CR/6dzlv+ncpX/qnOY/611mv+0fJz/wIWg/8WHo//Ih6L/yYWd/8uHmv/OiZr/z4mb/9GJnf/Oh5v/yYSb/8qBm//Ifpn/zH6a/817mP/Ne5f/0nyY/899lv/PfJP/13yU/95/lP/Zeoj/3oWR/96Mm//eiZr/54ya/+eRnP/YgI7/mWiV/5llkf+bZJL/nGWU/5xllv+dZpX/nWaT/55lkv+eZJH/n2SQ/6JmkP+iZpH/omWS/6Bjkv+eYZT/nmGU/51glP+eYJT/nWGU/51hlP+eYpX/mWKU/5lhkv+fYpP/nmOU/5lfj/+bYZH/nWSU/6Bmlf+raJT/oF+F/45Qdv+HX5f/hFuT/4ZblP+HXJf/hluZ/4hbl/+LXJb/jVyW/5Bdlf+RXZT/lV6U/5VelP+ZX5X/ml+W/5ldlf+YXZX/mV2W/5lelv+XXpb/l1+W/5Zel/+QX5b/j12W/5Bblv+QWpT/kluT/5Jakv+TWI7/k1mP/5hZjv+ITHv/d0Nx/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"fcefd492-5dfd-4052-b0a0-cc3bf73d08f7\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"6a84b7ef-8ecf-4631-9938-172fcef745be\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"a15a0966-4c19-4268-bdcf-d2c47de72cf1\",\"type\":\"BoxAnnotation\"}},\"id\":\"1442b6c4-52fc-47da-9398-46845eb5baed\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"69c11d40-d593-4626-bec9-53895274458c\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"9efbea0e-9d85-46b8-933e-aa43532aa8ca\",\"type\":\"ResetTool\"},{\"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\":\"a15a0966-4c19-4268-bdcf-d2c47de72cf1\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"388b9dac-356c-4abf-9f06-36f7bee7471a\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"120cf9da-97e9-4c0d-a431-99d0670c56e1\",\"type\":\"ColumnDataSource\"}},\"id\":\"c9cfbb55-184e-46b6-98c1-1110ae555353\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"e3156364-d02c-47ff-b403-d8ee29475c23\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"9b5df2e2-5c54-4c6d-a6a3-42ab6541f3e2\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"83de2dc4-f709-433f-9a8a-f76d2a325c8d\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"e6b42ffa-763a-44ca-9a6f-ab1ccbcf27c4\",\"type\":\"SaveTool\"},{\"id\":\"4ad9a86e-9715-406d-a171-35d13e95feea\",\"type\":\"PanTool\"},{\"id\":\"9d401143-2b40-43e4-b238-8cae2c02ccd3\",\"type\":\"WheelZoomTool\"},{\"id\":\"aa1ceb30-71a2-4e5d-85d9-cb0bfafee046\",\"type\":\"BoxZoomTool\"},{\"id\":\"a28e8b48-e9ae-4ecc-9da4-a1a437843df8\",\"type\":\"ResetTool\"}]},\"id\":\"23bb3df6-6a48-4b46-840c-6dd8508ef496\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"eccc4fa5-37c8-4c90-95a0-66b8c5a8fadf\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"72b73b96-ecd7-414b-8c26-a8875e9db4b1\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10564fd4-8092-4a9f-90d0-1b10f8aeaa6a\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"257bec91-ceb3-4b36-848b-128f594ec67a\",\"type\":\"LinearAxis\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"9b5df2e2-5c54-4c6d-a6a3-42ab6541f3e2\",\"type\":\"BasicTicker\"}},\"id\":\"ac1ded6a-8863-4168-8dae-ff90be24dbbf\",\"type\":\"Grid\"},{\"attributes\":{\"children\":[{\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"5f73c373-54fd-44a8-b1af-0478dcb7a048\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"2bd39d58-0f87-4904-b0b8-ce31982cec07\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"ed4a2bdf-e2f8-472f-869d-826bfa895a28\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"d74e22d7-c63f-499b-b10a-3b3c1739f941\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"6c593d0a-86ce-43ba-9f75-450487ffc14d\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"958a95f8-2e18-4e55-aec3-c1c27f45f4f0\",\"type\":\"Row\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"0435c55a-a95c-4ded-98ef-0833a2adf340\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"9b5df2e2-5c54-4c6d-a6a3-42ab6541f3e2\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"fd921411-3bf9-4c98-8da8-dae999451670\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"10564fd4-8092-4a9f-90d0-1b10f8aeaa6a\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"10564fd4-8092-4a9f-90d0-1b10f8aeaa6a\",\"type\":\"BasicTicker\"}},\"id\":\"e7cac2ee-533e-49b8-9710-6a0568861ec9\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"f51f6108-0459-4077-8720-093cf573f8e8\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"0435c55a-a95c-4ded-98ef-0833a2adf340\",\"type\":\"BasicTickFormatter\"},{\"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\":\"fa74de7a-fd85-4b52-852d-38efd655c8d9\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"e6b42ffa-763a-44ca-9a6f-ab1ccbcf27c4\",\"type\":\"SaveTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"9e79d5fd-974c-4a46-9d6d-45d7acb17f99\",\"type\":\"SaveTool\"},{\"id\":\"c1feb7b9-5f86-4181-aa97-61919439af3c\",\"type\":\"PanTool\"},{\"id\":\"cb20483b-8ae8-4a66-8bba-8198de1616bf\",\"type\":\"WheelZoomTool\"},{\"id\":\"57564553-52a2-4838-9d3b-4f1af5a4e890\",\"type\":\"BoxZoomTool\"},{\"id\":\"f06fa35f-a319-4a37-b687-e74aaaadc6f1\",\"type\":\"ResetTool\"}]},\"id\":\"7eef50e3-655d-403f-b4e9-f9a124eb08f6\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"4ad9a86e-9715-406d-a171-35d13e95feea\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"9d401143-2b40-43e4-b238-8cae2c02ccd3\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"fa74de7a-fd85-4b52-852d-38efd655c8d9\",\"type\":\"BoxAnnotation\"}},\"id\":\"aa1ceb30-71a2-4e5d-85d9-cb0bfafee046\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"a28e8b48-e9ae-4ecc-9da4-a1a437843df8\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"50a5ed78-bbd2-4bc0-b09a-d1ae72a153a2\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"720a42be-8f87-41b3-94e9-d405c414e144\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"f51f6108-0459-4077-8720-093cf573f8e8\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"50a5ed78-bbd2-4bc0-b09a-d1ae72a153a2\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"71e63de4-2394-43cf-b284-5374012159d4\",\"type\":\"CDSView\"}},\"id\":\"bdf58e9f-91b9-4a43-93c8-132bd035e412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"720a42be-8f87-41b3-94e9-d405c414e144\",\"type\":\"ColumnDataSource\"}},\"id\":\"71e63de4-2394-43cf-b284-5374012159d4\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"72b73b96-ecd7-414b-8c26-a8875e9db4b1\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"16d4a855-2a88-4d90-9b7d-ef29d5dcce0b\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"60bea5b9-1140-4848-8121-f73edb0ca443\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"4244da3d-4885-42d2-836b-9acec7e2df0d\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"60bea5b9-1140-4848-8121-f73edb0ca443\",\"type\":\"LinearAxis\"},{\"id\":\"b9dc249b-d5ae-4850-bb30-444f44d34eee\",\"type\":\"Grid\"},{\"id\":\"4244da3d-4885-42d2-836b-9acec7e2df0d\",\"type\":\"LinearAxis\"},{\"id\":\"46dd5770-bf30-4365-968b-1f42f6c19b0a\",\"type\":\"Grid\"},{\"id\":\"c33c5b11-db77-4cc1-9f19-40619bb91be2\",\"type\":\"BoxAnnotation\"},{\"id\":\"f60d16a6-c613-4254-b590-384a27a0e743\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"c15799df-e550-4522-9d3d-382d079bac3b\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7eef50e3-655d-403f-b4e9-f9a124eb08f6\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"f9208371-d4a2-470e-bd24-74a1b94b3074\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"16d4a855-2a88-4d90-9b7d-ef29d5dcce0b\",\"type\":\"LinearScale\"}},\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"f9208371-d4a2-470e-bd24-74a1b94b3074\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"c15799df-e550-4522-9d3d-382d079bac3b\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"ebfa0dd9-47a3-4813-99ab-141df9815d2a\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a1455b13-b8d6-499c-ba34-8df55a6df6d0\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"60bea5b9-1140-4848-8121-f73edb0ca443\",\"type\":\"LinearAxis\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"ed75d9e6-55b7-4d35-8a35-963005d84386\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a1455b13-b8d6-499c-ba34-8df55a6df6d0\",\"type\":\"BasicTicker\"}},\"id\":\"b9dc249b-d5ae-4850-bb30-444f44d34eee\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"a1455b13-b8d6-499c-ba34-8df55a6df6d0\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"bc9c8993-bd44-45c1-8064-6fde391db44d\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a5b74223-d95c-4dcd-ba20-f9a5648d9057\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"4244da3d-4885-42d2-836b-9acec7e2df0d\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"a5b74223-d95c-4dcd-ba20-f9a5648d9057\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"a5b74223-d95c-4dcd-ba20-f9a5648d9057\",\"type\":\"BasicTicker\"}},\"id\":\"46dd5770-bf30-4365-968b-1f42f6c19b0a\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"ebfa0dd9-47a3-4813-99ab-141df9815d2a\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"tools\":[{\"id\":\"ff3f73f0-5a5b-471f-8464-eb69f8755f90\",\"type\":\"SaveTool\"},{\"id\":\"c864114f-e339-45f9-8fef-dc6f41089d0b\",\"type\":\"PanTool\"},{\"id\":\"de5b010f-91f6-4358-9085-45a05e0e5daa\",\"type\":\"WheelZoomTool\"},{\"id\":\"6330d61f-c64c-4347-b5da-6abcb9db9028\",\"type\":\"BoxZoomTool\"},{\"id\":\"dca237ea-7cf9-437b-8bee-5fa0a99c0889\",\"type\":\"ResetTool\"},{\"id\":\"27f38737-87e4-4156-acaf-fd7c08045cdd\",\"type\":\"SaveTool\"},{\"id\":\"45864af7-a9e3-485e-ada6-4c86eb0983af\",\"type\":\"PanTool\"},{\"id\":\"d4259d53-5ed0-4031-9aec-fede67406a3a\",\"type\":\"WheelZoomTool\"},{\"id\":\"77bd1b5a-0ed8-4496-bd5a-aed8d31b8e10\",\"type\":\"BoxZoomTool\"},{\"id\":\"b08fedfe-d786-465a-be4c-15e56f732fce\",\"type\":\"ResetTool\"},{\"id\":\"013332de-ff02-449e-8504-ef6b9e105954\",\"type\":\"SaveTool\"},{\"id\":\"16afa72f-10fb-4d9d-9131-5bb9db5bd8a1\",\"type\":\"PanTool\"},{\"id\":\"30376665-b5ae-40f2-9b09-c8d999e1c42b\",\"type\":\"WheelZoomTool\"},{\"id\":\"5104565a-ecbb-451c-974b-6c854ec36732\",\"type\":\"BoxZoomTool\"},{\"id\":\"c805a8fb-b10b-460a-91d5-90f536bf53c0\",\"type\":\"ResetTool\"},{\"id\":\"81f31ed5-840b-47aa-9a9b-b91d6c7c0a68\",\"type\":\"SaveTool\"},{\"id\":\"3b625bd5-2b00-4110-b9cb-cd183017d535\",\"type\":\"PanTool\"},{\"id\":\"3a26e68d-1e8a-432e-ba0b-5ce0defac864\",\"type\":\"WheelZoomTool\"},{\"id\":\"4e63ca48-7f00-4197-b6a0-e909ff5a7873\",\"type\":\"BoxZoomTool\"},{\"id\":\"dbaa9756-a0b1-4758-87ff-01e1ac372f31\",\"type\":\"ResetTool\"},{\"id\":\"89bc2e38-4d44-48bf-949d-89f8ebb1873d\",\"type\":\"SaveTool\"},{\"id\":\"04ac458d-4747-461d-ba34-b818b4b9f5dc\",\"type\":\"PanTool\"},{\"id\":\"24c51c17-b3ad-4e78-97d0-76d43ecea31a\",\"type\":\"WheelZoomTool\"},{\"id\":\"caab2f3a-c416-4508-91a6-681634a46d88\",\"type\":\"BoxZoomTool\"},{\"id\":\"5cd74d1e-9608-4bca-8cf6-a04b5ae83802\",\"type\":\"ResetTool\"},{\"id\":\"1c44f83b-147c-4121-853c-ea0829ad7a23\",\"type\":\"SaveTool\"},{\"id\":\"431be251-c39c-48f3-b0df-286f7cd0605d\",\"type\":\"PanTool\"},{\"id\":\"fe95af3e-ef01-42f5-8ff7-c011758122e1\",\"type\":\"WheelZoomTool\"},{\"id\":\"a3514a93-23ce-4a46-aa3b-54ee88879746\",\"type\":\"BoxZoomTool\"},{\"id\":\"ece5eed0-3b6b-42af-aded-9195266ece61\",\"type\":\"ResetTool\"},{\"id\":\"740946be-d2bf-428f-a0e7-c902a7831566\",\"type\":\"SaveTool\"},{\"id\":\"a0e5e36b-c381-4828-a902-2b81b6d12ef0\",\"type\":\"PanTool\"},{\"id\":\"3929aba7-1a14-45d3-bd26-00aaaa849a40\",\"type\":\"WheelZoomTool\"},{\"id\":\"1b26643b-f08c-4394-9ec9-7555a1ca83dd\",\"type\":\"BoxZoomTool\"},{\"id\":\"0c61ccb7-5270-4ebe-b7c6-020a175dc5a2\",\"type\":\"ResetTool\"},{\"id\":\"cf02ad79-6bfc-408b-adca-dfcc3c89d589\",\"type\":\"SaveTool\"},{\"id\":\"2d191f23-b831-4170-9fc2-ce9df3577b10\",\"type\":\"PanTool\"},{\"id\":\"e82659da-baf6-4974-89d3-7ac7dd971c70\",\"type\":\"WheelZoomTool\"},{\"id\":\"a1b39c3b-96ad-4969-8915-6ec556426c81\",\"type\":\"BoxZoomTool\"},{\"id\":\"80f90e57-b881-4f39-90cf-613e03345502\",\"type\":\"ResetTool\"},{\"id\":\"e00c6df4-0ac0-423f-be95-41e04d068507\",\"type\":\"SaveTool\"},{\"id\":\"554df7df-9d56-4022-8d9b-a986b17ba4f3\",\"type\":\"PanTool\"},{\"id\":\"2259c376-3c2d-43e6-a1ee-66957c582b3d\",\"type\":\"WheelZoomTool\"},{\"id\":\"cfd58bb3-6f23-4933-a010-3413485f282e\",\"type\":\"BoxZoomTool\"},{\"id\":\"46d3796f-427e-4388-9dbb-b151a2c64b7b\",\"type\":\"ResetTool\"},{\"id\":\"3ccf9338-81af-4164-9ceb-7e16b175f546\",\"type\":\"SaveTool\"},{\"id\":\"7832a642-f658-48ec-ba92-82fe52c5b41c\",\"type\":\"PanTool\"},{\"id\":\"7741a302-993c-43f0-a57a-69c1a19c6405\",\"type\":\"WheelZoomTool\"},{\"id\":\"f4a4cfd6-2a0e-489c-9368-5228331ddd52\",\"type\":\"BoxZoomTool\"},{\"id\":\"045d35ee-9a9d-4e5a-86d2-c5c5aa5e3dbe\",\"type\":\"ResetTool\"},{\"id\":\"f1ddd28c-bebf-4bc2-8f71-1271ee89b4a4\",\"type\":\"SaveTool\"},{\"id\":\"abbecaa2-6ca3-416e-a6cf-098027ab6fe8\",\"type\":\"PanTool\"},{\"id\":\"a13addf1-21b5-46c0-91cd-105c818d9290\",\"type\":\"WheelZoomTool\"},{\"id\":\"89d7a203-3ab9-490e-be78-baab5042cd78\",\"type\":\"BoxZoomTool\"},{\"id\":\"4dbf544a-099f-4731-b576-64c2087d27a3\",\"type\":\"ResetTool\"},{\"id\":\"622340b5-8960-48f8-9016-7098c6639f23\",\"type\":\"SaveTool\"},{\"id\":\"5fd79523-615c-42ba-8e3b-76e0bdb02caa\",\"type\":\"PanTool\"},{\"id\":\"0403a898-2a82-4eca-a8b9-ac23240cddc7\",\"type\":\"WheelZoomTool\"},{\"id\":\"bcbcbeae-a5e8-40ce-8191-f2c1df50148e\",\"type\":\"BoxZoomTool\"},{\"id\":\"bc9280f0-79fc-40ef-8fd7-fc6650be1932\",\"type\":\"ResetTool\"},{\"id\":\"c8760d71-9de2-43e0-8c2e-8f6dcb73bf62\",\"type\":\"SaveTool\"},{\"id\":\"559c6da2-839e-40a2-a422-d4f4ad28a212\",\"type\":\"PanTool\"},{\"id\":\"a330b0f2-a410-4f7e-b004-47fb8af1490e\",\"type\":\"WheelZoomTool\"},{\"id\":\"9eb238ab-c6d5-4713-8dc1-2541291b70fa\",\"type\":\"BoxZoomTool\"},{\"id\":\"877df82f-8390-4c4a-b9b5-af5345b8f4a8\",\"type\":\"ResetTool\"},{\"id\":\"854c327f-57ec-4b95-8da5-7da09b679d54\",\"type\":\"SaveTool\"},{\"id\":\"cfbbed6c-8a16-45e2-9a73-0c6538e5dcea\",\"type\":\"PanTool\"},{\"id\":\"1fe03424-0f54-48c5-a1e1-22206906fcc4\",\"type\":\"WheelZoomTool\"},{\"id\":\"6432a644-c261-4eb8-88a7-f0b3b3c01765\",\"type\":\"BoxZoomTool\"},{\"id\":\"1ca4b528-7510-48d2-a459-5eba4dea5994\",\"type\":\"ResetTool\"},{\"id\":\"ca8f1eec-4dc5-46f0-91f8-5c8e26fc4f7a\",\"type\":\"SaveTool\"},{\"id\":\"36b28dd2-5f7d-4660-b38f-a88fda815822\",\"type\":\"PanTool\"},{\"id\":\"6a84b7ef-8ecf-4631-9938-172fcef745be\",\"type\":\"WheelZoomTool\"},{\"id\":\"bbe69ceb-b6f6-4c72-97ef-bfc1556952fe\",\"type\":\"BoxZoomTool\"},{\"id\":\"544a2398-b8fd-4246-b5fc-66d4441eaa09\",\"type\":\"ResetTool\"},{\"id\":\"c891007f-2447-47dc-8a1e-7c4ccbb6ff0f\",\"type\":\"SaveTool\"},{\"id\":\"9fdb4bcf-6f49-42c0-bf77-bd3372a20273\",\"type\":\"PanTool\"},{\"id\":\"ecc6ec98-1b55-4ca6-962c-5037192b00d9\",\"type\":\"WheelZoomTool\"},{\"id\":\"130285fb-da65-438d-988b-2b896d04b97d\",\"type\":\"BoxZoomTool\"},{\"id\":\"02595bef-a090-4c1a-b15e-3599037ef89c\",\"type\":\"ResetTool\"},{\"id\":\"b4cfd67b-1760-414b-b4db-ec98f2690d20\",\"type\":\"SaveTool\"},{\"id\":\"fa9f7e2c-f932-488c-ad47-3f7de5e0d533\",\"type\":\"PanTool\"},{\"id\":\"a74ea351-5ab2-4f4b-abef-7f0b1998da04\",\"type\":\"WheelZoomTool\"},{\"id\":\"179923ed-be73-4b2d-ac72-4ca4828d6cca\",\"type\":\"BoxZoomTool\"},{\"id\":\"0c11a335-c820-49a7-8503-ddab438d1bd0\",\"type\":\"ResetTool\"},{\"id\":\"9a2082e9-9e94-4762-b4bc-a61424bdee6e\",\"type\":\"SaveTool\"},{\"id\":\"6542b10b-b5e8-4683-b707-79c190f3787f\",\"type\":\"PanTool\"},{\"id\":\"7935bdf5-fd29-4ee6-9325-27f262b7ca8e\",\"type\":\"WheelZoomTool\"},{\"id\":\"aca158c2-2880-4f4b-8903-3886efd93fa9\",\"type\":\"BoxZoomTool\"},{\"id\":\"53f4dde3-2406-48b1-965b-c776cbbfd023\",\"type\":\"ResetTool\"},{\"id\":\"7cf48715-c7c2-4d54-bc89-6ce8af113390\",\"type\":\"SaveTool\"},{\"id\":\"55027a8e-8d9f-4f10-bf01-1b2a7fa551de\",\"type\":\"PanTool\"},{\"id\":\"eeadd61b-6153-429d-9985-a2759a416d70\",\"type\":\"WheelZoomTool\"},{\"id\":\"854b2e77-d8c0-4264-bd48-fb990e836607\",\"type\":\"BoxZoomTool\"},{\"id\":\"c8782eff-41b6-40bc-a6b9-742a8457da40\",\"type\":\"ResetTool\"},{\"id\":\"ea114c43-af54-4e7c-a6af-95926ab6ba7d\",\"type\":\"SaveTool\"},{\"id\":\"c28e8637-77df-4570-8abd-5fce5539eeeb\",\"type\":\"PanTool\"},{\"id\":\"f1dfe598-5601-4604-9853-219b0f748fe4\",\"type\":\"WheelZoomTool\"},{\"id\":\"93d31607-c4fa-4d2f-947a-33863bc433b8\",\"type\":\"BoxZoomTool\"},{\"id\":\"9374b3ec-0f14-4125-9ca4-42cbc236f69a\",\"type\":\"ResetTool\"},{\"id\":\"4d545f05-1113-4080-82df-03ee47abd0b9\",\"type\":\"SaveTool\"},{\"id\":\"3e2e4263-080a-4520-a52a-907d73dc1479\",\"type\":\"PanTool\"},{\"id\":\"8fdba891-11c1-4085-a0c3-136fbefadaa5\",\"type\":\"WheelZoomTool\"},{\"id\":\"6d416697-8a3a-4742-a76c-89fc67fb6b35\",\"type\":\"BoxZoomTool\"},{\"id\":\"003151a2-866d-45c5-9990-71ece62a9e7b\",\"type\":\"ResetTool\"},{\"id\":\"f44a564a-0ad8-472b-bf4f-583362f91c7d\",\"type\":\"SaveTool\"},{\"id\":\"106f24cd-30a8-4790-a285-64809ee86af6\",\"type\":\"PanTool\"},{\"id\":\"683706b4-d9d8-46e4-a971-850084c07874\",\"type\":\"WheelZoomTool\"},{\"id\":\"1442b6c4-52fc-47da-9398-46845eb5baed\",\"type\":\"BoxZoomTool\"},{\"id\":\"9efbea0e-9d85-46b8-933e-aa43532aa8ca\",\"type\":\"ResetTool\"},{\"id\":\"e6b42ffa-763a-44ca-9a6f-ab1ccbcf27c4\",\"type\":\"SaveTool\"},{\"id\":\"4ad9a86e-9715-406d-a171-35d13e95feea\",\"type\":\"PanTool\"},{\"id\":\"9d401143-2b40-43e4-b238-8cae2c02ccd3\",\"type\":\"WheelZoomTool\"},{\"id\":\"aa1ceb30-71a2-4e5d-85d9-cb0bfafee046\",\"type\":\"BoxZoomTool\"},{\"id\":\"a28e8b48-e9ae-4ecc-9da4-a1a437843df8\",\"type\":\"ResetTool\"},{\"id\":\"9e79d5fd-974c-4a46-9d6d-45d7acb17f99\",\"type\":\"SaveTool\"},{\"id\":\"c1feb7b9-5f86-4181-aa97-61919439af3c\",\"type\":\"PanTool\"},{\"id\":\"cb20483b-8ae8-4a66-8bba-8198de1616bf\",\"type\":\"WheelZoomTool\"},{\"id\":\"57564553-52a2-4838-9d3b-4f1af5a4e890\",\"type\":\"BoxZoomTool\"},{\"id\":\"f06fa35f-a319-4a37-b687-e74aaaadc6f1\",\"type\":\"ResetTool\"}]},\"id\":\"fdebc48f-bebb-4008-9e57-61378cd0ab0a\",\"type\":\"ProxyToolbar\"},{\"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\":\"c33c5b11-db77-4cc1-9f19-40619bb91be2\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"9e79d5fd-974c-4a46-9d6d-45d7acb17f99\",\"type\":\"SaveTool\"},{\"attributes\":{\"children\":[{\"id\":\"77eee143-1d68-4dfb-b68d-b2b6f2b786a5\",\"type\":\"ToolbarBox\"},{\"id\":\"32e084fb-598e-423c-8b7e-55c7707b6829\",\"type\":\"Column\"}]},\"id\":\"89c446b1-cc32-457a-a9ed-07110e861b39\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"c1feb7b9-5f86-4181-aa97-61919439af3c\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"cb20483b-8ae8-4a66-8bba-8198de1616bf\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"c33c5b11-db77-4cc1-9f19-40619bb91be2\",\"type\":\"BoxAnnotation\"}},\"id\":\"57564553-52a2-4838-9d3b-4f1af5a4e890\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"f06fa35f-a319-4a37-b687-e74aaaadc6f1\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"82e626c0-8ff2-4d9f-aef4-71b4ce514521\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"0f6671f5-6a96-4f53-91d1-81b25bc8e070\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"ed75d9e6-55b7-4d35-8a35-963005d84386\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"82e626c0-8ff2-4d9f-aef4-71b4ce514521\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"145eb174-17d0-494c-ae8a-22fcce2f1de4\",\"type\":\"CDSView\"}},\"id\":\"f60d16a6-c613-4254-b590-384a27a0e743\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"0f6671f5-6a96-4f53-91d1-81b25bc8e070\",\"type\":\"ColumnDataSource\"}},\"id\":\"145eb174-17d0-494c-ae8a-22fcce2f1de4\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"bc9c8993-bd44-45c1-8064-6fde391db44d\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"children\":[{\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"0fd02dba-7224-4323-994b-d4e95ec132a3\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"2912fc3c-04df-4138-8fe2-b188e78cb350\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"ec8603b1-7824-4304-9421-d40ec76934e7\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"9523fe55-50b6-4949-ba1d-60d80e5e7677\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"0a2af9c3-6edc-4329-a267-cc9003ea8d42\",\"type\":\"Row\"},{\"attributes\":{\"toolbar\":{\"id\":\"fdebc48f-bebb-4008-9e57-61378cd0ab0a\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"77eee143-1d68-4dfb-b68d-b2b6f2b786a5\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"e7bf8497-5f0c-4e7d-a699-c13231bb1116\",\"type\":\"BasicTickFormatter\"},{\"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\":\"53c19f2d-0d6a-453f-a910-339024449c7f\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"13d5a3b7-6a8a-45c9-963f-e24f70a9874f\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7ef0cb30-1e9d-4918-824b-32688203b479\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"3e18d3b6-6cec-4c6b-805a-89e84e562788\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"2acf0edf-dd06-4e41-8920-7f73f87f7647\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"b4cfd67b-1760-414b-b4db-ec98f2690d20\",\"type\":\"SaveTool\"},{\"id\":\"fa9f7e2c-f932-488c-ad47-3f7de5e0d533\",\"type\":\"PanTool\"},{\"id\":\"a74ea351-5ab2-4f4b-abef-7f0b1998da04\",\"type\":\"WheelZoomTool\"},{\"id\":\"179923ed-be73-4b2d-ac72-4ca4828d6cca\",\"type\":\"BoxZoomTool\"},{\"id\":\"0c11a335-c820-49a7-8503-ddab438d1bd0\",\"type\":\"ResetTool\"}]},\"id\":\"fe77d28c-b11b-4414-809c-88e3387af556\",\"type\":\"Toolbar\"},{\"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\":\"9aaa70ad-6548-4a1e-8f89-4edc965ac374\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"fcefd492-5dfd-4052-b0a0-cc3bf73d08f7\",\"type\":\"ColumnDataSource\"}},\"id\":\"4b3c87a1-3965-4910-ba42-15a223faee55\",\"type\":\"CDSView\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"98985a8a-0876-4fdb-befe-948d1f16be22\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"81f4015a-19b8-4281-9338-b8cc95f786c4\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7ef0cb30-1e9d-4918-824b-32688203b479\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"f218fae7-c49c-452a-8392-ab63db84e110\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7494bb10-dc96-495a-8747-81c26dfecef6\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7c23386c-5a7a-4dc4-b90b-8981c2ddf086\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"af149dce-8f5c-43b7-b92b-379b22690a2b\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"6ecac18e-4e5a-4456-bd2d-d1afd87c036e\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"af149dce-8f5c-43b7-b92b-379b22690a2b\",\"type\":\"LinearAxis\"},{\"id\":\"1a5a51a5-cee9-4e46-bc2a-302e0b5ce93b\",\"type\":\"Grid\"},{\"id\":\"6ecac18e-4e5a-4456-bd2d-d1afd87c036e\",\"type\":\"LinearAxis\"},{\"id\":\"c14136ff-66fc-47a7-8ad5-0422996d7c97\",\"type\":\"Grid\"},{\"id\":\"1524a434-c0d9-4ac2-a828-bb9e75f01dfd\",\"type\":\"BoxAnnotation\"},{\"id\":\"9a85e5a9-9b85-412f-b005-349316bbc1ed\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"98985a8a-0876-4fdb-befe-948d1f16be22\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"fe77d28c-b11b-4414-809c-88e3387af556\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"7c23386c-5a7a-4dc4-b90b-8981c2ddf086\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"81f4015a-19b8-4281-9338-b8cc95f786c4\",\"type\":\"LinearScale\"}},\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"cc29bc13-dbf9-4b85-9bda-3ea0243f37b1\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ef12a16a-d9fc-4af5-9a11-4dbb3ce16c39\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"af149dce-8f5c-43b7-b92b-379b22690a2b\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"e7bf8497-5f0c-4e7d-a699-c13231bb1116\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7494bb10-dc96-495a-8747-81c26dfecef6\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"74a68715-be65-42ca-abfb-d92e54114a8b\",\"type\":\"LinearAxis\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"18e5f033-7faa-438b-8efc-c5c856598487\",\"type\":\"Title\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"a12e5bf2-ac2e-4395-9bfb-b60ca522082e\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"2a743b1d-764f-4fca-977e-493a0c2b5bd7\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"0b189eb8-8dfc-4853-af8c-4bbb1fa56230\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"b6cd3a19-f66f-4057-b03d-7d5d45d4f03d\",\"type\":\"LinearAxis\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ef12a16a-d9fc-4af5-9a11-4dbb3ce16c39\",\"type\":\"BasicTicker\"}},\"id\":\"1a5a51a5-cee9-4e46-bc2a-302e0b5ce93b\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"ef12a16a-d9fc-4af5-9a11-4dbb3ce16c39\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"204275bc-76f5-4d50-a18c-900ceb3afed8\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1e832bdb-67f5-4259-a8f9-a1fe5464e38f\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"6ecac18e-4e5a-4456-bd2d-d1afd87c036e\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1e832bdb-67f5-4259-a8f9-a1fe5464e38f\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"dc2ec253-0bb1-4a4a-bf24-d368dc3b0315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"1e832bdb-67f5-4259-a8f9-a1fe5464e38f\",\"type\":\"BasicTicker\"}},\"id\":\"c14136ff-66fc-47a7-8ad5-0422996d7c97\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"cc29bc13-dbf9-4b85-9bda-3ea0243f37b1\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"56576090-524f-4a9c-ba0e-f22ae031a3fa\",\"type\":\"LinearScale\"},{\"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\":\"1524a434-c0d9-4ac2-a828-bb9e75f01dfd\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"b4cfd67b-1760-414b-b4db-ec98f2690d20\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"pb+G/5iyeP+ftHn/rb+L/6a5fP+ds3L/rb6Q/7LDnP+kt3n/q7t+/7XEiv+2v5T/oLB7/4WaXf92i13/W25H/2mAVf94jmb/ZXtV/151UP9NZkX/R105/z5QMf86SjH/PEk3/01SRf9hYFT/aWtb/2xoW/96cWP/hH5p/3dvZP+twY7/o7eA/6u9hP+nvYP/nbZ3/5q1dv+vwZP/ucmb/6K4df+tv33/vceP/7C8if+crXz/i6B3/1lzUf9BVzv/TWFA/1NnRv9VbEr/VW5N/1hxUv9LZ0D/P1M0/z9RNP9DTTn/WFhM/3BlYP9va1//YmBU/2RgVf9iY1P/XFhQ/7DCi/+funn/nbZ5/5y3d/+huXr/pLyE/7PElv+2xZb/pLt+/563cP+gtHX/n7J3/4ueaf+LoHn/YHld/0hdRf9GWT7/R1s9/09nRv9TbU7/Xnld/1NsSf9FVTj/Q1I2/05UQv9bWUz/cmli/4B6b/9oZ1z/X11V/1FTSf9MTUX/scSF/6rAgP+btHb/mrFz/6C7f/+ku4f/rcCJ/6q9hv+gu3v/mbNu/4+raP+csnD/lapy/5etg/91jXH/WnNY/0hgRP85UjT/PVg1/0tmR/9ad1//VmpQ/0tVPf9OVjz/VFhG/1lbS/9saV7/eXRr/2hmXv9hX1r/TU5G/0ZJP/+pv3//qbiA/56ydv+Vr3H/kbF4/5qxgP+gt3z/mbNy/5q2dP+SqW3/gpxg/4mcYf98kl//kqeF/4Kaff9shmb/UW1N/z5aO/89VjL/S2RE/1l1Xv9VaFT/S1hB/01YPv9MVUH/VltL/2JhVf9rY1z/Z2Jc/11aV/9QUEf/TVBE/6e8fP+gr3v/kaxz/5Wzdf+Ur3r/kaWB/4SVaP99m13/co5T/2uEUf9ddEb/Z3lN/1hsRv93iG3/ipyC/2mDYv9Ub07/SmNH/0RaOP9LYkH/VGtT/0xdSP9KWUT/TFtE/0hVQP9PWUn/WFdN/2NaVP9jW1f/WVFO/1VSSf9VWEr/q7yA/5+uev+IoXP/i6N3/4ykeP+JmX7/am9a/1RqQf9OZj3/UWhD/0NaN/9DWjb/UmZI/3qKc/94hnD/WnJU/09nSv9KYET/QVU2/0FXNv8/VD3/P089/zpGN/9LU0P/SlhB/0hXQ/9aWU//Y11X/11YU/9VTUn/Uk1H/1ZTSP+twIT/kKVs/4GZcP+Oo4D/fpNv/32JbP9galX/PE4x/0xePf9KXDz/QFw2/z9bNP9FWzf/bX5h/1tmU/9RYUz/SV9E/0FZO/88UDD/OVEw/yxBLP81SDf/OEs2/0RRP/9FUzz/R1Y//2JjWP9nY17/X1xX/1VQTf9WUE3/X1dQ/7PBkP+tuoj/nK+D/5Gndv+Bk3D/eIFo/2BtV/9DWzn/Sl45/0VbNv9CXTb/R2E5/0xfO/9cbVD/Q0o9/0tYRf9CVTr/Rl49/0RaNf9AWTb/O1I6/zVMOP9EV0T/R1ZE/0FWPP9IWEH/Vl1N/1hYTv9dW1H/WlZQ/1tUT/9bVk//t8Wa/7TAjf+vv47/qLiF/4STbP9vdF3/U2NJ/zpWLv9IXTr/SF05/0ZfNv9MXjr/S1o5/2BxUP9HTUD/VWBO/1JlR/9SZ0T/TGA8/0dfQf9AWT//QFhC/z1NQv8+SDn/Q1o7/0NWOP9JWj3/TVdB/1daSf9YWUv/W1pM/1RUSf+5yJr/sb6H/7C+jv+ptIL/iZVu/25vX/9TZE3/OVYw/0RYN/9CVjL/Rl02/0lcPP9NXjv/TmI8/zxCM/9PV0n/V2lP/1FlRf9MX0D/R15A/0VcRP9FXUT/PUw8/yowJP89VDP/QVk1/0FZNP9KWzv/TlpA/1ZdSf9dYU7/U1dH/7vJl/+zv4j/qbiB/5SicP98hWz/WFVK/1FiSP84VTL/PlY1/0FaNf9DWDX/Q1g6/0xfQv9HWzf/PkY1/0RHPv9MXUj/T2JH/0xdQP9JXUD/SF1G/0ZeP/9EUz3/Jygf/zBFJ/9CXjX/R141/0dcM/9KXzr/TlxB/1BbQv9HUz7/uMKL/668hP+nt3v/mal2/255Yv9BPTX/TVA8/zxVNf9GYj//SmRB/z5UM/8/VTj/SFtB/0tgPv88QzD/MTAq/0BQOv9IXEL/SFg9/0lcQP9EWUD/QlU6/zU+Mv8gHhz/KzIh/0BVMv9IXTb/RVsy/0FaMv9CVzT/RFU0/z5PM/+5wYn/tcKI/7G9if+zvYz/j5h3/1BMQP9eUD7/WmNH/3GMZP95j2j/ZHtS/0tmP/9FXDr/R108/z5EL/81Lyn/PUMu/0pRN/9HUTj/Q1Y3/zJCLv8hKCH/GBoZ/xgYFP8mJx7/OUox/z9YNP9EWzb/R2A1/0NbM/8+Vi//PFIt/7/Flf+9wZT/s7qQ/7m9lv+utI7/cW1a/4dxW/+Bclv/kJp4/6m7jv+AiWL/Tlc1/0BGK/88RSz/QEAs/0U9M/8/Oy7/SUAx/0hBNf84OS7/Kisk/x4cHf8XFhX/FRUS/xobGP83QC3/TmU7/2Z6TP+Dll7/boNR/1BrOf9DYS3/wsOa/8XCn/+xuI7/sbeO/6+3i/+Vk3D/iXJe/2hTQf90bE//enxW/1VKLv9XSTH/WEo0/1FFL/9NQzL/VU1A/1BIPP9KQDX/U0g8/0pCPP83My3/Kigk/x0dGf8TExT/O0Ar/1xkRP90hVX/l65t/6S4dv+NoWT/c4tO/2mFR/+0vYn/v8SX/6OwfP+qtYP/vsKa/5OQcP93ZVD/YU45/3RcQv9sWUL/aVtG/3VpU/9xZVD/cGJP/21jVf9vZ17/ZV1V/2JZTv9vY1P/T0Y7/zIvKf8hHx3/FhUT/0JEM/+PnmP/oLVy/5+vdv+nunz/obN8/4mhZP+EmV7/kaNu/5yvdf+dsHv/kqpp/4+mZf+dqXj/aWFK/3ljTv+GblP/tJh8/4JvWf92a1n/fXVk/3dvYv94b2T/dG1i/3Vuaf9xa2n/Zl5Y/2NYTP9FPDP/LSok/ygmIf9NUT7/jJpq/5OnZv+UrWj/nLJw/6Czdv+Spm7/gpVk/4KPZv+apIH/prqE/6S6j/+Zs3P/jaxg/4GUXf9gUT//lnpZ/8Onhf/dxKf/jXxm/3htYP+BeW//fHVv/3p0b/94cmz/d3Bs/3Ntav9nYFz/WVFI/0M8NP8wLST/YGhG/52te/+fs3r/j6hi/5GqZP+TrGv/mLFw/5KrbP+QnHj/nZ6R/76/tP+iuHr/qLuN/5uydf+Rr2P/kZ9v/4BpUf/BoHr/6tOz/+nYwP+Sg3L/fHJr/4R8d/99d3P/fHdz/3t1cv98dXP/d3Fu/2pkYf9aUkr/Pjct/09UOP+WqnD/prmC/560eP+RrGT/l69r/5OvbP+WsW3/l7Fs/5mudv+0u6D/ztHD/5GrZP+SqGL/jqpf/4urXv+5w5r/wq2Y/9i4lf/oz7H/59S+/6CQhP94b23/f3l1/3x1cv98dXH/d3Jt/3Zxbf90b2v/bGZf/11SR/9QSTX/h5Vm/6q9hv+nt4H/nbN3/5avbP+VrWv/j6tl/5qzbv+Zs27/mbFy/6G0gf+qu47/kq1g/46rV/+PsFj/iq5O/7rNmP/t5dz/48mr/+HCoP/OuqT/koZ9/3NraP96dHD/e3Vx/3lxa/9za2P/bmdg/21lX/9qX1b/X1FB/29yS/+bsXf/qbmD/6O2fP+fs3f/m7F0/56zdf+Qq2X/mLFt/5uvc/+Up3D/iaBl/4abYv+Sr17/kbNY/5S5Wv+RuVX/nLhn/9rixf/z59P/8Na2/7KejP9wZFz/b2Vg/3NqZv94bmn/dGhg/3BiVv9tXlD/bVxR/2haSf9vbUr/fZVU/4OlXP+Rqmn/mK9v/5WsbP+OpGf/mK5x/5Gqaf+Wr2z/lqpw/4qhaf9+m1b/eZRR/4yqWP+Rs1z/mr1j/5C4Wv+Vt13/sMeD/+Hmzf/86tD/uaGH/3RmV/97bGH/eGpc/3hsXP95bln/cmpQ/2hkSf9mZ0r/cH1I/3+dU/9+o1D/e6NO/4WpWP+KqV//j6pn/4ShYP+Anln/h59f/5Osa/+Zr3L/h6dk/4ilX/+BpFT/j61c/5m3Zv+fvGz/lbhl/5q4af+bt2r/qb96/8fNm/+1un7/matn/5KkY/+Mnl3/jaRh/5CpZv+LqF7/gaJT/4elXP96oFL/g6pV/4evVf98rEr/f6xM/4OrVP+Dplj/hKRc/3ufUP96mU7/g6Fa/5aubP+OrGj/lq9v/4ipXf+WsWT/nLRv/5yvbv+Rq2H/lrJn/4usV/+VsWD/m7Vv/525c/+jwXb/nLlt/5m3av+UtWb/krNi/5C2XP+Ot1r/kbZf/4GoUP+Osl3/jrRa/4u2U/+JtFL/hq9S/4OrT/+Iq1b/gKVP/3+lUP9/pFL/jqtk/42qaP+PrGn/hata/5WzY/+Usl//lKtj/42pVv+Rsl7/j7hT/5G3WP+Ws2f/mbNt/6C6cv+ctnH/mrJw/5GtZP+Nq1z/krZd/5a8Xf+Wul7/iK9R/5C3V/+YumD/mbpk/5i9Yv+UuF//iLFS/4WvUf+FrlL/gq1Q/36qS/+IrFn/jalk/5qycP+Pr2T/mrZn/5y8ZP+YuGD/jrNN/5G0V/+UuFz/kLhS/4etVP+OsF//nbts/5a2Zf+SrmT/j61k/5a0Zv+au2P/nb9h/5y9ZP+WuFz/nsBh/5u7Yv+Ts2H/mLll/6DAbf+SuGD/ibFW/5G5W/+RvVn/iLZO/4uzVv+Rr2T/p7t9/5Ouaf+nunv/oLhx/6O+bP+dvFr/nLdd/561aP+auF7/lbdc/5O1Xf+aumn/mbtm/4+xXv+UsWj/mrlp/5+/a/+gv2n/osFr/6jFcP+qx3H/ocBq/5OyY/+Rr2H/mrho/5e2Zv+RsV3/nMFk/6LHaP+ZwGH/krhc/5KyY/+kvHr/m7lx/7fCkv+jtXr/oLNv/6e8bP+ovmj/qbtt/6m8bv+ou2z/o7pn/5myZf+YsmT/j6xc/5qzbf+Zs2n/n7ps/6S/b/+ow3L/rcZ4/6vGeP+iwG//nrdt/5m0av+Qslf/kLJX/4muTf+Wvlf/n8Fl/56+a/+TtmD/k7Ri/5OxZ/+UtWv/ys2t/7G8kP+irnn/orNs/6i8av+tvmz/tcJ1/7W9ev+zvX3/o7Rx/6Gzbf+Xq2H/na9u/5uvbP+ctmj/nLhj/6G7af+euGX/pr5v/6G8a/+hu27/pLx0/5m6W/+Nt0n/hbRF/5C/S/+Yv1z/nLlt/5u6bP+auWv/k7Bl/42tYP+5vpv/tLqS/6y2hv+nt3X/pLVs/628cv+wv27/tL95/7e+h/+rt3v/pLRz/5qsZ/+hrnj/orN1/5qwZ/+UsWH/lLFe/46uVv+Sslb/kbJX/46wWv+WsGb/mrNo/46yUf+FsEj/l71W/568Zf+VrGb/lK9p/524c/+Ysm3/jKpe/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"cd86870e-576b-4e11-a78c-6db4e813c62d\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"fa9f7e2c-f932-488c-ad47-3f7de5e0d533\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"a74ea351-5ab2-4f4b-abef-7f0b1998da04\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1524a434-c0d9-4ac2-a828-bb9e75f01dfd\",\"type\":\"BoxAnnotation\"}},\"id\":\"179923ed-be73-4b2d-ac72-4ca4828d6cca\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7494bb10-dc96-495a-8747-81c26dfecef6\",\"type\":\"BasicTicker\"}},\"id\":\"d2d641b6-42aa-4566-83f9-3728a388da8e\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"0c11a335-c820-49a7-8503-ddab438d1bd0\",\"type\":\"ResetTool\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"47f8cad3-f43a-48e3-9e7d-81be735b6258\",\"type\":\"Title\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"99ddf7b2-d286-4e33-8952-f6632d4f0cb6\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"ce0bf90f-d514-4d23-826a-a88c269f63e3\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"a12e5bf2-ac2e-4395-9bfb-b60ca522082e\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"99ddf7b2-d286-4e33-8952-f6632d4f0cb6\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"afe92622-50bd-488a-93e5-3906ba1d3ea2\",\"type\":\"CDSView\"}},\"id\":\"9a85e5a9-9b85-412f-b005-349316bbc1ed\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"cnFi/3d1aP94dWn/f3xx/4SCdv+BfnP/gH1y/4B/c/95enH/c3Vw/2ZpaP9kaWX/bXBw/3R1eP9paWv/XV5n/2Fibv9hYWr/ZWdq/2Zqav9OT13/T1Be/11gaP9gYm3/ZGNu/3JxeP9zdX3/ZGdw/1pdaP9dXmX/YWFj/2tqav91dmb/dHdm/3Z5aP97fG7/gIBz/3t8bv99fXD/goB0/4CAdv98fXj/Zmhm/2BjYP90dXL/dHRy/3JxcP9oaXD/YGJu/15gav9tcHT/bG5v/1paZf9VVWP/X19n/2Rlbv9iYm3/aWhx/25vdv9qbXT/YmRu/15dZv9cWl3/c25w/3J0Y/9pbVz/bHFf/3R2Zf98fWz/eHlo/3ByYf91dWX/eHps/3N1bP9namX/Zmlm/3R2dP9ycnD/c3Ny/2ttc/9cX2n/XWBp/2pucv9qbHH/WVlm/15dbv9dXWj/YWBt/2FgbP9hYWv/ampz/3J0e/9naHH/ZmZv/2NiZf96dnX/a25c/2BlU/9ka1j/dHhl/3Z5Zv9ydWL/aGtX/2VpVf9rb17/ZGdd/2hqZP9mamj/cnV0/2xtbP9tbW7/b3B3/2ZpcP9kZ2z/Z2pu/2Znb/9YWWb/XV1t/15ebP9lZHL/aGhx/2Rka/9nZ3D/c3N5/2RkbP9nZ3D/aGlt/29taf9dYk3/XGRP/1hhS/9jaFX/ZmpY/2VpV/9eY1D/VFxJ/1ZcTf9SVUz/V1lV/2BkZP9vc3T/eHl6/29wcv96fIP/cXR5/2Roav9jZ2r/XmFp/2Bkbv9jZXL/XmBt/2hodP9rbG//Z2ho/2Nkaf9xcXX/YmJp/2Nkbv9iY2n/ZWVi/1thS/9TW0T/UVpD/1NYSP9QVEX/VlpL/1VZSv9QWUn/TFNH/1BUTv9YWln/ZWlo/3J3d/9+gYP/dXd6/4KEjP9tcXT/Y2dn/19jZf9hZmn/Y2hr/2pudf9jZ3H/aGlx/2psaf9lZ2H/YWJj/2loa/9hX2f/Y2Ru/19iaP9jY2L/UVZE/0FGNP9DSDb/UVRE/05RQv9TVUn/VlhM/1tgUP9UWU7/UlZS/11hXv9jZ17/cHNt/4KFiv+IjY//k5ae/21wdP9fY2D/XmNg/2NpYP9aYFj/bXF1/3x+i/9lZmz/aWtk/2FlWf9gYl//ZGRn/19fZv9iY2r/WVtd/2JiYf83Oyz/LzMk/zxAMf9LTj7/VlhK/1haTf9cXlL/V1tL/1RYTf9RVlL/U1hT/1NWS/9aXVf/jpGa/5+kqf+VmJ3/b3N1/1xhW/9VWlP/VVtR/0tQTP92eoD/j5Ge/2BiZ/9ZW1T/UFRH/1ZZUv9cXWD/XFxk/11eZP9UVlb/W1xZ/zE1J/8xNSf/PEAy/1JUR/9eYFP/XV9T/1xfUv9RVUb/S09F/0JHQv9FS0X/QUY9/0ZKR/+Ul6P/tLe+/42Qkf9kZmX/WFxV/0dLQ/9LT07/TFBV/4SGkf+NkJr/YWFn/0tMR/9AQzX/SUtD/1BQVf9aWmX/VlZf/09QU/9PUUz/KzEm/zQ6L/85PzT/UlVJ/1RWSf9MTUD/TU9B/1JVSP9DRz//OD03/z9GPv83PjP/P0RA/6Wmsv+wsbj/eHl4/11eXv9ZW1j/Q0U//0FERf9XWWP/jY+b/31/hv9XV1r/RkZA/0BBNf9ERUD/TU1U/1RTYP9KSlb/Tk9V/1ZZV/82PTT/QUhA/0RKQf9DRj3/RUc7/0JENv9MTz//S05B/0RIQP8+RD3/Mzsx/ys0Jf9LUUn/wcLK/6SkqP9jY2L/X15j/2FgY/9GRkT/ODs4/2ptdP+TlaD/am1x/0hIRv9JSUD/SUlA/09OT/9TUl3/UVBg/0tKWf9dXWb/ZGhp/0dMQ/9JUEj/TVRM/0RGPf8+PzT/PD8w/zk9LP80OCz/RUhC/z9DPv8nLCP/MDcp/3R5dP/Ly9L/wcHC/5WUlP+FhIn/enh//2tqbf9cXlz/hoeQ/5ydqv9rbnP/P0A9/0xNRf9TU0//VFNZ/0pJVf9HR1L/T1Fd/1xeZv9iZWX/U1dN/1VbU/9TWVL/SkpD/0VFPP8+QTT/Jioc/yElG/87PTn/Q0VC/zc6Mv9FS0D/mp2d/8bGzP/Ew8X/sK6w/6Sip/+YlZz/ko+X/4uKjv+amaX/qam3/32Ahv9DRUH/U1ZO/0NFQv9ISU//NjY//zg6Pv9bXmf/Vltg/0xNTP9VV0//XWFa/1heWP9MTEn/RERA/zAxK/8ZGxT/HiEa/zU4Mf87Pjj/Oz42/0ZLRP+doaH/qqqx/6Ggpf+lpKj/q6qw/7a0u/+qqbD/pqSt/6motP+rrLf/i4+R/0xQQ/9ARDX/PkA4/zw9Pv8uLjT/ODk6/1BSWv9GSU7/Njc5/05PSf9YW1X/W19a/1VWU/9QUE7/PDw7/ycnJv8oKyT/LjMp/ykuJf8sMSn/TVFN/5CTlf+Wlp7/oJ+n/7GxuP+3tr7/w8LJ/7q5wP+0sr3/sa+8/7GyvP+doaL/U1hG/zQ5Jf88PzT/LC4q/zs6Pf8zMzL/LS4z/y0vMv8vLzP/UE9L/1BRTv9QU1D/SUxH/09RTf9LSkn/NzU2/yovKP8nLiH/LTQn/yowJ/9qb2//o6aq/7u7w//OzNj/wsLN/7y8xv/R0dn/09TZ/7i3v/+5uMH/v8HK/62xtf9UWkX/Njsm/zs+Nf8lJyP/NjU1/zAwLf80NDf/MDIy/ykpK/9QUEz/Tk5M/0NFQv8yNy//Q0c//0VGQ/89Ojr/Ky8n/y01Jv87RDT/OT81/36Cgf+/wsb/2drj/9LR3f+4uML/w8TM/93d5f/Y2OD/trW7/7Cvt//GxtL/tLi9/0VKN/84Oy3/ODsw/yQmH/8qKSr/MC8t/zU1OP8tLi//IyUm/1lbV/9XWVX/PD46/y40K/9GTkL/PEA5/0I9Pv9AQTj/O0Q1/0FKPP86PjP/goaD/8zQ1f/Y2uX/0NPc/8fI0P+/wMP/srSz/6anpv+kpaT/t7a9/8jJ1P9+g33/Nzsn/zw9OP84Oyj/Oz4v/zMzNv85OTz/Njg6/zE1Nf8mLSP/WVtW/05QS/8wMi3/LzMu/1FZT/9LUEf/Qj88/1BQSv9KUEf/T1ZM/0FDO/92eXn/ztHX/9nb4//P0tf/pKSt/2hqZv9YXEf/SE4z/1dZS/90dnL/dnpy/0FJMf85PiX/Njcu/z5CLP9JTDr/PDw8/0NERP8/Qj//P0Q7/zc9KP9gY13/S05I/zc6NP84Ozb/UVdO/1leUv9SUUv/XFtZ/1ZaVf9cYVr/VFVP/4KDgv/Oz9L/xcbJ/3Z3df9TVU//T1I9/1FXNf9FSij/NDcg/zw/Mv8+RSv/OkQg/z5DKf84Oyn/Njoh/z1AK/8/QDn/P0A8/0JFP/9JT0L/OTww/2FkXf9SVU7/RUdA/z9BOf9EST3/WV5S/2NkXv9nZmX/YGNf/1xgWf9RUkn/b3Fn/5aXkf+kpaD/a21k/1FTQP9gZEP/VFk0/0dKLf88QCf/Oz4x/0lQMf9FTiz/Q0gw/0lOMv9JTTH/R0oy/0RHOP9GR0L/QkVB/0RKPv8zOSX/Wl1U/1VYT/9DRj3/OTou/0RJOf9haFv/amxo/2FgXv9iZF//Zmlf/1tcTv9WWET/V1lJ/1pcUP9UVUj/SUo8/1hbPv9YXjb/TlIw/0VJL/8zNSv/OD8l/0FIMP9ESDP/TVIx/0xRM/9HSzD/R0o2/0tNR/84Ojv/PEE6/zM8Jv9kaGL/W19Z/09STP89QDL/VFhB/291Yf92e3X/YWRf/2BiW/93eG3/bWxa/1FPOf9LSDj/U09C/0tINf9DQzP/TVI6/1RbOP9QVDH/UVU2/zY7Kf8mKxr/NTcm/0RCL/9FRS3/SUww/05UNf9NUjj/S05H/zo8Pv88QDn/OEAv/21uaf9naGP/XF1Y/0ZIO/9bX0b/aXBY/3uBd/90em7/ZGha/3N0Zf9fX0r/Tks2/0xHOv9VUEL/W1dA/1laP/9ITzH/SFEv/09TMP9KTTD/Njso/zI2Jf9GRi7/SEMu/09NN/9UVzr/U1k4/1BWOf9GSj7/PkA+/0BDO/85QCz/eHVw/3l2cP96d3H/WFlO/1hcRv9cYkv/d35w/252Yf9qb1r/a25a/15eR/9VU0D/TUo7/01KOv9UUzr/X2I9/1NbNf9LVDD/T1Mv/z5BKf8wNST/NTki/1FQMP9STjT/UE8z/1BUM/9DSSj/Rkwv/0VJN/89QDf/ODsy/zU7LP+IhH7/hIB6/4uIgf9yc2n/XWBO/2dtV/97gm//bXVa/3Z7Yv9+gWz/bm5Y/3BvX/9gXlD/TUw5/1FRNf9hZDz/W2M8/0tUMP9VWjT/Q0cs/zI2Iv89PyX/Xlo3/1NPMf9VVTT/X2Q//0BGJv8yOB7/PkMs/0NHNP81OSn/Q0Y5/42Ng/+NjYP/jo6F/35/dv9sb2D/Z25Y/3d/Z/9xelz/cHVc/4CCb/+HhnX/h4V5/19eT/9PTzr/Vlc7/2ZpQ/9WXjv/S1Qx/1xhOP9RVzT/P0Ur/0BAKP9dVzj/ZF9B/19gO/9nbET/TlM1/zI2I/8+RCv/Rkww/z9FLP9YXUT/mZqQ/5qbkv+Tlor/enxx/19jTv9nbVH/foVp/293Vf9ob1H/d3pn/42Nf/+Wk4b/aGVU/1dVPP9hYED/YWE9/1ZZOP9bXzz/YmY6/1tiOP9FSyv/Q0Un/1lUOf9gW0D/V1k0/1pgOv9GSzD/PkMs/zg+I/89RCX/P0Ym/19mRf+kpJ3/o6Kc/4eJfv9laFr/WV1D/2dtSf9xd1X/ZGxG/2FoRf99gWf/i4x4/4yKdP9wbFT/amVJ/3NuSv9pZD7/Yl88/2hoQ/9naj//WWA1/1FVNP9YWTf/VlM4/0ZDLP9LTy7/VV06/0BGK/9ITi7/PUQj/0BHJ/9KUi7/V106/6SjnP+cm5X/cHNn/2JlVv9malH/Z21I/2RrRP9iakP/YWhC/25yT/91d1X/cHFM/2hmRf9bWDj/cm1K/4J7VP9qZkH/Xl46/1dcNf9TWjL/XF8//2VkQf9bVjv/QT8s/0NKLP9OWjT/Tlg0/0pSK/9LUyz/R08p/1RcNf9haD//nZyR/5KTif9vcWL/XmFO/1hdQf9sckz/anFI/2JpQv9dYzv/XmI5/21vRP9oaz3/Y2Q8/2RjQf90cE3/d3BK/3FtRv9sbUf/WF44/1heOf9bWzz/ZmE//2VcQf9NSjr/QUgu/01bNf9UYDb/Tlcs/1BZLf9NVSz/UVkz/2RrQv+bmYj/io17/3BzXf9ZXkH/Vlw7/3N5VP9sckv/Y2lB/2BlPP9hYzr/bW9D/2lsPv9qbUT/amlH/2xpR/9rZkP/bWpD/3BxSP9aXTb/VVo1/1NRNP9sZEL/em1R/19YR/9JTDX/T1g1/1dgNv9UXTL/UFkt/1piOf9RWDb/T1Yz/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"ce0bf90f-d514-4d23-826a-a88c269f63e3\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"ce0bf90f-d514-4d23-826a-a88c269f63e3\",\"type\":\"ColumnDataSource\"}},\"id\":\"afe92622-50bd-488a-93e5-3906ba1d3ea2\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"204275bc-76f5-4d50-a18c-900ceb3afed8\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6ddf8e30-fcb8-44d8-ad9f-2a836f7f4135\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"83adfa9f-4738-4b91-aac6-a186b5ac22a7\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"7f0adc31-c0a8-4bb3-98fb-33226430a79c\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"9a2082e9-9e94-4762-b4bc-a61424bdee6e\",\"type\":\"SaveTool\"},{\"id\":\"6542b10b-b5e8-4683-b707-79c190f3787f\",\"type\":\"PanTool\"},{\"id\":\"7935bdf5-fd29-4ee6-9325-27f262b7ca8e\",\"type\":\"WheelZoomTool\"},{\"id\":\"aca158c2-2880-4f4b-8903-3886efd93fa9\",\"type\":\"BoxZoomTool\"},{\"id\":\"53f4dde3-2406-48b1-965b-c776cbbfd023\",\"type\":\"ResetTool\"}]},\"id\":\"1009d369-29c6-4328-933f-482923790dfe\",\"type\":\"Toolbar\"},{\"attributes\":{\"below\":[{\"id\":\"7b546776-3313-423a-9710-6b9f17185541\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"c5eede9c-92e2-4804-8a84-613907df59b6\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"7b546776-3313-423a-9710-6b9f17185541\",\"type\":\"LinearAxis\"},{\"id\":\"5c4a72c9-175f-4c8a-b521-363c4e1c68c5\",\"type\":\"Grid\"},{\"id\":\"c5eede9c-92e2-4804-8a84-613907df59b6\",\"type\":\"LinearAxis\"},{\"id\":\"8dcc1f65-9a2b-4954-8600-4c094baf737a\",\"type\":\"Grid\"},{\"id\":\"4699fdca-b0f8-41d3-a1a0-70cb6ee4206a\",\"type\":\"BoxAnnotation\"},{\"id\":\"9d6768c0-59bb-4fa3-9eea-636fc1324922\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"18e5f033-7faa-438b-8efc-c5c856598487\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1009d369-29c6-4328-933f-482923790dfe\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"56576090-524f-4a9c-ba0e-f22ae031a3fa\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"2c79af77-6abe-416f-b959-1e6142bbbb2f\",\"type\":\"LinearScale\"}},\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"62e82cf3-ad2d-418f-ae0f-f9d60e4b92fb\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f584050a-5e9a-482f-9c1e-53af58b8357f\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"c5eede9c-92e2-4804-8a84-613907df59b6\",\"type\":\"LinearAxis\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"83adfa9f-4738-4b91-aac6-a186b5ac22a7\",\"type\":\"BasicTicker\"}},\"id\":\"5c4a72c9-175f-4c8a-b521-363c4e1c68c5\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2c79af77-6abe-416f-b959-1e6142bbbb2f\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"c3ecce11-f54a-46a7-8185-3dc7cbe7aff0\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"83adfa9f-4738-4b91-aac6-a186b5ac22a7\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"7b546776-3313-423a-9710-6b9f17185541\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"f584050a-5e9a-482f-9c1e-53af58b8357f\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"b518d3de-599c-4217-8509-3fd78ce10efb\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f584050a-5e9a-482f-9c1e-53af58b8357f\",\"type\":\"BasicTicker\"}},\"id\":\"8dcc1f65-9a2b-4954-8600-4c094baf737a\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"c3ecce11-f54a-46a7-8185-3dc7cbe7aff0\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"62295622-2d62-42eb-aa8e-6686f71bce3d\",\"type\":\"BasicTickFormatter\"},{\"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\":\"4699fdca-b0f8-41d3-a1a0-70cb6ee4206a\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"6d3d7d78-16e3-4d76-9a96-b8504e9b7d87\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"9a2082e9-9e94-4762-b4bc-a61424bdee6e\",\"type\":\"SaveTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"ca8f1eec-4dc5-46f0-91f8-5c8e26fc4f7a\",\"type\":\"SaveTool\"},{\"id\":\"36b28dd2-5f7d-4660-b38f-a88fda815822\",\"type\":\"PanTool\"},{\"id\":\"6a84b7ef-8ecf-4631-9938-172fcef745be\",\"type\":\"WheelZoomTool\"},{\"id\":\"bbe69ceb-b6f6-4c72-97ef-bfc1556952fe\",\"type\":\"BoxZoomTool\"},{\"id\":\"544a2398-b8fd-4246-b5fc-66d4441eaa09\",\"type\":\"ResetTool\"}]},\"id\":\"4a136a53-eb32-4819-a966-4675b979a660\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"HyMc/x8lHf8mLyT/KDUn/zJAMf8pNyj/JzQm/y06Kv8tOCj/Mzss/zxGNv8zQDD/Kjkp/zhHN/8vPS7/LTws/zVGL/88SjT/OEYw/zpMNf8/UDr/OUY0/zA9Lf8vPzD/Kz8t/zRINf89Tz7/LD8v/zRHOf8oOy3/IDMl/yM3KP8mLiL/Iy4h/yg1Kv8vPi7/MD4s/y48K/8wPi7/MUAt/zI/Kv87RDD/RU86/ztLN/82SzX/RVhA/zBAK/8wQS//PFI3/0BPNv81Sy//OVAy/0NWN/9AUjr/M0Yy/yxDLv80Tjj/PlQ9/z9QOv8nPCn/Jj4u/yQ7LP8kOir/Jjwr/ys0Jv8nNCT/Kjkt/zRCNP8tOyr/MkAu/zRCL/81RS//NkQs/zlCLP8/SDL/O0o0/zlMNf9GWD//LT4o/y9CLv8/Vjz/O0sy/zFKLv87Uzb/SFo5/0VZPf82TDf/Jj8p/ypGMP85Tjj/RFI9/zRHNv8oPy7/ITUl/yEzJf8qOy7/MDgr/y05KP8xPi//PEo7/zFALv85SDP/Pk40/zlILv89STD/P0Yv/0BHMP9ASzT/OEYv/z9ONv80RTD/KUAq/z9WO/89TTP/MUgt/zdLMP9JWzv/SFs//0BXPv8xSzP/K0Yw/zFGM/87Sjr/MkU3/yk9K/8iMyD/ITAi/yc0Kv8xOSn/MDon/zM/Lf9EUD//N0Mv/zxJMf9FUzb/P0wv/0RNM/9FSTH/Q0gv/0BIL/86Qyz/M0Ap/zdIMv8wRi7/RVw//0VWPP8rQij/MUEq/0JTNv9BVTf/QFc7/zRNM/8tRjH/KT4t/yU2KP8qPS//LUAt/yc2Iv8rNyj/JzIn/zY+Lf85Qiz/N0Es/0VNOP9BSTL/RE0z/0dQMv9GUDL/SlE1/0ZJL/9FSS7/QUYr/z5FLf8xPCf/MUAr/zdKMf9IXkD/SVxB/ypAKP80QCz/RFM5/0JWN/86UjL/Mkwv/y1GLf8oPiv/IjQm/yc5Kf8sPir/Kzso/y07Kv8nMyX/P0c1/z1FLv86Qiv/SU42/05RN/9KTjP/Sk0y/0dNMf9JTjL/UVE3/0xNMv9HTDD/QEgu/y84JP8zPir/PU0z/z9VNv9EVzz/MEUu/zpEMv9NW0L/Sl49/0RcO/8zTC//MEku/y1ELf8oPSz/LUAs/yo9KP8pOyj/Kzsp/yY0I/9ASDX/PUUu/0JHMP9dWj3/YVs7/1BSN/9KTDP/SUow/1JSNf9hXTr/VlM0/1pdQf9LUjb/OD8n/z1HLv9LWjz/OUww/zVLMP8zSTD/PEcz/0pWO/9FVjn/PFE0/zFKLv8wSzH/LEQv/yw+Lf82RjP/KTgl/yw7Kf8uPiv/LDwn/0FJNP9BSTP/S004/2xmRv94bEb/UE8y/0pNNf9KSDD/WlQ1/3drQv9bVTT/W11D/09WOf9ETDH/RE8w/0lWNf85Ry//MEct/zJIL/88STH/SVQ2/0BONP8tPyn/LkUs/zBONf8sRTH/NkY0/zlGM/81QC3/PEcz/zVCLf80RC3/Rk44/0VMNv9OUTr/ZGJB/5CBV/9lWTX/REQs/0JCKf9cUTD/hW9J/1dOL/9BRy7/SFA2/0pTOv9ETzL/RlAw/0NMNP85STD/NUQr/0ZPNv9NVzn/P0wz/zdJM/8ySS//M081/zlQN/9GVT3/Q083/0NON/9KVD//OkYv/zpHMP9FTTb/QUkx/0hLM/9WVjP/pJFg/5uDV/9UTTD/XFk6/3BdNf+RcUj/ZVU2/0dLMv9HTjX/SlQ8/0RNMv9HTS//U1c//0ZONf8+Ri3/S083/0tTNv9CTjX/RlZA/zxSOP8xSjD/Rlo+/1FdPv9KUzb/TVc7/0lTOv88Ri7/Pkcw/0JKMv86Qir/S041/11aMv+oj1n/spNh/35tRf+fkGP/nYJP/5l1RP+Ib0b/a2NB/1RUNv9ITzT/Q0sw/0ZJLv9MTTP/S040/0pNNP9OTzX/TVQ2/0lTO/9CUTz/OEw0/y5FLP9NXkH/VF48/09WNv9PWDn/SFA0/zxDKv8/RS7/R082/zpCKf9HSjH/bmU4/62OVf+phlL/pIhU/76gZv+1lVj/o39C/6WDTv+Mc0j/ZVs4/0xPMP88Qij/Q0Us/0dILv9SUzj/UFA2/1VXO/9WWz7/SFE5/zlHMv81SDD/M0cx/0VTOP9NVDD/TlEx/05VNf9NVjb/Qkgu/0JGL/9DTjX/OEAp/09QNP+OfUz/poNJ/6F8Rv+1klX/xZ9e/7yXVv+wi0v/sopP/6eEUf97aED/WVU2/0NHLf9FRi7/SEou/1RUOP9WVjr/WVs9/1pfP/9GTDT/NT8r/zJDLP81RzH/QEww/0xUMf9QVDX/UFc3/1FZOf9ITDH/S0w1/zlFMf8yOyn/V1U3/5eATf+fe0H/ontA/7eLTv/AlVX/sYdK/6yBSf+qf0j/oXxE/4pwRf9qXkD/S1Az/0VGLv9MTjH/VVc5/15eQP9WVjb/Vlg1/1BRNv87Pyz/M0As/ztLNP9PWDn/SVY1/0tWOP9VXT7/VVs//01NNP9QUTf/OUMu/zM8LP9ISC//eWQ3/5t4RP+bczz/pnc9/7CARf+meUD/n3M+/6J3Qf+VcTv/jHBE/3xrSf9UVzf/Sksx/1NVN/9WWDj/X2A//15ePP9bXDn/UlE2/0RGMv82QSz/M0Ap/1BXOP9BTC3/RU8y/1FXOf9SVjv/V1Y8/1RVOv85QCr/Mzss/z5CLv9YTSr/e2Q9/35gNf+GYDH/kGo5/5FuQP+KaT7/hmk7/3xgMv+BZDr/inZO/1tbPP9MTzX/Vlk7/1RWNv9eXzz/Y2M//15dPP9VUzf/TE02/ztDLf8uOSH/UlY2/0RMLf9LUTf/TE8z/1RWPP9aWUD/XF1C/zY7Jv8xNyj/Qkc1/0tNNP9LSC7/WlE0/2dXN/9rWzn/YFIz/1xPMv9aUTD/W08s/3dgN/+VgFL/X1w//0hMNP9RVDn/T1Ey/1dYNf9dXTn/W1o6/1dUN/9TUTj/RUgy/zY9Jf9XWDj/R0su/0xON/9PTjT/Wlk//1NQN/9ZWkD/Njom/zA0Jf8+QjH/R1E4/z1JMP89RCz/QEQr/z9EKv9ARS3/SU03/1BTOf9OTTP/b2E6/6ORXv9cVz7/P0Ev/0pNNv9HSC7/V1c4/1tbOf9bWDr/WlU3/19bP/9QUDr/QUQt/1xZOv9XWDz/U1I9/1RQOP9YVDv/UU00/1dXPP85Pyv/Nzop/0RHNP9FUDP/RFI0/0FOM/8+SzH/P0wy/0NQN/9PWUH/VVtA/0pONv9gWjb/qJhm/1BJNf8/QTL/PkAt/z9AKv9WVjv/WFk5/1lYOv9dWDr/Y15C/1JQOf9LTDP/YFw8/2BfQv9XVD//TUcw/1JONv9LRi//VVU7/zU+J/87QSr/TFA4/09YN/9KVzX/SFY3/0VUOP9JWDz/RFI1/0pVOf9TWz7/Q0wz/1dWMv+VhFn/RT0u/0VHNv86PCj/QUIt/0lLMv9OUDT/UVQz/1laOf9hXkH/VVE3/1lWOf9lYT7/U08v/1JMNP9KSC7/Tk43/z49K/9NTzf/PUUs/0VNNP9MUzj/Ulw6/01aOP9JWDj/RVQ5/1JgRP9IVDb/SlU3/05XOv8+Ry7/WFY0/4h3Uf9NRDX/QEEv/z4/Lf8+Pyz/PD4o/0NFLf9KTy7/VVk4/1xbPv9YVTr/Y15A/2toRf9aVTT/VlA2/0pKL/9LTjf/ODko/0RGL/9RVz3/T1g9/0lUN/9OWjb/SVYz/0ZVNf8/TjL/TVs+/01YO/9JUzX/TFQ3/z9FLP9fWz3/inpZ/1tTQf9IRjT/NTYl/zM1JP88Piz/Q0Ux/0dOMP9QVTb/U1Q3/1dVO/9iYEL/ZWNC/1ZUNP9PSzP/Sksy/0ZJMP82OCX/REcv/1VaP/9KUzf/SFU2/1JfO/9NWjj/R1Y2/zxLMP9DUDT/TFY4/0xUN/9LUTX/Q0gv/1tXPv9tYUT/X1xE/11aR/86PSv/Njko/z1AL/87Py3/P0gu/09XOv9RVDn/VFQ6/1tbPv9cXT3/Tk8w/0NCK/9GSDD/Qkct/zs/J/9ITDL/TVQ4/0RNMP9GUDH/U187/1BdO/9KWDn/Pk0x/0JPM/9KUzb/T1Y6/05SN/9DRy//R0Qv/0lFK/9OUTT/W1pE/0VIM/85Pin/PEAu/zk+K/87RS3/SlQ6/1JYPv9MTzX/T1E1/1RXOf9GSCz/Oz0n/0dLM/9HTDD/Rkwx/05UOP9MVjj/SE8y/0lPMf9TXTr/WWZD/09ePv9DUjf/SFQ4/0hPM/9OUzj/U1c8/0NIL/8+Pyz/RUcv/0RNK/9FRy3/REkw/z9FLf88QCv/NTsm/zlELf9GUTj/T1c+/0VJL/9BRSr/TlI1/0ZKLv8/QS3/TFA5/0lQM/9TWjv/Vl0//0pUNv9HTi//UVk4/1NgPP9VZD//U2I+/05fP/9IWDn/R1Ix/1BYOP9RVzj/SU4v/0pOMv9FSjD/SlIy/0tPMf9HTC7/Rkww/0BGLv8wNyH/NT8p/0BMNv9ETTb/Q0gv/0NKLv9OVzn/TFM4/0VJNP9FSzL/RE0v/0xXOP9IUTT/REw1/0dNMv9UYD7/V2ZE/1VkP/9VYj7/TWA//0NVNf9MWDf/UFk5/1FXOP9QVDP/UlU1/0NHL/9GTDL/UFg4/09WNv9JUDT/QUkx/zQ9J/89RjH/PEg1/zhDMP8/RS3/R1E2/0xZPf9QWED/QUcw/zxEK/8/Si//QlA1/z9KMf88QjL/SVA4/1VgP/9YZ0T/WWhE/1VjQP9LXDz/RVY2/09bOv9LUzT/U1g6/1dZO/9TUjj/P0Iv/0ZNOP9OWjz/VmND/01ZPP9BSzH/QEky/0ZPOv9ASzf/PEYx/0ZMNf9RW0D/Ul1D/09YQP9ESzX/QUky/0FMNP84Ri//OkUw/z1FMv9LVDf/VmI7/1toQP9ebUT/VWU+/01eOf9RYDr/VWE7/1FZNf9YXTr/WVo4/1BQM/88Pyr/P0kx/0ZXNf9QYjz/UGE9/0tXNv9HUDL/SFM3/0xXO/9MVjj/UVo7/1RePv9TXj7/U11A/1BaPv9HUDX/R1I3/zNBJ/84RCv/Q002/0xYOf9WYTr/Y21D/2JvR/9VZT//WGhC/1tpQv9daEL/Vl04/1VZNv9YWjf/TlAx/zY7JP9DTjX/Slk3/1hoQv9bakX/UV05/0RPLf9CTy//UFo6/1RdO/9WYD7/VF49/1NcPP9WYEH/VF9C/0lTNv9IVDf/NUQo/zxILv82QC//QE01/1FaPv9cYkT/U15C/0lXPv9MWT7/UFo+/09XPf9LTjb/SEgx/0tLM/9ESDH/LzQm/zxENP9ETjf/VV1F/1VdRP9JUjj/QUsy/z1JM/9JUjr/UFU8/0xUPP9GTTj/SlE8/0hRPf9EUDz/PUcy/0FMN/82Qy7/ND4s/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"4c66090d-3882-4fa9-b27b-39e8036fb24f\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"6542b10b-b5e8-4683-b707-79c190f3787f\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"7935bdf5-fd29-4ee6-9325-27f262b7ca8e\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"a623a538-c7fd-474d-a335-dc629f76151d\",\"type\":\"LinearScale\"},{\"attributes\":{\"overlay\":{\"id\":\"4699fdca-b0f8-41d3-a1a0-70cb6ee4206a\",\"type\":\"BoxAnnotation\"}},\"id\":\"aca158c2-2880-4f4b-8903-3886efd93fa9\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"53f4dde3-2406-48b1-965b-c776cbbfd023\",\"type\":\"ResetTool\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7ef0cb30-1e9d-4918-824b-32688203b479\",\"type\":\"BasicTicker\"}},\"id\":\"a87a9c95-7f40-4c1f-a10b-24af6f8d5d04\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"5c2d5937-bda8-4447-9897-20f48081caf3\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"bc4901d6-0254-44b1-bef7-810b1297fcf4\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7f0adc31-c0a8-4bb3-98fb-33226430a79c\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5c2d5937-bda8-4447-9897-20f48081caf3\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"a0ba8a27-e4c1-4aae-ab92-e8a5ab236fdc\",\"type\":\"CDSView\"}},\"id\":\"9d6768c0-59bb-4fa3-9eea-636fc1324922\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"bc4901d6-0254-44b1-bef7-810b1297fcf4\",\"type\":\"ColumnDataSource\"}},\"id\":\"a0ba8a27-e4c1-4aae-ab92-e8a5ab236fdc\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"62e82cf3-ad2d-418f-ae0f-f9d60e4b92fb\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"cac65d26-5d24-4b8b-8d93-f4fd69610fa7\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"cbc6827f-4d6e-45be-aa17-b94573100525\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"3163c516-2875-4898-9455-ed577c6bc143\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7cf48715-c7c2-4d54-bc89-6ce8af113390\",\"type\":\"SaveTool\"},{\"id\":\"55027a8e-8d9f-4f10-bf01-1b2a7fa551de\",\"type\":\"PanTool\"},{\"id\":\"eeadd61b-6153-429d-9985-a2759a416d70\",\"type\":\"WheelZoomTool\"},{\"id\":\"854b2e77-d8c0-4264-bd48-fb990e836607\",\"type\":\"BoxZoomTool\"},{\"id\":\"c8782eff-41b6-40bc-a6b9-742a8457da40\",\"type\":\"ResetTool\"}]},\"id\":\"73995d1c-1b0a-4e91-8737-d3a7d5ffc467\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"62295622-2d62-42eb-aa8e-6686f71bce3d\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"cc50a70c-0ed3-4595-8f57-e4b8160fd69a\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"e0829748-62ae-4d38-a523-e2b7e79cc4fc\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"9c9c702c-6cf6-477d-8f1a-289bf533bfd4\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"e0829748-62ae-4d38-a523-e2b7e79cc4fc\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"506e589f-77d7-468f-aa80-4c828b4c9424\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"e0829748-62ae-4d38-a523-e2b7e79cc4fc\",\"type\":\"LinearAxis\"},{\"id\":\"eac3510e-6697-4144-bbc3-a1081ed6df65\",\"type\":\"Grid\"},{\"id\":\"506e589f-77d7-468f-aa80-4c828b4c9424\",\"type\":\"LinearAxis\"},{\"id\":\"2b4d5db9-363f-4b8c-a0d8-d67f00437c51\",\"type\":\"Grid\"},{\"id\":\"9d57b7e1-f9ef-4d89-b037-7b5d7d4da8d3\",\"type\":\"BoxAnnotation\"},{\"id\":\"9f854be2-0263-4b9f-a117-b33a1cc8ae38\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3163c516-2875-4898-9455-ed577c6bc143\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"73995d1c-1b0a-4e91-8737-d3a7d5ffc467\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"9c9c702c-6cf6-477d-8f1a-289bf533bfd4\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"cac65d26-5d24-4b8b-8d93-f4fd69610fa7\",\"type\":\"LinearScale\"}},\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"c891007f-2447-47dc-8a1e-7c4ccbb6ff0f\",\"type\":\"SaveTool\"},{\"id\":\"9fdb4bcf-6f49-42c0-bf77-bd3372a20273\",\"type\":\"PanTool\"},{\"id\":\"ecc6ec98-1b55-4ca6-962c-5037192b00d9\",\"type\":\"WheelZoomTool\"},{\"id\":\"130285fb-da65-438d-988b-2b896d04b97d\",\"type\":\"BoxZoomTool\"},{\"id\":\"02595bef-a090-4c1a-b15e-3599037ef89c\",\"type\":\"ResetTool\"}]},\"id\":\"a7dbf1ee-5885-418c-9b77-4c76ec6f6688\",\"type\":\"Toolbar\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"cc50a70c-0ed3-4595-8f57-e4b8160fd69a\",\"type\":\"BasicTicker\"}},\"id\":\"eac3510e-6697-4144-bbc3-a1081ed6df65\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"cc50a70c-0ed3-4595-8f57-e4b8160fd69a\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"763d769f-8d77-4cf1-aec2-71424fc931ff\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"57ed5e4a-d0cb-4302-bd28-f216d69fd46f\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"30ad2369-c61a-49dc-bdd8-18d68a077b57\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"506e589f-77d7-468f-aa80-4c828b4c9424\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"30ad2369-c61a-49dc-bdd8-18d68a077b57\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"389bf6ba-e788-4108-bd2c-a18c822a4697\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"30ad2369-c61a-49dc-bdd8-18d68a077b57\",\"type\":\"BasicTicker\"}},\"id\":\"2b4d5db9-363f-4b8c-a0d8-d67f00437c51\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"4c66090d-3882-4fa9-b27b-39e8036fb24f\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"cbc6827f-4d6e-45be-aa17-b94573100525\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"83f950fe-72eb-47d3-859b-d21ec6b8b74e\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"af6ae943-45ea-436c-b8b6-dba55f202123\",\"type\":\"CDSView\"}},\"id\":\"9f854be2-0263-4b9f-a117-b33a1cc8ae38\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"6524f544-2c54-4569-9962-88eeabe5e25c\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"e4b47940-e04f-485a-9e9f-6806bbe8dc29\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"6524f544-2c54-4569-9962-88eeabe5e25c\",\"type\":\"LinearAxis\"},{\"id\":\"fd61453f-c3be-44d5-9885-b32317e57cd3\",\"type\":\"Grid\"},{\"id\":\"e4b47940-e04f-485a-9e9f-6806bbe8dc29\",\"type\":\"LinearAxis\"},{\"id\":\"52bcd2aa-350b-4d59-a958-a9135bc248d2\",\"type\":\"Grid\"},{\"id\":\"a9efb034-ae76-4b03-9e1a-6d879b158e28\",\"type\":\"BoxAnnotation\"},{\"id\":\"85b3981b-7ef8-46e6-9827-f415eb64df83\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"14c51780-c963-49b5-9855-cc54922afbf4\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"003193e9-b0b1-4995-9993-b808c04131fc\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"cffd724d-b0ec-4121-805a-d17c7c7d3440\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"ce1b4e25-1926-413d-9958-71f4795055e6\",\"type\":\"LinearScale\"}},\"id\":\"837bf34a-097e-4089-bda5-369d8af132ed\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"83f950fe-72eb-47d3-859b-d21ec6b8b74e\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"7cf48715-c7c2-4d54-bc89-6ce8af113390\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"eeadd61b-6153-429d-9985-a2759a416d70\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"55027a8e-8d9f-4f10-bf01-1b2a7fa551de\",\"type\":\"PanTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1c44f83b-147c-4121-853c-ea0829ad7a23\",\"type\":\"SaveTool\"},{\"id\":\"431be251-c39c-48f3-b0df-286f7cd0605d\",\"type\":\"PanTool\"},{\"id\":\"fe95af3e-ef01-42f5-8ff7-c011758122e1\",\"type\":\"WheelZoomTool\"},{\"id\":\"a3514a93-23ce-4a46-aa3b-54ee88879746\",\"type\":\"BoxZoomTool\"},{\"id\":\"ece5eed0-3b6b-42af-aded-9195266ece61\",\"type\":\"ResetTool\"}]},\"id\":\"1f3c02e4-8e9d-4e89-8238-10a2f0e25247\",\"type\":\"Toolbar\"},{\"attributes\":{\"below\":[{\"id\":\"3e18d3b6-6cec-4c6b-805a-89e84e562788\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"b6cd3a19-f66f-4057-b03d-7d5d45d4f03d\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"3e18d3b6-6cec-4c6b-805a-89e84e562788\",\"type\":\"LinearAxis\"},{\"id\":\"a87a9c95-7f40-4c1f-a10b-24af6f8d5d04\",\"type\":\"Grid\"},{\"id\":\"b6cd3a19-f66f-4057-b03d-7d5d45d4f03d\",\"type\":\"LinearAxis\"},{\"id\":\"1ba0e6c2-fdcb-4fad-86c7-a9d399f0677f\",\"type\":\"Grid\"},{\"id\":\"a2dd8f11-c5d3-480e-b970-fa51db43764e\",\"type\":\"BoxAnnotation\"},{\"id\":\"756ff6c7-b10f-4732-953f-a027b7a1b60e\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"47f8cad3-f43a-48e3-9e7d-81be735b6258\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4a136a53-eb32-4819-a966-4675b979a660\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"6ddf8e30-fcb8-44d8-ad9f-2a836f7f4135\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"763d769f-8d77-4cf1-aec2-71424fc931ff\",\"type\":\"LinearScale\"}},\"id\":\"11e8eac6-5d19-499d-ac19-1674cfef18ff\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"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\":\"dfa62509-f8ab-4d2b-822a-aa7d5c62275b\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"82e46496-d9f3-40b8-9e0e-8f0935da99b5\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"b1cc3c5a-7323-43b9-b552-e0afd6c00669\",\"type\":\"ColumnDataSource\"}},\"id\":\"ad68560a-50e7-48f1-ad3f-efe38b91f5fd\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"eed8a7e3-4332-4c5d-b7bb-ad6f3743fb29\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"e3e35536-f697-48bc-8395-3e2462f9262e\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"6129286a-08ec-406d-9fe7-815acd3e1e4e\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"ee72fad9-13ec-4b34-8f6b-3a49a2cffbfc\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"//////////////////////r6+P/DxL3/kpSG/4SEdf+DfnL/e3Zq/62onP/q593/9fX1//n5+f///////////////////////////////////////////////////////////////////////////////////////////////////////Pz8///////t7On/hoN8/zk1Kv8wLBz/PDYm/0Q6Lf9FOSj/ZFZB/4V3Yf+Yj3z/kIp7/62qnv/q6eL//v/8//39/P/+/vz///78///+/f/////////////////////////////////////////////////////////////////+/v3/9vT0/3l2b/8qJBn/LCQY/zkuIP9GOi7/SDwv/1FBLv9vXEH/fmhH/4p3Uv9yY0P/aF1E/6agj//y8+////////39/P///v3///////////////////////////////////////////////////////////////////////f28/+Vko7/KiYd/y4oHf8xKR3/NSsc/0I3Kf9GOyr/VEUv/2xZPv+Fbk7/noZe/5N9WP9wXT7/hHVd/7q4sf/j5eX//v7+///////+/v/////////////////////////////////////////////////////////////6+ff/j42H/ysmHv8uKiD/LScc/ywkGP8wJRf/QDUk/0xCK/9aSzL/ZlM4/4ZvT/+iiF7/n4Ze/4NqR/+EblD/fHRl/317c/+2s6//+/r4///////+/v7//////////////////////////////////////////////////////8fFwv80Lyf/Jh8T/zArH/8tJx3/KyMX/zInGv9FOif/TkUp/1NFKf9iTzT/gmtN/5uEXf+okGn/nYRh/5eAXv99b1P/Z15H/2tkUf+wrJ7/8/Lu//7+/v//////////////////////////////////////////////////////pqSg/ysnHP8uKBr/MCsf/y0nHv8pIRb/LyUW/0U6Jv9LQCb/UEEm/2JQNP96ZUf/lYBb/6uVcP+mkGz/sZp3/5qHY/98bUz/d2pQ/2tiTP+enJP/9/f3//////////////////////////////////////////////////////+7u7X/OTgq/zIvI/8vKyH/JyEZ/yUcFf8wJhX/Qzci/0g6Jv9TQyv/YVA0/3ZiQv+Vf1v/ppBs/6mTb/+5o3//qZNw/4d1Vf94aVD/bmNQ/3d0av/u7uz////////+//////////////////////////////////////////////b28v+NjIL/MC0i/ywoHv8lHxj/Jx4X/zYsG/8+Mx7/STwo/1VGLv9gTjP/dmND/5F7Wv+lj23/tZ99/76ohf+qlXH/kX5e/3JjSf9sYUz/mpeN//j49v////7///7//////////////////////////////////////////////////8vJxf84NCr/Liof/y0nIP8rIhv/OTAf/0Q4JP9OQC3/Vkcv/2NSNv9qWDj/hnRS/6uYd/+8qYj/rZp4/6KOaP+TgV7/alw//3RpUv/QzcL////+//7+/v///v//////////////////////////////////////////////////4+Dh/0xIQP8qJxv/Lyki/zAoIP9COCf/ST0p/0w+Kv9YSDD/a1o+/2hWNv+GdVX/rZx8/6uaev+ZiGj/o49o/5aFX/90Zkf/gnhf/+Xj1////////v7+///////////////////////////////////////////////////////59/b/fHpx/zAtIP8tJx//ODAn/0Y9Lf9GPCn/Rzso/1JELf9nVzz/c2BC/3tpSf9/b1H/hHZY/5KCYf+olW7/j35Z/31uUP95blD/2dfD/////v/+/f7////+/////////////////////////////////////////////////////P+4uaz/NTMm/y0mHP82LyX/PDUr/z85K/9BOin/ST4q/19QOP9vXED/clw7/2hbPv99dFX/l4pl/6GSa/98bE//dWVL/31vSP/LyJ7/+vnz///9//////z////+///////////////////////////////////////////////8/93e1P9HRDn/LSUb/zQtI/8yKyH/Miwg/zgxIf9ANSL/UEEp/19OM/9kVDf/c2dL/4Z5Wf+gj2n/h3pY/11ROf9iVT//fHFO/7Swg//p59b///3////+/v////////////////////////////////////////////////////z/7+/q/2JfVv80LCL/Ni8l/zEqIP8tJhr/NC4d/0A1Iv9JOiL/W0sx/2JYPP92akv/loVj/6CNaf9hVjr/Ukk0/2NaRP9xakz/m5Nq/83Gpv/69+////7////+//////////////////////////////////////////////39/P////7/i4eB/zcwJf80LSP/LCUc/yokGP84MSH/Ukg0/2laQv9nVzz/bWJC/5CAXf+lk3H/emxP/09CK/9mWkT/aV1E/3RoTf+QgWH/rqJ3/+jizP///f////7//////////////////////////////////////////////f3+///////Kx8L/R0E2/zIrIf8mHhT/Ix0Q/y4oF/9FPCj/Wkw1/29gRf+Of1v/n4xm/4JxUf9USjL/ZFU//3RkSv9dTjH/cGFE/4p3XP+cjV//z8Wm//36+P////3////+//////////7////+///////+/v7//v79///////+/v7///////n59f+MioD/ODIm/zEmGP8uJRT/LSoW/zMtGf8xJxX/SDso/2dXOv9wXkD/X04x/2VVOv9zZEj/VUs0/01FL/9kWzv/eW1J/5OEVv+6rIT/8u/i//r//v/8/v3///3//////f/8//v//P7+/////v////7///////7+/v///////////+no5P+KhXr/TkMy/0c7Jv9IPCf/TT8o/09AJ/9ZRiv/Y04v/2hVN/91ZEj/fW5T/11RO/8/Nir/SEI3/15UP/9wZET/jn1U/6uacP/d2cH/+v/5//v9/f/7+Pn/8vHx//L18v/19+7/293R/9TVz////////v7+///////+/f////////Px6v+uqpn/gXZi/29bSP9tVz7/a1Q0/3FZNf9zWjj/b1s8/29iSP9iWUT/WE4+/0Y+Mv9DPS//XVE7/3BfRP+Gc1D/no1j/721kv/Y2ML/1dXE/8jEsv+cmoz/iIl7/5OTe/9mZlT/ZGVe///////+/v7////////+/////v7////9//388v/s6Nz/0si7/7qunf+tn4n/rp6G/6eYgv+hlYP/oZmL/6SglP+clof/XFdE/0xHLf9hUzT/dWFD/4RvS/+XhVr/o5Vt/6GZdP+inHP/o5ht/3xyTv9PSS7/WlU6/0xIOP+KiYb///////7+/v////////7+/////f/+/v3//v39//7//v/+///////+////+//+/fn//vz5//78+v///fz////+//Lu6v+dmo7/XVZB/2dWPv92Xj//h3BI/5mHXP+ei2L/mYdg/5qJXP+Yg1L/inVP/2paQv9USTb/XFVO/9jW1v///////v7+//////////3////9///////+/v///f7///v+/v/8/////f////7//////////////////////v////////Hx8P+hmo3/g21S/41vS/+HdEr/lIJZ/5yEX/+YgVv/i3RL/39oQP99aEn/aVlG/0pDPP+inp3//v3+///////+/v7////////////////////////////////////////////////////////////////////////////9/f7//f////Lx5/+2o4X/nn9b/3hnQf+DcUv/im9N/4BqSv9wXD//bFpC/2RUQf9JPTD/bGxr/+3t7f////////////7+/v////////////////////////////////////////////////////////////////////////////7+/f/7////+/75/8m/rP+dgmf/fm5N/2paOP94Xj3/bFw//1FFM/9ENyj/TkE1/2VbU//T0tH///////7+/v///////v7+//////////////////////////////////////////////////////////////////////////7//v77//v//v/7/vv/p52N/3xiTf93aU7/XU4w/25XOP9oWTn/UEUp/0pAKf9TTDn/v7uu///////+/v7////////////+/v7//////////////////////////////////////////////////////////////////////////v/+/vr//P/9/93a0/+BbVf/fF5L/3tuWf9fUjf/YEst/2NPLv9zXUD/ZVZB/52Xi//8+/b///////////////////////7+/v///////////////////////////////////////////////////////////////////////v7+/////v/s7Oj/hHtw/3RdRf9/ZlP/e29c/2pdQv9jUTD/dmNB/35oUP+XiYH/9PDx///////+//7//////////////////v7+///////////////////////////////////////////////////////////////////////+/v7//////8bEwP9MRTr/bmNS/3ZsXf9tZVX/a2JK/4d8Xf+Bdlb/n5WG/+zn5////////f78/////v/////////////////////////////////////////////////////////////////////////////////////////////+/v//////oqGg/z09Of9XV1P/hoaB/7m4r/+koZL/Z2NO/4R+bf/w6uj///////79/v/+//z////+//////////////////7+/v/////////////////////////////////////////////////////////////////+//////7///78/P+gn6D/ZGZp/5WdoP/b4OD/+/77/4qLhf9PT0T/0c/J///////+/P7///7+//7//P////7///////////////////////////////////////////////////////////////////////////////////////////////////7//+bk5//X2Nv/9Pj5///////q7Oz/l5iW/6emov/39vP//////////////////////////////////////w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"cb31e2b5-c1f3-4380-bedd-bcf7dbf17f84\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"e23d7218-1879-4d5c-91e4-2a08fa01e226\",\"type\":\"LinearScale\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b320357c-c25a-4ccc-b26a-de044d3084cb\",\"type\":\"BasicTicker\"}},\"id\":\"ea25e95c-3fd2-40c2-b2ed-fdfbcb6185c5\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"5fe31e44-bea5-4253-bcfd-ba38a934b1ff\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"b320357c-c25a-4ccc-b26a-de044d3084cb\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"99e23b9b-4b0c-4265-86a7-179a5f10da03\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"74a68715-be65-42ca-abfb-d92e54114a8b\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"64b56d33-ad96-412d-b3af-52fe0cda1fb4\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"74a68715-be65-42ca-abfb-d92e54114a8b\",\"type\":\"LinearAxis\"},{\"id\":\"d2d641b6-42aa-4566-83f9-3728a388da8e\",\"type\":\"Grid\"},{\"id\":\"64b56d33-ad96-412d-b3af-52fe0cda1fb4\",\"type\":\"LinearAxis\"},{\"id\":\"ba02b10b-79ec-4392-9c3a-cd4587bb9b2e\",\"type\":\"Grid\"},{\"id\":\"9aaa70ad-6548-4a1e-8f89-4edc965ac374\",\"type\":\"BoxAnnotation\"},{\"id\":\"91f929cf-d6ba-4a0e-a97a-d646f46c5de5\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2acf0edf-dd06-4e41-8920-7f73f87f7647\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"a7dbf1ee-5885-418c-9b77-4c76ec6f6688\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"6d3d7d78-16e3-4d76-9a96-b8504e9b7d87\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"a623a538-c7fd-474d-a335-dc629f76151d\",\"type\":\"LinearScale\"}},\"id\":\"c1ceb5ca-9a06-4216-a007-782b29c05a70\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"b320357c-c25a-4ccc-b26a-de044d3084cb\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"6f751274-e801-46ef-ae6d-2ee4951def19\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"35c51932-04ad-4df7-8282-752b2a462262\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"8fa671b8-f47c-4708-9203-deb6f2866ecd\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"35c51932-04ad-4df7-8282-752b2a462262\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"5158ae34-7d03-48b1-a0e4-0716f6183043\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"35c51932-04ad-4df7-8282-752b2a462262\",\"type\":\"BasicTicker\"}},\"id\":\"499febb7-74e2-4d72-b6c2-f5aba2b97094\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"fed76953-0977-498a-8bd4-3a8a6dde99dd\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"5fe31e44-bea5-4253-bcfd-ba38a934b1ff\",\"type\":\"BasicTickFormatter\"},{\"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\":\"ca405490-4009-4fbf-8ec4-9ea0839a4cee\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1c44f83b-147c-4121-853c-ea0829ad7a23\",\"type\":\"SaveTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"740946be-d2bf-428f-a0e7-c902a7831566\",\"type\":\"SaveTool\"},{\"id\":\"a0e5e36b-c381-4828-a902-2b81b6d12ef0\",\"type\":\"PanTool\"},{\"id\":\"3929aba7-1a14-45d3-bd26-00aaaa849a40\",\"type\":\"WheelZoomTool\"},{\"id\":\"1b26643b-f08c-4394-9ec9-7555a1ca83dd\",\"type\":\"BoxZoomTool\"},{\"id\":\"0c61ccb7-5270-4ebe-b7c6-020a175dc5a2\",\"type\":\"ResetTool\"}]},\"id\":\"2dec4802-6d9f-4bf5-a0cb-816c17379a46\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"431be251-c39c-48f3-b0df-286f7cd0605d\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"fe95af3e-ef01-42f5-8ff7-c011758122e1\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"ca405490-4009-4fbf-8ec4-9ea0839a4cee\",\"type\":\"BoxAnnotation\"}},\"id\":\"a3514a93-23ce-4a46-aa3b-54ee88879746\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"ece5eed0-3b6b-42af-aded-9195266ece61\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"e44aa90b-bb95-419e-9e1a-a78d9e65549a\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"9335b9e0-772b-441f-9f6e-448aa87ea079\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"fed76953-0977-498a-8bd4-3a8a6dde99dd\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"e44aa90b-bb95-419e-9e1a-a78d9e65549a\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"cd34ee95-c38e-4676-b3aa-b6f00bd85e5d\",\"type\":\"CDSView\"}},\"id\":\"0ee2307f-79fe-4208-a207-d17083fd6715\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"102b8935-3dfc-40fa-b333-3c3c11932218\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"9335b9e0-772b-441f-9f6e-448aa87ea079\",\"type\":\"ColumnDataSource\"}},\"id\":\"cd34ee95-c38e-4676-b3aa-b6f00bd85e5d\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"6f751274-e801-46ef-ae6d-2ee4951def19\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1fe48dd0-e616-4cd8-abe6-eea5d2a543c9\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"92791279-efba-4229-9f3c-e9f40a48c778\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"34b5ac67-2ab1-4b23-ba6b-16537cdfa5d2\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"c87f4ac9-2713-4ca3-bb30-cc50b067e40c\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"3a4a98f1-db8a-4410-83b5-0bbd7c8ffc4c\",\"type\":\"CDSView\"}},\"id\":\"45cba3f2-90c3-46e7-93a4-01bf581fb258\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"7d2ef225-7469-4cd2-bc17-58d7b15fa52e\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"0955c587-2f22-4749-b8a2-a5106361a413\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"7d2ef225-7469-4cd2-bc17-58d7b15fa52e\",\"type\":\"LinearAxis\"},{\"id\":\"ddd3e735-6803-423e-9bcb-ce3bad3b27c3\",\"type\":\"Grid\"},{\"id\":\"0955c587-2f22-4749-b8a2-a5106361a413\",\"type\":\"LinearAxis\"},{\"id\":\"eb0308b1-44e1-4ec2-916a-2e4f2db6914d\",\"type\":\"Grid\"},{\"id\":\"762bd3bd-9832-4888-8819-19394d760c3e\",\"type\":\"BoxAnnotation\"},{\"id\":\"dcc3127c-9e4e-433f-8bd7-0fa702a3a9bb\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"f0445a70-54e9-4c77-92f8-2ecf4166a6dd\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2dec4802-6d9f-4bf5-a0cb-816c17379a46\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"b222f803-5fb5-4f41-9017-6c00d1470c1c\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"1fe48dd0-e616-4cd8-abe6-eea5d2a543c9\",\"type\":\"LinearScale\"}},\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"b222f803-5fb5-4f41-9017-6c00d1470c1c\",\"type\":\"LinearScale\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"f0445a70-54e9-4c77-92f8-2ecf4166a6dd\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"5cc240a1-e6d2-484f-83fa-8eabbcd64967\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e38bb99a-84cc-4019-9771-ad40f0e0cf23\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"7d2ef225-7469-4cd2-bc17-58d7b15fa52e\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"b473a5ee-9aa6-4451-a6ef-92b2833b05bc\",\"type\":\"BoxAnnotation\"}},\"id\":\"cfd58bb3-6f23-4933-a010-3413485f282e\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"b0b9a57d-257e-42d0-8797-93cc7ea427fd\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"e38bb99a-84cc-4019-9771-ad40f0e0cf23\",\"type\":\"BasicTicker\"}},\"id\":\"ddd3e735-6803-423e-9bcb-ce3bad3b27c3\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"e38bb99a-84cc-4019-9771-ad40f0e0cf23\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"efb6e774-40ff-4bfe-9b58-498a2e956bba\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d10b21e3-0a71-43ca-8897-c994ebc0c623\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"0955c587-2f22-4749-b8a2-a5106361a413\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"d10b21e3-0a71-43ca-8897-c994ebc0c623\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"0ddfdbce-fa6e-4364-90ec-1ed2cc86e279\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"d10b21e3-0a71-43ca-8897-c994ebc0c623\",\"type\":\"BasicTicker\"}},\"id\":\"eb0308b1-44e1-4ec2-916a-2e4f2db6914d\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5cc240a1-e6d2-484f-83fa-8eabbcd64967\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"25e2e02c-7f1f-4570-9a07-13318ee51bda\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"bb8c0a6b-215c-4dba-affc-0a92de9fd9b7\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"25e2e02c-7f1f-4570-9a07-13318ee51bda\",\"type\":\"LinearAxis\"},{\"id\":\"94d51b17-79fc-4085-9fd0-d3ad38f9a97e\",\"type\":\"Grid\"},{\"id\":\"bb8c0a6b-215c-4dba-affc-0a92de9fd9b7\",\"type\":\"LinearAxis\"},{\"id\":\"7f07b6dd-ff61-4b9c-a41a-c1587a5db1e7\",\"type\":\"Grid\"},{\"id\":\"b473a5ee-9aa6-4451-a6ef-92b2833b05bc\",\"type\":\"BoxAnnotation\"},{\"id\":\"9824e7ad-1b86-4910-b004-956660d0462e\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"e1cf5c82-3255-4166-8199-7a851835d234\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"e1a55883-9ab0-4763-aa8c-a3de1f1e6cef\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"afed58b9-7830-4294-b42f-00c64ed40d82\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"d1d21159-db7c-43d0-b7fb-4cc2fe7781c4\",\"type\":\"LinearScale\"}},\"id\":\"c60f46c1-bf92-4dee-a8a3-0ad50675d210\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"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\":\"762bd3bd-9832-4888-8819-19394d760c3e\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"740946be-d2bf-428f-a0e7-c902a7831566\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"92791279-efba-4229-9f3c-e9f40a48c778\",\"type\":\"ColumnDataSource\"}},\"id\":\"3a4a98f1-db8a-4410-83b5-0bbd7c8ffc4c\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2b461f61-c65c-44d2-983a-827da09c1979\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"a0e5e36b-c381-4828-a902-2b81b6d12ef0\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3929aba7-1a14-45d3-bd26-00aaaa849a40\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"762bd3bd-9832-4888-8819-19394d760c3e\",\"type\":\"BoxAnnotation\"}},\"id\":\"1b26643b-f08c-4394-9ec9-7555a1ca83dd\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"c87f4ac9-2713-4ca3-bb30-cc50b067e40c\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"0c61ccb7-5270-4ebe-b7c6-020a175dc5a2\",\"type\":\"ResetTool\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2262db5d-a7ea-4143-a1d4-a3f1b899b1f4\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"data_source\":{\"id\":\"97a5a307-e08f-4c6a-925c-3419b7493d5c\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"b0b9a57d-257e-42d0-8797-93cc7ea427fd\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2262db5d-a7ea-4143-a1d4-a3f1b899b1f4\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"897467c3-d018-43d9-be0a-fe60178e3801\",\"type\":\"CDSView\"}},\"id\":\"dcc3127c-9e4e-433f-8bd7-0fa702a3a9bb\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"97a5a307-e08f-4c6a-925c-3419b7493d5c\",\"type\":\"ColumnDataSource\"}},\"id\":\"897467c3-d018-43d9-be0a-fe60178e3801\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"efb6e774-40ff-4bfe-9b58-498a2e956bba\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"jZWE/6Gblf+hmZT/pKKZ/5OTjP+dl5P/nJaR/3yVef9ij0j/jpV7/5mQjf+Zkoz/lZCL/52Ylf+amZH/j42F/4F/ef+JhXr/m5WN/5iXkP+IjYb/kZSO/52cmP+opqP/oJqW/5mQi/+0sKn/urSw/7axrf+1tLL/trWz/7m0sv+ipZr/q6Wf/6Gclf+fm5L/l5OO/6aemf+gnZf/l52P/2yVUv+PnnT/pZ2Y/6Gbk/+alZD/kI2I/5ORjv+Rkov/fnly/29mXf+MhoD/kI+I/42Lhv+opJ//sqqo/7eurv+ajYv/fXFq/7Ovp/+4sav/saum/66rqv+wrav/rKii/6urof+mpJ//oaGZ/52akf+Yko//qqWe/6umoP+jn5z/hJ5y/4ukbf+knpv/oZuX/5uVkf+AgXv/i4Z//5eShv+bkob/hHRu/46Eff+qpJv/qaKb/6qjnf+upqD/sqqi/6CVj/+JfHb/ramk/7Grpv+xq6f/t7Kx/7Svrv+wrKn/rqig/6Cgmv+fn5f/o6CX/56Zlf+wq6T/pqGb/6Sgnv+kqJf/iJRp/3p1cf+Uj4f/opyU/6GblP+WjYP/k4l7/6uglP+ajIX/iHdy/6uimf+spp//raag/6ulnf+opJr/m5OL/4x/ef+ppaL/q6mm/6upp/+1tLL/sLCu/6qorP+wqKL/oJ6Y/7Owqf+yrqX/nZmY/7m0sP+wq6X/pqGb/7ClnP+imYv/d21o/5eQh/+oopr/r6eg/4+Dff+FenP/p6GZ/6WdmP+Ccm//k4WB/6mim/+rpJz/qqaf/6emoP+Zko7/hnlz/5iXk/+am5n/mpqY/6Ojov+kpKb/m5ye/62oo/+mpZ7/raul/6imoP+FhYj/t7Ox/724sv+xq6P/r6ig/6+noP+YioX/o5uW/6Wgmv+uqKL/npOQ/5SNif+cnJf/o6Of/5SLhf+Jd3L/pZyW/6mknP+rqKL/qKik/5mSj/+LfXj/pKWk/6Cho/+Mjo3/jo6R/42NlP+Ji47/qami/5CVj/+TmJP/k5WV/3F0ef+tq6f/raij/66qof+opZz/rqmg/6Salf+gnJz/kJCI/6Ohmv+mn57/rKem/6alof+lpKD/o52X/4NwbP+VjYj/qaij/6SjoP+op6j/mZKP/4x9e/+cnKL/kpOY/3p7fv9+gYb/fH+I/3R2ef+kpJ3/l5qV/5iclv9+gYL/ZWlw/6WkoP+rpqD/q6ad/6+qof+0rqf/s6ql/6Oen/+mpJz/p6WZ/6Sgnv+trKv/rq6r/62sqf+qpqL/h3Nv/4J1cv+lo6L/np2c/5+fn/+QhoL/gHNx/39/gv9+foT/gIKL/32Biv+Bg4v/fH1//6imn/+wrqj/ra6p/2dqbP9bX2X/oqKb/7u3rP+0sKX/r6qi/62npP+loJr/mpGP/6+qpP+yrqP/oZuZ/6upqP+sq6j/pKSi/6Gdmv+IdHD/dmRh/5SSlP+SlJz/hoeP/3ptbP96cG//gYOF/31/g/95f4L/b3V9/293gf9xfIj/urWu/7q0rP+qraf/VVpd/1VYX/+Yl5L/uLSr/7a0q/+wr6r/rqyo/6emoP+PhH3/m5SU/6umov+bkpL/oZuc/6Sin/+ioaD/mZWT/35rZ/96ZmL/iIWK/4aKl/9/go7/dmZn/3Rrbf9zeHz/dn2B/3qDjP9/h5r/gI+o/4WWsf/BvLX/wr21/5ydmv9tcXj/a256/5aTlP+6ta7/ubmy/7a3sv+traj/s7Ov/5qMhv+Th4b/m5mV/4yGhf+gmpz/npyZ/5iYlf+Oh4j/d2Nf/3xta/97f3//f4WL/4aCjf+FcnH/gn+F/3aEkf9+j6H/iJmz/4uauP+Jmrr/hpi3/8C9u/+/vLn/qK26/6u11P+qts//qa21/7Oxrv+urqn/pqej/6Gin/+trq7/oZeS/4Nybf+Oi4r/gXuB/5GOk/+Lj4//hIeI/4Z2cv96Y17/iIeQ/4eUp/+Lj6P/gnV//4p+gf+Qm6//iJy7/4aat/+Hmrf/g5Sx/36Oqv9+jKb/r6+t/7Gvsv+mscX/qrne/7G+3v+pscD/paSn/6mmo/+lpKL/o6Ki/6Gip/+Pion/e2Jc/4aDhv91cHf/goOR/4uasP+Iho//fmdg/39ubP+MlKr/jZix/4WAkv9/a3P/hYCM/36GnP98hZr/eIGS/3R+iv9wd4b/cnuL/3V9j/+uq6j/qain/6ixv/+sutb/q7fN/6Kqtf+mqKz/ra6u/6eprf+doKv/j52y/4eNn/93Xlb/gHl+/2pcX/97c3n/jpKh/4Fyc/94X1n/gW9s/4CEkv9+fIn/fG11/4Ryd/95dXz/dHN8/3Nydv9zc3f/cnFz/3Bvcv9tcHb/Z213/6uppv+foqT/oqiz/6u1yv+qssj/lp6v/5Cbrf+Vn7H/lp2w/46Wp/+Jlaf/h4iV/3RdVP9xXFn/Y0lB/3FWR/+Ba2T/fmVf/3piXf97ZmH/d3Fz/3x1f/+DdoH/iICG/4ODhf+FiIn/f4GC/3+BhP+Agor/eX2H/3J7if9teo3/mqCo/46Zpf+JlaL/j5ii/5OYof+Mkpn/io6U/4+Pk/+NjZD/g4WD/4mJiv+HdnP/dVtS/25SR/9mSz7/aE5A/3ZcUf+AZV3/f2Zh/3hhW/9/dXn/gICO/4R+i/9lZGr/dXyD/3+Gkf96g5L/eIWZ/3mGoP90hJz/coSe/3GBnv+OkZL/hYmL/4uOkf+PjpH/kZCO/4yKgv+VkYn/l5SO/5WSjP+MjIb/iYmG/39oYv92XVH/cFRJ/29TSP9xVUv/dFlO/3pgWf97Yl3/d15Y/4V4ev+Gh5f/cG18/z07Rv9vfJL/eoei/3eEoP9zgZ3/cX2V/219kf9rd43/ZGp+/42Rjv+OkZD/k5SW/5KUkv+Rk5D/j5KQ/46Sk/+Pk5n/k5ee/4+Um/+DfXz/dVtS/29XS/9vVEn/clZL/3xgVf97X1T/d15W/3lhW/93XVj/gW1q/4uGkf9UUl3/NjlA/2ZufP9mbn7/Y2t5/15lbv9XXWD/VVxd/1pcX/9SVVT/ipWf/4iTn/+GkZ7/goyX/4WNnf+Dj57/foua/36Gmv94g5b/eH+O/3RlZP9sUUb/Z09C/21RRv9yVkz/fGFX/4RpYP+BaGL/gGdh/3phW/9/ZmH/iXyC/0xIUf80Ozn/SVdM/0hUTf9LU0z/R09F/zZIOf8xSTb/OEo5/zpLPf+Vmp7/jZKS/4iMjf+Fh4n/fn+C/3d8d/9ueWz/YHBg/1huWv9qbmH/emZg/2BJP/9dRjr/a09F/2tQRP98Ylb/jXNt/452cf+JcWn/gmlk/4NpZ/+Of4b/YVxm/0FKRv84UTz/MUk1/zBFMv8vRTL/Jz0u/yNALf8nPi3/Jjcq/6Oim/+Zmo7/jI6C/4iHff+Afm//eXdl/29zX/9ic1v/Y3Nf/3hzaP+Ec3D/V0Q8/0g0K/9fRj7/aE5C/4NpXf+OdW7/l355/492cf+NdHP/j3Zz/5uJj/+CdX3/TlZO/y5CL/8pPyz/ITsm/yM/Kv8aNCT/HDQm/x0uI/8cKCD/pKaf/5+hlv+WlYz/iomC/4KCeP97e2v/cXNk/2p0Yv9ic1z/cHNk/4d3df9pW1v/Oiwq/0EtKP9cR0H/fWZf/4lvZ/+Pd3L/j3hy/5qBf/+iiof/nIKB/25nYv80RDb/KDor/yM1Kf8cMyT/HDIj/xotIf8YLCH/FSUb/xAZFP+Ym5v/l5iT/5eTjP+Vk4n/h4d9/4KCdv95fG//bXdh/2V4Wf9vdV7/hnVx/4yGjf9nYmP/ZltY/2dbWv9kVlb/d19U/4htY/+OcWb/mHpx/5p/ff91aGP/N0I5/yc4LP8mNyr/HCsh/xYmHP8WIxr/Fh4X/xQfF/8VHxf/FBkU/4qQm/+KjZP/kZGP/5aVjv+JiIH/h4V+/4iHgP98fnH/dn5r/4CBdP+Gd3X/h3t+/46Fgv+YkZL/hoCH/2FdaP9rXln/hWxg/4FqXP9tYlT/Y11W/y03Lv8nNyv/MEMx/yc4KP8aJR3/FiIZ/xQdFv8RFg//FBsU/xAYEP8THBP/i5Gf/5CTnf+Sk5v/kJCV/4mJi/+JiIn/iIeJ/4qMif+GioP/i4uG/5CKi/+Genz/i36D/4iAjv+Df4//goOJ/32Aef98fHH/c3Jn/1dfUv9eZV3/Mz01/x4tIP8mQCn/KEQr/x0uIf8aKx//Fywb/xkpGf8bJx7/GSkb/xUnFv+PkaD/lJag/46Qnv+RkZ7/jIyS/4aHiv+Jio3/j5KU/5CTk/+UlZX/l5ie/4SAif9+dHn/fHaA/4WDiv+QkI//jI6I/3d6c/9pbWb/V2BX/0RMRP89RT7/JC4k/x0yH/8mRSn/IT4k/x43I/8bNSD/Hjkh/xkoG/8eMiD/Hjkg/4qSoP+LkJn/i46a/4+Qnf+LjJX/iouS/4yLlP+MjpX/kpOZ/4yLkP+Egov/dW15/3VrcP+MiIv/jYyR/4uLjv+MjYv/h4iF/290cP9PWlT/MD42/yo1Lv8zPjP/JDwo/yJCJv8bNB//HDIg/x46I/8gQib/GzAe/xYlGP8cMB3/iJGi/4aMmv+Dh5X/goaV/4SIk/+Ljpb/jY2V/4uLkv+Pj5b/gYGD/3Nrd/93bX//e3aI/4iJnP+FiJX/h4qS/4WGjP+AgYX/dXt7/1piZf80Pzv/Iiwm/yYwKP8lOij/JEMn/yA6Iv8gNyP/JD8m/yQ/Jf8gOyj/GCkb/xUfFP+Gi6H/hImf/4WJoP+IjaP/iI2j/4mOpP+IjqH/h42e/4aNnv+Eh5P/fHKC/3Z2iP98gZf/eH6V/4SMpv+FjaT/go2f/3eDkf9QX2T/MUJB/yMyK/8eKyP/Hy4o/yg7Lf8iOyT/JD4p/yQ5Kv8fMSP/Gykb/xstHv8eNiT/FysZ/36JqP99iaf/foyq/3+Mqf99iqr/fYqt/32Lqv99iqn/fYup/4GNqP97fZP/bHKL/3aCn/9xepX/fYmr/3yKqP96iaX/bHyT/0hbZf8pPTj/MkFE/yk4N/8bKCP/IzQq/yE5Jv8fMSX/Jzcx/yI0LP8cLCH/Gikb/xwuHv8cNyL/dIOl/3SEpP92hqb/doam/3eHqP94h6j/eIem/3eGpv95iar/eomp/3mEov91gJ//eoip/3mIqP94iKr/d4el/2Jyif9FV2b/M0RL/yg2Nv8iKCr/KTQ4/ygzNf8cJyD/IzUp/yw9N/8tPz3/LUE+/y9EP/8qQTP/GSYZ/xYlGP92haf/doWm/3iHqP96iar/e4qr/3yLrP99jK3/fo2u/3yLrP97iqz/eIqt/3mKrP98i6z/fIus/3qKqv9vgJr/U2V3/zxOV/8jNjP/HCsn/xMdFP8bJiP/Ljc7/yIrKv8wP0L/M0dL/yg9OP8sQTn/MEVC/zBHQf8gNCX/HTAe/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"22713a34-af36-4d51-a1a7-7739350106f8\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"plot\":null,\"text\":\"\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"f7cf7303-d8ab-4ad0-a6dd-7d9e2614f529\",\"type\":\"Title\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f326fa82-c781-467e-9d98-1781940c04af\",\"type\":\"BasicTicker\"}},\"id\":\"9f66b678-cec6-4fb3-bcd2-1b123b9d5853\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1a248bd5-24f7-43f1-947c-81b7e368a802\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"below\":[{\"id\":\"6db06fc4-525c-4b73-a925-84d2437fd7bf\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"49521e5a-df50-4aba-95ed-2f6cdb3c293e\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":96,\"plot_width\":96,\"renderers\":[{\"id\":\"6db06fc4-525c-4b73-a925-84d2437fd7bf\",\"type\":\"LinearAxis\"},{\"id\":\"9f66b678-cec6-4fb3-bcd2-1b123b9d5853\",\"type\":\"Grid\"},{\"id\":\"49521e5a-df50-4aba-95ed-2f6cdb3c293e\",\"type\":\"LinearAxis\"},{\"id\":\"4caf2653-9b7d-4bf1-8786-dd053681d1e4\",\"type\":\"Grid\"},{\"id\":\"1e26f743-c684-4fa4-9a6e-eb0559780863\",\"type\":\"BoxAnnotation\"},{\"id\":\"5961982b-207f-4e0b-ae20-cfb1491c81b3\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"f7cf7303-d8ab-4ad0-a6dd-7d9e2614f529\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7ce5b965-0419-41fd-bfb9-1fbd91b9d7e2\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1e1d94bb-79a6-4af4-a8b5-a65b4362cf35\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"e23d7218-1879-4d5c-91e4-2a08fa01e226\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"480ae3f2-e5b0-44c3-920b-0ca6d7ef6d3a\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"2b461f61-c65c-44d2-983a-827da09c1979\",\"type\":\"LinearScale\"}},\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"cf02ad79-6bfc-408b-adca-dfcc3c89d589\",\"type\":\"SaveTool\"},{\"id\":\"2d191f23-b831-4170-9fc2-ce9df3577b10\",\"type\":\"PanTool\"},{\"id\":\"e82659da-baf6-4974-89d3-7ac7dd971c70\",\"type\":\"WheelZoomTool\"},{\"id\":\"a1b39c3b-96ad-4969-8915-6ec556426c81\",\"type\":\"BoxZoomTool\"},{\"id\":\"80f90e57-b881-4f39-90cf-613e03345502\",\"type\":\"ResetTool\"}]},\"id\":\"7ce5b965-0419-41fd-bfb9-1fbd91b9d7e2\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"b92fc805-cb31-4290-91b7-e433441408fc\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"f326fa82-c781-467e-9d98-1781940c04af\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"6db06fc4-525c-4b73-a925-84d2437fd7bf\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"f326fa82-c781-467e-9d98-1781940c04af\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"2a82ec67-112c-4999-9bae-62aa4dcee784\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"411e4792-3fc7-4937-831c-4cea3845de8f\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"49521e5a-df50-4aba-95ed-2f6cdb3c293e\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"cc90a140-270d-41b3-b469-e1dfc0b6cc8d\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"411e4792-3fc7-4937-831c-4cea3845de8f\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"012a8222-365c-42d9-89b3-f5cd1545ddcf\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"411e4792-3fc7-4937-831c-4cea3845de8f\",\"type\":\"BasicTicker\"}},\"id\":\"4caf2653-9b7d-4bf1-8786-dd053681d1e4\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"22713a34-af36-4d51-a1a7-7739350106f8\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1a248bd5-24f7-43f1-947c-81b7e368a802\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"78b2762f-9b24-4964-a9dd-087756cfc018\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"62e0f509-2ca2-4fc9-94f8-24d14d515758\",\"type\":\"CDSView\"}},\"id\":\"5961982b-207f-4e0b-ae20-cfb1491c81b3\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"fkkU/5RdHf+5gDX/sXYz/5ZhIP+gbCX/sHoy/5RfGv+rdzH/uYE7/7N3Lv/Agjr/tHgx/55kGv+wdSn/sHgy/6ZzL/+xfzP/yJNA/7V+MP+QVxr/fkUS/35IEf+YZCD/yYs8/7BrIf+PUxX/rWs1/8WBRP/en1T/xoxB/9SiYP93QBP/kFke/6RsJP+TWR7/gEoT/5hlKf+uezz/om8u/6x6Nv+cZSL/snYw/8aIP/+6fzf/pm8o/7l/Nf/EjUr/soBE/6RwMP+yfTT/rHYv/5ZeJP96QRL/gksW/6x1M//Vlkz/t3Ar/5NWEf+lbiX/qmki/9GSSP+6hDv/06Rf/3pCHP+UXCn/mGIk/4dPHf+UXi3/j1so/4ZSHP+NWB//kFwh/51oJ/+9gTn/v341/7t/O/+0fz//tHs1/7aAQ/+eazn/j1so/4xXHf+SXST/j1gk/3xDE/+EShb/n2Un/7VzM//Og0L/rGwl/7F7NP/XnFr/2JtZ/8GHQ/+5gz//iE8r/4xWJv+SXyX/dUES/3pEGP9yPBH/bDcI/3dCDf+FURn/nWkp/7l8NP/Igzn/rm8v/3xGD/+yfD3/y5hg/4hXKv+BTyH/hlIg/4dTJP+QWiz/gUgY/4FFEP+NURb/pGEk/8Z4OP+ybyn/oGsq/+exef/7won/0ZVV/5xhH/+NVC3/fUkY/4NTGf91RRb/dUEU/35JGf93Qg//dUAL/4VSGf+QXh7/sHIp/8F5L/+6ejz/dD8O/7mDTP/Pnmv/d0cf/4hYJv+EUhv/cD0X/2s2Ef+PVib/k1Uf/5FTGf+eWxv/vm0r/7NsLP98RhX/oWpA/9CUZP+4ej//pWgm/652Qf97RxD/c0MQ/209Ef96RhL/iVMe/4FLGv97RBL/jVog/4dXGP+3djX/wHAt/86MUP+PXjD/kl8v/4NPKP9rORX/hVck/3FED/9kMQ3/bzcT/55iMf+YWCL/l1cc/6lnIv/Wi0T/w3s4/3M6Cf9wPBL/jVEh/6dmK/+7ejj/tX45/5hjJP+KVij/gU8g/45aGf+YYSf/gUgc/3xDGP+QWyP/glMX/6dhKv+5YSX/3Jxf/4pjNP9gNA//VCAH/243GP98Sx3/az0R/3U+Ff96PRL/lVYi/5VUHf+QUBX/p2kj/+qoW//QiT3/kVMU/4dQGv+XWCP/ol0i/6lmJv+sdy3/qXUx/5dkK/+YZif/lWEV/7J7Of+nbjv/oGY5/55nNP+BThT/o1oi/8dwLv/gpF//i2g2/1gwEv9UIxL/dD8h/3tHGf93QhP/fUAP/3c5Cf+PUh7/jE8Y/4hLEP/AhEH/9LNr/96XTv+sayn/lVoh/5tcJ/+YUxv/nlwg/6RxI/+ZZh//j1sd/5RgGP+gaxn/tX0y/6pxM//AhVH/s3pH/4xVHf+rXSP/4YY+/+qrYf+Zcj7/UykS/1AhF/9rOR//dD4T/41SJP+ZWin/gkYW/4tSIf+NUBn/p2Yo/+WpZf/usGr/zYpG/6RjJf+aXyj/fkYY/4lKFv+hXyT/o3Qg/5xpJP+HUBf/kFkU/652JP+7gjT/tXs0/72AQv+tczr/jlYf/6VUGv/gfjH/5ZNG/6lvPf9TIQ3/QxIK/1MkD/9eKwn/fUId/4ZKI/94QRr/cz0U/49OGv/SiEb/8bBn/+alYP+vbzD/klYd/5lmNP+0kGL/oW03/59fH/+1hTL/oGst/4FHF/+bYSL/tnww/8OJOv+wdir/pWkk/6ZqK/+ARBD/pk4W/+B2J//ggDT/z4dW/2wzHP9PHBH/WSoV/3BAH/95QyT/eEIi/2MvEv9qMQ7/oVgk/+iVTv/rnlD/5aFc/59iK/+FTyD/q39T//Paq//ZrnT/uXgy/7J8L/+7gFD/qGtF/6NpK/+2ejD/tHsn/6FpHf+wcTP/uHM4/5VHFf/gejz/638v/+GFOf/OhEz/YSYL/04TBf9xNBn/oWg//5pjOv+ncEz/j1c//5FLH//Sfzj/8KBU//GoWv/jmVj/ik0m/2MxF/+pdVT/3KVx/9yiW/++fC//tYMy/6l0PP+ZYzP/oGwo/6dwJv+zfiz/xIxD/8WDSP+5bjD/ymws//WHPP/lgyr/76BO/8t9Qv+CNBL/fSsU/5hEH/+/cT3/yYBR/8KCYv+qbFz/kkYd/96MRf/0q2L/55pS/7pqLf9rLAz/SRgJ/3A4IP+8e0b/woI2/8eGNv+/lTr/k2cd/5RmJ/+qfTL/n28n/7F+M/+6gD7/s3A1/9GHP//xjT3/9Ikv//CaNv/wqFL/vWUp/55AE/+oSB7/w2Qq/852MP/ZhUn/sWhA/3QwGf+SRBb/6JxP/+yhVv/agz3/wmou/4hGJf9LGQ3/WSIQ/5pbKP+5fC//2JlI/8CXOf+ddB//qH00/7aLP/+aaSb/mWMg/5teI/+gYib/5KdT//+tT//2kjH/8pc0/9yFMP+3UhP/q0cO/7tYHP/beyz/55A3//KlWP/Qh03/fDIO/6xXHf/6oUn/96FO/+iHQf/lhkb/u3hQ/1gnGP9WIRD/nWAt/8CFNf/Kjjr/rYEn/7CELP/DlEv/uotD/6JsL/+oazD/j08c/59oK//uw2X/+8Rc//SYN//yhSv/33Mj/79ODf+4Rwv/0mEf/+6EK//4mDj/+6dW/8l7Qv99Kw3/s1Eb/+t/L//4kEX/7oU8/+WDO//WlGT/XS4a/0sXB/+WWir/xIs5/7qAK/+wfyr/wpI7/8aVSP+wfTT/rHIx/61uN/+TTxv/0ZlR//vZdf/3yFz/+6M///mDKf/tdib/x1IN/8VMDP/eYhn/934k//+NMf/sfjL/mTwT/4MoC//AVB7/32gh/+yBOv/2lUT/85BF//KteP+OUTj/ShIA/4xPJP/Diz3/vIYx/8iVQv/CkTv/vIo3/615K/+qcyz/lVki/7huMf/5tF///M1n//a3Tf/1li//9X0g/+tuHP/MWA7/xlAL/9thEP/scRT/83se/9xpGf+WLwf/nzsR/9BcHP/hZhz/7II3//qeSv/6mU7/7a11/7tvT/9wKQr/nV4x/8mRRP+4gy3/vIs6/8GRPf+3hzT/qHgp/5lnKP+ESBb/2odC//2pTv/6t1T/9aVC/+FzFf/oahL/6WYV/9NVC//ITAn/2lwP/+hsEf/vehj/5XUb/7FEC/+xRg//2mAZ/+JiFP/qdi7/+Io9//WVS//xx4n/z4Rc/5lEG/+7fkf/w4s4/6pyGf+1hjP/uIo3/7iJOv+oeTP/azwT/3k7FP/liDv//JY4//6qTf/0jTb/2WAN/9dYCv/pZRn/4l4V/9NQDf/cVxD/6mQT//NzGv/qbxj/vUkJ/8BOEP/lZxn/4mAN/+ZuIP/0fi//9JhL//3fnP/cj2L/sloq/9CbYf+9iDT/qnEY/62CJ/+ugi//uYpD/59vOP9LHAb/ezsa/++LPf/7ji7/+Z9J/+qHNv/NaBr/w2AV/8pjFv/RYxT/yVgN/85WDf/aWhL/5GQY/9teE/+8RAn/vUkO/+psG//qaxH/73wk//aIK//0m0f/+dmW/9qRYv+6ajr/58KP/8eaS/+xeiP/sYct/6J4Jf+fdDD/cUUe/0ITB/95Nhj/7Ys+//SNL//Meyr/x4Ix/7FxH/+lahr/rG8a/7VwF/+2aRT/w2we/8ViG//IYBv/v1IP/7dACv+xOgP/218R/+1zFv/3jiz//Jo0//meSf//253/0pZn/86SYf/x16f/x55V/615JP+hcSv/l20f/4diG/9OKBD/TR0R/3gvEf/egjv/0X4m/6JmHP+rfCz/sIEs/6t6Jf+ldh3/qXwi/6p0JP+7fzP/sXEn/7JuJ/+pXhj/t1IS/7VCBf/NVA3/42sU//aLKP/8mTf/8Ys6//e+g//XqHD/3bBx/9Kzdf/Ln1X/sX0p/5BgHv+ccCv/glcd/2QzHf9uMyL/fTET/8RxMf+saBT/mmgd/6J2Kv+hcSP/pnMk/6FyH/+idiP/rHYr/6pzKf+XYhf/mmUb/6JtIv+vcSf/r18a/8ZgHf/aZhv/6XUf/+uAIf/ieCD/zn42/8iJQP/Fijn/t4Y9/8yYTP+2gC7/k2Qj/6V2O/+UXDH/fjwj/5ZLMP+VSCb/qmQo/6VvG/+dciL/rH84/5lnIv+aZiD/p3Yr/6R2Kv+teC//p3Ip/55uJP+dcCT/lWsf/5lsIv+jayb/wXg2/8x0Lv/FZhv/y24a/9eAKP+9cST/xYM0/8aJMf/Jjj7/xYs8/7+JOv+ecC//mmcz/5pYNf+dTCP/umg9/6VdOv+UXSb/oHMk/6J2Jv+cbir/onAt/7J9OP+ebST/onQp/6FtJv+mcyz/qnkx/5hpIP+YaSD/oGsk/6NuKv+WYB//r3Yx/8eHP//HhTn/w4s3/61wJ/+6fjj/xJE9/8qQPP+1fy//wZFB/5tuLf+mcj//unBL/9R6Pf/Zhkr/s3RO/5hrOf+SaR7/oHAf/49gHP+WZCH/s344/5tqIP+ecSX/onIr/7B9Of+ocy//o2so/6pzLv+ndiv/oHMs/4JUE/+yezv/yIdG/7V8Lv+heBv/q3Ek/8WDQP+7ijj/wI03/7iLOf++lkX/rntQ/9Ced//EglH/zXw5/9WFRf/VlmH/vo5b/6FyNP+aahv/mmoe/51sKP+uezv/oXAq/6Z3Kf+peDH/uYdD/5plI/+qczP/sXs4/6d6L/+fdjL/gFIY/6BlKv+3czH/qnIl/5xsFP+0eyf/u38y/6p3Jv++jTn/y55M/8mfTv+NV0H/zaCD/6t1Pf+zcCz/q2Ql/7l8Rf/VoHv/rHdN/55uJP+UZRX/pXUx/6Z0OP+gbyz/uIg6/7aEO/+odTD/oG0q/7SBQf+kci//p3cw/6p9Pf+QYCr/l14j/6ttKf+2gDr/s38y/6x3Jf+seSn/qHUn/7WEMv+9jTz/vo5A/1UhEf+MXj7/pXM3/7Z8N/+haCr/sH1S/41ZSv9qMxv/nGkl/6R0Jf+rejT/nmwq/6d3MP+/kEL/soE2/6VzLP/HlVD/wo9N/6p4Nf+ygjv/qno5/6p3PP+4gUH/tnw4/8uSUf/BjUj/wo9G/9CbUv+9hz3/soEx/7KAMv+2gzf/Yi0Z/4VULP+aair/rXk4/6Z0Of+TZDj/VCIU/1kiDf+daCj/q3ot/55uJP+fbyf/r381/7+QQ/+ufTL/pnUr/9GfWP/Ajkn/o3Iu/69/OP+hbyz/oGsr/7yHRP+3gTz/yY9Q/76KSv/ftXH/6bdy/72FPf+xgDP/rXsv/613Lv+RVjT/mWIu/5NgHP+lcDf/sXxD/4xbIP9xQBb/ekYd/6RvLv+ndin/p3cq/6x8L/+qei3/q3sv/69+Mf+odyv/q3kw/6x6M/+sejX/r343/6l0Lv+kbCf/tIE7/7iGPv++hED/t4VC/8WbV//Snlb/tHov/6Z1KP+uei//qW8p/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"4fa7f0cf-220e-4a79-b945-f596eb8f41cc\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"78b2762f-9b24-4964-a9dd-087756cfc018\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"cf02ad79-6bfc-408b-adca-dfcc3c89d589\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"80f90e57-b881-4f39-90cf-613e03345502\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2d191f23-b831-4170-9fc2-ce9df3577b10\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"e82659da-baf6-4974-89d3-7ac7dd971c70\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1e26f743-c684-4fa4-9a6e-eb0559780863\",\"type\":\"BoxAnnotation\"}},\"id\":\"a1b39c3b-96ad-4969-8915-6ec556426c81\",\"type\":\"BoxZoomTool\"}],\"root_ids\":[\"89c446b1-cc32-457a-a9ed-07110e861b39\"]},\"title\":\"Bokeh Application\",\"version\":\"0.12.13\"}};\n",
       "  var render_items = [{\"docid\":\"8b2085a4-20fd-4d36-9032-a04dae39c407\",\"elementid\":\"1f1a6f7c-f405-4032-81f4-13449f3db476\",\"modelid\":\"89c446b1-cc32-457a-a9ed-07110e861b39\"}];\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);\n",
       "</script>\n",
       "</div>"
      ],
      "text/plain": [
       ":Layout\n",
       "   .RGB.I     :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.II    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.III   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.IV    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.V     :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.VI    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.VII   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.VIII  :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.IX    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.X     :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XI    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XII   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XIII  :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XIV   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XV    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XVI   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XVII  :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XVIII :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XIX   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XX    :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XXI   :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XXII  :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XXIII :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.XXIV  :RGB   [x,y]   (R,G,B)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%output size=32\n",
    "%%opts RGB [xaxis=None yaxis=None]\n",
    "\n",
    "# Deer are class 4\n",
    "deer = (y_test[:,0] == 4)\n",
    "\n",
    "\n",
    "images = [hv.RGB(x_test[deer][i]) for i in range(24)]\n",
    "hv.Layout(images).cols(8)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that Holoviews/Bokeh/Matplotlib all assume images are in RGB format, but not all systems load images that way.  For example, [OpenCV](https://opencv.org/) loads images from files and webcams in BGR format.  To get a sense what that error looks like, we can simulate what that would look like by reversing the 4th axis:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "horse\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div style='display: table; margin: 0 auto;'>\n",
       "\n",
       "<div class=\"bk-root\">\n",
       "    <div class=\"bk-plotdiv\" id=\"75ef89ff-ec52-4a7f-ad6a-ea309c9d1ba8\"></div>\n",
       "</div>\n",
       "<script type=\"text/javascript\">\n",
       "  (function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"7ed3759c-3cd3-4ca9-be29-af8e17b1f17c\":{\"roots\":{\"references\":[{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"aca40cec-27bd-43d5-ae2d-bd80144c38a9\",\"type\":\"Range1d\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"70499ad1-72e7-43eb-8d20-f1d62777f461\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"toolbar\":{\"id\":\"037d954e-069f-4734-bced-3216d1808c13\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"cc1fb7ac-d3fe-47d9-8748-91239a9d60ed\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"3c0486f1-3fd5-446e-98d9-33f276f2de07\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"6cec123a-93fb-4d80-93bb-62e5240a19b9\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ef5ae4b4-0aa6-4736-a9bc-064075a91e35\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"0c39b249-4a6b-47ce-ba9a-26537c60360d\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"90f735c3-b109-4c42-880f-e6a68d74abcd\",\"type\":\"BasicTickFormatter\"},{\"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\":\"658cc466-a719-41a5-bf56-8716e3bdbd6a\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"below\":[{\"id\":\"cdc5fb71-76cc-4553-95bc-02fb0bbbd895\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"90af39fe-838e-4993-bb1a-709e948b989d\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"cdc5fb71-76cc-4553-95bc-02fb0bbbd895\",\"type\":\"LinearAxis\"},{\"id\":\"b57d063d-cd6b-4bd6-b8ef-2e6c8871ebb1\",\"type\":\"Grid\"},{\"id\":\"90af39fe-838e-4993-bb1a-709e948b989d\",\"type\":\"LinearAxis\"},{\"id\":\"f9cb2299-68cf-4a2a-972a-93342b8dc987\",\"type\":\"Grid\"},{\"id\":\"9a6c0985-8337-41e4-8664-0144cca2c90b\",\"type\":\"BoxAnnotation\"},{\"id\":\"8eb7ab9b-7887-48a1-a96a-9a967ccdb0f8\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"d60c5ae8-c3b6-4b58-9914-687e0b98987b\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8ef6968b-3584-4265-abd4-072c0f2fd407\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"b7e52249-3a6d-4c76-8fff-ed76d9f811ea\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"717ad711-048d-41bf-90b0-663014cf364e\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"aca40cec-27bd-43d5-ae2d-bd80144c38a9\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"435a532a-554c-4e58-8acc-b83fdc9b1105\",\"type\":\"LinearScale\"}},\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"0098d600-c7e5-41d0-9b40-e26bc8191038\",\"type\":\"SaveTool\"},{\"attributes\":{\"data_source\":{\"id\":\"7430ef09-9d2f-4d51-99b0-06bc0902d91c\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6be07060-bf64-4f39-90be-b8b8b10d3d15\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"d2e71217-7874-4dd6-83db-613e3eafefd1\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"3a035b05-05e4-4e36-8721-a5b8a1170e83\",\"type\":\"CDSView\"}},\"id\":\"8eb7ab9b-7887-48a1-a96a-9a967ccdb0f8\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"plot\":null,\"text\":\"Correct (RGB)\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"d60c5ae8-c3b6-4b58-9914-687e0b98987b\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1af48f78-4c53-42c2-babe-cf60c3cf8aa3\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"717ad711-048d-41bf-90b0-663014cf364e\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"d34e2182-bb0a-49e1-a1f7-3a968b85759e\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"c3d8d12f-7367-40f1-a3a9-1cb7d4999dd6\",\"type\":\"SaveTool\"},{\"id\":\"6150462b-1088-4c47-bdd6-4158fa4031b6\",\"type\":\"PanTool\"},{\"id\":\"309419d7-aae1-4ae2-a987-67983ecb0a8d\",\"type\":\"WheelZoomTool\"},{\"id\":\"4766844d-d54a-4e20-94ca-2220f5d28af5\",\"type\":\"BoxZoomTool\"},{\"id\":\"a55fcd8d-1568-48d3-a8be-bc05d35a7cfe\",\"type\":\"ResetTool\"}]},\"id\":\"8ef6968b-3584-4265-abd4-072c0f2fd407\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"658cc466-a719-41a5-bf56-8716e3bdbd6a\",\"type\":\"BoxAnnotation\"}},\"id\":\"3d0d3760-f62c-43a2-a1f0-a640a5cfd93b\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"ef5ae4b4-0aa6-4736-a9bc-064075a91e35\",\"type\":\"BasicTicker\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"49e33032-0b54-41f1-815f-92f5fcd36353\",\"type\":\"BasicTicker\"}},\"id\":\"b57d063d-cd6b-4bd6-b8ef-2e6c8871ebb1\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"b12d39a2-a120-4e84-928e-69741640f375\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"435a532a-554c-4e58-8acc-b83fdc9b1105\",\"type\":\"LinearScale\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3ff3960e-62e4-4c80-bdba-44966f69140d\",\"type\":\"ImageRGBA\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"90f735c3-b109-4c42-880f-e6a68d74abcd\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"49e33032-0b54-41f1-815f-92f5fcd36353\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"cdc5fb71-76cc-4553-95bc-02fb0bbbd895\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"cd0d676c-b6e2-4217-9bb8-f1878504a12d\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"70499ad1-72e7-43eb-8d20-f1d62777f461\",\"type\":\"ImageRGBA\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3ff3960e-62e4-4c80-bdba-44966f69140d\",\"type\":\"ImageRGBA\"},\"selection_glyph\":null,\"view\":{\"id\":\"bbf128f3-9de6-41a4-b438-0b219606be4e\",\"type\":\"CDSView\"}},\"id\":\"58ce2ed8-964a-45e7-b941-a8932de89a33\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"49e33032-0b54-41f1-815f-92f5fcd36353\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"cd0d676c-b6e2-4217-9bb8-f1878504a12d\",\"type\":\"ColumnDataSource\"}},\"id\":\"bbf128f3-9de6-41a4-b438-0b219606be4e\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"y\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"d773c94b-3d8e-4cb3-a3a2-47ddbb429c0b\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7e650e16-ad8c-48e7-8f0e-5e0399e0a2bc\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"90af39fe-838e-4993-bb1a-709e948b989d\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"6cec123a-93fb-4d80-93bb-62e5240a19b9\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7e650e16-ad8c-48e7-8f0e-5e0399e0a2bc\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"7e650e16-ad8c-48e7-8f0e-5e0399e0a2bc\",\"type\":\"BasicTicker\"}},\"id\":\"f9cb2299-68cf-4a2a-972a-93342b8dc987\",\"type\":\"Grid\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"d2e71217-7874-4dd6-83db-613e3eafefd1\",\"type\":\"ImageRGBA\"},{\"attributes\":{},\"id\":\"d773c94b-3d8e-4cb3-a3a2-47ddbb429c0b\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dh\":{\"field\":\"dh\",\"units\":\"data\"},\"dw\":{\"field\":\"dw\",\"units\":\"data\"},\"image\":{\"field\":\"image\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6be07060-bf64-4f39-90be-b8b8b10d3d15\",\"type\":\"ImageRGBA\"},{\"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\":\"9a6c0985-8337-41e4-8664-0144cca2c90b\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"c3d8d12f-7367-40f1-a3a9-1cb7d4999dd6\",\"type\":\"SaveTool\"},{\"attributes\":{\"children\":[{\"id\":\"cc1fb7ac-d3fe-47d9-8748-91239a9d60ed\",\"type\":\"ToolbarBox\"},{\"id\":\"fb57ef4a-8fc2-4195-addc-db8f5af360a9\",\"type\":\"Column\"}]},\"id\":\"4f497867-93a4-40e5-b690-b05387cf8511\",\"type\":\"Column\"},{\"attributes\":{\"tools\":[{\"id\":\"c3d8d12f-7367-40f1-a3a9-1cb7d4999dd6\",\"type\":\"SaveTool\"},{\"id\":\"6150462b-1088-4c47-bdd6-4158fa4031b6\",\"type\":\"PanTool\"},{\"id\":\"309419d7-aae1-4ae2-a987-67983ecb0a8d\",\"type\":\"WheelZoomTool\"},{\"id\":\"4766844d-d54a-4e20-94ca-2220f5d28af5\",\"type\":\"BoxZoomTool\"},{\"id\":\"a55fcd8d-1568-48d3-a8be-bc05d35a7cfe\",\"type\":\"ResetTool\"},{\"id\":\"0098d600-c7e5-41d0-9b40-e26bc8191038\",\"type\":\"SaveTool\"},{\"id\":\"1af48f78-4c53-42c2-babe-cf60c3cf8aa3\",\"type\":\"PanTool\"},{\"id\":\"d34e2182-bb0a-49e1-a1f7-3a968b85759e\",\"type\":\"WheelZoomTool\"},{\"id\":\"3d0d3760-f62c-43a2-a1f0-a640a5cfd93b\",\"type\":\"BoxZoomTool\"},{\"id\":\"b12d39a2-a120-4e84-928e-69741640f375\",\"type\":\"ResetTool\"}]},\"id\":\"037d954e-069f-4734-bced-3216d1808c13\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"9dbc4555-555c-4952-9901-1b1b9e82d3e7\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"6150462b-1088-4c47-bdd6-4158fa4031b6\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"309419d7-aae1-4ae2-a987-67983ecb0a8d\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"9a6c0985-8337-41e4-8664-0144cca2c90b\",\"type\":\"BoxAnnotation\"}},\"id\":\"4766844d-d54a-4e20-94ca-2220f5d28af5\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"end\":0.5,\"start\":-0.5},\"id\":\"b7e52249-3a6d-4c76-8fff-ed76d9f811ea\",\"type\":\"Range1d\"},{\"attributes\":{},\"id\":\"a55fcd8d-1568-48d3-a8be-bc05d35a7cfe\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"7430ef09-9d2f-4d51-99b0-06bc0902d91c\",\"type\":\"ColumnDataSource\"}},\"id\":\"3a035b05-05e4-4e36-8721-a5b8a1170e83\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"0098d600-c7e5-41d0-9b40-e26bc8191038\",\"type\":\"SaveTool\"},{\"id\":\"1af48f78-4c53-42c2-babe-cf60c3cf8aa3\",\"type\":\"PanTool\"},{\"id\":\"d34e2182-bb0a-49e1-a1f7-3a968b85759e\",\"type\":\"WheelZoomTool\"},{\"id\":\"3d0d3760-f62c-43a2-a1f0-a640a5cfd93b\",\"type\":\"BoxZoomTool\"},{\"id\":\"b12d39a2-a120-4e84-928e-69741640f375\",\"type\":\"ResetTool\"}]},\"id\":\"38e34091-8186-4926-8cb2-b8f5938fca5e\",\"type\":\"Toolbar\"},{\"attributes\":{\"plot\":null,\"text\":\"Flipped (BGR)\",\"text_color\":{\"value\":\"black\"},\"text_font_size\":{\"value\":\"12pt\"}},\"id\":\"db350be6-2576-4eab-bb3f-23d94b91abd0\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"8885985e-2038-4f7f-90cb-bc7efb86fd6e\",\"type\":\"LinearAxis\"}],\"left\":[{\"id\":\"0c39b249-4a6b-47ce-ba9a-26537c60360d\",\"type\":\"LinearAxis\"}],\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"min_border_top\":10,\"plot_height\":144,\"plot_width\":144,\"renderers\":[{\"id\":\"8885985e-2038-4f7f-90cb-bc7efb86fd6e\",\"type\":\"LinearAxis\"},{\"id\":\"31395515-62d8-4a46-bc1d-ff8f86cbfb1a\",\"type\":\"Grid\"},{\"id\":\"0c39b249-4a6b-47ce-ba9a-26537c60360d\",\"type\":\"LinearAxis\"},{\"id\":\"d275461d-e9ee-4dc1-8f2e-336029be43de\",\"type\":\"Grid\"},{\"id\":\"658cc466-a719-41a5-bf56-8716e3bdbd6a\",\"type\":\"BoxAnnotation\"},{\"id\":\"58ce2ed8-964a-45e7-b941-a8932de89a33\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"db350be6-2576-4eab-bb3f-23d94b91abd0\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"38e34091-8186-4926-8cb2-b8f5938fca5e\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"b7e52249-3a6d-4c76-8fff-ed76d9f811ea\",\"type\":\"Range1d\"},\"x_scale\":{\"id\":\"57d786d5-8dd7-4cc5-9deb-e14945a6705d\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"aca40cec-27bd-43d5-ae2d-bd80144c38a9\",\"type\":\"Range1d\"},\"y_scale\":{\"id\":\"9dbc4555-555c-4952-9901-1b1b9e82d3e7\",\"type\":\"LinearScale\"}},\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"x\",\"bounds\":\"auto\",\"formatter\":{\"id\":\"3c0486f1-3fd5-446e-98d9-33f276f2de07\",\"type\":\"BasicTickFormatter\"},\"major_label_orientation\":\"horizontal\",\"plot\":{\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"39ae20e0-c134-490b-ab4a-c3292270e0b0\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"8885985e-2038-4f7f-90cb-bc7efb86fd6e\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"57d786d5-8dd7-4cc5-9deb-e14945a6705d\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"YJp5/2OYeP9hlHT/S4Bc/0yDXP9akWn/XJRs/0yCWf9Ed0z/SHtQ/06AVf9RhVr/Wo9n/2GXb/9wpn3/Zpxz/2igd/9hnHP/XZpy/2KieP9tq4X/eLGS/2+oiv9qpIX/aKGC/2migv9oooH/aaGA/2eaev9smHz/a5p8/2SaeP9knHj/Y5d0/2CTcP9dkWz/XJNs/16Ubv9glnD/XZNs/1WKYP9QhVv/UIRb/1yRaP9nm3T/caV//3aqg/9tonv/cqeC/2eeev9moHz/ZqN+/2+ph/91qov/bKGD/2ecfv9pnoD/bqSG/3Kkh/9yoYT/b56B/26Vfv9nkHj/ZZh4/2mge/9mmnX/Y5Vw/2WZdf9mnHj/aqB8/2uhff9ton7/Z5t4/2icef9mmXb/cKSB/3Kjgf91poX/dqeG/3SlhP9yoYT/a5l//3Gih/90p4z/aZyA/2iZfP9hknX/XY5x/2iaff9mm3//a5h9/1eAZv9wnYL/ZIh1/09zX/9klXj/baF7/2eZdP9omHT/bZ98/2ygf/9tooD/cKOD/3Cih/9soIL/c6mI/3Knif9wpIb/d6iL/3ajh/9vmn//bJd//22Tf/9Td2P/Yo53/3Siiv9hkXf/WIpt/22cfv9pmHn/bZ6A/2qdgP9qlXv/RGZO/2mTeP9HZVP/QGBM/2KQcf9tnHn/bZt4/3Sif/93p4b/aJh9/2+efv9tmH7/YIZ//3Gkiv9xqIL/b6OH/22hg/9ypob/dZ6C/05tWf9Rc2f/Xnht/0ZjT/9klHb/apt7/2GTdv9ZkHL/cJ98/26bdv9tnXv/a5x8/2GKcf8+V0P/Wnxk/zVIOP9EXkf/Yo9q/2eTdv9znoL/d6KG/2mYev9ejXP/dKGD/2uTff9rjIn/e6aO/3Ghev93pIf/c6KB/2OUcP9jg2r/KDou/1FnZP9BUUv/T2hV/3Wlhf9onXv/Zpp7/2KYeP9wn3n/cZ93/2KUbv9rnHj/Wn9m/yk0KP9EU0b/LDcs/1FsVf9rmHT/Z5F6/3Kchf90nYb/ZJF0/2KPdf9sl3v/WH1r/2B/gf90oYv/bqF7/2ycfv9nmXX/YI1o/0tjTv8UGhf/SVBV/xsiIP9GXUr/Z5d4/2Kad/9uoIH/bZ18/3Kiev90pXv/c6R9/3qphP9Uc13/FRMO/yAdGv8eJR3/YIBq/2+cff9nkXv/aJJ8/2yWgP9olHj/ZY91/2mRd/9Nb2H/SWZv/1+Of/9onHz/a56D/1+Ucv9nkXL/NUc7/xANEv8iISb/ChIN/0hjT/9UhGT/UIRi/2OPcf9qknb/bJx3/2mbdP90oX7/cZx8/zJKOf8MBAL/EwkJ/x0lHP9egW3/X4xy/26Yf/9eiXD/Xohv/1mEZ/9dhmz/YIdv/zxbUP9XbXz/QV9c/z1hTP9RdGP/YIdt/1h9aP8fLSz/DwsU/woJCf8RHBP/W31o/1uLa/9Zh2X/XoBm/2iIc/9gjm//YJFw/2qUd/9jhnD/Ficd/wsEBP8RCwn/NkM4/2GIdv9YhXH/apN7/2CLcf9gjnL/V4Nm/1t+Zv9XdGH/Fi8r/zBGWv8nOkT/Q1BC/z9QPv8wSTf/LEc9/xIdIf8PDhb/Cw0N/x0rIv9mhXX/Z412/3CQeP9sg3L/fZeK/2+agf9jlXj/c5+I/2SCc/8MGhP/EQ0M/xsXFf9GV0n/Yo13/1WIbv93nYf/cJqB/3Khhv9mkXn/Y39r/19vZP9eb3P/dZGk/2Z7jv+jpKT/p7Wt/2V7ef8jNTn/GCEn/xcaIP8RFhn/DRYV/yAtKP8jMCr/KDQt/ys3M/9DUk7/W31q/2mWfv9tl4X/QVlO/wQNB/8MCwz/Eg8T/x8sI/9Qe2H/SoRi/3ufhf95nof/dpyG/3OYg/9lgG//WWdh/7C9w/+xxNb/sb7T/83V6v+QqsX/iaW+/zdJV/8NFB3/GRsh/wkMDv8FCgr/BAsK/wMKCv8CCQr/BQoO/wYMD/8MIBj/OldJ/05pXv8XIx7/AgYG/wkMEf8RFiD/Bw0N/z5dS/9GfmH/f56F/4KdiP+Dm4j/cox6/09lWP8+Skv/s7/I/8LT4v+sv9L/eZC1/0p2o/9WfqX/LT9R/wQIFP8YGiL/GRoe/w0QEv8NDxP/DA8V/woPGP8QEx7/EhQh/wMNFP8KFxj/DxoY/wYMDP8KDBL/GB4s/yQzRv8GChL/NEpA/0Z7Y/9thnL/Y3Zh/3uIcf9+iXf/aHNt/19qcv/J2Ob/qL/N/2mAjP9abIH/TnSM/0Zpgf8cKzj/GBwm/zg5Rf8xNUD/Fhkg/wsLFP8MDxv/ERgn/yQqPf8rMkf/FyI1/xIcKv8KERf/Exgd/yMnM/8yOlD/JjlV/wkPHP8uQTn/RHdg/0dbTf9GUTz/kpd6/7i3o/+/v73/pK27/52xxv9QbXz/Mj8//3NqXf+Hinz/U11b/xwjJ/83OkL/QkRT/zI7Tv8UGif/GBok/x0jM/8cJzv/LzxU/zxNZv8vQF3/LzxS/xMcJ/8cJS7/P0ZW/z5HYv8jNFj/CxIj/ys/Nf9Ie2H/QVtO/0VcRv+fn4P/18u5/8zJzv+bobP/e4iV/z1SVP88Rjv/WlNA/3NxWP8xLyf/KScq/0tJT/9QUFn/QEVR/y4xOP86O0L/NTpJ/ykySf84Ql3/Slh2/0BTd/86Smn/GSIy/yovO/9ARlr/NT9e/zE+Y/8UFib/JDEo/0dvWP8+YVH/QmRN/5uagP/gzb3/xsHI/5eXpf98fHz/Mz0z/yEuH/85QTn/Lzcp/wwODP8vLTD/SUdL/1ZVWv9gXmX/VlZd/1NUXv87P1L/MjlV/z9HZP9faoX/UWSI/zFFYv8eKDj/NTVF/z9CWv9JUG//XmOC/xkVIP8hKCD/PlxK/z9iT/9adl3/trSY/8u3n/+LgXv/kIqI/4yFef82Oy//JS4q/zY6P/8QFBD/EhMW/zM1N/9CREb/Tk5V/19aZv9TVGP/SU5j/zc/Wf8zPFz/OURg/1hkef9NYHz/IjVN/xwmNv9GRVn/V1dw/2Rlf/9XVWn/Eg0R/ygyJ/83VEH/TGtV/4WXe//f2br/482v/82+q//Pwq3/nZB3/0A/M/9WXGH/Pj9Q/xMVGf8eHyP/LzEy/0hJSf9eWmD/UkpT/0tIVv9FSFn/Oz9S/zQ6Tv80OU3/QERW/0pRaP8nLUT/ISM2/0xLW/9RUWP/R0hX/zUzOP8vLij/Kzkp/ytGMf9ddFv/r7KV/+zdvP/13rv/79/A//Hhvf+0pIP/R0U6/1leaP9UU2v/Hx8o/yAiJP8uLS7/TkpI/21lY/9NPz7/T0VE/3Jrav99dnL/hoJ7/4WAe/9ya2v/Z15i/0lARv88Mzr/Ozk6/zE1N/8uNjX/O0I5/0BHOP8yRC//KUQt/3mHbf/d1Lb/8926//PcuP/t3br/8uK2/9TEoP9XVUr/RUlT/1RRa/8fICn/JCUl/z04N/9WTEj/g3Rq/5B/b/+hj3v/08Kq/9vLr//dza3/3c6t/9rMrv/Uw6f/yLae/7Wmkv+Kh3X/S1NG/zBAM/8/UD3/M0As/yxAKv8uRi//j5t8/+vcuf/w3bj/8N64//Deuf/x4Lf/6tiy/4yDbf9BQ0b/TUpc/zQ0PP8/Qjz/VVNG/2RVRP+/qJH/7Nm7/+vat//w3Lj/8N23/+/btP/t27P/7923//HeuP/y3rr/8d67/+bYt/+IiXD/PUk1/19rU/9BTTn/IjUi/zBCLf+8wZ//8d64/+/dtv/u3bf/8N23/+/ct//w3bb/v7KT/0tIRP9DPkb/RUFE/0hJPP9jYkj/tKOG/+/VtP/u3LT/69yz/+/ctv/v3Lb/79y2//DduP/w3bn/8N24/+/cuP/w27b/9N+2/8G5l/96el//trCV/3V8Zv8zRDL/S1RA/+beuf/13bT/9d21//Hdtv/w3bX/79y0//Tgt//Gtpb/SkE1/0Q5NP9hV0//eHJd/6afff/t3Lb/9d21//Dfsv/v3rP/8d21//Hdtf/w3bX/8d22//Hdt//y3bf/8d24//Let//03rP/6Niw/86+m//r1LL/oJ+E/1JeR/+OjHX/9OC3//jcsP/23bT/8920//Pds//z3bL/9d+0/97Kpv+KeWP/loVw/72tlv/Mvp//4dOq//PftP/03rH/8t+w//Lfsv/03rP/896z//Pds//z3bP/8921//Pdtf/z3bX/9N20//Tcsf/z3LD/9Nyy//XXsf+vpYf/g4Jn/8y7of/64LL/996u//Pds//z3bP/9d6x//Xesf/13rH/9d61/+nRr//q1LD/8922//Lcs//03bL/9d6x//Xesv/03rL/9N6x//Xesf/13rH/9d6x//Xdsv/13bP/9dyz//Xds//13LT/8tq0//PbsP/13bD/8div/8i4mP+/rpD/3cCi//vhsf/13q3/8d6y//Ldsv/13rH/9d6x//Xesf/13bL/9ty1//fdsv/23bD/9t2w//bcsP/03LH/9Nyy//Xcs//03LH/89yv//TdsP/13rH/9d2y//Xds//13bP/9d2z//Xcs//y2rX/8tux//Pesf/r2bD/18Oh/9e7m//lw6L/+N+x//Pcrv/y3K//89yv//Tcr//03K//9Nyv//TcsP/03LL/9dyx//Tcsf/03LH/9Nux//Pbsf/z27H/9Nuy//Pbsf/z27H/89ux//Tbsf/027H/9Nux//Tbsf/03LL/9Nyy//Tbsv/03LL/89yx/+7Yrv/jyqb/38Oh/+XHov/23q//89ut//Pbrf/z263/89ut//Pbrf/z263/89ut//Par//z2q//89qv//Par//z2q//89qv//Par//z2q//89qv//Par//z2q//89qv//Par//z2q//89qv//Par//z2q//89qv//Par//z2q//8dit/+rQqf/nzaf/6s6m//bcrP/z2ar/9Nqr//Taq//02qv/9Nqr//Taq//02qv/9Nms//TZrP/02qz/9Nqs//TarP/02qz/9Nqs//TarP/02qz/9Nqs//Tarf/02q3/9Nqt//TarP/02qz/9Nms//PZrP/z2az/89ms//PZq//y2Kv/7tSo/+vQpf/sz6P/9dqo//LXpv/y16b/89im//PYpv/z2Kf/9Nmn//TZqP/016r/9Neq//TYqv/02Kr/9Niq//TYqv/02Kr/9Niq//TYqv/02Kr/9Neq//TXqv/z16n/89ap//PWqf/y1qj/8tao//LWqP/z1qn/8tao//HVp//u1KT/7NGg/+vNnv/016T/8NSi//DUov/x1aP/8dWi//LVo//y1qT/8tak//LVpf/y1aX/8tWl//LVpf/y1aX/8tWl//LVpf/y1aX/8tWl//LVpf/y1aX/8tWl//LVpf/x1KT/8dSk//HUpP/x1KT/8dSk//HUpP/x06T/79Ki/+3Snf/r0Jn/6suZ/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"cd0d676c-b6e2-4217-9bb8-f1878504a12d\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"39ae20e0-c134-490b-ab4a-c3292270e0b0\",\"type\":\"BasicTicker\"}},\"id\":\"31395515-62d8-4a46-bc1d-ff8f86cbfb1a\",\"type\":\"Grid\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"plot\":{\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"},\"ticker\":{\"id\":\"ef5ae4b4-0aa6-4736-a9bc-064075a91e35\",\"type\":\"BasicTicker\"}},\"id\":\"d275461d-e9ee-4dc1-8f2e-336029be43de\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"column_names\":[\"image\",\"x\",\"y\",\"dw\",\"dh\"],\"data\":{\"dh\":[1.0],\"dw\":[1.0],\"image\":[{\"__ndarray__\":\"eZpg/3iYY/90lGH/XIBL/1yDTP9pkVr/bJRc/1mCTP9Md0T/UHtI/1WATv9ahVH/Z49a/2+XYf99pnD/c5xm/3egaP9znGH/cppd/3iiYv+Fq23/krF4/4qob/+FpGr/gqFo/4Kiaf+Bomj/gKFp/3qaZ/98mGz/fJpr/3iaZP94nGT/dJdj/3CTYP9skV3/bJNc/26UXv9wlmD/bJNd/2CKVf9bhVD/W4RQ/2iRXP90m2f/f6Vx/4Oqdv97om3/gqdy/3qeZ/98oGb/fqNm/4epb/+LqnX/g6Fs/36cZ/+Anmn/hqRu/4ekcv+EoXL/gZ5v/36Vbv94kGf/eJhl/3ugaf91mmb/cJVj/3WZZf94nGb/fKBq/32ha/9+om3/eJtn/3mcaP92mWb/gaRw/4Gjcv+FpnX/hqd2/4SldP+EoXL/f5lr/4eicf+Mp3T/gJxp/3yZaP91kmH/cY5d/32aaP9/m2b/fZhr/2aAV/+CnXD/dYhk/19zT/94lWT/e6Ft/3SZZ/90mGj/fJ9t/3+gbP+Aom3/g6Nw/4eicP+CoGz/iKlz/4mncv+GpHD/i6h3/4ejdv9/mm//f5ds/3+Tbf9jd1P/d45i/4qidP93kWH/bYpY/36cbf95mGn/gJ5t/4Cdav97lWr/TmZE/3iTaf9TZUf/TGBA/3GQYv95nG3/eJtt/3+idP+Gp3f/fZho/36eb/9+mG3/f4Zg/4qkcf+CqHH/h6Nv/4Ohbf+GpnL/gp51/1ltTv9nc1H/bXhe/09jRv92lGT/e5tq/3aTYf9ykFn/fJ9w/3abbv97nW3/fJxr/3GKYf9DVz7/ZHxa/zhINf9HXkT/ao9i/3aTZ/+CnnP/hqJ3/3qYaf9zjV7/g6F0/32Ta/+JjGv/jqZ7/3qhcf+HpHf/gaJz/3CUY/9qg2P/Ljoo/2RnUf9LUUH/VWhP/4Wldf97nWj/e5pm/3iYYv95n3D/d59x/26UYv94nGv/Zn9a/yg0Kf9GU0T/LDcs/1VsUf90mGv/epFn/4Wccv+GnXT/dJFk/3WPYv97l2z/a31Y/4F/YP+LoXT/e6Fu/36cbP91mWf/aI1g/05jS/8XGhT/VVBJ/yAiG/9KXUb/eJdn/3eaYv+BoG7/fJ1t/3qicv97pXT/faRz/4Spev9dc1T/DhMV/xodIP8dJR7/aoBg/32cb/97kWf/fJJo/4CWbP94lGj/dY9l/3eRaf9hb03/b2ZJ/3+OX/98nGj/g55r/3KUX/9ykWf/O0c1/xINEP8mISL/DRIK/09jSP9khFT/YoRQ/3GPY/92kmr/d5xs/3Sbaf9+oXT/fJxx/zlKMv8CBAz/CQkT/xwlHf9tgV7/coxf/3+Ybv9wiV7/b4he/2eEWf9shl3/b4dg/1BbPP98bVf/XF9B/0xhPf9jdFH/bYdg/2h9WP8sLR//FAsP/wkJCv8THBH/aH1b/2uLW/9lh1n/ZoBe/3OIaP9vjmD/cJFg/3eUav9whmP/HScW/wQEC/8JCxH/OEM2/3aIYf9xhVj/e5Nq/3GLYP9yjmD/ZoNX/2Z+W/9hdFf/Ky8W/1pGMP9EOif/QlBD/z5QP/83STD/PUcs/yEdEv8WDg//DQ0L/yIrHf91hWb/do1n/3iQcP9yg2z/ipd9/4Gab/94lWP/iJ9z/3OCZP8TGgz/DA0R/xUXG/9JV0b/d41i/26IVf+HnXf/gZpw/4ahcv95kWb/a39j/2RvX/9zb17/pJF1/457Zv+kpKP/rbWn/3l7Zf85NSP/JyEY/yAaF/8ZFhH/FRYN/ygtIP8qMCP/LTQo/zM3K/9OUkP/an1b/36Waf+Fl23/TllB/wcNBP8MCwz/Ew8S/yMsH/9he1D/YoRK/4Wfe/+Hnnn/hpx2/4OYc/9vgGX/YWdZ/8O9sP/WxLH/076x/+rVzf/FqpD/vqWJ/1dJN/8dFA3/IRsZ/w4MCf8KCgX/CgsE/woKA/8KCQL/DgoF/w8MBv8YIAz/SVc6/15pTv8eIxf/BgYC/xEMCf8gFhH/DQ0H/0tdPv9hfkb/hZ5//4idgv+Im4P/eoxy/1hlT/9LSj7/yL+z/+LTwv/Sv6z/tZB5/6N2Sv+lflb/UT8t/xQIBP8iGhj/HhoZ/xIQDf8TDw3/FQ8M/xgPCv8eExD/IRQS/xQNA/8YFwr/GBoP/wwMBv8SDAr/LB4Y/0YzJP8SCgb/QEo0/2N7Rv9yhm3/YXZj/3GIe/93iX7/bXNo/3JqX//m2Mn/zb+o/4yAaf+BbFr/jHRO/4FpRv84Kxz/JhwY/0U5OP9ANTH/IBkW/xQLC/8bDwz/JxgR/z0qJP9HMiv/NSIX/yocEv8XEQr/HRgT/zMnI/9QOjL/VTkm/xwPCf85QS7/YHdE/01bR/88UUb/epeS/6O3uP+9v7//u62k/8axnf98bVD/Pz8y/11qc/98iof/W11T/ycjHP9COjf/U0RC/047Mv8nGhT/JBoY/zMjHf87Jxz/VDwv/2ZNPP9dQC//Ujwv/yccE/8uJRz/VkY//2JHPv9YNCP/IxIL/zU/K/9he0j/TltB/0ZcRf+Dn5//ucvX/87JzP+zoZv/lYh7/1RSPf87Rjz/QFNa/1hxc/8nLzH/Kicp/09JS/9ZUFD/UUVA/zgxLv9COzr/STo1/0kyKf9dQjj/dlhK/3dTQP9pSjr/MiIZ/zsvKv9aRkD/Xj81/2M+Mf8mFhT/KDEk/1hvR/9RYT7/TWRC/4Cam/+9zeD/yMHG/6WXl/98fHz/Mz0z/x8uIf85QTn/KTcv/wwODP8wLS//S0dJ/1pVVv9lXmD/XVZW/15UU/9SPzv/VTky/2RHP/+Fal//iGRR/2JFMf84KB7/RTU1/1pCP/9vUEn/gmNe/yAVGf8gKCH/Slw+/09iP/9ddlr/mLS2/5+3y/97gYv/iIqQ/3mFjP8vOzb/Ki4l/z86Nv8QFBD/FhMS/zc1M/9GREL/VU5O/2ZaX/9jVFP/Y05J/1k/N/9cPDP/YEQ5/3lkWP98YE3/TTUi/zYmHP9ZRUb/cFdX/39lZP9pVVf/EQ0S/ycyKP9BVDf/VWtM/3uXhf+62d//r83j/6u+zf+tws//d5Cd/zM/QP9hXFb/UD8+/xkVE/8jHx7/MjEv/0lJSP9gWl7/U0pS/1ZIS/9ZSEX/Uj87/046NP9NOTT/VkRA/2hRSv9ELSf/NiMh/1tLTP9jUVH/V0hH/zgzNf8oLi//KTkr/zFGK/9bdF3/lbKv/7zd7P+73vX/wN/v/73h8f+DpLT/OkVH/2heWf9rU1T/KB8f/yQiIP8uLS7/SEpO/2Nlbf8+P03/REVP/2prcv9ydn3/e4KG/3uAhf9ra3L/Yl5n/0ZASf86Mzz/Ojk7/zc1Mf81Ni7/OUI7/zhHQP8vRDL/LUQp/22Hef+21N3/ut3z/7jc8/+63e3/tuLy/6DE1P9KVVf/U0lF/2tRVP8pIB//JSUk/zc4Pf9ITFb/anSD/29/kP97j6H/qsLT/6/L2/+tzd3/rc7d/67M2v+nw9T/nrbI/5Kmtf91h4r/RlNL/zNAMP89UD//LEAz/ypALP8vRi7/fJuP/7nc6/+43fD/uN7w/7ne8P+34PH/stjq/22DjP9GQ0H/XEpN/zw0NP88Qj//RlNV/0RVZP+RqL//u9ns/7fa6/+43PD/t93w/7Tb7/+z2+3/t93v/7je8f+63vL/u97x/7fY5v9wiYj/NUk9/1NrX/85TUH/IjUi/y1CMP+fwbz/uN7x/7bd7/+33e7/t93w/7fc7/+23fD/k7K//0RIS/9GPkP/REFF/zxJSP9IYmP/hqO0/7TV7/+03O7/s9zr/7bc7/+23O//ttzv/7jd8P+53fD/uN3w/7jc7/+22/D/tt/0/5e5wf9fenr/lbC2/2Z8df8yRDP/QFRL/7ne5v+03fX/td31/7bd8f+13fD/tNzv/7fg9P+Wtsb/NUFK/zQ5RP9PV2H/XXJ4/32fpv+23O3/td31/7Lf8P+z3u//td3x/7Xd8f+13fD/tt3x/7fd8f+33fL/uN3x/7fe8v+z3vT/sNjo/5u+zv+y1Ov/hJ+g/0deUv91jI7/t+D0/7Dc+P+03fb/tN3z/7Pd8/+y3fP/tN/1/6bK3v9jeYr/cIWW/5atvf+fvsz/qtPh/7Tf8/+x3vT/sN/y/7Lf8v+z3vT/s97z/7Pd8/+z3fP/td3z/7Xd8/+13fP/tN30/7Hc9P+w3PP/stz0/7HX9f+Hpa//Z4KD/6G7zP+y4Pr/rt73/7Pd8/+z3fP/sd71/7He9f+x3vX/td71/6/R6f+w1Or/tt3z/7Pc8v+y3fT/sd71/7Le9f+y3vT/sd70/7He9f+x3vX/sd71/7Ld9f+z3fX/s9z1/7Pd9f+03PX/tNry/7Db8/+w3fX/r9jx/5i4yP+Qrr//osDd/7Hh+/+t3vX/st7x/7Ld8v+x3vX/sd71/7He9f+y3fX/tdz2/7Ld9/+w3fb/sN32/7Dc9v+x3PT/stz0/7Pc9f+x3PT/r9zz/7Dd9P+x3vX/st31/7Pd9f+z3fX/s931/7Pc9f+12vL/sdvy/7He8/+w2ev/ocPX/5u71/+iw+X/sd/4/67c8/+v3PL/r9zz/6/c9P+v3PT/r9z0/7Dc9P+y3PT/sdz1/7Hc9P+x3PT/sdv0/7Hb8/+x2/P/stv0/7Hb8/+x2/P/sdvz/7Hb9P+x2/T/sdv0/7Hb9P+y3PT/stz0/7Lb9P+y3PT/sdzz/67Y7v+myuP/ocPf/6LH5f+v3vb/rdvz/63b8/+t2/P/rdvz/63b8/+t2/P/rdvz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/r9rz/6/a8/+v2vP/rdjx/6nQ6v+nzef/ps7q/6zc9v+q2fP/q9r0/6va9P+r2vT/q9r0/6va9P+r2vT/rNn0/6zZ9P+s2vT/rNr0/6za9P+s2vT/rNr0/6za9P+s2vT/rNr0/63a9P+t2vT/rdr0/6za9P+s2vT/rNn0/6zZ8/+s2fP/rNnz/6vZ8/+r2PL/qNTu/6XQ6/+jz+z/qNr1/6bX8v+m1/L/ptjz/6bY8/+n2PP/p9n0/6jZ9P+q1/T/qtf0/6rY9P+q2PT/qtj0/6rY9P+q2PT/qtj0/6rY9P+q2PT/qtf0/6rX9P+p1/P/qdbz/6nW8/+o1vL/qNby/6jW8v+p1vP/qNby/6fV8f+k1O7/oNHs/57N6/+k1/T/otTw/6LU8P+j1fH/otXx/6PV8v+k1vL/pNby/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+l1fL/pdXy/6XV8v+k1PH/pNTx/6TU8f+k1PH/pNTx/6TU8f+k0/H/otLv/53S7f+Z0Ov/mcvq/w==\",\"dtype\":\"uint32\",\"shape\":[32,32]}],\"x\":[-0.5],\"y\":[-0.5]}},\"id\":\"7430ef09-9d2f-4d51-99b0-06bc0902d91c\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"39ae20e0-c134-490b-ab4a-c3292270e0b0\",\"type\":\"BasicTicker\"},{\"attributes\":{\"children\":[{\"id\":\"169f892d-95b1-4856-8988-f7318507ea8a\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"id\":\"99f9566c-acee-4b30-8085-34e4d59452d1\",\"subtype\":\"Figure\",\"type\":\"Plot\"}]},\"id\":\"4b3ef470-4716-4558-b4a8-fdbfc70fb874\",\"type\":\"Row\"},{\"attributes\":{\"children\":[{\"id\":\"4b3ef470-4716-4558-b4a8-fdbfc70fb874\",\"type\":\"Row\"}]},\"id\":\"fb57ef4a-8fc2-4195-addc-db8f5af360a9\",\"type\":\"Column\"}],\"root_ids\":[\"4f497867-93a4-40e5-b690-b05387cf8511\"]},\"title\":\"Bokeh Application\",\"version\":\"0.12.13\"}};\n",
       "  var render_items = [{\"docid\":\"7ed3759c-3cd3-4ca9-be29-af8e17b1f17c\",\"elementid\":\"75ef89ff-ec52-4a7f-ad6a-ea309c9d1ba8\",\"modelid\":\"4f497867-93a4-40e5-b690-b05387cf8511\"}];\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);\n",
       "</script>\n",
       "</div>"
      ],
      "text/plain": [
       ":Layout\n",
       "   .RGB.Correct_left_parenthesis_RGB_right_parenthesis :RGB   [x,y]   (R,G,B)\n",
       "   .RGB.Flipped_left_parenthesis_BGR_right_parenthesis :RGB   [x,y]   (R,G,B)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%output size=48\n",
    "%%opts RGB [xaxis=None yaxis=None]\n",
    "# For more information on Holoviews configuration, see http://holoviews.org/user_guide/Customizing_Plots.html\n",
    "\n",
    "i = 12\n",
    "print(cifar10_labels[y_train[i][0]])\n",
    "hv.RGB(x_train[i], label='Correct (RGB)') + hv.RGB(x_train[i,:,:,::-1], label='Flipped (BGR)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rescaling Data for Neural Networks\n",
    "\n",
    "For reasons of numerical precision and stability, it is a good idea to scale inputs to the network so that they are floating point numbers approximately between -1 and 1.  For best training performance on the GPU, using 32-bit floating point numbers is preferred since those have higher performance (between 2x and 24x depending on your GPU) than 64-bit floating point numbers.\n",
    "\n",
    "We can use standard NumPy functions and expressions to make this conversion:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_train dtype: float32\n",
      "x_train min/max: 0.0 1.0\n"
     ]
    }
   ],
   "source": [
    "x_train_norm = x_train.astype('float32')\n",
    "x_test_norm = x_test.astype('float32')\n",
    "x_train_norm /= 255\n",
    "x_test_norm /= 255\n",
    "print('x_train dtype:', x_train_norm .dtype)\n",
    "print('x_train min/max:', x_train_norm .min(), x_train_norm .max())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For the output labels of the network, we will use one-hot encoding.  To use one-hot encoding, we need to know the number of categories (or \"classes\") in our data.  For CIFAR10, that number is 10."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "import keras.utils\n",
    "\n",
    "num_classes = 10\n",
    "\n",
    "y_train_norm = keras.utils.to_categorical(y_train, num_classes)\n",
    "y_test_norm = keras.utils.to_categorical(y_test, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can look at the first 5 rows to see how there is a single `1` in each column:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "y_train shape: (50000, 10)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],\n",
       "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],\n",
       "       [0., 0., 0., 0., 0., 0., 0., 0., 0., 1.],\n",
       "       [0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],\n",
       "       [0., 1., 0., 0., 0., 0., 0., 0., 0., 0.]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('y_train shape:', y_train_norm.shape)\n",
    "y_train_norm[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that if we ever want to convert one-hot encoding back to category numbers, we can use the NumPy `argmax` function to find the column number with the largest value along axis 1 for each row:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6, 9, 9, 4, 1])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.argmax(y_train_norm, axis=1)[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Because these transformations of the input and category labels are quick, we will not load pre-transformed data from disk in future units.  However, if we wanted to save the transformed arrays, we could save them in an HDF5 file:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import h5py\n",
    "\n",
    "with h5py.File('transformed_data.hdf5', 'w') as f:\n",
    "    f.create_dataset('x_train', data=x_train_norm)\n",
    "    f.create_dataset('y_train', data=y_train_norm)\n",
    "    f.create_dataset('x_test', data=x_test_norm)\n",
    "    f.create_dataset('y_test', data=y_test_norm)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These files can get very big:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-rw-rw-r-- 1 seibert seibert 708M Apr  7 16:53 transformed_data.hdf5\r\n"
     ]
    }
   ],
   "source": [
    "! ls -lh transformed_data.hdf5"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To load the data later:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "with h5py.File('transformed_data.hdf5', 'r') as f:\n",
    "    x_train_norm = f['x_train'][:] # The extra slice [:] forces h5py to load into memory\n",
    "    y_train_norm = f['y_train'][:] # The extra slice [:] forces h5py to load into memory\n",
    "    x_test_norm = f['x_test'][:] # The extra slice [:] forces h5py to load into memory\n",
    "    y_test_norm = f['y_test'][:] # The extra slice [:] forces h5py to load into memory"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(50000, 32, 32, 3)\n",
      "float32\n"
     ]
    }
   ],
   "source": [
    "print(x_train_norm.shape)\n",
    "print(x_train_norm.dtype)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}