From 40c30b5d7281eb4dac73f7dd1c7f33513de8dda0 Mon Sep 17 00:00:00 2001
From: Laurent Mercadier <laurent.mercadier@xfel.eu>
Date: Fri, 15 Sep 2023 15:31:37 +0200
Subject: [PATCH] Update and move knife-edge notebook to doc

---
 ...fe edge scan and fluence calculation.ipynb | 13285 ++++++++++++++++
 doc/howtos.rst                                |     7 +-
 ...fe edge scan and fluence calculation.ipynb |   389 -
 3 files changed, 13291 insertions(+), 390 deletions(-)
 create mode 100644 doc/Knife edge scan and fluence calculation.ipynb
 delete mode 100644 notebook_examples/Knife edge scan and fluence calculation.ipynb

diff --git a/doc/Knife edge scan and fluence calculation.ipynb b/doc/Knife edge scan and fluence calculation.ipynb
new file mode 100644
index 0000000..7952a43
--- /dev/null
+++ b/doc/Knife edge scan and fluence calculation.ipynb	
@@ -0,0 +1,13285 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# In a nutshell"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Cupy is not installed in this environment, no access to the GPU\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "plt.rcParams['figure.constrained_layout.use'] = True\n",
+    "%matplotlib notebook\n",
+    "import toolbox_scs as tb"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### plot and fit a knife-edge run\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"700\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "fitting function: a*erfc(np.sqrt(2)*(x-x0)/w0) + b\n",
+      "w0 = (653.5 +/- 0.4) um\n",
+      "x0 = (-7.327 +/- 0.000) mm\n",
+      "a = 1.135880e+05 +/- 1.950313e+01 \n",
+      "b = -3.857367e+02 +/- 2.580742e+01 \n"
+     ]
+    }
+   ],
+   "source": [
+    "proposal = 4476\n",
+    "runNB = 130\n",
+    "fields = ['XRD_STZ', 'FastADC2_5raw']\n",
+    "run, ds = tb.load(proposal, runNB, fields, fadc2_bp='scs_ppl')\n",
+    "\n",
+    "w0_x = tb.knife_edge(ds, axisKey='XRD_STZ',\n",
+    "              signalKey='FastADC2_5peaks', plot=True)[0]"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### OL power measurement and fluence calibration"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQVR4XuxdB5gURdOuO3LOOUiQIBlUkCACkgQRFMUsoIKCCQVBMBAkiBgQf1AQBQTD96kgoCQFEQkCgoCAktNHkJwk393fby9zLsvd7czu1OzMbpXPPQLXofrtnp53qqur4pKUkIggIAgIAoKAICAICAKCgG0IxAnBsg1LaUgQEAQEAUFAEBAEBAGNgBAsWQiCgCAgCAgCgoAgIAjYjIAQLJsBleYEAUFAEBAEBAFBQBAQgiVrQBAQBAQBQUAQEAQEAZsREIJlM6DSnCAgCAgCgoAgIAgIAkKwZA04isDp06fplVdeof/+97909OhRqlixIr300kt03333OaqH1c4WL15MQ4cOpWXLltG5c+eoePHi9Mgjj9Crr76a3NTChQupcePGKTaNejfddJP+3Zo1a+jll1+mP/74gw4dOkRZsmShChUq0FNPPUUPPfRQmqqNHz+eunTpQtmyZSNgGSgrVqzQOi1dupRwQfjGG2+kwYMHU/369ZOLdurUiSZNmpRqP/66WsXJi+VlTcqa9OK6FZ3dj4AQLPfPUVRp2Lx5c1q5ciW98cYbVL58efr8888JpOGzzz6jBx54wJVjhY4PP/wwdejQQeuYPXt22rZtG+3bt49ee+21qwgWiFgg0apSpYquBwER+/LLL6lBgwZUrFgx+ueff/T48W+vv/66JqApyd69e6ly5cqaXJ04ceIqggVcb775Zqpduza98MILmmC9+eab9Pvvv9NPP/1EdevW1c1CdxC7QGnTpg1lypSJdu3aRenSpXPlXHAoJWtS1iTHupI2BQEhWLIGHENg1qxZ1Lp1a02q7r///uR+8YLbsGED7d6923UvdpAaWJdgrRozZkyaWBkWrK+++oruvvtuy7jCwgXSBhxSEhCguLg4yps3L3399ddXEayWLVtq69j27dspa9asuolTp05RmTJlNJldsmRJqjr9/PPP1KhRI03uQPJiRWRNpj3TsiZj5UmQcXIgIASLA9UobxNkCBYZHPPdc889erSrVq2iG264gSpVqqTJkiF33HEHgaTg9zjagpXm2LFjlD59+uQyX3zxhbYMgQDUq1dPH8HB2gJygHq5cuXSZQ8cOEA1atTQx4rz5893hIwNHDiQBgwYQDt37qRrrrmGlWDdfvvt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\" width=\"600\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# the following two arrays comes from laser power measurement\n",
+    "rel_powers = np.array([100, 75, 50, 25, 15, 12, 10, 8, 6, 4, 2, 1, 0.75, 0.5, 0.25, 0.1])\n",
+    "power_mW = np.array([505, 384, 258, 130, 81, 67, 56.5, 45.8, 35.6, 24.1, 14.1, 9.3, 8.0, 6.5, 4.8, 4.1]) #in mW\n",
+    "npulses = 336\n",
+    "# Here we assume that w0y = w0x\n",
+    "F, F_fit, E, E_fit = tb.fluenceCalibration(rel_powers, power_mW, npulses,\n",
+    "                                           w0x=w0_x, fit_order=1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Beam size versus scanning parameter (focus lens position, KB bending, ...)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "chem_Y: only 70.3% of trains (4650 out of 6618) contain data.\n",
+      "HFM_BENDING: only 52.9% of trains (3499 out of 6618) contain data.\n",
+      "VFM_BENDING: only 52.9% of trains (3499 out of 6618) contain data.\n",
+      "FastADC9raw: only 12.9% of trains (852 out of 6618) contain data.\n",
+      "chem_Y: only 76.6% of trains (4748 out of 6201) contain data.\n",
+      "HFM_BENDING: only 52.8% of trains (3273 out of 6201) contain data.\n",
+      "VFM_BENDING: only 52.8% of trains (3273 out of 6201) contain data.\n",
+      "FastADC9raw: only 16.3% of trains (1011 out of 6201) contain data.\n",
+      "chem_Y: only 91.7% of trains (5284 out of 5762) contain data.\n",
+      "HFM_BENDING: only 52.9% of trains (3046 out of 5762) contain data.\n",
+      "VFM_BENDING: only 52.9% of trains (3046 out of 5762) contain data.\n",
+      "FastADC9raw: only 25.3% of trains (1458 out of 5762) contain data.\n",
+      "HFM_BENDING: only 53.1% of trains (3073 out of 5791) contain data.\n",
+      "VFM_BENDING: only 53.1% of trains (3073 out of 5791) contain data.\n",
+      "FastADC9raw: only 29.3% of trains (1698 out of 5791) contain data.\n",
+      "chem_Y: only 85.0% of trains (5136 out of 6040) contain data.\n",
+      "HFM_BENDING: only 53.0% of trains (3204 out of 6040) contain data.\n",
+      "VFM_BENDING: only 53.0% of trains (3204 out of 6040) contain data.\n",
+      "FastADC9raw: only 21.5% of trains (1299 out of 6040) contain data.\n",
+      "chem_Y: only 80.8% of trains (4850 out of 6005) contain data.\n",
+      "HFM_BENDING: only 54.3% of trains (3258 out of 6005) contain data.\n",
+      "VFM_BENDING: only 54.3% of trains (3258 out of 6005) contain data.\n",
+      "FastADC9raw: only 19.9% of trains (1196 out of 6005) contain data.\n",
+      "chem_Y: only 38.4% of trains (3200 out of 8333) contain data.\n",
+      "HFM_BENDING: only 73.6% of trains (6136 out of 8333) contain data.\n",
+      "VFM_BENDING: only 73.6% of trains (6136 out of 8333) contain data.\n",
+      "FastADC9raw: only 6.7% of trains (559 out of 8333) contain data.\n"
+     ]
+    }
+   ],
+   "source": [
+    "proposal = 900291\n",
+    "runList = range(9, 16)\n",
+    "fields = ['chem_Y', 'HFM_BENDING', 'VFM_BENDING', 'FastADC9raw']\n",
+    "data = {}\n",
+    "for runNB in runList:\n",
+    "    run, ds = tb.load(proposal, runNB, fields, fadc_bp='sase3')\n",
+    "    data[runNB] = ds"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "w0_vs_bender = []\n",
+    "for runNB, ds in data.items():\n",
+    "    w0 = tb.knife_edge(ds, signalKey='FastADC9peaks', axisKey='chem_Y')[0]\n",
+    "    w0_vs_bender.append([ds['VFM_BENDING'].mean().values, w0])\n",
+    "w0_vs_bender = np.array(w0_vs_bender)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4Xu3dCZzO1f///9eQpcRYsoxBliwJDUoUohB9kq2yfD5hQikV2pRkSYWUrU/1ob7WbN+EqSz1KVnGUllTouzbkMT8iBFj/l7n2zX/mXGNa5nrmnkvj3O7uRXX+/2+zrmfM3p23u9z3hEpl4pQEEAAAQQQQAABBFwjEEEAdE1f01AEEEAAAQQQQMAIEAAZCAgggAACCCCAgMsECIBpOvzixYty+PBhKViwoERERLhsKNBcBBBAAAEEEHCigD7td+rUKSldurTkypWLGcCMnXzw4EEpW7asE/ueNiGAAAIIIICAywUOHDggZcqUIQBmHAeJiYlSuHBhUaBChQq5fJjQfAQQQAABBBBwgsD/+3//z0xwnTx5UiIjIwmAGTtVgRRGgyAB0AlDnjYggAACCCCAgLd8wzOAacYFAZAfEgQQQAABBBBwmgAB0EePEgCdNuRpDwIIIIAAAggQAAmA/BQggAACCCCAgMsECIAEQJcNeZqLAAIIIIAAAgRAAiA/BQgggAACCCDgMgECIAHQZUOe5iKAAAIIIIAAAZAAyE8BAggggAACCLhMgABIAHTZkKe5CCCAAAIIIEAAJADyU4AAAggggAACLhMgABIAXTbkaS4CCCCAAAIIEAAJgPwUIIAAAggggIDLBAiABECXDXmaiwACCCCAAAKWCYDvv/++6K+9e/eaXrnppptk8ODB0qpVK/P7lJQUGTZsmEyaNElOnDght912m7z77rvmuCuVTz75RF555RXZtWuXVKpUSV5//XVp166d3z3Pq+D8puJABBBAAAEEEMiCQPLFFPluzx/y26kkKVEwv9SrUFRy54rIwhUzP9UyAfCzzz6T3Llzyw033GBqO23aNBk9erRs2rTJhLxRo0aZ8DZ16lSpUqWKvPbaa7Jy5UrZsWOHFCxY0GsL165dK40aNZLhw4eb0LdgwQITKuPj402A9KcQAP1R4hgEEEAAAQQQyIrA0h8TZNhn2yQhMSn1MlGR+WVI6+rSskZUVi7t9VzLBEBvtStatKgJgY888oiULl1a+vXrJwMGDDCHnjt3TkqWLGmC4WOPPea1cR07dhRt4JIlS1I/b9mypRQpUkRmz57tFyYB0C8mDkIAAQQQQACBIAU0/D3+0UZJyXC+Z+7v/X/VCXkItGQATE5Olo8//li6detmZgDz589vbt9u3LhRateuncrTpk0bKVy4sJkt9FbKlSsn/fv3N788ZezYsTJu3DjZt2+fX91EAPSLiYMQQAABBBBAIAgBve3bcNSydDN/aS+jIbDUpZnA+AF3hfR2sKUC4NatW6VBgwaSlJQk1157rcyaNUvuvfdeWbNmjdxxxx1y6NAhMxPoKY8++qgJcl988YVX8rx585pbxl26dEn9XK8ZGxtrZhC9Ff3ztJ8pUNmyZSUxMVEKFSoURNdyCgIIIIAAAggg4F1g7a7j0vmDdT55ZveqLw0qFfN5nL8HWCoA/vXXX7J//345efKk6OKNDz/8UFasWGF+rwHw8OHDEhX1/98H79Wrlxw4cECWLl2aaQDU2cHOnTunfj5z5kzp0aOHCZneytChQ81ik4yFAOjvkOI4BBBAAAEEEPBXIG7zIek7Z7PPw8d3ipE2MdE+j/P3AEsFwIyVbtasmbn1q8/9ZdctYGYA/R06HIcAAggggAACWRVgBtCL4N13321uv06ZMsXc+tVn+V544QVzpM4WlihRwucikFOnTsnixYtTr67byuhzgywCyeqQ5XwEEEAAAQQQyKqA5xnAI5dW/2ZcBKLXdvwzgAMHDjR7/mng09A2Z84cGTlypLm927x5cxP0RowYYcJg5cqV5Y033pDly5en2wama9euEh0dbY7Tos8ONm7c2GwfowtG4uLiZNCgQWwDk9XRyvkIIIAAAgggEDIBzypgvWDaEOiKVcD6XN7XX38tCQkJEhkZKbVq1TK3fjX8GZC/N4KeOHFiuo2ga9SokdoBTZo0kfLly5uFH54yb948E/p2796duhF0+/bt/e40VgH7TcWBCCCAAAIIIBCkAPsABgkXrtMIgOGS5boIIIAAAgggkFbAlW8CseoQIABatWeoFwIIIIAAAggEK2DpVcDBNiqU5xEAQ6nJtRBAAAEEEEDACgIEQB+9QAC0wjClDggggAACCCAQSgECIAEwlOOJayGAAAIIIICADQQIgARAGwxTqogAAggggAACoRQgABIAQzmeuBYCCCCAAAII2ECAAEgAtMEwpYoIIIAAAgggEEoBAiABMJTjiWshgAACCCCAgA0ECIAEQBsMU6qIAAIIIIAAAqEUIAASAEM5nrgWAggggAACCNhAgABIALTBMKWKCCCAAAIIIBBKAQIgATCU44lrIYAAAggggIANBAiABEAbDFOqiAACCCCAAAKhFCAAEgBDOZ64FgIIIIAAAgjYQIAASAC0wTCliggggAACCCAQSgECIAEwlOOJayGAAAIIIICADQQIgARAGwxTqogAAggggAACoRQgABIAQzmeuBYCCCCAAAII2ECAAEgAtMEwpYoIIIAAAgggEEoBAiABMJTjiWshgAACCCCAgA0ECIAEQBsMU6qIAAIIIIAAAqEUIAASAEM5nrgWAggggAACCNhAgABIALTBMKWKCCCAAAIIIBBKAQIgATCU44lrIYAAAggggIANBAiABEAbDFOqiAACCCCAAAKhFCAAEgBDOZ64FgIIIIAAAgjYQIAASAC0wTCliggggAACCCAQSgECIAEwlOOJayGAAAIIIICADQQIgARAGwxTqogAAggggAACoRQgABIAQzmeuBYCCCCAAAII2ECAAEgAtMEwpYoIIIAAAgggEEoBAiABMJTjiWshgAACCCCAgA0ECIAEQBsMU6qIAAIIIIAAAqEUIAASAEM5nrgWAggggAACCNhAgABIALTBMKWKCCCAAAIIIBBKAQIgATCU44lrIYAAAggggIANBAiABEAbDFOqiAACCCCAAAKhFCAAEgBDOZ64FgIIIIAAAgjYQIAASAC0wTCliggggAACCCAQSgECIAEwlOOJayGAAAIIIICADQQIgARAGwxTqogAAggggAACoRSwTAAcMWKEzJ8/X7Zv3y5XX3213H777TJq1CipWrVqansjIiK8tv3NN9+U559/3utnU6dOldjY2Ms+O3v2rOTPn9+npTcgnydxAAIIIIAAAgggYGEBywTAli1bSqdOneTWW2+VCxcuyMsvvyxbt26Vbdu2SYECBQzhkSNH0lEuWbJEevToITt37pSKFStmGgD79u0rO3bsSPd5qVKl/OoWAqBfTByEAAIIIIAAAjYSsEwAzGh27NgxKVGihKxYsUIaN27slbRt27Zy6tQp+frrrzMl1xnAfv36ycmTJ4PqFgJgUGychAACCCCAAAIWFrBsANRZvcqVK5tZwBo1alxGePToUSlTpoxMmzZNunTpcsUA2LNnT4mOjpbk5GSJiYmR4cOHS+3atf3qFgKgX0wchAACCCCAAAI2ErBkAExJSZE2bdrIiRMnZNWqVV459bm/kSNHyuHDh6/4LN+6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\" width=\"640\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "Text(0.5, 0, 'VFM BENDING')"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "plt.figure()\n",
+    "plt.plot(w0_vs_bender[:,0], w0_vs_bender[:, 1]*1e3, 'o')\n",
+    "plt.ylabel('FEL radius @ 1/e^2 [$\\mu$m]')\n",
+    "plt.xlabel('VFM BENDING')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Detailed notebook\n",
+    "\n",
+    "## Peak fluence calculation using knife-edge scans:\n",
+    "\n",
+    "\n",
+    "The peak fluence of a Gaussian beam is defined as:\n",
+    "\n",
+    "$F_0 = \\frac{2 E_P}{\\pi w_{0,x} w_{0,y}}$\n",
+    "with $E_P$ the pulse energy, $w_{0,x}$ and $w_{0,y}$ the beam radii at $1/e^2$ in $x$ and $y$ axes, respectively.\n",
+    "\n",
+    "\n",
+    "### Demonstration\n",
+    "For a Gaussian beam at the waist position, the intensity distribution is defined as:\n",
+    "\n",
+    "$I(x,y) = I_0 e^{\\left(-\\frac{2x^2}{w_{0,x}^2} -\\frac{2y^2}{w_{0,y}^2}\\right)}$\n",
+    "\n",
+    "with $I_0$ the peak intensity of the Gaussian beam, $w_{0,x}$ and $w_{0,y}$ the beam radii at $1/e^2$ in $x$ and $y$ axes, respectively.\n",
+    "\n",
+    "Let's consider a knife-edge \"corner\" at position $(x,y)$ that blocks the beam for $x^\\prime < x$ and $y^\\prime < y$. The detected power behind the knife-edge is given by:\n",
+    "\n",
+    "$P(x,y) = I_0 \\int_{x}^\\infty \\int_{y}^\\infty e^{\\left(-\\frac{2x^{\\prime 2}}{w_{0,x}^2} -\\frac{2y^{\\prime 2}}{w_{0,y}^2}\\right)} dx^\\prime dy^\\prime $\n",
+    "\n",
+    "Now let's consider a purely vertical knife-edge. The power in the $y$ axis is integrated from $-\\infty$ to $\\infty$, thus:\n",
+    "\n",
+    "$P(x) = I_0 \\sqrt\\frac{\\pi}{2}w_{0,y}\\int_x^\\infty e^{\\left(-\\frac{2x^{\\prime 2}}{w_{0,x}^2}\\right)}dx^\\prime$.\n",
+    "\n",
+    "Similarly, for a purely horizontal knife-edge:\n",
+    "\n",
+    "$P(y) = I_0 \\sqrt\\frac{\\pi}{2}w_{0,x}\\int_y^\\infty e^{\\left(-\\frac{2y^{\\prime 2}}{w_{0,y}^2}\\right)}dy^\\prime$\n",
+    "\n",
+    "By fitting the knife edge scans to these functions, we extract the waist in $x$ and $y$ axes.\n",
+    "\n",
+    "The total power of one pulse is then:\n",
+    "\n",
+    "$P_{TOT} = \\frac{I_0 \\pi w_{0,x} w_{0,y}}{2}$\n",
+    "\n",
+    "Hence, the peak fluence, defined as $F_0=I_0\\tau$ with $\\tau$ the pulse duration of the laser, is given as:\n",
+    "\n",
+    "$F_0 = \\frac{2 E_P}{\\pi w_{0,x} w_{0,y}}$\n",
+    "\n",
+    "where $E_P$ is the pulse energy.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Optical laser beam profile and fluence"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Knife-edge measurement (OL)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Load scanning motor and laser photodiode data"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The laser used in these knife-edge scans was the SCS backup laser, for which there was no bunch pattern table, so, whenever a function needs the bunch pattern as input argument, we set it to **'None'**. If the PP laser is used, then the corresponding bunch pattern key is **'scs_ppl'**."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "FastADC4raw: only 94.1% of trains (768 out of 816) contain data.\n"
+     ]
+    }
+   ],
+   "source": [
+    "proposal = 900094\n",
+    "runNB = 384\n",
+    "fields = [\"FastADC4raw\", \"scannerX\"]\n",
+    "runX, dsX = tb.load(proposal, runNB, fields, laser_bp='None')\n",
+    "\n",
+    "fields = [\"FastADC4raw\", \"scannerY\"]\n",
+    "runNB = 385\n",
+    "runY, dsY = tb.load(proposal, runNB, fields, laser_bp='None')\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Check diode traces and region of integration for peak calculations"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Using **'show_all=True'** displays the entire trace and all integration regions. We can then zoom and pan in the interactive figure."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Auto-find peak params: 118 pulses, 324 samples between two pulses\n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"600\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'pulseStart': 5393, 'pulseStop': 5424, 'baseStart': 5371, 'baseStop': 5387, 'period': 324, 'npulses': 118}\n"
+     ]
+    }
+   ],
+   "source": [
+    "paramsX = tb.check_peak_params(runX, 'FastADC4raw', show_all=True, bunchPattern='None')\n",
+    "print(paramsX)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "using the default **'show_all=False'** parameter only shows the first and last pulses of the trace"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Auto-find peak params: 118 pulses, 324 samples between two pulses\n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"600\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/plain": [
+       "{'pulseStart': 5393,\n",
+       " 'pulseStop': 5424,\n",
+       " 'baseStart': 5371,\n",
+       " 'baseStop': 5387,\n",
+       " 'period': 324,\n",
+       " 'npulses': 118}"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "tb.check_peak_params(runX, 'FastADC4raw', bunchPattern='None')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Plot intensity vs. knife-edge positions, fit with erfc function"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAAGQCAYAAABMPLOTAAAgAElEQVR4XuydBZhV1frGv6EZulswQUFU7MQO7K5rd3df4/7tvna31+7AVgQFREERBBUVJKS7+//+1mHBns05Z87U4czM+p4HwZkda79rx7ve9X7fyluusBABgYBAQCAgEBAICAQEAgIBgQqKQF4gvBW0Z8NlBQQCAgGBgEBAICAQEAgIOAQC4Q03QkAgIBAQCAgEBAICAYGAQIVGIBDeCt294eICAgGBgEBAICAQEAgIBAQC4Q33QKVHYOnSpdaqVSu76qqr7KKLLiozPP7973/b888/b//884/VrVvXZsyYUaRzXXzxxfbFF1/Y4MGDi7Rfphs/8MADdt9999no0aNt8eLFNn36dGvYsGFGuz/77LN20kkn2ciRI61Dhw4F9vn5559tk002sUGDBtlmm22W0fHKcqNp06ZZixYt7LXXXrODDz7Y5s6daw8++KC99NJLrv2kNTRv3tw233xzO+ecc6x79+4FmvPXX3/ZPffcY59++qmNGTPG8vLybO2113bHOuuss6xNmzZue47z6quv2kMPPWS//fabzZo1y5o2bWqdO3e2ww8/3E499dTVLjPax19++aW9+OKL1rdvX3ce+mKLLbaw6667zrUtHuB7+eWXW//+/a1atWq266672l133WXrrLNOgU3/+9//Wu/eve3HH3+0UaNGuevr1atXUsg/+eQT+7//+z/XdzVq1LCddtrJbrvtNncN0bjmmmusZ8+e9vfff9u8efOsdevWtvvuuxs/b9++fYFteQ5++uknd36ehRNOOMG4f1JFSe6fAQMG2LXXXuswpD+23HJLu+mmm2z77bcvNn7syLNCv3K/cK0nnniiXX311Va9evUCx500aZLrkw8++MDhwnPA+XfbbbcC2y1atMj9/IUXXrBx48a599Exxxzj+rp27dopsfn8889tjz32cL+fPHmyu7/iURL8yuo57Natm+24447ufVNYZHJf8wyfcsopK++pZcuWuffQ0Ucf7d7pderUKXCar776ym655Rb3LqVfeEZ4Hnneq1atmrRJ8+fPd/03YsQIu/POO+3SSy8trOnh9zmGQCC8OdYhoTnZR4CXH+SAj3/841xarXn33XftoIMOcgRgn332sZo1azryUpTgBX7yySe7j2BpBwQEMspL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HR6aERAoPwgEwrtm+4oyUlTKqFat6DOKgfCu2b7L5bMHwpsjvZPThHfaSLO3zpbCO96sRWezQx8zq1m39JGbP8OsdilOQaFKz5kkRbp5QVV64Rz9XGp1k/VK/xqKe8SKSMwr4jUVt3/DfuUKgfJMeHfeeWfbeOONXdml5557zmrUqGE33j6dWzsAACAASURBVHijHXvssXbuuefaG2+84cqtPfjgg7bPPvu4fhk2bJhdeuml1rt3b6tTp47tueeedu+991rTpk3d7z/++GO76aabbOjQoe642267rd1333227rrrut8vWrTILr74YnvzzTedlYDi/meccYZdddVVK7Pif/zxR9t0003d9tQ3btSokX311VdGez1J5TzXXHON/fzzz/bJJ5+4391555326KOPGnWRKSd17bXX2mGHHbbyfurZs6ddeOGFNmbMGNtmm23shBNOsJNOOilYGsrVE5edxgbCmx2cCz1LzhJeSMvX95r1vlvXsMCs4QZmp7yXsDaUNDg2gS942AdmY79PKMhdDynpkc049h9fmk34RccUSV9v18R5Rn6rt/d1ekPPNlunu9n+d5b8XCU9AsR85lizBm0rjl2Ea5r1j1n91hXnmkraz2H/coNAeSe8gwYNsssvv9yOPPJIe/XVV+3666+3vfbayw4++GBHIiGzr732mo0ePdpmzpxpXbt2tdNOO82OP/54o3TTFVdcYUuWLLEvv9Q7VAGRzcvLc0R67ty5dt111zki+9NPP1mVKlXsrrvusvvvv9/+97//2VprreXIJ3+OPvroIhFe2sGx1llnHee/veeee+ytt96y//73v7b++us7Qn7mmWc6Mty9e3d3Dn7Oz8466yz74Ycf7JJLLrGJEycGwltunrbsNTQQ3uxhnfZMOUt4UV2fPNBs6k8ryKkU2IsHJhTSFl2Kjx6EaPJvZovnixSJPH9wmc7xl1m+FIUD/6tjb1QyFXmxyPm7F5mNU1vbbK5jirQvEwl+/kj97JtEuxt3NDv2pYJKL/tVL1ifr/gXmcGeEPPvnxUxHyJivrHZlieWH7tIqsvjmoa+ZTb+Z7NWXc26aACTLtkxKMEZ3Chhk2wiUOqEl3t8+iizRh3K/PmG0GIH6NOnj4OMfzdo0MAOOeQQe/75593PWDKZ1ab69etnKKTfffedI5E+xo4da+3atbPffvvNqarx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+ZjVD1FXC1CsoyoOe91oVkuD/qrVAtABgYBAQKBSILDGCG8ydFFOIb0nn3yytW7d2i688EK74oor3KaouS1atHBEGHV15syZjqS+8MILduSRR7pt/vnnH2vXrp317NnT9tprLxs+fLhttNFG1r9/f6cQE/x72223tV9//dU6duxoH330ke233342ZswYd07ilVdecYR20qRJVr9+fadEX3XVVTZx4kSrWbOm2+a2225zhBgynanKGwhvpXimwkUGBLKDwMI5Zn/Ix/v68TrfYnfOUQu2sA9nXGO1aiy0Exsda1Xzlq7eluabmR3zgtkilSvLb5xYpCJEQCAgEBCo4AjkBOFFZX399dedsorCW6tWLVt33XVt0KBBttlmejmviAMPPNBZEVCDsR9gYUDRbdRI2ccrYpNNNrGDDjrI2SGefvppu/jii23GjBkFupFj3HvvvXbSSSc5G8W7775rgwer1M+KwAYB+eYcqLrHH3+8I9hs54N2duvWzf766y9be+21M7pNAuHNCKawUUAgIJApAmNkaXgKe8JEt8ey5VXsWa28Nn9ZI9u34c3WodYPqx8pTzNkR8oGsVCEt1EHszZ6xwalN1PEw3YBgYBAOUVgjRJefLGorQsWLLC6devaSy+9ZD169LC+ffva9ttvb+PGjVupuoIvdoS///7bPvnkE7cthBXlNxp77rmnI6CPPfaY3XLLLc7ugAUhGtgT2BfVlmPiI/70U2UvRwIll32PPvpo45jYILwtgs1Qk9u0aePayjUkC9oWbR9go0BDnlGOQwQEAgIBgWIjQE3ekX1Vouw6s8k/rjzMN7NOssHzDrD1avWxvRpqAYpksYVKlk3/y6y93l3bnxcIb7E7IewYEAgIlBcE1ijhXbRokZEwhgL75ptv2pNPPmlff/21+38IL6SyVatWK7E87bTTnPXg448/Tkl499hjD6cOP/roo47wogbj+43G+uuvb6eccopdeeWVBUh0dBsS1p5//nk76qijHOH1JNpvAxknOa5fv362zTbbJO3vG264wSnN8QiEt7w8HqGdAYEcRgDCO0qE960Lzeb+ubKhkxavY69PvVupawvt5OYnWY0q81e/iBqyMSyaZVZfNq6zeoXFKHK4m0PTAgIBgdJBYI0S3vgl7L777o6s4tutCJaGoPCWzk0ajhIQCAikQIBlhl87x2zaKkuW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e8pH//79PYcXEce+2ezNm8QoBKdBgwb5+PX444+nUhoYyxDCkyZNSiImF+qVjeMshMXVZUxncRYpHLSX7SVDaBxv7AuGd5RTqY3jhehLpTiGZzNQaJeGbCgV8Rjy2RC46cGKZRaerVq1ynN2cXN/+eUXF71M/bEDA3d/BKKYPXqjq30nT57sIhe3KTx4okuXLkVsWX6LKgQnmMXtWsFqVr6UkxiF4FSKg2WhOLEHNp9NphG5CSVvM8m7NBSCE4vUuBkfP368LV++3AVO586d/TVmoZIY2+M0YsQIn03ioQHszoC45WY7OjuicXys5cKp1MbxQvWl6OeqFEyLbMYJCd5sKOkYERABERABERABERCBxBKQ4E3spVPFRUAEREAEREAEREAEsiEgwZsNJR0jAiIgAiIgAiIgAiKQWAISvIm9dKq4CIiACIiACIiACIhANgQkeLOhpGNEQAREQAREQAREQAQSS0CCN7GXThUXAREQAREQAREQARHIhoAEbzaUdIwIiIAIiIAIiIAIiEBiCUjwJvbSqeIiIAIiIAIiIAIiIALZEJDgzYaSjhEBERABERABERABEUgsAQnexF46VVwEREAEqgeB8DSotWvXVvp0NJ6Cdc011/hPoYInTPbs2dNPzyN7H3744UIVlfG8PCWNx74Tc+fOtSOOOKLodVCBIiACFQlI8KpHiIAIiEBCCFxwwQW2dOlSmzNnju20005e682bN9sxxxxjzZs3twkTJlRJSzZt2uSPOm/YsKE/4hzRiahdt25dhfr8/PPPtttuu9muu+5asHpSNkJ30aJFXladOnUKVlamE8Pim2++saOPPlqCt+j0VaAIxBOQ4FXPEAEREIFqTuDvv/92IYmDeuihh1r//v3tlltu8Vrfdttt9uSTT9qXX35pu+++e7VoSSbBW4zKVWXZ0fZxY3LAAQdI8BbjoqsMEciCgARvFpB0iAiIQHIITJ482QYPHmxff/21O4mtWrWyV1991d0+4qmnnrIHH3zQ/77HHnvYOeecYyNHjvS/DRs2zJ5++mn79ttv/W+dO3e2++67z2rXru1/D2Jq0qRJ7mD+8MMPdsIJJ/h79tlnHz/mkksucWeT1ykH97Nr164+tV6zZk0/htcGDhxozz77rB972GGH2b333mtMhUfLwbG94YYb7KuvvrLFixe7gHrttdfsvPPOs48//tjd3TZt2nj7TjvttIwXifNSBsE5cYf79u1rd955pwtpAjGNMzplyhT766+/7KSTTrIRI0bYwQcf7H//7rvv7KqrrrL33nvP6096wv333+/lRlMa5s2bZ+3atatQl9tvv90GDRrk74mmNHz//fcu3qdPn241atSwU0891R555BF3igne88orr9j1119vt956q9exU6dO9sQTT2R0bjMJXsq+7LLLnOVLL71ke+65p7fvuOOO89epA3y5lq1bt97mOlAHrjftHTdunNHPaNf69eutW7dufn2D686bJXgzdkf9QQSqhIAEb5VgV6EiIAKFILBy5Upr3Lixi9Szzz7bfvvtN5s9e7ZdfPHFLlofffRRu+6662zo0KEunBAr77//fiqnFNHSsmVLF2ZLliyxK6+80k455RQbPXp0SgD17t3bxeA999zjIg2xg6hGvBII3pdfftkuvPBCF5AIa1IROPfll1/ux1x00UUuiKjHvvvu68cjgL/44gsXmIg2yjnqqKNcVCLO9t9//5Ro79Gjh82fP98F77HHHusOb2WB4P3000/t0ksvdaH7ySef+PmjdTrzzDNdVI8ZM8bq1q1rN954o0/LL1iwwIX6GWec4UIXEc/NA69zXNu2bSsIXm4y4IzzTFoBAXt+ooL3n3/+sSOPPNLPRT22bNnivElBQEAHwUt5HTp08JsYBO/5559vvXr1srvuuiu2yZUJXvrD3Xff7df0oYcecvF//PHH+/m47rSZOuOWh9QMOMGPGxLe36VLF693/fr1XfByc8RN0zPPPOPXOYQEbyE+4TqnCOROQII3d3Z6pwiIQDUj8Nlnn7kYQWw0adJkm9rtt99+vqBpyJAhWdX8hRdecIG4evXqlODl/YjYgw46yF9DDN9xxx22atWqlOBFsCEWg+OHSEMcP/fcc/46onbZsmUudkO0b9/ecz4RZGHhFW4pQiw9cIV5L4ITx5J/tyd4f/rpp5SQ49ibbrrJ3WKEK0K3adOmLv5xPIk1a9ZYo0aN3M3EUT788MNd2CHy0iN90VplojM4vFOnTvWbDm4sKIegLqRsfPTRRy72cXgR/LANubg43rNmzbIPPvggtsmVlX3iiSfa+PHj/X2cE1ce55jrR3BObiC4cdp7771T1yF6va+44go/x48//phy/nGmEfOPPfZYqk4SvFl9xHSQCBSNgARv0VCrIBEQgUITINe1Y8eOLpj4F2fw3HPP9dxWBB9T5TNmzNhmyj3Ua+bMmS44EV6//vqru44bN26033//3Z1IxFS/fv3sjz/+SDUFdxYhuHXrVn8Nh5fFWW+88UbqGJxe3FvKRkQjgEOKRTiINALcQ9IlKKdPnz5edkg5iLJDZA8YMMBTD1jAhlCuLHAoDzzwQE/nCEEaBGwog7rSBv4fnZbHucYpD3nCiH/KQpxzPCKYyEXwkk6Ay4rgjQbXavjw4e7KI3jhheMagveQ9oCzGheVCV6uHdwIHGZuQp5//nkX9AR1gRPuOW2Lu94IftIZonXCccf9JVUihARvoT/tOr8I7BgBCd4d46WjRUAEqjkBhAwi8J133vFUAZy8Dz/80Pbaay93QjMJXnJUmzVrZjh4TE2Tw0u+KmkAYbutODFFjimikHKJkMPL6yFwNXFrEYYIWlIaEExRccmxTPsHZzFulwOOQeghxhB9OLK0la2vdtlll4xXZnuC9/XXX0+J32id2E4LYYsLSpDDijiGLe8h3YAc3FwEL6KWn3ThSqoAbevevXsqhxd2IUh/4AdBGRfZuMvhfdxM0EfOOussfyldpMadK+QVR+sUd80leKv5QKHqlR0BCd6yu+RqsAiUDwEcX1IbyNvlh0VJiM24lIYXX3zRF5fhmuL8ERwXFkshxPIheElBOOSQQ3xanin2HRFtuMgsCGN6H8GJC81iNPKFyQfOFAheHG6c6xA333yzL3bbXkoDuak4wenB+xG/n3/++TaCd+LEie5Q43pGI5rDW1lKAwvyWDgWJy4leMvn86uWikA+CUjw5pOmziUCIlClBHByWW1PKkODBg3c2WVRGW4r+aLko+LgsgCJ3xFkuKS4lDh2TOEjqNidgdcRdcuXL8+rwwsg6sT5cUgpkxxhnOcWLVr4LgCZXEqm89lZAXc47AqB23r66af7+TKlNoRFayyaQ4iS68z/KZ/fCVzOsGgNQU2OL7mrYdEajjPMyPXF8Sa9AQGLY53u8OI6sxhs2rRpnoPMQjZ+4hat4WpHF63xe3TRGtdODm+VfqxUuAiUBAEJ3pK4jGqECIgABBYuXGjXXnutCzrcT9xdxCzbaYVgFwKEI1PppDngXpJPSvA6i6RYFMbuA7jB5JLmM6WBcthdAfcY9xRBzS4MLJZiJwJEb5zgxRkmxYAdGXB0o8FOAqRfZEptQPCyGAyHGPeVtAWELvnK6duSsZCN3RhoP6kFYVsyOL711lu+2I7UEBZqwYu6xz1pDUFM/i2L3/7rtmQSvPp8i4AI/FcCErz/laDeLwIiIALVnACCF7FcFY/ZLTYaPXii2MRVnggkg4AEbzKuk2opAiIgAjkTKDfBy9Zx7ILBrgykrxQ7SP0gR/vPP//Uk9aKDV/liUAGAhK86hoiIAIiUOIEyknwkpfNHrkECw1JWyl2kKayYcMGL5YHodSqVavYVVB5IiACaQQkeNUlREAEREAEREAEREAESpqABG9JX141TgREQAREQAREQAREQIJXfUAEREAEREAEREAERKCkCUjwlvTlVeNEQAREQAREQAREQAT+BaHSHDvPODyBAAAAAElFTkSuQmCC\" width=\"700\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "fitting function: a*erfc(np.sqrt(2)*(x-x0)/w0) + b\n",
+      "w0 = (131.9 +/- 0.1) um\n",
+      "x0 = (18.757 +/- 0.000) mm\n",
+      "a = 1.752229e+05 +/- 2.642387e+01 \n",
+      "b = 5.670915e+03 +/- 3.665072e+01 \n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArwAAAGQCAYAAABMPLOTAAAgAElEQVR4XuydBZhVVReG18zQ3Sml2Ao2KgZ2i52/ioHd3eJvd2AhBnbnbyeiYqDYjQLS3T3A/717Zs+cOdw7c4c7d5gLez3PfQbuPWeffdY+8e1vf2utnKUyCxY8EDwQPBA8EDwQPBA8EDwQPLCSeiAnAN6VdGTDaQUPBA8EDwQPBA8EDwQPBA84DwTAGy6E4IHggeCB4IHggeCB4IHggZXaAwHwrtTDG04ueCB4IHggeCB4IHggeCB4IADecA2sMh5YvHixtW7d2i655BI755xzMnbel19+uT3++OM2duxYq1evnk2fPr1cxzr33HPtww8/tB9++KFc+6W6cd++fe2uu+6yf//91xYtWmTTpk2zRo0apbT7gAED7Nhjj7Xhw4dbx44dS+zz448/WteuXW3o0KG28cYbp9ReJjeaOnWqtWzZ0p5//nnbf//9bc6cOXbPPffY008/7fpP+EKLFi1s0003tdNOO8223377Et35559/7Pbbb7f33nvPRo0aZTk5OdapUyfX1imnnGJt27Z129POc889Z/fee6/98ccfNnPmTGvWrJmtv/76dvDBB9sJJ5ywzGlGx/ijjz6yJ5980gYPHuyOw1hsttlmduWVV7q+xQ3/Xnjhhfbll19atWrVbMcdd7Rbb73VVl999RKb3nnnnTZo0CD77rvvbMSIEe78Bg4cmNDl7777rv33v/91Y1ejRg3bbrvt7MYbb3TnELXLLrvM3nrrLRs5cqTNnTvX2rRpYzvvvLPxfYcOHUpsy33w/fffu+NzLxxzzDHG9ZPM0rl+vv76a7viiiucDxmPzTff3K699lrr3r37cvuPHblXGFeuF861V69edumll1r16tVLtDtx4kQ3Jm+88YbzC/cBx99pp51KbLdw4UL3/RNPPGFjxoxxz6MjjjjCjXXt2rWT+uaDDz6wXXbZxf0+adIkd33FLR3/Zeo+3GSTTWzbbbd1z5uyLJXrmnv4+OOPL7qmlixZ4p5Dhx9+uHum161bt8RhPv74Y7v++uvds5Rx4R7hfuR+z8vLK9q2R48e9sknnyzTxd12283eeeedsroefs8SDwTAmyUDFbqZvgd4+AEOePnHX87pt17QwmuvvWb77befAwB77LGH1axZ04GX8hgP8OOOO869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WEUHL3QreKCcHvCT2HBPl9NxYfPggeCB4IEUPRAAb4qOquzNAuCtbI+H4wUPrDgPBMC74nwfjhw8EDywanggAN4qOs4B8FbRgUmjWwMHDrQddtjBpk2b5gKUggUPeA8EwBuuheCB4IFyeWBxvlletXLtsqpvHABvFb0CAuCtogOTRrcC4E3DeSv5rgHwruQDHE4veKAiPTB7ktmCmWY1G5jVa16RLa/UbQXAW0WHNwDeqjkwpJFavHixVatW/pl1ALxVc0yrQq8C4K0KoxD6EDyQBR6A2Z0+0mzOFLO6Tc0adQhMb4rDFgBvio6q7M1WRsDbo0cP23DDDV3apccee8xq1Khh11xzjR155JF2+umn24svvmgtWrSwe+65x/bYYw/n8l9//dXOP/98GzRokNWtW9d23XVXu+OOO6xZs2bu93feeceuvfZa+/nnn127W221ld111122xhpruN8p0HHuuefaSy+95KQEJPc/6aST7JJLLimKiv/uu+9so402cttPnz7dGjdubB9//LHRXw9SOc5ll11mP/74o7377rvut1tuucUeeOABGzdunEsndcUVV9hBBx1UdKm89dZbdvbZZ9uoUaNsyy23tGOOOcaOPfbYIGmo7JspC44XAG8WDFLoYvBAVfHAr2+Yjf7abLUtzNbbu6r0qsr3IwDeKjpEKyvgHTp0qF144YV26KGH2nPPPWdXXXWV7bbbbrb//vs7EAmYff75511hjRkzZliXLl2sd+/edvTRRxupmy666CLLz8+3jz76yI0cQDYnJ8cB6Tlz5tiVV17pgOz3339vubm5duutt9rdd99tTz31lLVv396BTz6HH354uQAv/aCt1Vdf3elvb7/9dnv55ZftzjvvtDXXXNMB8pNPPtmB4e23394dg+/57pRTTrFvvvnGzjvvPJswYUIAvFX0nluR3QqAd0V6Pxw7eCCLPLBgttmzx5pN+tWs+Xpmhz0qaUO9LDqBFdfVAHhXnO9LPXKlAV6WR6aNMGvcMePLIgBa5ACffvqpO3f+TeGMAw44wB5//HH33fjx4121qS+++MJgSL/66isHIr2NHj3a2rVrZ3/88YdjVeM2adIkxxL/9NNPtsEGG9iZZ55pv/zyi33wwQfLlG31eU9TYXhfffVV69mzpzscwBqGGdANo+zthBNOcFWznn76abv00kuNfTg2gBy7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2Pnnn2/PPPOMUdVop512svvuu89WW624vjP7nnnmmfb666+73fbdd1/r27evy4/pjfy3p512mn300UeuytkRRxxht956q9WoUVDzG/vpp5/s9NNPt6+//tqaNGliJ510kl1xxRXlSjmU7sBU8nUUDhc8EDwQPBA8sDJ5IIE2145RFgTScGECVPlLcmzIldfad9O2dqxundyp1qPBA9ap1hABT70319xBLLHYV4KmdlURh4HKGTtKKbrqNVExgvMLACoWL+pwl6QN3pJVMfO/s+/cqQLRajPZ0rnXlPqyxGVpSit6HMvKvFDRx4v6Zp58U7sU32Tq2FWw3XRxVaUA3v/9738ubU/nzgUVSh577DG75ZZb7LvvvnOg9qabbrLrrrvOBgwY4CoVXXvttTZo0CD7448/rH595dyTnXLKKUY7bNO0aVM777zzbOrUqfbtt98WpQQCQI8ePdoBZ+zEE080yveyn7u/Fy+2jTbayJo3b2633XabUqxMsWOOOcYOOOAAB4wxHEofdthhB7vsssvszz//tF69etlVV13ljpmqpTswqR4nbBc8EDwQPBA8EDywjAcSZV/wpXEFMqf8OcLee22hTZ2wwO26lljdbRs8ZLVylSoTtpWiCKsLHFNUoJXK0G52nNjdwSKNFejVWNKFtUVYRdnYaFGH+wSUZymdVn1JIU5VWeGyMhuksnReBTWllXLVpeKbSunIij9IuriqUgBvIjfBnAJ6jzvuOFdt7Oyzz7aLLirI1Qeb27JlSweEYVdnzJjhQOoTTzxhhx4qDY1s7Nix1q5dO3vrrbdst912s99++83WW289+/LLLx1DjPHvrbbayn7//Xdbe+217e2337a9997bRo0a5Y6JPfvssw7QUimpQYMGjom+5JJLbMKECVazZk23zY033ugAMWA61cTy6Q7Mir+0Qg+CB4IHggeCB6qsB5IBIc9GJgK8p3xuS5uubT8/+Yp9/nVjW7wkz2pXn2c96t5pq9f6uuBUG4m1XXs7sbcqFTtrgpbzCdgC8EqHO2+aJA7KuVpXOVeTsbFF1ckKda+lVScrr3MD+Cuvx1aq7dPFVZUOeGFZX3jhBceswvDWqlXL1lhjDRs6dKhtvHHh8oiGqGfPnk6KABuM/AAJA4xu48ZKcl1oXbt2tf3228/JIR555BE799xzbfp0JWuOGG3ccccdduyx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\" width=\"700\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "fitting function: a*erfc(np.sqrt(2)*(x-x0)/w0) + b\n",
+      "w0 = (297.3 +/- 0.5) um\n",
+      "x0 = (12.093 +/- 0.000) mm\n",
+      "a = -1.737334e+05 +/- 1.014418e+02 \n",
+      "b = 3.424424e+05 +/- 1.518455e+02 \n",
+      "X-FWHM [um]: 155.33422804507632\n",
+      "Y-FWHM [um]: 350.08711535421213\n"
+     ]
+    }
+   ],
+   "source": [
+    "w0_x = tb.knife_edge(dsX, axisKey='scannerX', plot=True)[0]*1e-3\n",
+    "w0_y = tb.knife_edge(dsY, axisKey='scannerY', plot=True)[0]*1e-3\n",
+    "\n",
+    "print('X-FWHM [um]:', w0_x * np.sqrt(2*np.log(2))*1e6)\n",
+    "print('Y-FWHM [um]:', w0_y * np.sqrt(2*np.log(2))*1e6)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Fluence calculation (OL)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### OL power measurement "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#measurement performed in Exp Hutch before in-coupling window\n",
+    "rel_powers = np.array([100, 75, 50, 25, 15, 12, 10, 8, 6, 4, 2, 1, 0.75, 0.5, 0.25, 0.1])\n",
+    "power_mW = np.array([505, 384, 258, 130, 81, 67, 56.5, 45.8, 35.6, 24.1, 14.1, 9.3, 8.0, 6.5, 4.8, 4.1]) #in mW\n",
+    "npulses = 336\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Fluence vs. laser power\n",
+    "\n",
+    "Note that it is possible to change the polynomial order of the fit (for example to 2), which is useful if the output is SHG (400 nm) or THG (266 nm) but the power control is changing the 800 nm pump before conversion."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"600\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "F, F_fit, E, E_fit = tb.fluenceCalibration(rel_powers, power_mW, npulses,\n",
+    "                                           w0x=w0_x, w0y=w0_y, fit_order=1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## X-ray beam profile and fluence"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Knife-edge measurement"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Load runs with horizontal and vertical scans, normalize the transmitted signal by XGM"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
+       "<defs>\n",
+       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
+       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
+       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
+       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
+       "</symbol>\n",
+       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
+       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
+       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "</symbol>\n",
+       "</defs>\n",
+       "</svg>\n",
+       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
+       " *\n",
+       " */\n",
+       "\n",
+       ":root {\n",
+       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
+       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
+       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
+       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
+       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
+       "  --xr-background-color: var(--jp-layout-color0, white);\n",
+       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
+       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
+       "}\n",
+       "\n",
+       "html[theme=dark],\n",
+       "body[data-theme=dark],\n",
+       "body.vscode-dark {\n",
+       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
+       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
+       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
+       "  --xr-border-color: #1F1F1F;\n",
+       "  --xr-disabled-color: #515151;\n",
+       "  --xr-background-color: #111111;\n",
+       "  --xr-background-color-row-even: #111111;\n",
+       "  --xr-background-color-row-odd: #313131;\n",
+       "}\n",
+       "\n",
+       ".xr-wrap {\n",
+       "  display: block !important;\n",
+       "  min-width: 300px;\n",
+       "  max-width: 700px;\n",
+       "}\n",
+       "\n",
+       ".xr-text-repr-fallback {\n",
+       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-header {\n",
+       "  padding-top: 6px;\n",
+       "  padding-bottom: 6px;\n",
+       "  margin-bottom: 4px;\n",
+       "  border-bottom: solid 1px var(--xr-border-color);\n",
+       "}\n",
+       "\n",
+       ".xr-header > div,\n",
+       ".xr-header > ul {\n",
+       "  display: inline;\n",
+       "  margin-top: 0;\n",
+       "  margin-bottom: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-obj-type,\n",
+       ".xr-array-name {\n",
+       "  margin-left: 2px;\n",
+       "  margin-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-obj-type {\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-sections {\n",
+       "  padding-left: 0 !important;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input + label {\n",
+       "  color: var(--xr-disabled-color);\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input:enabled + label {\n",
+       "  cursor: pointer;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input:enabled + label:hover {\n",
+       "  color: var(--xr-font-color0);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary {\n",
+       "  grid-column: 1;\n",
+       "  color: var(--xr-font-color2);\n",
+       "  font-weight: 500;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary > span {\n",
+       "  display: inline-block;\n",
+       "  padding-left: 0.5em;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:disabled + label {\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in + label:before {\n",
+       "  display: inline-block;\n",
+       "  content: 'â–º';\n",
+       "  font-size: 11px;\n",
+       "  width: 15px;\n",
+       "  text-align: center;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:disabled + label:before {\n",
+       "  color: var(--xr-disabled-color);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked + label:before {\n",
+       "  content: 'â–¼';\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked + label > span {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary,\n",
+       ".xr-section-inline-details {\n",
+       "  padding-top: 4px;\n",
+       "  padding-bottom: 4px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-inline-details {\n",
+       "  grid-column: 2 / -1;\n",
+       "}\n",
+       "\n",
+       ".xr-section-details {\n",
+       "  display: none;\n",
+       "  grid-column: 1 / -1;\n",
+       "  margin-bottom: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-array-wrap {\n",
+       "  grid-column: 1 / -1;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 20px auto;\n",
+       "}\n",
+       "\n",
+       ".xr-array-wrap > label {\n",
+       "  grid-column: 1;\n",
+       "  vertical-align: top;\n",
+       "}\n",
+       "\n",
+       ".xr-preview {\n",
+       "  color: var(--xr-font-color3);\n",
+       "}\n",
+       "\n",
+       ".xr-array-preview,\n",
+       ".xr-array-data {\n",
+       "  padding: 0 5px !important;\n",
+       "  grid-column: 2;\n",
+       "}\n",
+       "\n",
+       ".xr-array-data,\n",
+       ".xr-array-in:checked ~ .xr-array-preview {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-array-in:checked ~ .xr-array-data,\n",
+       ".xr-array-preview {\n",
+       "  display: inline-block;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list {\n",
+       "  display: inline-block !important;\n",
+       "  list-style: none;\n",
+       "  padding: 0 !important;\n",
+       "  margin: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list li {\n",
+       "  display: inline-block;\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list:before {\n",
+       "  content: '(';\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list:after {\n",
+       "  content: ')';\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list li:not(:last-child):after {\n",
+       "  content: ',';\n",
+       "  padding-right: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-has-index {\n",
+       "  font-weight: bold;\n",
+       "}\n",
+       "\n",
+       ".xr-var-list,\n",
+       ".xr-var-item {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-var-item > div,\n",
+       ".xr-var-item label,\n",
+       ".xr-var-item > .xr-var-name span {\n",
+       "  background-color: var(--xr-background-color-row-even);\n",
+       "  margin-bottom: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-var-item > .xr-var-name:hover span {\n",
+       "  padding-right: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-var-list > li:nth-child(odd) > div,\n",
+       ".xr-var-list > li:nth-child(odd) > label,\n",
+       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
+       "  background-color: var(--xr-background-color-row-odd);\n",
+       "}\n",
+       "\n",
+       ".xr-var-name {\n",
+       "  grid-column: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-var-dims {\n",
+       "  grid-column: 2;\n",
+       "}\n",
+       "\n",
+       ".xr-var-dtype {\n",
+       "  grid-column: 3;\n",
+       "  text-align: right;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-var-preview {\n",
+       "  grid-column: 4;\n",
+       "}\n",
+       "\n",
+       ".xr-index-preview {\n",
+       "  grid-column: 2 / 5;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-var-name,\n",
+       ".xr-var-dims,\n",
+       ".xr-var-dtype,\n",
+       ".xr-preview,\n",
+       ".xr-attrs dt {\n",
+       "  white-space: nowrap;\n",
+       "  overflow: hidden;\n",
+       "  text-overflow: ellipsis;\n",
+       "  padding-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-var-name:hover,\n",
+       ".xr-var-dims:hover,\n",
+       ".xr-var-dtype:hover,\n",
+       ".xr-attrs dt:hover {\n",
+       "  overflow: visible;\n",
+       "  width: auto;\n",
+       "  z-index: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-var-attrs,\n",
+       ".xr-var-data,\n",
+       ".xr-index-data {\n",
+       "  display: none;\n",
+       "  background-color: var(--xr-background-color) !important;\n",
+       "  padding-bottom: 5px !important;\n",
+       "}\n",
+       "\n",
+       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
+       ".xr-var-data-in:checked ~ .xr-var-data,\n",
+       ".xr-index-data-in:checked ~ .xr-index-data {\n",
+       "  display: block;\n",
+       "}\n",
+       "\n",
+       ".xr-var-data > table {\n",
+       "  float: right;\n",
+       "}\n",
+       "\n",
+       ".xr-var-name span,\n",
+       ".xr-var-data,\n",
+       ".xr-index-name div,\n",
+       ".xr-index-data,\n",
+       ".xr-attrs {\n",
+       "  padding-left: 25px !important;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs,\n",
+       ".xr-var-attrs,\n",
+       ".xr-var-data,\n",
+       ".xr-index-data {\n",
+       "  grid-column: 1 / -1;\n",
+       "}\n",
+       "\n",
+       "dl.xr-attrs {\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 125px auto;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt,\n",
+       ".xr-attrs dd {\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "  float: left;\n",
+       "  padding-right: 10px;\n",
+       "  width: auto;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt {\n",
+       "  font-weight: normal;\n",
+       "  grid-column: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt:hover span {\n",
+       "  display: inline-block;\n",
+       "  background: var(--xr-background-color);\n",
+       "  padding-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dd {\n",
+       "  grid-column: 2;\n",
+       "  white-space: pre-wrap;\n",
+       "  word-break: break-all;\n",
+       "}\n",
+       "\n",
+       ".xr-icon-database,\n",
+       ".xr-icon-file-text2,\n",
+       ".xr-no-icon {\n",
+       "  display: inline-block;\n",
+       "  vertical-align: middle;\n",
+       "  width: 1em;\n",
+       "  height: 1.5em !important;\n",
+       "  stroke-width: 0;\n",
+       "  stroke: currentColor;\n",
+       "  fill: currentColor;\n",
+       "}\n",
+       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
+       "Dimensions:            (trainId: 808, sa3_pId: 25, pulse_slot: 2700)\n",
+       "Coordinates:\n",
+       "  * trainId            (trainId) uint64 566591561 566591562 ... 566592369\n",
+       "  * sa3_pId            (sa3_pId) int64 322 338 354 370 386 ... 658 674 690 706\n",
+       "Dimensions without coordinates: pulse_slot\n",
+       "Data variables:\n",
+       "    scannerY           (trainId) float32 14.13 14.13 14.13 ... 12.41 12.41 12.6\n",
+       "    MCP2peaks          (trainId, sa3_pId) float64 -3.976e+03 ... -13.49\n",
+       "    bunchPatternTable  (trainId, pulse_slot) uint32 2146089 0 2097193 ... 0 0 0\n",
+       "    SCS_SA3            (trainId, sa3_pId) float32 2.784e+03 ... 4.811e+03\n",
+       "    Tr                 (trainId, sa3_pId) float64 1.428 1.226 ... 0.002804\n",
+       "Attributes:\n",
+       "    runFolder:  /gpfs/exfel/exp/SCS/201931/p900094/raw/r0688</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-b191a2d8-209d-4f01-9d18-10cc9346f5f2' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-b191a2d8-209d-4f01-9d18-10cc9346f5f2' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>trainId</span>: 808</li><li><span class='xr-has-index'>sa3_pId</span>: 25</li><li><span>pulse_slot</span>: 2700</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-d56fc3e1-a237-467e-8a8d-bbc07f5cd285' class='xr-section-summary-in' type='checkbox'  checked><label for='section-d56fc3e1-a237-467e-8a8d-bbc07f5cd285' class='xr-section-summary' >Coordinates: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>trainId</span></div><div class='xr-var-dims'>(trainId)</div><div class='xr-var-dtype'>uint64</div><div class='xr-var-preview xr-preview'>566591561 566591562 ... 566592369</div><input id='attrs-82ca01fe-9853-470e-93f5-d3d3d2905159' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-82ca01fe-9853-470e-93f5-d3d3d2905159' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-796f148f-fe50-4ec2-9f50-2cb6d6b5b6dd' class='xr-var-data-in' type='checkbox'><label for='data-796f148f-fe50-4ec2-9f50-2cb6d6b5b6dd' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([566591561, 566591562, 566591563, ..., 566592367, 566592368, 566592369],\n",
+       "      dtype=uint64)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>sa3_pId</span></div><div class='xr-var-dims'>(sa3_pId)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>322 338 354 370 ... 658 674 690 706</div><input id='attrs-9bb893a0-c9e2-4726-889c-fc6310880290' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9bb893a0-c9e2-4726-889c-fc6310880290' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1501e2da-cd1c-441f-8a21-9322b6b3ce42' class='xr-var-data-in' type='checkbox'><label for='data-1501e2da-cd1c-441f-8a21-9322b6b3ce42' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([322, 338, 354, 370, 386, 402, 418, 434, 450, 466, 482, 498, 514, 530,\n",
+       "       546, 562, 578, 594, 610, 626, 642, 658, 674, 690, 706])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-c3d23b44-3437-42bd-a0dc-014eaea2fdd8' class='xr-section-summary-in' type='checkbox'  checked><label for='section-c3d23b44-3437-42bd-a0dc-014eaea2fdd8' class='xr-section-summary' >Data variables: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>scannerY</span></div><div class='xr-var-dims'>(trainId)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>14.13 14.13 14.13 ... 12.41 12.6</div><input id='attrs-f8f37652-527a-40aa-9b01-5b3306c73dd5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-f8f37652-527a-40aa-9b01-5b3306c73dd5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-67e31205-709f-4a7f-85ca-ed5319288eef' class='xr-var-data-in' type='checkbox'><label for='data-67e31205-709f-4a7f-85ca-ed5319288eef' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.126951 , 14.126951 , 14.126951 , 14.126951 , 14.126951 ,\n",
+       "       14.125803 , 14.120253 , 14.11595  , 14.111353 , 14.106501 ,\n",
+       "       14.102053 , 14.096903 , 14.091501 , 14.086603 , 14.081102 ,\n",
+       "       14.075453 , 14.075453 , 14.0706005, 14.065302 , 14.0599   ,\n",
+       "       14.05525  , 14.050253 , 14.0459   , 14.041201 , 14.036951 ,\n",
+       "       14.032251 , 14.028051 , 14.02355  , 14.019102 , 14.015253 ,\n",
+       "       14.011152 , 14.007551 , 14.00345  , 13.999601 , 13.996302 ,\n",
+       "       13.992601 , 13.988901 , 13.9858   , 13.982401 , 13.979502 ,\n",
+       "...\n",
+       "       12.73255  , 12.728701 , 12.7251   , 12.721201 , 12.717253 ,\n",
+       "       12.7138   , 12.710001 , 12.706503 , 12.702551 , 12.698553 ,\n",
+       "       12.695002 , 12.691    , 12.687052 , 12.683401 , 12.679251 ,\n",
+       "       12.67555  , 12.6713505, 12.666903 , 12.6629505, 12.658503 ,\n",
+       "       12.654551 , 12.650103 , 12.646051 , 12.641401 , 12.6369   ,\n",
+       "       12.632803 , 12.628401 , 12.623953 , 12.619951 , 12.61545  ,\n",
+       "       12.611353 , 12.606901 , 12.602301 , 12.854803 , 12.602301 ,\n",
+       "       12.5898   , 12.585302 , 12.580603 , 12.576452 , 12.571703 ,\n",
+       "       12.566999 , 12.56275  , 12.5581   , 12.5539   , 12.549452 ,\n",
+       "       12.545103 , 12.540152 , 12.535551 , 12.530653 , 12.525652 ,\n",
+       "       12.521151 , 12.515951 , 12.511301 , 12.50625  , 12.501402 ,\n",
+       "       12.496252 , 12.491102 , 12.4862995, 12.481001 , 12.476103 ,\n",
+       "       12.470652 , 12.464952 , 12.459803 , 12.4541   , 12.44805  ,\n",
+       "       12.442652 , 12.436502 , 12.43025  , 12.4247   , 12.418402 ,\n",
+       "       12.411951 , 12.406401 , 12.406401 , 12.405951 , 12.405951 ,\n",
+       "       12.405951 , 12.405951 , 12.405951 , 12.405951 , 12.405951 ,\n",
+       "       12.405951 , 12.405951 , 12.405951 , 12.405951 , 12.405951 ,\n",
+       "       12.405951 , 12.405951 , 12.405951 , 12.405951 , 12.405951 ,\n",
+       "       12.405951 , 12.405951 , 12.405951 , 12.405951 , 12.405951 ,\n",
+       "       12.405951 , 12.405951 , 12.602301 ], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>MCP2peaks</span></div><div class='xr-var-dims'>(trainId, sa3_pId)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-3.976e+03 -2.962e+03 ... -13.49</div><input id='attrs-794d1504-a690-4b04-b10a-c08043873182' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-794d1504-a690-4b04-b10a-c08043873182' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7a10c854-7092-4c36-ac4f-123504bb2ceb' class='xr-var-data-in' type='checkbox'><label for='data-7a10c854-7092-4c36-ac4f-123504bb2ceb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[-3.97557143e+03, -2.96202041e+03, -6.73973469e+03, ...,\n",
+       "        -6.51151020e+03, -5.31475510e+03, -4.53544898e+03],\n",
+       "       [-5.21632653e+03, -6.89281633e+03, -8.79800000e+03, ...,\n",
+       "        -8.38430612e+03, -9.62581633e+03, -1.06886531e+04],\n",
+       "       [-7.08130612e+03, -5.51020408e+03, -5.73402041e+03, ...,\n",
+       "        -6.26518367e+03, -8.96985714e+03, -1.12791429e+04],\n",
+       "       ...,\n",
+       "       [-4.67346939e+00, -5.60204082e+01, -3.27755102e+01, ...,\n",
+       "        -4.34081633e+01, -1.78775510e+01,  4.62653061e+01],\n",
+       "       [ 5.63265306e+00,  5.34489796e+01,  3.36122449e+01, ...,\n",
+       "         1.06530612e+01, -3.63265306e+00,  1.17000000e+02],\n",
+       "       [ 9.04897959e+01, -1.39183673e+01, -5.06734694e+01, ...,\n",
+       "        -5.02244898e+01,  1.41428571e+01, -1.34897959e+01]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>bunchPatternTable</span></div><div class='xr-var-dims'>(trainId, pulse_slot)</div><div class='xr-var-dtype'>uint32</div><div class='xr-var-preview xr-preview'>2146089 0 2097193 0 ... 0 0 0 0</div><input id='attrs-15673e73-a3c1-421c-b187-0089a22a5e98' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-15673e73-a3c1-421c-b187-0089a22a5e98' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9d85522e-f4b2-43e6-b30e-54fd927ffc8b' class='xr-var-data-in' type='checkbox'><label for='data-9d85522e-f4b2-43e6-b30e-54fd927ffc8b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[2146089,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       ...,\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2146089,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0]],\n",
+       "      dtype=uint32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>SCS_SA3</span></div><div class='xr-var-dims'>(trainId, sa3_pId)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>2.784e+03 2.415e+03 ... 4.811e+03</div><input id='attrs-2f9cc006-385a-4952-bdaf-ebf7dd6ef0f5' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-2f9cc006-385a-4952-bdaf-ebf7dd6ef0f5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-384cd91b-1b77-4ace-a7d3-707e7b55bbd7' class='xr-var-data-in' type='checkbox'><label for='data-384cd91b-1b77-4ace-a7d3-707e7b55bbd7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[2783.9502, 2415.1226, 5147.5996, ..., 4470.9795, 3904.9636,\n",
+       "        3233.8347],\n",
+       "       [3660.2612, 5079.654 , 6144.936 , ..., 5948.6436, 7342.0757,\n",
+       "        8126.049 ],\n",
+       "       [5160.6733, 3725.107 , 3727.8708, ..., 4611.055 , 6588.62  ,\n",
+       "        8128.5146],\n",
+       "       ...,\n",
+       "       [3266.9834, 4383.33  , 3060.103 , ..., 8443.324 , 8680.457 ,\n",
+       "        5090.623 ],\n",
+       "       [7696.0674, 2564.0237, 4272.551 , ..., 7836.876 , 9106.618 ,\n",
+       "        3291.6716],\n",
+       "       [2426.0537, 3982.082 , 4921.092 , ..., 3447.9805, 3747.6377,\n",
+       "        4810.9106]], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>Tr</span></div><div class='xr-var-dims'>(trainId, sa3_pId)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.428 1.226 ... -0.003774 0.002804</div><input id='attrs-cede06ac-9b73-42b9-b80f-7512bc4c799a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-cede06ac-9b73-42b9-b80f-7512bc4c799a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5930e867-0a47-4a6c-b0b0-393b2a66170d' class='xr-var-data-in' type='checkbox'><label for='data-5930e867-0a47-4a6c-b0b0-393b2a66170d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[ 1.42803253e+00,  1.22644724e+00,  1.30929661e+00, ...,\n",
+       "         1.45639456e+00,  1.36102551e+00,  1.40249870e+00],\n",
+       "       [ 1.42512411e+00,  1.35694608e+00,  1.43174802e+00, ...,\n",
+       "         1.40944840e+00,  1.31104837e+00,  1.31535674e+00],\n",
+       "       [ 1.37216709e+00,  1.47920695e+00,  1.53814889e+00, ...,\n",
+       "         1.35873101e+00,  1.36141665e+00,  1.38760196e+00],\n",
+       "       ...,\n",
+       "       [ 1.43051519e-03,  1.27803307e-02,  1.07105904e-02, ...,\n",
+       "         5.14112240e-03,  2.05951725e-03, -9.08833864e-03],\n",
+       "       [-7.31887181e-04, -2.08457433e-02, -7.86702057e-03, ...,\n",
+       "        -1.35935049e-03,  3.98902534e-04, -3.55442502e-02],\n",
+       "       [-3.72991725e-02,  3.49524878e-03,  1.02972006e-02, ...,\n",
+       "         1.45663499e-02, -3.77380587e-03,  2.80400051e-03]])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-a89f4cfa-c819-48b7-8f5b-d908aac90614' class='xr-section-summary-in' type='checkbox'  ><label for='section-a89f4cfa-c819-48b7-8f5b-d908aac90614' class='xr-section-summary' >Indexes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>trainId</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-aef3de25-f432-4865-9c7d-778c97038881' class='xr-index-data-in' type='checkbox'/><label for='index-aef3de25-f432-4865-9c7d-778c97038881' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([566591561, 566591562, 566591563, 566591564, 566591565, 566591566,\n",
+       "       566591567, 566591568, 566591569, 566591570,\n",
+       "       ...\n",
+       "       566592360, 566592361, 566592362, 566592363, 566592364, 566592365,\n",
+       "       566592366, 566592367, 566592368, 566592369],\n",
+       "      dtype=&#x27;uint64&#x27;, name=&#x27;trainId&#x27;, length=808))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>sa3_pId</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-06c1208d-f62e-4ffd-9717-45f4446e3fe2' class='xr-index-data-in' type='checkbox'/><label for='index-06c1208d-f62e-4ffd-9717-45f4446e3fe2' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([322, 338, 354, 370, 386, 402, 418, 434, 450, 466, 482, 498, 514, 530,\n",
+       "       546, 562, 578, 594, 610, 626, 642, 658, 674, 690, 706],\n",
+       "      dtype=&#x27;int64&#x27;, name=&#x27;sa3_pId&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-fb2d5a63-41a3-4378-8019-1082255a3123' class='xr-section-summary-in' type='checkbox'  checked><label for='section-fb2d5a63-41a3-4378-8019-1082255a3123' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>runFolder :</span></dt><dd>/gpfs/exfel/exp/SCS/201931/p900094/raw/r0688</dd></dl></div></li></ul></div></div>"
+      ],
+      "text/plain": [
+       "<xarray.Dataset>\n",
+       "Dimensions:            (trainId: 808, sa3_pId: 25, pulse_slot: 2700)\n",
+       "Coordinates:\n",
+       "  * trainId            (trainId) uint64 566591561 566591562 ... 566592369\n",
+       "  * sa3_pId            (sa3_pId) int64 322 338 354 370 386 ... 658 674 690 706\n",
+       "Dimensions without coordinates: pulse_slot\n",
+       "Data variables:\n",
+       "    scannerY           (trainId) float32 14.13 14.13 14.13 ... 12.41 12.41 12.6\n",
+       "    MCP2peaks          (trainId, sa3_pId) float64 -3.976e+03 ... -13.49\n",
+       "    bunchPatternTable  (trainId, pulse_slot) uint32 2146089 0 2097193 ... 0 0 0\n",
+       "    SCS_SA3            (trainId, sa3_pId) float32 2.784e+03 ... 4.811e+03\n",
+       "    Tr                 (trainId, sa3_pId) float64 1.428 1.226 ... 0.002804\n",
+       "Attributes:\n",
+       "    runFolder:  /gpfs/exfel/exp/SCS/201931/p900094/raw/r0688"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "proposal = 900094\n",
+    "fields = [\"MCP2apd\", \"scannerX\", \"SCS_SA3\"]\n",
+    "runNB = 687\n",
+    "runX, dsX = tb.load(proposal, runNB, fields)\n",
+    "#normalization by XGM fast signal\n",
+    "dsX['Tr'] = -dsX['MCP2peaks'] / dsX['SCS_SA3']\n",
+    "\n",
+    "fields = [\"MCP2apd\", \"scannerY\", \"SCS_SA3\"]\n",
+    "runNB = 688\n",
+    "runY, dsY = tb.load(proposal, runNB, fields)\n",
+    "#normalization by XGM fast signal\n",
+    "dsY['Tr'] = -dsY['MCP2peaks'] / dsY['SCS_SA3']\n",
+    "\n",
+    "dsY"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Fit scan to erfc function and plot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr0AAAGTCAYAAAAlaqoDAAAgAElEQVR4XuzdB7hdRbn/8UkljRJCCIQSekeKiqIC6lUQKyrqX732du2993Lt2Hu7guXaQa8FFQVRBAsoSq+h15AAKaT/38/sTFhs9jln75STc05mnuc8Jzl77bVm3ll7r+/85jfvjFoZJdVSI1AjUCNQI1AjUCNQI1AjUCMwgiMwqkLvCO7d2rQagRqBGoEagRqBGoEagRqBHIEKvfVGqBGoEagRqBGoEagRqBGoERjxEajQO+K7uDawRqBGoEagRqBGoEagRqBGoEJvvQdGZASWL1+ett122/TWt741vfa1r11vbXzHO96RTjjhhHT99denKVOmpHnz5vV0rde97nXpd7/7XTr33HN7el+3B3/2s59Nn/70p9PVV1+dli5dmubOnZu22GKLrt7+zW9+Mz3vec9LV155Zdppp53u8Z5//etf6YADDkjnnHNOOuigg7o63/o86LbbbkszZsxIP/jBD9ITn/jEtGDBgvS5z30uffe73831t3Rh6623Tve9733Ty1/+8nTEEUfcozpXXHFF+sQnPpF+85vfpGuuuSaNGjUq7bzzzvlcL33pS9N2222Xj3ee73//++nzn/98uvjii9Mdd9yRttpqq7TvvvumpzzlKemFL3zhvZrZ7OPf//736dvf/nb685//nK+jL+53v/uld73rXblu7UV83/SmN6WzzjorjR07Nj384Q9PH//4x9Muu+xyj0M/9alPpdNPPz394x//SLNnz87tO+200zqG/Ne//nV63/vel/tu/Pjx6fDDD08f/vCHcxua5e1vf3v65S9/ma666qq0cOHCNHPmzPSIRzwi+fusWbPucazPwT//+c98fZ+F5zznOcn901dZm/vnr3/9a3rnO9+ZY6g/7n//+6cPfOAD6cEPfvAax88bfVb0q/tFW5/73Oemt73tbWncuHH3OO/NN9+c++TnP/95jovPgev/x3/8xz2OW7JkSf77t771rXTdddfl76NnPOMZua8nTpzYZ2xOOeWU9MhHPjK/fsstt+T7q72sTfzW1+fw4IMPTocddlj+vhmodHtfO4/7773vfW86+eST05w5c3I8DjnkkHTiiSfe4zKnnnpq+uAHP5i/S/WLz4jPo8/7mDFj8rE+Gz7XfZWjjjoqX6eWkRuBCr0j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EagR6DICxJFLLrkkA++0adO6fFc9rEagRmAoR2DOnDkZfPfYY497WR2GJfR+6EMfSscdd1zeOW38+PF9xt7uajzDhx9+ePrMZz7T8biq9A7lW7fWrUagRqBGYP1F4K677soWuZ122ilNnDhx/V2onrlGoEZg0CJg/dfs2bPTzjvvfK8kBsMOesnX6P2xj31s+uQnPzlgEF/0ohclu6xZONdNqZ7ebqJUj6kRqBGoERj+ESjQ2+nhOPxbV1tQI7BxRqC/z/Wwg97TTjstPexhD0v//ve/03777ddvjwLkQw45JNsdvvGNb3TV+xV6uwpTPahGoEagRmDYR6BC77DvwtqAGoF7RWBIQu/8+fOz/1ax0OwTn/hEhtktt9wy7bjjjumtb31ruu6669IJJ5xwjwY961nPSpdeemni320vvLkPfOADs38XvLI0fOtb38qp0cBvN6VCbzdRqsfUCNQI1AgM/whU6B2+fVgEsLlz5+ZFS7XUCJQIDEnoLTdsezc95znPyZtM2IyCJ8NxpVhcZjWeBWpsC+3lta99bfrJT36S08/YShhMW6h26KGHdn03DFvoXb4spTFju25nPbBGoEagRmBjj0CF3uF7B1ToHb59t75rPiShd303ek3PPyyhd/4tKS2+I6VNNktpyvQ1bXp9X41AjUCNwEYVgQq9G7a7WRBl0Bg7tnfBpkLvhu27oXz1Cr099M6wg14K77yrUlp6V0rjYqvlLWKjjqr49tDj9dAagRqBjTUCwxl6H/rQh+b1KnafOv7443MmI3npn/nMZ6ZXvOIV6Uc/+lFOxfa5z30uHX300bmLL7jggvSGN7whnX766Wny5MnpyCOPzAvCt9pqq/z6ySefnD7wgQ+k8847L5/XLKmZ1V133TW/vmTJkvS6170u/fjHP05sBTYAeMlLXpLtiGW1/D/+8Y+cI1+R/3jq1Knp1FNPTepbQNV13v72t6d//etf6de//nV+7WMf+1j60pe+lKQktVj9ne98Zzr22GNX35rSj9p86pprrsk2RrPCz3ve83I9qr1hY/0Ed253hd4e7ocNBr1rY0+oSm8PPVwPrRGoEagRaEVguEPvOeeck970pjelpz3taen73/9+eve7352OOuqo9MQnPjGDJKD9wQ9+kK6++urEHnif+9wnWwOf/exnJ2md3vzmN6dly5al3//+9zkeYNYu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XY3AEIhAhd4eOmGDQO95P0np1ktT2mr3lPZ70oaF3sGAzG6vMdgQ2MN90tWhawKHzdhMjLzNY8YOfKm1vU43GUNKLUr9xk2KmYnINlJLjcAwjsBwh96VK1eml7zkJelHP/pRmjt3btp8883Tc5/73PSpT31qGPfK+qv6nDlz0t57753++te/pp122mn9XWgjO/Oxxx6bHvSgB6XXve51Q6LlFXp76IZBh155bf/61ZRuuTyl6bumdMiLNlye28GEzG5BrVtA7qGP+z20U726rWvzxGtTb9dbEGnsli6MjUo26z+N3ZpcZ037ubzvjutTWhF1nL5XBd91dd/V82yQCAx36P3Vr36VnvCEJ6TTTjst7bLLLmn06NFp4sSJadNNN83xfOhDH5oOPPDACsGr7q43vOENeXDw9a9/Pf/l9NNPTx/72MfS2WefnW644YZ04oknpmOOOeYe9yI4vuqqq+51f77sZS9Ln//85zM89/d6Xzf2nXfemd75znfma958883poIMOSp/+9KfT/e9///X6WfjCF76Q26y9++67b743DjvssH6ved1116U3v/nNyf22aNGitMcee+QY3ve+983v+9e//pUe9rCHpSuvvDJttlk8szZwqdDbQwdsGOj9Sko3nJ/StvsG9L543UNvL9C2JhDVQ3zX6NC+6t9Lu7q5cKe2r0k81hQqSx3viJzNt1yU0qhQeTef2ffixjW9jvctih0AF98xMFS3x63bunUT73pMjcAGjsBwh97Pfe5zGWA6QVeF3nveXGBt5syZ6Ze//GU69NBD84sg7owzzkgHH3xwevKTn9wRem+55Za0fPny1Sc777zz0iMf+ch06qmn5kHFQK/3dYs/7WlPS871xS9+Mdfr29/+dvrkJz+ZLrjggrTddrG+p4vi+pR9P92U73//++lZz3pWAr4PfvCD05e//OX0ta99LV9zxx137HgKgwRADmpf+tKXpq233jpdfvnlGfZ33TWEulUFAL/whS/Mx2zoUqG3hx4YdOgFICe/I6Xrwte7Xfh5H/WB7qa0+2pTOwiuKbS1T6uva8BU/25V1U7H9deuNalrJ4BUx3kxwi+7zPWSWWNN4l5i4prdqqm9XmdN7BOdwLcbFbqHz109tEZgQ0RgOEMv0Dn++ONXh23WrFkZRIqy2/66AylxazOtf8kll2SVr9vywAc+MIG7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tQ0YMCApXqWlpbbbbrtZly5d7Le//W0oEUj1NqrjDR8+vNlhXF8XnI61fPjhh8N633vvvbbrrrva5MmTbezYsXbsscfajTfeWF+X1uzGqWktTz/9dHvzzTftnnvuCYT31VdftXPOOccgtXxpJmsffvih7bHHHnbVVVcFossN7uWXX27vvfeejRo1qtlhXF8XnI61/MlPfhL+jeUzyc0nIgQCw4QJE6xnz571dWnNapx0rGME4MyZM8N68p3aoUMHJ7113FlOeusIXHM9DVU3UelNxAIVmNJ/r7/+epUw3XHHHUE9/uqrrywvL6+5wtmg152qtfzZz35mEydO3GS9f/WrX9lHH31k7777boNeY3MZPNlaDhs2LNx4oNpGDbWPJymQ2mSN48kBy5d31A444ABr3769Pfroo80Fzga9zlStZeJFlJWVhXX8y1/+YieeeGKDXmNzGDyV68ja7bnnnnbyySeHf1N5SupKb912kZPeuuHWbM+qiSgtWLAgqLb333+/HX/88VXixBcvd6sFBQX23HPPWefOncPxF110keXk5DRbfOvzwlO1ljxyO+uss4KSyKPTadOm2cEHH2wnnXRSeLzuLf0IJFtL1gRLEl+O1J5/66237LDDDguEdvfdd086qT59+tj5558ffqKGWo99BaXJW/oRSNVaJs4UIYIna0888YQdcsgh6b+QZj5CKtfxiiuusM8++ywITjxFc9Jb983lpLfu2DXLM2siSjxC+8Mf/mBz586t1s85ePBgmzFjhvEIjkeuU6ZMsXPPPdfOO++88DjVW/oRSNVaMtNbb73VUHcrKipsw4YNwTd62223pf8ifISAQLK1xEKExQFfZ25urmVnZwerwwknnFAlavn5+XbfffdtcsP6yCOPBIWJJPre0o9AqtYycab8+/rKK68Ej6977ZvOOmIt5AnM+PHjQ7yEk94tWzsnvVuGX7M7uyaiBJndb7/9Agmqrg0aNMiKi4tt+vTpG5XdP//5z8HyQLCct/QjkKq1REE87rjj7Pe//33wfeLl5uYFwhX/aD39V9R8R0i2ln/605+MYCZ+9+3b1wiyoUIiatG+++6bFCxIL09pCJaJWuTZ5vPqLf0IpGot42caiRF8Vrfbbrv0X4SPkPRGdHM/k6jzrBcCwoEHHhhQddK7ZZvLSe+W4dfszq6OKOE1Gj16dLgjrSkYDX8SXt7XXnttI4Y8dsX2gKLEl6+39CKQqrUk8GnnnXcONyxRe+ihh+yMM84wMgigMHpLLwKJa7lu3Tpr27ZtILhYTaJ22mmn2ezZs+3ll19OOiG3N6R3nWrTe6rWMhoLosUNKf/W7rDDDrWZgh+TAgRSsY58l26//fabWP7Ky8vD7Ph3ddKkSSHDirfaI+Ckt/ZY+ZFCoDqixB0oj84+/vjjGrEiYwOPTfF/RqTo5ptvtj/+8Y/BGuEt/Qikai0JjkI5ZO2iRtDTKaecEkive7Trfy0JRoP0/uMf/9ioEDGLM888MzxdwX+drPEYFXWJ86KGwtSuXTsPZEv/MoYREj+XdV1L+uJGFMKLrYEbU2/1h0Aq1pGnKzw5i2+XXnpp+IzyfckTUxeINm9NnfRuHl7N8miIS/TB464TG8Lee+8dAtFQhmj8w9y9e/eQZ5cAmsRGtDBpcsjdSiM92ZAhQ8Kjmp///OfB0wtJIo8ouXu9pQeBdKzllVdeGfbEXXfdtdHegKcXMvz444+n50K813BDUd3ncq+99rLFixeHaH3sDW+//XbwWrNWUa7exM/lBx98EJ7WkJuXtGYEmfIl6ynL0rvh0rGWWBqwFyEukOoqaq1btzZ+vKUegXSsY+Is3d6wZevmpHfL8GsWZ+MDg+QmNqLzCXqhQXh++ctfBj8uClNi4wuYXKHR8bxPTlCixHmEAyEm16tnb0jvlkrHWhK4Bkl68MEHbc6cOSETx6GHHhpeQyH0lh4EalpL8mfj4UXVXbp0aSC+WE74zEUFZZJ9Lp988slAdHkKExWnOPLII9NzEd5rQCAda8m/t8kybpAJgBtVb6lHIB3r6KQ3tevkpDe1eHpvjoAj4Ag4Ao6AI+AIOAKNEAEnvY1wUXxKjoAj4Ag4Ao6AI+AIOAKpRcBJb2rx9N4cAUfAEXAEHAFHwBFwBBohAk56G+Gi+JQcAUfAEXAEHAFHwBFwBFKLgJPe1OLpvTkCjoAj4Ag4Ao6AI+AINEIEnPQ2wkXxKTkCjoAj4Ag4Ao6AI+AIpBYBJ72pxdN7cwQcAUfAEXAEHAFHwBFohAg46W2Ei+JTcgQcAUfAEXAEHAFHwBFILQJOelOLp/fmCDgCjoAj4Ag4Ao6AI9AIEXDS2wgXxafkCDgCjkBDIxBVl1q2bFm1lfWo/EU1Rn7S1ajkePLJJ4fuzzvvPLvpppvSNVSV/VK9jlLOtP/+97/2/e9/v97n4AM6Ao7AliHgpHfL8POzHQFHwBHYIgSOPfZYmzFjhn3wwQeWk5MT+lq/fr2NGjXKhgwZYg899NAW9V/Xk0tLS0P54q5du4ayxRBPiO3y5cs36XLRokVWWFhoBQUFdR2qxvMYG7I7adKkMFabNm1qPCfVB4DF1KlTbaeddnLSm2pwvT9HoJ4QcNJbT0D7MI6AI+AIxCNQVlYWyCRK6tChQ+3nP/+5XXLJJeGQyy+/3O655x6bMGGCtW/fvlEAVxXprY/JNeTY8dfHzUn//v2d9NbHovsYjkAaEHDSmwZQvUtHwBFILQJPPvmk/e53v7Ovv/46KIrbb7+9Pffcc0H1o9177712ww03hPc7dOhgRx11lP3lL38J7/35z3+2v/71rzZt2rTw3qGHHmrXXXedtW7dOrwfEarHH388KJmzZs2y3XffPZzTvXv3cMzYsWODwsnrjIMKetxxx4XH7Hl5eeEYXrv00kvt4YcfDscOGzbM/vjHPxqPxePHQbn99a9/bZMnT7YpU6YEEvX888/bj370I/vPf/4TVN6dd945XN9BBx1UJZD0yxg0+kQlPvvss+2qq64KZJoGoUYhfeGFF6ykpMT23HNPu+WWW2zrrbcO78+cOdN+9rOf2XvvvRfmj1Xh+uuvD+PG2xvGjx9ve++99yZzueKKK+zKK68M58TbG7755ptA4F9//XXLzs62Aw44wG699dagGNM459lnn7Vf/epXdtlll4U5HnjggXb33XdXqeBWRXoZ+7TTTgtYPv3009axY8dwfbvuumt4nTmAL2u5ww47fGcdmAPrzfXef//9xj7julasWGE//elPw/pG6jsnO+mtcjv6G45Ak0DASW+TWCafpCPQfBGYN2+e9enTJxDVI444wlatWmXvvvuunXjiiYG43n777XbBBRfYH/7wh0CeICzvv//+Ro8pxGX48OGBnE2fPt3OOecc22effey2227bSILOOOOMQAivvfbaQNQgPBBrCCwN0vvMM8/Y8ccfH0gk5BpbAn2ffvrp4Zif/OQngRQxjx49eoTjIcGff/55IJkQN8bZcccdA7GEoPXq1WsjcT/ppJPs008/DaR3l112CUpvdQ3SO27cODv11FMD2f34449D//FzGjNmTCDWd955pxUVFdlFF10UHtF/+eWXgawf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\" width=\"701\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "fitting function: a*erfc(np.sqrt(2)*(x-x0)/w0) + b\n",
+      "w0 = (177.9 +/- 0.6) um\n",
+      "x0 = (17.953 +/- 0.000) mm\n",
+      "a = 6.956484e-01 +/- 5.093209e-04 \n",
+      "b = 3.562529e-03 +/- 7.279907e-04 \n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr4AAAGUCAYAAADTWCG4AAAgAElEQVR4XuzdBbydxZ3/8UmIQPDgHpwCFUpdKN1SoVuhpd5/XXa3tt3att26bN1lK9utu1KjQr3UqWPFLbgECQT9/95z7oSHw7lKTpJ7729er7yS3Ps888x8Z855PvOd38zMuSFSyZQKpAKpQCqQCqQCqUAqkArMcAXmJPjO8BbO6qUCqUAqkAqkAqlAKpAKVAUSfLMjpAKpQCqQCqQCqUAqkArMCgUSfGdFM2clU4FUIBVIBVKBVCAVSAUSfLMPzAgFrrvuurLNNtuUl73sZeU//uM/hlanV7ziFeVTn/pUWbp0adlggw3KJZdcMqlnveAFLyg/+tGPyl/+8pdJ3TfRi9/3vveV97znPeX0008v11xzTbn44ovLJptsMqHbP/GJT5SnPOUp5ZRTTilLliy5yT1//etfy21ve9vyxz/+sey3334Tym+YF1100UVlq622Kl/60pfKwx72sHLFFVeU97///eVzn/tcLb+lC1tuuWXZf//9y7Of/exyr3vd6ybFOfnkk8s73/nO8oMf/KCcccYZZc6cOWXnnXeuef3bv/1b2W677er18vniF79YPvCBD5Tjjz++XHrppWXzzTcv++yzT3nkIx9Znv70p9+smt02/vGPf1w+85nPlF/96lf1OdriDne4Q3nVq15Vy9af6PuSl7yk/OY3vynz5s0r//RP/1Te/va3l1122eUml7773e8uP//5z8uf/vSncuqpp9b6/fSnPx0o+fe///3yute9rrbdggULygEHHFDe/OY31zp003/913+V7373u+W0004ry5cvL9tuu2056KCDip/vtNNON7nW5+DPf/5zfb7PwpOe9KSi/4yWbkn/+d3vflde+cpXVg21xx3veMfyhje8odz97nefsn5u9FnRrvqLuj75yU8uL3/5y8v8+fNvku95551X2+Tb3/521cXnwPPvc5/73OS6q6++uv7805/+dDnrrLPq99HjHve42tbrrbfeqNocccQR5b73vW/9/fnnn1/7V3+6JfoN63N4+9vfvtzznves3zfjpYn2a/nof6997WvL9773vXLhhRdWPe50pzuVr3/96zd5zE9+8pPy3//93/W7VLv4jPg8+ryvs846K69dsWJFee9731s++clP1rb2va3s+tTd7na38Yqev5+BCiT4zsBGnY1V8iUIEkBA/0t6Velx2GGHlUMOOaSCwMEHH1wWLlxYIWYyCVA+9alPrS/DVZ2ACCj15Q9EgBNI6L4ExnrmWOD76le/ur7QAePakD7+8Y+X5zznOeWCCy5YCXN/+9vfyotf/OL6kpROOOGE8q1vfau+nIFaSwDmMY95TH2hyoNmwNf9//d//1fmzp1bgU566UtfWt7ylreUZzzjGeVBD3pQ2XDDDeuLGdAaVMi/P3XbGBx7eft77733rmDzjne8o/zhD38ogFSfbem4446rZb/d7W5Xn3vVVVfVfuI52naLLbZYee1ee+1V1l9//XqtMsh7EPjqs2D+oQ99aK3DsmXLKlSAud///vdl1113XZknYPDZudWtblXrecwxx1SQu/7668vRRx9dNttss5XXevZtbnOb+nyaPfaxjx0TfKfaf5RR+9HFgAL4vvWtb63t4zN/17vedUr6vfGNb6zgQ+f73e9+VQt9xOfmIx/5yE2gyWfcANdgwWAKLH/nO98pgLU7oDr00EPrwEGb+dz9+te/rvrd//73L9/85jcHfmwuv/zycutb37qAZgOI0cB3qvoN67MKIIHmz372szqQGitNpl///e9/LwceeGDN+/nPf37Zfvvty9lnn10/K/pZS7Snq2e7Tn+kscHM8573vJvA+BOf+MTy2c9+tpoiPm8GzdoSMB955JErvy+GpVXmu/YpkOC79rVJlmgKCnhpc4a8wIaVvCy9HM8999z6ApxsUjYvcF/u/W7bZPMadL0v9//3//5f+e1vfzulL/OxwFd5H/jAB5a3ve1tq6KotziPf/7nfy6LFi0qX/7ylysAeaF5MXKs+xNwA7OSFzbQ2GOPPep9G2+88U0uB1acpYc//OHlyiuvLJtuuml59KMfXd2isfJtv+tvY4DZ31fAzm677Vb23XffCk8tPepRj6plOumkk8pGG21Ufwyyd9999zqLAcBb6tZJPiB+EPgCZAM04AzuW57q/4hHPKICwVjp8MMPr+3+sY99rA7YBj2fgyavsRzfqfafBzzgAbXsBlzaW7rssssqGKkDcJmsfgYigAoQffjDH155P/fQ59vn00BC+uAHP1gdRG5zg+xrr722ur7q7bMmcej93qAGoLf0pje9qbrIZhaaq9vV28BL3vozSB4NfMfTz4yXcmnr1ZF8D5iJAKXt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zZv8yyHBd3Jaz6arE3xnU2uvpXW9/PxSVlxaysKNStlgi7W0kFmsVGD2KJDgOwPA98ADDyy3vvWtyzrrrFM++clP1s36X//615fHP/7x5TnPeU75yle+Urbccsvy/ve/vxx88MG1xsccc0x50YteVH7+85+X9ddfv9zvfvcr73rXu8rmm29ef/+9732vvOENbyh///vfa753vetdy3ve856y66671t876OMFL3hB+epXv1pDDLbeeuvyL//yL+VlL3vZylX0f/rTn8rtbne7ev0ll1xSNt100/KTn/ykKG+DVc/5r//6r/LXv/61fP/736+/e9vb3lY+9KEPlbPPPrvsscce5ZWvfGV5xCMesbKlvvvd75bnP//55Ywzzih3uctdypOe9KTylKc8JUMdZs/31oRrmuA7YanywmEowOm95LRSrrmqlPmxq8gmO6XzOwydM89UYBIKJPjOEPD94x//WF7ykpeURz/60eWLX/xiefWrX13uf//7l4c97GEVJkHtl770pXpAh71Nb3Ob25RnPOMZ5YlPfGKx5dN//ud/lmuvvbb8+Mc/rooA2jlz5lSgvuKKK8qrXvWqCrR//vOf6xGwb3/728t73/ve8tnPfrYeDgBC/XnsYx87KfBVDnntsssuNT73ne98Z/na175W3v3ud5fdd9+9gvm//uu/Vii+173uVZ/h5372b//2b+UPf/hDeeELX1jOPffcBN9JfPBny6UJvrOlpdfieqbjuxY3ThZtNiqQ4Dss8DXSv/jUUjZdMvQRPrAVJvCLX/yi1sa/HcDx8Ic/vHzqU5+qPzvnnHPKNttsU379618Xjulvf/vbCpMtnXnmmWWHHXYoxx9/fHVZ+9P5559fXeO//e1vZd999y3Pe97zytFHH12OOOKIm52I1fZNnYjj+41vfKM89KEPrY8D2Bxn8M1hbunpT396Wb58efnc5z5XXv7ylxf3eDYwl1760peWt7zlLQm+s/EbbJw6J/hmp1grFMgY37WiGbIQqQAFEnyHAb6+5D52UClL/1TKtvuV8rQjhgq/wHefffYpH/jAB1bWZqeddqphDi9+8Yvrz8TQcmoPO+yw8uEPf7j88Ic/rCER3QQ8QbFwiJNOOqmGGPzmN78pF1xwQXH8q99/5zvfKQ984AMLh/m+971v2WyzzcoDHvCA8qAHPaiGS0iTAV/Avd1229X7fv/735c73elONfSim4RV7LfffhXWOdhCJv7v//5v5SXqdMghhyT45nfazRRI8M1OkQqkAqlAKtBVYI2B75ve9KY6pX3cccfVU9Ludre7Vdduzz33HLOFfvazn9XYUo6fo4VN75v2nmgaVOF27yp7SV5wYinv3//GIj3nqFI2322iRXS4ZeMAACAASURBVJz0dcBXLK3wgJacPicO1p+WOKRf//rXK/guWrSo6t2fuMLAc++9964OMH3pDHw5ve4HmRItDz/88Or6fvnLXy4HHXRQjScWTgG8wTFglZpj3B/j292CDNiK2RX/22C4lW/hwoW1PJ69ePHiBN9J95LZecMq+0zPTvmy1qlAKpAKzDgF1hj4cgkf85jHlDve8Y41ttQCJ9PoFl31O35NdccJgy+xqRZSHXnkkeVZz3pW+fznP18OPfTQCTXOagHfNeD4TgZ8OatieC1cG7SLwoUXXlhDDsTX3vOe96y6/vKXv6z/7oJvV3BhE9rUvQYywLq5w67jMHOExwLfyy67rGyxxRblox/9aHnCE54wsD1bqIN+0pIFdW9+85vT8Z3QJ2B2XZTgO7vaO2ubCqQCqcB4Cqwx8O0vWHMEOboHHHDAwHJbgPXNb36zHHvssSt/z+39y1/+UmNXJ5JWC/gqyGqO8Z0M+AoncL3FYkIhQO6JJ55YvvCFL1To5AyL5xXyYJEcB1ccLWBu4GuxHHdYPkIo3vrWt1bQPeuss+r/xejOnz+/7s4gVMJzfve7340JvmR7xSteUe95xzveUe5xj3tUV/lXv/pV2WCDDeruDcpicduzn/3sOvg56qij6uI2Mcx5gMVEPgGz65oE39nV3lnbVCAVSAXGU2CtAV/gBWja4qlBBQfEps5tq9USEHvUox5VFz8Brf60YsWK4k9LKmzK3M4GG20U+yp20nR9SU421EG4wAknnFB3cuDA0kdoAsfWrgrAV/iCBWwnn3xyDT+xg4PnNPAFyB/84AdrPrY749zbhqyFNhicPPWpT62DEvcD4/EcX00hFvl973tfzduz7fRw+9vfvi5qawOib3/72+U//uM/6g4PIN5WZp6V4Dvex332/X66fqZnX0tljVOBVCAVWD0KrBXgC3as7AcubWeCQdW328CTn/zkCkEtcQPvfve7l6VLl1YHsj+95jWvKa997Wtv9vOZBL6rp6vkU1KB6adAgu/0a7MscSqQCqQCw1RgrQBf09amycWRbr/99qPWF/hy98R0tiTO15S4ww4cotCfZoPjO8wOknmnAtNZgQTf6dx6WfZUIBVIBVa9AmscfJ/73OfWfVktpNp5553HrOFUQh36M1xtMb6rvq0yx1QgFZikAgm+kxQsL08FUoFUYIYrsMbAV3gD6BUzavsq8b3jJTGp3/rWt+rODy05vctpYmvd4rbxKpO/TwVSgaErkOA7dInzAalAKpAKTCsF1hj42obMSVwOH+ju3evEMdthSUIa7BLQTh9r25lZzW9LM7BrV4e1bjuzadUFsrCpwMxVIMF35rZt1iwVSAVSgakosMbAtx0321/oj3/843UBm+Rvp4BxhFuy3ZkV/e0ACy7wWneAxVRaIu9JBVKBVa5Agu8qlzQzTAVSgVRgWiuwxsB3TamWMb5rSvl8biqw+hVI8F39mucTU4FUIBVYmxVI8O20Tr4k1+aummVLBSavQH6mJ69Z3pEKpAKpwExWIME3wXcm9++s2yxXIMF3lneArH4qkAqkAn0KJPgm+OaHIhWYsQok+M7Yps2KpQKpQCowJQUSfBN8p9Rx8qZUYDookOA7HVopy5gKpAKpwOpTIME3wXf19bZ8UiqwmhVI8F3NgufjUoFUIBVYyxVI8J0h4OtAEPsbf+UrXykXX3xxsR+y7eDe/e53r+VdcM0U78ILLyy3utWtyu9+97uyZMmSNVOIGfjURzziEeVud7tbecELXrBW1C7Bd61ohixEKpAKpAJrjQIJvjMEfA8//PDy0Ic+tO55vMsuu5S5c+fWg0A23HDDWsMDDzyw3O52t0sQHmnvF73oRXWA8LGPfaz+xJHZb3vb28pRRx1Vzj777Hqi4CGHHHKTD+pErune8KY3vam8/OUvL//+7/8+ru4OarEntXa88soryx577FHLtv/++w/ty+KDH/xgrbP67rPPPrWM97znPUd93mte85ry2te+9ia/32qrrco555yz8md//etfy73vfe/isJmNNtpoaGWfaMYJvhNVKq9LBVKBVGB2KJDgO0PA9/3vf3+FmNNOO21gz03wvVEWYLntttuW7373u+Wud71r/QXgPPLII8vtb3/7cuihhw4E34lc057y+9//vjzqUY+q8AcEx3LeAfh+++1Xr3ME95ZbbllOOumk6kTvuuuuE/om0r4c/nb4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TVixvQtIIe0537LqehEQARGoIgISvqWobBaU4JeKPypT8QsiRF++SYuUUpYpToAUKkri8l3buPK9PxdhVBu+uViis8WPf/b4YIcHFuWxgCtdyLfsmeIpdHCWrSy5fh9ndc713kKui84+FEvUF5I33SMCIiACdYSAhG+pKtL7kZYqvVzSSUqk5JKWrlmwBGoz0PHbYE0LXB7YuaFU22DVJs9J0S51HvRMJlVzikcEREAEYglI+KphiEC1EChUVHHf2GALuBnB4saGwYIstkMrlTWy0DwnUadJWMqTyIfiEAEREAERSIyAhG9iKBWRCNRhAlg+2emAfWSrye+01BbfOtyEVDQREAERKAcCEr7lUAvKgwhUAoEFaX1dkHyqtdwLkrnSFgEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEZDwLRJYRSsCIiACIiACIiACIlBeBCR8y6s+lBsREAEREAEREAEREIEiEag64Tt9+nRr0qSJfffdd9aoUaMiYVW0IiACIiACIiACIiAC5UYA4duyZUubNm2aNW7c2GWv3pwglFtGk8rPxIkTXYEVREAEREAEREAEREAEqpMABtAWLVrUfeE7e/ZsmzRpkjVs2NDq1atXFbXtRzeycidT3eKZDMdwLGIqpskTSD5GtVMxTZ5A8jGqnWZmim13xowZtuKKK1r9+vXrvvBNvomVf4xx/izln+vyzaF4Jl83YiqmyRNIPka1UzFNnkDyMaqd5s+0Trs65I+j8u/QQ5BsHYpnsjyJTUzFNHkCyceodiqmyRNIPka10/yZSvjmz6ys79BDkGz1iGeyPCV8k+cppmJaHALJx6r+VEyTJ5B/jBK++TMr6zv+/vtvu/TSS+2ss86yRRddtKzzWgmZE8/ka0lMxTR5AsnHqHYqpskTSD5GtdP8mUr45s9Md4iACIiACIiACIiACFQgAQnfCqw0ZVkEREAEREAEREAERCB/AhK++TPTHSIgAiIgAiIgAiIgAhVIQMK3AitNWRYBERABERABERABEcifgIRv/syKcserr75qV1xxhX3wwQf2ww8/2GOPPWZdu3Z1ac2aNcvOPfdce/rpp+2bb75xx+7ttNNOdtlll7lNmdOFO++80w477LD5vv7zzz9tscUWS31+/fXXu7RJt23btjZo0CDr0KFDUcpZykiLwXS77bazV155Zb5i7LrrrjZ8+HD3+YUXXmgXXXRRjWuaNWtmP/74YymLX5S0MjH1ZR86dKg7JrxBgwa28cYbW79+/ax9+/YZ8/PII4/YeeedZ19//bWtttpq7p5u3brVuKca22mhTG+55Ra7++677bPPPnMMqYf+/fvbZpttlmKqdppfO63m/rQYz7360vTv/Ghnecwxx9jNN99sV199tZ166qnqS2v5dpPwrSXApG5/5pln7I033rCNNtrI9tprrxrCd/r06bb33nvbUUcdZRtssIFNnTrVNf5///3X3n///YzC95RTTrHRo0fXuGaFFVZI/f/AAw/YQQcdZIiKrbbaym666Sa79dZbbdSoUdaqVaukirdA4ikG0ylTptg///yTKs+vv/7q6gRmhx56aEr4Pvzww/bCCy+krltooYVs+eWXXyAckkw0E1PSuf/++61p06bWunVrY4BFR/3QQw/Z2LFj05b/rbfecgOtSy65xIldBn3nn3++vf766ynBXK3ttFCmBxxwgHuet9xySzfIHTBggD366KP2+eef20orraR2WkA7RfhWa39ajOdefWn6d364z3788cedMWXy5Ml2+umnZxS+1d6X5vquk/DNlVQJr+N45bDFNy7p9957z1lvxo8fn1ag0lEjkKdNm5Y291jiENs33HBD6pp11lnHWZvZFq2uhKSYRnlgHUekYS1fcsklU4KCzurjjz+uK/hiy5ELU79vJ4OAHXfcMTaenj17ukMteLn60KlTJ1t66aVtyJAh7iO103nocmEaBf3ff/85ntddd50dfPDBaqcRQLkwVX86F1pSz7360nkE0jH9/vvvXd/33HPP2W677ebe55ksvupLc3vlSvjmxqmkV+XSsSAkdt55ZydqGzVqFJs/OuojjzzSWXh48W244YbOqtauXTt3PZbLJZZYwlnkwtPKWDUQbXFT+iUFkWBiSTGNZmm99dazLbbYwk1D+cDoHNcRXFLYS5mOi2lmrKB1KWRjSvsaPHiw9e3b11l8l1tuudjiM7PQq1cv9+MDlmIGFQzs1E7nYcuVaRQ0Z9VjiedZ33333VPCV+10bj+YSztVf5qb8M2Vp/rSzMJ39uzZzqWxS5cubqZhlVVWySp81Zfm9oaV8M2NU0mvyiYo/vrrL9t6661t7bXXtnvvvTdt3t5++20nOBBnWDSuueYa5yf8ySef2BprrGGTJk1yohgXC6ZEfUCk3XXXXfO5SJQUQsKJJcU0nK13333Xidp33nmnhu8klss//vjD1lxzTfvpp5+c8Pvyyy/dNPOyyy6bcMkWXHTpmD711FO27777OgbNmzc3rN+bbrpp2oziC4yo2H///VPX4DKBfzqbs6udmuXLNAr7hBNOcFYjfH69f7/aaX7tVP1pZuFbmzaqvnT+WV5mXF9++WX33NLX5iJ81Zfm9j6U8M2NU0mvyiTSWOjWo0cPmzBhgo0cOTKttTcuw4wgcWvYZpttnIXDC4o333zTWS19YGHRPffc48RaXQnFYMqCA9h9+umnGTHNnDnTLdjq06eP9e7du64gTTvlSXlx/fjll1+MRVYvvfSSGxxgcYwLdNYMtPbbb7/U1/fdd58dccQRxiBP7dQsX6Zhzvj3shCW/mL99ddP2/7UTjO30yi4au1P0/WltWmj6ktrCl8WuePa8OGHH6YWsOcqfNWXZn/FSvhmZ1TyK9J1LIjeffbZx+3sgJgoxHrIArmJEyc6f0pNIc/dMaMQpt6aefHFF7tpqGyhY8eOtvrqq9fwpc52T7l/n82K7vPP7MLhhx/ujtGOC5qem0clKaY+xiuvvNLNOOAatckmm2RtUmqn6dtpHLxq7E+TbqPqS+f3m8bNCyNJ/fr1U80Od0X+b9mypY0bN059adbeLP0FEr61gFesW+M6Fi/QxowZ46Y/CtkhYM6cOW5KHteH22+/3WWfqXq2OmJXBx/atGnj/Irq+uK22jBlav7YY481Fh9kG4AwXY/F9+ijj3YL4epKyPUFiOA/8MAD3crkuMCCDHxQccPxoXPnztakSZMai9uqtZ3GMcvGlHvw30X0MlW6+eabZ212aqeZ22kUYLX2p0k9956n+tL5hS+7BTFrFg677LKL24EJF7C11lpLfWnWHk3CtxaISnPr77//7vxxCSw+GzhwoG2//fa2zDLLuKkOtjhj2gM/KvaE9YHvmSomsFobn10vWNlLlhceFjd8fHFvwIUBn16/n6ffJurGG29MLdJiehp/1JVXXrk0hS9SKsVg6rPK9luwZs/aaDjttNNsjz32cLtt/Pzzz058sFAQl4i6zJQBAG4ye+65p/PtpfNmQIUfOlN37BEd105xF8H9hnsZcA0bNsztWx23nVm1tdNCmeLewL7I+EqzrZkPSy21lPFDUDvNr51Wc3+aqS8ttI2qL03/zo/bSjTO1SH6zq/2vjRXKSGLb66kinwd/ncI3Wg45JBDnKVs1VVXjc0B1l82Aifwm4eDETSBVfLs3cnBCewwgKAmrrA/L9chTnhRMsJcd9113d6rCJFKD8VgCpOvvvrKjbhHjBhhTA1HAwu72PAdH1cs8ww+2E0DS3qlh0xMEaUsUMOfl7LzQmRRGyI2vLgt2k5hwr7HXIcbjz/Aonv37jVwVWM7LZQp/QA7YkTDBRdckLK8q53m106ruT8t1nOvvjT+ne/f4eHnN074qi8t7I0q4VsYN90lAiIgAiIgAiIgAiJQYQQkfCuswpRdERABERABERABERCBwghI+BbGTXeJgAiIgAiIgAiIgAhUGAEJ3wqrMGVXBERABERABERABESgMAISvoVx010iIAIiIAIiIAIiIAIVRkDCt8IqTNkVAREQAREQAREQAREojICEb2HcdJcIiIAIiIAIiIAIiECFEZDwrbAKU3ZFQAREQAREQAREQAQKIyDhWxg33SUCIiACIiACIiACIlBhBCR8K6zClF0REAERKAYBTos69dRTbdq0aRmjr1evnj322GPWtWvXYmTDxckJkxwRTOAkSfJV6hA+/W7q1KnWpEmTUmdB6YmACBSBgIRvEaAqShEQARFIR+CII46wd9991z744ANr0KBB6rKnn37aunTpYm+99ZZtsskmJQf4559/2owZM6xp06Yp8fn444/bxx9/XCMvHIG+9NJL26KLLlq0PCJ8Ocb6hRdesEaNGtkSSyxRtLTSRTx58mR77bXXbK+99jIJ35LjV4IiUDQCEr5FQ6uIRUAERKAmgf/++89+//1322CDDWy//fazSy+91F2AlXXddde1I4880lk7yyGQjzjhW4q8Lci0w+UbOXKkbb/99hK+pah0pSECJSIg4Vsi0EpGBEQgPwJY/JjuHjt2rLP4tWvXzoYNG2ZLLrmki+j222+3q666yn2/zDLLOMvcdddd574bOHCg3XHHHfbNN9+47/bYYw8bMGCALbXUUu57P63/wAMPuGn07777zrbeemt3T/Pmzd01hx56qBOkfE46//zzj+277742aNAgW2SRRdw1fHbuuefafffdlxKvl19+uW233XY10rn33nutT58+9tVXX9mYMWNs/PjxtvPOOzuLYvv27V1an3/+ubP2LrzwwrGgmHrHWvzFF1/YE0884SyhZ511lp100kmp6ydMmOD+f/HFF61+/frWqVMnu/baa61Zs2bumk8++cSV9/333zdcFtZYYw276aabnIU57OrA34cddliNfMCGfEZdHT799FM75ZRTXN6pJ+oB/p51LhyjBU4nfEn7xhtvtCeffNJeeuklW3nllV07WH755d2g4b333rP111/f4L3aaqu5aH1cJ598svt7ypQpdtBBB7m2Qr2S19mzZ7synHPOOTWyIuGb3zOrq0WgEghI+FZCLSmPIlBlBH744Qdr1aqVE6vdunVzU/CIxIMPPtgJqhtuuMF69+5tl112mXXu3NmmT59ub7zxRsoXFHGKVRWx+O2339rxxx9vO+ywg11//fUpQXr00Ufbtttu66yuiMQDDzzQiWtErBe++LLuv//+ThQhsHv27OmE71FHHeWuOeCAA2zcuHEuHyuuuKLzfUUIIwYRlQhI0tl0003tiiuusGWXXdZatGjhxDsC9Nlnn7VLLrnEDjnkEOf6sM4666StacqCaDv77LOte/fu9txzz1mvXr3smWeesY4dO9qcOXNs4403dnGTx3///deVu2HDhoaAI2BVpowIvIUWWsi5May55pqOVVj44vZw3nnnufzhbkBo3LixLb744jWE7x9//OHKufnmm7tBys8//+wE6DbbbOPiy5VjPsJ3pZVWcmJ1ww03tDPOOMOVoXXr1m5gQZs5/PDDnT8uXLzwReAyCCCPX3/9te29997OkkvZTzjhBHvzzTfdfYh3yuKDhG+VdTwqblUQkPCtimpWIUWgsgh8+OGHTsQhKrHqRQPiB4tk3759cyrYQw89ZMcdd5z98ssvKeHL/YhZbxlEFF988cWGD6sXbAgfhBIikbDPPvs4kTx06FD3OaJv4sSJTvT6sNNOO9lmm21m/fv3d+KPdBBniMtwQFxutNFGzgqMMMu2gAvhizD2go64sED/9ttvhn/w888/7wYBCP2WLVu6pEaNGmVt27Z1PsWIb6zEWIAR2tEQXdyWyerqF7fdcsstTnxiMfeWePKChX3SpEnO0ozFNxPHuArMlDYDCwYLhLffftu22GILu+2225xwJVA3MIcvgbgYdFCvDAIIiODRo0e7OqQ+CWuvvbbL65lnnpnKkoRvXO3oMxGobAISvpVdf8q9CNRJAvjC7rLLLk6w8Ru3AKx0LKrCqoigYqobq11cePnll53wRPghDLF+/vXXX86/FoGGyMPSN3PmzNTtiDmm6Zn2JiCCWOA0fPjw1DVYfrHmkjZiGiHsBZ+/6O+//3YWWdwoSOeYY45xaTNNHw233nqrs9qSx7jvw9cjfBF3559/furja665xll3EbuDBw92OyDwdzjAjOuwliMC+/Xr5yzdCPQePXqkhH8hwher+0cffWTw9gHrOxbXV155xVl+s3GMq79MwvfBBx90+SZQVqy9XtjzGXnBuk8+EPrERV3hSuIDwp9BULhuYcJgC2uyDxK+dbJ7UaGqnICEb5U3ABVfBMqVAFP3TEGPGDHCuRBgsXvnnXdsueWWc4ImnfDFfxbr3bHHHutcE/Dxff31151/rF+dH7d1Fwu5cKsgXS988fHlcx+wymK9RRAhbHF1QFB5i7C/DneMFVZYoYb7QBznXLcQ4950whdRiy8zv/3f4bQQoVh58WslYGFG8GE5RpxiIaXchQhfRDt+w9RFVPi++uqr1qFDh5SvdDqO+Qrf8FZqzAisuuqqTnzj+kCIitU4Ee39jsN5wi+bOBhISPiWa6+gfIlA7QlI+NaeoWIQAREoMgEswLg8YGHkB7GD6IxzdXjkkUecCwCWVz+NzXX4rCYpfBGQa621lnmBV4iwzVf4tmnTxrk1+MDOEFg2s7k6sOgrbos07sfqzWK5aF6wmA8ZMsRZuMMhvLgtV1eHTAMICd8iPzyKXgREoGYfFlg35po3FERABESgTAhg2WVnAlwc2FeW/1l8hoUOP9a77rrLWXTZQYH/WfzG4jZ2NMAiywIuLHf4mvI5ux98//33iQpfUJEn4sdHlzSZPsf6ud5669muu+6auMUX4c7CNA6PwKcX1wust7iD+MVtWJvDi9v4HysoPq+nn366cxlh4IBvMlP+uHfAMSp877//frcwD2s5C/Lwj2Xv3rDwZXHb6quvbltuuaVzKcA1hMVtWHrDi9skfMvkwVI2REAETBZfNQIREIGyI8CWXUyjs8gN/1esvYjaE088MZVXtuHCp5VpftwfEHT4uRL4nAVNCC78TLEO4+OapMWXdGbNmuWsznfffbcT1uzawGIrdg9A/Gaz6Gb7Plwx3tUB14qnnnrKCVEEPeLXh0zbmbH1GkIXof7TTz85Zvgiw2mxxRabL69YzOHGAASOtd3OTK4OZfeYKUMiUJUEJHyrstpVaBEQgUojgPDFxzjb7g+VVq64/OoAi7pQiyqDCJQnAQnf8qwX5UoEREAEahCoNuHLlmXsG8xezuxHXOrANnDMJrAjh44sLjV9pScCxSMg4Vs8topZBERABBIjUE3Cl4M6+CFwKhuHZ5Q6sDsIriwEtkzzCyVLnQ+lJwIikCwBCd9keSo2ERABERABERABERCBMiUg4VumFaNsiYAIiIAIiIAIiIAIJEtAwjdZnopNBERABERABERABESgTAlI+JZpxShbIiACIiACIiACIiACyRL4H8NOHJe20vcXAAAAAElFTkSuQmCC\" width=\"702\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "fitting function: a*erfc(np.sqrt(2)*(x-x0)/w0) + b\n",
+      "w0 = (114.6 +/- 0.5) um\n",
+      "x0 = (13.328 +/- 0.000) mm\n",
+      "a = -6.919485e-01 +/- 4.776717e-04 \n",
+      "b = 1.385036e+00 +/- 7.320520e-04 \n",
+      "0.00017787613683544284 0.00011464177548822842\n",
+      "X-FWHM [um]: 209.4331462763844\n",
+      "Y-FWHM [um]: 134.98037545880902\n"
+     ]
+    }
+   ],
+   "source": [
+    "w0_x = tb.knife_edge(dsX, axisKey='scannerX', signalKey='Tr', plot=True)[0]*1e-3\n",
+    "w0_y = tb.knife_edge(dsY, axisKey='scannerY', signalKey='Tr', plot=True)[0]*1e-3\n",
+    "print(w0_x, w0_y)\n",
+    "\n",
+    "print('X-FWHM [um]:', w0_x * np.sqrt(2*np.log(2))*1e6)\n",
+    "print('Y-FWHM [um]:', w0_y * np.sqrt(2*np.log(2))*1e6)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Fluence calculation"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Load XGM data"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
+       "<defs>\n",
+       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
+       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
+       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
+       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
+       "</symbol>\n",
+       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
+       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
+       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
+       "</symbol>\n",
+       "</defs>\n",
+       "</svg>\n",
+       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
+       " *\n",
+       " */\n",
+       "\n",
+       ":root {\n",
+       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
+       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
+       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
+       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
+       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
+       "  --xr-background-color: var(--jp-layout-color0, white);\n",
+       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
+       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
+       "}\n",
+       "\n",
+       "html[theme=dark],\n",
+       "body[data-theme=dark],\n",
+       "body.vscode-dark {\n",
+       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
+       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
+       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
+       "  --xr-border-color: #1F1F1F;\n",
+       "  --xr-disabled-color: #515151;\n",
+       "  --xr-background-color: #111111;\n",
+       "  --xr-background-color-row-even: #111111;\n",
+       "  --xr-background-color-row-odd: #313131;\n",
+       "}\n",
+       "\n",
+       ".xr-wrap {\n",
+       "  display: block !important;\n",
+       "  min-width: 300px;\n",
+       "  max-width: 700px;\n",
+       "}\n",
+       "\n",
+       ".xr-text-repr-fallback {\n",
+       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-header {\n",
+       "  padding-top: 6px;\n",
+       "  padding-bottom: 6px;\n",
+       "  margin-bottom: 4px;\n",
+       "  border-bottom: solid 1px var(--xr-border-color);\n",
+       "}\n",
+       "\n",
+       ".xr-header > div,\n",
+       ".xr-header > ul {\n",
+       "  display: inline;\n",
+       "  margin-top: 0;\n",
+       "  margin-bottom: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-obj-type,\n",
+       ".xr-array-name {\n",
+       "  margin-left: 2px;\n",
+       "  margin-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-obj-type {\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-sections {\n",
+       "  padding-left: 0 !important;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input + label {\n",
+       "  color: var(--xr-disabled-color);\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input:enabled + label {\n",
+       "  cursor: pointer;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-section-item input:enabled + label:hover {\n",
+       "  color: var(--xr-font-color0);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary {\n",
+       "  grid-column: 1;\n",
+       "  color: var(--xr-font-color2);\n",
+       "  font-weight: 500;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary > span {\n",
+       "  display: inline-block;\n",
+       "  padding-left: 0.5em;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:disabled + label {\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in + label:before {\n",
+       "  display: inline-block;\n",
+       "  content: 'â–º';\n",
+       "  font-size: 11px;\n",
+       "  width: 15px;\n",
+       "  text-align: center;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:disabled + label:before {\n",
+       "  color: var(--xr-disabled-color);\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked + label:before {\n",
+       "  content: 'â–¼';\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked + label > span {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary,\n",
+       ".xr-section-inline-details {\n",
+       "  padding-top: 4px;\n",
+       "  padding-bottom: 4px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-inline-details {\n",
+       "  grid-column: 2 / -1;\n",
+       "}\n",
+       "\n",
+       ".xr-section-details {\n",
+       "  display: none;\n",
+       "  grid-column: 1 / -1;\n",
+       "  margin-bottom: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-array-wrap {\n",
+       "  grid-column: 1 / -1;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 20px auto;\n",
+       "}\n",
+       "\n",
+       ".xr-array-wrap > label {\n",
+       "  grid-column: 1;\n",
+       "  vertical-align: top;\n",
+       "}\n",
+       "\n",
+       ".xr-preview {\n",
+       "  color: var(--xr-font-color3);\n",
+       "}\n",
+       "\n",
+       ".xr-array-preview,\n",
+       ".xr-array-data {\n",
+       "  padding: 0 5px !important;\n",
+       "  grid-column: 2;\n",
+       "}\n",
+       "\n",
+       ".xr-array-data,\n",
+       ".xr-array-in:checked ~ .xr-array-preview {\n",
+       "  display: none;\n",
+       "}\n",
+       "\n",
+       ".xr-array-in:checked ~ .xr-array-data,\n",
+       ".xr-array-preview {\n",
+       "  display: inline-block;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list {\n",
+       "  display: inline-block !important;\n",
+       "  list-style: none;\n",
+       "  padding: 0 !important;\n",
+       "  margin: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list li {\n",
+       "  display: inline-block;\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list:before {\n",
+       "  content: '(';\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list:after {\n",
+       "  content: ')';\n",
+       "}\n",
+       "\n",
+       ".xr-dim-list li:not(:last-child):after {\n",
+       "  content: ',';\n",
+       "  padding-right: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-has-index {\n",
+       "  font-weight: bold;\n",
+       "}\n",
+       "\n",
+       ".xr-var-list,\n",
+       ".xr-var-item {\n",
+       "  display: contents;\n",
+       "}\n",
+       "\n",
+       ".xr-var-item > div,\n",
+       ".xr-var-item label,\n",
+       ".xr-var-item > .xr-var-name span {\n",
+       "  background-color: var(--xr-background-color-row-even);\n",
+       "  margin-bottom: 0;\n",
+       "}\n",
+       "\n",
+       ".xr-var-item > .xr-var-name:hover span {\n",
+       "  padding-right: 5px;\n",
+       "}\n",
+       "\n",
+       ".xr-var-list > li:nth-child(odd) > div,\n",
+       ".xr-var-list > li:nth-child(odd) > label,\n",
+       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
+       "  background-color: var(--xr-background-color-row-odd);\n",
+       "}\n",
+       "\n",
+       ".xr-var-name {\n",
+       "  grid-column: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-var-dims {\n",
+       "  grid-column: 2;\n",
+       "}\n",
+       "\n",
+       ".xr-var-dtype {\n",
+       "  grid-column: 3;\n",
+       "  text-align: right;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-var-preview {\n",
+       "  grid-column: 4;\n",
+       "}\n",
+       "\n",
+       ".xr-index-preview {\n",
+       "  grid-column: 2 / 5;\n",
+       "  color: var(--xr-font-color2);\n",
+       "}\n",
+       "\n",
+       ".xr-var-name,\n",
+       ".xr-var-dims,\n",
+       ".xr-var-dtype,\n",
+       ".xr-preview,\n",
+       ".xr-attrs dt {\n",
+       "  white-space: nowrap;\n",
+       "  overflow: hidden;\n",
+       "  text-overflow: ellipsis;\n",
+       "  padding-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-var-name:hover,\n",
+       ".xr-var-dims:hover,\n",
+       ".xr-var-dtype:hover,\n",
+       ".xr-attrs dt:hover {\n",
+       "  overflow: visible;\n",
+       "  width: auto;\n",
+       "  z-index: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-var-attrs,\n",
+       ".xr-var-data,\n",
+       ".xr-index-data {\n",
+       "  display: none;\n",
+       "  background-color: var(--xr-background-color) !important;\n",
+       "  padding-bottom: 5px !important;\n",
+       "}\n",
+       "\n",
+       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
+       ".xr-var-data-in:checked ~ .xr-var-data,\n",
+       ".xr-index-data-in:checked ~ .xr-index-data {\n",
+       "  display: block;\n",
+       "}\n",
+       "\n",
+       ".xr-var-data > table {\n",
+       "  float: right;\n",
+       "}\n",
+       "\n",
+       ".xr-var-name span,\n",
+       ".xr-var-data,\n",
+       ".xr-index-name div,\n",
+       ".xr-index-data,\n",
+       ".xr-attrs {\n",
+       "  padding-left: 25px !important;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs,\n",
+       ".xr-var-attrs,\n",
+       ".xr-var-data,\n",
+       ".xr-index-data {\n",
+       "  grid-column: 1 / -1;\n",
+       "}\n",
+       "\n",
+       "dl.xr-attrs {\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "  display: grid;\n",
+       "  grid-template-columns: 125px auto;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt,\n",
+       ".xr-attrs dd {\n",
+       "  padding: 0;\n",
+       "  margin: 0;\n",
+       "  float: left;\n",
+       "  padding-right: 10px;\n",
+       "  width: auto;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt {\n",
+       "  font-weight: normal;\n",
+       "  grid-column: 1;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dt:hover span {\n",
+       "  display: inline-block;\n",
+       "  background: var(--xr-background-color);\n",
+       "  padding-right: 10px;\n",
+       "}\n",
+       "\n",
+       ".xr-attrs dd {\n",
+       "  grid-column: 2;\n",
+       "  white-space: pre-wrap;\n",
+       "  word-break: break-all;\n",
+       "}\n",
+       "\n",
+       ".xr-icon-database,\n",
+       ".xr-icon-file-text2,\n",
+       ".xr-no-icon {\n",
+       "  display: inline-block;\n",
+       "  vertical-align: middle;\n",
+       "  width: 1em;\n",
+       "  height: 1.5em !important;\n",
+       "  stroke-width: 0;\n",
+       "  stroke: currentColor;\n",
+       "  fill: currentColor;\n",
+       "}\n",
+       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
+       "Dimensions:            (trainId: 3095, pulse_slot: 2700, sa3_pId: 25)\n",
+       "Coordinates:\n",
+       "  * trainId            (trainId) uint64 566392087 566392088 ... 566395181\n",
+       "  * sa3_pId            (sa3_pId) int64 322 338 354 370 386 ... 658 674 690 706\n",
+       "Dimensions without coordinates: pulse_slot\n",
+       "Data variables:\n",
+       "    bunchPatternTable  (trainId, pulse_slot) uint32 2113321 0 2097193 ... 0 0 0\n",
+       "    SCS_SA3            (trainId, sa3_pId) float32 1.165e+04 ... 7.357e+03\n",
+       "Attributes:\n",
+       "    runFolder:  /gpfs/exfel/exp/SCS/201931/p900094/raw/r0647</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-690bcaa9-7766-4a0a-82dd-4315a4208060' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-690bcaa9-7766-4a0a-82dd-4315a4208060' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>trainId</span>: 3095</li><li><span>pulse_slot</span>: 2700</li><li><span class='xr-has-index'>sa3_pId</span>: 25</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-c372b38d-a618-4b02-a481-5bc3a761cfb9' class='xr-section-summary-in' type='checkbox'  checked><label for='section-c372b38d-a618-4b02-a481-5bc3a761cfb9' class='xr-section-summary' >Coordinates: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>trainId</span></div><div class='xr-var-dims'>(trainId)</div><div class='xr-var-dtype'>uint64</div><div class='xr-var-preview xr-preview'>566392087 566392088 ... 566395181</div><input id='attrs-8c926a2a-9353-4670-bdbc-e8531ebba08c' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-8c926a2a-9353-4670-bdbc-e8531ebba08c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d4445155-853a-496c-80b6-a82dff1d35a5' class='xr-var-data-in' type='checkbox'><label for='data-d4445155-853a-496c-80b6-a82dff1d35a5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([566392087, 566392088, 566392089, ..., 566395179, 566395180, 566395181],\n",
+       "      dtype=uint64)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>sa3_pId</span></div><div class='xr-var-dims'>(sa3_pId)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>322 338 354 370 ... 658 674 690 706</div><input id='attrs-2d026ffa-3ceb-4a85-a081-2322780b25bf' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-2d026ffa-3ceb-4a85-a081-2322780b25bf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5d7c73ae-49fc-425c-8ec3-673012d61e3d' class='xr-var-data-in' type='checkbox'><label for='data-5d7c73ae-49fc-425c-8ec3-673012d61e3d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([322, 338, 354, 370, 386, 402, 418, 434, 450, 466, 482, 498, 514, 530,\n",
+       "       546, 562, 578, 594, 610, 626, 642, 658, 674, 690, 706])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-65b0ca67-e7f7-46f6-9c05-4289f2646725' class='xr-section-summary-in' type='checkbox'  checked><label for='section-65b0ca67-e7f7-46f6-9c05-4289f2646725' class='xr-section-summary' >Data variables: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>bunchPatternTable</span></div><div class='xr-var-dims'>(trainId, pulse_slot)</div><div class='xr-var-dtype'>uint32</div><div class='xr-var-preview xr-preview'>2113321 0 2097193 0 ... 0 0 0 0</div><input id='attrs-07840824-f814-46bc-862a-3f82e9964170' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-07840824-f814-46bc-862a-3f82e9964170' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b2c0cf54-07c5-4f71-9b57-cee1a0c8d26c' class='xr-var-data-in' type='checkbox'><label for='data-b2c0cf54-07c5-4f71-9b57-cee1a0c8d26c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2146089,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       ...,\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2113321,       0, 2097193, ...,       0,       0,       0],\n",
+       "       [2146089,       0, 2097193, ...,       0,       0,       0]],\n",
+       "      dtype=uint32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>SCS_SA3</span></div><div class='xr-var-dims'>(trainId, sa3_pId)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>1.165e+04 5.856e+03 ... 7.357e+03</div><input id='attrs-fc9a5284-1b7e-4140-add0-4fa697a880eb' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-fc9a5284-1b7e-4140-add0-4fa697a880eb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bd05b002-12f5-44d1-8f4f-f3162f337a16' class='xr-var-data-in' type='checkbox'><label for='data-bd05b002-12f5-44d1-8f4f-f3162f337a16' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([[11653.525 ,  5855.963 ,  7365.801 , ...,  3919.7158,  7909.9077,\n",
+       "         4948.931 ],\n",
+       "       [ 5580.75  ,  9985.725 ,  4064.7434, ..., 14171.828 , 10466.084 ,\n",
+       "        13193.723 ],\n",
+       "       [ 4689.496 ,  6060.475 ,  6916.7715, ...,  5142.414 ,  5440.1714,\n",
+       "         5382.8184],\n",
+       "       ...,\n",
+       "       [ 6212.5156,  4750.721 ,  3824.8555, ...,  8570.492 ,  6094.3013,\n",
+       "         6366.4717],\n",
+       "       [ 6892.157 ,  3579.4907,  4182.8643, ...,  6835.8535,  5749.3027,\n",
+       "        11276.869 ],\n",
+       "       [ 4638.75  ,  6117.593 ,  3122.147 , ..., 13450.644 ,  6425.3545,\n",
+       "         7356.6787]], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-43fd6602-579a-44ca-8887-98eabc22276e' class='xr-section-summary-in' type='checkbox'  ><label for='section-43fd6602-579a-44ca-8887-98eabc22276e' class='xr-section-summary' >Indexes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>trainId</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-5d82f556-4edc-4e0b-9759-af9f88ac25d0' class='xr-index-data-in' type='checkbox'/><label for='index-5d82f556-4edc-4e0b-9759-af9f88ac25d0' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([566392087, 566392088, 566392089, 566392090, 566392091, 566392092,\n",
+       "       566392093, 566392094, 566392095, 566392096,\n",
+       "       ...\n",
+       "       566395172, 566395173, 566395174, 566395175, 566395176, 566395177,\n",
+       "       566395178, 566395179, 566395180, 566395181],\n",
+       "      dtype=&#x27;uint64&#x27;, name=&#x27;trainId&#x27;, length=3095))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>sa3_pId</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-7106133c-af33-4d39-a8db-3c303351b531' class='xr-index-data-in' type='checkbox'/><label for='index-7106133c-af33-4d39-a8db-3c303351b531' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([322, 338, 354, 370, 386, 402, 418, 434, 450, 466, 482, 498, 514, 530,\n",
+       "       546, 562, 578, 594, 610, 626, 642, 658, 674, 690, 706],\n",
+       "      dtype=&#x27;int64&#x27;, name=&#x27;sa3_pId&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-8c86b2e9-b1c4-4cbe-96fc-8d1567d723ef' class='xr-section-summary-in' type='checkbox'  checked><label for='section-8c86b2e9-b1c4-4cbe-96fc-8d1567d723ef' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>runFolder :</span></dt><dd>/gpfs/exfel/exp/SCS/201931/p900094/raw/r0647</dd></dl></div></li></ul></div></div>"
+      ],
+      "text/plain": [
+       "<xarray.Dataset>\n",
+       "Dimensions:            (trainId: 3095, pulse_slot: 2700, sa3_pId: 25)\n",
+       "Coordinates:\n",
+       "  * trainId            (trainId) uint64 566392087 566392088 ... 566395181\n",
+       "  * sa3_pId            (sa3_pId) int64 322 338 354 370 386 ... 658 674 690 706\n",
+       "Dimensions without coordinates: pulse_slot\n",
+       "Data variables:\n",
+       "    bunchPatternTable  (trainId, pulse_slot) uint32 2113321 0 2097193 ... 0 0 0\n",
+       "    SCS_SA3            (trainId, sa3_pId) float32 1.165e+04 ... 7.357e+03\n",
+       "Attributes:\n",
+       "    runFolder:  /gpfs/exfel/exp/SCS/201931/p900094/raw/r0647"
+      ]
+     },
+     "execution_count": 15,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "proposal = 900094\n",
+    "runNB = 647\n",
+    "run, ds = tb.load(proposal, runNB, 'SCS_SA3')\n",
+    "ds"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#### Calibrate XGM fast data using photon flux and plot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx0AAAGMCAYAAAC/PM9cAAAgAElEQVR4XuydB3xU1fa2F1IEFKRIB2kCCihWQLEjIBawYi/YuGJDqWJXir1RVKwoYr16pShYkKIIKCqK0hSlI0izIdXPZ/md+Q+TSTI5mYRJ5l33l9/F5JR9nn0mWe9eZRf5+x8zmQiIgAiIgAiIgAiIgAiIgAjkEYEiEh15RFaXFQEREAEREAEREAEREAERcAISHXoRREAEREAEREAEREAEREAE8pSAREee4tXFRUAEREAEREAEREAEREAEJDr0DoiACOxUAkWKFLHbb7/d7rjjDh/HxIkT7dhjj7WPPvrIjjnmGP/eJZdcYm+88Yb9/vvv+TLWoUOHWunSpf2+ybbY5413/RdeeMEuvvhie/LJJ+3KK6/c4ZCpU6fakUceaTfccIM98MADkZ9t377dRo4caS+++KJ9+eWXtm7dOtttt91sn332sTPPPNOfZc8994wcX6dOHVu0aJEdffTRzjzWgjHw/ei5SDaPeNdbsmSJDRw40D744APj36VKlbIaNWpYy5Yt7bbbbrNatWrtcNqUKVNs0KBB9sknn9jq1av9+CZNmtiFF15oF110kXPA/vjjDxs8eLBz+vHHH42SxsqVK9vBBx9sV199tbNI1MJc65dffvHn2Lx5s3322Wd2yCGHZLjdyy+/bI8//rjNmzfP1q9fbxUrVvTx3XTTTXb44YcnOjyfb76Cz1BWJ86fP9+GDRvm8/zDDz/YLrvsYvvuu6+/Y7w72RlzdN1119msWbPs559/tmLFilm9evXssssus//85z/+34EF7128a+666672119/7fCjV155xe655x6bO3euVahQwTp16mT9+vWz3XffPbth5fjnidzrq6++sptvvtm++eabyLvWqFEjf38uuOCCHN9TJ4hAOhGQ6Ein2dazikAKEoh1wn/99Vf77rvvrHHjxla2bFkfcX6LjqZNm7qDHs8Zzy3CREQH9zj11FPtww8/dOcGRy1wmg844AB34hAWJUuW9O9v3LjROnbs6E762Wef7f+uXr26wRKR8swzz1jDhg0N5zza+Vu7dq0LuQULFlj9+vV3eDScVe7BNfJTdCxdutQOPPBAK1eunHXv3t1w6DZs2ODvxGuvvWaPPvroDuIAwXrXXXe5Q46Ty3P8+eef/tw40ued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ong+SwhgDMee+gyiMHzeEenRXGNTpxDJRLOIYkyaNCnLR+J3CJ83xDPvAZtBEnFkA8RogxcLHfAManMQIaStRbfizepmidyL5+aL34F8xhgHz0EdVyJ7ruTF/OmaIlBQCEh0FJSZ0jhFQAREQAREQAREQAREoIASkOgooBOnYYuACIiACIiACIiACIhAQSEg0VFQZkrjFAEREAERyHMC2bX+DfZ2yPOB6AYiIAIiUMgISHQUsgnV44iACIiACIQnkN1GeLSupa5BJgIiIAIikDMCEh0546WjRUAEREAECjEBWrlmZcFeLIUYgR5NBERABPKEgERHnmDVRUVABERABERABERABERABAICEh16F0RABERABERABERABERABPKUgERHnuLVxUVABERABERABERABERABCQ6snkH2HBr+fLlvrlUdgWGep1EQAREQAREQAREQAREIN0J/P333765bvXq1Y2uf5hERzZvBTvP1qpVK93fHT2/CIiACIiACIiACIiACOSIwJIlS6xmzZoSHYlQ27Bhg5UrV86AVrZs2URO0TEiIAIiIAIiIAIiIAIikLYEfv31V1+0X79+ve2xxx4SHYm8CUADFuJDoiMRYjpGBERABERABERABEQgnQnE85+VXpXNGyHRkc4fGT27CIiACIiACIiACIhATglIdOSU2D/HS3SEgKZTREAEREAEREAEREAE0paAREeIqZfoCAFNp4iACIiACIiACIiACKQtAYmOEFMv0RECmk4RAREQAREQAREQARFIWwISHSGmXqIjBDSdIgIiIAIiIAIiIAIikLYEJDpCTL1ERwhoOkUEREAEREAEREAERCBtCaSM6Ni6davdcccd9tJLL9nKlSutWrVqdskll9gtt9wS2bWQnQzvvPNOGzZsmK1bt85atGhhQ4YMsSZNmkQmcNOmTdajRw97+eWXbePGjda6dWsbOnRoZBMSDuTc6667zkaNGuXndejQwQYNGuR7byRiEh2JUNIxIiACIiACIiACIiACIvAvgZQRHf3797eHH37Yhg8f7iLi888/t86dO1u/fv3s+uuv98Hee++9xnHPP/+8NWzY0H82efJkmzdvnpUpU8aPueqqq2z06NF+TMWKFa179+62du1amzlzphUtWtSPad++vbGrOOIFu/LKK61OnTp+XiIm0ZEIJR0jAiIgAiIgAiIg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BCQ6Qky9REcIaDpFBERABERABERABEQgbQlIdISYeomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JSDREWLqJTpCQNMpIiACIiACIiACIiACaUtAoiPE1Et0hICmU0RABERABERABERABNKWgERHiKmX6AgBTaeIgAiIgAiIgAiIgAikLQGJjhBTL9ERAppOEQEREAEREAEREAERSFsCEh0hpl6iIwQ0nSICIiACIiACIiACIpC2BCQ6Qky9REcIaDpFBERABERABERABEQgbQlIdISYeomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JSDREWLqJTpCQNMpIiACIiACIiACIiACaUtAoiPE1Et0hICmU0RABERABERABERABNKWQMqIjjp16tiiRYsyTETXrl1tyJAh9vfff9udd95pw4YNs3Xr1lmLFi38+02aNImcs2nTJuvRo4e9/PLLtnHjRmvdurUNHTrUatasGTmGc6+77jobNWqUf69Dhw42aNAgK1euXMIvgURHwqh0oAiIgAiIgAiIgAiIgAhYyoiO1atX27Zt2yJTMnv2bGvTpo199NFHdswxx9i9995r/fv3t+eff94aNmxo/fr1s8mTJ9u8efOsTJkyft5VV11lo0eP9mMqVqxo3bt3t7Vr19rMmTOtaNGifkz79u1t6dKlLl6wK6+80hA8nJeoSXQkSkrHiYAIiIAIiIAIiIAIiICljuiInYxu3brZmDFjbMGCBf6j6tWrG9/r3bu3/zdRjSpVqrgY6dKli23YsMEqVapkL774op199tl+zPLly61WrVr2zjvvWLt27WzOnDnWuHFjmzZtmkdKMP592GGH2dy5c61Ro0YJvRMSHQlh0kEiIAIiIAIiIAIiIAIi4ARSJtIRPR+bN292kXHjjTda3759beHChVa/fn374osv7MADD4wc2rFjR0+LGj58uE2YMMHTqYhslC9fPnJMs2bN7NRTT/XUrGeffdavuX79+h2mn2s8/PDD1rlz57ivBQKHr8CAhphB6JQtW1avkgiIgAiIgAiIgAiIgAiIQBYEUlJ0vPbaa3beeefZ4sWLXXxMnTrVWrVqZcuWLfP/DozUKOpAxo8fbyNHjnTREC0OOK5t27ZWt25de/LJJ23AgAGeejV//vwdkJCuxbk33XRTXFR33HGHi5ZYk+jQZ0sEREAEREAEREAEREAEsieQkqKDVKgSJUpE6iwC0UG6VLVq1SJPdcUVV9iSJUts3LhxmYoO6kKIkjzxxBMuOoiKUAcSbQ0aNLDLLrvM+vTpE5eYIh3Zv0g6QgREQAREQAREQAREQAQyI5ByooPIRb169ezNN9800qewnZ1eFQtPNR36QImACIiACIiACIiACIhA4gRSTnSQykQqFBGMYsWK+ZPQLpe0qhtuuMF69erl36Puo3LlyhkKyUeMGGGdOnXyY1asWOHtcmMLyadPn27Nmzf3Y/h3y5YtVUie+DujI0VABERABERABERABEQgRwRSSnRs377d6y/OPfdcu+eee3Z4ELpUDRw40J577jkjHYpUqYkTJ2ZomUvHK+o2KlSo4Ht2rFmzJkPLXNK0EDYYdSG1a9dWy9wcvTY6WAREQAREQAREQAREQAQSJ5BSouO9997z1rbUXFDcHW3B5oCIhejNAZs2bRo57K+//rKePXt6fUf05oB0mgqM7laxmwMOHjxYmwMm/s7oSBEQAREQAREQAREQARHIEYGUEh05GvlOPFg1HTsRvm4tAiIgAiIgAiIgAiJQ4AhIdISYMomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JSDREWLqJTpCQNMpIiACIiACIiACIiACaUtAoiPE1Et0hICmU0RABERABERABERABNKWgERHiKmX6AgBTaeIgAiIgAiIgAiIgAikLQGJjhBTL9ERAppOEQEREAEREAEREAERSFsCEh0hpl6iIwQ0nSICIiACIiACIiACIpC2BCQ6Qky9REcIaDpFBERABERABERABEQgbQlIdISYeomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JSDREWLqJTpCQNMpIiACIiACIiACIiACaUtAoiPE1Et0hICmU0RABERABERABERABNKWgERHiKmX6AgBTaeIgAiIgAiIgAiIgAikLQGJjhBTL9ERAppOEQEREAEREAEREAERSFsCEh0hpl6iIwQ0nSICIiACIiACIiACIpC2BCQ6Qky9REcIaDpFBERABERABERABEQgbQlIdISYeomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JSDREWLqJTpCQNMpIiACIiACIiACIiACaUtAoiPE1Et0hICmU0RABERABERABERABNKWgERHiKmX6AgBTaeIgAiIgAiIgAiIgAikLQGJjhBTL9ERAppOEQEREAEREAEREAERSFsCEh0hpl6iIwQ0nSICIiACIiACIiACIpC2BCQ6Qky9REcIaDpFBERABERABERABEQgbQlIdISYeomOENB0igiIgAiIgAiIgAiIQNoSkOgIMfUSHSGg6RQREAEREAEREAEREIG0JZBSomPZsmXWu3dve/fdd23jxo3WsGFDe+aZZ+zggw/2Cfr777/tzjvvtGHDhtm6deusRYsWNmTIEGvSpElkAjdt2mQ9evSwl19+2a/RunVrGzp0qNWsWTNyDOded911NmrUKP9ehw4dbNCgQVauXLmEXgSJjoQw6SAREAEREAEREAEREAERcAIpIzoQAgceeKAde+yxdtVVV1nlypXthx9+sDp16lj9+vV9sPfee6/179/fnn/+eRck/fr1s8mTJ9u8efOsTJkyfgznjh492o+pWLGide/e3dauXWszZ860okWL+jHt27e3pUuXunjBrrzySr8P5yViEh2JUNIxIiACIiACIiACIiACIvAvgZQRHX369LFPPvnEpkyZEnduiHJUr17dunXr5tEQjKhGlSpVXIx06dLFNmzYYJUqVbIXX3zRzj77bD9m+fLlVqtWLXvnnXesXbt2NmfOHGvcuLFNmzbNIyUY/z7ssMNs7ty51qhRo2zfDYmObBHpABEQAREQAREQAREQARGIEEgZ0YEQQBQQgZg0aZLVqFHDunbtaldccYUPduHChR7x+OKLLzwiEljHjh09LWr48OE2YcIET6cislG+fPnIMc2aNbNTTz3VU7OeffZZu/HGG239+vU7vAZc4+GHH7bOnTtneD0QN3wFBjSEDCKnbNmyep1EQAREQAREQAREQAREQASyIJAyoqNkyZI+TATBWWedZTNmzPCoxpNPPmkXXXSRTZ061Vq1amXUfRDxCIzUqEWLFtn48eNt5MiRLhqiBQLHtW3b1urWrevXGjBggKdezZ8/fwcspGtx7k033ZQB1x133OGCJdYkOvTZEgEREAEREAEREAEREIHsCaSM6ChRooQdcsghLi4Co9j7s88+s08//TQiOkiXqlatWuQYIiFLliyxcePGZSo62rRp41GSJ554wkUHURHqQKKtQYMGdtlllxlpXrGmSEf2L5KOEAEREAEREAEREAEREIHMCKSM6Khdu7YhDp5++unIWB9//HEvFie6sTPTq2LhqaZDHygREAEREAEREAEREAERSJxAyoiO8847zyMW0YXkN9xwg02fPt2jHEEhOd/r1auXP+HmzZu9y1VsIfmIESOsU6dOfsyKFSu8XW5sITnXbd68uR/Dv1u2bKlC8sTfGx0pAiIgAiIgAiIgAiIgAgkTSBnRQRrV4Ycf7rUTCAZqOkidoq3t+eef7w+EuBg4cKA999xzRjoUqVITJ07M0DJ3zJgxXrdRoUIF37NjzZo1GVrmkqZFjQdGXQiRFrXMTfi90YEiIAIiIAIiIAIiIAIikDCBlBEdjBixQCH3ggULvPCbovKgexU/DzYHRCxEbw7YtGnTyAP/9ddf1rNnT6/viN4ckG5TgdHdKnZzwMGDB2tzwIRfGx0oAiIgAiIgAiIgAiIgAokTSCnRkfiwd+6RqunYufx1dxEQAREQAREQAREQgYJFQKIjxHxJdISAplNEQAREQAREQAREQATSloBER4ipl+gIAU2niIAIiIAIiIAIiIAIpC0BiY4QUy/REQKaThEBERABERABERABEUhbAhIdIaZeoiMENJ0iAiIgAiIgAiIgAiKQtgQkOkJMvURHCGg6RQREQAREQAREQAREIG0JSHSEmHqJjhDQdIoIiIAIiIAIiIAIiEDaEpDoCDH1Eh0hoOkUERABERABERABERCBtCUg0RFi6iU6QkDTKSIgAiIgAiIgAiIgAmlLQKIjxNRLdISAplNEQAREQAREQAREQATSloBER4ipl+gIAU2niIAIiIAIiIAIiIAIpC2BhEXHqFGjcgypTZs2VqpUqRyfl+onSHSk+gxpfCIgAiIgAiIgAiIgAqlEIGHRscsuu+Ro3EWKFLEFCxZYvXr1cnReQThYoqMgzJLGKAIiIAIiIAIiIAIikCoEciQ6Vq5caZUrV05o7GXKlLFZs2ZJdCRESweJgAiIgAiIgAiIgAiIQOElkLDo6Ny5sz322GOGmEjErrrqKrv77rttzz33TOTwAnWMIh0Faro0WBEQAREQAREQAREQgZ1MIGHRsZPHmVK3l+hIqenQYERABERABERABERABFKcgERHiAmS6AgBTaeIgAiIgAiIgAiIgAikLYEciY7TTz89W1DFihWzqlWrGp2rTjnllGyPL4gHSHQUxFnTmEVABERABERABERABHYWgRyJDuo6srPt27fbqlWrbNKkSdajRw+76667sjulwP1coqPATZkGLAIiIAIiIAIiIAIisBMJ5Eh05GScY8eONYrJFy9enJPTCsSxEh0FYpo0SBEQAREQAREQAREQgRQhEEp0LFmyxGrVqpXlI6xfv94uvfRSe/PNN1PkUZM3DImO5LHUlURABERABERABERABAo/gVCig40Cy5cvb82aNfOvAw44wP9/06ZNNmTIEHvhhRcKNTmJjkI9vXo4ERABERABERABERCBJBMIJTp++ukn++qrr/zryy+/tC+++MKWL1/uQytbtqytW7cuycNMrctJdKTWfGg0IiACIiACIiACIiACqU0glOiI90iffvqpXXzxxXbvvffaaaedltpPncvRSXTkEqBOFwEREAEREAEREAERSCsCSRMdUHv33XftlltusZkzZxZqiBIdhXp69XAiIAIiIAIpRmDbtm22ZcuWFBuVhiMCIhBNoGjRosbWGUWKFIkLJpTo4INfvHjxDBf8/vvvrWnTpvbXX38V6lmQ6CjU06uHEwEREAERSCECv//+uy1dutT+/vvvFBqVhiICIhCPQOnSpa1atWpWokSJDD8OJTq4UOPGje3AAw/0InL+v3r16jZo0CD78ccfbdSoUYV6JiQ6CvX06uFEQAREQARShAARjgULFhiOTKVKlTJdQU2R4WoYIpC2BFgU2Lx5s61evdr43DZo0MBoPBVtoUTHxx9/bLNmzfIvism//fZb27hxo1+3bdu2dvDBB9v+++/vX/vuu29CE3DHHXfYnXfeucOxVapUsZUrV/r3eBh+PmzYMC9Ub9GihXfKatKkSeQcumexIeHLL7/s42ndurUNHTrUatasGTmGc6+77rqIMOrQoYOLpXLlyiU0Tg6S6EgYlQ4UAREQAREQgdAEyJxgMbNOnTpWqlSp0NfRiSIgAvlD4M8//7RFixZZ3bp1rWTJkrkXHbHDZhfyefPmRTpaBYKEnclRO4kYouONN96wDz74IHI4uWGsbGAUqPfv39+ef/55a9iwofXr188mT57s9y1Tpowfw2aEo0eP9mMqVqxo3bt3t7Vr13qNCdfC2rdv72FaxAt25ZVX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yE/RUaNGDXv//fczRDG+/fZba9u2re/XQSSEf//yyy+FbnIkOgrdlOqBREAEREAEUpBAYRYdderUsW7duvlXQbFhw4bZ3Xff7X7eQw89ZOvXr7f//e9/9tVXXxWUR9A485hA0iMd7Do+ZswYO+aYY3YY+sSJE+2UU06x3377zRYuXOitdHHQC5tJdBS2GdXziIAIiIAIpCIBiY6sZ+WSSy6JOP55PX/4PmyZgNhgI+g99tjDN4HOD9Hx3//+1+81d+5c37Jhr732shNOOMEefPDBDI/NgveHH35on3zyibVs2XKHnz/++OPG108//eTfb9Kkid12223Wvn37vMaXNtdPuuhgE8BPP/3UJ/vQQw/1+o0ZM2ZYjx497PDDDzda6rI54AMPPGCff/55oQMt0VHoplQPJAIiIAIikIIEJDpSR3TMnj3b9ttvP19Urlu3rg/sjjvuyHPR8cEHH7goGDBggHXo0MF9zu+++86FxaBBg3YAtHjxYhcSl156qf3555/21FNP7fDz0aNHe/0xDY+w4cOH2/33329ffvmlnyfLPYGki47ff//dbrjhBnvhhRds69atPsJixYrZxRdfbA8//LDttttukVBbvI0Dc/9IO/cKEh07l7/uLgIiIAIikB4ECqroIBOkadOmPkkjRoxwR/eqq67y1CScZoz0qiuvvNK+//57e/311618+fJ2yy23+PcC++abb+z666/3hd7SpUt7hIFIAxknOPx33nnnDi/CRx995FkoWZ3HCUGEhDpcFpA3b95s55xzjlGzW7x48Qwv1/PPP2+dO3fe4fts/sz3oyMd3Bu/j+sEduqpp1q5cuX8WCIVbBz99NNPe+0v9uabb/q/P/vsMxc1sUb62axZs4xny87gwT1uv/12a968ua1YscJ90qyMTqsID+qSZbknkFTRsWXLFq/VePLJJ6169equeOleVb9+ff8QpINJdKTDLOsZRUAEREAEdjaBDA7MP/6Gbflz5wyreGn7RzEkdG+c75kzZ7oji9gg6wMxgTNOsx0M0UE6OkIEv+qNN96wm2++2aiPpRMoK/UNGjTwFCGc6VWrVtnll19uRx11lDvwLABzfXwSGvtgONAsBmd1HschOt566y139hE1CJ+zzz57h/FFPyiNgaZOnWrHH3+8Z7bUqlXLKlWq5GPPiejgmkOHDrW+ffu6kEDgIDRu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RqzmU3NBShO7bcfujxbMl0RHqry56TuOpIsOUBJKC0Jl/DfhLPLnCNMVdpPoKOwzrOcTAREQARFIBQLpLDpILaLOghQtskooyKb9K21vMzOJjlR4a9N7DHkiOkBKUQ+pVBRNkT+3++67pwVpiY60mGY9pAiIgAiIwE4mkM6iYyej1+1FIBSBPBMdoUZTCE6S6CgEk6hHEAEREAERSHkCEh0pP0UaoAjsQECiI8kvhERHkoHqciIgAiIgAiIQh4BEh14LEShYBCQ6kjxfEh1JBqrLiYAIiIAIiIBEh94BESjwBCQ6kjyFEh1JBqrLiYAIiIAIiIBEh94BESjwBCQ6kjyFEh1JBqrLiYAIiIAIiIBEh94BESjwBPJEdEyZMsU3CGQL+jfeeMNq1KhhL774otWtW9e3uS/MJtFRmGdXzyYCIiACIpAqBFTTkSozoXGIQGIEki462Or+wgsvtPPPP9+FBm1z69WrZ0OHDrUxY8b4ZoGF2SQ6CvPs6tlEQAREQARShUC6io477rjD2FX8q6++8qmI3X/jmGOOsQMOOMD37Uhli32OVB5rmLHlx/MVKVLE3nrrLTv11FPDDDHfz0m66DjwwAN99/GLLrrIN6yZNWuWiw4+HCeccIKtXLky3x8yP28o0ZGftHUvERABERCBdCUg0fGv6NiwYYP9/fffVq5cOf/vvBQdyXSkk3mtVPwM5MfzZSU6tm3bZkceeaRVq1bNCAgExvvStGlTu/jii61fv36R73PMkCFD7Msvv7RNmzZZrVq1rFWrVnbttdcavj32/PPPW+fOnW2fffaxOXPm7ID9tddes7PPPts3qPzpp5/iTknSRUfp0qU9ulGnTp0dRAe7ZrJJIDcszCbRUZhnV88mAiIgAiKQKgQkOv4VHbEWRnRs3rzZSpQoke3UJtORTua1sh34TjggP54vu0jHggULPOo1bNgwz0DCCAoQEPjss88ic967d2978MEH7brrrrPTTjvNatasaYsXL7aPP/7Yv959992I6Ljmmmts11139eylww47LEKWwAJChDHlm+ioX7++13Mcf/zxO4iOF154we655x4XJIXZJDoK8+zq2URABERABFKFQEEVHdu3b7f777/fnnrqKVuyZIlVqVLFunTpYjfffLOjxQEkZWbp0qVWtWpVdxZvu+02K168uP88kfQqVrKxESNGWNGi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\" width=\"797\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Pulse energy [J]: 1.8343257904052732e-05\n",
+      "Fluence [mJ/cm^2]: 57.26588845276785\n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "/* global mpl */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "mpl.get_websocket_type = function () {\n",
+       "    if (typeof WebSocket !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof MozWebSocket !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert(\n",
+       "            'Your browser does not have WebSocket support. ' +\n",
+       "                'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "                'Firefox 4 and 5 are also supported but you ' +\n",
+       "                'have to enable WebSockets in about:config.'\n",
+       "        );\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = this.ws.binaryType !== undefined;\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById('mpl-warnings');\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent =\n",
+       "                'This browser does not support binary websocket messages. ' +\n",
+       "                'Performance may be slow.';\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = document.createElement('div');\n",
+       "    this.root.setAttribute('style', 'display: inline-block');\n",
+       "    this._root_extra_style(this.root);\n",
+       "\n",
+       "    parent_element.appendChild(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen = function () {\n",
+       "        fig.send_message('supports_binary', { value: fig.supports_binary });\n",
+       "        fig.send_message('send_image_mode', {});\n",
+       "        if (fig.ratio !== 1) {\n",
+       "            fig.send_message('set_device_pixel_ratio', {\n",
+       "                device_pixel_ratio: fig.ratio,\n",
+       "            });\n",
+       "        }\n",
+       "        fig.send_message('refresh', {});\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onload = function () {\n",
+       "        if (fig.image_mode === 'full') {\n",
+       "            // Full images could contain transparency (where diff images\n",
+       "            // almost always do), so we need to clear the canvas so that\n",
+       "            // there is no ghosting.\n",
+       "            fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "        }\n",
+       "        fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "    };\n",
+       "\n",
+       "    this.imageObj.onunload = function () {\n",
+       "        fig.ws.close();\n",
+       "    };\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function () {\n",
+       "    var titlebar = document.createElement('div');\n",
+       "    titlebar.classList =\n",
+       "        'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
+       "    var titletext = document.createElement('div');\n",
+       "    titletext.classList = 'ui-dialog-title';\n",
+       "    titletext.setAttribute(\n",
+       "        'style',\n",
+       "        'width: 100%; text-align: center; padding: 3px;'\n",
+       "    );\n",
+       "    titlebar.appendChild(titletext);\n",
+       "    this.root.appendChild(titlebar);\n",
+       "    this.header = titletext;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = (this.canvas_div = document.createElement('div'));\n",
+       "    canvas_div.setAttribute(\n",
+       "        'style',\n",
+       "        'border: 1px solid #ddd;' +\n",
+       "            'box-sizing: content-box;' +\n",
+       "            'clear: both;' +\n",
+       "            'min-height: 1px;' +\n",
+       "            'min-width: 1px;' +\n",
+       "            'outline: 0;' +\n",
+       "            'overflow: hidden;' +\n",
+       "            'position: relative;' +\n",
+       "            'resize: both;'\n",
+       "    );\n",
+       "\n",
+       "    function on_keyboard_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.key_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keydown',\n",
+       "        on_keyboard_event_closure('key_press')\n",
+       "    );\n",
+       "    canvas_div.addEventListener(\n",
+       "        'keyup',\n",
+       "        on_keyboard_event_closure('key_release')\n",
+       "    );\n",
+       "\n",
+       "    this._canvas_extra_style(canvas_div);\n",
+       "    this.root.appendChild(canvas_div);\n",
+       "\n",
+       "    var canvas = (this.canvas = document.createElement('canvas'));\n",
+       "    canvas.classList.add('mpl-canvas');\n",
+       "    canvas.setAttribute('style', 'box-sizing: content-box;');\n",
+       "\n",
+       "    this.context = canvas.getContext('2d');\n",
+       "\n",
+       "    var backingStore =\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        this.context.webkitBackingStorePixelRatio ||\n",
+       "        this.context.mozBackingStorePixelRatio ||\n",
+       "        this.context.msBackingStorePixelRatio ||\n",
+       "        this.context.oBackingStorePixelRatio ||\n",
+       "        this.context.backingStorePixelRatio ||\n",
+       "        1;\n",
+       "\n",
+       "    this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
+       "        'canvas'\n",
+       "    ));\n",
+       "    rubberband_canvas.setAttribute(\n",
+       "        'style',\n",
+       "        'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
+       "    );\n",
+       "\n",
+       "    // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
+       "    if (this.ResizeObserver === undefined) {\n",
+       "        if (window.ResizeObserver !== undefined) {\n",
+       "            this.ResizeObserver = window.ResizeObserver;\n",
+       "        } else {\n",
+       "            var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
+       "            this.ResizeObserver = obs.ResizeObserver;\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
+       "        var nentries = entries.length;\n",
+       "        for (var i = 0; i < nentries; i++) {\n",
+       "            var entry = entries[i];\n",
+       "            var width, height;\n",
+       "            if (entry.contentBoxSize) {\n",
+       "                if (entry.contentBoxSize instanceof Array) {\n",
+       "                    // Chrome 84 implements new version of spec.\n",
+       "                    width = entry.contentBoxSize[0].inlineSize;\n",
+       "                    height = entry.contentBoxSize[0].blockSize;\n",
+       "                } else {\n",
+       "                    // Firefox implements old version of spec.\n",
+       "                    width = entry.contentBoxSize.inlineSize;\n",
+       "                    height = entry.contentBoxSize.blockSize;\n",
+       "                }\n",
+       "            } else {\n",
+       "                // Chrome <84 implements even older version of spec.\n",
+       "                width = entry.contentRect.width;\n",
+       "                height = entry.contentRect.height;\n",
+       "            }\n",
+       "\n",
+       "            // Keep the size of the canvas and rubber band canvas in sync with\n",
+       "            // the canvas container.\n",
+       "            if (entry.devicePixelContentBoxSize) {\n",
+       "                // Chrome 84 implements new version of spec.\n",
+       "                canvas.setAttribute(\n",
+       "                    'width',\n",
+       "                    entry.devicePixelContentBoxSize[0].inlineSize\n",
+       "                );\n",
+       "                canvas.setAttribute(\n",
+       "                    'height',\n",
+       "                    entry.devicePixelContentBoxSize[0].blockSize\n",
+       "                );\n",
+       "            } else {\n",
+       "                canvas.setAttribute('width', width * fig.ratio);\n",
+       "                canvas.setAttribute('height', height * fig.ratio);\n",
+       "            }\n",
+       "            canvas.setAttribute(\n",
+       "                'style',\n",
+       "                'width: ' + width + 'px; height: ' + height + 'px;'\n",
+       "            );\n",
+       "\n",
+       "            rubberband_canvas.setAttribute('width', width);\n",
+       "            rubberband_canvas.setAttribute('height', height);\n",
+       "\n",
+       "            // And update the size in Python. We ignore the initial 0/0 size\n",
+       "            // that occurs as the element is placed into the DOM, which should\n",
+       "            // otherwise not happen due to the minimum size styling.\n",
+       "            if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
+       "                fig.request_resize(width, height);\n",
+       "            }\n",
+       "        }\n",
+       "    });\n",
+       "    this.resizeObserverInstance.observe(canvas_div);\n",
+       "\n",
+       "    function on_mouse_event_closure(name) {\n",
+       "        return function (event) {\n",
+       "            return fig.mouse_event(event, name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousedown',\n",
+       "        on_mouse_event_closure('button_press')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseup',\n",
+       "        on_mouse_event_closure('button_release')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'dblclick',\n",
+       "        on_mouse_event_closure('dblclick')\n",
+       "    );\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mousemove',\n",
+       "        on_mouse_event_closure('motion_notify')\n",
+       "    );\n",
+       "\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseenter',\n",
+       "        on_mouse_event_closure('figure_enter')\n",
+       "    );\n",
+       "    rubberband_canvas.addEventListener(\n",
+       "        'mouseleave',\n",
+       "        on_mouse_event_closure('figure_leave')\n",
+       "    );\n",
+       "\n",
+       "    canvas_div.addEventListener('wheel', function (event) {\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        on_mouse_event_closure('scroll')(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.appendChild(canvas);\n",
+       "    canvas_div.appendChild(rubberband_canvas);\n",
+       "\n",
+       "    this.rubberband_context = rubberband_canvas.getContext('2d');\n",
+       "    this.rubberband_context.strokeStyle = '#000000';\n",
+       "\n",
+       "    this._resize_canvas = function (width, height, forward) {\n",
+       "        if (forward) {\n",
+       "            canvas_div.style.width = width + 'px';\n",
+       "            canvas_div.style.height = height + 'px';\n",
+       "        }\n",
+       "    };\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
+       "        event.preventDefault();\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus() {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'mpl-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'mpl-button-group';\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'mpl-button-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        var button = (fig.buttons[name] = document.createElement('button'));\n",
+       "        button.classList = 'mpl-widget';\n",
+       "        button.setAttribute('role', 'button');\n",
+       "        button.setAttribute('aria-disabled', 'false');\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "\n",
+       "        var icon_img = document.createElement('img');\n",
+       "        icon_img.src = '_images/' + image + '.png';\n",
+       "        icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
+       "        icon_img.alt = tooltip;\n",
+       "        button.appendChild(icon_img);\n",
+       "\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker = document.createElement('select');\n",
+       "    fmt_picker.classList = 'mpl-widget';\n",
+       "    toolbar.appendChild(fmt_picker);\n",
+       "    this.format_dropdown = fmt_picker;\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = document.createElement('option');\n",
+       "        option.selected = fmt === mpl.default_extension;\n",
+       "        option.innerHTML = fmt;\n",
+       "        fmt_picker.appendChild(option);\n",
+       "    }\n",
+       "\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function (type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function () {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1], msg['forward']);\n",
+       "        fig.send_message('refresh', {});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
+       "    var x0 = msg['x0'] / fig.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
+       "    var x1 = msg['x1'] / fig.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0,\n",
+       "        0,\n",
+       "        fig.canvas.width / fig.ratio,\n",
+       "        fig.canvas.height / fig.ratio\n",
+       "    );\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
+       "    fig.rubberband_canvas.style.cursor = msg['cursor'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function (fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
+       "    for (var key in msg) {\n",
+       "        if (!(key in fig.buttons)) {\n",
+       "            continue;\n",
+       "        }\n",
+       "        fig.buttons[key].disabled = !msg[key];\n",
+       "        fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
+       "    if (msg['mode'] === 'PAN') {\n",
+       "        fig.buttons['Pan'].classList.add('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    } else if (msg['mode'] === 'ZOOM') {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.add('active');\n",
+       "    } else {\n",
+       "        fig.buttons['Pan'].classList.remove('active');\n",
+       "        fig.buttons['Zoom'].classList.remove('active');\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message('ack', {});\n",
+       "};\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function (fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            var img = evt.data;\n",
+       "            if (img.type !== 'image/png') {\n",
+       "                /* FIXME: We get \"Resource interpreted as Image but\n",
+       "                 * transferred with MIME type text/plain:\" errors on\n",
+       "                 * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "                 * to be part of the websocket stream */\n",
+       "                img.type = 'image/png';\n",
+       "            }\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src\n",
+       "                );\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                img\n",
+       "            );\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        } else if (\n",
+       "            typeof evt.data === 'string' &&\n",
+       "            evt.data.slice(0, 21) === 'data:image/png;base64'\n",
+       "        ) {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig['handle_' + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\n",
+       "                \"No handler for the '\" + msg_type + \"' message type: \",\n",
+       "                msg\n",
+       "            );\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\n",
+       "                    \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
+       "                    e,\n",
+       "                    e.stack,\n",
+       "                    msg\n",
+       "                );\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "};\n",
+       "\n",
+       "// from https://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function (e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e) {\n",
+       "        e = window.event;\n",
+       "    }\n",
+       "    if (e.target) {\n",
+       "        targ = e.target;\n",
+       "    } else if (e.srcElement) {\n",
+       "        targ = e.srcElement;\n",
+       "    }\n",
+       "    if (targ.nodeType === 3) {\n",
+       "        // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "    }\n",
+       "\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    var boundingRect = targ.getBoundingClientRect();\n",
+       "    var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
+       "    var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
+       "\n",
+       "    return { x: x, y: y };\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * https://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys(original) {\n",
+       "    return Object.keys(original).reduce(function (obj, key) {\n",
+       "        if (typeof original[key] !== 'object') {\n",
+       "            obj[key] = original[key];\n",
+       "        }\n",
+       "        return obj;\n",
+       "    }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function (event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event);\n",
+       "\n",
+       "    if (name === 'button_press') {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * this.ratio;\n",
+       "    var y = canvas_pos.y * this.ratio;\n",
+       "\n",
+       "    this.send_message(name, {\n",
+       "        x: x,\n",
+       "        y: y,\n",
+       "        button: event.button,\n",
+       "        step: event.step,\n",
+       "        guiEvent: simpleKeys(event),\n",
+       "    });\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function (event, name) {\n",
+       "    // Prevent repeat events\n",
+       "    if (name === 'key_press') {\n",
+       "        if (event.key === this._key) {\n",
+       "            return;\n",
+       "        } else {\n",
+       "            this._key = event.key;\n",
+       "        }\n",
+       "    }\n",
+       "    if (name === 'key_release') {\n",
+       "        this._key = null;\n",
+       "    }\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.key !== 'Control') {\n",
+       "        value += 'ctrl+';\n",
+       "    }\n",
+       "    else if (event.altKey && event.key !== 'Alt') {\n",
+       "        value += 'alt+';\n",
+       "    }\n",
+       "    else if (event.shiftKey && event.key !== 'Shift') {\n",
+       "        value += 'shift+';\n",
+       "    }\n",
+       "\n",
+       "    value += 'k' + event.key;\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
+       "    return false;\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
+       "    if (name === 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message('toolbar_button', { name: name });\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "\n",
+       "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
+       "// prettier-ignore\n",
+       "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";/* global mpl */\n",
+       "\n",
+       "var comm_websocket_adapter = function (comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.binaryType = comm.kernel.ws.binaryType;\n",
+       "    ws.readyState = comm.kernel.ws.readyState;\n",
+       "    function updateReadyState(_event) {\n",
+       "        if (comm.kernel.ws) {\n",
+       "            ws.readyState = comm.kernel.ws.readyState;\n",
+       "        } else {\n",
+       "            ws.readyState = 3; // Closed state.\n",
+       "        }\n",
+       "    }\n",
+       "    comm.kernel.ws.addEventListener('open', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('close', updateReadyState);\n",
+       "    comm.kernel.ws.addEventListener('error', updateReadyState);\n",
+       "\n",
+       "    ws.close = function () {\n",
+       "        comm.close();\n",
+       "    };\n",
+       "    ws.send = function (m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function (msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        var data = msg['content']['data'];\n",
+       "        if (data['blob'] !== undefined) {\n",
+       "            data = {\n",
+       "                data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
+       "            };\n",
+       "        }\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(data);\n",
+       "    });\n",
+       "    return ws;\n",
+       "};\n",
+       "\n",
+       "mpl.mpl_figure_comm = function (comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = document.getElementById(id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm);\n",
+       "\n",
+       "    function ondownload(figure, _format) {\n",
+       "        window.open(figure.canvas.toDataURL());\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element;\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error('Failed to find cell for figure', id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.cell_info[0].output_area.element.on(\n",
+       "        'cleared',\n",
+       "        { fig: fig },\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function (fig, msg) {\n",
+       "    var width = fig.canvas.width / fig.ratio;\n",
+       "    fig.cell_info[0].output_area.element.off(\n",
+       "        'cleared',\n",
+       "        fig._remove_fig_handler\n",
+       "    );\n",
+       "    fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable();\n",
+       "    fig.parent_element.innerHTML =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "    fig.close_ws(fig, msg);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function (fig, msg) {\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width / this.ratio;\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] =\n",
+       "        '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function () {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message('ack', {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () {\n",
+       "        fig.push_to_output();\n",
+       "    }, 1000);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function () {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var toolbar = document.createElement('div');\n",
+       "    toolbar.classList = 'btn-toolbar';\n",
+       "    this.root.appendChild(toolbar);\n",
+       "\n",
+       "    function on_click_closure(name) {\n",
+       "        return function (_event) {\n",
+       "            return fig.toolbar_button_onclick(name);\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    function on_mouseover_closure(tooltip) {\n",
+       "        return function (event) {\n",
+       "            if (!event.currentTarget.disabled) {\n",
+       "                return fig.toolbar_button_onmouseover(tooltip);\n",
+       "            }\n",
+       "        };\n",
+       "    }\n",
+       "\n",
+       "    fig.buttons = {};\n",
+       "    var buttonGroup = document.createElement('div');\n",
+       "    buttonGroup.classList = 'btn-group';\n",
+       "    var button;\n",
+       "    for (var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            /* Instead of a spacer, we start a new button group. */\n",
+       "            if (buttonGroup.hasChildNodes()) {\n",
+       "                toolbar.appendChild(buttonGroup);\n",
+       "            }\n",
+       "            buttonGroup = document.createElement('div');\n",
+       "            buttonGroup.classList = 'btn-group';\n",
+       "            continue;\n",
+       "        }\n",
+       "\n",
+       "        button = fig.buttons[name] = document.createElement('button');\n",
+       "        button.classList = 'btn btn-default';\n",
+       "        button.href = '#';\n",
+       "        button.title = name;\n",
+       "        button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
+       "        button.addEventListener('click', on_click_closure(method_name));\n",
+       "        button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
+       "        buttonGroup.appendChild(button);\n",
+       "    }\n",
+       "\n",
+       "    if (buttonGroup.hasChildNodes()) {\n",
+       "        toolbar.appendChild(buttonGroup);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = document.createElement('span');\n",
+       "    status_bar.classList = 'mpl-message pull-right';\n",
+       "    toolbar.appendChild(status_bar);\n",
+       "    this.message = status_bar;\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = document.createElement('div');\n",
+       "    buttongrp.classList = 'btn-group inline pull-right';\n",
+       "    button = document.createElement('button');\n",
+       "    button.classList = 'btn btn-mini btn-primary';\n",
+       "    button.href = '#';\n",
+       "    button.title = 'Stop Interaction';\n",
+       "    button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
+       "    button.addEventListener('click', function (_evt) {\n",
+       "        fig.handle_close(fig, {});\n",
+       "    });\n",
+       "    button.addEventListener(\n",
+       "        'mouseover',\n",
+       "        on_mouseover_closure('Stop Interaction')\n",
+       "    );\n",
+       "    buttongrp.appendChild(button);\n",
+       "    var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
+       "    titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._remove_fig_handler = function (event) {\n",
+       "    var fig = event.data.fig;\n",
+       "    if (event.target !== this) {\n",
+       "        // Ignore bubbled events from children.\n",
+       "        return;\n",
+       "    }\n",
+       "    fig.close_ws(fig, {});\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function (el) {\n",
+       "    el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function (el) {\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.setAttribute('tabindex', 0);\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    } else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which === 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        // select the cell after this one\n",
+       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
+       "        IPython.notebook.select(index + 1);\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "};\n",
+       "\n",
+       "mpl.find_output_cell = function (html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i = 0; i < ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code') {\n",
+       "            for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] === html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel !== null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target(\n",
+       "        'matplotlib',\n",
+       "        mpl.mpl_figure_comm\n",
+       "    );\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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oCjkk0ACJOCZgBFt5cqVk4ceekj9HTt2TD777DP59NNPJU+ePPLxxx/LzTff7GosikJX2M7aSUYUTp06Vdq3b+/5OmKJQqvTMmXK6I+MFHpGTQfZnABFYTZ/AHj7JOAHASPaGjVqJIsWLUrn8plnnpFhw4ZJ3bp15ZNPPnE1HEWhK2xn7SSKwrOGngOTgCcCFIWe8PFkEiABE6FBzl8sUbh//365/PLLJX/+/Bo9TCQYli9fLvXq1ZPnnntOBg8eHIEbTxTOnDlTlxC/++47+eOPP6Rw4cJSpUoVeeyxx6R58+bpJmflypUyevRoSUtLk6NHj0rp0qUFuW4DBgyQCy64wPZE2vVjvZe7775bUlNTZc2aNZIzZ065/fbb5eWXXxYT4Yoe3M4YVv/gDl5r166V33//Xc6cOaMu//nnH73nyZMny549e6RkyZLSqVMnvW9Eda05mhDsuK7u3bvLhAkTMvD49ttvlS3uZe7cuQl5JROFQ4YMkUGDBsmyZct0TKvNmDFDWrVqJePHj5cePXroR4wU2n48eSAJeCJAUegJH08mARJIJgoPHDiguYV+i8KJEyeqgClWrJg0a9ZMLr30Uvnll19k3bp1ct1116n4NPbqq6/qsZdccokeC/G4fv16WbFihS5pQxDlzp076WQ68WNE25133qn+ESm98sorZePGjbqUDlH29ddfS968edONa3cM479hw4Zi/l69enXZuXNnpKijXbt28vbbb+tYyO/766+/BKLrhhtukHnz5mUo3EHeHkQ8OObLly/ddfXq1UuFLM676667PInCFi1ayKxZswR5gZgTq0GkjxgxQtMOTLoBRWHSR5MHkIAvBCgKfcFIJySQvQk4WT72K1J47bXXqqjavXu3ijyr/frrryoSYYhwQSxdffXVsnTpUilUqFDk0JEjR2oE78UXX5Snn3464SQ69WOEGpyi8hbROWNGrL377rvSunXryP93MobV/5QpU6Rjx47prh9RuAYNGkitWrUEkUcj8vbt2yfXXHON4L/R1dzg0KdPH3nzzTcF12js1KlTUqJECc0N3bFjh+TKlcuTKCxbtqxGM3/++ecMfho3biwfffSRRn7xRQJGUZi93y+8+8wjQFGYeaw5EgmcswSSFZogGobo2E033eTb8jFE4Q8//KCiEJWn8ezJJ5/UJeZVq1bJLbfcku6wf//9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\" width=\"645\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "f_scs = tb.calibrate_xgm(run, ds, plot=True)\n",
+    "f_xtd10 = tb.calibrate_xgm(run, ds, xgm='SCS')\n",
+    "\n",
+    "pulse_energy = ds['SCS_SA3'].mean().values*f_scs*1e-6 #average energy in J\n",
+    "ds['pulse_energy'] = ds['SCS_SA3']*f_scs*1e-6\n",
+    "ds['fluence'] = 2*ds['pulse_energy']/(np.pi*w0_x*w0_y)\n",
+    "print('Pulse energy [J]:',pulse_energy)\n",
+    "F0 = 2*pulse_energy/(np.pi*w0_x*w0_y)\n",
+    "print('Fluence [mJ/cm^2]:', F0*1e-1)\n",
+    "\n",
+    "plt.figure()\n",
+    "plt.hist(ds['pulse_energy'].values.flatten()*1e6,\n",
+    "         bins=50, rwidth=0.7, color='orange', label='Run 645')\n",
+    "plt.axvline(pulse_energy*1e6, color='r', lw=2, ls='--', label='average')\n",
+    "plt.xlabel('Pulse energy [$\\mu$J]', size=14)\n",
+    "plt.ylabel('Number of pulses', size=14)\n",
+    "plt.legend()\n",
+    "ax = plt.gca()\n",
+    "plt.twiny()\n",
+    "plt.xlim(np.array(ax.get_xlim())*2e-6/(np.pi*w0_x*w0_y)*1e-1)\n",
+    "plt.xlabel('Fluence [mJ/cm$^2$]', labelpad=10, size=14)\n",
+    "plt.tight_layout()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "xfel (202301; Python 3.9)",
+   "language": "python",
+   "name": "xfel-202301"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.16"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/doc/howtos.rst b/doc/howtos.rst
index 5330f49..353cb82 100644
--- a/doc/howtos.rst
+++ b/doc/howtos.rst
@@ -19,8 +19,13 @@ Extracting peaks from digitizers
 * :doc:`How to extract peaks from digitizer traces <How to extract peaks from digitizer traces>`.
 
 
+Determining the FEL or OL beam size and the fluence
+---------------------------------------------------
+* :doc:`Knife-edge scan and fluence calculation <Knife edge scan and fluence calculation>`.
+
+
 Finding time overlap by transient reflectivity
------------------------------------------------------------------
+----------------------------------------------
 
 Transient reflectivity of the optical laser measured on a large bandgap material pumped by the FEL is often used at SCS to find the time overlap between the two beams. The example notebook 
 
diff --git a/notebook_examples/Knife edge scan and fluence calculation.ipynb b/notebook_examples/Knife edge scan and fluence calculation.ipynb
deleted file mode 100644
index ea8d110..0000000
--- a/notebook_examples/Knife edge scan and fluence calculation.ipynb	
+++ /dev/null
@@ -1,389 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Peak fluence calculation using knife-edge scans:\n",
-    "\n",
-    "\n",
-    "\n",
-    "For a Gaussian beam at the waist position, the intensity distribution is defined as:\n",
-    "\n",
-    "$I(x,y) = I_0 e^{\\left(-\\frac{2x^2}{w_{0,x}^2} -\\frac{2y^2}{w_{0,y}^2}\\right)}$\n",
-    "\n",
-    "with $I_0$ the peak intensity of the Gaussian beam, $w_{0,x}$ and $w_{0,y}$ the beam radii at $1/e^2$ in $x$ and $y$ axes, respectively.\n",
-    "\n",
-    "Let's consider a knife-edge \"corner\" at position $(x,y)$ that blocks the beam for $x^\\prime < x$ and $y^\\prime < y$. The detected power behind the knife-edge is given by:\n",
-    "\n",
-    "$P(x,y) = I_0 \\int_{x}^\\infty \\int_{y}^\\infty e^{\\left(-\\frac{2x^{\\prime 2}}{w_{0,x}^2} -\\frac{2y^{\\prime 2}}{w_{0,y}^2}\\right)} dx^\\prime dy^\\prime $\n",
-    "\n",
-    "Now let's consider a purely vertical knife-edge. The power in the $y$ axis is integrated from $-\\infty$ to $\\infty$, thus:\n",
-    "\n",
-    "$P(x) = I_0 \\sqrt\\frac{\\pi}{2}w_{0,y}\\int_x^\\infty e^{\\left(-\\frac{2x^{\\prime 2}}{w_{0,x}^2}\\right)}dx^\\prime$.\n",
-    "\n",
-    "Similarly, for a purely horizontal knife-edge:\n",
-    "\n",
-    "$P(y) = I_0 \\sqrt\\frac{\\pi}{2}w_{0,x}\\int_y^\\infty e^{\\left(-\\frac{2y^{\\prime 2}}{w_{0,y}^2}\\right)}dy^\\prime$\n",
-    "\n",
-    "By fitting the knife edge scans to these functions, we extract the waist in $x$ and $y$ axes.\n",
-    "\n",
-    "The total power of one pulse is then:\n",
-    "\n",
-    "$P_{TOT} = \\frac{I_0 \\pi w_{0,x} w_{0,y}}{2}$\n",
-    "\n",
-    "Hence, the peak fluence, defined as $F_0=I_0\\tau$ with $\\tau$ the pulse duration of the laser, is given as:\n",
-    "\n",
-    "$F_0 = \\frac{2 E_P}{\\pi w_{0,x} w_{0,y}}$\n",
-    "\n",
-    "where $E_P$ is the pulse energy.\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import numpy as np\n",
-    "%matplotlib notebook\n",
-    "import matplotlib.pyplot as plt\n",
-    "\n",
-    "import matplotlib as mpl\n",
-    "mpl.rcParams['font.size'] = 12.0\n",
-    "mpl.rcParams['savefig.dpi'] = 100\n",
-    "mpl.rcParams['figure.dpi'] = 100\n",
-    "\n",
-    "import toolbox_scs as tb\n",
-    "import toolbox_scs.detectors as tbdet\n",
-    "import toolbox_scs.routines as tbr\n",
-    "\n",
-    "import logging\n",
-    "logging.basicConfig(level=logging.WARNING)\n",
-    "log_root = logging.getLogger(__name__)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Optical laser beam profile and fluence"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Knife-edge measurement (OL)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Load scanning motor and laser photodiode data"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "The laser used in these knife-edge scans was the SCS backup laser, for which there was no bunch pattern table, so, whenever a function needs the bunch pattern as input argument, we set it to **'None'**. If the PP laser is used, then the corresponding bunch pattern key is **'scs_ppl'**."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "proposal = 900094\n",
-    "runNB = 384\n",
-    "fields = [\"FastADC4raw\", \"scannerX\"]\n",
-    "runX, dsX = tb.load(proposal, runNB, fields, laser_bp='None')\n",
-    "\n",
-    "fields = [\"FastADC4raw\", \"scannerY\"]\n",
-    "runNB = 385\n",
-    "runY, dsY = tb.load(proposal, runNB, fields, laser_bp='None')\n"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Check diode traces and region of integration for peak calculations"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Using **'show_all=True'** displays the entire trace and all integration regions. We can then zoom and pan in the interactive figure."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "paramsX = tbdet.check_peak_params(runX, 'FastADC4raw', show_all=True, bunchPattern='None')\n",
-    "print(paramsX)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "using the default **'show_all=False'** parameter only shows the first and last pulses of the trace"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "tbdet.check_peak_params(runX, 'FastADC4raw', bunchPattern='None')"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Plot intensity vs. knife-edge positions, fit with erfc function"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {
-    "scrolled": false
-   },
-   "outputs": [],
-   "source": [
-    "w0_x = tbr.knife_edge(dsX, axisKey='scannerX', plot=True)[0]*1e-3\n",
-    "w0_y = tbr.knife_edge(dsY, axisKey='scannerY', plot=True)[0]*1e-3\n",
-    "\n",
-    "print('X-FWHM [um]:', w0_x * np.sqrt(2*np.log(2))*1e6)\n",
-    "print('Y-FWHM [um]:', w0_y * np.sqrt(2*np.log(2))*1e6)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Fluence calculation (OL)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### OL power measurement "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "#measurement performed in Exp Hutch before in-coupling window\n",
-    "rel_powers = np.array([100, 75, 50, 25, 15, 12, 10, 8, 6, 4, 2, 1, 0.75, 0.5, 0.25, 0.1, 0])\n",
-    "powers = np.array([505, 384, 258, 130, 81, 67, 56.5, 45.8, 35.6, 24.1, 14.1, 9.3, 8.0, 6.5, 4.8, 4.1, 1.0])*1e-3 #in W\n",
-    "\n",
-    "rep_rate = 10\n",
-    "npulses = 336"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Fluence vs. laser power"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "pulse_energies = powers/(rep_rate*npulses)\n",
-    "print(pulse_energies*1e6)\n",
-    "fluences = 2*pulse_energies*1e3/(np.pi*w0_x*w0_y*1e4)\n",
-    "print(fluences)\n",
-    "plt.figure()\n",
-    "plt.plot(rel_powers, fluences, 'o-', ms=4)\n",
-    "plt.grid()\n",
-    "plt.ylabel('Peak fluence [mJ/cm$^2$]')\n",
-    "plt.xlabel('Laser power [%]')\n",
-    "\n",
-    "e_fit = np.polyfit(rel_powers, pulse_energies*1e6, 1)\n",
-    "plt.figure()\n",
-    "plt.plot(rel_powers, pulse_energies*1e6, 'o-', \n",
-    "         ms=4, label='E[$\\mu$J] = {:.3f} x power [%] + {:.3f}'.format(e_fit[0], e_fit[1]))\n",
-    "plt.grid()\n",
-    "plt.ylabel('Pulse energy [$\\mu$J]')\n",
-    "plt.xlabel('Laser power [%]')\n",
-    "plt.plot(rel_powers,rel_powers*e_fit[0]+ e_fit[1])\n",
-    "plt.legend()\n",
-    "print(e_fit)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# X-ray beam profile and fluence"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Knife-edge measurement"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Load runs with horizontal and vertical scans, normalize the transmitted signal by XGM"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "proposal = 900094\n",
-    "fields = [\"MCP2apd\", \"scannerX\", \"SCS_SA3\"]\n",
-    "runNB = 687\n",
-    "runX, dsX = tb.load(proposal, runNB, fields)\n",
-    "dsX['Tr'] = -dsX['MCP2peaks'] / dsX['SCS_SA3']\n",
-    "\n",
-    "fields = [\"MCP2apd\", \"scannerY\", \"SCS_SA3\"]\n",
-    "runNB = 688\n",
-    "runY, dsY = tb.load(proposal, runNB, fields)\n",
-    "dsY['Tr'] = -dsY['MCP2peaks'] / dsY['SCS_SA3']\n",
-    "\n",
-    "dsY"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Fit scan to erfc function and plot"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "w0_x = tbr.knife_edge(dsX, axisKey='scannerX', signalKey='Tr', plot=True)[0]*1e-3\n",
-    "w0_y = tbr.knife_edge(dsY, axisKey='scannerY', signalKey='Tr', plot=True)[0]*1e-3\n",
-    "print(w0_x, w0_y)\n",
-    "\n",
-    "print('X-FWHM [um]:', w0_x * np.sqrt(2*np.log(2))*1e6)\n",
-    "print('Y-FWHM [um]:', w0_y * np.sqrt(2*np.log(2))*1e6)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Fluence calculation"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Load XGM data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "proposal = 900094\n",
-    "runNB = 647\n",
-    "run, ds = tb.load(proposal, runNB, 'SCS_SA3')\n",
-    "ds"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Calibrate XGM fast data using photon flux and plot"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "f_scs = tbdet.calibrate_xgm(run, ds, plot=True)\n",
-    "f_xtd10 = tbdet.calibrate_xgm(run, ds, xgm='SCS')\n",
-    "\n",
-    "pulse_energy = ds['SCS_SA3'].mean().values*f_scs*1e-6 #average energy in J\n",
-    "ds['pulse_energy'] = ds['SCS_SA3']*f_scs*1e-6\n",
-    "ds['fluence'] = 2*ds['pulse_energy']/(np.pi*w0_x*w0_y)\n",
-    "print('Pulse energy [J]:',pulse_energy)\n",
-    "F0 = 2*pulse_energy/(np.pi*w0_x*w0_y)\n",
-    "print('Fluence [mJ/cm^2]:', F0*1e-1)\n",
-    "\n",
-    "plt.figure()\n",
-    "plt.hist(ds['pulse_energy'].values.flatten()*1e6, bins=50, rwidth=0.7, color='orange', label='Run 645')\n",
-    "plt.axvline(pulse_energy*1e6, color='r', lw=2, ls='--')\n",
-    "plt.xlabel('Pulse energy [$\\mu$J]', size=14)\n",
-    "plt.ylabel('Number of pulses', size=14)\n",
-    "#plt.xlim(0,50)\n",
-    "plt.legend()\n",
-    "ax = plt.gca()\n",
-    "plt.twiny()\n",
-    "plt.xlim(np.array(ax.get_xlim())*2e-6/(np.pi*w0_x*w0_y)*1e-1)\n",
-    "plt.xlabel('Fluence [mJ/cm$^2$]', labelpad=10, size=14)\n",
-    "plt.tight_layout()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "xfel",
-   "language": "python",
-   "name": "xfel"
-  },
-  "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.7.3"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
-- 
GitLab