Skip to content

Instantly share code, notes, and snippets.

@bmcfee
Created June 1, 2016 02:07
Show Gist options
  • Save bmcfee/d02bad6e74e7a1f1300c526f14273854 to your computer and use it in GitHub Desktop.
Save bmcfee/d02bad6e74e7a1f1300c526f14273854 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib nbagg"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import mir_eval\n",
"import mir_eval.display"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import matplotlib.style\n",
"matplotlib.style.use('seaborn-muted')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import glob"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import os"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ISO_BASE = '/home/bmcfee/data/beatles_iso/'\n",
"SALAMI_BASE = '/home/bmcfee/data/SALAMI/'\n",
"MIREVAL_BASE = '/home/bmcfee/git/mir_eval/'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"audfiles = sorted(glob.glob(os.path.join(ISO_BASE, 'audio/*/*/*.flac')))\n",
"segfiles = sorted(glob.glob(os.path.join(ISO_BASE, 'seglab/*/*/*.lab')))\n",
"chordfiles = sorted(glob.glob(os.path.join(ISO_BASE,'chordlab/*/*/*.lab')))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\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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\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"k = 24\n",
"\n",
"fig = plt.figure()\n",
"plt.subplot(3,1,1)\n",
"ints, labs = mir_eval.io.load_labeled_intervals(segfiles[k])\n",
"mir_eval.display.segments(ints, labs, text=True)\n",
"\n",
"plt.legend(frameon=True, ncol=3)\n",
"plt.xticks([])\n",
"\n",
"plt.subplot(3,1,2)\n",
"mir_eval.display.labeled_intervals(ints, labs)\n",
"plt.xticks([])\n",
"\n",
"plt.subplot(3,1,3)\n",
"ints, labs = mir_eval.io.load_labeled_intervals(chordfiles[k])\n",
"mir_eval.display.labeled_intervals(ints, labs)\n",
"\n",
"plt.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Try visualizing segments over a spectrogram\n",
"import librosa"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"y, sr = librosa.load(audfiles[k])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"M = librosa.logamplitude(librosa.feature.melspectrogram(y=y, sr=sr))\n",
"freqs = librosa.mel_frequencies(M.shape[0])\n",
"times = librosa.frames_to_time(np.arange(M.shape[1]))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\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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\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"\n",
"# Using pcolormesh here instead of librosa's display because pcm uses natural coordinates for axes.\n",
"ax = plt.gca()\n",
"ax.pcolormesh(times, freqs, M, cmap='gray_r')\n",
"ax.axis('tight');\n",
"mir_eval.display.segments(*mir_eval.io.load_labeled_intervals(segfiles[k]), ax=ax, alpha=0.5, text=True)\n",
"plt.legend(frameon=True, loc='best', ncol=3)\n",
"\n",
"plt.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/bmcfee/git/librosa/librosa/util/utils.py:1475: RuntimeWarning: invalid value encountered in true_divide\n",
" mask /= mask + (X_ref / Z)**power\n",
"/home/bmcfee/miniconda/envs/py35/lib/python3.5/site-packages/numpy/core/numeric.py:482: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n",
" return array(a, dtype, copy=False, order=order)\n"
]
}
],
"source": [
"chroma = librosa.feature.chroma_cqt(y=librosa.effects.harmonic(y, margin=4),\n",
" sr=sr, bins_per_octave=36)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydB5gV1fn/PzO3373be2PZhYWl9yJViiAoith77C1RE/NLN8ZEk1hiEmMvKHaNoigqilQB6b0ssGxhe2/37u0z/2eG1Z9/k/xEDCHqO8/Dw927Z075zjlnPvue875HQS5RQBQQBUQBUUAUEAVEge+UAsp3qrXSWFFAFBAFRAFRQBQQBUQBBAClE4gCooAoIAqIAqKAKPAdU0AA8Dv2wKW5ooAoIAqIAqKAKCAKCABKHxAFRAFRQBQQBUQBUeA7poAA4HfsgUtzRQFRQBQQBUQBUUAUEACUPiAKiAKigCggCogCosB3TAEBwO/YA5fmigKigCggCogCooAoIAAofUAUEAVEAVFAFBAFRIHvmAICgN+xBy7NFQVEAVFAFBAFRAFRQABQ+oAoIAqIAqKAKCAKiALfMQUEAL9jD1yaKwqIAqKAKCAKiAKigACg9AFRQBQQBUQBUUAUEAW+YwoIAH7HHrg0VxQQBUQBUUAUEAVEAQFA6QOigCggCogCooAoIAp8xxQQAPyOPXBpriggCogCooAoIAqIAgKA0gdEAVFAFBAFRAFRQBT4jikgAPj1HrihXxbQ+fWykbtFAVFAFBAFRAFRQBQ4KgVigRpAP6rU/yKRAODXUQ+ygaqvl4XcLQqIAqKAKCAKiAKiwFdSIAeo/kp3fCGxAODXUQ/igPaBcRdzoGs5Ec2Py56MpkWxWV3E2NK5LWssVz2WwINXt7OvTWdDeA/ZWh6Lyk81Sy4/5y0u2tpBnp7DwEQHty/O58IJ+ymKt3NGdgdDFs8y06mvvcPDDySyoKGEaZ5C7t45HnXXbm46t43DAS/72cwU+2Qe2zQI9UAJ828NsKi6i3S7iyeesRIdfxKK38+jU7Zwf80SnJYErk87ifoAjEsJ86fSFmYmp/M/m8ejNNTx5JklPF9XxX7fUmIc6RRfVsRtbxTgtkJbUOfBs8qw33sZ6p49tD6wg/inL0Lx+Xh+5jYmZTVyqDWeLa0OVjS1Myohnt9sH2+245WJH7O9VeFd30YK9P6mDsoTrxE+HODcF9JpVToY5c7kvj0TzPQ/G7iGp2ofwqK6mBX3PZ66sALrXZdRPPcdit6a89nT++XgtXzo3Udp2xIgCthQVTu6rmFRHSS48zkzdir37p6AWlODlpHBg2M/4ZmmbXSEa1AUFVWx0uorwWaJIdaZzby4qfxxdX+C9ywm84m3ustSjadhfnY7Mjgr/jwGJ8GGBo2OaJjX/xZlxM1V1Ad3EY50oSo2ND2M3eox6/Hp1d5VitOWgqpacNmSza9vzZzKdWeUcfYTaaz1voBFdXJnr8u55uwKfv9ST9a2tFKibybWks62NWdy+IefUNKSwNvVDt72LuGs2FN54IEQZ1+nEWOxMTtbpTWscMO9Knqvnvx+ThkP17xq1meC6xxeLZtmlvvY2DX8te5jRqon8dIbiUSHDTH7wJpLd7Og1MGeaAVrSy9BLS/jplOrec/3HoMtk3nz0DTUvcV8/9w2Pg5txxdtwm1JYteLY9Ar6pn08yDlofUkOPJ4pLAf496fhvrCIi7+TSKlVGHVrawquwCltYUzhm1knfcFkmL6EIp2Un7wt6jvr+CsH9nYrq0yn+Ohyt+b9b2i1yqWB94i0ZHPvPgR3PmnKKgq2qhhTBm4hF6WVC7MjzB16VT0e1/gp8/1ZEyyzjlvDUBPTOLB0Wu55/ALBEJ13Y/j02nQisueRpFrKh+Vzfts3OmTRjJ37E726huYbJ/CssD7uKxJ1Hdux+1IJRT2MtB9GlfkpnDRxxNISb4AXQ8CRr5H/kC3WOIYEnMW1+cls6wOZmTqzF05iaz06whHfWhaCNDMf6rqxmlLMtsc1YLYbUf6Tow1jUuTx5j5/cQYpx0drDl3I5N+bGXgtdvZUXbrZ/3r7uFrCWvQ4Nd4ZP9E8/sVpyzn5pLttAcrOFzzV/48ai3LGzvYFf4IuzWW5WMHkfPq2Vxf+DFbovtpj1aRaultPnvLps0EF+2lx5Nr6Rkzntvze9AvsY25Ww8zzTkcmwqjkjXOXjWJtTM/YlWjizfadtIUPEBF9Z8/q9eA/HuIVzJZV3qZ+V3gh88xcVGIis6PsVncVNc9an5fe+HrjF29lmg0zAuDzuLkpUf6qjEffOKr4uNlo1CaW4msKCbSrpH31FpznirZ9SOUN5ax8LlUbj24iN728Zydnsblo0rxTE5GO+c0xhU8R3O0nP0Vvz7yjEsPccOsWroiUWyqyhMHJ5r9/44Zh1jQ9Bb+UAsbJp9OUoqX+BuHMeTMlZwaM5Rkh8JPnk8k/Opm3l2Vx03Fb2Czutk0dShWq8a1y9PZGl1lzi03pJ3CreeXYx2USelT7Zy9pQE7Lt6ZaMcZG+ZnH+WzIrieMepoCuIt3P5aGlrvQrN+ffN+S1jrouz24TSu0fjp2ix26PtI0bJ4bUYHcU9cjHr4MH+cV8nfql81+83mqZPJGBth+Tvp3HBgDU41jnG2ETx64Ehf+Pukj/n+vvnm592nnkrGRSlE99XzvYez2aJt4Tc9RjLvtMMMf6yN6s5NRKPGIpcxr1o+N/9lUeSYSoNSznTXSC4v6ODDunhebNmGR0+ixLfCbHuiuwBfqIFsxzAqutabc2uKkkcHDVS1r+7uG1ZzvlYUCz1ix9FTK6BvnJtYG/z8+hr0a841dejwV5rvWWM8GO3U0UiKKcSqOHErSWRqWdSrdQyz9iIU1Ymi8+yhyWYZ941cy1ONy0i29GTNtQqHNiSQndPKTe/lsTK4mDzbaN49LYDFptNY7eGDqjR2tsBFPbtY2RjDJ82dZt7tWi3D1bG8eHAi6oEDzJ1VRZzFwZhUC5cMLee2ZXk4LArrQ8WcEd+Phe3b+Euvfhz0OejrCTD/kM2cv4x+hdkGnbTYQVhx0Bmpo5dlLE4cDIqLM2eQloDGa033fTaGjswp5rwSD3R87hdf+aMA4FeW7P+7wQTAIfFXUNz1IRGtC5c9FU2LmBOBx5bBL3ImcP2CBO6/uJ09rRprQ7vI1fJZ2ny6mVHp7L9z1qYO8vVcBic5uWtFAXOH7qN/goOzc9sZtvwI5Kgvvsmf/5jEU3X7mRlbxP2lk1B37OCq01op93vZxwamO6ayYO9Q1OIDPH69n9cru8hwuHj+FRvRSRNQ/F38dfQm7q56B5clkZszJlLnh4mpIX5f0sxpKZn8qngSSn0tD59ygPk1h9nne58YRwbVV/fnpld647YqtAY1njz3EPYHr0bdtYuWP2wl4aXLUXxe5k/YzNTsBg60JLCp1cnShjbGJibwh5JJZjueH76CLS0qi7zr6K0PMnVQHnqRcIWf0+Zn0qK0MzYmm79VHBm0t/ZcxaM1f8KiupkTdw0vXl6G9b6r2TvjTfp/eNZnD+PHBat5r3M3JW2L0fUoivJ5AHSS6O7F2XEzeLB8Mmp1FVpmFvcPWsPjDZtpD1eZE5VFsdHi24/N4iHOmct58TP4y5aBBH/7Jp6HXj9SlvJ5AMzkvISLGZassLY+SnskzHtPRSm65jC1wR2EI77PAWDsFwCwBKctFVW14ralmFn/JHsGP5h3iFkPpbPa+4wJgH8svIabLijjjmcLWN3cwgF9A7GWDA5uP5uKG9ZwoDmRNyqdvNH5DufFzeGRR4LMukzDY7VxRo5KS1jllgdV9MJ87phayp+rnzcBcLLrQt5pmmmW++CgVdxXs4Ix6gTeXJJEdMRwsw+sOmcHT5Y42BUpZ3vjFeaL8qpJlSzyvs0wyzQ+aJiJunsPV5/WyorgVnzRRtyWZMreHIdeVsuIHwYpDa01Qe2ZogFMXDUT9ZnXmfezJEqoNAFwc9OlKC3NTC/8hI+980mO6Ucw2kFz3T2o73zEzBtsbNGWmZN9Q9sDZn0vSF/Gh/7XSXL04vyE0fzxkcgRABw7ktF5iym0pnFZQYQZ62ag/+4Zbnm6gHEpGhd+OBg9KZn7B6zmt+Xz8QdrjzxSc5o1PhgAmE5/1ww+aTr/s3GnTx3DjIHb2K2vY6pjOh/438FtTaaucwtuRzqhcCeD3WdyXV4ql289GYf9DDQtaOZrTO7GZbXGMyzmXG7OT+HDWpidpXPOpqnEui8jHPX+LwDqGqrFAMDkzwHgkb7jsaZzZcqRP6RuN8ZpRzurTvuEKb+w0vPSrRxq+sln4+HXfVabAFjvjzK/eor5/dJxH3LtgS20Bctp7Xyce/qv5sP6draHl+CwxrFhwhBy376AyzNXsCmyj7ZoJWmWPuazt6zfQPCNXSQ+vJqCmMnc1SuPAUmtzNhUwUzXKBMAT0qJcv7mqayeuIRl9W5ead1GY7CYlo4jUGdceSm/JUHJZkfjVebPgRueZvjrQco6V5oA2OF71vy+Zu7LDFy+mmg0xMKh5zFt7ZG+aswHa7yH2bp+LEpTC5GP9hJpi5L0yGo8jgzqyn6O8uoHvPZUGtftf4M+9klckJnBNWNL8ExLQbvgTIakPk1TtJTqlruPPOOSg1wxuRpfNwA+XzvF7P8/G3+QJxv/jj/UzO6pc0lJ8xJ/6wh6TV/G6Z4RpDoVfvV6EuEXNrBoWU+u3PsKNmsM+2aMMAHw0g8z2BxdZkLNLRmz+MklpViHZFHySBuzNtbjwM2yKXZccWFuXVLA0sBaxllOone8lbsWp6P16WvWLzvpl4Q0H013jaJhlcYtq7PZqu0hTcth8ex24p7/HmpFOXfOPMyfqp43+03xjGlkjo/w4cIMrihehVONZ6J9FM/WHOkLL41YwdV7Hjc/l59+OpmXpxLdU8f5D+SwUdvIH3uO4bwzK+jzYCtVneuJRjowcEoxANCcA40/gLPp75hBvVLGqe4xXNO7nfdqE3imaTOxejIHfEvNeTXJ3RtvqJ5cx0jKutaYc2uqkk879VS2LT/SMZRPAdBKXuxECrTe9I+PMQHwN7dUod94kalDu7/CfM8ac+OnAJgc09cEwBglmSwthzq1hhG2wiMAqOu82nDkj4e7ilbzaMMHpFgK2PZ9hYPrEsjt0cqVb/fko8Bb5NtOYuXcIwDYUOXh3cMZbGvWubygi4/qPaxp6jDzbtNqGKWOZ2HdFNTiYmZMOky8xcG4dCtXDi/lxg974rQorA3uZV7CQF5t28zjfQaw3+ukX6yfxw7azPnL6FdHAFAjPXYoVpx0RGootIzHhZOh8fHmzNQUiPJiw5G+euQy5hTjj0UBwM+JckI+CgAKAAoACgAKAAoACgAKAAoAnhAMO7ZCjT81L//crS3AJsMQA+w8yiwFAAUABQAFAAUABQAFAAUABQCPEpz+G5IZAJhubCnqrkyGYSUGBgM9jrKCAoACgAKAAoACgAKAAoACgAKARwlO/w3JDABMAOZ+rjLGDlljV2oa0HgUlRQAFAAUABQAFAAUABQAFAAUADwKaPpvSfJFAPQA9wPGjlFj9625y/JLLgFAAUABQAFAAUABQAFAAUABwC8jpv+i3xsAeInhiNZdpxgj+gBguOdu/Rf1NOJ4/G8sDzCCMVaJF7B4AYsXsHgBixeweAGLF7B4AYsX8H8R5f0fVTEA0AjkfEN3miTgRsAIvDcaqPgn9/4GuOOL3wsACgAKAAoACgAKAAoACgAKAH5zAPCLewCNKJftwF+AX/2TZogFUOIAfi4QqsQBlDiAEgdQ4gBKHECJAyhxAL8Z2Pe/tfxnTiBGhMs24EngtqNokOwBlD2AsgdQ9gDKHkDZAyh7AGUPoOwBPApo+m9J8sUwMInA97uXhKcCK4+iogKAAoACgAKAAoACgAKAAoACgEcBTf8tSb4YCNo47LAYuAd44ygrKQAoACgAKAAoACgAKAAoACgAeJTg9G1JJgAoACgAKAAoACgAKAAoACgA+G0hu6NshwCgAKAAoACgAKAAoACgAKAA4FGC07clmQmAw+OuZqQnh4cPT+ai9OV8FFyMP9SEERJgtG0OS9+IZfY5XawLvU2nv4w4dy9a1l2H1q8/741fxuX73iXLNoih1gIW1E7h1OT38OKnVjnE7JgxPPKqk+jYMUxLfodDyk4m2sbx6KwyPPOvZELyG1Qqe6jr2IzbkUn7rp+i9SzgwUGreL62mpmJOdx1cBLc/xz8+DJ+3Wc1f656CkVR+UHWlTzXshyr4iCsdxGjppCp5bGyeS5jUl6hUttBs3cfdmsc7424kFcq3LzbtYYYJZlBaiHDk238ZO8k1k9+l0DUYv5zWqLs63TREVZYVe+jXC0jTctibEIS92wZxCX9trMvXMVe77vkxp7E/sZbzL7wysgVPFPWRbGyhbt6TGRW7yqSBoQ548EsPux40ExzZuKP+HvDdJT6Ws4euIcarZWoEuXOwmSeOaQS1jUCWoRPQm+Z7VMVKwOt0/ApXQxzZuGwKFzfp5WBZ3WhTB5MxsQXCUTa0HWNNGd/qr2bCEe9ZgzwpJgiRqhTWdx8Kvf2X82faxfT7j+My56M05pg5j/ecjIjUmxEdFjS0MxtvWOZNaaclKfXEAy34LSloulhND2CgoqOZpYV1QJYLW5SYopo9h1guPtsqpWDfHJyFunPz6NH7v3UdWxF1yO8OPRHnD8/lcknl9Gk1nGg/T1Oi7+JhbfVwM8u5ye9VrOtrYMytZgrU0bzq1fimTL1MDl2D+si24joQSru6YV21Xlcn7uS5xofI6p1MSb2Cj6uMSIewYjsv1MaWke2Yxi7Gq9Fra5Cy87hkozlvNP5Ikmu3lSsOB1t0CBmJr/LxtDbOK3xVF3fF8sfruL05CWsDrxCMNxGimcA1S13m/kOT1lARWgjqY4ilo1LIXvRheb3I1Oep0vpZJDSl5dvqEC980oGpT7BwY4lKIqVBFdPalvvRS0uZtL4YtZ7nzO/Dx56APx+rj65mhebnyDPM4HhliJeqDO27ILS0owz8zpT20f7XcFlr+aw5LIyLt/3EUXqBFN/G1ZTq5rOzcS7eqAoFtq6ynDaE4mxpTOA0RR6YvjViCq6gjba/C6GLZ9DYux1BELNJHv6oWChPVBOOOJFVe3YLDEMdJzK3IxUEmwaf6zebOZvPD/j93ZrLLPc55t1HJduoTGg8OPxJZRUpDJl49v4Q43mGItqIbNveJzZZp+JRP1mP4tEA2bd0TVGeS7GgY3lb8QTPdk4uOjIZYzXjQdOQensZOsVOzl9xyazXT084yj+SyaMH2LOC0Wpf6PS+wldpffz5KwDbGiCV1ufNfvlxclXclHPAHfuDVOibKOhcyceVw6H5gzF4tA4/c0UPvEaO2fg9LgbuWtYBzO37qbRuxerxckZsZfxQs3J8MALqOefTMKAP+D1VzJ/8G1c+l4R6r4SMuYtIRjt4JrUc/n9laUsfjuH6w+soLFzBxaLm0D7cyhvLEG7aC65yb+hpesAT/a/huHJrfSd2M6P5hewoPkV2ldcQ3TE8M/a73TMI9bVg8Y2I4AD3NFnNY80LMQfbOKPhdfw/Z2Tj6QNhxiTudCc22qa7kapr0Otq2fgjK0UKT2Js1t4+qMMtKIifpC3iqfq/mY+k11Tr6TvB/Pg3gVMuMdDl+KlUM3h1Qbj3AB4acQKvrfzPiyqmy2TL6b/h2eRk3w7wWinWYfb86/lp3snmWm3TX2HsWuexGFLouOOKfCTy82xti16gNrgDk52zGNh4ykQjYDFSmbiT+gM1ND1yJloV5zLBenLeLdzgdk39s+YQVqR3xyHjw9Zxc37/oSqOlk37lKz3xrvgb/WbqCfPpgUh4PH5x3CNSaRpY95mLXxb2b/9N48G+t9V6M01JPT71GafHtJjunLb3tM456qHdT4tuB2pOEL1Jnzo8OWQJZ7BNNcg0lzKexoCVIQ62BkUpR3q+HNtqdNzXrHzcCrN9Pg24WmhcyyjO+NudDox0lKDJv1j/GFGsz5pCvUzHDnmeQ5YsmOsZDm1FlTHzbnfMvb7+O58HXCUZ85biN6iHDEZ2oQDLd/Nj6McfPpGQ7Gs0hw51N6fm+ceVbumJ/PH8ruNe8J/PoslF8dOQW2d+r91Hm3E9VDbJl0ofnsqs98mV9szGB1eD23555EhjPMq+VW3va+Yo7LBFcBCweNpGdqKxNXtlHWvhS7NYELk64kqsOkdPhzZRlZWob5PjLucdjiSbMb84dKXXCXWW9VtZrj+9qMG/BFdNYG93JXfl+6oiqzCivN+jncERKfe+mzvg76p22MBzo+94uv/FH5ynfIDZ9XQABQAFAAUABQAFAAUABQAFAA8DvGhwKAAoACgAKAAoACgAKAAoACgAKAsgQsS8CyBGzMA7IELEvAsgQsS8CyBCxLwN9WLhQLoFgAxQIoFkCxAIoFUCyAYgEUC+C3lfT+RbsEAAUABQAFAAUABQAFAAUABQAFAGUJWJaAZQlYloDFC1i8gMULWLyAxQv428yEYgEUC6BYAMUCKBZAsQCKBVAsgGIB/DbT3j9pmwCgAKAAoACgAKAAoACgAKAAoACgLAHLErAsAcsSsCwByxKwLAHLErAsAX+bmVAsgGIBFAugWADFAigWQLEAigVQLIDfZtqTJWA5Ck6OgpOj4OQoODkKTo6Ck6Pg5Ci47xjtCQAKAAoACgAKAAoACgAKAAoACgDKErAsAcsSsCwByxKwLAHLErAsAcsS8HeMCQUABQAFAAUABQAFAAUABQAFAAUAxQtYvIDFC1i8gMULWLyAxQtYvIDFC/jbzIRiARQLoFgAxQIoFkCxAIoFUCyAYgH8NtPev3ICmZP4PyxsnE1qwq00tv2F/TMXMnbdB0S1IOnuwfTXB7ImtAgdja5gPU5bMonOAoYpI8mJsfNCyytEon4sqoOR9jns1lbjtCTSEaoiydGLixJHEoxCc1Bjj7+Rcn0rN6TNYk1jJ5vD7xEItxLVAhTETefSlIG0h6ArqrPIuwqPksZ4RxFRHRwWhZdbXyIQasaiOrkl51qKYqMsrtJYF/2YkOYl2VrANPcA3uhcQleoCX+oEavFzUT3JVyY56a4Q+XJxr+j6xpx9hz66UOZnhnDA7VLCUV95FiHcEFaPg0BqPSGWRF6F00P47Qm8Nse03j+cAdlyi5a/aVkuocyyzOYGl8EXzRMC51YsVLGDh7qPYEFpTp72EtZ2wcoit3U7RT3haQ4rRzs6mR918v09kyjIbIfDQ2LYiPBkktZ50oMZw1D00g0gKaHsFk8OGzxTHPM5eWbKrDmePDc/B5RLYTdGouiqMTY0mn07jQfs6HPTM8VBLQI948IcNLaxWY7cmPGUulbTyTaZaaxWlzm97GObPKV4ZyclMpfqp4gxpnB3XmnU9mlsqs1yMBEB6OSQgSjKv9TtoERyiizHYu7luEN1pHq6seN6SNZWutjc3QpFsVKRA/R0zoam25jcmI6y9tq2NH5GvHuAq5OOYNL85uYfyiFx+rmoyo2TnGfz3Z9J4MYRN94Bw9WP2a2eU7MeSQ5Vd7xbqLOu52I1sWQ2POYGJdFtht2tER5teVRVMXKzdnX80lrCxYseBUfu7xvYbPEMMw5hz6uBOoDISqppU4rpq9yEnGKky36x2Zfb+sqJdbVgyzbIIbaepp9Lttt4a2OHRRovbErFvJjHSzsXEVD505Tv7t7X0NnWOGjxhY2d71u9uMUz0AuT5qKDuxpDfCB9yksip2Lkq+mxh8gTJSd2ira/YdNnfOsI4goEc5I7MX9hx8x6zveeQ6ZTheX5gf4eXE7lfpus38Gwi0YThw6UfM5G2mNPhCMtKPrEbOfGOOwv2MGIzxpXJrv5aT/seE4e745fu2WWPO+Hu4x1AR34AvWmj/PS/g+jZEuUq1uFnufM78zxkg46kVRrGhmP4sjO2YUuVo+/WJjSXYoPN74PhbFgT/STLZ9KCPsBRTEWni+eRv5WiENSiOVkW2mvsFwOx5nFj0sw5kUl0NrMEqiw8Kizo3UdG7mFM+VxFqtrI9upaFrt9mvXdZkTnWdzJZABT2VLDZpa+kMVvPa4HMp8zloDCo827yRJv9+slzD+EWPfjhV3eyjbcFysx1nxV1AitNCW1Dj5Zb5Zr4n2eYwf0oTp66MElB8hOhikn0EuTEW7rrXizZrKk+OWc+PDj7LcOdc8uzx7A3XUq3tYrQ6BZuq0hj1mt+/519ER1e52f9Oj7+ewUl2NjR2UazupiNcw5yYM+gIR7ApKoXxVu49/BCnx11rzhkaOg7Fygedj5n6zoq5FIuicFlBlMuLP8CmushU+tFCFRpRUshjd+dCs+9NcF/EL/srPH3IyXtd75jjOMc+nDsLctnTYefJxrXUdW4xn19+7Mk4dBffz83j5uKnzL6Q5RmJBRujrAMpCTewpf15M98+cbM4ydmLsi4f+5XtNPr2kOMZQ0QPYlNcZvrXmv+Mw5bEpclXMCxJpyGo8nD9B7T5y7Codvq6ZpjjfkpSOo/UvWg+/1/lXUkPd5QNzSovtL5JINRCX/cpJOqJJFicVEdb2eb7O257KoNtMxmXlMCOli7WR94154d4W475Lslw6fytZg+H2pdgUd30iB3PDRmDCUQVXm48xCHfCpz2JNJsRbj0GJL1JFZ7n0HTI+a7QEE1571QpBOnPdH8OdVRRH+KOCvXyrV7Hv4s7fwBV/PLiq3UereaY8DQzRgXyZ5+pFn6UOJdZqY1xrHRHmMeNsaf8d5zKB5ytTxOy/Jw4+wS4h9cZs73s+MLmZIWoCtq4blSzezTxrvLuNp8JeY4Np6ZqtpJchcywTqVXfp+qro2mmM/EG5kVOzlpKlxpDltvNu10pz3jXbMiL2WfI+D1d5ys1+3RsqZ5Z5ljsn3Gus5zE6affvNeeDshEvMvvZa6/MEI6247KnEObKJ6mFKLsjDPTwOZUAeP780yN9qFpj9q9A9DU3R8NFqtrvOt918V1VeMJSYH45HKyr6pwhls07/3PfGzKgZP8cDHV+HuZSvc7Pci2kBFAAUABQAFAAUABQAFAAUABQA/FAThVQAACAASURBVO6QoQCgWADFAigWQLEAigVQLIBiARQL4HeH/cyWCgAKAAoACgAKAAoACgAKAAoACgDKHkDZAyh7AGUPoOwBlD2AsgdQ9gDKHsD/ZiYcB3wMvA+cfgwVFQugWADFAigWQLEAigVQLIBiARQL4DFA1Im85SnAcB+6CjDcb6q/YmUEAAUABQAFAAUABQAFAAUABQC/IkCdyOQxgBHDYRRwJ2DE//j9V6yQAKAAoACgAKAAoACgAKAAoADgVwSoE5n8SuCGbgA0ln//AhQa4bv+j0o5AOPfp5cRFKxKwsBIGBgJAyNhYCQMjISBkTAwEgZGwsCcSKw7+rLXAq8BfwWs3dbAc4GV/0cWvwHu+OLvBQAFAAUABQAFAAUABQAFAAUAjx7CTlTKvsBuIAeo767EQ91hXS4TC6CcBCIngchJIHISiJwEIieByEkgchLIicK041fuvcD/QPd5UEfKMU5FCQKZxukeR1m07AGUPYCyB1D2AMoeQNkDKHsAZQ+g7AE8SnA6kcmM5d4qwIDAD79QkbeA+4HHjrKCAoACgAKAAoACgAKAAoACgAKARwlOJzLZXOBVIO2fWPruAaZ2O4YcTR0FAAUABQAFAAUABQAFAAUABQCPhppOcJp3ABU47Z/UYzSwARjSHRbmy6oqACgAKAAoACgAKAAoACgAKAD4ZcT0Lfu9AKAAoACgAKAAoACgAKAAoADgtwzwvqw5AoACgAKAAoACgAKAAoACgAKAX0ZM37LfmwD428Kf81jjemrbNzIr/mb2KDtJ1LM4FPqYNEd/AnqH2ezOUA1DbacyIz2eRfX1NKs1HLgzlem3x7EpuIjezknYdSdxxPC7QRp37bYzKsXJukYfw5JiuPvgJBYMX8nvK3fQT+/HQaWULr0Vt5JIEC8rTsrhsX1ZrGppZE3z2Zyftozt+m6GqQM5K9dwcoa7Kkpw6h7alDp+lzeMJTVwVm6UxdVW9vmbaVUb6Udv8mLtLOxYS6bem3a1mRsy+/FszWGeG+7hV9s8bNM3Y1UcuIln9UwLV3+Yw4R0GzYFvjemhG37Mxl/RhN/eLonCxurGOXOps4fok+cgyQHPNu4m+szBrC1WaMpGOSJia38YVsWxd5OqtXDjHf0x64q7PW1c5BNRLUgdouH0eo4flQUosTr4rq9jxPjzMCq2OmrjuOgvgm3JZk633Y0PYLTlkgg3Eok6kVVncQ40vlN3jloOqgKvFPtpUqtJEKQoO6llz4YDZ1atYJEPY0+tjTGp6vkuEJcsmchTmsCYc1PJOpH0yKEop2oipU4Zw7p1n6E8DNULSKkaexmH4Y6PlqJIZEkLZUUi5tRKXZeajyES3eTRiLDk5283LKDKGFStVwK7Snmc1odXk+8ksGs+F6UdYZxW1XGpqrcXbWK3vowftPfyovlLn46uIFnD2awpzVEosNKib+DQbHx3DOzhGmvx5l9bKgykJaon54uD4u8b5v5p9uKKCSfOTk2U4tfVizDqji5IW0iCxp30x6t5vvpM1nfGGCL/jGj1Um0awF6Oo3Y57A/0ExPWyLbogdw6C5GOvOoD4QI6hGSrE5aIgF+1NfKigYna1ubGeJJYnnXPi5O6U9JR5SlgVX4wvXMdp9LIKoR1jV2sIn24GFzEp1in8iVvYIkOoJcsqMJu+7ijJQcNjR28ci4dk5b305NcAcZjkFmfZK1dG4uiOfJUr/5DHu5PVgUhceeU7ntKp2X2pYSp2bSqTWQpOYy2FrAmFSVP1Z/RJrSm4rQRoLhdhLdvWkPlJPlHsGNGYPNqPAX9zvM9BURmrRSZrumsTy42Rzf6XoSFephakO7OC/+HKakR7GrGjccXEasJYOA3k5HsBpFMXacQCDUisuejMeeToKSTaaWyZPjO5j9SQdl3tVE9RAJrp78MPN0rhlSxtM782kIwO42H/uVXaSRR0nkE7O/Z1oG4MDJGE8GQxJ1/lpVxllJvXiz5RBXZxawqLqTk5LjiLPBrpYo7eEw5+TZ+N3hnfTRi1j0g2osyQ6CJX4Knq9gmDKB+4b72N6SSEtIpdynEIjq2FTFHNNzsr28V+uhojNCYbyVVIfOTR8U0nrbUjaWZ/LsISsWVWFYsoUf7Z5ktnf95He5fm8DUzwFvOfdTpKewbkZmSysbeR7ucm8UNnG+TmJPFSzj9rgDiyqgxvS5rG4pYwOpdHMoy1UwWN9zuLx0i7GJccxLb2La4r3M9o6mPWRbSToGQxzZrG46wMiWpBhlmnmfR/e3sqND+RywNeJDz+HtA2EIp2kOfvTFqnEF6gjPWYwp7rHmO0sD3Syn430YDD1Shm5eh/8SoAavZiOQCXZ7hH49Xb2X5RK4Us12BUPfbX+ZLqc+CMaLeEge5WthDQvVybP4tqiWm7bkIyuww52EqsnU+JfQYw9jSHqybQqHSTr8bhVG1ZV4eweCsvqVBZ3LUPXNayqwxznSRYXiXarObYCeticr14bmsHPtrkoVvZQqPVjY+Q90u0D0NFoi1aac9Ife07lifI2+rsTaQpE2KZvJYkcqqLbcVtSSCST8vBGItEAgx2zmZiUTFSDfI/OQzX78erN/Cx7HBuaNM7rEaEtbOVHpR8yyzWTbcEKGvQSmrx7sFk8pt4ZMUO5JGkkE1L8PFtqpyLURom+kQRLLifZ+1Ma6KCErQSjR96FIy2n4CfM7uhyQuFOYhxp5vPzBeuwqHazL7htKUT0IPfnn8a84WWc+2Ym2/XVZjqjrcY7Idcxkmat3Jy7LNho6Nptzv12ayxWi4sMW39aohVkqkU4dTflbDfL78cYatQq8rWeWBWVdZElhKM+bJYYYq0ZxCqpDLTk4Y1E8OthXIqNKupJ1BPZo68162BTXWb9jKsr2GBqYMdNXXAXFyedZ76/ZmX6+cGBQzSFS0i05XFm3DAuymsjM6GT+Ew/Eb/K7kPpjF11Gpb3P0JvaDNfTq0fdNLls6PrClFNoeA949TaTy9jVtKMH+KBI4Ie43WECuQ6VgUEAAUABQAFAAUABQAFAAUABQCPlaS+ofcJAAoACgAKAAoACgAKAAoACgB+Q0HuWKstACgAKAAoACgAKAAoACgAKAB4rCT1Db1PAFAAUABQAFAAUABQAFAAUADwGwpyx1ptAUABQAFAAUABQAFAAUABQAHAYyWpb+h9AoACgAKAAoACgAKAAoACgAKA31CQO9ZqCwAKAAoACgAKAAoACgAKAAoAHitJfUPvEwAUABQAFAAUABQAFAAUABQA/IaC3LFWWwBQAFAAUABQAFAAUABQAFAA8FhJ6ht6nwCgAKAAoACgAKAAoACgAKAA4DcU5I612gKAAoACgAKAAoACgAKAAoACgMdKUt/Q+wQABQAFAAUABQAFAAUABQAFAL+hIHes1RYAFAAUABQAFAAUABQAFAAUADxWkvqG3icAKAAoACgAKAAoACgAKAAoAPgfBDkLMAioAFr/g+V+vigBQAFAAUABQAFAAUABQAFAAcDjCGJ/AXYBTwMG/K0CxgFdwOnAyuNY9r/K2gTAhSN+yBXFS/EGqkmK6Ys/3MIU5zmMSnFgUeDNhlpKo5twWRKxYOPipLE807wct5rIbdlD+UXZ63hsGRTqQ9jHBvP+y5LP433vTvrqffkksoQYayqnx4zjE99hskmnXe/ioL4Jf6SFZEchXdFm5npm0BqMcjBax9NDYnj8YAIzMsMMT29i5ictjLX3Y31oH23RSgKRNubGnkdFwMuM9HiW13eS44whzq6wpaOF/dpaLIqNZEs+Hj2eUZ4M6rsi5HhsvN+5mwFKH8q0WtqVRnpohVSo+7HioD9FDEp0UOXTOC07SqYziNMa5bDPxa9KS3HqHmJ0Nw1qDTM9AyjrDLIh+hFnemazIrDD1CdeTybfkkpI06jUmyiPbma8dSbb9M38pdcoNrbYubpPHRvrU7jw9Z7o6RnoLrf5jK7PXcnOrkZUVPLtSTSG/KwPvkm8M5eIFqTu1WnozZ0oVgvn3+RmQrqFIQk+btnbTLyeQImyjVHKOFxWC5PTFZwWncv/bGPiWU0Mi0skzqZwsD2CqsDeSCVRJYKPVhx4iBLmwqQhTE3z0Se1hW21afzlQJhqtYoAXkruzECZPZY7ZlZx5x0taBfN5fEhq6j2K4xKCrGpxU6hJ8qrFUEK41ykOhWuKKrih+vSGZJko96v47Iq/GxsKZ68KGc/nsuzM2q5b1M+Pdy6WdfnKjo5PzeOU7Lr2VCfSpI9TH5cJ3/em8KQRLi3egMeJZkLUgr5uMHH6dlu2sIKixvqceHkpKR4XmxdS0QPEqdm4NbjyCaFKDrX9rawtdXO/rYIcXaVsAbLg58Q0rwMVyeR7XKQHaPycvNubDi4KLWQh+qXM4gxtOGlUa1kjGUo6W4rC5r/jk11McYynW2sZyhj2ckW+upD8OLntLRUfnFzNcteSKIuYCfeFiXL7efXO+1clm/jsVIfYSKMTUjm5bbl9GEEfgIElC5mJebTFdEZnKDTJ7aL/Z1u2sMqP9w9idCtT1FRnIjTHsYXsNNrYAvhToVXNveiskvltZa9nBrbn1+MLicYsJH7y0K0/Dxm9t3E4AQP91xVyvQ/JVOnVtOlt9IZrkFRLFyWNI/bBleTmN7FDe8UcFMfH8luP9dtcJFlj6Ei1E6dWkm8nkodBzjNPRmHBX435RB2j8ae3em8WRVPKAo/G1NGwkuXm/257aIFOGIj7N6fzpV7aogSQSNq6muMy0wlib+MbeEnG1NIdljpCGtcURDi4r3LKFInMCohgU1tbTSpdcyILWJrextRoqx93Eb0nNNRK8rpN3IJVmz0U3ui61AYb2NNS4tZvtHnL+nZwcaWOHrHBPnpgVri9HgeG6HR/+wQDz+SyfLaMG6Lhf6JFrMP3jjzII7vT+WdC0r5oM5GnzhYWhPkoFLCULWIG/oEyY71cuUGGwtOCvG9T5zsji7HaUngZPtkPg6vo9VfSpwzl9auEn7Z81qebdqGT2ui5uGRaBecadbtlOTFVKpl9NR6UafWE6clcHp6MhEdfvWzBvTWAFpXhO0fJXPZrlq69DaGq8P5JGq8OiBD6UMPJYPHJtdz2YokerrdzMmOcEdJLa3UkkgmdfoBcx50KvF4ow1cmDCTpxtfxGaJYYx1JgeUYgYrA9imb8cXacBu8XBJ4sm4LPCDkaVc+2EutdEOs7xKpdj8/4KE8XSEdManaqysVxiZonDtBeWMut9Gsp5AsbKNiB7ApriZYBtLc8j4bKF3nJN1HbWclpJJ39gIOa4ABSmtnL5aoU2pI1ZPpl47QKqlNxlaOjo6QxJiSbDDrMx2cpLbOGOFnTjdQ5VaSZ6Wh4qCx2pjZIqNlXVdjEh2c+eBSZ+97zoufZa4+ReBqhK85VkcD12NZeG7/O6Xsfy17m1SrL3x6c300PvzxAgdf8TGLTsi5vsjzppl5mPM6Y3BYlIdRXRG68zvnu57MnZV4wcHyijQ8xmW5OJAe5hi7TB+Osx0xrunPlzMA73mkGSPsL7ZwYC4CNtarWxv87JDW4lFdfBo4WTawxaKOyxUeqO8519kzi2K8RZQbLQHyomxp5mfb0qfydamELNzrLx4uNMcC9NTk4jqsKypGQ9ODqkHSNDT+UFeOvcfLjf7VZY1ji3aDlL0bMKEqIhsIRTuxGGLR0cjw9afAWovpmZaeaaqjuHuDOwWyHApLGjcbb5zeyuj+fCCZpwPX/0PPPH6qOWU+qzm+Bkc72faz1W0iiZQFIhqWG995nP36IBm/BwPHOlcx3gpx3jfibitCpgLbO7+/2FgCnApMBUYfwIqJQAoACgAKAAoACgAKAAoACgAeBwhLAD0BgwQfKLb8ncrkA/sAAwY+09fAoACgAKAAoACgAKAAoACgAKAx5HAjL1+1wDLgDLgRmAxMABYAyQex7L/VdYCgAKAAoACgAKAAoACgAKAAoDHEcJ+AxgWv1rA2PDVBwgCV3aD4UnHsWwBQNkDKHsAZQ+g7AGUPYCyB1D2AMoewBMAW0aR5wC5wN+7l4KN74zd0m3Aoq9Ypwzg58BpQI7hzAEcBF4AnuteYv6yLMUCKBZAsQCKBVAsgGIBFAugWADFAvhlxPRv/n1CN/x91WwLgLXd997R7V1sWBONsDLXAo8Dbx9FpgKAAoACgAKAAoACgAKAAoACgEcBTcea5KdAOfBqdwavAWd3LwnPBnZ+hYyXdO8dLAJ8/+Q+wzva8LX+sksAUABQAFAAUABQAFAAUABQAPDLiOlr/L4UuARYZ4SAAgwAPB84D+gBzDjKvJOBRuAXwB+P8h7ZAyh7AGUPoOwBlD2AsgdQ9gDKHkDZA/g1welYbvd3O35UAn8FnMB13d9t+ApewGOA9cA84M3PVaSpO0/jKyPGoGFx/OLlAIx/n16xxl5ECQQtgaAlELQEgpZA0BIIWgJBSyBoCQR9LHj35ffUdDuBGBbA/cCvup1B+gKbvkIcwE8B8Czgrc8Va+wLVIEXgU+6PY6/WCvDE9nYM/j/XQKAAoACgAKAAoACgAKAAoACgF8Oc8eS4qHuI98MT91hQE/A270MbFjrhh9lpl+2BGwcKbf9XwCgWADlKDg5Ck6OgpOj4OQoODkKTo6Ck6PgjhK6/h3JbMAt3WFgngW2dWdqxAY0QPCpr1DIB91OIIb18ItOIP8XAH6xCHECEScQcQIRJxBxAhEnEHECEScQcQL5ChB2IpP26g4D0woYy7qGB7FxuvIo4P7uZeDbjqKCAoACgAKAAoACgAKAAoACgAKARwFNXzdJ/26vX/sXMjqauH2fvyWz2xP400DQRhzAvd37Ch+RQNBrsSg2ki35ePR4RokXsHgBixeweAGLF7B4AYsXsHgBf12KO4b7DScNw2vXCNZsxOgzYvUZ16fx+izHkOfXvUUsgGIBFAugWADFAigWQLEAigVQLIBfl6j+j/vfAaLd5/4aMQFHA4ZDx5+AHwMfH8ey/1XWAoACgAKAAoACgAKAAoACgAKAxxHCjDh9U7v36xnn9hoAaISDMb4zINDwDP5PXyYAVl9+HrnPv4+uhbBaE5gYcykVailRwoyzDqM4XE9pZD1ptiJKOz5icOw5VGo7CGt+rk2dx4KWpbjURAYxiJAWZZP2EefEzqEjrDEhTeXRmlITMor0AWyOLmOgOgkffmqVEloDpaS7BhLQ2znLM9m8Z1ewlhtzs3iisp5GpZIF/fpz6942sklhl+ngDN5oA7Ncp2FXFeLsKos7d+DW4xjr7klPj8IjDR/jVOLoiNYwSJnA3BwPGxo1LIrCR8HVnBEzmd3edjyKg2S7nd5xFiq8mpnfiGSdD6qjZMVYafRH2RotZpp7gFnuNm8TTWoN7ZFKeliG49bdlCrbmWKfSGmwjQgRpienMzuzk1/u1iiKiePvHYuIt+Wg6RE+GFXA9qYk2sIqsVaN4k4rm5v9/LAvdEYsnLlh+j/0gf6pj1AX3EWSoxdl704iOtroOpCf8gfSyGdCXBYlHQFSHHbe6vw7kWgAtz2Z3+XNZkiClx5J7aQvvPgf8r0yewVbQsbfIhCki+HqAO4Y2sbTJSlsbGshVnGh6zrNSjvZSjI5MTbi7ApvthabWifosQQJU6bsZIRyErf1C5txiH6+J0StWkGX1sqNaVOp9evEWBWmpAW4dN+H5FqG8PJINz/Y5OLuwVHO27WP5sBBZsdcSFTXyXRbuXNCGTd91IP2SJg5OU6erqolTJBmKohoQU5xTieqwxUFIar9dm4/vI4svQ8DXKmsDG4lXk/Fr/gI4iVNyyOgdDEjPp/tbV528wlnxExnUprG0lqFzaFDzIwr5PmWxSiKBZvqMsuYYJ3KRm0jpzhPwhvWzLqluazU+cMs7XoVly2Ry5NO51BnCF2HjyNLSLH2JkfL5eHRfgpGd7Dio2xuOnCARD2NMZ4MdnS2MyI+gUWdmwloHUy2TWJb9AC99QIqqaVBL8GmuJnqOIlEh8r9pZPYPvVtNjTHc+noEi56M5e3mv51zPhd0xdx3bYQjw21M/SBnmhDhqAueJ0BP25huLWQS/LD3Lm/k4HuZF5sno+uG+0K8UDfm/j+74NE99XBjy/7h75ScfprzNhQyyAG0K4FGJkYx7V963h4Xwbr2utJwMM+ZTsF+kAGxMaR41aIt+msqotyIFpNUPGb5VtUqAsEOKQeIKh70YmSRm9qtD30UcZQpZZQqPVjv7KLgQzFpqjs5QA+vYkzPZPZ19lpzh0bluQT/Xgf/OhS4mK+R657LBOdRdw3tYy2Vhf37sjkgNdLrxgPfePBokCSTeN/yj4yy3n9lDZSxqlMvzOBBrWeQvLoHWcnz6PT1xOgJmDn/sPlqLrKMEceVQEfdWqdOU6uThti5vd2bRsPDtM5a8dBAlo7mUo/ft07jZtLNtEZrkFVbMRaM/hl7miW12rmcy7UC3BbrIR1jc3aJqyKg1g92XzuVsXJFckTaQ7qPHh9Ob+en8/q5hYsWNitrSIS9TPcNovd2mqMcC1OJZ58rZDZWTGUdkJTIMoNfQL8fE+QsBLCr3RR1rWGFFdfYpVU/HRwXfow/ly7nDwG0ceZZM61MxJzeLftEId8K0hy9+bWjJNZ3xBmXg+FR8s6aFYbsOkOGvUy7Iqbi5PG8nLrZlL0bPo70s054U/fO8QljxiBLaA80sxhdhKK+hhtmcEO1hPVg0y1n0Jj2M+E1Fg2NvnZEPmAma45bI8YgTGMTewatcEdxNlzGGsZyz6tnEwtEy9+8u1J5hz9ROMHxFuyydZ6sCX8LhmOQaRomaSoHnrE2NnT2UmYCANiEvnbVYdQ77jy/+vL2u1Po/7uKvO7vql/RSNKkp5FL0saL9VPZc8pbzF98zqC0U6yHcOwYKNTb8SvtRJnyaIzWoeiqNzbcyoXbZnyT9/XpyQvplo9TLqWQ0Dxs+Y6L9vXpfGDnQEcOIhTnER1jVK1FDsus48Z46MpUoLLkog3XMd58edQ2RWgiTYqtO2kWnoTwIsTDxbdSqKexCFlJzbFRaqWS4NaQaqeaz6P9aFi8919XfoQ3qxtJg4XZWo5EYJm/dMsfcw2dURqcFuTCEW95rs81pZFb30Qe/S13Joxi/tqFjLXM5fFvvewqA7i1EyGW4rMZ1iq7seGkxBdLBnZk8KFs9Fdbizvfkjba9V4Oxx8WJGFpoND1bl8x92f08pY9DRcFogHOr4O9Hy6jPp18vhP3Ws4bIwAjDfuIeBqYAVgOHTsAtz/qYp8rhwBQAFAAUABQAFAAUABQAFAAcDjCGHGEq9h6TOCN7/UffLHXcC13WA48DiW/a+yFgAUABQAFAAUABQAFAAUABQAPI4QNhOIARYCvYHF3cfANXcHg15+HMsWAJQlYFkCliVgWQKWJWBZApYlYFkCPgGw9c+KTAKMpeFPPYH/09USC6BYAMUCKBZAsQCKBVAsgGIBFAvgf5rATnB5AoACgAKAAoACgAKAAoACgAKA/2YgM5Z7j/aad7QJ/43pBAAFAAUABQAFAAUABQAFAAUA/41wZWT1zFfI74qvkPbflVQAUABQAFAAUABQAFAAUABQAPDfRVbfkHwEAAUABQAFAAUABQAFAAUABQCPI7jlA1bgSNTL/70KgbARP/M4lv2vshYAFAAUABQAFAAUABQAFAAUADyOELYKmA8s+EIZl3QHhT75OJYtAChhYP6hD8hJIHISiJwEIieByEkgchKInARy/OnLOPJkOFDyhaKMmICbgYTjX4V/KEEsgGIBFAugWADFAigWQLEAigVQLIDHEcKM838NK9+2L5RhHA+3Eog9jmWLBVAsgGIBlEDQEghaAkFLIGgJBC2BoE8AbL0D+IELgWh3+Rbg1e4TQmadgDqJBVAsgGIBFAugWADFAigWQLEAigXwOEJYf2A10AYY5wIb10TAgLCpwO7jWLZYAMUCKBZAsQCKBVAsgGIBFAugWABPAGwZRWYB3weGdFsDdwIPAS0nqD5iARQLoFgAxQIoFkCxAIoFUCyAYgE8QSB2oooVABQAFAAUABQAFAAUABQAFAA8USR2gso1AbDxx+cz4IlK7sufzi8q1hHVwySreYQJEqcn0qhUMtZiODDDsuASzo8/jUXedbT4Szgj7hI2RnZixcGpsf3Z0N6IV+3gT32yuKs4SKLqok5ro1NtJUPLwqnYzHyyXQ4Wdy3jyuRT2N0aZJu+mVszx3GgHVb493BL1gA2NGn4whp3j2hl/Pr1OC1xXJd6Mu801tKhtPLjnCJeOewz8+uki57W5COfo2EaaCVO91Cn1pCr5TIv10VJp0pYhz3tXopiYyju9NGgNHKSuye+iMbG8D4GKX25KF/nkM9OVwQqvBprg3sZrPZlj3aIsY4+1AWM+q7hjJjpvNu1ikC0g7Nj51AYp/Bk/W6+lzqQ1fVd7FG28USfEVxevIK782ays01B16GHR2FUoo/risvw6U2m3ifbppAVY8Ub1mnwh7miF5x2Tg3n35vN+77nCUe8WC1u5sR+jwUXl/Lo0kIerNvEJPsIxqSofFQbJtNt4/nmlwiG27FbY5noPIc5OU6u3T6Za3JWMjNTI9EeZsKwSq56vYCqcAd7oivxB5tw2hNJs/fjmvSBLK314VStlOs1tFNPT70fSRYXVVozXqWdeC2ZdrWZLC0bl2Jjn7KPM+OGUdsVpYfHQltQZ6V/H6laBoM8iTQGIritKrOzdH5Yuprz46eiKrC+rZkLspNYVRdho7aRIYzAabHgtKg8v0Bn5IUNWHQLN+Sl8FyFDx9+XDjxE+AnvZN447DKmTk6k/JqmL1SJ01PoX98DK+2L8ehepjuHMnurmZicNKoNBGvJ9IvJp7l/p3M/X/snQmcFdWV/7/19vd6X6Ch6WbfdxFFJaKiYtyNu8bEaOIkmclMMtmdLDrZ/pnsmcnExG00iSQa4x5xXzCuKAIKCLLTVxwZWAAAIABJREFUrL3vb636f6poFBDkve5X3a+bX+XTAV7fe+69v3PqvK+nqm4VziDPDw/WbSZhxPlq9Wh+vHUNJ4cn8VD7s3gNP8d5j2OFaX82BdOyeDa6nOP90/nkqDj/vraGKZ5RXDHK5IZ125jsq+at1EaSJBhsVjKnuJjzh7WxpDGPW3au4cTwBIJeWNS2grmBaXQmTeKmyYlD/Pxqx0sEjAjfrp7OjVuWMI2ZTC0JcW/Tcr5YOd2J6Rd2piixDQAXVUcJelPcV5OPAcwsSbG908vS+gTRVIpnOhcyIbyAU4qqqIpYXDxmOyf8YwMLQnOZWWrw0LZ2xuTlsbhzDTXRNzAMD3+aciHzZ24hPCXE72+tIuwxaU56KA+YvN3s5e3GKM/H/kbEX07SijHGM4dxgXJOr4TvbH6FMqrYlHiNK4ovds6lJ6LPUOgZSqlZwWbeotKYyER/BROKvaxtTrEksYam1FaO8ZzEsEiQEfkGD+zaxTZjNSOsaXQYbXxy6HBSlsFdOzezy1rPT0edxBM7oD6W4KpRPmpjXiYURPmPNY2M9AxiXJGfdS0JZpf7Oa2iiVvWFTGpGO7f1sJRRUW0xE3e7qzl2upBXHv+Bi7+bTUJy2RwMIjfA2UhD1vaUlwzOs4JM7fymb+NpjDgpT6a5IXkU3iNIBXGGM4oGcHm1iTLU+u4YeRYXq73say5mXGRAsI+g4fblhAz25w1j/dXcNdjpZwwfx1hggwJ5FHo9zCm0OD/dr1DgVnC/NIKHm+soZJyQp49Pj5piI//3rGC66un8Xq9we27f4/XE2B05CT8VhAfXkejPLOQ4b5Sx+/nVQeImQbf2XQv433zOK2sgnsalzPErKbd6GBLaimnBs5iubmWb1ZPYE2rl5t23c2owHF8b9wQ/n3dKiZak/josCDP7EiQsix2WA3EiBKx8lmTeoF8XwXXDZrLioYEYwr9/L1pPWOp5vxqL6/UebigKsYv16RYknp8zz1O/rOd/F9KAZXhEE9GX2a0NZVmo8nRMZqCPzTcR8RXyhVFJ/NAy3Jme6cwrsjHHxteY5I1jaiV4LuTvfxwlcU/OhZSEKrk0+Xn8HJDM3PLipwY/8m2JRxtHEVzKsZKXnPGvn7YKfzr7wL84rNx53sl5DOYPzjO5LIG/mvFYO5rfYhoogHTTDI8/wR+NnYcpx69mZF3rWWodwpRo52IVUDIirDTs5HdHXvu0vJ6gtw97SIa4n7u2hSnLBDgE6PizJ25lV8+M55ba1+hIbYej+EjkWpnTuhiRobzeTL6IkkrioGXaKoJy0oxyn88NallGIaXsKeEoJFPuTkUE9P5HvVYHnaZa6ny2OdECyPM4Wz2bOHkyATubfm7M5+5vgWsYYOTY8YWGvy/mvsY5B/PvNBkFkdXMZFxji9X8AanhY5nTWcjG1hKa3Q7QyJ78ktt7B2qg7OZnz+W+1v/wRXFJ/KnxmcYYoxnTecT+Lxhwr5SZx4xw87AbcSsNue8t8/Tf/9OM7/+QRHrW6E0aHBuZRPjRtdhGBZmyqDkDwv3QRwLMO1/FwH27ijdPuz8p6P7CggABYACQAGgAFAAKAAUAAoAu89S/bKnAFAAKAAUAAoABYACQAGgALBfYlz3Jy0AFAAKAAWAAkABoABQACgA7D5L9cueAkABoABQACgAFAAKAAWAAkAXMa4C+BlwKjAYnPu39z323P2b2XEHcPVBuow7yCvnDmZZACgAFAAKAAWAAkABoABQAJgZf2XUehEwvGvfvx2A/SjMvseDGVnb09gGQBssrzmgb+0+bxv5MLMCQAGgAFAAKAAUAAoABYACwG5AWLpdWrve/LEs3Q5ptLMBsBi4II22qgBqGxhtA6NtYLQNjLaB0TYw2gZG28B0E5q6220V8HHgze4aOEi/TAEwCNg/e48CoEb7AGofQO0DqH0AtQ+g9gHUPoDaB1D7AGaR0PYxtQD4CvBZYFOWhrAB8Coguo89+1LzJYewfyNww4G/EwAKAAWAAkABoABQACgAFABmic6AxgPu9csDfEAHkDhgmNJuDGsD4DDg8/v0tV+NYd9jeLBDFUC9CURvAtGbQPQmEL0JRG8C0ZtA9CaQbkBXJl0O9oTuofrfmYnhrraZXgI+cAg9BKKHQPQQiB4C0UMgeghED4HoIRA9BNINCOvLLgJAvQtY7wLWu4D1LmC9C1jvAta7gPUu4L6kscOMfVbX1ix73pL9/mHfG2jvAWjfu5fpIQAUAAoABYACQAGgAFAAKADMlKB6sf0K4JvAoweM+VHgv4AZ3ZiLAFAAKAAUAAoABYACQAGgALAbENVbXTqBSQd5AngksBKwHxDp7UP3AOoeQN0DqHsAdQ+g7gHUPYC6B1D3ALpIYDuBK4FnDhjjNGBh1+vhXBz+oKYFgAJAAaAAUAAoABQACgAFgC4S2O+B44GPAeu7xhkL/A1YAnzGxbEPZdoBwPqGR2i/+kFGL3qAn4//F27Ycj+1Tb/60On8fsbzPLotxoN19i2M7x/Gbxdi/bPNuXuO2BduJVjlJ1aTIPSds7EqhjqfWz+6g7XPFzLh8Qs/MM6/jXye3zxViTnWfqUxGE2NTB93H8PMSh6tP3O/9k+e8AQnzthK6KZPO597/vIgNX/poPKBKw4r548mLebthiQLd83HaGvByrfl2Of42R/gq590Pkh96zZ+cO84blgzb78ml1c8TXHAy++2nrzf5+Z3buPCm6p54AB9Gq+4k+JpFsZ/fAp7nWMK4IHtzbyVfJKvVF7Cn+pW0ZjazJnhM/jn8a3864oo61Iv0x7bidcTYEr4TC6qGMplY7ZT/dDlH1hjUd6niSbq8Rg+BhdMJ2QUsfaGckr+4x9E/OXEUq1U+qfhtXzUWhvpSNRiGB6G+2djGiZ3zSxhypOHf7HMoOIvcVHBBR9Ytz0h78OPkzr3jMPq/5PJi/nC3HeJ3LLHdx92vLPgPiY+sX+stF5zO8mol5I/7/Ow/U/uZMpPOxlsVvJs/XnvmXz0+Cepjfm5eun+fvrN9Of5woqT9hv6iROeoCHu5/LXT9nv8wvKn+CcqgCfWfa+jc7P3sY3Hh/Lb56rxhw5+r32dnxHN6cI//79tdlzeLEuyA/f3T+Gpg26mWqz+gOxfUbZ3/nNMVEmfq2M1Kknk/jyrbz+eiU/XuUj4PGwzFpBwupkonUUdUY9G+OvkB+ooLFzA2PDp+DFzzjvEO76wmaM7xz4tkiwfdjSsQHD8DGx8FyODY7iRyds5ZNPl7PWs5ISq5Kd1lqCnnzyKGFTx0t4vQEKA1WMtKY4a32u/uCxsvL0B0ikPLQkApx0WT3WF+w98N8//jL7WX69aTflFPPI9xuwPn8F/zL8eV7u2MQbXzT3m+/pZY8QI8HinWeDP+AY8f79CWLPbaF2XYSh97+fb26a8TyfX76/PzeefQ/Vk1vw/fSDKfaXUxfz72+/74+/H/cUZ5y0meAxFaQuPscZ6+HjnqI8EGdFcx6f7bJ97zHP8MQOD7fdEyR1gp3W9xye2+7hmu8OJuQ1+N8t78/jj7Oe5bzJmyn606d47PgnOfMTtRz93RSXV4zg6/9Rj/lx+2sBkt+4jXNuHcrDV2/H/4v35zuv7H4iBPmfYzoZ99hFTts7Zz1Hntfk4iXz99P2nLLHWHRTnNSl78e/3cDWd9852Z9VlX2Hy4tO52cb9o/J5z7yGL97189fdtmvrt9z2PnqR/PXk3/7tfuNZ38X7NVl7y9OKXuImYVF/Pjsdwn+5v113H7Uc1z75v7n4PcnLub8YY1Mf/r8/exeP3Yx3zh2I8UL3z+/bbsjggXcsX3/c/MXUxfz5S4//mDiYlY1JikL2bfWw+7OJE9G78XnCVPor+TjJcfyZP0u3k296Pw+6C1gNLM4tbxsv/z+zNzHeXp3mIurmzn19Udp69xsexivJ8T5xZ/nouEG39z4Oo3xjZybdymnDYW3mr082PImLcltRLzllFLF0eFKzqxMcv6rdq0n82PJyY8w59YJ730f7rXwwJynOXHUNsr+suc7au9h59Wvr9rfn5mPeuget858jp9tewsLkxQJvlJ5DBPyo/xta4jHOl6lnOEM95QzPD+AAcRNi5tqvr+PQfstuKb97yKgpSdzs+33l8Ne7GPAbPvtG12TrgJeAOxvtqY+WIgAUAAoABQACgC7kq8AcI8QAkAQAB6cSASA3Sc1G1hP73rgw74n0H4wZHH3zfW4pwBQACgAFAAKAAWA+32ZCAAFgIeiCwFg97jLrtPebV8VPaC7fU3Dvpb3h+6Z7VEvAaAAUAAoABQACgAFgLoEnBZMCADTkukDjVKAfQPc7gN+U9b12Z4bFtI/7C1gDvamEXufQXtrmXQOAaAAUAAoABQACgAFgALAdJgBAWBaMn2gkX3XYwVQe8Bv7P3/ngUyfRewDYC2vQPv7rYrjPY7iNM5BIACQAGgAFAAKAAUAAoA02EGAWBaKr3f6E37odeu+/7s/f6S+/S3q36juh4OuTRDuz3dBNoeTgAoABQACgAFgAJAAaAAMC0EUQUwLZnea3RD19/sP38OtO3TPd61MbS9FYz990wOASCgbWD2DxltA6NtYLQNjLaB0TYw2gYmE5jIpK0AMBO13m9r369nPwQS7V73D/SyAfCqg9j7EWD/HOwI2tse7fOLAntLGu0DqH0AtQ/g+2eF9gHUPoDaB1D7AGobmINDhAAwSwTXQzM2AA4DPn+AnQbA/jnYcSOwtyL53u8FgAJAAaAAUBtBg/YB3HMeaBsYbQNzKD4RAKZPbjaIjQfquh7MsO8FPNTRnYdAioHDv7bh/RFVAdxHfb0JRG8C0ZtA9CYQvQlEbwLRm0DShxoBYPpa2Zd9/9K199+nuh4GOVTvO9M367TUPYC6B/ADIaN7AHUPoO4B1D2AugdQ9wBmyBNpNxcApi2Vqw0PtQ2M/ZSxXXFM59BTwHoKWE8B6ylgPQXclS11CViXgPd+ceoewIMjhAAwHbR6v40H+Bpgv5nbfuvH08B/Avar4HpyHGoj6DXAxDQNCwAFgAJAAaAAUAC431eG7gHUPYCHYggBYJp01dXs24D98IUNfjb0ndF1WfjADZwzs5qd1gJAAaAAUAAoABQACgC1D2BaVCEATEum9xq9C/wUuLnrk9OAvwNhwH47SF8eAkABoABQACgAFAAKAAWAabGIADAtmd5rZL+abSywdZ9u9l6A9mc1mZnKemsBoABQACgAFAAKAAWAAsC0AEMAmJZM7zVKAUMOeAdwKzAd2JiZqay3dgDwgdlf4sKlt2GaMSqKjqUlupWPhC6j0Wihw2ijnUYmWdO4bESAb256hmHGFK4fM4ivbniTxXOH8ftVw7i7cTkjzTFEPH6iZpJfzu7k069blBsF1LCLKf4qzhwGP9m0hXajictLjuJ3tQ8R8ZZxSdFcFrW8w0zfOH44eze/XTWU+RVR/nct1Fut/OuoEj635m4uK76Cdzta8ePltCH5zClt5yerPXx6jI+frWtiaqSM3dEEKctiG7u46+g8/nNZMVEzxZ1n1fClp0YR8ho817maoBWm1ainwCrjkkGj6EzB4w3bKbYK+NF0k8W1RXz5M1u46IdDeN16leO8x/G6+Sbzg7MZX+ThgZ21pIwkZVYRK403uXn80dy1yU9bIkXI6+Hb05u4Y305rQmLde1tzCopYHNrko5Uknyfj5llPn6/+3VGmuNZab1INNnED0ZezoY2g780P4mBlzHMZLOxmo1117/n+KYr76S1LcigYe0suKeUMweXcf01G/GOH8Tvb4zwlXf/iGklSJlxhubP4tLi4/AY8LPNPyMvNAzTTBIJlNMe201z+20HDahPVT7LivgePzUmNhPxlfHR8Fyei77Fgrzp/PrTGxj16+0MYhRL763mqIs3OXaqqOCmE+sYev+VjBv0C8qtYdwwrpT/W+9hdKGf64/fwKzH6pjtOYoZpX5G5aW49NyNHPUbiyhtHO+fzlOxZ7iw4DT+9w4Psy7eSqOxncuKj6UpZnHTCyM45uhX8Ft+Z7yEkeDTVUNpihvcXPua81mlOYY3O+8nHCjnm1UX8MSONgYFwowu8NIYt/i3SbVcuqSd0cYw5lYE+Nn2xzk7cjrTSw1+vv0l8o0yUiRpSm3lByPO4Kat26llIxOto3g9uYjjfGfz5YkGV6x6krC3hCuKT+RPjc+w/uNVjPjjWkLeEub5j2NXvJMnXh2HVV3NhKpbaDN3M5KZvJN8jvPzL6IlkWSpuZQzInO4v/XvjPIcQyF5rOQ1qoxJTAgM5onoE9w4/KP807KTuGnG86xp3uOumvYEW606R4dlHfcT8Bfg9QTpjNXR1vknp80bpzzM9s4wpYE4M8bu5JMPVzOtJMhnJ28jHI5z07JR/GrHA3TEdjv/AXBR8TXMLvcwo6iDa95ZSW3HakrCo2mJ1xD2lbKt4YcfiJVjyhdyUmEVf215jrBRQl18LTN8CxgRymdnNMpmz2ZW1n6OM8rsCx7wg2kWf9xUwNPtq6lLriOZ6iTiH8TXKk/htp3rnDZtVj0fKzyO5c0tfGlciLs2engy9hAGHr5aeQHvNKdYHdvNMflDmFgIMdNgdF6cilCMYUWtXPGin2+PL+Tv2wPUR1M0JWPMH5LH3LI2kpbBjauSTv74zOgQj+/wUBH2sLkt5aw9mjJ4dlcbxb4gd787m6/MXM7zLTUcFark4fZHHd8GjAhn5c+kJW5h/+93l6znS/eNozaaoDOVZFpJhD83vYAXPxOsaew26lj6ywiXf7WEZeY7FFllmFgErSDLo48wJDKdb1dP58+bo+R5/Xx9cpQvvN3Gq3WXc9ngpxlR4KclbnJf60NM9J6IB4Ntng0c7ZnBO+YWRljDOGFwiM1tFi3xFEUBL/e03M9I37EclzcMnwfebGnkjMGl3Fz7Iv86ZC4P7WjgpLJSUhb8dtefmew/jZH+El5NLePk4CwmFXvY2Ql+D1w+opH1rfn8el07SzruoTBczQ3VH+X2bTsY76+gMR6jIhRieL6HNU1Jhub52NGeZFHH3UT85Uw2jmeDsQq/EeaCwhksaWpm0cd3cf0j41nd3M6QUIh7m+5kTuhiphYW8ELrFiJWPldUlXJ3TSMXVpawpM7kncQOhlHOC/EHKQ+OZ5BZRZggbUY7F1UM5aZdrzDHO5sfzq7jylcttrOGadaxtNBJvWcXtYm1tHRuIuQvIy8wmIsKF/Dfm/Z/WvzN+Q8zakgDX35+OA2xBA/ULWDNGffxk7dLeazzSRo71mNZSUKBMr5e9XF2dVrcUfenPXEcHMxR3lOdGH68/uz9zpXGK+7kkTXD+e8tO5xckrSihDxFWJZJOcOdth8prGRdS5SVxgpiZhvXls2nPQkbWmOsZwshK4+wFaLck88GaxufGjqSH297jFODC5zY7UgabGg18XsMVrTXMaug3Ml1P3u7nMXRVRzrn8Tb8RqevyDB5/4+iiXJt0lYnYSMQv6tchK/2L6MAquU8d5hLDVXcu2gGTy+q9nRt8HYTtRsodRTzUfCY9nc3slbxmt0JBsIeYu5ong+P/9pK0f9U4PzPT+h2MsxJVE++tUEmBZWLIH36v/dRxN7Nzzn4mcR0NITqjF60rmX+torXdS1FczeIc8FngHa95nDhb00n32HEQAKAD8QdgJAAaAAUAAoABQACgB7TmX/l6aJvngoRAAoABQAqgKoCqAqgKoAqgKoCmCasDZQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmgkABYACQAGgAFAAKAAUAAoABwrZpbkOAaAAUAAoABQACgAFgAJAAWCa4DRQmjkA+MUR1/Pfm3/B2JLziNPButqvcn75E2wyttJgbmUMMxkZLKIxnuAN6wXCnhKKrEGErAgv3+Tnbz/P48kdPrZ1xLhouJ+ndsBlI5N8cd1bjDYn0GK08Z1xpZz783yGn/ccCauDPE85pdYQhnvKKQv5uLflQS7IP49PjOpkeFErw49r59hfBWk3mpjpmcjDrXdwdPhCNhkr6Uw1OvrX/mIO5jWXOH+vLruRscyixBPm/i1zuWzky6xN1bDLXMsc78l8a2qU52uLOKuyjvmvL8FrBImlWjgn71zu+EkT37ihjJcbGzi2uJRzK9uZe9oOPDdc69htiW6lJDyav06dgcew+OPGQu5ve54FoXnMKjN4bFuMR34XZ+rndzl6zTSO59Z5ddyyqppHa3exhRWYVpIRnplcV13BtZ/Yys1/GM63Nz1I0uwknmgl4C/gKP9ZXDcqnzs2drLNU4OJSW1iLRYmBh5SZozTwxfyl6/U4D16BLMu247f8jMuUE5pyMOqljbeMd4gnmpjsG8C07yjWPjDOlpfbqPkzvvwekKOVnmhoaTMOENDM6hLrHPshv2lHOc5ictGevivjdtIGHGarG3vxfkwaxLnDq4gZcF3v1OP+fGP8eCcpxgcjNOR8vLI9hDD8wz+Zf5azr1rKG9Z/yBpxvhm1QWsaEjxh6cq+NTpu3g69gIpK8F3q08j7DH5xNJTmDboZlqsnZwSOJGWRJIfHdXKlH8OMfq6d/DgpdIcxbyyYr5x0rtMvn+n4/+5vjO4ZozBeU8cg/nr+xj9650EjAhDzRHUeNYx23MUr6Zecz4zSfG/46YyLK+DezaX8mhDzXu61cajXDEixG2bm1mVWsxY7/GcVlbBM/W1fHF0Cb/cUE+Tp9bR4drBUxmdl2BNq5/b6l6jOVHDVO98RocKuW3byVSWXk802URRYDifGzyXb6yax60zn+OvW9sp9oaoyvdT05bgr6+NYs7sJbyb+Adj/HOpMd9ihDGTdk+LM9d8qwiv5WOnZyMb7zmGxts3UjTHz/anDU54YTNho4jd8dVUBWaxLbGcjthuPIbP8emwgmMZao4iTIBdnt2cWTSG6ojFr3csY5BZRZWvmEK/l5mlhvNZu1nHYGMsZ5aM4ofvzmPVgvtZ8MZS2uO7SaY6MQwPAV+BY9s0k0QCZRiGl88OOpPlDTFazRgFniCreIcgEZqtnZQznPlFIxieZ/GFN+eC18cvpy5mdZPJ16bWM/eVF5nmPYU6z25OyRvL6tY2Xonex6zQ+VQFCvjxsTs5+aUdjDTHUx3KozWRYoW1kvtmjmDhplJWNka5+/It/PtD4/i3ifWsbynk0e1+PjGqjYTp4eR/TfD1/yhmQ0uCcUV+vnfVOudcfmfBfZz75ibiVhtHG8dzz6c24/vpZ7hw0JNU5QUIeQ2uHVPHlG+Uct2n4IbZ2/ncC+X4DQ9vs5oSazCNxm7mBafxTOx1guSzsvZzfLTsUdZ5VjkxcuPwo/nBlrepT6znBN9ZJKwUi77fyGd+VMmy6HYsUqyLLqYoVO2cHwmz09EiQZIRgWLOHgb3bzH5879s5rO3jGZNZyPNnga2xl4nlYpTGKomz1OGFz9BK+z8+fqNFlf9sJKViS3MDA7HZxi8GltPm1VPc2IrI/3HMtgqJ2B4uWF6jI+/tdWJs4hVSCPbKTQGE6ODuvhaivzVjLOm8rWJXmZW7+L3y0fyWm2UGnbRZjTRnNxKnm8wPoJMZiJfm5Tgqd353PCVHUz/jw7aqHd0mM4MdlgNjl52/trR8SYXFl1NccDD/9yS4qpPGvwjsYQkUSZZs9np2UW+Wcgb7XczvuAM7pg2mCnTdxH41We4suIZapLNrLdep8g7zPmOOt53NIs67nNi8ezI+c6Ypw2Fta1ejiuLcc07j3Nxwbk83bnC0cjus73tdSePFoQqme45iZW8gtfwOz64uvRMvjp7E4NOCTDrWwnWx/7BlMAC/lF/EddVPcfi2HLaUrud8/uy4kv57ZaTMHZsp2TC94nGGymOjOIYzylErQQbPGuoj727J9f6K5jrO5G7b9zN3G8H2GasZQZH866xgV3xlQwLzOS/xg7nL5t9/OjYnZz5Ygfb4sv46eiLaE8ZrG2Bpa11+PBSYIRZwavUt69laP4s2lN78tL8wOmYFryQXMypwZNYltjEL8ZX8szuMA82vUOTuZ0RTHPyyQsfqeSutVX8fPsjDPVOYXZoBPc03UUs2UxheDjFvmoaE5up3fAt5o97iaXxR+iM1xL0lTjfVSdGrmKTZz0tqe1OHvd7wozjGBbOa+OqxQWMCOVjYHBuVYqPfWLnnu+PpIXvq3fsw0wWYNr/LgJaegJTRk86qy8CQAGgAFAAKAAUAAoABYACwCMMCgWAAkABoABQACgAFAAKAAWAAkBdAtYlYF0C1iVgXQLWJWBdAtYlYF0CzjUmtC+mX901qSTQAKwA/gzYv3Murqd5qAKoCqAqgKoAqgKoCqAqgKoAqgKYJjj1ZTMb8iqAawBv198/ClwPvACcZ992meYEBYACQAGgAFAAKAAUAAoABYBpglNfNrMBsBi44IBJzAeeBq4Dbk1zggJAAaAAUAAoABQACgAFgALANMGpL5sdCgDtOS0DtgNnHWKCQcD+2XsUADXaBkbbwGgbGG0Do21gtA2MtoHRNjDaBqYv8e7wY38YAP7F2YIJJh/CzI3ADQf+TgAoABQACgAFgAJAAaAAUAB4eAjryxYfBoB3A1OBKaoAaiNobQStjaC1EbQ2gtZG0NoIWhtB9yWyZXdsO1PfAAAgAElEQVTsDwNA+2ngLcA5aQ6pewB1D6DuAdQ9gLoHUPcA6h5A3QOoewDTBKe+bHa4h0CuBf4vzQkKAAWAAkABoABQACgAFAAKANMEp75s9mHbwDzX9XRwKs0JCgAFgAJAAaAAUAAoABQACgDTBKe+bHbgRtCNwHJgIXCnNoIOc/+WuVw2UvcA6h5A3QOoewB1D6DuAdQ9gLoHsC+RLXfHVgVQFUBVAFUBVAVQFUBVAFUBVAUwd1nNlZkJAAWAAkABoABQACgAFAAKAF3BrNw16gBg0+M3Mvxj99ARr6U0Mo4Kz3jWdy4mmqjH541QFB6BgYdYqoXWzs0URkYTSzQ5q/rtxKv54rv30hmvJz9UScCbR3t8N5cUXcHC+ludvp3JBiL+chaE5nN/y1+IJhqpKjgOD152dqzA6w04/cOBMqqDsykxy/iX0YVcu/IOUmacivwZJK2YM15bfAexRDOmFeejBZ/jDeslZhkn8GTb7ViYjo3p/jNYmXoOj+GjLbqdSHAwo33HMcwoI2VZPB/9qwM9STNKwFvAqZHLeTn5JNFkMyFfERcWnM3a9lbOrSzghk0LnfkGfUUUhaopNIbQZtWzo3UJJZGxTPR8hDXWy5waXMBDLX/CtBL4fXlcWnQZTfEUb5jL2dK82JlLad4EZnnmEfJ4WWtt5p3mh9+7Yu/3FjIl7xyurhzKq7UmPo/Bm7HNbI6/5mi+9xXP5QUzqPRM5oT84fyh7k8kU52Eg+WYZoKIfxBb6+2tHt8/PBvWY9TVEzn5NwR8Bdj7/XUmGhwNE6m29+x6jADh4CCKAsNp6FznrMP2nX1Ek00UB0ZgWSZxq4OIp4SY1UZrfDuG4XFs2bbt8ReETuaV+DvUdCwhkWrngqJ/ImqmePB/Oznt814Wt9/paHF+4Wd4y1zHGQUTuWXXnUQTtRSERzi2To58nPlDwnx7/e+cuLP9V+SvYqg5iqUdf8O0ko6f7Vj7WMHZbO+I8XjrzXg9IYojo5z5RuONFIaraerYiNcToDLvaMZbE9li1LCu7Wn83jwuL/k4j3Q8zVBjEq1GPRubnyQcqCAvMNhZ/2VFZ/PHhj3nxTF5V/B24gmGBmcwwhzBM223OHMrCA935vyvlVfzq5qbHU1D/jLOzL+S4oCXFR21LGv/G6FACaMDJ7At9RZfG3YOP9xyt+NXv69wz/wiR1Mbe8exZcePrWdnvI6PhC5jvWeto/sU6yiWmE85bWxfWKSoiEynPVVLa3Sbo4t9mGacoL/EidfBjGWcdwgPNN/snB/2uRRLNTPKcwwv1V+yX6ysWnA/Uy+KMfNbMSfu7Li3bdmH3df+u8+b7/gvLzSEQl8luztWEk+14jUCTptEsoW80DAnLuzDPu/tebV0bnV+Pzr/ZPKtIiYFB/NI+8P4PEESZqdznlbmzyZJlAWheSysv3nPORMZSzTVggcPx/tO58Xk444up4Sv5B1jNVGrmY5kAz4jwCmBj9KRSnJaZZAHt7WyzniLxugGKsJTmWRNosDv576mW0im2qgq/AhfHDqHxrjB72sXOXOw11NKFVcMqeKvO3dQa2xlR9tSJ/6C3gLiqXZnbJ837MSI/e/PD76AX2673clT9jEkbybNia2OfwoClXQk67my+HxebdvJ2vhip12nnWfzxjvtW6I1FIaqaIvtpDg8mgpjDGVWKWcMLeDHNQ8455B9ztpxbMeEx+NzcqUde0F/ER8JXsiwcJA/N/zRsVcenkBjfKMT3y0dmxzt7XjMCw52fn+s5xSeaLvd0dZeV9LsJOwrdXJ7e2yX48djIpfy7PVN8NVPUlHyVSfH2L6z/zTNpJP36tredmJsZPgEmqztDGIU62LPk0i2O2Pa4xeEKt/zra35oIIZDGc6F1RU8P+23kU82UpecIijqR0vJeHR7Gpdht+bz9TI2SSIM79oBH9seMT5Tgn5S9+LKyemOjY5/44EK/B6gpT6RxEgTENqM02dGxmUN4XOVKOj4ZDgNBJE2dluvythzxFPNmHnPfu7JGTnrrwrGFsY4H+22edxCwFfMSeFr+SRevtNq/sfnrVr+MRJ23ku8QIho4gQ+dSbmxw/2UfKjDp/ejwBqvLncGp4Jv+3638oyRtH2FPi/G5vnIR8xc53pM8Tds4D+7B9bcdYR6LO+a6y46YkMoaW6FbiyRZHIzsObT/af9pHe3Snk/PsY5ZxEps9Wxwt7O/z8d4qFieeIuDJd2KyNVrjfPfZPqpvW+3M186fhuFzfG1zQH37akcf23e2zva5b2ta1776PR8H/AXM9J7G96caXLFyBW3JXc55VG2NZ3JeCUaXbDdv//4+Alp7v3eK7FPgA+Jm8MFe+xl0UdN9FBAACgD3JCoBoABQACgAFAAKAAWARwwkCgAFgAJAVQCdGFAFUBVAVQBVAVQF8IjhPwSAAkABoABQAKhLwLoErEvAugR85LCfs1IBoABQACgAFAAKAAWAAkABoABQD4HoIRA9BKKHQPQQiB4C0UMgeghED4EMZCZUBVAVQFUAVQFUBVAVQFUAVQFUBXAg095B1iYAFAAKAAWAAkABoABQACgAFADqErAuAesSsC4B6xKwLgHrErAuAesS8EBmQlUAVQFUBVAVQFUAVQFUBVAVQFUABzLt6RKw3gSiN4HoTSB6E4jeBKI3gehNIHoTyBFGewJAAaAAUAAoABQACgAFgAJAAaAuAesSsC4B6xKwLgHrErAuAesSsC4BH2FMKAAUAAoABYACQAGgAFAAKAAUAOopYD0FrKeA9RSwngLWU8B6ClhPAesp4IHMhKoAqgKoCqAqgKoAqgKoCqAqgKoADmTa00MgeghED4HoIRA9BKKHQPQQiB4C0UMgRxjtHQoAvzjien5T8zvMVAd+fykBXwHxZCuWZRIJDiKR7CDoL6IjtptEqoWQfxDDI3OI0sYpwVn8qe53WFaSwQXTKTSGsL71GY7Nu5w15kvYl1Mf6XieMkbQzC5qO1dhmknG553OttRbzpQSqXai8UYKwlUsCJ1NayJBxOvjoZbbnfGqi+aRshKMtKawMvUczR3rnLmV5U+mNbod00o641cUHEU5w2k2atnRtrTLdht2shtReBJt5m6nX2tsGxPCC4gabaRIMswczju8TmPHOsLBcob5Z+C3guRb+SyNPojXG6AkMIoShrI1tZyUGaMtuo284FCm+E9jnfUaBd4h7OxYQSzZiNcT4lODPsuLnRsoNkt4qfl3YPiIBIdyYuhiLhsR4GsbFhHw5hNPteH1BOlMNFAeHE9LcpuzprzQEEeTaKIWy4zj9RXiNQKMyT+FSZ6RtCUTPN+5kKQZxcDjrN8eNxQoIeQrZgrHESPBmFAx147pYP4rv8PjCREOlBFPtBJPNjn/tRfyl+HzhkiZcefPU4MX8FDL7x17tla2dhYmPk/E0dk+7Piwfeb1BJx+SWcNESdGioMjaYxuoDNei88bYULeGbQbTYwzJ/Bq6jGa29fh8QT43pgv8audizg9uIAHWxc67asKTyBJlITZSZ53ELs6VpAXGEyhbxhTmMxbvEVNy0tO/5C/hEHBiXuql3jZ2PKMs/45kcvw4+Ut60WKvdVsbH2O4sgoBnnHclbROB5v2sj6zsWUhEdzQ/Vc/qvmLVpS2534ampfR2neeEZ6j2azuYxossnxgX18ufqf+VPjCwSNfAKEWdP0gKPnhcVfIG6avJR6mvq21YQDgxzdJocXUE4xy6yX2d26FI8RYGrBhXjwEDM62dT5EtFEPSWRsY79c/PO4tnYUmd99jpG5c+j0dzKsZ55zrobYuv5ZNmlvNqym23Gaurb15Iyo45v7PEsK+7YsX0a8BVzbPgSUqSo9+ym2qzm2bbbnLb5oWF0xGodX1WGjqLZ3Ea+ZzDzw9OJpSyCXoPbdv6yK1WYzp+mGcPjCTrjFOWNdWJisG88QSvMyraHSaXaHC/YY9vzCPhKSVlxJy7tmPJ5w8QSzU5/vzfPGTvgzXNi3jA8lAfGs7n1BebkXUmL0Uw1Q3k5+Rj2ZXi/J0yRr5rW1E7GGcewpOMex+55hdeSsEzetJaxq32FY3uv73d6drEl9poT5x6Pj9LwOCqt8Qw2iljU8ltnzIqCmYSMIqJWM42dG5w5Dg8e65yvcRLsMjY6OSRldjCkcDYjrGmsTj1PW2eN458h+TOp61zDx0uv4p6W+53P7fNjfNFZjDCHs5xXHL/bulxR/kWSpsUrqaXUR9+lI7aLEwquZXliEaXBMQw2R7C07c/OGuz+OxOrODV4Lg813+Lob+eCoLcAr+HHwMuOlledz4cWzmGidZStPC9G73VyTyRYQVlwHF78bG172Tk37TkMKZzlrMFu+2r7Qkwz6uQje/xpzOTl1BM0tr7t5KlRxafzP+MmMWf0diY9uoZYssXRzI6byoLZRM1malvfcs7Do/Muo8Gzi+meCSxqs/NRp+Mf+1iQfzVrWM+65secfFJeMM2xZefMZdEHSaaiDMqf7JzvSTPmfOd0xLbh9xUzKG+Kc07GzTZaOre8N9/C4DCGMJ518Rdo7VjvjDOu5AIGmUNYbf7DibMzIpfzbPzvTPGezJuxhx279mFrsTdGnQ8sk4C/3MmFQX8p8yNXsYxX2Nmy1JmvvWafN5/jIlew2nqJEu8I53wp84zkjMJx/KlxEfVtKx2bfm++4/9kqsOJD7t/KFDm+PSk0CWMyg/y223/1XWe2PrY58uec8aeB/bf8TjnRzzZ7Ghr27PztX2+5fkHOee8/Zl93heEq52/Dw5OZkfHMieXgEll4fFOPuw0Gx397HxzWuhMauOdvJ5c5MynPbbDGcvOtx2pepo6N5JItjhjDis4jt0db+P35dEZqyXgK6IzvgPDCDjzyA9XdX1/NO+ZOzjf2w9Mm8/nVu9w/j3KqmZScYjzKu3Yg/JIJ5OfuqkrpzjCO3MFioCWfX6R8V+NjHuow74KOJeABYACQAGgAFAAKAAUAAoABYBHDiQKAFUBVAVQFUBVAFUBVAVQFUBVAI8c9nNWKgAUAAoABYACQAGgAFAAKADsZwA4BPgWcDYwDNgNLAN+BTydxloEgAJAAaAAUAAoABQACgAFgGlAU640GQm8CDQBNwArAD9wBvBPwJ475D/8EAAKAAWAAkABoABQACgAFAAejphy6PePAtOBCUD7AfMq7gLDw01XACgAFAAKAAWAAkABoABQAHg4YsqR35cCdV2Xf/9fD+YkABQACgAFgAJAAaAAUAAoAOwBTPVm12MBezOoC4H7Mxg4CNg/e48CoEbbwGgbGG0Do21gtA2MtoHRNjDaBkbbwGRAVH3UdA7wCvAx4IEM5nBj1/2C+3URAAoABYACQAGgAFAAKAAUAGZAVH3UtLuXgFUB1JtA9CYQvQlEbwLRm0D0JhC9CURvAukjgMvGsIuAaXoIRK+C06vg9Co4vQpOr4LTq+D0Kji9Ci4baNU/bIwCXgIagO92bQNjv5zvdODzwKQ0lqGHQPQQiB4C0UMgeghED4HoIRA9BKKHQNKAplxqMrTrSeBz7HeDA7XAG4D9Nvfn0pioAFAAKAAUAAoABYACQAGgADANaBpITQSAAkABoABQACgAFAAKAAWAA4nu0liLAFAAKAAUAAoABYACQAGgADANaBpITRwA/Fz1l7l52+2YZgd+XwkBXz7xZBuWZRIJlpNIdhL0F9IRqyWRaiXkL6cqMpsYbZwYmMnd9bdhWUkGFUylwKhgY+vzHJ13Ee+ar3Fe/gIe63yRUqppYTd1nWswzSRj805hR2qVo2Ui1U403kRBeBjzg2fQmkwQ8fh4tPWPznhVRSeQspIMtybyTuofNHdscOZWmj+RtugOTCvpjD+4YAZlVNFi1LGzbfl7tj2Gl+GFH6HNrHX6tcV2MC48n6jRTooklWYVa3mTpo4NhINlDPVPxW8FybPyWB59FK/XT3FgBMUMYVvqbVJmzBk3L1jBRP/JbLDeoMBbwa6OlcSSTXg9QT5efg2vRDdRZBbzasvtgI9IcAgnhM7nwuoA3970JAFvHvFUO15PgGiikbLgWFqSO/bYDlU4mkQTddg3+Hu9BXiNAKPyT2SCMYL2VIJ/dP6VpBll/4dAign6ipjEMcRIMCpYzCdGdXDOktvxeIKEA6XEE23Ek80Yho+QvxSfN0jKTDh/nhQ8h0dbbseyUo5WtnYWFj5P2NHZPgK+Asdn9rzt7WOSzt/DTowUBUfQFN1EZ7wOnzfMuLxT6TCaGWOO4/XUUzS3b8DjCfCtUZ/nt7ufZH7gVP7e9len/bDCY0naszY7yfOWs7tjJZHAIAp9Q5nIRFaxkm0trzr9Q/5iyoPjnfkYeNnc8jxeT4jZkQvx42Wl9QpF3io2t75AUWQE5d7RLCgcw9PNm9nY+RLF4ZF8c9hx/Gr7SlpSe2KoqX0DJXljGeGdyRZzBbFks+MD+/hC1We4u+llgkYefsK82/QIHk+I84r+ibhl8mrqORra1hIOlDu6TQzPp4wiVlivUdu6HI/hZ3LBeXjwEDM62dL5GtFEA8WR0Y79MyMLeCG+zFmfvY4R+XNpMms42jPXWXdjbCNXlH6M11vr2G6soaF9HSkz6vjGHm//h0CKODp8ASlSNHjqqDKHsbjtD07b/NBQOmJ1jq+GhGbQYm4n3zOIeaEpxFIQ9MIfdv22K8eZzp+WFcMwgs44RXmj8Rg+yn1jCVohVrctIpWyX0TkceLJnkfAV0LKijtx6fOGnJ9YosXp7/fmOWP7vREn5g3DQ1lgLFtaX2J23iW0Gi0MYwhLkk9hWgkn7op8w2hN7WKMMYulHfc7ds8q+AQJTFZYK9jdvtKxvdf3uzy7qYm94cS5x+OjJDyGodZYyo1Cnmy51RlzcME0QkYhUauFps5Nzhyrgkc752uCJLuNTU4OSZmdVBQeRbU1mbWpF2nr3Ob4pyJ/GvWd67i05FLub33E+dy0UowtWsBws4q3WOL43dblkrLPkzQtlpjLaIiud/LonIKreDvxJCXBUQwyh7Os7V5nDXb/3Yl3OClwJo+23OHob+eCgDcfr+F3Yn1ny+vO50MKZzPemm4rzyvRB53cEwkOojQ4Bi9+atpec85New4VhTOcNdhtX2//K6YZIxKscMafzHSWpJ6hsc3Oxz5GFp/CT8dMYPbIHcx+4l3iyVZHMztuhhYcRdRsoa51FR6Pn5l5F9Ho2c1UYxxPttv5qNPxj33Mz7+Sd9nIhuannPxcVjDZsWXnzLeij5JMRSnPn+ic73Yesb9zOmLb8fuKKM+bRMpKkDDbaenc+t58C4KVVDCWDfGXaO3c6Iwzpvgcys3BrDVfceLs1MhFvBB/nInej7Ai9pgzpn3YWuyN0T0BbhLwlTm5MOgvYV7kMsdvu1qWO/O11+zz5nFM5GLWWK9S7B3unC+lnuGcWjCGu5uepKHtHcemHdd2DkmmOp38b/cPBUqxLIu5oQsYmRfglu2/6jpPbH3s88X+8YJlgv13PI4dez52jrPt2fnaPt8i/nLnnLc/s79/7O9K+++DghPZ2fGWk0vs9QwtPNbJMZ1mk/N72+YpwdOpS3TyZvJJJ8baY7swMBhWOIeOVAPNnZtJJFudMSsLZlPbsRq/L0JnrI6Ar4jO+E4MI+B8F+SHh+33/WGraM9l4eR5fGntTkfVEVYVE4qCnDVkzwvKyiJRjn3u1q6c4mSUrh+KgJZ9fpHxX42Me6jDvgoMszeCliRSQApIASkgBaSAFOhFBaqAbT0ZTwDYE/Xs4glUAnv+E0mHFJACUkAKSAEpIAXcVcB+C9n2vaXA7g4lAOyucuonBaSAFJACUkAKSIF+qoAAsJ86TtOWAlJACkgBKSAFpEB3FRAAdlc59ZMCUkAKSAEpIAWkQD9VQADYTx2naUsBKSAFpIAUkAJSoLsKCAC7q5z6SQEpIAWkgBSQAlKgnyogAOynjtO0pYAUkAJSQApIASnQXQUEgN1VTv2kgBSQAlJACkgBKdBPFRAA9lPHadpSQApIASkgBaSAFOiuAgLA7iqnflJACkgBKSAFpIAU6KcKCAD7qeM0bSkgBaSAFJACUkAKdFcBAWB3lVM/KSAFpIAUkAJSQAr0UwUEgP3UcZq2FJACUkAKSAEpIAW6q4AAsLvKqZ8UkAJSQApIASkgBfqpAgLAfuo4TVsKSAEpIAWkgBSQAt1VQADYXeXUTwpIASkgBaSAFJAC/VQBAWA/dZymLQWkgBSQAlJACkiB7iogAOyucuonBaSAFJACUkAKSIF+qoAAsJ86TtOWAlJACkgBKSAFpEB3FRAAdlc59ZMCUkAKSAEpIAWkQD9VQADYM8fZ+lUCrT0zo95SQApIASkgBaSAFEhLgQJgO2Cl1foQjQSAPVEPhgE1PTOh3lJACkgBKSAFpIAUyEiBKmBbRj0OaCwA7Il6UAg0D5m4gJ3vPMGUj37Hsbbyse/z/PPPM3PmzJ5ZV28pIAWkgBSQAlKg3ymwbNkyTjrpJIcLIqUjsjb/1t1reeepn9j2ioCWnhgWAPZEvS4AHHnsJ9n02h84/lMLHWsv33Elb7zxBrNmzeqZdfWWAlJACkgBKSAF+p0CS5cu5eijj3a4oGjIpKzNv37LGyxZ+BkBYNYU7b4hpwIoAOy+gOopBaSAFJACUmCgKSAAHGge/eB6BIAD38daoRSQAlJACkiBjBQQAGYkV79sLADsl27TpKWAFJACUkAKuKeAANA9bXPFsgAwVzyheUgBKSAFpIAUyBEFBIA54ggXpyEAdFFcmZYCUkAKSAEp0B8VEAD2R69lNmcBYGZ6qbUUkAJSQApIgQGvgABwwLt4zz6Aegp44DtaK5QCUkAKSAEpkK4CAsB0leq/7QSA/dd3mrkUkAJSQApIAVcUEAC6ImtOGRUA5pQ7NBkpIAWkgBSQAn2vgACw733g9gwEgG4rLPtSQApIASkgBfqZAgLAfuawbkxXANgN0dRFCkgBKSAFpMBAVkAAOJC9u2dtAsCB72OtUApIASkgBaRARgoIADOSq182FgD2S7dp0lJACkgBKSAF3FNAAOietrliWQCYK57QPKSAFJACUkAK5IgCAsAccYSL0xAAuiiuTEsBKSAFpIAU6I8KCAD7o9cym7MAMDO91FoKSAEpIAWkwIBXQAA44F2sh0AGvou1QikgBaSAFJACmSkgAMxMr95sfQdwNXA98ON9Br4AuB8w0pyMKoBpCqVmUkAKSAEpIAWOFAUEgLnraRsALwOiwGigsWuqAsDc9ZlmJgWkgBSQAlKgXyggAMxdN9kAWAaMBR4Gvi4AzF1naWZSQApIASkgBfqTAgLA3PWWDYDFwJ3AQmAcUAOoApi7PtPMpIAUkAJSQAr0CwUEgLnrpr0AaAPfy8Aq4NMCwNx1mGYmBaSAFJACUqC/KCAAzF1P7QuA84BngOnAeD0EkrtO08ykgBSQAlJACvQHBQSAueulfQHQnuXfgQRgf66ngHPXb5qZFJACUkAKSIGcV0AAmLsuOhAApwHLgJ8DX9M2MLnrOM1MCkgBKSAFpECuKyAAzF0PHQiA9kz/AFwChASAues4zUwKSAEpIAWkQK4rIADMXQ8dDABHAGuAoAAwdx2nmUkBKSAFpIAUyHUFBIC57qGez09vAum5hrIgBaSAFJACUmBAKSAAHFDuPOhiBIAD38daoRSQAlJACkiBjBQQAGYkV79obF8etn/2HgX2BtKjZ13AjtWPM/XM7zqfv73oeyxevJgZM2b0i0UNlEnW1NRQX1//geWUlZVRVVXV7WW6ZbfbE1LHHitwMJ/2NE7sSbllt8cLlgEp0A0F3Mp9btntxhJd67J8+XLmzZvncEGk1L7DLDtH6641LH34P21jRUBLT6waPel8BPa9EbjhwHUvXLiQSCRyBMqhJUsBKSAFpIAUkAK9pUBHRwdXXnmlALC3BN9nnINWAJ999ln8fj/B4J7iYDYqCX2wtn495KH+a6ujYXOPKrJu2e3XYvfzyR/Mpz2NE1sSt+z2c7k1/X6qgFu5zy27uSjzoSqdPZlrW1sbp5xyigCwJyJmqa9zD2BzczOFhfZfdfSVAoe636J552pevuNK3njjDWbNmpXx9Nyym/FE1CFrChzMpz2NE3tybtnN2sJlSApkoIBbuc8tuxksrV83bWlpoajIvvqrS8B97UgBYF97oGt8t5KKW3ZzRLYjchpugZpbdo9IJ2nRfa6AW7nPLbt9LlgvTUAA2EtCpzGMADANkXqjiVtJxS27vaGJxji4Am6Bmlt25Ucp0BcKuJX73LLbFxr1xZgCwL5Q/eBjCgBzxBduJRW37OaIbEfkNNwCNbfsHpFO0qL7XAG3cp9bdvtcsF6agACwl4ROYxgBYBoi9UYTt5KKW3Z7QxONoQqgYkAKdFcBt3KfW3a7u87+1k8AmDseEwDmiC/cSipu2c0R2Y7IabhVqXPL7hHpJC26zxVwK/e5ZbfPBeulCQgAe0noNIYRAKYhUm80cSupuGW3NzTRGKoAKgakQHcVcCv3uWW3u+vsb/0EgLnjMQFgjvjCraTilt0cke2InIZblTq37B6RTtKi+1wBt3KfW3b7XLBemoAAsJeETmMYAWAaIvVGE7eSilt2e0MTjaEKoGJACnRXAbdyn1t2u7vO/tZPAJg7HhMA5ogv3EoqbtnNEdmOyGm4Valzy+4R6SQtus8VcCv3uWW3zwXrpQkIAHtJ6DSGEQCmIVJvNHErqbhltzc00RiqACoGpEB3FXAr97llt7vr7G/9BIC54zEBYI74wq2k4pbdHJHtiJyGW5U6t+wekU7SovtcAbdyn1t2+1ywXpqAALCXhE5jGAFgGiL1RhO3kopbdntDE42hCqBiQAp0VwG3cp9bdru7zv7WTwCYOx4TAOaIL9xKKm7ZzRHZjshpuFWpc8vuEekkLbrPFXAr97llt88F66UJCAB7Seg0hhEApiFSb+4CbQYAACAASURBVDRxK6m4Zbc3NNEYqgAqBqRAdxVwK/e5Zbe76+xv/QSAueMxAWCO+MKtpOKW3RyR7YichluVOrfsHpFO0qL7XAG3cp9bdvtcsF6agACwl4ROYxgBYBoi9UYTt5KKW3Z7QxONoQqgYkAKdFcBt3KfW3a7u87+1k8AmDseEwDmiC/cSipu2c0R2Y7IabhVqXPL7hHpJC26zxVwK/e5ZbfPBeulCQgAe0noNIYRAKYhUm80cSupuGW3NzTRGKoAKgakQHcVcCv3uWW3u+vsb/0EgB/usTuAqw/SZBywbp/PBwHbgSIgDjQDk4AtGQSEADADsdxs6lZSccuum1rI9ocr4Falzi278qcU6AsF3Mp9btntC436YkwB4OEBsAK45oBmtUBqn8/OA74DHAPMAe4FqjN0qAAwQ8Hcau5WUnHLrls6yO7hFXAL1Nyye/gVqYUUyL4CbuU+t+xmX4HctCgAPDwAFgMXHMZ9PwZCwJeAr3SB4OUZulwAmKFgbjV3K6m4ZdctHWT38Aq4BWpu2T38itRCCmRfAbdyn1t2s69AbloUAHYfAIcDK7q6R7oqgjEgDFhAFFgI/HOarhcApimU283cSipu2XVbD9k/tAJugZpbduVLKdAXCriV+9yy2xca9cWYAsDDA+BVXTC3t+Ui4BLAB1QBNri93lX1awOWAWd33f9n/7suTccKANMUyu1mbiUVt+y6rYfsCwAVA1KgJwq4lfvcstuTtfanvgLAwwPgMODz+zRrB3bs8+9LgS8Cc7t+7gTGdiMIBIDdEM2NLm4lFbfsuqGBbKangFuVOrfsprcqtZIC2VXArdznlt3srj53rQkADw+Ah7oHcCUwAvADHsC+/GtXBe0f+/LvZmBKBq4XAGYglptN3Uoqbtl1UwvZ/nAF3AI1t+zKn1KgLxRwK/e5ZbcvNOqLMQWA3QfAvfD3NPB14A3gL4C9dcxjQKILAtP1qwAwXaVcbudWUnHLrstyyPyHKOAWqLllV86UAn2hgFu5zy27faFRX4wpAOw+ANo9hwCbALtKaAJNXZd/7T0BMz0EgJkq5lJ7t5KKW3ZdkkFm01DALVBzy24aS1ITKZB1BdzKfW7ZzboAOWpQANgzALS3evkX4MSun9sBe5Po7hwCwO6o5kIft5KKW3ZdkEAm01TALVBzy26ay1IzKZBVBdzKfW7Zzeric9iYADB3nCMAzBFfuJVU3LKbI7IdkdNwC9TcsntEOkmL7nMF3Mp9btntc8F6aQICwF4SOo1hBIBpiNQbTdxKKm7Z7Q1NNMbBFXAL1NyyKz9Kgb5QwK3c55bdvtCoL8YUAPaF6nvGDHb97J1BAVBTV1dHYaHNgnuOmpoa6uvr+26WR+DIa9as4brrrmPqmd8lUmo/67Pn6GjYzNuLvsfixYuZMWPGYX1UVlZGVZW9VeSeY/ny5cybNy8ju3a/fW0cyh2Kk74J1IPFyqHi5FDn84FxcqhYOZxdxUr6MRCLxQgG7RSsozcUyKWcan+fHuycO1CHXMup6cw5U1/aAFheXm53KwJaMu2/b3ujJ52PwL43AjccuO6FCxcSidgvFtEhBaSAFJACUkAKSAF3FOjo6ODKK68UALoj74daPWwF8FAVoz6Y6xE15N5Kyy233MKECRP2W3s2qnoHq+geyq49+IEVxwOdoTjpu/A8VKxkq6p3YKx8mF3FSnpxULfxZTa8dOsHKvHp9Var7iiQSzl11Jyr2fjqnR+aV3Mtp35Y9b87/tjbRxXAnqiX3b4fuAfwUPc3ZHdYWTtQgeadq3n5jit54403mDVr1ocK5NY9KHvt2oMfbh6Kk76L4Z7GSib9D7VKxUpm/t+28lHeevhbHP+phRQNmZRZZ7XulgKZxLnbOXXKmd9h5aLvf2hezbWcmol+mThI9wBmopa7bQWA7uqbtvVMTja3k5UAMG239UnDnsZKJv0FgNlxsQAwOzpmYiWTOHc7pwoA3/ecADCTKHa3rQDQXX3Ttp5LyUoAmLbb+qRhT2Mlk/4CwOy4WACYHR0zsZJJnAsAP6hsJvpl4hcBYCZqudtWAOiuvmlbz+RkcztZCQDTdlufNOxprGTSXwCYHRcLALOjYyZWMolzt3OqKoCqAGYSu73VVgDYW0ofZpxcSlYCwBwJikNMo6exkkl/AWB2YkEAmB0dM7GSSZwLAFUBzCS2BkpbAWCOeDKXkpUAMEeCQgCY247IYHYCwAzEylLTXMqpqgCqApilsM6qGQFgVuXsvrFcSlYCwO77sTd69jRWMumvCmB2PCoAzI6OmVjJJM5VAVQFMJPYGihtBYA54slcSlYCwBwJClUAc9sRGcxOAJiBWFlqmks5VRVAVQCzFNZZNSMAzKqc3TeWS8lKANh9P/ZGz57GSib9VQHMjkcFgNnRMRMrmcS5KoCqAGYSWwOlrQAwRzyZS8lKAJgjQaEKYG47IoPZCQAzECtLTXMpp6oCqApglsI6q2YEgFmVs/vGcilZCQC778fe6NnTWMmkvyqA2fGoADA7OmZiJZM4VwVQFcBMYmugtBUA5ogncylZCQBzJChUAcxtR2QwOwFgBmJlqWku5VRVAFUBzFJYZ9WMADCrcnbfWC4lKwFg9/3YGz17GiuZ9FcFMDseFQBmR8dMrGQS56oAqgKYSWwNlLYCwBzxZC4lKwFgjgSFKoC57YgMZicAzECsLDXNpZyqCqAqgFkK66yaEQBmVc7uG8ulZCUA7L4fe6NnT2Mlk/6qAGbHowLA7OiYiZVM4lwVQFUAM4mtgdJWAJgjnsylZCUAzJGgUAUwtx2RwewEgBmIlaWmuZRTVQFUBTBLYZ1VMwLArMrZfWO5lKwEgN33Y2/07GmsZNJfFcDseFQAmB0dM7GSSZyrAqgKYCaxNVDaCgBzxJO5lKwEgDkSFKoA5rYjMpidADADsbLUNJdyqiqAqgBmKazfM3MHcPVBjD4OfDTNwQSAaQrldrNcSlYCQLe93TP7PY2VTPqrAtgzX+3tLQDMjo6ZWMkkzlUBVAUwk9jKhbY2AFYA1xwwmRjQmOYEBYBpCuV2s1xKVgJAt73dM/s9jZVM+gsAe+YrAWB29OuOlUziXAAoAOxOjPVlHxsAi4ELejAJAWAPxMtm11xKVgLAbHo2+7Z6GiuZ9BcAZsd/qgBmR8dMrGQS5wJAAWAmsZULbQWAueCFLM0hl5KVADBLTnXJTE9jJZP+AsDsOFEAmB0dM7GSSZwLAAWAmcRWLrS1AfAqIHrAZH4E2D/pHKoApqNSL7TJpWQlAOwFh/dgiJ7GSib9BYA9cNQ+XQWA2dExEyuZxLkAUACYSWzlQlsbAIcBnz9gMg2A/ZPOIQBMR6VeaJNLyUoA2AsO78EQPY2VTPoLAHvgKAFgdsTrppVM4lwAKADsZpj1WTddAu4z6bM/cC4lKwFg9v2bTYs9jZVM+gsAs+M5VQCzo2MmVjKJcwGgADCT2MqFtgLAXPBCluaQS8lKAJglp7pkpqexkkl/AWB2nCgAzI6OmVjJJM4FgALATGIrF9oeahuYJFCX5gR1CThNodxulkvJSgDotrd7Zr+nsZJJfwFgz3y1t7cAMDs6ZmIlkzgXAAoAM4mtXGh7qI2g1wAT05ygADBNodxulkvJSgDotrd7Zr+nsZJJfwFgz3wlAMyOft2xkkmcCwAFgN2Jsf7eRwCYIx7MpWQlAMyRoDjENHoaK5n0FwBmJxZUAcyOjplYySTOBYACwExia6C0FQDmiCdzKVkJAHMkKASAue2IDGYnAMxArCw1zaWcqncBv+/UlpYWioqK7A/s/2vpibuNnnQ+AvsGAftn71EA1NTV1VFYaLMgLF++nHnz5jH1zO8SKR1xBErUN0vuaNjM24u+x+LFi5kxY8aHTuJQPsrExsEG2GvX/t0tt9zChAkTDjmPNWvWcN111ylO+iBcMvHzwWIlk/6HWp5iJTPH1218mQ0v3arzJTPZetQ6kzh3O6eOmnM1G1+980Pzaq7l1Ez0y8RRNgCWl5cLADMRLUttbwRuONDWwoULiUQiWRpCZqSAFJACUkAKSAEp8EEFOjo6uPLKKwWAfRAch60A2nOqqamhvr6+D6Z3ZA9ZVlZGVVVVWiIcykeZ2DjYQI8//jiXXnrpYSsVe//r8HCVwrQWo0YZK5CJnw8WK5n0P9TkFCuZuS0WixEM7nsBJrP+ap25ApnEuVs51bb70ksvHfaKSS7m1Ez0S9c7qgCmq5T77T5wD6D7Q2qEXFbgUDdDHzjnTO6vyeX1am7dV0Cx0n3t1PPIUiCdc+VIyam6BzB3Yl8AmDu+yImZpJOo7IkeKckqJ5ySo5NQrOSoYzStnFMgnXPlSMmpAsDcCU8BYO74Iidmkk6iEgDmhKv6fBKKlT53gSbQTxRI51wRAGbuTD0FnLlm+/YQAPZMvwHXO51EJQAccG7v1oIUK92STZ2OQAXSOVcEgJkHhgAwc80EgD3TbED3TidRCQAHdAj8//bOBeiuqrrjP0GKjZBAHjxKFMuooEUCowL1ER2kIkpbYKTVTBCxYoFSCm0BHwiIjmhVRKqUkU5FwGhrKY61oK20NBUaRIQwlGJbtWgQzUuSQoAitLPCvs7Nzf3y7b3P3t9Z95z/mclMkm/vtdf+rX3W97/7daM7p7ESjUoFe04g5l2RAEwfJBKA6cwkAJsx63TtmEQlAdjpIRDdOY2VaFQq2HMCMe+KBGD6IJEATGcmAdiMWadrxyQqCcBOD4HozmmsRKNSwZ4TiHlXJADTB4kEYDozCcBmzDpdOyZRSQB2eghEd05jJRqVCvacQMy7IgGYPkgkANOZSQA2Y9bp2jGJSgKw00MgunMaK9GoVLDnBGLeFQnA9EEiAZjOTAKwGbNO145JVBKAnR4C0Z3TWIlGpYI9JxDzrkgApg8SCcB0ZhKAzZh1unZMopIA7PQQiO6cxko0KhXsOYGYd0UCMH2QSACmM5MAbMas07VjEpUEYKeHQHTnNFaiUalgzwnEvCsSgOmDRAIwnZkEYDNmna4dk6gkADs9BKI7p7ESjUoFe04g5l2RAEwfJBKA6cwkAJsx63TtmEQlAdjpIRDdOY2VaFQq2HMCMe+KBGD6IJEATGcmAdiMWadrxyQqCcBOD4HozmmsRKNSwZ4TiHlXJADTB4kEYDozCcBmzDpdOyZRSQB2eghEd05jJRqVCvacQMy7IgGYPkgkANOZSQA2Y9bp2jGJSgKw00MgunMaK9GoVLDnBGLeFQnA9EHSRQH4HOD7wEHAnelIkmrMBjZs2LCB2bPtr3r6TiAmUUkA9n2UPNV/jRWNAxGIIxDzrkgAxrEcLlVCAF4JnBCM/gxYD9wFfB6wnz2Z7lajGtsDC4C1gPkzePYG7g0/ezPwFmD/8MPbgXcD30xsWQIwEVjXi8ckKgnAro+CuP5prMRxUikRiHlXJADTx0kpAbg7cCJg4sv+/jrgXcC/AL8xIsTSvSxT4/Tg1+uBzwE3A7cAjwLnAMcAvwLcn9CcBGACrD4UjUlUEoB9GAnT91FjZXpGKiECRiDmXZEATB8rpQTgLsDRI80fBtwInAT8+RjX3gpcAiwFPgY8C7g+zMwdB7wPmANcDZwJPBFsWPkzgH2Bh4F/DP9eHX4+1RKw+fJF4PIxvphw/SlwGnBVAkYJwARYfSgak6gkAPswEqbvo8bK9IxUQgQkALccAxs3bmTOHJNGm/XRxiYjpKYANL9sD96PAJt1s+VgE2evDg6bAPw0cFOYgdsZ+BvAlmMfDAJwH+DaIAr/MtR7G/AA8B1gN+DiUN7asGecADSB+hPA7I2b4bO2TUCa8PxKAlAJwARYfSiqX+p9iHKZPmqslOEoK90nEPOuaAYwfRzUFoBfAA4AXghcBOwVxJx5agLwM8Bzge8G12127viwjPxQ+L+vAv8NnDxF914C3AaYiLM64wTgkjCL+NIpbFwGHBGWgG1JOPaRAIwl1ZNyMYnKUPQlWfUk7Fnd1FjJwqZKPSQQ8670JadO0gygzdrZQQvbWzf6mAD8FPDMoR/Ysu8bR8p/Noi7Y0O5FwMXAIuAXYHtgFmhzj1TCEDz427g/WP8eCdwdpiZtMMrKY8EYAqtHpSNSVQSgD0YCBFd1FiJgKQiIqA9gFuMgUkSgCaofgAcNYUAtD2Atjw7eEzY2V7CA4f+z5aOB3sMTSzeB3wt7OVbAzw7/Htw7cvoDOAO4UTwYmDliB9/DJwLHA58K+NNkwDMgNblKvql3uXolu2bxkpZnrLWXQIx74pmANPjX3MJeHAIxPbs2VLv6DM4BJIiAG32z4Saib4fBoN2KMQOikwlAF8b9hqaMBx+zgriz5Z+V6Sj21xDAjATXFerxSQq63tfklVX41yiXxorJSjKRh8IxLwrfcmpHmcAp7oGxg542IyeneAdtwcwdQbQ7vdbBXwizADa8vJHgOdvQwB+MtxFaNfADB5b8rXlYNsbaNfBDB7bQzjYexjzXkkAxlDqUZmYRCUB2KMBsY2uaqxoHIhAHIGYd0UCMI7lcKlSM4DDF0HbdSq21LoMsP17g4ugx50CThWA5rtd4vxBYE/bGhCE5Ze3IQBtCdpmIb8+1HE7VGIXQ48+tgfRlqFjHwnAWFI9KReTqCQAezIYpummxorGgQjEEYh5VyQA41iWFoDprdatYfcD2jd+PC8s0do9gTZz+HiFZiUAK0CdZJMxiUoCcJIjXM53jZVyLGWp2wRi3hUJwPQxUGIGML3VejXmAqeEU712R6CdFDZBaHsEazwSgDWoTrDNmEQlATjBAS7ousZKQZgy1WkCMe+KBGD6EOiaALwOsIMidrWLLUGXfnYE7M/gsbsHV61du5bZs00L6pl0AqtWrWLdunVbdGPevHksXLgwqmsrV65k8eLF7H/kecyaO26XwVNmNq2/j7tvuJDly5ezaJF9TtEzSQTGjRPzX2NlkqIoX2eCQNOcaj7G5NW+5FQ7BDJ//nzD4uKbQGZiDHlpw/YHnj/qzLJly5g1y64i1CMCIiACIiACIiACdQhs2rSJJUvs/KoEYB3CU1vVDOBME5/B9sZ9ysz5VDnV7NBoV1Jmi2YQg5qahsBUsxEaKxo6IrAlgVI51azG5NU+5FTNAPp5y7QH0E8sGnsybp9JX/aVNIbXIwNT7UfSWOnRIFBXowgop0ZhSirk7R7AJOc7VlgCsEMBVbLqUDArdkUCsCJcme4UAeXU8uGUACzPNNeiBGAuOYf1lKwcBsWhSxKADoMil1wSUE4tHxYJwPJMcy1KAOaSc1hPycphUBy6JAHoMChyySUB5dTyYZEALM8016IEYC45h/WUrBwGxaFLEoAOgyKXXBJQTi0fFgnA8kxzLUoA5pJzWE/JymFQHLokAegwKHLJJQHl1PJhkQAszzTXogRgLjmH9ZSsHAbFoUsSgA6DIpdcElBOLR8WCcDyTHMtSgDmknNYT8nKYVAcuiQB6DAocsklAeXU8mGRACzPNNeiBGAuOYf1lKwcBsWhSxKADoMil1wSUE4tHxYJwPJMcy1KAOaSc1hPycphUBy6JAHoMChyySUB5dTyYZEALM8016IEYC45h/WUrBwGxaFLEoAOgyKXXBJQTi0fFgnA8kxzLUoA5pJzWE/JymFQHLokAegwKHLJJQHl1PJhkQAszzTXogRgLjmH9ZSsHAbFoUsSgA6DIpdcElBOLR8WCcDyTHMtSgDmknNYT8nKYVAcuiQB6DAocsklAeXU8mGRACzPNNeiBGAuOYf1lKwcBsWhSxKADoMil1wSUE4tHxYJwPJMcy1KAOaSc1hPycphUBy6JAHoMChyySUB5dTyYZEALM8016IEYC45h/WUrBwGxaFLEoAOgyKXXBJQTi0fFgnA8kxzLUoA5pJzWE/JymFQHLokAegwKHLJJQHl1PJhkQAszzTXogRgLjmH9ZSsHAbFoUsSgA6DIpdcElBOLR8WCcCpme4BvAd4A7AXsBq4E7gEuHGk2nHAmcDLgJcDVwP7JIZLAjARmOfiSlaeo+PHNwlAP7GQJ74JKKeWj48E4HimzwFuBh4EzgfuAnYAjgDeAew3Uu1i4AngLOAcYH/g+MRwSQAmAvNcXMnKc3T8+CYB6CcW8sQ3AeXU8vGRABzP9HrgAGBf4OGRIrsEYTj83yuADwFfAv4W+Dvg8sRwSQAmAvNcXMnKc3T8+CYB6CcW8sQ3AeXU8vGRANya6VxgbVj+vWgbyJcAl4Wfm3gzoWizgDsDjwA/A04FlkWGTQIwEtQkFFOymoQote+jBGD7MZAHk0FAObV8nCQAt2Z6MHArcCxw3TaQ7wTMBw4HzgCOCrOGNvNnewHtMSH5UGTYJAAjQU1CMSWrSYhS+z5KALYfA3kwGQSUU8vHSQJwa6aHALake0xY0p2Ous0C/jTMGNqhkV8G3j5dpTE/lwDMgOa1ipKV18j48ksC0Fc85I1fAsqp5WMjAbg105gl4GcD94SqzwjLvbbkuyPwJPA4cA1wckLIJAATYHkvqmTlPUI+/JMA9BEHeeGfgHJq+RhJAI5negPwom0cArFlXTspvHu4EuZAYPtwTYxdA7Me2BiujomNmgRgLKkJKKdkNQFBcuCiBKCDIMiFiSCgnFo+TBKA45naMu4tQcidF66BeTrwa8ApwAtCtTeFf78KWAxcEURjTqQkAHOoOa2jZOU0MM7ckgB0FhC545aAcmr50EgATs10z7Cvzw532N/XALcDHwduCtXswIf9/3vDH1saPikzTBKAmeA8VlOy8hgVfz5JAPqLiTzySUA5tXxcJADLM821KAGYS85hPSUrh0Fx6JIEoMOgyCWXBJRTy4dFArA801yLEoC55BzWU7JyGBSHLkkAOgyKXHJJQDm1fFgkAMszjbVoJ4btz+CxC6RXrV27ltmzTQvq8Uhg1apVrFu3bgvX5s2bx8KFC7f4v5UrV7J48WL2P/I8Zs3de/PPNq2/j7tvuJDly5ezaNGiLcrH2vXIRD5tTWBcPK3U6FgZN062NVZi7SomIjApBGJzn3Jq+YiaAJw/364zZk44uJrdyNOya/az4gXhe4a36P2yZcuYNWtWP4mo1yIgAiIgAiIgAjNCYNOmTSxZYl9qJgE4I8CHGtEM4EwTb9herU+gqXYbdkPVKxOoNauXardyN2VeBBoTSM19tWYLG3dkQg1oBtBP4LQH0E8sxnpSaw9KLbvOcXbWvVr7+mrZ7Wwg1DH3BGrlvlp23QNNdFB7ABOBVSwuAVgRbgnTtZJKLbsl+iwb6QRqCbVadtN7qBoiUIZArdxXy26ZXvuxIgHoJxYSgH5ioRlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCUA/EZUA9BMLCUDnsfDsXi2hVsuuZ5byrdsEagm1Wna7Fg0JQD8RlQD0EwsJQOex8OxeLaFWy65nlvKt2wRqCbVadrsWDQlAPxGVAPQTCwlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCUA/EZUA9BMLCUDnsfDsXi2hVsuuZ5byrdsEagm1Wna7Fg0JQD8RlQD0EwsJQOex8OxeLaFWy65nlvKt2wRqCbVadrsWDQlAPxGVAPQTCwlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCUA/EZUA9BMLCUDnsfDsXi2hVsuuZ5byrdsEagm1Wna7Fg0JQD8RlQD0EwsJQOex8OxeLaFWy65nlvKt2wRqCbVadrsWDQlAPxGVAPQTCwlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCUA/EZUA9BMLCUDnsfDsXi2hVsuuZ5byrdsEagm1Wna7Fg0JQD8RlQD0EwsJQOex8OxeLaFWy65nlvKt2wRqCbVadrsWDQlAPxGVAPQTCwlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCUA/EZUA9BMLCUDnsfDsXi2hVsuuZ5byrdsEagm1Wna7Fg0JQD8RlQD0EwsJQOex8OxeLaFWy65nlvKt2wRqCbVadrsWDQlAPxGVAPQTCwlA57Hw7F4toVbLrmeW8q3bBGoJtVp2uxYNCcAyEb0SOGHI1HrgNuBs4K7IJiQAI0G1VaxWUqllty1OfW+3llCrZbfv8VL/2yNQK/fVstseqTotSwCW4WoCcHfgxGBuD+ADwAHAsyObkACMBNVWsVpJpZbdtjj1vd1aQq2W3b7HS/1vj0Ct3FfLbnuk6rQsAViGqwnAXYCjh8y9ElgO7AasiWhGAjACUptFaiWVWnbbZNXntmsJtVp2+xwr9b1dArVyXy277dIq37oEYBmmowJwJ+CjwGuAfYEnI5qRAIyA1GaRWkmllt02WfW57VpCrZbdPsdKfW+XQK3cV8tuu7TKty4BWIapCcClwKPB3DOBB4CjgG9HNiEBGAmqrWK1kkotu21x6nu7tYRaLbt9j5f63x6BWrmvlt32SNVpWQKwDFcTgHsBpwRzc4FTgSOBg4H7IpqRAIyA1GaRWkmllt02WfW57VpCrZbdPsdKfW+XQK3cV8tuu7TKty4BWIbpuD2A2wMbgEuAcyOakQCMgNRmkVpJpZbdNln1ue1aQq2W3T7HSn1vl0Ct3FfLbru0yrcuAViG6TgBuB3wIHAF8EcRzUgARkBqs0itpFLLbpus+tx2LaFWy26fY6W+t0ugVu6rZbddWuVblwAsw3T0GphdgdPCkvBhwE0RzUgARkBqs0itpFLLbpus+tx2LaFWy26fY6W+t0ugVu6rZbddWuVblwAsw3T0Iuj/Ae4FPgxcG9mEBGAkqLaK1Uoqtey2xanv7dYSarXs9j1e6n97BGrlvlp22yNVp2UJwDpcc6xKAOZQm8E6tZJKLbsziEZNDRGoJdRq2VXwRKAtArVyXy27bXGq1a4EYC2y6XY3C8A1a9Ywe7b9VY83AnfccQeHHnoohxx/FXP22G+zext+fC+3Xv0WVqxYwUEHHZTlci27Tc32PwAACS1JREFUWc6oUmMC4+JZYqzUstu4wzIgApkEauW+WnYzu+m2mgnABQsWmH9zgI1NHH1ak8o9rLsjYH8Gz87AqtNPP50ddxz+7x6Scdrl1atXc80117Bgn1ewwy8+JdIff2Qja773DZYuXcpuu9mXvqQ/teyme6IaJQiMi2eJsVLLbok+y4YI5BColftq2c3po+c6jz32GJdeeqkEYAtBugA4v4V21aQIiIAIiIAIiIAIDAgsBO5vgkMzgGn0xs4AAhYIO0Sipx6BzbOtYl0P8JBlsZ4RzJsbEWuxnjkCM9eSxnVd1sb3R8D/NWlGArAJPdi8B7DEWnwzN3pRW6xnLsxiLdYzR2DmWtK4FuuZIzABLUkANguSEkozfim1xTqFVrOyYt2MX0ptsU6h1aysWDfjl1JbrFNotVRWArAZeA3yZvxSaot1Cq1mZcW6Gb+U2mKdQqtZWbFuxi+ltlin0GqprARgM/C2J/BdwEXAY81MqfY0BMR65oaIWIv1zBGYuZY0rsV65ghMQEsSgBMQJLkoAiIgAiIgAiIgAiUJSACWpClbIiACIiACIiACIjABBCQAJyBIclEEREAEREAEREAEShKQACxJU7ZEQAREQAREQAREYAIISABOQJDkogiIgAiIgAiIgAiUJCABmE/z94CzgD2AlcDvA9/MN6ea4UT1scB+wCPALcA5wHeG6DwD+BjwpvC9zF8DTgV+IoKNCNhp9g8CnwDOCJbEuhHSLSrvBXwYOBKYBfwXcCLwrVDKcvH7gJOAXYCbgVOA/yznQi8sbQ/YV3YuDbnZvi3hSuADQ9+aINZ5Q2Fx+J33YmBP4BjgS0OmYrjOBf4U+HXgSeBa4A+Ah/JcUq0mBCQA8+j9NnAVcDJwa/iFeRywL7A6z6RqAV8FvgDcBjw9CJL9gRcCDwdCfwa8AXhr+BaWT4ZE8nIRzCbwUuCvgI3APw0JQLHORrpFxV2BOwJbY7oGeB7w3fDHCtsHHRPhNq6/B7wfeFEY+4+WcaMXVt4N/CFwAvBvwEuAzwDvAS4NBMQ6byjYhxfLs98Owm1UAMZwvSGIx98FdgixsXy/JM8l1WpCQAIwj56JPhu0p4Xq2wE/DJ9sPpRnUrXGEFgQBPWrgOXhK/fsl6cli78O5W228N+BXwVWiGIygZ1CQrdZ1HOBO4MAnBOEilgnI92qguUE+8X5yilMWR62mSqb2f5oKGP8bVbbBKF9KNITR+ArgdvvDBW3WSZbUbBZQbGO4zhdKfsO2mEBGMP1BcA9gH3gHMx8vw64PnzHu70DemaQgARgOuxfADYBbxyZ/v5sWLr5zXSTqjEFgeeGJTCbCbkbOAy4EbAZlQeH6twHXAJ8XCSTCdi4XQ+cCdw0JADFOhnllBXsl55tVVgI2IeZ+4HLgCtCjX3CTOBBgf/A0D+Hf9sSmZ44AjYD+A7gtcB/AIuAvw+zgp8DxDqO43SlRgVgDNe3hQ85lr8Hj6302Ay3raBdN12j+nlZAhKA6Tx/KSTwlwH/OlT9T0JyPyTdpGqMIWCzql8OovoV4ec2G2XLOXaj//Bjey9t6dKWIPTEE7B9lLY0Zp/ILQkPC0Cxjuc4XcnBEu7FwBeBg8MHFlsGs60klktsz5/llgeGjNmyvP2itS0neuIIWN6wvaxnA08AtifQxrh9W5M9Yh3HcbpSowIwhquJc1uat61Sw49tmzofsO0RemaQgARgOuypBOBHwhLPoekmVWMMAUsGtufExN+q8POpRIktx9vM4DtFMprAs8IyjM2U2CEme2IEoFhHI/55wf8NrO2X5OCx/WgmvG3rwlS/PE0smogxoa4njoCxslxsB/RsD+CBQWzbvkCb7RbrOI7TlYoVgMNjeCoBaNt63gtcPl2j+nlZAhKA6Ty1BJzOLLWGHeywpXQ7dfb9ocpalkwlOXX5o8OSiwmMwWOzJZbY7XTeEcDXtdxeBLhtUfgH4O1D1uyEr+25tNPBMctnRRzpgRHbi217Lj811FfjbPv/bL+wWJcZBFoCLsOxVSsSgHn47RCILTva1S/22LLDDwATLjoEksfUatl4tCsCbHPxq8dcgTE4mPDmcArN6jw/XBOjQyBp3HcG9h6pYsvr94brSuwXqX0yF+s0ruNKLwNsxnX4EIjtV7XtIjYjNdhAbwdA7CCIPbPDASgdAknjvy4I6+HlRDtdbVfuWK4Q6zSeU5We6hDItsbw4BCIncy+PRi2FQi7/cH2x+oQSJnYRFuRAIxGtUXBwTUwttnYhKDdm/Zb4ROm7qPLY2q1bGO8LfPa7N/w3X8bwik+K2OJ/fXhdKRdW2KC0Z7h5bV8D/pdc3gJWKzLjQVb6rU7LW2fk+3rsz2AdgDE8ocdTLDH9q/aFgbbI2Wz3nYNzAG6BiY5CHbn3+GA7a+0JWA7WPNp4C+G9giLdTLWzRXsxgA7mGePXWtky+q299oOkdkESAxXuwZm93CF2uAaGDsRrGtg8mLSqJYEYD4+uwJmcBG0XZ1xergTMN+iatqnynGPfXq3xG7P4HJim5mywyCDi6B/LHyNCYwKQLFujPTnBo4KBxHs/j8TeHYgZHAK2AoNLtE1UWgXQX8jXHBuJ1n1xBOwmW0Tz7aKsFuYVfo8cCFgezHFOp7laElblTHBN/rY3kqbqY4Zw3YRtK2UDV8Ebb87dRF0flyya0oAZqNTRREQAREQAREQARGYTAISgJMZN3ktAiIgAiIgAiIgAtkEJACz0amiCIiACIiACIiACEwmAQnAyYybvBYBERABERABERCBbAISgNnoVFEEREAEREAEREAEJpOABOBkxk1ei4AIiIAIiIAIiEA2AQnAbHSqKAIiIAIiIAIiIAKTSUACcDLjJq9FQAREQAREQAREIJuABGA2OlUUAREQAREQAREQgckkIAE4mXGT1yIgAiIgAiIgAiKQTUACMBudKoqACIiACIiACIjAZBKQAJzMuMlrERABERABERABEcgmIAGYjU4VRUAEREAEREAERGAyCUgATmbc5LUIiIAIiIAIiIAIZBOQAMxGp4oiIAIiIAIiIAIiMJkEJAAnM27yWgREQAREQAREQASyCUgAZqNTRREQAREQAREQARGYTAISgJMZN3ktAiIgAiIgAiIgAtkE/h9OMAM1I1ndKwAAAABJRU5ErkJggg==\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.subplot(2,1,1)\n",
"librosa.display.specshow(chroma, y_axis='chroma')\n",
"\n",
"plt.subplot(2,1,2)\n",
"ints, labs = mir_eval.io.load_labeled_intervals(chordfiles[k])\n",
"mir_eval.display.labeled_intervals(ints, labs)\n",
"\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"# Overlapping comparisons"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4Xu2dC5QdVZX3/0BCHphODJDQ8lIgyPshAgoGGEFHRlRAEQ06iCAGxMiHBJAgICIGQcAgDIKDqJgPUQbUDxhUNDyEMYAiy4BKwEESIA866U7Ik4RvnfLe0Ol0p6vOrVO1T9Wv1spakNTZZ5/f3vf2r09V3buBOCAAAQhAAAIQgAAEakVgg1qtlsVCAAIQgAAEIAABCAgBpAkgAAEIQAACEIBAzQgggDUrOMuFAAQgAAEIQAACCCA9AAEIQAACEIAABGpGAAGsWcFZLgQgAAEIQAACEEAA6QEIQAACEIAABCBQMwIIYM0KznIhAAEIQAACEIAAAkgPQAACEIAABCAAgZoRQABrVnCWCwEIQAACEIAABBBAegACEIAABCAAAQjUjAACWLOCs1wIQAACEIAABCCAANIDEIAABCAAAQhAoGYEEMCaFZzlQgACEIAABCAAAQSQHoAABCAAAQhAAAI1I4AA1qzgLBcCEIAABCAAAQgggPQABCAAAQhAAAIQqBmBWAXQ5f0mSYtqVi+WCwEIQAACEIBAvQkMk/SCpNdawRCrAG4paVYrC2csBCAAAQhAAAIQiJTAVpJmt5J7rALYJqnz81ecpuXPL9cXx5+pLbbYohUOjIUABCAAAQhAAAKmCXR1dWnrrbd2OQ6X1NVKslEL4Pk/PE8dMxbo3AmT1N7e3goHxkIAAhCAAAQgAAHTBJwADh/u3A8BRABNtyrJQQACEIAABCCQFwEEUEouAbMDmFdLEQcCEIAABCAAAesEEEAE0HqPkh8EIAABCEAAAjkTQAARwJxbinAQgAAEIAABCFgngAAigNZ7lPwgAAEIQAACEMiZAAKIAObcUoSDAAQgAAEIQMA6AQQQAbTeo+QHAQhAAAIQgEDOBBBABDDnliIcBCAAAQhAAALWCSCACKD1HiU/CEAAAhCAAARyJoAAIoA5txThIAABCEAAAhCwTgABRACt9yj5QQACEIBAiQQ6Ozu1ZMmSwjIYOnRo8yvKgs55/fXX66tf/apmz56tK664QqeffnrQ+awFRwARQGs9ST4QgAAEIGCEgJO/yZddpYWLlhWW0Yhhg3XOxNODSqCTn8022ywRvw9/+MPJXE4863QggAhgnfqdtUIAAhCAQAYCL774oi6aPEVb73qY2oZvmmGk36ldnS/r+Rm/1vnnTFB7e7tXkBUrVmjjjTde79g///nP2n333fXss8/qLW95i9c8btDKlSs1cOBA7/FlDkQAEcAy+4+5IQABCEDAMIGmAO56wLEaseno4JkufHmOZjz040wCeMghh2i33XbTgAEDdPPNNydid/vtt+vMM8/Uz372My1fvlxvf/vbdeWVV2rPPffUTTfdpBNOOGGttfz973/Xm9/85uT8r3zlK3ryySf1pje9Sccff7wmTZqUxHbHBhtsoGuvvVZ333237r33Xk2cOFEXXnihnFC6/37ggQe0ySab6L3vfW8yn9tldIfLcY899tDgwYP13e9+NxHU8ePHJ2Obx8KFC3X22WfrjjvukNt53WGHHTR58mQdccQRySkPPvigvvSlL+nRRx9N4h511FH6+te/nszncyCACKBP3zAGAhCAAARqQCAWAXzsscd0yimn6MQTT0yqctppp2nIkCE6//zzk8u73/nOdxLx+9vf/pb8/UMPPaTDDjtM06dP19Zbb63NN99cDz/8sN7//vdrypQpGjt2rJ555hmdfPLJ+tSnPqULLrhgjQCOGjUqEbODDz44EcO2tjbtuOOOOumkk/Tv//7vWrp0aSJyr776qn7zm9+sEcA//vGPOuOMMzRu3LhkLhf3nnvu0Xve8x6tXr1aBx54oBYtWpSI4/bbb59I6EYbbaTDDz88ycXJ68UXX5zkOG/evGSN7u++973veXUiAogAejUOgyAAAQhAoPoEYhFAt2PmBKu5U+Ykae7cuRo0aNCaIrkdtbPOOiuRuscff1x77723mjt/7iQnhIceemiyy9Y83I6iG/PCCy+sEUD3sIiTtObhpMzt/DmZax6zZs1KxPKvf/1rIoduB3DVqlXJec1jv/3207vf/e5EJn/5y18movfUU08l5/c8nFw6GXQi2zzcjqCT0FdeeSXZWcx6IIAIYNae4XwIQAACEKgJgVgEcMyYMbrhhhuSqlxzzTWaMGFCstPX/XA7c+6y8KWXXtqrALpdwMWLFyei1TyctC1btiyRLPeQiLsE7KTwuOOOW3POMccck1w67nnfoRtz1113JWLnBHDXXXdNcmseH/rQh7Tpppvqxhtv1De+8Y3k35577rleO2vffffVE088sdb9hq+99lrydLbbKdx5550zdyQCiABmbhoGQAACEIBAPQjEIoB77bWXrrrqqqQoTvCuvvpqTZs2bZ0ijRgxIrl/rrcdQCeM7v6/o48+ep1x2223nTbccMNEAN39hUceeeSac5zgOTl08/Y83IMs7h49J4Ddc3TnuRguH3dp2uV7+eWX9ymATvDcpWIntj2PbbbZpt+HXnrrVgQQAazHuxirhAAEIACBzARiFMBf/epXya7bzJkzkwc7ejt6E0B3D95OO+2k//zP/+yTU28C6B4Sue2225IHQZoPi/QM0J8A3nfffcnl4L4uAbsdx5deeil58CSvAwFEAPPqJeJAAAIQgEDFCMQogO7S6EEHHZQ8UOEurbp76tw9fHfeeWfy5Kx7Irg3AXT38Lknbs877zx95CMfSXb8/vSnPyVi5+7zc0dvAuhiu909dz+eu19w5MiRiXzecsstyRO/7pJyfwLoYv/Lv/yL5s+fn3w2obtf8S9/+Usy3/ve977k8u873vEOffrTn04eNnG7iu7Sr5Pdb3/7215dhwAigF6NwyAIQAACEKg+gRg+B7A3uXLy19yZc0/MbrHFFokUuo9NcQ9n9CaArppOAi+66KLkgRL3+X5uR9AJ12c+85k+BdD9w9NPP508+fvb3/42+diZbbfdNhE3J3NO4tIIYEdHR3KP4s9//vPknsPmx8C4B1rc8cgjjyRrck8QO8l1Twofe+yxOvfcc70aEQFEAL0ah0EQgAAEIFB9AlX9JpDqV67/FSKACGD/XcIZEIAABCBQWwJV/S7g2ha0sXAEEAGs+2uA9UMAAhCAAARqRwABRABr1/QsGAIQgAAEIFB3AgggAlj31wDrhwAEIAABCNSOAAKIANau6VkwBCAAAQhAoO4EEEAEsO6vAdYPAQhAAAIQqB0BBBABrF3Ts2AIQAACEIBA3QkggAhg3V8DrB8CEIAABCBQOwIIIAJYu6ZnwRCAAAQgAIG6E0AAEcC6vwZYPwQgAAEIrIdAHT8I+lOf+pQWLlyoO+64o7K9gQAigJVtbhYGAQhAAAKtEXDy942rLlXXsq7WAmUY3Ta4TWedfraGDx+eYZTfqf/7v/+rt7zlLcl3/+61115rgrh1u+/bHTFihF/glKPKFE0EEAFM2aacBgEIQAACdSPw4osv6pIpX9NbD91RwzdtC778zpe79Nd7/6ZzJ0xSe3t78Pn6EsDgEzcmQACLIt37PK6jO8//4XnqmLGgsKYrd8nMDgEIQAACEOifQFMA9/vo2zVy9Mj+B7R4RsecDk2/9dHMP4tXr16tSy+9VNdff71eeukl7bjjjvryl7+sj3zkI1qwYIFOO+00/fKXv9TixYu11VZb6dxzz9UJJ5ygDTbYYK2MDz74YE2bNk09xeyQQw7R7rvvro022kjf//73tfHGG+viiy/WuHHjktg//elPNXr0aF199dU6/PDDk5irVq3SySefrN/85jdJTttss41OPfVUfeELX0j+/cILL9RXvvKVteb/7W9/KzfX888/ry9+8YtJzm7Od73rXfrWt76lN7/5zS0Sfn04O4DsAObWTASCAAQgAIFqEYhFAL/2ta/p5ptv1lVXXaUxY8bo/vvv1/jx43XPPffoJz/5iX73u9/phhtu0GabbaaZM2dq6dKl+sAHPqBHHnlE++23n379619r1113TcRu5MiRvQrgH/7wB5111lk69thj9eMf/zgRuPe+97066qijEmm78sordeutt+of//iHhg4dqpUrVyaSeMQRRyTzPvTQQ4kQfu9739NHP/rRREZPPPFEORFzf+cON7eT0j333FPvfOc7dfrpp2vAgAFJnMcee0xPPPFEkmMeBwKIAObRR8SAAAQgAIEKEohBAJcvX56Ik5M4J03N46STTtKSJUsS0XICduONN65Tob4uAfe2A+h29B544IE1u3vuHsWjjz5aP/jBD5K/c7t87rL1ww8/rHe84x29doPbLXTnuR1Dd/R2CdiJrBO+p556as0O5YoVK5L7Ed1DKU468zgQQAQwjz4iBgQgAAEIVJBADAI4Y8YM7bbbbtpkk03WqoCTpr333jvZqfvwhz+cXBZ28nTkkUfqgAMOSM7NIoBuh/Caa65ZM8e2226bXP6dOHFi8nfuoZENN9xQP/vZz/TBD34w+Tt3vhNPtyvodh1dTu5hk+nTp/cpgC6e200cPHjwWutxMuvinXLKKbl0GgKIAObSSASBAAQgAIHqEYhBAH//+98nO27u3r0tt9xyrSIMGjRIW2+9tebNm6c777wz2SW87bbb9LnPfU6XX355JgF04uYuMTcPdz+eu0Tr/jQPd/n29ttvTyTzlltuSe4z/OY3v5nsTA4bNkyXXXaZXL6PP/54nwLoBM9dbv7Rj360TkNtvvnmuT0djQAigNV7x2JFEIAABCCQC4EYBHDRokVy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\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"ints, labs = mir_eval.io.load_labeled_intervals(chordfiles[k])\n",
"\n",
"mir_eval.display.labeled_intervals(ints[::3], labs[::3], label='reference', alpha=0.5)\n",
"\n",
"mir_eval.display.labeled_intervals(ints[::2] + .5, labs[::2], label='estimate', extend_labels=False, alpha=0.5)\n",
"\n",
"plt.legend(frameon=True, loc='best', framealpha=0.75,)\n",
"\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"# Hierarchies"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"k = 254\n",
"int1, lab1 = mir_eval.io.load_labeled_intervals(os.path.join(SALAMI_BASE, 'data_cleaned', str(k), 'parsed/textfile1_functions.lab'))\n",
"int2, lab2 = mir_eval.io.load_labeled_intervals(os.path.join(SALAMI_BASE, 'data_cleaned', str(k), 'parsed/textfile1_small.lab'))\n",
"int3, lab3 = mir_eval.io.load_labeled_intervals(os.path.join(SALAMI_BASE, 'data_cleaned', str(k), 'parsed/textfile2_functions.lab'))\n",
"int4, lab4 = mir_eval.io.load_labeled_intervals(os.path.join(SALAMI_BASE, 'data_cleaned', str(k), 'parsed/textfile2_small.lab'))"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib.ticker"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\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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1m/G1sT0U8A1w2t0COTvf/077znyPbz+gzuy1kaKV3SWhHEfupOvr+WddU8/9jS/u+AOrvrJVWy55ZaZGvvGN77Bl770Jf7xD12D+3yqei9eIwJo0W4aECeAmczDM1WAgBPAAqBaTjjmxMGYNPQKYTDXoxPAAiM8W9EoOl3JkF78EkgrAvjWM/divc3XzSZYg1zPE8A++toQwNkznuSaT/06MwEUEbvkEr2P8HzadFNdogEf/vCHa/+Si6C32WYb9ttvP0477bTa7/r7d77zHa655hquvfZaNtpoI84++2z23XfflXXdf//9fPzjH+eWW26pEUrV8b3vfY8f/OAHnH56chXv89lvvPFGNttssxctAd9888189KMf5c9//jNrr702Rx55JGeeeSarrLJKrdzuu+/Oq1/96tqy+IUXXlhbIv/ABz6wsp/Koz5ffPHFPPHEE7Xo4kEHHcS5556LE8COzdEL5kRA18Knr4ZfHXhs8uTJtdC7wt39MekpuKlTpzJ+/PjawLNKciaLFy+u3Ypf9TLBtGnTmDlzJtfO/hWrbahbhSpOK2AoQ1nCEpMl4AWzFrDX+m+tOd6xY6u5xLYeMUv9JW2b61ENG+tSTfaKPiVrFJ0mBtVAt8e/MXmq/r8W/9DfHuK9R7+XCSUQwMGDBtcIYCufJwL4q1N+zRWTr8wUAdTexK9//es1MnfHHXfUln532mmnGvk7/vjjV7a13Xbb1eaqU0/Vw1rU8m288cZ84QtfYIcddkBRxO9+97s1Xymi9s9//rNG+HbbbTc+8YlP1F7buO2223jDG95QI4tHH3107RUOETMllfnXv/7FmDFj+MMf/lDbA6g6FMUU6TvuuON48MEHa3sVjznmmJX92GOPPWp7Fk888UQOPfRQbr/9dt797nejZe0999yztq/xve99L5prt956ax5//PEamdTf5Ifmz59fm7vSmM6YoUtCXpyE1c47196Z0OMUz1Q8E7StvpcOgbQFo8sz6LPp+ZGTSjLKESNGdHnXvXuOgCPgCDgC7RAQ2alPf/vb3zj86MN565lvZr3N12tXReHfn6wRwOv44YU/5BWv0Nb59umCCy5A/+69995aZkXUPvjBD9b+JWmXXXZh7733rpE5pbXWWouPfOQjfOpTn6r9/2effZaXvexl/PSnP60FBM444wyuuOIK7rrrroYBDpE4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u8IIH0kCl0GSU8D1LomtnGFTf5ylj4s/j9EkXo/A/TWcRTMyzT4s8pev/hrZX3IRNAk9BzIOLtwnzIE+SSQJ1D+jEVz24moE9y5VnrpndIYDFXXMPBzwGOlgnbxahIMpI4a6qzObfuvpk1szQnDnXjhOxCovgqYfTu7zS2y6OkLGSRv7AJcwrbYONeq/RJN9l5OUxJdUIpwEFRhRI7niGEPyynGRQQWm6vZyfGWghQEFYsVJbq3xi3291tjGa9p4IJNjGgMaDE5wCZk2wq0xJNyUTyJIn0rix/GMYx4nUozI85YOTrg4qeL4zag8t8bw3t/qJAKYzaZUWggIASEgBISAEBAC5UVAS8Dl1b1aLgSEgBAQAkJACJQUARHAkipezRYCQkAICAEhIATKi4AIYHl1r5YLASEgBISAEBACJUVABLCkilezhYAQEAJCQAgIgfIiIAJYXt2r5UJACAgBISAEhEBJERABLKni1WwhIASEgBAQAkKgvAiIAJZX92q5EBACQkAICAEhUFIERABLqng1WwgIASEgBISAECgvAiKA5dW9Wi4EhIAQEAJCQAiUFAERwJIqXs0WAkJACAgBISAEyouACGB5da+WCwEhIASEgBAQAiVFQASwpIpXs4WAEBACQkAICIHyIiACWF7dq+VCQAgIASEgBIRASREQASyp4tVsISAEhIAQEAJCoLwIiACWV/dquRAQAkJACAgBIVBSBEQAS6p4NVsICAEhIASEgBAoLwIigOXVvVouBISAEBACQkAIlBSB/w/MO6UjHAdigQAAAABJRU5ErkJggg==\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# This one demonstrates how to draw hierarchical segmentations\n",
"# We also use the segment boundaries to set major and minor ticks on the grid\n",
"\n",
"plt.figure()\n",
"ax = plt.subplot(2,1,1)\n",
"\n",
"mir_eval.display.hierarchy([int1, int2],\n",
" [lab1, lab2],\n",
" levels=['functions', 'small'],\n",
" alpha=0.8)\n",
"ax.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(np.unique(int1.ravel())))\n",
"ax.xaxis.set_minor_locator(matplotlib.ticker.FixedLocator(np.unique(int2.ravel())))\n",
"plt.grid(axis='x', which='major')\n",
"plt.grid(axis='x', which='minor', alpha=0.1)\n",
"plt.legend(loc='best')\n",
"plt.title('Annotator 1')\n",
"\n",
"\n",
"ax = plt.subplot(2,1,2)\n",
"mir_eval.display.hierarchy([int3, int4],\n",
" [lab3, lab4],\n",
" levels=['functions', 'small'],\n",
" alpha=0.8)\n",
"ax.xaxis.set_major_locator(matplotlib.ticker.FixedLocator(np.unique(int3.ravel())))\n",
"ax.xaxis.set_minor_locator(matplotlib.ticker.FixedLocator(np.unique(int4.ravel())))\n",
"plt.grid(axis='x', which='major')\n",
"plt.grid(axis='x', which='minor', alpha=0.1)\n",
"\n",
"plt.title('Annotator 2')\n",
"plt.legend(loc='best')\n",
"plt.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\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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\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.subplot(2,1,1)\n",
"mir_eval.display.segments(int1, lab1, base=0.5, text=True)\n",
"mir_eval.display.segments(int2, lab2, height=0.5, text=True)\n",
"plt.title('Annotator 1')\n",
"\n",
"\n",
"plt.subplot(2,1,2)\n",
"mir_eval.display.segments(int3, lab3, base=0.5, text=True)\n",
"mir_eval.display.segments(int4, lab4, height=0.5, text=True)\n",
"plt.title('Annotator 2')\n",
"\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"# Pitch contours"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"ref_times, ref_freqs = mir_eval.io.load_labeled_events(os.path.join(MIREVAL_BASE, 'tests/data/melody/ref07.txt'))\n",
"est_times, est_freqs = mir_eval.io.load_labeled_events(os.path.join(MIREVAL_BASE, 'tests/data/melody/est07.txt'))"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydB5QU1fLGi5xzziBRUYJZRDEBiqgoRox/cyCooKjvGZ8BMfPgKSYEUVQEUTAAkgQkSU6Sc845w//8Ltx1mJ3Z6e6Z6Z3ZqTpnz8JOh9t173R//VXVV9lETT2gHlAPqAfUA+oB9YB6IKU8kC2lrlYvVj2gHlAPqAfUA+oB9YB6QBQA6iJQD6gH1APqAfWAekA9kGIeUACYYhOul6seUA+oB9QD6gH1gHpAAaCuAfWAekA9oB5QD6gH1AMp5gEFgCk24Xq56gH1gHpAPaAeUA+oBxQA6hpQD6gH1APqAfWAekA9kGIeUACYYhOul6seUA+oB9QD6gH1gHpAAaCuAfWAekA9oB5QD6gH1AMp5gEFgCk24Xq56gH1gHpAPaAeUA+oBxQA6hpQD6gH1APqAfWAekA9kGIeUACYYhOul6seUA+oB9QD6gH1gHpAAaCuAfWAekA9oB5QD6gH1AMp5gEFgCk24Xq56gH1gHpAPaAeUA+oBxQA6hpQD6gH1APqAfWAekA9kGIeUACYYhOul6seUA+oB9QD6gH1gHpAAaCuAfWAekA9oB5QD6gH1AMp5oFUAoBca6EUm1+9XPWAekA9oB5QD6gHsp4HdonIsWguK5UAYGER2RGNs3Rf9YB6QD2gHlAPqAfUAwnggSIisjOacaQcAFy1apUULgwWjM4OHTokw4YNk2bNmkmuXLmiO5junbQe0HWQtFMXs4HrGoiZK5P2QLoGknbqYjpwP9bBzp07pVKlSoxbAaCL2TMM4I4dO2IGAH/55Rdp0aKFAkAXk5DVNuULr+sgq82qu+vRNeDOX1lxa10DWXFW3V+TH+sAAFikCNhPAaCbGVIA6MZbuq0jD/jxhXc0EN0o0zygayDTXJ8wJ9Y1kDBTkakD8WMdKAD0NsUKAL35TffKwAN+fOF1AhLbA7oGEnt+/BidrgE/vJz45/BjHSgA9LYOFAB685vupQBQ14CuAV0DugZ0DUTwgALAxF0iCgATd26SdmR+fOGT1jkpMnBdAyky0QoAdaIVACbtGjAAcPv27TErAvn111/lqquu0iKQpF0S0Q+ch7+ug+j9mMxH0DWQzLMXm7HrGoiNH5P9KMeOHRNCtCiNZMsWH5EVjl+0aFFcpVXADhbMYyLCT3YRqb1+/fqYAMDDhw/LyJEj5bLLLpOcOXM6GIZukhU9oOsgK86qu2vSNeDOX1lxa7/XAM+cHDlyZEVXJvU1AQB37dolhQoVigoAHjlyRFhToQwAWLZsWQWALleKMoAuHaabR/aAvvlH9lFW30LXQFaf4cjXp2sgso9SYQtlABN3ljUHMHHnJmlHpvlfSTt1MRu4roGYuTJpD6RrIGmnLqYDP3r0aFoIOHt2go6xN60C9uZTBYDe/KZ7ZeABvfHr8tA1oGtA14CuATygADBx14ECwMSdm6Qdmd74k3bqYjZwXQMxc2XSHkjXQNJOXUwHrgAwpu6M6cEUAMbUnXowPKA3fl0HugZ0Dega8HcNvPTSS/Lhhx/Kxo0b5YcffpBWrVr5O4AwZ1MAmBDTEHIQCgATd26SdmR640/aqYvZwHUNxMyVSXsgXQPOpu6ee+6R3r17m42pZK5YsaLcdNNN8sorr0jevHkdHWT+/Ply2mmnGeB3/vnnS7FixSRPnjyO9o33RgoA4+1h78dXAOjdd7pnGA/ojV+Xhq4BXQO6BpytAQDghg0bpFevXiZ6MnXqVLn77rvl4YcfljfffNPRQYYMGSLXXHONybeLRmuP8+fKlcvROZ1upADQqaf8305lYPz3eZY/o8o/ZPkpjniBugYiuijLb5BZa6DfyA2ybuuBTPVvueJ55LbLyjgaw//93/8JzRhg76zdeOONsmzZMgMGsVWrVkmnTp1k2LBhRuuwcePG8v7770vVqlWF0C9sYaABurBPP/1U3n33XXMstm3Xrp08+uij5rPly5fLKaecIv369TOh40mTJpnfANJx48bJc889J3/99ZeULFnShJPfeOMNKVCggNm3WrVq8sADD8jixYvl+++/N4zjv/71L3nwwQfThrF69Wp5+umnZejQoXLgwAE59dRTpXv37nLeeeeZbX788Ucz7nnz5kn58uXlrrvuMsfwoiGsQtCOllraRioE7c5furULD/gtAOtiaLqpTx7QNeCToxP4NH6vARvyfG/AKlm+fn+meqZq2bzyROtKjsYQDADnzJkjzZs3lypVqsiff/5pWMGGDRua0G6HDh0MQHrttddk2rRpMmPGDDl48KABYffdd5+sWbPGnBNR5K+++ko6d+4s3bp1M/tPnz5dHnroIXn77bcNwwgArF69ugGGb731ltmGkPPevXvNv//zn/9IixYtZNOmTdK+fXupV6+efP755+b4AEfEnQFwTZs2lQEDBsi///1vmT17ttSpU0d2795tjlGhQgVzHESgFy5cKJUqVZILLrjAAEwYS0DsRRddJEuWLDGMJ+N64YUXwvoNIBnKVAja0VJLt5EygN78pntl4IHMevPXSUkcD+gaSJy5yKyRZNYaePf7lbJ8QyYDwDJ55ckbKztyPQCwb9++BnwBmgE56OV9++230rp1a/MZgA+mzIZ3AX2wbrCGzZo1k0GDBskNN9xgQsDWatasaQDabbfdlva3V1991bTpHD9+fBoD+N577xlgae3+++83LGPPnj3T/gZgu+SSSwywY5wwgAC3Pn36mG0Qey5XrpxhIwFyH3/8sTz11FOGeWScwa3gAI10DHv22WfTzsF1AlgtiHXkvBMbKQPoxlv/bKs5gN78pntFAIC//PKLeXuMdT6JOj45PJCM+V8rV66UNm3ayOuvvy4XX3xxcjg6gUeZWWvAAMD1+zLVM1XL5nMMAAm5AnoIv+7Zs0cAZNw3P/nkE3MNACn+FlwQAlPXo0cPeeSRRwwAvP766w0QwzhOwYIFJV++fAZMWgNgFilSxOQcwgAC5AB3F154Ydo255xzjsyaNeukezfH5XyAUEK5sIaPPfaYGZu1+vXrG8AKg0eYee7cuTJmzJiQOoClSpUyYDKwdR+t3vbv32/Gnj9/flfzp0LQrtyVtrECQG9+070UAOoayGJr4I8//pAnn3zSgEB+89Dbtm2bFC9eXOfagwcUADpjAAGA5AAC4jBYPMDU448/bsK6ADzCvYR0gw0gBaALBoAAPMLAsGo2587uC+gC+FkASGi4QYMGaYcG4MHQEfYNtsqVK0vu3LkNAGR8/FjjGOQKwgJ27NjR5A+GA4AA05dfftmwlsFGeNltxxAFgB6+oCKiANCb33SvLPbw1wmNrQcy6+EfzVUMHjzYPJQImfEA++yzzwwrQx4WDz01dx7IrDXQb+R6Wbf1oLvBxnjrcsVzy22XlXV01GAAyE4UZvASQm6czeUDsBUuzCM7vQUDQLZAToacv+effz7kPuEA4O233y7r16+XESNGhB1/JACIrA0AkhBw0aJF07WCg3EkV5DvWCxMAaA3LyoA9OY33UsBoK6BLLYGeNASarv22mtNGIvcLJLayZdKFE21ZFp0mQUAk8lHjDUUACRUa0EW4VTYNQoqyOkD2K1YsUIGDhxoqmz5fygASAUwIKxLly5y5ZVXmtxCWDlYbcBlOABI+JeCk3vvvVfIB6Tyl9Dv8OHDTRUvFgkAkqN4xhlnSJkyZUz+IkUgixYtMmOlCITK4JYtW5rCESqeYfxmzpwpFMCQp+jWFAC69djx7RUAevOb7pXFHv46obH1QDI+/GH7YCRIdqdS8uabb5alS5eaHCmngryx9WJyHy0Z10BmeDwUAGQcADckXFiD5MtRIEFuNdW3gMHLL7/crFNYwVAAkGN8/fXXpsIXAAeQA5QRtiVfMBwAZL8pU6YYSZYJEyaYVAiqhW+55RYjDeMEALINIBUmHeAIoEWompzFc8891xwDEAigJQRNziOMIIATeRm3pgDQrccUAHrzmO4V0QN644/ooiy/QTKuAR62PDCRryABnyIm2mqNHTvWJNOrufNAMq4Bd1eoWzvxgApBO/FS5myjMjCZ4/csfdbMkn/I0k5NsotLxjVA6AlxWpLQkeC49NJLDfNCIrvbqsQkm664DDcZ10BcHJHiB4VBDJaBibVLVAbGnUdVCNqdv3RrFx7wWwDWxdB0U588kIxrgLw/Et9LlCghP/30kwGA5DLRfcF2QPDJfVniNH6vAc3TTMxlAwAkbE0eYDRt6rg6FYKO7RwrAxhbf+rRRIxyPWKjV111leoApuiKSMY18MQTT5h8PzotUPlLsjraZKNGjTKaamruPJCMa8DdFerWTjygDKATL2XONloEkjl+z9Jn1dyfLD29ji4uGdcAkhkkpJOzhCZgkyZNTAI8ABD2Qs2dB5JxDbi7Qt3aiQc0B9CJlzJnGwWAmeP3LH1WvfFn6el1dHHJuAZoRo8g79q1a00IGDkYbOTIkWH11xw5I0U3SsY1kKJTFdfLVgAYV/dGdXAFgFG5T3cO5QG98eu6SMY1gB4ZfUthAdEERBBXAaD3tZyMa8D71eqe4TygADBx14YCwMSdm6Qdmd74k3bqYjbwZFgDSLwMGDBAYP4o8rj66qulbt26hvH7/PPPjRAuRmEI7bbU3HkgGdaAuyvSrb14QAGgF6/5s48CQH/8nFJn0Rt/Sk13yItNhjXQtWtX+e677+Sdd94x+X6XXXaZ6YEKKPzf//5nGtpjCNnCDKq580AyrAF3V6Rbe/GAAkAvXvNnHwWA/vg5pc6iN/6Umu6kBYB0RKDql+4GNKWn/RVdGWihhSg07bIwZGCKFy+uk+rSA3ofcOmwLLq5AsDEnViVgUncuUnakan8Q9JOXcwGngxr4O677zYtsmg9Rd/fRo0aSadOnUx7rddffz2t7RUtqxQAul8aybAG3F9V4u/xxRdfCJJG9PxNBFMZmESYhZPHoELQiTcnWWZEfgvAZhnHZaELSYY10KpVK9m0aZO0bt3a9CBFt/Lll1+WF1980fRBpYk9RkUw4tBq7jzg9xpIViFoXj769OmTzrnNmjUzeqoZGV1rOnToYH6s7du3zwgvly5d2t2EudwaoAlLvnXr1gz3VCFol471cXNlAH10dqqcSt/8U2Wmw19nMqwB2+rtyiuvlMcee0yuueYa+e9//2sepk899ZS8+eab5gJ5CJcsWVIn1aUHkmENuLykuGwOANywYYMpPAo0AG2k3NNq1aqZ9Uo6g9/mlGlUBtDvmXF+Ps0BdO4r3dKhBzT3x6GjsvBmybAGzjvvPNPpg9AvD9Cbb77ZPITbtm0riEK/9957aQCwVKlSWXi24nNpybAG4nPl7o5K3in6k4MGDQq540svvWTWJSARJhq5om7duskll1xi+lQHGmALYMZ65pgY+3Ps9u3bm3/D2FH5zssOBVDku5KnB5CE+bbG33v16iVLly41KRC8IFE4RVec0aNHm1aJgQZzzvFp18Zx+vXrZ8Zw+umny/PPPy8tWrSQ7Nmzu3OOw63pBXyiUp9y/Z0Odwu5WbZodk6yfRUAJtmEJcNw9cafDLMU3zFm1hqYO3eueUBVqVIlwwskPEnRBw8kpF/I/SMnkIcWbOCtt95qKoGxX375Je7htPjORuYcPbPWQOZcrfezZgQAv//+e7nvvvvkm2++Met0/fr1MnPmTJO3CpCrX7++PPjgg+b/WNmyZUMCQIAeTDcpDkuWLDEgEgBXq1Yts95pfYjs0cSJE4UXI+z99983x69ataosW7bMVMVTKc/3gh7ZH374odA/e8GCBWZ7vnf8MBZya7t06SLly5eXgQMHGgDIuGvXru3dURnsqQDQm1sVAHrzm+6VgQf0xq/LI7PWwNlnn22c/9dff2U4CeRI8QDkgUmo7ZlnnpFHHnlEfvzxR3n44YdNPqANyf38889SpkwZnVSXHsisNWCHuX//flm+fLnLUUe/OYApb968jg8EAOzbt2+6fahO5zg9e/aUOXPmhOyrzrlg+wJDwKEYwLfeesuAR9vSEDAIcAMMWlauTp06pgqe70IoA4zy3di8ebP5OPg8/G3lypVCXiK/AX8Y7CLAkd7ab7zxhmO/uNlQAaAbb/2zrQJAb37TvRQA6hpIsDXAg+bcc891BAAp/gDk1atXT1atWmUYChLakXyBUSEs/PXXX5tjDRkyxABFNXceyGwA+Pfff8sdd9zhbtAx2BowB5hyaoCuNWvWGEYt0Ai77tmzRy688ELTkxrQRhiVUGzOnDnNpk4BYP/+/QV23BpsN0COlxtraGGeddZZJiSM/f777waw4UcAFqw5oHr37t1GOD0UAOR4LVu2NJ8HGmHh66+/3uhuxsMUAHrzqgJAb37TvRLs4a8TklgeyIyHv2X18EQkBhCGAu0/hJ/p/EHuEiAQXUAqgk877TQTusIGDx4s5cqVSywHJ8FoMmMNBLolmRjAjHIAqepFjBxABpCj8IPcv1y5cjkGgOQAzpgxI809ocLO5BQ2aNDAhH5hTgGxsOK33HKLyQHku0E4GnmZokWLhgSA3377rWmhCNjMkSOHOR8vZoBGXqIsKxjr5asA0JtHFQB685vupQBQ10AmrwES0nnIk4eErVu3zrAjTgAgOU033XSTKfyAlUA3jQff5MmTDQCsWLFiGjuCDEy8HlxZeRFlNgBMFt9GKgIJvA7CtgCzqVOnyplnnmly+ChY6tixY9pm4YpA3ABAuuGQBwtzZ0PEr776qnlJsgAQhpxz8+JlbeHChSbP748//pCLLrooDQAC0AoXLqxFIAm2KFUGJsEmJCsMR+UfssIsRncNfqyBc845xwxyypQp5veiRYukTZs25t+TJk3K8GEDAAT8wWh89tlnctttt5n8P5gVkt15WNEDGOPvWQEA8jCHNYpXJWbwivFjDUS3ShNj73AyMIR5ST+gUp3CjPz585uqXEK0MNhUBDdv3lzy5csnPXr0MLmsyBUFy7PAbrOGp0+fnnbBnBPW8Ycffkj7GzmxFH3wIkTBRsOGDU0lPC9V48ePN8LohKopPoEBpHCkcePGhp1kP8bHz5133mm2R1CdY9Bzm0Iqvq+Eh+NhAEzGJCJaBezAwSoE7cBJuok3D/gtAOttlLpXPD3gxxogNwobNWqU5M6d24S4qGjE0O4DxIUzACD5YUhjWEmN2bNnG9Hnzp07G2bRhpFhCCtUqBBPd/lybPxFmM8KXMf7pH6sgcBryGpC0DBpdKSB6Z4/f74BgmeccYa88sorcvnll5tLp2qXMC3MIACfbYIFmqn8BQBOmzYtQwBIoQZAzsofAQQBcQBF2DxermArt2zZYsGWeVmiOIS/wcQjBQPwZ419+eWXBjACVCnO+s9//mNybqMxrjGUAQBP5OkqAHThYGUAXThLN3XmAX3zd+Ynr1sR6iQpPJFZKT/WgGUAYfB4sIwdOzatfy8hrMqVK4d1Mdpm5DbBjvBDzh95SuzHg4wHrq0ghSUhJJzsFsyYxvt6/FgD8b4GPX70HlAh6Oh9GK8jaA5gvDybwsfV3J/4Tr5TqZP4jiLjo8d7DQRW/NKxA0aEcBlgDoMFQYA2nAEACQHD/sECIrdRo0YNsx+MC4UfJN9jFINkBCYz089uzs26IawIa+SHxXsN+HENeo7oPcB3VXMAo/djPI6gADAeXk3xY+qNP7YLgDfojz/+2IQ4rrvuOhNOwSJVusZ2FO6OFu81sHbtWrn22mvNoGjbBptHUrqVsPjggw+MfAbgDWaPzgeBZgEgWn9oqPGAYnv2Q+g2sC1XVgCAFjATFqfq2Q+L9xrw4xr0HNF7QAFg9D6M1xEUAMbLsyl83FS98ZNDRpI2FaWVKlWK2QoI1DNDusTKk6QyACRJnQIOjIR2cv8AboRrqVIkTwrNtIsvvti0iILRCwUAmS+bY8X27NenTx/DDFojLByps0jMJjtOB9q7d6/xBYLWgdpvcTqdOWyq3gfi6dNkPLYCwMSdNQWAiTs3STuyVL3xo32FwCqMFIABEEF/Tdtaye2E8tBGlZ9kcIBKsKUyAKTKEN8CaPAveXsAOSodKfBAFgOGEFaPsHBw9SEdEGAN8StsH/mDzF27du0MwCb53hpJ7gjuJrMh+ouQMBpyaMn5Yal6H/DDt8l0DgWAiTtbCgATd26SdmSpfOMnrwx9LqQSCLVdccUVpiemFxs6dOhJzdmDj4HWFrILiWjxXgPWN4A/BGcB24BACmTQIqMfKVWNgMDu3bubvr+BZgEgOX+I11I1zP5sTzcQJC+sWfHdRPSz0zER4sYfsIA2TO50X6/bxXsNeB2X7uevBxQA+utvN2dTAOjGW7qtIw+k8o0f+QOYOWQRaJiOFAbVuuSn0SjdjcFcUdiAkbvFQzzYKGAIzm9zc454bRvvNUBYluIPABuAj7AtrdzIl6QRPSLPtIWjwf0333xjCjzCAUDmC5Boc/3QN8Ov1pCBob9pshvpAwDAwL6x8bymeK+BeI5djx07DygAjJ0vY30klYGJtUf1eCb3B0aFXqsIz6aSES4EmGCo5qN9hVFFCmhxYwAbNLgo/gAAIqhKm6VAoysAeluJZvFeA7179zagj/6iCNGic0YPX0LCs2bNkmbNmsmpp55qNP34/IRIbJqbFi9ebMSfCQEjAUOeJb8x9rf5hfwfhjArAMDWrVsbPTc/AWCq3gcS7fuYmeNRGZjM9H7oc6sQdOLNSZYZkd8CsInkOPIAASKlSpUyBQn//e9/DYDA6MfJ36Mx2i4RXoZdJIwJwAT80AEgkSzea+Cjjz4yvVEBgIBBwraI1CKUSx4gmneAbsKddPcI7n6B72BOP/nkkzTgZ/1nRaLt/wGa1atXTyT3ehoLgJecyLZt23ra3+1O8V4Dbsej22eOB/xYByoE7W1ulQH05jfdKwMPxJv9SXTnw9qhK8fPhg0b0goQ/v3vfxsZl1gZ56FylRxDQnuJZPFeA7CsMHXkXNKjFG07wsG0rZowYYIpnClXrpx89dVXplMBBTWBwtm2bRw5gHXr1j3JdTxMbKcFPiB8X7NmzURyr6ex3HjjjQYAUqXuh8V7DfhxDXqO6D3gxzrQVnDe5klzAL35TfeKAADp/Qg4SbUQcDi3PPzww0a/7/7774/p2gHYJGIhSLzzvwivA66p5CXMS8ENKQewW7SGI2wO20r4l3xARJ0pDMmWLZvxPwAQRgx2z4Z+7cQQsrJdMywArFWrVkznLTMOlhkAUO8DmTHTiXXOeN8LuFoAIHJP2gvY3dwrAHTnL93agQf8+MI7GEZCbUIidHAYMqEGGOPBxHsNwGIB5gCAaADC8gFw0PEj7yxfvnxSvHhxwxISJkYbkCb1/D0SAORzeqDyUAHAwABmFQDYqFGjtHZ5MZ7ydIeL9xqI9/j1+LHxgB/rQAGgt7lSAOjNb7qXMoC6BjJxDcCo0mSeBvXo9yECTWN6cv5++uknU4hUqFAhUzhzxx13mKpsgKA1CmzYNxQDaLehHzCgkTAyIeVkN5jQCy64QAFgsk9kko1fAWDiTpgCwMSdm6QdmR9f+KR1TooMPN5rAHkXxJkBf1S3UgxDWBg5F6RzNm3aZAAgCejIn3gBgLYDS9++fYVq63jbkSNHzCnQNYyHKQCMh1f1mJE8EO97AedXBjDSLIT+XAGgN7/pXpnI/qjzE98DMG/o6V199dUmD5S8OopWihUr5nnw9PTNnTu3+UEOh4pf2sBxDrqvvPXWW6ZnMq3OqPIFABLypQsIldOtWrVyxQAuWLDAnAeZHSRl4m0ATaq7AbfxMAWA8fCqHjOSBxQARvJQ5n2uVcCZ5/sse2Y/qr6yrPOywIXBtjVv3tz8IGYNAISZQ64FUGgBIYUYbnLrKMxo0KCBkW6xYAaw1LRpUyO9A/ijqhcAOGPGDCO8jS4g3VjIAQwGgIA7xhRcBGKngDBxpG1iOV2MH+Na4mHkS9I5BcFsP0zvA354OfHP4cc60Cpgd+tAdQDd+Uu3duEBP3SfXAxHN/XZA7Soe/bZZw2w+vDDDyVnzpyGhQOE9evXz+jzjR492rS569GjhwF1VDOzH+3KYPiCjSIaRIyxcePGGQAI8CNHj9+AG/QWyemjTRzaf4hnI+DcuHFjc25kYqwBPtEN/Oyzz8KGdxGLJsQcSiswHi5lLBgi1JMmTTItBWNZRU8uJCCaHsp+mN4H/PBy4p/Dj3WgOoDe1oEygN78pntl4AE/3vh0AhLXAwhg0xIP7TwAGSCGMC1hYZhAWCgqa9977z3DRiHHQrs1QrjvvPNOSE1DcvqQFcJg+AB+gEBCwPT5BWCS+0e3ld9++82IYyMLAbjkfMEMIOFdABHjCxfeDewWcvrpp8fd4ZYB5FrQi0Qy6KGHHorZeQHJtMfr2LFjzI6Z0YH0PuCLmxP+JH6sA2UAvS0DzQH05jfdKwIAVP2v1F0ihGHpgFKxYkUjzwIAhNnjJo2AMyLL3bp1M+CLEC7Vu7Rkgw187rnnTNFGsNGdA8CHsR/7sC/dPAB4sHywfoBDGEDGQPu3Jk2aSP369WXHjh0niXDb/L6MCjzIIwQ0MTbyDeNtFgACWrk+AC+yNrEyRLPxlZ8AUO8DsZq95D2O5gAm7twpAEzcuUnakfnxhU9a56TAwAF35NahwwcAAAAC0Pbv328qdWG3bAs7wrIvvPBCGiAk/y1UDtzs2bMN24ch9fLMM8+YUCYAjS4oVOlOmzbNCD/z8/7775uCE9g0GD4vAHDp0qWm08jnn38u9erVi/vMBQNAupq8+OKLMTsv1wID2KlTp5gdMxIDqADQF1cn9En8eB5oFbC3JaAA0JvfdC9lAHUNhPHA66+/bkKxtMIj1w9Dfw5DwJnCCkAInwHeAHS0c6NXMuwfLGCw0d6tXbt25s9PP/20dO3a1RSYAPDIASTcu3z5clNkQggY5owcQMK85AEGA0AnEi+ZBQABwFwrFcxcZ6wMsEwOoALAWHlUj+PEA4lb3CcAACAASURBVAoAnXgpc7ZRAJg5fs/SZ/XjC5+lHZjkF0fPY7pxoGs3ZcoU2bVrlzRr1sxcFe3YyGvj9/Tp002hA8wXoI52bhYQBrsAVo/CEgpEYMYAmOQQUhhCfiEMAFIzFIgMGzYsDUSSY0gPYD4PLAKxADAjkWcbdqY4gzByvC2wChgfkjNp/xaLcwMAaUeIZI4fpvcBP7yc+OfwYx0oA+htHSgA9OY33SsDD/jxhdcJSFwPALrIxwP4zZkzR9asWZOWv0f3DT4nHAnDhgwMBSG0c6PylcphcvyCje4esHo1atQw8i7IvNjQLIwiOX1IvpADOHbsWMM0YoScYQe9AMAVK1YYkWmqgBs2bBh3hwcCQJg/QtrffPNNzM576623yllnnaUAMGYe1QM58YAfzwMFgE5mIv02CgC9+U33UgCoayCMB2jTNnXqVFN5+9dff8nq1auN5ArsHWwd8i9oBKIXWKFCBVOxi9wKDB7hyVD5dlQJk9dHgQTVuQg7wwJWqVLF5AKOHz8+DUzCOj7yyCNmdISjyUEEjAYygE7avK1cudKEpAFmMJXxtkAASBHN77//bnwTK1MAGCtP6nHceEABoBtv+butysD46++UOJsfZf8p4cgkvUjAHACNMOuIESNk/fr1huEjFFu3bl0jEXPhhReaKl06XwB0brzxRvM3y9wFXzpFJTCDVLESDsb4zTEoKIEhJM+QApR58+YZQIkBGjlHKABIBTEh4HBi1ABAGMCePXv6CgAJj8M6IqdDKD1WhtwOTCbhdj9M7wN+eDnxz+HHOlAZGHfrQIWg3flLt3bhAT+EP10MRzf12QMUXsC6wf7BYMEAkr+Hlh7hWEK5SMEQ7kVqhdw/2Dk6dYRrg/bpp58anT9y/gYOHGiuiFBv9uzZDUMHQIRdpIBkw4YNaVIySMtQAEIbOT63BgOIzh5yMegVhjLGTd4cbJwfDKAVgsYHhMVpQUdBS6wMUEwuo1+dQPQ+EKuZS+7j+LEOVAja2xpRBtCb33SvDDzgxxufTkDieoCwaalSpQywo7KXXDrkTC699FLTDxgtQIpCkIahaIPcP4o/YAlhqUIZTB7bXnnllYaRo88vx8f69+9vqmWRiUE/j/XXqFEj8xndQagO3rNnjykesWZZwowYQADg9ddfb7qZUDwRb7MhYBhArumDDz4woe1YGfmXhNCVAYyVR/U4Tjzgx/NAGUAnM5F+G80B9OY33SsCAFT9r9RdIkizEFYlLEvuHsUeADQYPsLCAEDAGKwf2wDkEIoGJAaCtEAPvvHGG6agBBYLlo92cpYJtBIxVhya/SxgQxYG4BgKABIChmkLFwKmeAXNQgAg8imxMvwB88j15siRI+2wFgDCTA4ePNiEtidPnmxYzlhYZgBAvQ/EYuaS+xiaA5i486cAMHHnJmlH5scXPmmdkwIDh6UDgFHBCsNGhS7dNAB3gDUAIFXAADDy+gCJ/J9WcJdccolky5YtnZcASzByL7/8sgGSMIgUeGDIzQCo6BSC9l8gACQMDcCk1zDA1BoMYCQAuHbtWgNS//e//xkB5ViZrXgO7jASCADJb6RYhjA3eoCxMAWAsfCiHsOtB/x4HmgVsNtZOb69AkBvftO9MvCAH194nYDE9QD5fVdccYWQ04ZUC2ALpg8ABiMEGwj4evzxx02RBgAL9g7AQ89fQrk5c+aUo0ePpjFkdP6gkIOcPvLiCPFasBfKE5wTI88wIwDYr1+/sDmA69atM6CVc1J8EitD5BkgjB9gPq0FAkCAHy3bAIJ0NImFAQDJAezcuXMsDhfxGHofiOiilNjAj3WgANDbUlIA6M1vupcCQF0DYTxAPh9sHDlshE9p4wbgobctvXcBPohBw+bB7FEUQju4Ll26mHDxnXfeafZB6498OBhBqoP5TdcQt0Yl8r59+05iAOfOnWvCyRkBQKqXAa3du3eX888/3+1pw25vZWuCQ96BAJBrpyMIYW7C3bEwBYCx8KIew60HFAC69Zh/2ysA9M/XKXMmP77wKePMJLxQ2Ln77rtPyNsDBNLxY+HChXLVVVcZMEUIGPaP6lrYMAAR2/F/gB+FIBSPANqowqVyGIYQyRcb9nXjlowAIGFqxKVDGdXEVA4zLtvKzs15w23LtZDbR0cOrs9aIAAECKPbF8s+xABANBZhU/0wvQ/44eXEP4cf60AZQG/rQAGgN7/pXsoA6hoI4wHy5ZAaoZ0ZYM+KQiP+TM9fy/jZ3D+ACcUY5PFRtEE+IJ9hMImEQJFGqVq1qmEK3RoAcP/+/SfJwFgGMCMASCs2WEuKTqhsjpVxLbNmzTKgNlD2xgJAwDM6igBm2+4umnMjjA3Ibdu2rZxxxhkKAKNxpu7r2gOpDADRIhgrIqh5/pOBHNqFPURkh4jQCf1fIlJdRO6N4O3lIlIlaJtnRaSLw1lSGRiHjtLNnHvAj7J/56PRLf30AHl75Muh+wdYQ3IEBpDwLQAQUAjrR17d0KFDpWnTpqagg/6933//vfkbYMtW+CIQXbx4caHdG+yVl/w1hKYPHDhwEgCkophcQ0LAGTGAtnAEEBXKODYdTLgOp8a1wIjSHYWCEGuBAJDCFoSxX3rppZPG7fQcgdtRwUwYmWIStBj9ZAARsgbIoguplpoe8ON5kKgyMJ+KyG4RuU9E6ojImgyWwDRaV4rIzycA4/ci8pkDAMg2nwRst0tE9kTYT4WgU/O76MtV+yH86cuF6ElcewCgRWEDBR2Ea8mzI5+tdOnSpjAEQAjDRyEHItFoA9KdApBIoQihX4AiQBBDhw8ASFgYQASL5dYoAmFcABFrMIDk2CG2fMopp4Q8JA8uqpKxcHp8jCmjz/mM/sRcgw0jE9pdtWqV6TISKMpshaABhsjDcG7AMttFY3aMyN1QFEPo2Q/T+4AfXk78c/ixDhJRCLqAiKwTEQSkXhaRWbSmDDNdbLtNRMqKyHYR2SoiZB3/7QAAvk/HI4/LQBlAj47T3cJ7wI83PvV/YnoAvT2ACxp2hHvR0SOvr06dOgbY0ScYgIgeIAAQUFSxYkVBcgVQCCNnBaK5QssAkouHJAvFI24Nlo52cIRzrVkGkBBw9eoEW0IbgBQgi5YgvYyDzeoDhmMILSPKfnYbroXwMr9h+KxZBpCwMFXQMKOAxXDdUZz6wY6ROQAAws76YXof8MPLiX8OP9ZBIjKAhG/pSA4AJPwLSKPn0LGAKfufiLQREZQ+C50IASOCZYDZie3qicjKMNNMCDiviMCvs83XIvKeiBx2uCw0B9Cho3Qz5x7wI+fD+Wh0Sz89QKcPmD4qeikCAcwBAKkMBgBS4UsolwIPwB5gkPAwYVSYMhg5PidHDoP9KlGihAGV5Maxv1sLBQAZEyFgOoVkBACRY6ECGUaScQQaY7bgCr3BUGYrifnMbsM188DiNxXRGNeGrM2pp55qAB8AEPYThpRcQXwUKBrtxgdWFJuWd+QAktPoh+l9wA8vJ/45/FgHiVgEQg8fMpk/EJGcJ9jAm0RkdMCUlRSRgiLy7xN/e1VEHjwRLn7yxN9WZwDo2IbQMYwh+YZviEgvEbH7RlodCgAjeUg/d+0BP77wrgelO/jiASue3K1bN3nttdcMoCHcCpgBAALoypcvb1rFEfIkxw6QxP/pfkHVa7Vq1WTZsmVpAJDwKXmF5P95CYeipceaDGQALQCk2CRcCNiCNljLH374QSpVqmS0+ejMgWg1hSUAXLsdbB+gDsBGmDtw/0AACOvJeLgmciERqQYgo4FI6NwCQMAurB35e/RCHjNmjKc5tACQ4/BvBYCe3Kg7efSAH8+DRAOAtUVkjohUFJENJ/zW/QSzd1cIP6Ja2kFEhp/46S0ifT34G9ax5wlQecDB/goAHThJN3HnAT++8O5G5G5rQEzZsmVj1oLL3dmTe2uKG6jqBdwR3gTszZw5Ux555BET0iQPj1DqWWedZeRVAEpInhAGJtxKGBQwCBjCKAih7y95bISVA/P4nHoqFACEYQRoRQKAwR1DLJiaOHGiqdS1oJLwLqCV68mfP7/88ccfZniwj7bogn1g8qyoNEwngJdeyQDbbdu2GZBrAWD79u0NE0jYlnFSKOPF7JjLlClj/KgA0IsXdR+vHvDjeZBoABBen0zbIwFOI7QLKCt3Irx7+wmwxibkAO49ER7OLyL7ReSoiJDw8pULx9c9ATwpOFngYD8FgA6cpJu484AfX3h3I3K+tdV+46FN/pmaOw9MmzbNFFcQWoXNgiWjhRuMGeFSW1Rhw58UPJCPRyUu+Xi0RwP0ECK2ABDGDfD4zjvvSJMmTdwNiDfqEAygUwAIqEOKBkALm4nGIUYLu7x586YxfcjXcB1cO9W2hI4xmEOYUAwAxz6wfbCayNvgJzQBYQ25ZjQRCU1TNYtczpIlS0wbOkLQFMl4MfYH+MG0agjYiwd1n2g84MfzIJEAIOFewraAwOBXtkEi8raIfHQi56+MiFzHi66I3H0ijEs42GYrwx5S1evUAJV9RITQMkUlkUwBYCQP6eeuPeDHF971oBzuYB/YVJ0S7lNz5wGYLypbyeej4hdQBOtFvh+hXdtRgxZrdMKwosh169aV3r17m04hhEStwQACIun/S1cRm3PnZlQAL2RVAtlDpwAwUAy6du3aBohiCFcXKFBA7r//fvP/UaNGmUpmW9Vr8/0AioTDsf79+xtRa45BPt7u3btN2HvIkCGGLSWnkCIXCwARzWbsgN5JkyalaSO6uXa2tdXTSLIQUlYG0K0HdftoPODH8yCRAGArEflWREoHFHJY/70pIjR/pDDEGmAQoPeiiKByWuEE8xfJ5xeICA0qR50AifyfAhA0BwGTTkwBoBMv6TauPODHF97VgFxsTOHCgAEDTG4XfWrV3HkAyRUYL9gqiicQgQYAEgqlkwcAEFkIC7A7deoko0ePljPPPNOEf2HEduzYYcLv5NSRO7hlyxa54447TIEILJxbiwYABhZrUCxicxBpY0fRBteIAXgBgOgcYrB6XAM5frCaGHl8hLepjCYMPH/+fNOnmDAw/ZABqYTKLQBke0AjAJBtuX4vBmtJOJk+zIBYmFk/LJnvA374J1XO4cc6SCQAOPhEVe/VISb4XBGZJCL1T8jCsAlSL+jyjTjx87nDsO+ZIkIVMeHePCJC1jR3CJplhsv/Yzt+rFF5vJp8m4waqztdqEw0N3qqAFX406nXst52ybwOYGIIt5UsWdKwM2rePMAaAGjACHIv4DdAEPZr165dhvmjyIG8PoAJgJswMdIw3I/Io4MJBCytXLnS6P+RB0chhlsjBAy4uvLKK9N2pQiEcC0dSGAmwxnXQcgWYFelShXTmxgDUFEVDIuJwV5S7GKrelk7rCGuiWvfvHmz6YpSoUIFA2YZC/dKQsXsA/MM04kwNNqJ+Aw2FAbRhm9hQL0YABL/wQCiBeinELQ+D7zMWNbax4/nAQCQlysRKSIiO6PxILl6WdUQnTp+xwowboLccNXUA6nuAdgYHuSwNzyw+a3mzQOEQQn9FixYUGDMsOeff94AOxhAihMAPmjswQySa8c+MH4UfgAUYcrIIYRFA5zzd7cGM0d4FZbR2vLly00RCmFqiiMyMrZBgxBA98knn5g1gTwL/4exxKgUZpyEczGYQQpbAHFI45BLSN9fiosIH5MLCfPJGgM8UmxCDiCAl/xIACB+AUhSBIKQNYDVi1FYQsgd3wJA8bOaeiAreYB7CsVnCgAznlVlALPSqk/Qa/HjjS9elw5TAjuEcLDt4BCvc2XF4wK0CN3yQ1gTAEjem+3scfnllxsA+Pbbbxtmq2fPnqYHMDp45NORS0fhA9XDVlIG4AJTiAxKKDHmSH6EAWQ8yNBYIweQfLtIDCDbW/1CupnA+CGnApikcIXrwBC9Xrx4sbkWjB6+gFqAYJ48eQz4IrRLDh5rDKaP8DDi13TmgPWkeATwd9ddd5nrhA1FT5HjAAgtuxjpeoM/v+iii0xxCUwruYd+CkE7ZQCPHj0mG7Ydkty5skmJwto2zu0cJ/L2fjwPlAH0tgI0B9Cb33SvDDzgR85HvCaA8BtsCw9zwAEhMzXnHoCxgskid4/evgAkWr2Rz4YR6iXUyf8bNGhgqmsJbdI3GJbNVtPidyRlKP4gJ5C/MzdeDPAJMA0MASNNA+hkjFWrVs3wsHTsgEEj5EtIl6paIibIuHz00Ufmehg/4yXcC3AlDxLgCOgjxAwAJPzNNT/++OOGEQVMkivJ/zmmTcOhMhoACGDjuIBGwGZg1xA3foBFJdcSdhIAaPMU3RzDy7ZO7wPbdx+SDwevkXVbjmcunVmzkNzZtJzkyJ6Vg3FePJqc+zhdB9FcXSLlAEZzHX7vqwDQb4+nwPn8+MLHy41IvyAMTHI+1ZtW9iNe58tqx6VQgWIPwBYAhpAjP+XKoX71DwBE8gVQYyVQCK0CFAFKSMkAlOghTEg0Uog2kg9DAUCODePoBAASMkW8mev66quvzL9p5QYzx3UQqqZaGWaT0DJt7mD+0ARkPcF0ck0UsAD0yMGjwhcmkP1h5wCZyN9gFgCOGDHC6AIiGUMFsy04iXS9wZ9zTsLYgHN8ThjeD3N6H/hy+DqZsuDktK3bLisrF5xGOpdasnvA6TqI5joVAHrzngJAb37TvTLwgB9f+HhNALldt99+u2F2LCsVr3NlxeMSAiU8CtgBACKUHFgQZhlA2Cjy4bB169alAUQKPgiLAngoWoAVtNt59RfHowAlMARsASAV3xR3ZGSEZKmeBYgxbtYIwJXfpAmgr4cRIqZSeNGiRQYQkrPHOQGQAEAYPsAg7B/sMjlL5JxSUAJTCPOMwXQSNrZt6PgbRTNeewIDAAGSAEDGl2gAsH339JK1ZYvnkefaZMzMel0Pup+/HvDjeaAA0NucKgD05jfdKwsCQPL+YPx4QL/77rsGCHp96KbqAiG0iw8JNYYCgLYrBQUOiCKHMmRi0Mij6jcRACC5ghR8APDIQwScwhzyG5BGJw9rKCDQ2QS9QnL78AUMH4CRSmQAIILWFL8QVqYQBQAIK0jxSyAAtKLa/A3tPkClF2Ms5P0Rbk40AEhovkOPhSEvq1tbGmqpJbsHFAAm7gwqAEzcuUnakfnxhY+Hc2zRAcn5AEDalRE6U3PmAQotAIBUuJL3FgoAAnwmTJgQsaCBytl4AkAqg5F0ccIAEnqFQYSJZD+AGLmN/CaXkNw/a7B9FLEQtoZpAwDS0QPAS6s3/k/eI2CMgg/y+vihiAT2MxAAUhhixatZj8jReDFAN5I8FJWQ3gCz7Yc5uQ/sP3hUnv54kQJAPyYkk87hZB1EOzRlAL15UAGgN7/pXhl4wI8vfDwmwHaHQNoDUWLyvOrXr28KCLzmX8VjnIl6TEKYSJrAgqHXFwoAOh27BYCwZDZ/0Om+wdsRArbt5OxnFgAOHDjQVPVmZLBvgDcqkykOQscPRg02j4IXmDprhH0BhLDJFHkQAqYimOpmpGDIHwQEE44lh5DQLtXSbIPYcyAAZN3ZzifoASIH48UAgBR+AAAB5okEALfuPCQv9VmqANDLxCbJPn48DxQAelsMBgBys42VEDR5O7y1qhC0twlJ5r14qK5atSotfyvcOiBERrI/bIQNCdrrtjcLHqDRWI4cOQzDQi4VaxIpEiRIMB6s/I0wY8uWLdM0MKnwhHVCNoRqTqRHrE2ZMiWa4STVvgC3PXv2nDRmfEZeH71kAUMUyRDShBmzRjUsgIh5hy2L5l5A5S9APF4AENBGaBcGMBIAZB3A6gFqaQ1H8QgyLoSFAWgAOSsIDWNMEQjbw+zBCFLgQjcS2EIqctH/A3gCIAlxE05GDse2jyPn0IbHKYKBmWYfWs+5NeaNHEALAKl49hMARloDqzftl67fHWc+g63bY1qB73a+E3F77umR1kG04wYAUqSlOoDOPEnnEX5Qua1NEnMsACC5OzwYePDaijZnw9GtsoIHbEI8SewZrQMeoiTTo9zOAzDQeBnhoQxT4eWBx7EAJrAprEPkOqw4L7IfGOCSalVEhXnAAhIxev8uWLDAbE9FZ9OmTdOGNn78+KwwRY6uASAfDMDp6QsAQsoEAA+jRWFE8IsewBvWFGAYzb0AAGjz7GDeojGqgBkXzKQ1rtFW4UbqLoJwMy8AFIsAcGnXRqUuBlgDSFLtSzELYBEACGADaPEZa40HIPmCgDGAIEwplb8Aav6O0DW/MXJPLQDkhYrjBa5FN74gLI8OIMLbgE5egvxqBefkebBozT75+Bc6oZ5sSMB0uS/j4hw3ftBtM88DTtZBtKMDAJ4oFtNOIC6cqQygC2fpphl7gLAWXR+o9Iz0xgfDtnXrVqPzFgwAo839ArxQjcoDHwBIvhVmOynYUCUP1cA2YGjXkWdlw7086C0rk0oMYKhZhsECTCDvAruFRIntWRtq+2jf+rmhI5ECQxstAGQtAgABr9bcMIDIAQF4AYAch4pawBtGKJhcQPxCEQdMHmCZ9UdeHwUgvBgBvvh+wAAiFUP1Ly8fsBZ0ASEsDPNqQWW4Ahm39yBehmAoORd+wAeWrXR7LLfbO1kDMxbvks+Hrkt36EL5cshr91Z3e0rdPgE94GQdRDtsZQC9eVBzAL35TfcK4YFAABgp/yscACS82L9//6j037jhwKjAdsAiBgNAQpXkVPEwtCLA7ENIjmpMW20JezN16lRzpRYIpurEAwABE4R3yYOD3aNCOhzTH23eT6wBIOMMZNFsha2THEBy9FjPMIXFihUzAIq1glmtSNYSLzSsXXJJYQL5oRAEZo+XGlg/wBgsN8e89dZbjcg1xR6kHbBvrAEg7Avn5EWLCmZezvwEgJHuA38t2Cl9hqcHgMUK5ZKX7z4lVb9uWeq6o70XOHGG5gA68VL6bRQAevOb7hXCAwAtwqo8ZCLd+Hkobt682XSMCDQeooT+eGAhu+HFeOjBsBACBgACTDHLABLepUcrrI3N/1qzZo0BnVQAw9LY7W2Cf6oDQAAKfvUbAMK0ISQdjbEWCVWHAoAwb5FCwBQEARRhImEBAVA2d9XuT5iV8DCpArzcwAwi78J6mjhxomH4bFs3unxQRQyABixi7AdAxO68807TFi4WxsOXwhO+Z4SlEw0ATv57p/T9PT0ALF44l7x0lwLAWKyBzD6GAsDMnoHw51cAmLhzk3QjAwBasVsnABDmI1jbzA8ASIEDHR0AM/bhT54V1Z2B1ZbkdxGewxQADhdu5Ag7I3RMSJScSkKioSzamz7dNegjnAgAkJcJhJvJMapbt64BdxYAAu5gF/kceRdC44A5Qr90AoE5pR8ujCkFIhQ+UUyD1mS7du2MJA45qIBG9o81ALTalhYAwlx6bSnn9obkZA1Mmr9DvhpxXEg70EoWySUv3KkA0K3PE3F7J+sg2nErA+jNgwoAvflN9wrhATcAEF00ZFaCASB5VBSB8MCiSMSLEarkYUqnBhhAWwSC7hvFCVT/8sAmnAejQ2I+AO/hhx82TI9lBQEfFKwoABQDYgATAEBkTmCTqIZFXiWeAJDzVaxY0csySNuHlxFYt8AiEEL7hPidMIC8FAACYaQJpz755JMmP5H1C8sXbFZiBj1E8iU5hz0fuX0UPgEGySUEMNJhhDFyjngCQELA6BAmEgCcOG+HfD0yPQAsVTS3PH9HtajmXXdODA8oAEyMeQg1CgWAiTs3STcytwAQcNW6deuTrpOwMCAsGgAYKEhMUYoFgBaw2Pwy+rECDAB/AJpOnToZxoYHMjZ79mxT8ckNbNKkSUk3H7EcMECF3ElAsR8A0IL0eAPAQYMGRQSYvCyQs8e6QNcPCZiMjEpyKnlr1apl1hcFIfZv7EfxDMeABSQ9gRcOcgTjAQApeIL14/uUiABwwrwd0i8EACxdNLf8WwFgLL/CmXYsBYCZ5vqIJ1YAGNFFuoFTDyA0i94eD5xIIWDCZMhmIJ8RaBYAwgyis+bFLABs0qSJqUqmChOzRQtWY478LHLDCMUxdjox/Pnnn+ahbY18RPQBFQCOMDluVOUCZgATllENNUfR3vRjCQCZf8KsgQygZXydAEDAGZ04qNjlhYXrzsiQbgFwsY5g3Mj3Y21ZthvwBwhkXaF1WK9ePSM8bgEgqQhUr8fCAO3k/VkASD4gwNMPc7IGxs/ZLt+OTi8DU6ZYbvnX7coA+jFP8T6Hk3UQ7Rg0BOzNgyoD481vulcIDwCieEjy0IskAwPQQuA2GACSF0jIjAdtiRIlPPkZ8VvEd5F0AQBaeQ0rW2K7TMDqBOrYEQ4G8AUa4eiuXbumPAAkh43iGQAg+ZLkrEUCgJHWQEaTawFgYJ6mp8UgYl4AQgFA2F0AYKQiExjpN954wxQ4of9HbmhGBlC2bdtYx1SWEy620jH0CCY/kDUK8AOgAQbjAQDtWCwAJITtJwCMtAbGzdku343ZmM6dZYvllufaVPU65bpfAnlAZWASaDJODEWFoBNvTpJ+RISzAICwDJFEgEmeBwAG5wACAAklUwXsFQDiSHIAebCSA4gQMEZ1JawMhSYAOx7AgQAQAWNAYaABEN555500kd6knySPF0CInOIZQAwMIDmcVlg71CGjFX/lXOTZEXKNNgcQEELuHTmh1sjJI38Pdi8SACSFAABIsQdscfBLS6jrp6IcNpu0A148YChsX1+6cvBvXph4ueAaaTdnq4ARbY4VA2gFzfk+AdrpXOJXJxAna2D83J0y6M+t6QFg8dzSsXV0AuAel7ruFmMPOFkH0Z5ShaC9eVAZQG9+071CeMANA0j14+rVq02rrECDKQF08ZC1uXhenA2zgjQHrI1lAOlQAhNEoQmaazz4AZn8EHZDE9Bqsdlzwv4g3zF58mQvw8gy+1D1S2UuBQx0WUHGx8rqhLrIaN/6baV2oFSPV2cC4JBVsa0AOQ7C3vThdcIAsn6sdh5ALVi6KNS4eNmAR/OS7wAAIABJREFUKaXrBuALf8CMY7B9FIjAglMtDBhELxDtSiyWIWAAIKkQjJk5AwC+8sorXl3paj8na2DMrG0yYOymdMetUCKPdL5VO4G4cniCbuxkHUQ7dBWC9uZBzQH05jfdK4QHeJhSWcuDLlIOIAwgeVGEwuIBAGH3yEUEAMIAYbbHqs0ztGFmQsY8GAE0waDGhv9SvRMIDCA3WQsAYQAzyoWLNu8nlFaj1y9dOABICBi2OVKnEQqDAH4Y3T0ApZGMdU3LvEBdSSsdA8tM5TkgF3D2+uuvG3bSAkAKSLy2QQwelz0Ha528Tc7rJwCMdB8YPWObDByXPgRcoWReBYCRFlmSfB7tvcDJZWoOoBMvpd9GAaA3v+leYQAgrB0h4Eg3/nAAkMpgmESYQcCkV/v0008NECUH8LfffjuJWQnFMlI4EkrShHzE1157LeV1AAGAFM8Q2kQbkSKeZAKAhFQRBrcGowsD6AQAWg0/9qWgA/YukhHOpcCDFwjb1s0CQMLO6AFidt3Z7jX8LZYAkFxKxgsAtCHgRAKAI6dvlUHj0zOAlUrlladuUQYw0jpLhs8VACbuLCkATNy5SbqRwQA6BYBU1dIT9ZZbbjnpOtevX28eyjAo5BN6NXIASXiHAbQA0D5Y3YBMBYDHZwD2iDZ9hDMBgIQvyW8LZ9He9C0DSH4cxTnRGAxgNAAQ4IT2HxbI6LkdE0UeM2fOlPfff9/oUQaa7V8dawBI2B52EQBICBgQmkgAcMS0rfLjn+kBYOXSeaXTzdHNu9v50e3j44Fo7wVORqUMoBMvpd9GAaA3v+leITzgFgAuW7bM9EMNtFgCQFq6AQBtEUibNm0MI2jPAfhEtiYj45oI+xECDn5op9IiCOzdPHfuXNPBIp4AkOrVL7/80hRIRAsAKU4ipOqVAbSSMcw3LxYUC8XaAgGgXaexOAcPRq7bAsCzzjrL9Cj2w5w8+IdP3SqDJ6QHgFXK5JWONykA9GOe4n0OJ+sg2jEoAPTmQQWA3vyme4XwAGwZBRVOQsCE4MiRCgaAaAPywHYCzjKaBNgW8vpoTWcBINWVAEKqj2GFODefZ2SEo3lgMt5wXS9SYTEAACmeoZhgzpw5RhYnoyrgaG/6FgA2a9bMFOdEY9ECQLp5WKYaUWgEnmNtqQoAh/21RYZM3JzOnVXL5pMnb6wcazfr8TLBA9HeC5wMWQGgEy+l30YBoDe/6V5hACDizYReI+UAwqgtXrxYAGWB5gacZTQJJNTDdgDwSOK3Vr16dalTp47RhrOAMKPjEI4mZJbqAJDwoe3dDADEHwhrh7Nob/oIGNOCLd4AEHBYrly5DL/PyAYxDiywVWAsbwLxAoDkbVL9nKgM4NApW+TnSekBYLVy+eSJ1goAY7nGMutY0d4LnIxbAaATL4UBgAjjRmJCnBzej3JvJ+PQbTLHAzCAFgBGEoAFAC5atEgId8UDANJ+68wzz0wHADkXHSHobesk2R4ACAMI45XKDGBg72Za5DF/kQBgpDWQ0SqNJQBkDmF+A3UAAbB05OCzSACQQg3SCTAKQjhWrI2WbVYHMJYhYPI2Aa8WADZs2NCkNPhhTp4Hv03ZIr9M3pJuONXL5ZMON1TyY5h6jjh7wMk6iHYIKgPjzoMqBO3OX7q1Aw8QLgUA8rCMJASNEC8MYHARyJo1a0zRBkUg0TxoyR8jV4sXG/rYhjIngrtWBJgQaI4cORx4IWtuQtEH1dMUgQAAp0+fnmFHjGjFXwGAX331lWGvog0BM4esJSRXrAEAn3jiCdP5JRIAZB8khTCAcDxyQQGAffv2NefgO0GuaiwM9vKaa64xoXsqt/lOvPTSS7E4dMRjOFkDw6Zul+HTtqc71inl8sojLctGPIdukPgecLIOor0KFYL25kEVgvbmN90rhAcIj5UqVcqEgCOxPyTW01ECFi7QEIcmfBwtCwKbYgEgbB9GIQC6aNZsa7iMJpMQISFgih7oBJGqBnigeAYmadasWQKAx3/hLNq3fsuINW3aVKpVi64nbCgGEEa3bdu2Jt+0bNnIQIN8UixeepCBDKCT1ASn6xAASCEN8wZ45TuBrJEf5mQN/Dxxswydmr4TSM0K+aVdq4p+DFPPEWcPOFkH0Q5BGUBvHtQcQG9+073CAMDSpUsbBjBSDiAAgo4SdD2IBwAkf6xevXqGAbQAsHLlykZ8GnPaYQL2CMYE3cJUB4AU6NChBQA4bdo00xc3IwAYaQ1k9CWygIhwvdXM8/qlAwCyDgL1+5hPACDz6wQA0tEDWSL6+MbDbMibY8cSAFK4AwBk3gDxfCf8BICR1sCQCZtl2NT0IeBaFfNL21YaAo7HWvP7mJoD6LfHnZ9PAaBzX+mWETwAA+gUAAIg0JMLBoCrVq0y7KGT/LyMhkMI+PTTTz8pBNygQQOZMWOG2c1JBTDbUSxCGzAYwMC+wam2GAgBU6ADkEDLjhBwPAGgLYqINwBkfsuUKZPp0xkvAEjXG152EhUAogGIFmCw1a5UQB67ThnATF+YMRiAAsAYODFOh1AAGCfHpuJh3QJA9OTomRposQSAdevWNTp/5ADWqFFDGjduLBSHYHSxcJLLZQEgACh37typOK3mmrl+8jPp0AKIBgTSWzmcRXvTjyUAJDeVdRCKAUxEAOj05cTJYqRym17DzBsh4DPOOMO0nvPDnKyBH8dvkhHT0wPAOpULyKPXKgD0Y57ifQ4n6yDaMWgVsDcPKgD05jfdK4QH3ABAGCTkRIIBICFaikBgBune4NVIqD/11FPNg5+CFCpWCeH+/fffppijZs2ajg5NCOuFF14wACiVASAMKOCc4hwAIGFgeivHCwDa1mgUgSDdE42FAoBcT7t27QzDm2gMYCwBIIU7LVq0MACQEDCseCIBwB/GbZRRM7alm95TKxeQRxQARrPsE2ZfBYAJMxXpBqIAMHHnJulGNmDAAPMwdZIDGA5ExAoAUkGK3l8wAHTrVAWAxz0W2LsZ8E4lsB8AkC4WsLfRGN1c6CsdWAVsASDzS9pCZltgCDiVAODAsRtl9Mz0APC0KgXk4WuUAczsdRmL8ysAjIUX43MMrQKOj19T8qgAQBLqzz333IhVwOEA4IoVK0znDpjBfPnyefaj7dgAABw1apTpWuFFxoV8RBhAwmd58uTxPJ5k3xEAyNwgUUL+ZqjwfeA1Rlv5h3QE3VziCQDbt29vGMBEAIC28wk+jCUApO91y5Yt0xhA0iL8ZAAjqQEMGLtRxsxKLwNzWmUAYIVk/9ro+EUk2nuBEydqFbATL/2zjeoAuvOXbu3AAzAtMIBIZkTSASSEyE9wEQggw4o0582b18FZQ2/y7bffmtAhABANPyRLvAg500Xk5ZdfNnmE0YzH84UkyI7o5jE3hBJhAAmlB3dxCRxqtNpf7I+UD3l70YaAqQKGAbzooovShgig7dixoyBenigAkJcWDB/HQpifY1npnhtuuMGImcOKI2vk1fYdPCqzlu6RHXuOSO1K+aRK6fAvRZHWwJGjx2TAuC0yZcHudMOpUymf3Hdl5hfnePWT7vePByKtg1j4SnUAvXlRGUBvftO9QnjAiuo6YQDDVZIuX77ctG4jvBgN4OrXr58BDkh3jB49Wu6//35PAJB8xOeff96AyGgYyWRfMIG9m8NJ+MSDAaR7h9N8zXA+5sWkePHicvHFF6dtQk5nhw4dEpIBjLYPdqAfkO659tprDajkmsmLfeONNzwtx/0Hj8p/B62SVZsOmP2zZxO5q2k5ObNm6M4oGTE/E+fvkB/GbRIAZShTBtDTFCXkTsoAJuS0mEFpDmDizk3SjQwAWL58ecMARtL/Cqclt2zZMhk+fLipMI0m5PrNN98Y/TgLAJ1W/QY7nXA0GnAAwGiKUpJuMoMGDABcsmSJYf0AgDCAwSLewQAw0hrIyCdHjhyRzz77zLRvixcAJAScKDmAe/fuPakTCMx1LAzpHgAgxTvRAsApC3bKl8PXnTSsMsVyy79uDy3UHS73a+P2g/Jq32UZXp4WgcRi9hPjGJoDmBjzEGoUCgATd26SbmRuAWCobhJLly41IWA05qKpuiUETAsxAOCYMWMcy74EOx028rnnnkt5ABjYuzlcF5d4AEBCwLVq1Yrqu0CYt0SJEukYQAAgOWp0r8ls8wsAEgLu0qWLp8t9uc9S2bLzULp9uz5YQ/LmTt8m0T74K9S5WMbO2SXZs2WTxqcXkfXbDsrQKVtkzeK/ZMOKmdLwsnvTSTIpAPQ0RQm5kwLAhJwWZQATd1qSc2RuACBVpIAK5FkCLZYAsEqVKgYAwt49+OCDnpyqAPC42wB9CxcuNC36Av8dzqnR3vSPHj0qn376qckBTDUACFvHuo3WYFB3794tiKJzTCqfa9eu7RkAtu++IOSQXrnnFClaMFe6z4yUz3e/y+yt1UJqbg784E45dGCvtGrbS/Lkh4v4xxQA/uOL3fsOy4R5O4XfZ1QrKDUqeJfHinZNedk/2nuBk3OqDqATL6XfRhlAb37TvUJ4wA0ARAOQsGIwACTMSMGFkz69GU0CIWBuCoQPFy1aFDUAhEWkl3CqWiDrF8gGJgsALFmy5ElFIGjikQOYiAwgXTsAgF6KlgLn4+yzz077LwCQwhfAtFcGsONHi+TQ4fQ5e8+1qSpli6cvBuHB37n7RDmUs5TIsWOSLXv2k5bLt11bm/83/793pWipKgoAQ3yZ9uw/Iu9+v1I2bT+Y9uktl5aRC+tG/4Lg171MAaBfnnZ/HgWA7n2me4TxQP/+/aVChQqOcgABgFQlIs8SaBYAWuFmr86GPYJFsuaVASQf8dlnnzWFJAULFvQ6nKTfLzDvLzAfMN4AEO0+WKtoDIFywryBVcAWAFLkAzjMbAsMAZNHSycUKnejsVAAkBeiN99809Nhn/p4kRwIUbTxzK1VpXzJ9ABw//6D8uDb06VA/rwy5KOH5JR6l0v9S46Lhx89ekT6v32z+XeTm1+QslXrnzQm7QRy3B2/Tt4iv07eLMeOHpWDB/ZInnyFJE/u7PLy3adI/jzpw+6eJjbOOykAjLODozi8AsAonKe7nuwBAGDFihWFB0+kAgB05AhJUZ0baIsXLz6pc4dXH3/88cdpu9LyjSIQL0Y+4jPPPKMAcOpUmT9/vpHtCawIjhcAPHbsmHzyySdGvDkeABBdx8cff9x0nUkEALhnzx5BvBxDloY1e91113lZsmn7BANAXrgQ1Y41AHz6lipSsdQ/kk2rNu6X2ct3y569h2TwuJVy9MBWGd77KTOuW54eYH7v3r5Bfv74UfPvOue1klPOuFwKFS+fNnYFgMdd0e2HVbJ4zV75a1hPWTJjmFzfoY/kzlPAVF7nyJ5NShfLLY1PLyoF8iYuGFQAGNXXOK47qwxMXN2bWgcPBICRBGDnzZtnqhLDAUCvws3W44EAkFBa8HmczgzhaAAguoaFCoWWu3B6rGTeLlD8GSBBtTaCxRkBwEhrICN/WACIdAuFC9GYbVFIL2hrAMAnnnjCAEAKRDLbAgEg46ECHgHnaIxqfGs2BIw0UteuXT0d9umPF8v+Q+lDwE/fXDkNAE5duFO+/H29HD1G1PeY7NyxQ3Zu+Fv+/PGtkwDgplXzZGS/59PGUfPMq+TMK/55GTy1Uv6UaQW3a99hWbv5oJQplitdLmX7HguNj2y+ZKhwecnCuQQQnjf3ySF2T5Mch51UBiYOTo3ykEkvBL1r7xE5ePioudGs33pQ9hw4KtXK5BFkCdQyxwN0AoEBPOussyIKQcMmwQAG5wDCAJJvRxWwl84d9sqRb1m9erX5LwCQnEIvRugXGRjATKzEeb2MI7P3oXMLoJ0iEBhAWvaRqxbOYiH+ShEDoC1aBhAdQFi1Ro0apQ2Xl4+nnnpKEIlOFABI3ipG/h/pBs2bN49q2i+88MK0/Vu3bm2Kd6pVqyavvfaap+P++4uVciAEAOzQqpxULJVHDh05Jq/3Wy279hySFfPHSqU6jQVgu3XVdJn8a3dzzpue/NbkAq76+0+ZMOS9tHHUPvtaqX/JnWn/r1UxnzxwVdYXgv5j9k75ZfI2QRQ7e/Zsct0FxaXRacdfNPE1Pif82//dW8zfLr7x3+nC5fz9ukbFpXHdwnL02DFTbZ1IFot7QaTrUSHoSB4K/XnSMoAfDV4j81buSXdVL9xRVUoWURDobTlEt9d3330nlStXNgAwEvsDABw7dqw0a9bMyLVYo9I0GuHmwCuA5QG0ACSDcw2dXinMX+fOnU1hSioDwMD+v4F9gcP5MRZv/bC4sWAAbY/qQAaQtffkk08mDANIta7tBAL4IyzNd8Orkf9KT25riEszb2hjemUAn/p4cUgA2OnGylK5TF5ZuHqvdP9xtaxd/JeMHfiGnN3sISlZ9VzZtGySTB1+PCXj+na9JXe+gvL35B9l7vjvTKj70MF9UrfRTXJ6438Y5TqV8suj12btXsCEyt/5fqUhMawhrn1P83KybddhE+L9fuxG2bNzkwz56GGzyXlXt5eqdZuYfy+bPVJKVKgthYsfb5lXtEBOI6x9bu3CcsNFpcz+iWCxuBdEug5tBRfJQxkAwB07dsTk4eZHrN9exkeDV8u8FekBYP3qheS+q8rLF198ISRWP/ro8TwTtfh7IBAARsoBtACQUQUWaMQSABK2hPWIFgA+/fTThtFMZQAY2LsZ5nbVqlVGWiQjABhpDURakQBACjfoXhGNhQOAhICR+aFLSGZbIABEcLxcuXJy+eWXex4W977AzicAQEL3UQHAnotCAsAnb6wsVcvmkz9mbZPv/9goS2YOl7+GfiRVT79Uaje6Q9YvHCMzR/cx19Lige5SqFg5mTL0I9m6bpHs27NNDuzZIfUuvl1OPf+fopfalQrIY9clNgDcf/CIAb0UY1Qvny+k1E1GE/jzpM1GDzGSbV67QEb0fc5sRpiccPmWdYvk9y+fkWJla0izu9IX9VzaoJhc37h0pEP78rkfuEBlYLxNZdIWgfQcskbmLk/fQxI3dGtbW1544QXTBzMwF8ybi1JrryNHjkmOHN7eHN0AQDpJoM9nASAAg9ZvMALRCDcHzhaFJlR75syZM12o2emsjho1yoQKYQBj1Z3B6bkTaTvmh/Z9dGgBABJep71YsgDAsmXLSmBIFAYwUQEgAuiw4mggerVt27ZJ06ZN03YHACLfw3E9M4BhAOATrStLtXL55LcpW+SXSZtlzvhvDbtXrGx1Offa52T13GEyd/y3ZixX3NlFSpSrKWO+f1WyZ88pOzavlD3bN0jDy/5Pap39T85jogPAFRv2C88gtPmwulULyv1XlXd17+wzfJ38tWCnLJ01QlYtnCAX3fCsZM+evphj9cKJMn7QWyLZssvpF95s2NLZY/vJvAnfS9lqDaTJTf/kUtoJz5Mru3S5v4ar8Xhda5H2UwAYyUOZ93nSAsCPh6yRORkAQPpdzp49R7p+8NlJFWqZ5+rEPvPKjftNb84la/dKicK55KYmZeS0Ku5077wCQPLzevXqZRxE4joPKq+yLYFetpIyFmR6mQHC0Z06dTLdSWIhzutlDImwT2DvZvLn1qxZE3cASBUwoO20006LygW2R3UgAOTlgxBwIjKAMNbo9QXK1rh1AD2Ar7nmmnQAEHH0t946XpDh1p4KAwAfb11ZTimXTwaO3SijZ26Tab9/Joum/SK58hSQy+7uJstnDJZFU4fI0SOH5eIb/yXlTjlThn7RUUqUryVb1i6U7RuXy9nNH5bq9f8BrIkOAD8YuMrcK7mm7DlyGlf+35XlpWEN54Vi3QetMgzi4J4Py94dm+SyNq9KqYrp2e4FUwbL7HH9JH+hElLulLOk4WX3yJ8/vSur/h4vJSvUkctvD53T2fnWqlIhhDyP23mPdnsFgNF6MH77Jy0A/OTnNTJ7WWgG8M0HasjTL7wlI0aOkqb3/FdevrtaSKX6aN1KciuMFdVusEzJajR57/LNctm685Ac3L9bcuctKLlzZRcEXosXSq/wH+46ab/GA4YcwEjhvwULFhimD2vVqpWQqI+RQ0iBQSwAICwV44gFAEQPsFixYsk6xWHHjcTErKW7pVD+HNKobng5icDezQBAesxmVAQSi5t+KgHAXbt2Sb9+/dLm6fTTTz+paMXtwlu+fPlJ82MZwHgAwPY3VJIa5fPLVyPWy6T5O2TCkPdl5byxQmpbs/t6yrJpP8j65TNl97Z1cm6LdlLt9EtkUI97pUaDK2XD8pmyec3fJ+W2ca21KuaXtq0qub1sX7ZHnPnZTxfLzq1r5NdP26eN/axaheXuZuUcj+H1r5fL+q0HZEjPR2TPjo0mBE4ofOu6xTL8y87S7J63pVjpajJ1+CeyafV8yZkrjxQuUVHOveoxGdq7k2zfsEzyFSop1z7SUw7s22WAaK7c+UxOZc6ceeT2K8rL+afFpqe044sKsWEs7gWRzq8h4EgeCv158gLAX9bI7KUnA8DDR47Jzr2HpWyxPDJtzDeyZMZQue6xz6T5OSXk6vNiL/YaGF6+667jAqeEMcMZN/l8+fIlHFi0Td5XLZho5BqufqCHFCxWVlqeX1Kane1cIsP23z3zzDMjAkCb64evSM6nYAMjz44vcywA4ObNmwUJkGgAICC1Y8eOCcMUBa8t0hwoGnAiUs2LCi9Nc1fskUL5csrRo8fk92lb0w5ZpEBO6XhT5ZAvSwBA27uZsDoMU7wBIN8v8v9gw8qU8V4RajvUBFYBJxoDGAwA69evn1bEwYsmjCvzx7/R8gs28rh50O7bt08qVaokhOwDpY8sAOQF6+233/b0tOjUc5EcDFEF3P76SqY92Scn7slj+v9HNqycY9ixS25/xwDAfbu3GsBUo0FzqX32NUbW5LyrO8iy2SNk48o5cmGrp6RirfPTxpXIAHDRmr3y3x9WyZrFU2TcwC5ySv2mck7z40UapB85tc6fLJZ9B47IgPfvkMMH96Xl880Y1VsWTPlJSlU6TS677T8y/se3Tcs8qqdz5MwtjVs9bfyXJ38Ro6d4zUMfyuCPHjKnvfmp7+W7t26UCrXOkze6dJXmLu7fTsftdjsFgG495t/2SQsAP/t1rcxcsuskTwEA1245IJVK5ZWFUwfLnHHfSuvH+0rBfDnl1f87xZTZx9KC8wtJ3kYoN5TZ3qZ8dtVVV5mbOfITidBebND4TTJy+tY0sdFzW7SVaqdfKragxqnP3ABAwrxUlmKEVrdv324e8hs2bIgKsAWONfCh6hVQ+gEUAJl169b1JEj8+eefCzljl156qWzatMnox9kWYsHyKYC9n/7clG46N66aK8XL1jAMQ7jkcaqpAekUFnCejRs3CtIi4SwWN/3A71eLFi2MxJAXywgAJgqzGwwAYdH5wfD3Rx99ZBhC7jE2H5XvDEAckEy+H3l/2HvvvWekiygEsYZmI985wGGsAeBj11UyMjDkxC1fv8+EdyVbNtm2YZlceOPLsnTqIMmRK7fs37NdChYtK3XOvU6G9npSLr/9dZk+spcpBrFslx1vIgPAaYt2yRdD15rcvSm//c8Uu5zXoq0ZulMAiIRZp48WyZEjh+T7d26VwiUryd6dm+WGDl8a9m/b+iUG7FE1/ceA1wzYAwACpMn5Y59Tz28t8ycOSPvN+audcZmpDsb6DByjANDDDSO2KMHDAHzcJWllYAwADGIA8dvmHYekRKFcsnzuSJn8aw+58Yl+5uZj1OpjnA8RqsAkHNDg5oxQcqBxMwYMZrYZtfm1+2TC4Pdk5fxxpl0TN+ka5fMJb/dODR0zdMZgACPJwASGZ+3xATEUXWBeAVvgWE0z+hO5hV6PBwCEAURXMNpqUZhNKpMvuOACA9QwAMhzzz1n1sErr7xi/kbvYgpO0K6LZGjywfYEW3D3E5ibf32+VPYfPCzL546Wyqc2Ng+Yfbu2yk8fPmDyr8jDqlAij3S+9eS+rBybsZPjadvr8fISCQBGWgORri3w+wVADszhi7Rv4Oe2RWEwA2iZ3UQI7eNfqwPI2M8//3ypV6+euQxeFilYIZ2BddGgQQPzwmA7h9x2220nhY+DfWN1MPluRQMAn+q5WA6E6AUcfL4fe9wrZas2kOVzx8g5LZ+SJX8NlKKlq8qBvTtNC7jTzm8tI77+l1x17weya/s6w6K1fuJr8wISaF0fqJGQ4sbj5myX78ZslPkTB8qsP76S8jXONgUcWLfHajlamlt2HpKXv1xmqqB/6nG/nFLvClk663cTffn5k8ek5lktZNHUX0xe4LThnxg2kHVAuBwA+GOP+6TxDc/IzFF95MC+nSZ1J9i+HDDaVQTH0cA9bKQyMB6cFuddkl4Ius/vm2T2svQyMPsOHBUqoLasnSejvnlRmt/zjhQpWVluv6yUNKjurqghozkgFNO7d++TNqHf6LXXXhtyt61bt8oPP/xw0mc8eKLt9xmLdfJC75VGP2r0ty8JbNCp510vZ1zURsoWzy0dW//TninSuXjQUmXYsGHDiELQHCvYh2j1UWzADSOwjVWk82b0OWLCmFcdQMKdyMDEQjDYjgUpDsAu1q5dOwMK8Vn37t0N+AN0wurdeec/wrjhrpFcPICWNYAZD3nLHtm/r9hwQLr/tM7IR4z46jlTSVi30c0mjDV+UFeTkH95m+PJ5G898I8uY/B5KYaB/QPoA2TDWSzEXwln0qmD8DYgxqssCmkA9NcFVFmjCpgOL0OGDEmI3E4AYOALImA1UP6Ghz/24osvGgbQibVt2zatWwvgnWulV3eXLl2c7J5um3/1WmnE9zMyAN6Ad2+TMy5uY8BRgyselUWTv5dKdS4wAHDnltVm3cFqtXzwQ8lfOHxqTvkSuaV9q3IJo2dnr3vE9B3y21/bhFDtwqlDpHSlunLJLS9F/O4E+m3VpgPSbdA62bF5lQz94kmjmUi7t4aX3SvTR35ujsf9+Jzmj8isP/pKzTNbyJF+SpvYAAAgAElEQVTDh2Tl/LHS+IZnzT6Eh6kQXjj155BT8tk3w+WKhkU9zXUsd4rFvSDSeFQIOpKHQn+etAxgr6HrZPrik0PAXCJhYCK9+/dslcEfPigXtX5Oylc/S1qeVyKmb0P79++XPn2Oa1tZI8E6nHo/AJBQFMndc+bMMbsgTREOMHqbTvd7UQDy9CeLzY705iSnxLJBxQrmNE3HnRoMBuAGMOOU/bEsD6xhrEBf4Hjt8b0ygFYwmOuJpmdsYIjPsmd0SQDUwKqR14UQMJp1W7Yc1wYjnYCQX8YP3KPy6aefmk1gjAJBTuB+Jmw1bJ2sWzpN/vj+NZNvRd7V4hlDZeqwj6VkhdomJIe9/WANUwQUjcXyrR/wA6Pp1UIxgITdqe6GgU2E6u5gBhAJGHIfQxn5gBROYYR+uYZQRijYil+ztgYPHmyA8DvvvOPJlSYH8HCAavGJowBCls0eJQ2vuNdIu3DfhZ2C2Tut8V2yYEI/qdfkDhO+XLNoiil0GP/jW3J9+96m4IyZtUc9fHC/zBj1hYlC5MqTX9pcVkbOrlVYduw5LMUL5YxqHXi66KCdyJv9acJmGTljm0z6uZthOUmfaHpCi+/9R2pmmGrEWl64ep/JvV2weq954R7V7wUTAqdfcrEyp5iq6FbtvpDfPn9CylU/0/QAvuCaJ2Tvri0yb0J/ueiG50wbvavu+8CEkId90cmMssGl9xgZmWkjjr/09hkwOmFCwE6fB17nSIWgvXkuaXMAycHgoRZsfMGOcUs5elj6v3urnN0MeYEr5PxTi0iby8t681KIvYIBIPlJyDeEA4A81Hm4n3HGGTJ79mxzRBKyr7zyypiNycuB0LF67rMlx3NR3m0jcuyoVKpzoTS69kkjcPr8ndVkxLStRq2em5/9TX5g7Uong5NAABipCtiOlWpgeuzyYIqHRQsAyXt7/PHHDRMVDQAk/Aa7B9CF8aNoiPwttPRYEyTxw1SR08dLAkwo+XZO2qBR8YmcSUYAcPyc7fLt6A2ydPZImfJrDylTtb5ccvMLaZptBYqWkZYP/s9MwUt3n+Kq+jvUvMUiBzAW6wH2AZ8Gf9dscU+iyPsEA8ArrrjCvEyFMl4YYPHI8YOd5voeeughA/BYO0QaDhw4YLRQrToB4WIYQASm3333XU+u7fjRIjl0ggHcsGK2zBzTVy5o2UF++bSdOR6dPNClQ6C42d1vyahvXpIKdS6WZTN/NfcT9P7oANLg0rtNes5Nnb4zgIX7zN4DR8wxVv49Xib89K4BM7XPOS5jkzNHNvNiX7JILnng6gpSrvjJoWJPF+Nyp8Vr98p3ozfKhm0HTSgWo9hl/bIZUqh4eWlx/3/N316/r7ppTXro8DFTyRysqdp/zAYZO3t72tmtxl+rtr1k2JdPGzmYwiUry1X3viejv31Zdm5dK/t2bZamd70l2zcuMzmHja57yhTrXdf2c8mbv4h82/V4Lu4tTw8wvxdN+1VmjO4tvb79Xa48x3kRn0uXON7cj3uBVgE7no6TNkxiALhOpi3aaS5m+sgvZMu6hXLFCQbD3lAGdb/XqKYT7nJb0BDJnYSnvvzyS7MZlauEc7kxhAN0oQAgTe4D1fojnTMen+/cc1j+3WuJqTJDWHTVwklSuHh5o9cF6/LCnVXl5T7L0p0alXkKBgLNCwCMxzUFjymaqmJCwB06dDCMJiF+rwZIA+TVrFnT5OyRx0UeJL11CfctXbpUfvzxR1NpS3iV8wHo2C6SWXYR5hUdxVBGkQ/FPjyA6cpQvFxNaXpnF5OEv/CvIYaJgZHBYqEf5sdNP/g6+f6t33bQMEr0BGf9UlSEX7FAFjjR9B2DASD3EUBrrAwA+PPPP5uoQywAINIki6f/JlVOu1hWzDsu6A6rjI7dzD/6muKF3/s+I0eOZZNdm1eYtQazZcKcl95jtrnpyeO9j4sXzmUkqLA1iybLuB/eTJNEsddvWWC2ff6Oar6GhbfuOiSvfbU8DfzaMf3e91mjY5i3YHG57tFPzJ8L5c8pu/YeF4dmrE+2riyFCxyXCDN5f32Wmn8fOXzQ5ODaQpKbO/U3vZHpkWxfzqb89qHJC8RueLyvrF820wC/+pfeLTNH9U4D0CEB4KgvpNd3IxQAevgCeY81eDhZJu+StACw97B1MnWhBYC9zJsYlDiGnAUhg996PWmEMs9u9qARxOTBFisLBIAkZgMAeTMPBwCtJAkPdSQ1sEQAgNt3H5IXvjh+U8Im/txN9u7cZPJLMG62/+mbHgBe26iUXHHmyS20qFKsXr26CQE7ZQBjNR/hjgNTS7UkDz4vhuZd+/btzfU4KcrI6Bw8GPqN3CBrNh8wAKV28Q3S+YmHTM9XWtbB4lnj5QI2B186MVqzcY25coXWbfxl8mb5bfKWtA4ClmWgJdfSmcMlW46ccnPH490aOtxQSaqXzzj0HGlMfgNA2nJ9/us6+XvV8bzgOpULyJ1Ny5oiF6sxGQoAJkqHF14OqKK31rJly5iy4nTeISSM6kAsACC9fun5a61K3SYG4JWpUk/WLZ1qGLFxg7rKivl/msjIDe16G2kYAEyNhlfKmsV/Gf06QDq5xuu2HDCHooIVdpCuIHQHwazcimW82l1fSWpWiG59Rlq/gZ+PnrFNBo7baEAbensIMmM8X3ZsWiE58+ST1h36hjxkvVMKyv0tjvfqtXJb8yYMkNljvxZYPxj5+ZMGyg3t+8jcP/vLnHHfSNXTL5HzWrRL+3+eAkWk1WOfC6wreYHVGzQzxXpUDGMUhFBhncYATv/NvNh9oQDQzTSnbasA0JPbxCTv+/Xgt210GOqsP742ybEtH/rQjLxciTzmhgJFb3STru9swgxdHkivn+XxUk34pW/f4196NwAQfS/Ce+YhlQAMYOBbKWPiDZ1CgeZ3H9cKI/yyc+8RyZ/n5JywUBqBAEBy2WCt/FoHXufP6X6xBIBvfrPcgD9rB7ctkL9+fMVU0xJitsLYfM7aogMGIeNY2I/jN8mI6VvTujTYkK8V7eUcN3b8RnLkyCUPtaxgWltFY37eCxjnr5O3yK+TN580ZIStL6ubLSQATLQWf8EAkBy/aF84guePSmIAVywA4C+ftZddW9aYU+QtWEzqnHOd6VYBC7h7+3oTjZn6+2fy95TBkitXbrmp47dG7w8AQ0Xr4UMHTQ9b7svFCuVM+178PeUnw24BKM+/ur05/u9fPSdb1ixIk4q58eLScnE9/0TZrcD1xCEfGLYTdjN3voIy5ONH5dD+PXLwwF65udN3afmJW9cvkQKFS0me/IXN/fPth47nBdqXsGF9kHlZLFfey/HGGDDHs2vJzN/lr6EfSu1zr5MGl9wly+aMksm/dJfi5WpI0zvflG0blsqw3k8ZhhAf25SNg/t2y8GDe6RgkeNamTCz00Z8Lr2+GylXnashYLf3MQWAbj12Yns/b/qBAJA3J5LZr3v0eDI8Lczmrdhj3iS3b1qZ1iy764M1YyYrEAoAHjlyJKysi2UAAwEg+V1NmjTx6O3Y7LZp+8GTGD7Cg6sXTZEW93eT9cumS6kqDWTtlkPmLT13zn++Gi3OK5kuvKAAMPycBPuZLWGtZw/tIo8+dK+R9Jg4cWLaAUjapwggVoUxNvcIhnfF3DFiWYWxA7vI2sVTzHntg+2e5uXlzJrOW1qFuup43wvw569Ttsj+A0elbtUCJimfvwVarpzZ5clrC8rPQwabPwcygBYAjhw50qRwZLYFA0BeCigWiqXR+g7zCgDp8gEY2rZxmSk8KF3lDNm4YrbRsAOwUFxEPlyhYuXlotbPyryJA2X6qD5SoHAJafXYZ7J5zQJTgU66QenKp5siJMKk+XJnTwOAVA4jr2LDoIz3h253G5mTS297xVTcEnkgAuGX2ZZtP334oOzbtcUUZCCjRDeTPHkLmcrm1o9/JTlz55WDB/bIDx/cJSUrniqXt3nVDNHm1P48abMMnbIljTlEoWLR9N8MsGt2V1dzP4C0qN6guYlarVs2Xf7o/2oaGN69Y4P83PNR4eUtd95C5rkGwKRtZ7+R69PcYQq7hn8qX/QfpQDQwyJRAOjBaewS75t+4LC+HL7OUOrY/EmD0mh0/s/b4R+ztsm8iQNMzhMPNt58n21TNWYJxIEAkCpCQsAknIfT9UPMleRs2DGr28YDPpqG7x6n6aTdaEVESyJrgOlF03+VC1o+cVyG4Kp2krPM+VI4f04pWvCfdnckFwMCAw3QQo5bVmIAJ0yYYKRayJ8K142C0O6QiZtNl43z6hSRq88vaW7MgYZoOdqVgUZoa+JPb8qrzz8pPXr0EDT9rIizBdPhcvrczv1Xv6+XSX/vMPlV5FnlzJ3PiKSP/u4VI8RLDigsRIEipaXNZWWjbiEVz3sB6R2vfLksXU5WKJ882DSP/DnmeGg9kQEgaQpItVi7+eabY16dDAAkl45QsBdDdaHXb2tNazJYpjrnXS9/T/rBFC00veMN+eG/d5vuH1YYecW8cTLux7clX4EickP73gIzNrzP0+bUDS67x3QEsb1qLTNuUxJsjirbWgBou4WcXbuw3NXUecs1L9cauM8bXy+XdVsPpIVabXiaDh7Fy1Y3zOa1j30q+QoUM7Iuv33+uNndhmQfvbaieYEePXO7EdynaGbX1rXS9K6u5tl1aP9uueSWF00Lt4Hv3yFNbn5RylatJ/t2b5Of/ne/Yf9gAQHB+AKj2AY9wGIFc0nn26rIMyeUHPhs8YxhZo4UAHqb+ZQDgNx8YvEWHEvph0hTZ2j5v48DQAQzZ47pIzeeSCq++rwS8vOkLbJi/liZOPh9k0BLj8SHW1Yw7GAsDAkPK8RqASDXT8eCUIZ2GrlI5HTZDhiJAADpnNLlmxVpQ0ZTataYvnJ+yw4yftBbclqjm6RorVaSO2d2KVM8d9p2zc4qblrFBZplrWA54132H4s5dHIMWDkAIBWWofIIqU4EQG8+kcRuj2kFYffuPyJL1u6TbbsPy/djN550ShK+//zpHenxzovy5ptvCpIztpWgLag599xzTYXk+wNWmQIHrOONlaVKmbymKptjjpuzw/z95otLS6O6RULKUFjZJCoLN6yYJdmyZTdJ5CO//pcc2LtLdm1bK1fe+74UKVlJWjcuJU3qRxdii+e9wIR7pxyXyolkl9c5KNMnj5KiBXLK4+0fSdsc5q9z585GUy8W975I44j0eTAApDjISXu/SMcN/DxaAEhazRvfrBCYKO6rdAyiF27BomXk6gf/Z14YyVOzAGkv+Zfd7zU5gIChHZtWym+9njBDuvC6p6Ri7eO6jIiPrzmRA/jnj2/LqgUTTM9bm9P9/+xdB1SU5xYcUVBQlCKiIIrYe++9915jLzFqzDMxxpdEU0wx1RJ71Nh7771X7L0rooBUBZUmTd+Zu/7LsuzC7rIgvnDPyXlP9q/f3+a7d+4MhaVfRb5AzTYfw6NSc5QubIPRnU1zhTFmvJRlJy72wsvIOGyY2htv3rwWjl6ttp9gw5SeopjAEi45j8x+Kjw9rqt8d7T3qXj/UnaJnD+Wk+t1Gpfqob15/TrxGMo3Fg/iIgVy4eNOrvjqHy/1+pSNuXhgAZaszzwZwPT+HmTJwKR6+yRZ4L0Xgl5/7CnO31Opn7NTity1nuNUPIyu9R2x5dQzMSA/vvFntB8+F7nzOaFnI0fUKp220pYyigSAinK/AgBjY2P1NoEQABJEaGYAmS17113AT57G4q8tiZkp8k4oNVCtxYe4dPAfcYewKtQQFtmywcUxscGgSaV8aF87KUggiZ0cQAJAfmCbNWuW6XyPjXtMIFk5cqeo4UgJDe24cC8C6449xctnT/DymS9cS9QSy6aPOxYUKYgl+4NFwkIz2Dn45ME55HV0w7k9s/HbLz9i9rSfk4gSc3/sAmUG8L//JAJ09Uepb2FsORWKW48T7b74mz7B8yX7gnHLJ0pKcCTrU/aHZSv+O4dlLjz1v4sW/X8VTbM2NezRvGraTOTTU/x1/u4gPHgSbdClZEbG756nZGR//XY0yhdVNQ+wC5h2afwwZRYASJkoJQgA6RtuziDgZQbwjz/+MGmzr9+8wa9rn+B5hKrLlcFmBrp+kNf34qmP2MDRRpJgjROUdX92h6VlTvT4fI1kvfYs/lTWa/bBz6I9yaDgs/8z1eSG72u+t63zOKDjyPnyt80zB4D6gJUbD0Dpmp3gZGeJ//ZUNVakd/Ccv1rkg1dRL0EgKsdbvAbqdPgMm2f0R6nqHUQMmlk6avjdObdVBLAZrQb+KQ4o2kGdRDqANO39g2geMrtXveVHslijinlF77BWGVtcfhCJa96RwpO8/ED1rds6e4hkAim5Q0eVMkVs0LdpflDMXwnle7hw9QG0qp4lBG3sPZKVATR2xN4un56zfu1DWn04CGduqzIfFOOkKCdfMmz6GNDCGSsOBqlLDnwQ7Qt6oFPd/Mk6V008VURERIhwL4MAkDZh1N5q3769zk0qGUBFB44LEQAqjhCmHkda1/MJeoUpGxNfHoouFcsztAzr/MkS+IXESFZJKddwn82q2KNL/aQ8nP/HDODZs2dBRwU6gWgDQGqijZuvEtEm74adePTiJAG8dXUHXLgXjmfhKnkLzdiz6FPhDZWr20Okd5r0+h5H1/8A9+JlMW/+IuHfUbyY2pKObpUxe5tfsm0wC0IhWV2hy45qzjY/WZ7lqfi4GES+CBYdsUMrv4ZdgWLiKNC0zw/CzWpZzQEd6+p3aDDknkvPd8GYOfcMOQRZhmDX7/5ZeFRsDjfXQiJrxEliZs8ADh48WNxgzBnMAFKp4K+//jJ5syyFrjoUBJ/gV7KNAvmsBJDdfBwp4JL8vaLlGgqVgP++4bkNrh4VpVQa+TIEO/8eKesp2eaC9lYCzv3eNkcdXv0tQvxuScWGGTRug5k2/m/ZOt1ERNrWOjsmDy1u8jkYsyLpHROXPJTnlc8tz8vGNj/qdfkC22YPFVB69dgKNT+Rx09Z6xC/25LVcytTT6Rirp9YIyVbTg6Vkjaf+/P75gmfkOfl7pwLn/fQLf0zfZMPvANfYeusIWL9VrfT5yhSpj7qlMmLrg2c8KVGBlCRlmEGUJumY8y5m2vZ9HwXKMeYlQE07Wq9tzIwJL163lIBQJYMWDpQSOxD27hg8V5/KVWQNMsHj5yJJpXt0a1h6v6qhgylJgAk/48AkJIj+gCgokdGiy5qvTEyAwD0DogGXy5KKCUM15K18OKpH9oPnyUvewJATS9llgi7a42lJgD8f+kCZgbw448/FgCoLVat2XlKLT0SwF08qsuMPqVQdLu4DEtdLKVRPJfBUhk5eH63Dsj+Dj0slKy5IbX7U5chvXxAAqKx4+8RsLZ1lK7K9iPmglpmbqXqCqdLcc1pWNFOiOVpifTiACa8foOxcw0HgORRMTNV0L2ynA5ljZzsrAQAUkSZzSAUIn/XoV0C/vDDD9V8UHMdG72P2aiWFgCoHAsnP2yyUYJSKds9QyTbzb83r2aPqw/CcfthsJrLyAkSJUsY7YbPhq19IZlEcqLkF6IClNIhG+RFA2RQGy8+PkZ4cQzKn9AyjdufOrKkuYYlxe0cvRqGzSeC5bmJevlUmlN4TzXs/pV8W1iGZfKB9mwFipTH5hkDUb3lcOHgVW/5IUpUaY0Tm36Fv9cFcdph1nPj9H5IiHslWqv0X+dEkN7rlLahxI2uUBpR1v3ZU8T6KbTNjGOrGo5oXtUeX2pwABWx90XrD6NDHfN879Iy2On1LtA8piwhaNOu0HsLANceCcLpmypFdcXequOoBaLRNKSNC9YdCUJEVAw2TPtAHsgSVVqhaglb+c0coQsAUhuQ+l26QgGA7Oqk5huD5VKWSd9lUOF+5mZf9SGEBjzAgRVfws65mGRTKefgy9l+tmxwc0pU4NcFEsiJZGczS8D/BgCogCqSrl9FhskYsoRK68GUgp1/NHhnEADW6/yFmjjecNhq+cC9fHQE1nkcU92Wrv38PrwErHNmT/LTH+sey0eW2Qdm+ZjxYxciASDJ/DdPrUPdTuNQpEw91CydFwPSSLJPr5d+5KsEfP2PKutqSoztUQTFClpnOgAYFhaWxAvYVOvClMaEAJCl+RkzVHqp5g6KypPrSseO3LmyIyYmFpu270ebVs0xaYVPkiYGlnfpA8wGCVqrKQBwz+KxiI1+Kdn0rp8uR0JcrDRCMJhNU7hy5L4lvAZqlrYVvmp2+n+mQ+z0fIr9F5+pAWCJam3hd++suOgwm96413c4tv5H6QzO51RU/tas7884sekXlK3THWVrd4HS2EKgV7HhB1g/pRfevE6QLmjyrBVuI6WXKMGkK45cCcOWk8Fq1w+FX0hnlJKu1vjvgsRnIgsAQtUcYGKkz51k4sGk82r/FwCQ6fbDq78R0jA/qP1bFJJuKzY4UKvJrVQd8ZZkfNXHHS75024lpOntygwgJRvYGawPAAYGBkoWKbMBwPtPojBrSyIAVEodlGpwdC2NRt0ngMblLMG4OeUiDpSgxlqfpkmzRASA1Dak2PX/CwA8f/48Ro0aJW4Srq5JX87fLvESwfEbp1QCvvnyFxG/01LVddMANJ9lpQxUsnp7lKnZST4wMq5DVstYx/gfh00eB7iWqGH0K2Bcz6LSJKIZP6/yRnBYrNgjkqNFojjFvukpWr3VCFzcPx+12o6WErameK3RO3+7QnoBQG3dSmOPb2THwtIIxuYPcuIySwYwIwAgvY95XdILAGpfC817YNz8hwLmNk7/QBbrPHoRcuW2k4zXlpMhagC4c8FoWFrlktI9QSLFl9k1S9kiOyd3AV7awSxis6pJRemNvS/0LT9js480cdH2jh3P7F6+fny1lHzF8m7wFNHmY2Yydz5nHFv/A9oPn4PDa7+DR8VmwtWjPA6TFHyfckKtVACU507pbk4pQREWThcRb5zaMR0+t05IpYCGB98NKAZmxTUBoCKm/c/aQ+hYL22ZfHOMY3q9CzSPLSsDaNqVem8BIH1N6W/KUHSplHZ5CoXe84vCtYcROLT6W+TOm1+6WuUjnTsHJvR1T5YhMXb4NK2bWP7lf4YAQJL6CSoYmSEDeNc3EuSHKUHDcZKUGRRjLVenG4JeWkjJwt3NGbmsVV3UuryV/58BIDu4yclTIiHhDcbOU5Ui757fgTz2heBUuIxkSq1ypt5pTlI7S8b08mRDhlLmqjdkFatfePXkBHLb2sG1hG5rt9Tu118/LCFZGCUIVp+Hx2L9lJ5ijUi5H2b8PLdPFT7R2d2zhM+kgNcxXd1QIg1uC+n10qdcCAW1TY265fPhg6YF1QCQzSDm7rY15dj+DQCQXay8/xjM7vE5+ax7EWw6HgzftyVgau1xEh/06KrwBAkAKR1jX5C0ijeil8cgvYfSRfYFiolE1U9DPNRCzKaMv751WP5lGZjHzufV3+sizu2eJeVbAjuCvX3LvkCF+r1F+Jnl4O5jV2P/8vEoVKyquJkwq/nyqY9YxnUatQDr/+whuyM4ZBewom+oa1KteVyUmVp/2B8hoeEo7OKA/s0Lwr2gNeiCkwQAvhWQ/mfNQXSsb5oDkjnHML3eBZrHmAUATbti7y0AXH8sCCffmmpHhAVi18LRaNJnEpyLVETbWvllVrT/wjOR2aDcRqXGAyTTQhJu7ybOqF8hbd1RugAgO4M7dlQZmGuHkgGkrAd5ZQzapjVv3ty0K2emtW4/jsS8HYkAUBEy5eYLeVQTPltYeDze4A3scluiUsPesmddZUK6V5QtW/b/KgPIcv3IkSNFwkcTAIZHx2PiIpX0At0LSHKnSK2poWQF6g1ahjfZcuDpg2NwcrSDW+naJm2yeqm8GNQqsWuZHKHwiChsmt4XVZsPw+VDi1C1+VBcPrQYjXp+I130Rcs2FDI6I6elBT7vWcRk3cz0eul7+UdhhgZlwdjBsbe1xA+DPDIdAAwNDZVOcyXSowTMDCCVCmbOnGnssJm0vHYGkBtR7vMeY9cgu6UVxvUsgvVHEwEgM+OFilcXsXJy5l4nxOHI2u/FYYSCyYrbk7b/7S/DiiOPdaJOqUkHrGMlll1ZflVCsaWjOsKFfX+L/t/+Zf9F8cotkD1HTtw6s1Fs4chltHcuJgCQ+ogUxyYXtdPHC7F9jqqkzXLyg0t7hIrBbuHm1RzQORWBa3ZW89umyb98Ffsa/11wX32M3jeOCkhduOYAOtXPOL1EfWOeXu8Czf1lAUDT7vj3FgAqzgY8bYVc3KDbV5IxoRA0yzx/7/BTe59yOYWES/DSr3lBKWeyI9CU0AaALAGTF6gPAAYEBIgMTGYDgDceRWDBTpWlE+P16wRsmNJL/j81rvI6uorsA+UQ8tlYonIjFQBkpyodIzRDsS+rWLHi/00JmA07I0aMEBFvN7dEgjb5Tt8seQsAz22DY6GSIoVhavjePSM+qXX6zUc2yzwIuHsU1jZ5ULF6A5hyh7Jp54+PSoh+o8Kbo4/p1lmDUafjZ6LjVqZ2F9w5uxXN+/+CK4eXwtbBFbXbfaI+hQYV7dDLxGaQ9Hrp33wUgfka96ux412qsA0+6eKGgwcP4quvvhI5mMyQAdQEgNTNGzZM1Sxhzhg/frwoFbwLADhtkz+ePH2lBoBs8OBk/L+9i4KKDgoHcOO0DwQY3T23TbJs7Fo+uflXlKrREd43DotnLikSShZNEVs2F7VHe7yVDKDyd4VupGTRycUjACRVgxqBLPVSE5AC6+xkpmwNpZaYgLh2bIVwBdn4wSCoJRdX4a7r8lc35PprA0BFFWP+6v3o0sA8nHdDjkPfMun1LtDcXxYANO0KCQB8H4WgNx4PxvG3GUCWCfjiUDhM5FL0b+6Mn1c9go+Pj2gtMXVP3aSKjfomGSlqLH3SpTBcHKx0CujqG1ZN6yaWfwkAyQvs1KmTzlUUAFi7dm1QWoTh4eGBFi1amHblzLQWywoLdyd1qNg4rSSBfV8AACAASURBVA8S4uOE18LMX1DQUwGAeW0sUaF+N/GLZfwylLPuxDKjJgBMb+FPM51+qpu5dOmSAEBqtFGXT4nnEXH4bpm3/JMgivwep8JlU92evgWU7usaPabBKo8zAu8dR3bLXHAqVgv581nBWsuL2ZAdfdWnKFwcc4J0CWZZLF+H4ciy0fJhJUm9aLlGIqHUdugMXD+5WiZS5H7Si5TZzGIFc2Fsd92yFKntP72kHy7dD8fS/QGp7V7v7+xkJ+ggAPz6668FAObOnXrJ3uQdGriiJgCk/t+AAQMMXNPwxd4FAFTeA1s9w3Di+nM1ACRwY9/Gr8OKY+pGXwQ/j1VLvhAs0ZKS1ASCKk5WmEm7fHiJdAZTB496eIxe4zfKJP7jjq4oU8T811EA4DUV1YihOH2QK0uuHY/n4MqvpCOXJelXUc/RtM+PUgqmX69HpRZiScquXXIFlfU0r5piI9enibMIuRsbAgA1uoAf3zyOM7tmYP7KvejSMGP0ElM65vR6F2juM0sGxri75r0Xgt56OhSnbiY2+/CFQAV6gjx+uCjES3HR6ZtV4IYPJB9ePoi6giWvKsVzo0dDw/w3CQCVkg3BH0Egb0J9TSD+/v4iOquZASxWrNg77wK+7h2F5QeTOlSQqE1LpwZdvkQ+pyK4ff2CvNiov1W2Vgc1x82jUC6M6pDIMaF9GZtAmAH8fxGCpmsLdQAp+q2ZAQwNj8eva1Wlc4q/OrqkDQCy+YYuCZXafYs8Bcog8P5xWGS3QgGPOiIMa2MCAPyonTPsbXPg97VP4PcsFlEvAnB+wzg07DkJF3b9DseCJRHkc13I9tRvo5Yhw610XdTtqPKN/XN4ciFbQ1416SUEfeZ2ODadNMwFRNdxFrCzxPierlIC/u6777B///5MAwCZZWbky5cPPXqoeGLmDApfU6pq6tSp5tys3m1p3gN+z+Ixd0cQ1r3lvxE4Na6UDx1q2+Pn1X7STMWJ/Ka/+qFWm9E4t3eOagL65o0I0lN42XPHNHT5ZInIsZBjx+jyyVJY5cqN3o3zo0apPGY/L+3vDCVgdvz9kVCNnj65I3y/I+u+Fxs4/madx16OldqAzO5xUkgLPGrRUkia3F82tFhY5EBU+FM5XsXAYHDLAijvrhIqNyZi4l7jm6WJUl50wOL3bvbiHZmCA5he7wLNMeK3961TExF0VhewgTfQe5sB3HwyRMi5SuxdPFZ0mOhg4Whrie8HFpOfKBbNEoMyK6L4LYn3ukIaG5oZ1jWlqdtFAMj/eBPqywASAO7cuRN16tQB7cUYmSEDKP6e+5JmVBR+jdJU4/3ID353jgrZmuK0lDug1AlLk5zB27xtNvi3ZADpQf3J2AmSPSNR3f/BeTgVLof8bAIxMRTuZenGH8OxWH0E3T8h/KeCpZvAJb91Mm9hQ3ZTvJA1vAKiwYYVdsRHPHuMC1u+RrXOP+HOwSnSZEJeEstY9y/uEroEgwKzzL4wZnxc0iSaRHrN+g9dDsW206oPpylhmT2baMgdOHAAEyZMwLFjx2BjY/xH15R9p7TOs2fPJMvMyJ8/P7p162buXYjuIQFgRpaANSsBFItu16KeNDkt33QUjSraSdWFPrZRsa/VMjGUeqEbUfn6KirKzdPrUb/rlzi6dpLoB0a9CBHhdEbbD2cir4MrOtbJj5bVzd8JrFlp4v5Ikdk4tQ9s8joiPjYGXf6zBCc2/8r+FHE64XuRncJ3L+wQS002utA6jioU7LgP8b0lpV8uo4hiK2Xsb/q5o4Cd8eLfyTKAby1Q5y3fjW6NdesKmv3mSmGD6fUu0NxlVgbQtCv63nIAtbkZfAj5cDbu8Y2MxF8fl5KXi0LWD/a9iSNrvlN7Nuoart5NnVG/vGHNIboAILOCnTt31nklFABYt25deHp6yjLMALZs2dK0K5eGtUgkpo8yJTUiohPUeorKJhUA2OU/S5HT2hbePoHwvXVQACBV+xnsemN8O6AYnPKpXlorVqxA+fLlJQNoLhkYllrDoxJk+zRU48eDUaRATpOAibHDxgzg8OHD5eNctGhREVP+c+19IXY7FCyJhl2/hNfV/XByK6+2tjJ2H8ryuxeNgbVjaRSvNwxBD04h+mUA8hUsg0pVapjEA5Qxe/MGka9eIyAwCDGRobi0/TvU7PYHHhybhvjYKMRGh0sZi88HvVwZzkUriTk944+PSiKXVaLgr6Hnll68n11nn2KfgT7A+o6VHdKnTxyWEvDx48czHQCkALi+SoKh469rOQJAapXOmjUrLZsxeF1d9wApMBSjVrRQubFxf98HhaVpj8YGCYoq08uWMiokantdPYiG3b6SbuCWA/9EeNgTKQszKGVE7q05Rf41T1CTa678ffu8EYgOfyquIGxK8dz5F6LDnyEsyFtEnan9R39gheundPle2L8AXlf2qalKBIwMeghTnYLNSfxmGRvMAI6fn9gEoux7zvLd6NHENAqHsceQ0vLp9S7Q3GcWB9C0K/beAkDt7qzLh1U8PzpXMGq/zeZRmZ4vGNrxUPS29ZBpsHMqqnO0vuzjnsTuLKUh1QSAnLEzA8i/6QOAT548wa5du1CvXj2cPn1aNv0uACABwdztT0D5F31Bzgr5LcrM1MsnBE9u7VMDQHIAacvEmNivGJztEwFghQoVwP/MBQC1r7NyzArAN+22N3ytK1eugK4MLPe7u7uDAuRb9pyQbESbIdOlRH7rzCYRV87vUhoF7K1glzuHvNA9XKyx5+wzvIxK9E5Nac+nt09DWOgzVGz3rZSAX4UHo1DxWihZspThB/x2SX5MafcWFfEcAUFhuHtiAUo3/Ej+t+mAGbh7bK48E+QZ9hi7SqRomNlgsCORnYmM7wd6wDFvoge0oQeSXi/9TSeCcUwj82/o8Wgu90Wvorhz5bhkADMLAGR37p07d6Q6kF7qAJkBAJLraGFhoXYH4XX5dM49maionZt6fY/Lhxe/dW/JhoCHF9Gw29eiB0gw9TzIW/iADIqok7LA9z0b+8wdugDgoVUTpfzLZ572iRR6pn1d+LMn4gziXr6xTKiYcGD0/GI9LCyyIzY6AqFBD6VSxX8rQQ7jB82cRVrLlMgCgJDqG6kTZFBklYANv4veKwB48d5LsQ0iIT4u/g2ueoWrz5RSHDdPrUf3z1aq//ZhOxdULJYHn829LzwMknBZ1rTInkO4T/S7VYKZrSkjSho8A9PU7VIAIP/WpUsXnaOvCwASULRq1crwq5WGJZkJzWVpAeqoTdPw/tW1SWpexcVFq7l+Pv7P8OjaHtha54BljmzIldtenFUYX/d1V0uFMAOYUQBw+sel0k39X3NMrl69Kh2Z9OYlYP9ppTfOnzqg1vvKYZkTtzw3wbloRTi6lNIpMWRo1oqaYLcu7EedvnPhd2Mv4mMjUL5GKzjmLwCHvJYIfZncV1jX9eOHhhlKBhOmsfGqtKlruVZ4cms/uo5egKtHFuPJvbMixktRXgabQG6f3QJ2JHcaNV/+Zkp3JScXd3wi8Pj+FQzt1QTxr7ODYxAaHociTrnQsoaDGNwbG8xcLz8QADaCpCXY2HL/+olMBQB5PopUFDPorBSYOwgAqVU6e/Zsc29a5/YMnQSMmX1X1lcaLJr1nYyrR5eJHmA2i+ySWWMGkI4gzA5y4kKfct6vlDIqWbUNKhe3xbC25u941ZQbU06SmT1m2Twqt0TN1iNx5ehy0QKlRVvjXt+joHslKQcTsDKUibTmIFGlomzR3IiOeY0ybjai52dqJAOAd07Bc/s0zFm6Cz2a6U52mLovU9Yz9D4wZdvKOlkA0LTRe28A4NnbL7DqUKD6LFkWzGllAascqpT541sncGbnXyhZrZ2Ya9NzUXE0GL/gPoL9H7+16ZmMq8eWixeq5oM5qmNheSANDc2uPQJA/se/6QOAfn5+khWrX78+Tp06JbvJCABIfgh9ke/4RMIiWzbp5jU2noe/wrVTG9UAkJwbjjGDHZWFnVSuE8uXL5fyrzkzgFtPhYiri3ZMH1UK2d+Wo409H2OW1wSAvF7MJl8/vUWt98VtJQGAemgESpYjpX2TU3hy+wzUG7gI/rf2CwewWqPuyGNjLd68zEboCnrbhjyPVf+k6GLyD5oAkP9mhannp0tx/eQacQOhgHX74YmAgNwlcgF7jF0t26NOW1Fnwz9Ohy6RoxciGR1SIkq5O+FFZAL4kVLCNX8usQu77xclTSrUPqM8y9OXcSJerSlgzXVYHqRd2Ilrz026f7XHjDqgkf7nMh0AZHmWk6ju3btLRcHcQecTapVmVgAYGvgQB5aPlzLvteMrYZnTBtmyWSAm6oVkANkgwgYLZtfCAr0QHflc9PdIR0nJRzct47j+aBBOvjUcULbDiRqF1NmtzHLvjVPrxUqRQU5wvvxuiIuNVou7K98ZUg84Ac9rk12qJqZKkGmfT2zca3yhWQK+c1oE3mct3oleLUxr4krLmGmvmwUAzTma5t3WewMAFd9V5fSfR8ZzwiUfEAYzfOSIMGq3/xTu5RtJ1mTSQA98s9gL/k/8VGLRvSfh+KbJqNyov3QNKzHzk9JGjaypALBBgwY4efKk7CsjACBLlofOeuPSoUWoUK+XlCwZnKFeO75KyMi58zqleO4UHvUNikDYvV2SAdQEgJq2YwSAtIEjD9BcJeBtp0JA4r92TBtVyqTGCKMuMoBr165h6NChWL9+PRwKFMF3S72k/KTofXF7Nz03SrmKWoB9mxVEnXLJSzm6zoNirhWL5ZZu9cDQGLmHT26fidLNx8mHLzzECxWqNRRR5k+7ueGuXxT2nkvsgLW1yYFJA4tJJvSzuSpXEu04sm4SfL2uqf9MANhn3GrcOrMZt89skqxli/6/qn9XfEQVnTZjHEEI1CYu9gInHQoAZFnGmA8dM/GtazqidY1EAHT8WhhIxjdnlLK+haXzJmeaErA5z03ftjI7AAzxu4PDqyeizdAZuHFqrciqiORUNqBB16/EQ5e+7nQJIcBi161zkQqo1mIYOKn4so/5s12ajlPKuLJjn845FIOmEwknTdTRZHT9zzJYWecBJ2WzJ6gqTASAxtCLjL0XtAGg711PnN42BbMW70CvFqpmyHcZWQDwXY5+yvt+bwCgUiZQToeyAfyPpuAMli3P7/8buWzsUOmt1h8JteSKsWz32DdALM44g2SmUOGOKNtLCwB0cnKSGTs7+bp27apzxJUMoCYAZFNB69at0/XuIDmYAtWbZwxQA2PuUPH8VQjKqR0EmzG8L24SAEjSMl0jGGN7FEGxt+WL/3cAGGfpLLZ55OpRFqdZnx9lDJgNoO0TXVPIQyIfSTuoc/bHusfgy1qJD9u5SpaaAHvsWwDHTFlQWGI2j5kCNtmwq52Akd28tx5HwtrKArXK5FU7AnB9bkc7Ar2v4Or5w4iPjcQzn8uSAez75Qbcv7RbPlq0+6vTfox6tUc3j+PsrhlQnBoU79zU7g/+ThD7y2qVTZupAFDZjybwnLrhMR4HvTLkEFJchqCdQr50Owl+eBr3j83ByZMnQN29f0MQAPJdMGfOnAw5XUM//Mq7PfDRNZWX7oi5uHlqA8LD/IUrZ2OrsvLcNKM/ytftCd7TlrnyCMfVvoA7arYZpZ7sm/vEOIE+fTNRB1DX9pVnhr8puoSsjFw+c0DurfTWek0OAFWi8lkA0LS7wfg2HNP2o70WGawTAdBJnuqNnPJeYUMrgEN6djEYgIoNmxgxAJI6wes/vvdGBmbMnKQZDjoxEAC6vQWA+k7x6w+KYvWhINx9FIRts4eqF2ved3IS2Y6Zo40j2mvKNhAAsgT89OlTvQDQ19dXdAAbNmyIEydOyHFkBABUxo0aVMWrtFZ37yqyI1SmV8q5Kd3GUTEJuHtmQzIA+GlXNxR3UX1ANQGguYSgWU48dDlR7kc5xqkjSiSxQzLPI5h8K9evX5cMIHUArwbkFekhyjlY53EQVX8Guae0r6Id3IAWBcUmT1c8fRGLw1fCEBP7BnXL5U3itat5f9P4nd3ZDJbXR3Z0RflU6Anaz4fm/n2DX+FliBcubftWuon7T9iMRzeOShajbO2uqNS4v3pxJXvQdcwyEYUe2qYQqhS3NWh42SE9/a1NGwHgyxcvkNfIDKCyo/rl8wmfktv5dG5ih6NBB6JjIU33CH6kfe6chPfJuTjrefJfAwDpfEKx+owEgIa8B5R7V7FZo70an6nQgAdyJTmxoiYgJ/AUUg54eFkalQgQFXBITulvHxY39fbQu55kAG++SHG7PM4DK76UZdIq6WLKCTDzPm6+aqwY1B88tfVPzFy0Db1beJiySbOukyUDk/pwslBPYhinGtRfYM2GrXdMD30EQJ/AGAHgDACa9UumAXSThRKP470Tgh6/MKkBPDmAL6ISUDh/6rpJMXFvYPE6Wk2M5zB0HbNcrHoYtMuaPMS4dnkCQPrDMhQOYEhISIocwH379kEzA0hh4fRuAlHGjWr11O+r2XqUHDM/iJtn9EfFBh8kKYXru1VJVqb0wTOfi1LiUDKAI9oXRAkX1Xxj1apVwv9jCdhcQtC7zoXh6NXkL+BfhhYFNd3SO27evAn6shLc7rxuA7+QGOxbOk6kJ6o1V9l1UafMpXgNcQP4oKkTqpUwnEuqHL/2/R0b/xoJCcDHnQqiXJHUdeq019ccF7+nsYgM88P5Tf8VANjvq414HvxIxHSrNB2MUtXbo4SrNR48iYb/gws4ufV3dBq1UBpE+jZ1QlUDz+e2TxQW71OVakk1DQ9/CVvbvGK5aGww8/lFDxdw4vH9cl9jV0+2/MnNv8H/4UX5e8eRCxDiexP3j8/B6ZNHkCuXofPlNB/GO93At99+K92SM2bwk5H+YagAsHLv+t49LdIplJ+6dXoDAh9dxZvXCXApUROVGw/A3iWfoaB7FaFf8Hl78cwX2XNYoX7n8UIz+G1YEeE5mzM2HH+Gc3eTNx0NbV0A0bFvsOZICGJfRWLrbH6KIZJKjG/6FhYlgIwIAsAJSxKFoJ/cP4dT2/7E1Hkb0KPZu+cAGnofpGWs3nch6N0AKr0Fctr6HBSm05eD5l3HDKFh4nXJR/i9zQCGR8WLR21qGUCeMoHCq5gYsYtjaOqc8d/dGjiJjpQxwWzf5s2bZZUCBQoICAwODtYr4EpLur1796JRo0bCO2LQWqxNmzbG7NboZZXZNXUSWSanDZgSyoy6QgOV/EdKER2TIB/1p96eAh6LllOVgEd1dEXZtxZMy5YtQ+XKlQUAGjLzT22f/H2H51McuJScA5hRGcAbN25gyJAhoMvJurM5EPQ8Fjv+HgH3co3VtoI3Tq2Da/GasC/ogcGtColPsrGhL4M3pkvhJJlCfdtNLQP4KjwEZ9Z9KqsPmKC6b0mmp3RNHmsrDG5dCHN3PJHy2rENP6HDyL+FG0phdEPlKSiQveKgqlErrRlA8h7//KiEaFX+sEJluZeWULQtuQ2KB4cFPcTdo7Nx5YLnvwYAUveQjTlz585Ny1AavK6hmR/l3lWy0j3GrZUMIDtt6Q5Somob0HuXWTZKePl7XUCJqm3xPNhbfm/0Vvv1j+HFkcvK+O7ylE6IJgI0E9AM5d4UysOax/IT7y/N78q0kSUzhKPMfWtnAAkAT275HX8t2IIPWpcw+Hql14KG3gdp2f/7LARN+XJK2/PLnMjGNmw0CAD/AfCEDX4ALgGYwKSEYavjveUAhkcngKUyhQOY0vmyGeTZi1i1gTilA5j1YJQsbIMR7V1hZWmc2K2pALBx48biPsBgBrBt27YGXirTFlP4NRf2z8fTJ3fRZsg09Yb2LP5MXlrVmieWxpUf6fHL5gLyKMkbi4xJQNjLeIQ8PC0G7WyyYQxv7ypSOwwCwCpVqqBcuXJmawLZ4RmCAxeTA8ApI0tK5ja9gxnAQYMGCQBcftJCaAfkU5at0106AAl0mAF0LVFTMoBD2riAXtTGhjbHVVl/dOfCKO2WekZx9lZf3POL0rlbn+BXiHv1EqdWjpTfB74FgJSeoDdui+oOIqs0eZU3gn1u4Mja79WC6ew+bljRsPmlZrNGWjmA8pEdURIBoTH49S2v0Ngx1Vx+y6whyGaRDTGRL9Bq8BS8fOqH20dn49qlM1kAMC0Dm8K6xnIAH1zZLwLQzKKRV0uB9biYaFRs2Ecku46u+0GqDywVMyPI0ivt1CgGzWDDH9/15gwqT1CBQjOUe5MOO/TgJQCLfBmCXNb5kN3SSjrcvxuQcaVXAYB/J9IklFL69IWb0be1cdQmc46dsi1D74O07Pt9loGpRataJqIAqMwgDQ+KRZV8WzIm8/wLAPwyVwBgSN3kvQWA5EiJrlgqHEAOJZsUvAOjsWFaH7yOj0PNtqNVKvMajiGGD7lqSV0AMCgoSCQcdMXjx4/BEnCTJk3EgJ6RkQDwzrltIldAnUSlK/PgqgmwtXdB7XafJDlkAj/q7GnGw4Bo/LXJBz53TolPMMVOGZqAJ0MB4IiSRoN2Y68xl7916xYGDhyI1atXY+ERZpLjsX4quxE/Ei1EZlVvem6Aa8la0hE4tK2LwZw5zeNJKwA8di0Mm/R0yhIAMlNyYqmqTKUAQFqisbGEQY3BScsfyiTh0KoJajmLrg0KoGkVw7LjdOig3h/DXACQxz5lvSrLkpbYOL2vWNxR4JxdzxHPg3DryGzcuHIWOXPmTMum35t130UG0BA1AOXev3dhJ66dWC0SRLfPbpUudXYC12zzMTwqNZesFr10gx5fEzcN3qvPQx6JtitDU5LKXBdFJwC0Ynaan11g0R7/JHq0/Bu72NvXzm+uQ0h1O/oA4NT5m9C/rXHqFqnuzIQFsgBgyoNWm5a1pKUBUJHKTA9Of24DoKnntwZs5r0FgJGvEqQ8ZAgAJCmf5Sl+BBLiYoS8z8YHEuz50jAlyPdTzNtZAmYjSEBAgF4Td10AsHDhwmjXrp0puzd4HeXlqib3v5Up4AaObfxZODQNuqjkc5Sg9RctwDSDXZjsxvS5c1r06RQAOKBlIXXTw9KlS1G1alWzZgB3ej7F/ouJ0ifKMTE7xJl4eocCAMlvnHMAan2vOh0/Ex6kAgALl6wtxHSls9fY49J3noZmOimSTM1Ez1svEJfwRjxFWaJiENxRCPzYon6wymWLPp8vE37Sj4M91JMBUioo4aKpxeZQ0ENs4LTvBX3npunaklYASDkYSv088I/CzLeNJcaOqbI8r9H6KT1RpnYX3Dm7VdwbosJDcevIHNy8+u8BgHQ+oVtRRpaAjQGAt89sBgX9u/5nKe5d3I3Lh1QC5cr7+syumQgNuC8SVvW7jJeO7gDvy2g3bKYsZ50zO7o3dEKtMqY5aui6v1YdDMTZO0kzgJrPBLv752z1Q1iESqSd36Mx3dwypDqhHG9yAHgBJzf/iql/b0T/dqb7k5v6vGmvlwUAUx7JtJSAdW2ZLFR6T6kIbylHhgJAEtspYcFyEy3aeOPSpYBdpIqUiL7D1c6QGAMAG1Wyh5SnpvdDQtwrUZN3LVFDtJq+7W+aTpKxAPDRo0fYv38/mjZtiiNHjshpZiQA1JRYyJPPWfZ/ZueMJCUUZezp+fvz0KQddRQw/X3tIwGAzCYVq9BEFtfUvSMArFatGsqWLWu2EnBmAYBLlq7EwqPZ8CrqhXSTN+j6pWT96D99y3OjGLyTn6RZEk/t4dP8nc/D5/OSdrqb4m9KIEg5GGb2Zmz2gZd/tIgwB4fFSsardLXWcC9ZEe3r5E+itSeG8gvuq90Ymvf7Re1tbKjotqZkRloBIMeGWeh7vlGYt8PPmKFMtqwiylu56SBcPbJMeLAx0RG4eXg2bl8/Dyur1BvJ0nQAmWRlAkC6Fc2bNy9DjsjQD7/ybqfAMnUoO41aAK+rB3Bh399ynI17fouCxarg4sF/4H39iLzDqedKR5B7F3ehyyeLk5yPMVnr1AZi5cEAnLvzMsliBJq/D0/k1vHZefCEmoXZULqwjcFuUqnt29DftQEgLVFPbPoFU+ZtwID2ZQ3dTLotZ+h9kJYDeJ9LwDzvPQAqmtAEoj1mZMDeeLu9zw0Y0AwFgEqWQfu4OtTJj1Yawq/av4sUhJYMDLsDn76Ig5tTrlS7DBtXthf/0E1/9Ud8bDSa9JkE5yIVxXGA6uymBBs+lC5gZ2dnyQD6+/vrzQAqALBZs2bSIZvRAFCRKiD/iaVKxpUjy/DkwQW1f7IyDop+oua4UJuOHDFmEuPjXqFYhabysyZHLF0A4Jmn2H8heQaQWSnOxNM7bt++jQEDBuDvhcuw/FQO4frs/Huk+qPEcji9gBUAOKKDK8q7qziRxgbv6RPXn4sOYClXG9H5M8UcXtkvP0rzdz4RAMiPFD9QlJMhR7Fe+aQCzQSOFJMODwvA7oWfSJaMXqeMb/oXk4xiarHiQIBk2hnmAIB8NnkOLLOlJWJfRYjkjUellpIZqd/1v4iPjcGNw7NxJwsApmVoU1zX0A+/AgCvHl0Ov/vnxJmGdoTUsmMo/u1Xj63EnbMqlhTFoum/e/HAQvQat050LbNlzyG2cPSupoe1OULznla2J5IzGgDQHPtJyza0ASC7pI9vnIw/5q3HoPbl0rJps6xr6H2Qlp297wCQX+TTrNYAoIM0ZWDYQ96SjZYA9MF4LsvyMUWAyNQeD4BmtNVJXzJgQDMUACpZBu3jSo0zoXycNNdjV2rIizgUzp8LFingAKbk29XOj793+GHzzIGIexUpHCA6IChlJgPGKdkiugAg/X579uypc3O6AKCrqyvat1c1o6RX8KPO8VO8KTWFn3X5J/M42ADyy7CkwFi6MZc/lBdzfFy0GgASpBRxzoWC9lbYsmElSpSujBKlyopXJ8vblpZpI2XvfMcA8M6dO+jfvz9mzF2MdedyqgW0STynFExCQhxYunIrVVdcVoy1FEyv665sl+VfOojwmpZ2s0mxNMUPcUx0OK6fWC1NUvRi6lSkoAAAIABJREFUZXzSxU2s2lKLJXv9cfmBSjLDHABw0iAPPPSPFv9fc4SSCWT5nmXh64fm4O6NrAygOcZW1zYM/fArAPDSwUXSmc5GNU1tvS6fLEFOm7wy0bp+fDWQzQI9xq6Cv9clAYmUjdk6S8VvVXT4DM1ap3buvPcuvJ3UKMtmNgCoXT3IAoBImrJN7SJr/W5eISHDd17obScw/cn4/0MAULhqOgBV10Dy4G9sHqGINNVyufw3AC7rWZ5sZ03GM9sV/VjOzJtXt3it4YcP8IE/ePCgKJ/r+vCza2r8P8klHZpWyoeOdfV7X/IG/6/WegSTzAAWdLBKsd2eOmZFC+TCr+t8cenAQjy4sg+tBv0JuwLFULV4bgxo4YxrDyNx3TsSVpbZ0LyqHRxsUwctbPjYsWOHDI/CAWQGUF8TiLe3Nw4dOpSkBOzi4pLuHMCvFz9SZYAin6vM1Lt+CXvn4lLKpIzC+b1z0ePztbDInqhZVcrVGiM78BZMDHa//rDSR0RG2ZlXrKIqA8hrwGvBeHJ9Owq4lUPJ0uXR2PUuWrXUfR8Yc0/tOR+KA5eSqyD9MsQ9QzKAd+/exeDBg/HL1PnYcT2PGNPTr7TFgN9F+JnlcPLKCpeuKx6g1EVkGeh9jM/nP9R52B80cULN0ql3Ni/aG4ibj1WdyASA4S9fwjYvdQBNe6WO71lYHEDWH1c1lqQ1WK7fOLW3NBVks8guAPDm5dP/mhIwdQBpYZmRQtApfQ+U66ncdxf2zRN9Sj5byvuKy/Qctx7ZLCxAr+xzu2cJGOw8erFoObJjndnAvYtVEkcU+Wb8MKAobG3SLgmz6nAwLt6PSHLr5c5pgZ8Gv3t9PeWgtL+Pgd6XJQP428w16N8uczSBGHIfpOX5ZgaQVTgAJIC+lwAwLedv6LqT3gpNJ1meHY42Nhnz0dp0nVg1aXg4RqGqi/5rFv8a2HYz6XpxCdkQEZsDtjnjkcMiuQUW9+DuoNouPz977zkhMsYCYQH34OCieigaFQvFy5gcuOKfCH65rTalQ5AzR6Jll67BJZn67Fk2bwP29vYCoNkZTKFnXUHAeOXKFdHJu3r1qizi4OCAmjVrGnrtTFpu601nJLzOJmXbff+MRNUWI0UDzevSdpRvOBB3zqxHyyGzxfVBicYez5A/t4rUrERMfDbsvO2MwIcXERcTCbeyKhmYyNjsiE1QpWB9r25HvkJlYedcAoNr+Il8TFrjVlAe3A5OXlLtVC4Iltl1X/e07lNzfWZ1p02bhkEfjcf92CoIC7yP01smo1HvybB1cEVCfBy8Lu9CoRK1pKO6YbFQFMiTaOVmzmNJ723peja5z3pFw1Aor6qhJKU44e2A4IjUS8WpbUf5vYnHM4RFW4oDi7li9/yhKF+/P3JY5cLNo/Mxe9rPac5Sm+vY0ns7K1euFCeQUaNUYvCZJZT77sqhBYiOeIa6nb+WDC2vFaP9KJXP7vOghzi1+UdY5rRBq6FzxQnk+NoJqNtlAjy3/pJk2ZYlQ5A3l8pNJy1xztcOvs+TCoVbZX+NjuXM602dlmNMeA1s1fg+hvjewLmdU/DhmB9Rr4z5nse0HGN6rxsVFYW+fftyN1kAMIXBfqcZQB7X14u8EROf9MNdu7QtejcR9K4zYmJf4+slSZ1AlAwgNZc0uWDk9Q1sUQA2OS3gmj8x2UmXghUHg/HqrRdr8yp2aF/bAb+u9ZVSsma0qW6PVjVSlr4IDAzEzp07ZTWFA0i/3x49eug8h4cPH6rdMRQOYKFChdK9BPzVIm9ptOELdcPUXmJg/jz4MR5c2oMqzQeLH2ytdv9BTmtbFPKoJsc+ZXixZNwzjveEJY9AkVFyqmjJxAgLjwcbchiPr2yFfaHyKOBWGh9UfKg3E2zMy2Dv+TDsv5TcCm7yYHdY50x/DuC9e/fQf8BATPhpDo5724sExbH1P6L9R3ORO18BJMTF4s65rXArUx95HV3xccdCKPHWGs+Y88wMy+rLAE4bYRifatY2f3gHqjx7zZEBbFo5nzg7HLqSsherMWNH95vy9XpLFunqgTm4ffXfkwH87rvvZJKakV3AhmR+lPuO5dz4uBi1sPPO+SOR0zovWg78Qy4x+bYbp/VB2TrdULFhX6libJ8zTHzdT2+bIssoGcBBLQugsodpXFzN+4nfjMteSTOAttbZ8cNA09QjjLlXDV1Wu7JGB5XjG37C5L9WYFCH8oZuJt2WS60yaI4dZ2UATRvFDOUA8hC//ueBGjAoh1y9VF4MapW05Kh5OiTHf7Uw0euQv7GsSbI8y7XkNymRxzoHfhmm2xOSTSjsZiVJmB3A7Er+QkNAU3OfMz9JOXVOALh9+3ZZpWDBglIGpttHr169dF4JAkC+DFu2bIkDBw7IMiwBd+jAin/6BQVCSRJm0AmlUqN+CA16CL/7Z1G16RCw7EL5kuyWOdGi3y86+X9cVyEac73Y6AjR5WLQjeVlFJvOEwGgm0dZdC71AB07pJ0DuPvcU+w9l7wJhCRscnHSM8h7/HXRCayYPka0xuhJqqjsdx69SKzS+MEiAKTGHDlzlIAo4ZIx2XRzn7s+LcLUngXlOKjXR90+hjk4gNwOn1k2wnBil5agQDD5kBSELl2jA2zy5sfl/bPx8M7Ff00G8JtvvgHpPvPnz0/LUBq8rrEcQJYtWZpv2O0r2Qc5m9myWSCHZU50rOuEg5dCER4eKdJVLAmLvM/UXqjUqD+uHVsh6xAAknLg4pgTX32Q9jLt0n3+uHQ/qRVcSt8YgwfHjAsSAI7VUBBQFB9+m7UGQzqzt/TdhqH3QVqO8n1vAknLuadl3QwHgN8tfYjnbzWTlAOv5JFH9NP0BTNMBI6aQa2zgGcxsMmVHfk11N8rF7fFsLYuBo0Jj4PHw7h/aQ8Kl64D69yqzF9qHz1dAJBaf71799a5bwUA0vuXcjAMZgA7duxo0LGauhClRcgRYSgfv6dP7ggIpJet5/apAv7YFd2w+9d6pXGURhwCIDYKKACQ3ED+x1AygB6lyqGV+wN07dQ2zR/XdwkAZ23xxfnLt8T7t8WA3+BYqKTIVJzfMwc9x60T3iSFae+c3ya6knkdXDG2exEUK6TymH7fIq0A8JfVj9Tag+YCgGER8aDou4ujlTjTaIdHIWvRA+U9yGzha/oVagUne/Z5cohTyvZ5I4S/mseuIC7tn41Hdy+l+R59X65zZgeAR9ZNkoxfvU4qAQvKd7H6U7NMXmlC4jW+7RMJaysLbDsdIvzjLbMGiwsPBb4ZtJHLnl3F4U7tHW7IddMFAG1tcmCylkyWIdtKr2X0AcBfZ67G0C50mH23kQUA3+34p7T3DAeAP630RsjzpBwpesmO6qTqONQX/KBwXT70DP47IJTb4WwvkecwurObdDsaEkFhMZi86hFiYyKxZcZAMR1XZp+pvTwo+qw0gRDIMQPITl99ANDLy0uaQN4lAKSHbdFyjRHsewOvIl+gRqsROLb+Bxkq9wpNULvdf0B7sM97FNE5fAQItBniusUrt5BlmKHhR5ohANClAsqULYe6Bb3Qp1vrNH9c95x7hj3nkjcBUCIkrVmhlO6RiOh4TFjkhechj7Fvyeeo3nK4eJLSoeDWmY3o/ulKWZ1Zirvnt4sotK2DC8b2KJKqpqUh9+a7WCatAJBd4gRjyvNJ39l8+ZLKzRh7XnT7IQBk1l77ehMUjOxYWDi+T1/GIV/u7CAf6ve1j9WTTIqFf9jOBcevPcd17wjsWvgfuJasiXz5i+DivtnwuX8ZOXIkNkApx8f3y8V74Th8JUx0FauXtEXzag46Qaix5/SulicApHrBggULMuQQDP3wK/cdnYk4iaLLByOld/CMzb7w8o/C7n/+AytrWzx7clfW0XR5Su0dbsggaHa2K8vr0kk1ZFvptQzvz7FzEzVEg3yu4+jaSfhlxioM61o5vXZr8HYNvQ8M3qCOBbMygKaNXoYDwN/WPIL/s6SE8hKuNhjT1S3VM9C25aEUzNOX8cL1Y3KApeQBLQoarJ2muFu8fOaHPYs+hbN7ZTTpRWWd1GePugAgO3379Omj8zwUANi6dWuxhGOwdNypU6dUzzstC2hmAHmOFFQlR4SlFYKa45smIz4mGqVqdEDVZkNEw45adroiEQA+R/HKVCiClPOVj74CAMuVK49iuX0xZmCT9xYA3vWNxJxtfsLx2zRzAOj0wczE1WMr4HvnNDqMmIfIF8HwvqES9S5arhFs7QthXM+iKOqclDSeluuXkeumFQB+u8RLnQ02VwaQ9xbvMTqX8D8lJvZzh7O9bgs30kMo3cEqQZXitrDLkwPL9gfg4r2X2Lvkc5HvcShYAhf2zobvA90A8MajCCzYSYv1xGAZsmV16va/n8EuYDajZVYAyEy7o0tp1Gj1Uarv4IW7ngigpz/wU/+74vCkhCIFQ7FmijanJRbv9ceVt9JGynZ4H/40RDfNKC37MnVdbQCo+HlP/mslPuxWRTbLCg4TJtktgIIOGWt9mAUATb2y6b9ehgNA2okReGkGP5j8cKYWmmbzyrIsb1JHkGVkyr0YI5xLkdmZW3yhPDAuxWtIGZQxY3SpFOUrKPmiNIEwA8hGEJZ59QHABw8eSBNImzZtsHfvXtmHuQEgRYQ5K46Ne4OY+NfiuPIoMFo9rPuXjYd9weKgTpRNHgdUbjJQ1PVfhDwWbiDJ1bXL5kO/5sk7tbkRWo2t2LAfryLD1ACQ3EBVJjYxA0gAmPAqFNM/rYFcOdPWhbb3/DPsfusvq3l/pHcG8OiVMGw+qer0o0PBvUu7QT0yuqfw/KkDSP0/6gAy3Ms1Rh77ghjfqyjcDPCnTu1efxe/8/oevkwp0sRoU8sR7WoZ5mtKni75ugxzAUBm/LlNW+scsLdVAUBTOFhrjgTC8+YLHFjxJeyc3JG/cBkp5ft56QaA0zb6JHl2uF+W/n4ekmif9y6uUVr2mdkB4O5FY1CoWDVUbabS9Espg6fYDl7YPx9eV1SUGiUUAPhVH3e4aDQCmjJ2urx+Mz0ApDzOmu/w8/QVGN69qkygSGdREi903iLlyjf4Fc7dfQmyJuqUzYvSbrlNGaJU18kCgKkO0TtbIMMBIAEXgZdmGErY9Q6MxvSNPskGq0ejAsIXMTbIJ5m33Q+KdY5mBjA1r1lNAMhmDpaA3zUA1CVaqjkmh1ZNFJDid++sNDSUr9cTd89th7/XBdRq94mIO7PM1bme7o7sfReeYcHKvYiOCEWJKq3UH/qgsDhpqFFnAMuXR0J0KL4fVgXODtYIDOPMM5tBbhLa13Df+WfY9Q4AoCb38FnAfRxc8RXqdhontm/kAtZsMwo3PTfizWsV4FEAYHoY0ht7X5u6PD8UfB6URg5yGUd1dEUuK8OyKJoNR+YCgKSLRMe+FtDn8BYAsqFjkpFOD5tOBIsb0OE138La1hEF3Svj3O7Z8PO6AkvL5CVgfdnQ9J54mHrtDFmPXcDkLme2DKBiIbhj/kgULdsIlRr1RbWSthjcWj+Xm9lcZnXvXtghSga6AOC4nkVQ1DltfNz3AQBqGyVQTJsA8Kfpy/FR92ripHPVK2kjC+kUinoDx46NM+TOM5Hi/zQGwS9ipbLmlC9tE3huOwsAGvJ0vptlBABS085cQtB79uxB27b6yf9/73iCWz6RSc7WKZ+lQZ68r2IT8N+FXslGqlkVe3Spr19GRt/Q3vCOwILd/vC7ewantv0p3qf0QGX8Oqx4ihwz6sPt2rVLllUAIMu8H3yg24JZyQBybDhGDGYNO3fubLYrv+5oEE7dTGpcrrlxlkuscuUWOzdmO0vX7Ih7F3YKr69Jr+/h7F4JPRsVQMOKNJVJHseuhWHW0r2IDn+G4m8BIJeKelsGfnx5C5yKVMJPo5vA/94JNGveGov2BamlQWhDNrRNIfGpNTRoA7fzbPIu4F+GFk/S/W3o9gxdThxILqqyYew23DJrEOJiVBOX2u3HwL18Y2kciolW6Ve6l2+CPHbO+KpPUelAfF+DHxO/pzGSSXdxsDI4o07A99nc+1BaMPjvly9eIG8aOYDBz2OlEYAfLAI/Bl1nJvQ1rsNTuZ4nNv8q19OtdF2c2zMH3ncvwSaXaruUOiL4ZZlsxhbd/sNd6zvJfVemiI1kJd+neBcAMLXvAcePmaiZW/2w/q/BKFmtHSo36CkTD1KD9AXvi59XPZJqBruHNUPJAH7WzQ1sEkpLCHh6mFQGhg1FPwwyTBopLfs2dF0BgPPuqxcP8b0lE52fpi7Fh92qYfyCB0KHIJ+ZygW5bCiVp4rQQC9YWecB/eFdHXOiQrHc2HdB9d7jpJ33e6NKur8Hhh4fAaAh94Gh29O1HDmAdnZynFk6gAYMJFm2/I9f4tKcFZoDAMbHx6u17nQRq3lcKw+F4OrDpACQL9Tv+6fOAeT63y33Bbl/2vHHh0WNdhyg+8fygyHwuX0SZ3bNgJ1TUbQapNKTmti3MOw0OEfa+yMAVEq5ShMIM4D6ZGAIAI8dOwZNDiCzhubsAt7uGYoTN/QLap/c/Js4V5AkTO/aElVaIyIsEBcOzEe3MStEHHdcDxf5wOqKC/ciMH3xvmQAkB/7sIgE+F7dgsIeVbBgYlO5D57nrIrz95Je69Y17NCiquEvlEOXX2DvheQ6gLxfNOV/DLjnjVpk17kwHL2aCKaf+d/HodUThDvZadRCIZ7fPrMJb96oJHYIAKkLmNL4GXUA79nCpAJMWJKYnWdZKTz8JWxt6QRi+skEP2d2+Y10fjrmVQGuwk458WkX/bJRuvam3Ed0viHn16NyS3HBuXbpNPLltsTjoBisOBSi5jCmdsTSXNK2ANzfI77njz/+KBnAjNIBNOR7oIyz/7NYdGzfGk3b9cWYkQNRpEDKkyi+c35f74/AkBcyOdOMXl9skH/SlaeES9r4uMsOBOPGo6QVK3JKJ36QctNiavePOX9n5/uX/zxWbzLE7zaOrP0On3//NwZ2qoxf1vjJe3/TX/3EvahF/99kWXFbmTdcOq8pa6UraJf6ZW/XFL+FqZ2LMfdBatvS9zsBIClVWQDQuBHM8AzgmsNB8LydNEtllSMbpowoadCRT93gg8dvtcY0VxjcqpCUDYwJKSMcCBQJAWYDmMGhwC/ju/7uyJ9C+puiz7t375ZlmQFkNu/+/fuKGnmyw+BvR44cEes3ZT0CwC5daN1sntDMWunaIsVSI1+EIDTwgXStFqvUHAWKVMDrhDjR1kotk3rVKwI/z90pzQ/siNUOlkdZRl/6fSuZ8Z0KKovo2DfC0cnvWka8cgs5WOFrI/S59GUAJw/1SNcMjPDhriQFntQ/ZMup4ppCCRjeOzGvwqWLmrPoiX3ZnJD2sol57oiM20p4dDwmLk60kjNXBjAwNFY0KFmGdrJTZeootG1I05jm2R+9Sk5nCK4eXS5ajuS78pm/cfWCPOd/rPPBE63mNENGjxkSVjDKFc1tcLbUkO2mxzLMALJ5beHChemx+WTbNDbzU7duXXz++ed6/dS1d3DFKxxL9gaA3cN0Bwl4qHJAVTKAH3d0RZkiaeO1LdztL80mmkHt2UkDi2XIGBqyE+0M4FO/Ozi0eiLaDP1L7CkZL0J8sHfJWPn/ilYim2cOrZyg+tsXG0RbkcGsYNCjqyhVvQOyW1qhWwMnNKlsPMVKOXZj7wNDzll7mawMoCmjBmQ4B1Ah72of7rRRpdSevszwsfuPaWs2ebCZIT7hNYq72GCH51OcvpncGYAP+sepSMlo7/PQpVDRk3pwZT8u7p+PnLnzocvoxbLY133dUSiFbilNAOjq6ioAkK4Rb+1okl0N/nb06FFx/lBKx2kBgPzA0t3EL+SVlDn434FLodh1Rr9v6pldM/HM/x4iwgJEC61I2UYoVa4a6lXIJ9Il9LBNqYmGnbHfTN+uFwDePL1BuoyXTmqNbTv24NiTUoh7FSkz9HxORcXknWGMPIMAQB3nRB0ukvLNHYGhMXjgHw02gbDMpB1FCuSSjJbSyPT41gmxpCJ/khnAbwcUMwtvxtznld7b4/NKGRglzMUBJHGd7wBm3BRgbYhslPb5nrr5HOuOBOGW5ybcu7gLlRr3lyaQixfPwyKbBX5bm9RpyNjxIndqaBuXTA0CCQDJXf7nn3+MPT2TljeG+8VlCQAnTZpklDj+tYcRWLzHX/QfH147JFldBcx81N4VFYrpdgOhfBW/LwRzpBbtPPNMGujYWd60ih243ePXnwv9QDtM4aCaNIAGrqTNAXz65C4OrZqQBABqlsoVEXufO6fguV31Tu44agFsbB3l/5MqRMejBt2+Eo3F1IwaUjtMY+6D1Lal7/csGRjTRi7DAaC+D/o3/YupmwQuP+DMzj/ZGX3WvYh0BGrLM3DBAnZW4DYMDUUWgsvzg3D50GJY5sqNbmOWyya+6FUU/NjrC1MBIJ0/lO5hmld37drV0ENOstzmE8FgVkOJFtUckDd3DvDv+uL8vr/hd+8MYinkXKUl3ErVRb+uTdHZQP4kuTqf/7YFES+CUVJHBpAAsFCxqlgyqRU2bN0Hz8ASiHoZgp3zVd6jysw8tQYbzeM/cPGZgH7tSA8AeO7OS1BqiOBFVxAc//VxKQGkvI8ZfImypFiqWnvh0nw/0EM06/5tQaBGiSclzAUAyUfkB87K0kJNTUitQUDX2Gs2Ddw4uQ5Vmw8VAHji9BlEx7wRonxag1qmBKeZNb7//nuQupIZASAt6qiQMH36dDRs2NCoIVTUHB7dPIazu2aix+drpKLBpgYaA2gGwd7aI8G4dF9FlSlZ2AbRMa9lIm1o8Pnmc55Zgs/ap3MSdQCVzB7ljqhWoLynFLDXavAU2BcohjvntklGnKH8jf+fahH0i6dKRJlancGu4U+76daGNWQMsgCgIaP0bpbJcADI7B27vrSjaRV7dG1QQP4szRm7kmpw8e+jOxdGSVcbfKYheqlsh7ZgtAczNLafDhFrIYbyIPClwZcHIzVLL19fX3Uzh5IBvHv3Lvr166fzEJQMoDkAIGevExcnb4ZpWyu/TtFk5YAuHVyE+5f3UKNDyNYuxatjcO/mBst8hIXH4aNJm4Q3WLJa22TnqQkA12zej/PBxQUc7V38mSyrAED+f86iWT7TfkFrb1QfAPx5SHEBvOYKdsRNWvZQLAb1BZtXpo4sCc0OYZaFXzz1EW05xo+DPWCX598HALU79M0BALkNv5AYaSzh2JM+wKhfwQ69mzgbdenpAjJ7qy8eXNmHiwf+kS5uAsA9h04JAGQDlTli+qhSyJ49DaRHcxyEnm1kZgD4008/Ydu2bVi8eDEqVTLOvUK595SMVrfPVsLSylrsRZm90gzNyVtqQ02utKWVjfDmNIPdsV/2Ma4JKbV9peV3bQDIKs/BlSo5s55frIeFRXZ4XT0otp+MZn1/hlPhsuD34OH1Q6Kh2Ljnt1K9YWydMxQxkS9Qsnp7VGs+VCa0aQG8WQAwLVc3fdfNcADIdnRds21yDLo1VAFARYRX+9Q/6uCKCu55sOJAAM7fTd7skJKGnfa2lIwAOwIvH1mC+xd3sxdeVT7Ilk3EkCmKrC80AWDhwoWlBHznzh29AJDgkE0gbPpQHETy58+Pbt26GX2Fbz2OxN87kncpFi2YC48D9c9krx1fJdp1jNI1O8G5aEWMGtAazaoaJm5LntewbzYhPCwgVQC4YsMBXH7mgWcB99Q8E00AyGMgwZjdnClxLQ9cDMUOz5BkY2RuAHjyxnOsTwUEsAzJ7CXlcPSV2ikQqylYbPTFfU9XuOMTibnbE+9JcwBAlvUIAFX3ioXa8YfZ7k56pIr0Pq/Br/Dn+sfwvnEU53bPQvVWI4T2sW3vSTyPTNCpNWnKpejbvCDqlE3ssjRlG+m1DgEgKxeLFukm/Jt7v8Z8+OfNmyfHtWHDBhQrZnglh8fMygSvLX3KT235A13+sxQ5rW3Rv0Uh1CqTFABOWv5QPKGPbfwZ+V1KixQW48mDCzi9fYq4kJAf/fp1gkg+MSrUT2rvSQeaT7oY1rRo7jHVtb1kAPCtbBWX7fqfZVKZuHt+B64cUcnlNOoxEYU8qoGUoJfPniAs8AFqt/8U7uUb4XVCPDZM6yNJArcy9dW2fNTqJRWjokcetKruqKZrGXJ+xtwHhmxP1zJZJWDTRi7DASAJ3dQL0xXMAlKDjjM6Wv1ox9C2LqLsP2urL+77Je3M4rINKtqhV2PDMgMBoTH4dfUj+N49g9Pb/lTvSvF41TV71DweHx8fdRewAgBv376N/v376zw3BQDS+WP79u2yjKkA8NrDcPyzO3nJihZFL6NUtmy64vbZLbh2TGVhVrZOdzgVLoOxw9qiXnnDunKZJRsycSNehvqjVPV2yXbBDGCr5g1RtVI5nDp/AyFxhfDU97rabo4A8MVTX8kIthz4JxwKeoizAh0W9AWztMzWaoe5gdaaw4HwvKVfQof7V7LM+kApl5k8rHi6NqeY9pin71q6vLrNAQD5wVHEaylJwcwLwxRHDuV597lzWvyvqzQbLPpxW/acxJOnMaCIujlCmSSYY1vm3gb5dZy4ZkYAmJCQgJMnT6JRo0ZGqzlQt44cTv+Hl3Bi42Tp0re2dUDfZgVRp1wiGGd2f/z8+2rrT46vki28cmSZWDqyO7xm65FS5Xh065hcgvJ1e6obJPhvY/zmzX0N9W1PU7cyNOCBCJ4zOoz8G7nzOomY/d0LOxEfGy16pkXK1MPJLb8L4KNuYMWGH6B0jY6IJGXn75HS6MamPaWErLlfY76zXC8LAGbUXWD8fjK8C5iHOEaDr6B9yLRyc7azwhQdgs/8rWbpvNhwLBgnbiR/YfdvXjDZjE/fkNBfdMJiLyiEWWU55YXQt5lzijN5bQDIFvRbt27pBYDMDh4/flys39IKAK8/jMBCHZwlZp5omK4vpPy1X+UDWr5Bbzg4F8eEUR0M7p6m3t/gbzerOG+sT3LAAAAgAElEQVTV2yfbzf1zG5C/SFXYORfH09CXiHuTC/FPL8Nzuwpgs/vs4dUDoHo/fYipJVi8EPkl+mfT0qijgwP40yAP5MtjvhLw7K1+uKclUK59grbW2cUE/vDlMGzVAUq5/G/DisMml2HCycY/rplzDbGi0tAh41GaowuYk0V2ATPIv1QAYO/GBaQMbEwounH+Dy6AWoAVG/bF9ROrsWHHcXgFvAJ5x+aKmaNLmWtTZt0OASDfWyyzZkRkRPcnzyMoLBaTVz9C0KNrOLr+B7QfMVc68hnVStiCRgGUjJJJwJrHeBn6BHv+GSO/K52yp7b+IQL5VEVo2ucH0RekADyDdBlmFJWoUyYvmOnNTKH5TdUEgMr5XT68BAFel6RhjVnOYhWbSbMHgR5VIYqUbSBuUMr3kELpBIPtPpyV7DRpu8oKjKEyXBlxH2R1ARt3N74zHUAe5pSN/vLQ6gqKbA5tXQBTNyXPcPVo6IjaZWxx81EUlh5I2uzAcuK3/QpLlsaQ4Efrq0WPpaN110KV+Tij88eLkNNGVTZwcbRCrdJ5UL980jICf+NMev9+lQWRwgFkBlBfFzAzgJzhanIAHR0dTZKBUfQLtc+T+lTPI/QDQEXvkOtVaTIIeewL4btP2qF0YcPEUunIMOLHnQIA+VLUjOFtC2DiL38jb6HKsHcujmfPwxEdnxMvfU/h5mGVtE73z1aJJMyVo8tQveVHYifHcjs1HPXFkasvsPtcch3A1HQaDbkHNJf5bd0TtaexvnWZYeU9Rq1Fai7qih8HFRHNun9bjF+YtIvWHDqAzCxSX5LBzmtXRxUHsF8zJ1QpblyzRVhEvOihBT2+jmMbfkTZ2t1w++xmrNh4CDcfR+FhgOFNAKld2z+HZx5+mOaxTp48WQDg/PnzUzsFs/yeEfpvPFB2oPP5pQDykXXfo+3QGbB1SHQRqeBug0EtC+BR0CvM2R4oIOfwmm/kHMl9cy5aCYdXfyOewrb2Lmg7bIbo5lEyy/fuKRQp0yDJ9vg96FLPMNqMWQbSgI1oPn8hfrdwZO33slazD34WgwNF/5JyMBUafiATeHYK53UsLFUZZvtqth4lJgGeO6ahTK0u8Lq6X0rIDLplkSNP2hBjSKsCKFdUv1C35iFnxH2QpQNowE2iY5EMywByNs+SDs25Wd71Ckj0qNU+rtGdXDFne/ImkB4Naflmh4SEN/h17eMkMh2tqzugfR3DPEuV/XHWxAd947RE9w7NdnhluX7NnMUjVzMeP36Mffv2yZ/c3NyEA3jz5k0MGDBA55UgODxx4oQ4f5DszCAA7N69u9FXjubki/cFJFvP0dYSEa8S9DYyaEoBMAOXK489pn3VHeR3GBLsoBs0cYs0PZSq0SHJKt8PKIZeI38XHUC+iG2cK8MitwuC7h6El+cSWbbzJ4sFALIcUa5Od1Rs1Ff+nlLG5NBlSvUk7wL+cVAxszZbsKkmPDq5wLjmSSoOAKdvvdDZyMRl//yohEiW/NtCO6tvjgxgwFsJGGUsFY9lukQY221LasQ3Sx6qMxwsd9FGbOXmY+L0oNjfmeO6ZdYM4A8//AC+t/7fMoDPI+Lw3TJvkbhi80ObIdMF0GjG132KSnVk7o4nULLA/F1x9dmzaIzw4agn2O3TFeLyY53HQd51bI6g/aMSrao7oIOR3xpz3FcpbUPz+Qv0voJjG1Tdv0pzBzVg6WT0POSRTN7L1e2BvYvHSsYz8mWwuOOQG0hnqGvHVwpHllaJbIqMjYnE9jkfyvY4iadhQMc6+YW+Y0hkZQANGaV3s0y6cgA5g790P1waNh4FRku2p2ZpW7D8ykYGfUGgyE467V46Er9JAGcQjBy8GIbQiDjQYqxqCVujNbgU3sS6PxJBWPvhc8QvVzOc7KySWdU9evRInQEkAGQJ+Pr16xg4cKDO01IAIIWft27dKss4ODigR48eRl95pYFFe0V2n1rmyAb6p+qKEL87OLx6ovxUo/Uo5MqdD/Mm9TLYo5dWWYMmbsaLkMdqAMgPfWBYnHRo3ji1TnxWz++dhwLF66NEw4/hc3UHnlxeK/tkacbr8j7punYrUw/1Oo2Tv2tqQGof9+HLoaAos3aYu9tW08dW3wVRuuH0dalzPXYJG2N1Z/TFz6Qr/LnuMXw1pDTMwQHUBmVuTioNxtQ69HUNkcJTVMpjJaq1xYNLe7Bk41FcfRAh5UFzhTE6l+bapyHbeRcAkKL3FL+3tEy/znhFFYHSJZQwIb84NPA+LLJbwqNiMxmaXFYWUralZqAiF2ORwxIV6vdB2dpdsGXWEOS0sUX4syfoMXYN9i8fL5NZauPRN72AW3n1EGt+hwwZ94xYRpMDqDTDcL/1Oo+HW+k6OLr+R+mMDgt+JP+u3HiAyHOx9BsTHY6wQC+0GvSnyML43juLGi2HC4jsMGKeZAhPbFJZpLYc8LuMhzE8wCwOYEbcAabtI10BoLgpXE5eKuOHlGl7fcHyrCL+qrlMm1qOBkuWGDIcugCgMnvkg5Aztx3K1Owkm9LWrjMWAJIfeOrUKckAagJAuoiULVsW9vaGK63rA4DkAFIP8b4eLhu9IPct+VzOp2abj6U7bMXv/VL0PNYcx9i41xgwYbPMIplBUYJEffrfEgDmsLSWEm8ep5Ko1H4SvC+sR8CNbQLmWVq5d3E3vK7sEwBZtdkQ2URKDR36ACC9OO1tzfNR0RZS1XfvKBOBu75RmLMteZMS18vMMiCGPBOmLkNpJ02B9vQAgIWdcoH8o897FIF7QcNoC8r5cPLy3wX3ERbsjf1LvxCyP/mo/6w7Ivy/py/0v4+MHZPMCgBpBcf3VkZmADMCACrgPjzUH7v/+Q+afvAjjqz5Ti6bpvIAm0JWHw5UCf8fWAhbh0KiW0o6zPqpvVG4VG343fUUN6gDy/+L0rU6wTJnbuTJV0C6ZpXo2dhZr1+6sfeKuZbXBIBKo5O859uOFhDMzCjLvQTJdGWq3nK4gN7SNTogISEO3tePoNOo+fDc+ZdYfVZrPgz7lo5Di/6/iofwhX1/y6Eq4tBU46AqhyGRBQANGaV3s0y6AkB21/2uQ2GfL/HXurV2ZRTk4xGZAHLalH8ze0i5ki4GihYbMpzKR4vcuNhXEfJSaDHgN9jaFVL7SyovkIn9aPGV6E+pCQCLFCkiGcBr167pzQDqAoA2NjaIiooCvYSN8QSmYPHKg8lLwLlzZUd599zg77pC6fBSXgxWOW2w8a+BBmdOWcbvTwAYnBQAkmBP4EkA+Ob1G9z03IDcjh6o3PEnPDizAsF39goApNgo5QjIrWneV1WiYEzsV0yvfVpGAEAFHKR2zxR0yCmyNd4B0Zi+KdH3VnO9GaNLGd3FmNp+34ffmUGbsclXhNrVz/CLF8iXL59J48F3gO9bCRjl/NkEwm7gKSNLwiqHcWV2RX1A6UInCZ42ftrSROYY68wMAL29vbFkiYqSkd6RER9+noPS3RsT9RJbZw9B3Y5j4bljupyepsAx5Uv2X3wm7yC+q+wKFEPufE6o1myovO/L1++Fm6fWSxMIOXQET3QyiouNQtlaXcUWjaFLXia9xzK17WsCQAI6Ot7cOr1BBM/J99uz+DPhOoYFecs512k/RuRemAlk+Zfj0f2zlepMIQHitjnD0KDrlzJpYgNhTFS4AMcSVVqJSQLNEgyJjLgPsmRgDLkSyZdJVwDI3WnemMruX79mV1/KB0zSNjlXDDY2MCvI8u+QNonkXtNOOXEtckf+2uwrulBs+2czSJM+k5DLOp/aN1H5QFD3ifpPSvBFeuDAAfmnAgCvXr2KQYOSGpMryxMAnj59WrqAlQyg8htLyG3bJhdW1nd+5+68wMqDgcl+JvesRXUHvRp15IBsnqHiKLITzNbWFqun6Jat0bVvNQAMeoTSNRMzgKHhcWKpxJcIhZHvXdoNa3t3VO08GXdPLMTzx554HR+D5v1/kfIveZeNe6hI2IxxPYugqLPujM6RK2GgfaB2TBrkIfs0R6QE6DS3rwjAKrpjuvadWT/+5hin1LbB5+ji/ZcC+CoUzYVlm08jwcYDFhYWCHkRJ56+hgYBIDmZmk1NzDKz2cuUMSZveOy8e1CyREXLNcLjW8ezAKChF8SE5TLiw8/DYrXo83n3BMisn9pL1eBzZpMccbUWH6o1S9k5furGc9w4tV6qECxl8j6r2nSwZA4pj0KJoGoth+PSgYVo2H2C0F0IqBSvb25zeHtXVNRjMWfCMJllFV3fWQo606GoXN3u2D7vI+n8ZanXInsO1O88Huun9BSQy6AoOkWj2Rhi5+QuKg3MihLwcR2CwOiIUGncoy4itVu/G2CYXmNG3AdZANC02+idAEB6MFqmopZPniDbzPni9g+NVdtz0QGgbS1HszUAKOWD6MgwIbo26Pa1tMYrXDnFVmhwa5ckcinGAkA2iHh6eqYKAKOjo2FtbS2ZQQazhNpx5tYLKWVoB7MjfDnpEolWliXfkb68BHCli9pjytdJRU5Tuo14Lfp9vRmhQQ/VpXEuT4I9O2QJAMkxeXL/HKzyFESNHlNx6/BMxIQ9xKvwEAHXd89tlxcQZ5ZKjOnqhhKuujvK9ALAgR7iJmKO0HT2SGl75KCN711UJSexWrd3rCngxBznkNm2of3Sp3fy1A2Pkx0mZZ0IDgnm29V2FFHf1YeD1GCREz8Cwfj4N6A0U+uajiZxLJUyP7v+yX0qXLoe/O55ovd4ldivOSOz3gMsAf8/ZgA1hZC3zBwER5dSIuPCKFm9nZQzNUPhuVEHlRN/Wp4R+DBbSHqAwg8l342cZnbDupdrrOaGaycDzHnvmLotWsFpW1juXDAabqVqy/ltmtFf9Awp+cJJev0u4yUZULfT5+IUcmrrn+jyyRIcXDURriVrokqTgZIBLF6lNUID7osOYlT4MzgULCE6iZS6+u3D5M5bfO5fvXqF2NhYyf7nyJEjSwfQ1IuaAeulOwCcv/MJbj6KSHIqLLnltLJI1uShuVBc/BtpaKD9mGZ3pn0eS9jb5hArKO3OXFPHi9ZyMdGR6gcih5W1CIoyFOPsN1FPMLBjZZT3sBOpmYcPH+LgwYOyDDOALONevnwZgwcP1nkYCgAkB3DLli1JliEPkEboQUFBIhVjZ2eH589VOof16tUTEEgSNR+ovHnzimAxhYt1xR8flfwfe9cBH0Xx/V96L6QQEkiB0Lv0IkVFFBGRIio27PWvomIvqNj1Z68g0jsKKiJSpEpHqrQQAgSSkN57+H++c9nL3t1ebndvb3MX5n30I3IzszNv3s19981738dinaxJSUEWeXr50sUze2nitbE0frR8zyN+RCe+9AvlpJ8yAYAA0bh+3r9xDrtC8fDyIXefUOp3+9d0aM2H5FFTRPkZp1iWGchIkWk3cPRzximixF+7WGlaj437c+lnCQ+gljV3UQYMngFbgmzpZ2+JZ16p12dZluKDDt6TOBRtjdsYPzcHgPhxwlkgTv4SV/8R6+DQ6SKaLlEKUqq2qxLdwUtSWphDv377IMW07k0XTu257AAgzq1ZswwVIRwtenh+hDUIHrC/5jzPvLwgPG7SrDVLGho87hUjtRfa7103gzEVIAM248xBxn+39ef36abHZzBPIEDOxTOHaNQj37N+INCPbTeAQiIMfKU4A+QyJzhax8L4UgAQMXzhMe2o57AHmGcUXj1wG4IK5sqbn2ffg0HjXyFPT2925X3Dg1/R+gWvGL2GQv/sC8fZOKjrDiA4aOxLVJh9mn58bThzVOC3CsUQILgVw0sGBMwY3bp1Ix8fH9q1a5dDk4G4B1CdpTmcBua37Vm0trbmrjDF0vJqcndzM9BlWCmbCW8TMoHB8g4vAH5AwC2G66WoJt409e6WFB1eF5MnjA3OIQE84e8ApvAWYi7idm/MPkWXPPxp+acT2dUossN2/PYZ6wIiTB+/YBYj0rr7dTTy1ifokZFRtHXTWkpPN4AwAQDu2bOH+vbtK7kTaWlpjIMLV8DmAFDu1gEE9u7dm0ADs3p3tmS3l25PIOj8sBnoRuOw6DbGeKwBTY9RYV4GPfjggyTWhTV9oT/24PaXVtDFs4dZ8LQg5ZWXyMfLjU7++yejefH08qFL7r7UesC9lLJ3GYU1bU6ZZ/azt07QK/gGhLI4HUEeubE5dYy3AgAPAABaZgGDdgbJRFrIl7+co5MXrNMSCc9o1cyPnh4Xy/Tw1twUyi40TRzo1TaI7r42WospufwYUtQP+E7vOl5AaTkV1KqZL3VLDJSMDxRIm82VcFP/CCMLgBoFPf3NSSopzqOVX91H0a2uoPTTB2jClKVqhqq3j7PSwKDeLgCgnBhA83NUasH1nRVoL5f+Q+75U5/SBRqU7b/+j1ATGBmvzdv0YRm/EFwFx7UfyAAd6E1AiIwsXyQCgRR8F65An13MACBCVMqK8xgFCjKJj/yzhPwCmlBMYi9WYeTVOxJkMydoblxWBoQTwzyufsPC18g/KIJd4zJv36jJDABmpByggTc/b0yYwQs5PJ/weAIAdr9qErs237xsGuP+yzx3lCXtFeWls7jZ5uzlaTd1bRtNubm5VF5eTgsWLGAzQ5iTubRq1YoBRYQ5OSobnBNBK7M0hxNBu7l7MLoXkOau3ZfPwBsr6u7hRtXVNXQxv4q8Pd0oIsSLZfaZS0XVJfJ0v0SpWZXMsMXGnRjta5U8OCsry8izhzHhcUPJNXMRt1u5PYfiOg2jVdMfY+5yd3dP2rvWUDEDWVBlxfm09Zf3qUnTlnTt3R9SE/9qalq20YhdAQDbtWtHGzdutHDDi5+LTF94+oRKIPVtWb9+/WjHjh0WTQBmUblg70lTr6rQcMLgCMZ3tWavpUcLgcx4gxvcJZii3JMI5NTgLRTrwpq+hPEfem8LpZ7YYVIaCXvLEntqqhmPVNP4rnT66HbQ97JuLTsNpvPHt1C/kU+xYOKAkKbU94b/M65t0vCm1MkKqejWwwWE/TGXl25rQWFB2lQCeWv+OSosqZ8DEM9vHeNLD480UATtOVFEizeZ8hM+cH0UtYtVlp2q7GvrOq3tIX/FC99LM89afJd6tw2kCUOUcX2KNfbSzDNUUlJEK76cRFFxXVgJLPzoay3OSgT93nvvMQA4ffp0m0s2P0elOtg6K+TagJLzx9rEBSJk1Ls9sXcVBYc1Z3x3e9fVrRV8fvAG/vPrJ4wTD5m9qAaDmDbU/R3z5BxWQg2Zst4+AaymMCT54DoqLcplSRQgVQYZPEJenEmen3HG4vuCijdubu50xdX3sd+2weNfpazUo5RyZCMDgFgrQJ+3bxD7HH+Hiig4mxEjC1CMGEjE/4EkGnoQqqNg7S0iDEkx+fn5NGHCBIqPj2dzwG8XQN/PP/9MiYmJ1LlzZ8aBe/XVV0s6Y7TQIyeCVqdFh3kAL+RU0yfLzjIQiGtcQeC1wdWuUOIpyM+TQs1+yHGlWFRSTR7uyAYWBY7XAsXIEC+a+VwHyexVNR7At+aephqPAFrx1STqNGACAy5C4eyhE96gvKwzrG5oZGxHY23EpiHe1DnkBF1MS2GGf91118naARx2+GLg7blHjx60YcMG1u/KK69k/8UVMOTWW281AkC40rt3724cH3VLl262TIxAg88fa8NiqqbNl45RQ5vm4T70wm11GVxK3sCtlfG7snMIbT1sqKULwLz0s0mG8g1E1L7PaEre9yvzrp46sJbREeDPgtx3fTSr8Swlmw7m0vItlh7A1+9syV4e7BXwST4/3fI6V2rcbq0CCdeQEBx0WO8/R/KZJ3tIt1DGRcnFoAG53h9r+pq7Np28vdyYp6VpqBeBggdE57gVUCtTvk+i4tJS5unHdzkr9dhl5QGcNm0aJSUlyboCdlUP4LGdK+jAprmEUmZDJrxOgkdQsBkAfrzMw7PXok1f2vnHl8y7dSFpN6N/2bTkLUpPOcAqf0iVQcM4zkj2LuUBxNrLSvKp+1X3GPgR7/qA3d6gAs7AMS8wqhysETcy8BCClgsl45D8EpPYk+nx+K6V7KwDoTRuxv5Z8TGVlxYwD2G35qWUeTGDXfm+//77dM0110h+Ne09C+R837kHUI6WLNs4LAYwq7CGBcqjfmyWiPMPwd5+Pu6sADtEXORdmB4ygOHFcqNLVCGqbFaLJ9gV8JQJ8VavDZWq4uUfT1FRaRUha0oocXZ462KiSzXs2vLiuf/o5N5VLHni+nv/ZxzePW8/dWyaTwkJCTR8+HBZjxUDQLw1HT58mLnNhw4dSm3btqUffjB4Hh944AGWPWkVFFkBgCAiLiippjfnJNc7H7WB6lLZZnjQp4+1pblr0xjxNw6Mue+OZdf8cAJ2v+pe+m/rXOpxzX2UfGgDNYlqxQKJBblneDT1bGtZbg+fbz6YS8sk1vraXS0pMsTwBmqPWEtOkBqzX4cQp6sBas/aHdlXz/gvuetAbGxJaQUt/eRWliiQnZZEtzriCviJdnKnpGs7AMCTJ0/S7NmG8l6OFj1tALRMyOZHyTKQFsOD1e/Gpyjj7CFK+vcvSug0mMX5AfDsXvMtuxoFGT3+LjqxJ5WX5DOABPoY0IKJX/bN9eSMVE9SMYC713zHvJmgetm4eCqhyEH6mQO0d+0MGjT2Raanmx6dzipCLfl4AgN1+J27euI7hAQZVMqB4wMi1BQW6wLx5iDYtiV62AGPAbS1C9KfOwwAFpQSAyFI+EBMjyCoVhHo506pIo4vgeFfaAOSaEPixyWqlACAqDoBTr53709Ut2qzXvAAZuVX0G/fP0LxHQbTpUs1LHakrCiHlQrCoXLu2Db2RUEaPABOlytvo3PHd9DV7UupXZtWqgHgiRMn2NUxACSAJBJBCgsLqXVr0wwrUGgkp5Uyr+eZjFL61aw8GuYEep33H2zNYiZfn6UvABQDSnzhoxO6kruHB7sERqYZqoN0vvJWSjm8kSJadGCByYLUx6vlaABojVNRyrC05qHUxHiddBA9Dn2lS39xehIVl1XRko/GU5NmiYwT7XICgC+9+iYdO3ac5s6dQ4F+jr/C1NMGEPP8w+/nWfzewc3zKaHTEPaiKYjAgYqkB5SixGctO1/Fsn8DQqOYxw/UVMgQBlUVssQHjjZUKhKLtexXpbaodfunv0YMoCm57v6/Z9P5pD3UdfBEQik41PW9kLyXdq76gvrc8H+0648vWdk7xAAiezqiRXtWJk8AewDCAp8i+qJwgFjw+yvHjvSwAw4A1VmUwwBgWaUbob4qOJpQKUIQVKsI9vcwIXkVCF6FNmhfUQljvkSVotAswQOI9n7e7vTibQkUE2GZCKJUFUIZKwQAI9C3prqKMs4epsKc84xIE+APWWOIa7xUY5gQ+AEBAPvGF1GPrm1UA8Camhr2Vg7vHxJcpASljj7/5RxdzDUAaXChgfwU3lMIKnRkF1Yx6gxUSLh5YAT9LHFtKh5baw+geDxQAMS07GYEgHiz3rRsGsscTvlvM7ueEaqAYE5g6O/X0bTWsjBXqwDwzpbsWtBeWb0rm1bvsqw1LDUuak1f1yvc3kdeFv31OPSVKvLlH5NYSAr4zRAjVpCdShOeW6J0GJvt1X63bA5sR4M/dmbRtGnvUOb5YzTu0S/p7uHRmt2gWJuWnjaAM3DKD0lWY7DBEbjss4nUbfCdlHTgL4pu2YPa9BxBq75/jE0/vtMQRo6cfHA97f7zG0n6GLQDDdHIvurjUO3Ywnq7SgFA0HIh5AZhTYhpn/DsEpb5vvWXD6jrkDvp4KZ5NOG5pSyeG5QxSN5DzN+oR39gJfBwXYzsYMiEKcssfp/empRoLNZQ3+T0sAMOANVZlsMAYA150JTvT7Iv5PnsCgKFCATBs6jwIa7ziQoLSAgRBJ+huaFiyCWqqjKEkwH4QOAxxO3oNT3CaPSASHUrF/X64pdzlHS+hJW+QZkcvEWiYkBRbhq17zuGEcaiUghK5AiCL8T5kzupS7N8GtirvWoAKGfyy7dcpE0Hco1NC4qrmH6gR+g3I7eSKmpJdkGWC11dzKtksVMCSDR/jtofKWtXwOLxSkrLqXWXwVRVUcw8gHh7XP3TZErsNozO/LeVWrTpzZJtBLn1qiga2ClUUhUs3nFThsVnr97Z0q5MPIQgoEa1VKlCa3sydlBTAnUJF9sa0OPQtz0L0xavzjzFOCuXfTqR/cAV5WVcFgBQIDpHvBs88Kh1GxkeQK/d0dKumEpb+tfbBlDS76c/Lxinhd+HNs39jbyoAi/emaNbGSlyx35jadn/bmfthdKUVRVldO7EdmoW341l/KJ6CH6PCkurWJzytT3DZFdOsqUfLT+XAoC4wj20ZRF1GjCeEBs55snZlHHmELsObtNzJMuARqYzREyfM+7p+eTp7ctekFb/+BT7XKpijlwqLj3sgANAddbkMADo4eFJCEyFIOFDAChI+gCPnxgAwpMDjx5E8BgCLgI8MABY6wUUQKJwZaxVLMa3v6bS0bPFxnqJVZXlLCakMDedWna5ilIO/80SF9JP7zdqGa5zcEi1i8ijq/p1kA0As7Ozafny5SwJBDGAcsQcdCE+Ev+iHA8SZsR1lUGNA5ycmlVO3l7u1KyJpZcMIPHF2xPkPNqijRwAmF9YRg9/8A8FBvhRVWUp87b8/sNjjEsL3tS4DoPYtYQRAA6NIrD0S4kjACB+EL9amaqoMgXmNn5wUxrclQNAOYajx6EvZx7iNq/9dIp9b37+4m5G9g5OzMvBA/jrP5m0bl8Oy94H4S/43oKaRDN7xhVeXFMfVtlBa2kIGzCUEa1iZx/4WiFfrThHJ1JLaP2CVxkDQdqpvdS+783Uoe8YdvWJl3tQwaBihiCIXwYx+XAX8fizJBAzHphTB9bRnjXfUrs+oyn1xE668aGvKSctiWX/Iv7x4tkjdPMTM9mSNy5+k/2e4ZYLiTK4jaqsKKWfP7vT5Dr8pgGRzBGDf3u2CSK/Wh3XZzt62I5tH9oAACAASURBVAEHgOq+vQ4DgOD7efa7k+xHFrx/yEyFBPp6sAoOAgAE+ENdT4/aWFKhLTxXiGUzB4DICkTgKb7ciHfTQqb/cZ4OJRfRhkWvM74neABxDYy4EVxXgvsIB8ahzQauI8jIh7+hvIzT1Co0h64b1JmGDRsmq+apFgAQRMTwZLSI8GFATyzwpnp5kPGKHeTE5nx5D41sTp1VljKSAwAv5pTQc98cMqkDizdJ0DCcO76dFSfvfOVtxmnXV1xdCQDEVTkycnH41yez1lxgySpK5Y5rmmlGPq702a7WXo9DX6lOps5JZmUfV3x1H6tGgwzJCQ6ggVHrXVe6HrntBc+n4NG5+va3WZKDEey4u9HtV0UxXkZweiJMRwtxFhuYvy6ddh7Lp20rP6HKsiLKTP3PyHWHEmm42QErAbyCeMEDsGnaxJuR27uKSAFAIYYvtv1A5u0efvcHRq9eRIuOVFqYRTc+/C1bInSTevwf8vEPMYJC/D3ob7x9AygiNICV7AxWYRt62AEHgOos1WE0MACAL844xYrDIxEkszYRBF8qAECUfILENvU1mTkAYFZ+Jbva9PX2oNKKaqMHEF5CeK/gGmQA8AFtkkBmrUmjfUmFRuJLeABRLaOkMItCIuKYB7DntQ/Rnr++N84VcW0lRdkU45tJ/qHN6VJYT1a7+MZ+EdS1lWmwrHiBqgDg1wZPqiAAgAA7AM+CXoXP8HcAyIJ+zXWMK5FHboxRVU4LY1mjgRGT357LKKZXZxyh4JAQIyj+a/ZzFB7dllJP7mCZ1h37jzeuZ/wgeNakPYBbD+fRkk2WlDevTExg2eBimbM2jfaeKGT0MNFhPoRkoeaRPhYUM+8uSKH02nhKuV8bvJC8dU9LCnIy/i+589e7nR7UD0rXxJK9Cirp128epEuXqqmirNghPIDORgSNWGwk1QHwggR74JjnGQWKNUmM9mN0RyjFaY84iw38viOL/tqbQ/vW/0jpyfsZCbQA+Paunc48o8Pv+Zj8ApsQe8lrL81IYI8uHN33mW9PUpWZBxDl8DYve4dlvIMYG7Q4KOf227cPUVCTGPLw9KLralkt9qz5jsULhkbGG/8OhNe4GcOtXfs4f6NHVela9LADTgOjbFccTgQNwuJpC1KZOx7XvxfzDOm8AHHhwZ6UmmVIaBDIJIXpl1bUUHaBoW1ogAeVltdQUVkNi2uDx8uz9kyC6/mtuw2leeyVRRuzGLEySDDh+QMARIwQ6gNnnz/OioEPGP0cuzZCqTO8QYIXCfEieZkpFBzWgrnUIXCdPzMuWvLqFZ/n5OSwSiC4Ah43ru7Kob41CCSnQpuMvEpCqbzmEd5UWWkg1RYE1+sBPu5G/Zrr+J1745jHVa2Yz0UYR0x+ezajhN6Zl0RBQcECFSDLtsM1+vmk3YwXsH2fm41TGN0/jK7sLH3o7jhaSMu3WlY9mXJLcxbjKJZPf75AF7LrMs7xGUDic+MN3H2CvLMwlZVzq08wNuIoBenbPojGD+IJIHLtRi4JsNzxtGj34ZLz7CZi1fTHqbKsmKoqy2j8M4u0GNpkDGcjgn53YSqBWgvkx6ho1P/Gyey8yruYwrJCO/azPIc6J/jT3cMiaf3+fNp3spiV7hzSJZi6J0pX7JFSorPYwD//FdIv27JZSTdkAIPlAVUxEJIiFlxrvnBrcwpV4eXS3IgUDvjij2fYjZlYMlOP0t+1t1pgXsCaK8qLGRE6Yvzg3LhmoqHkKeP82/0ru/ECYTREKzvWww44EbRCg6lt7lAP4NvzTrMDF3F9abWZwPDqRYba9gBifp4e7hQW7MmyX/HlFJd+09IDyGrBHslnpKEguQSwC4mMo/KSAgZYICgUjkog+LsVX93L3qIhOERDwmONABB/N6hLKN0yuKnkjgAALlu2TFkMYK0HEN7RguJqYzwlADG8oWJKHdRKDvT3YB5CAeQIXtahXUMJiQz2yPM/JFFZpYicm4j6tQ824cdLSi2kt2cfNfEA4iDyDWhCacl7WVZau943GacxZmAkXdVdOrYONXoXy/AA4vAD0a/5W3CP1kE06TrT8myCZ9qaHgZ2CqHRAyLoz905jMS8VbQfXdkl1GpCjT36bKx99XjrV6o7wfP7x/T/o9KibFa5xhGVQJzNAyh4PqsrK2jZp7ezijzxnQbT798/SsX5FxkXHBIeEJ4B5gN455GAd22PMFqzt64KD2KyUbe7bQt/Wap3FhtgtaX/uECnD//NysBBUJcclUAEwXrHXmn9JkLWghuwkZQHEBU8UOINgjKmPYc/RMiGXvLxLezvBLJs/NmY/dxjBCubh5ui/7vZUN/XXtHDDrgHUN0uOTQG8MPFZyg1Exm9l4wgRUhMQAwgWP1RlUIsuDLGFbAgwjUn+ANBHyOIljGAP2+5SBsP5DJW+KLcdOYZwBsTvATIAIYI6fKID0TmGPgB8RYFABgcHktxtR5AYX7W4oBUAcCvjrNhzXWD63DETp4TcSoifgf/QufwpCJxBv8PephHRjVX7cYX1mVOm4Jg6cnj40yKox87U0Dvzj1qEgOIqwjEXeFaQqg1iThGeDLbxwWw/qCxwtv36IF1md0MAG60zAJ+eWICId5REFY/dp6hCLlYpKhbpOJlxH2csdi7uq93w/XSI+5H6ereX5jCKKlWz3yaCnPTWJKZQwCgkxFBsxfxPDAxVNPSjydQ7xGPszhcEN+XF+fT0NumstJ4iz80eAKlMj4FXSO85YEbmstSvbPYAMJhPlpyhiXxbVr6Npv7NXe8y8q69WobzGIfQSemBbG8LMU4oNEz355gjhaxFOVnGGluOvQbZ0y8QxZ8dWU5ITZwwE3PsC7wDOJ2q80VIyiwSTO6vk843dBHG7obPeyAxwCqMyqHAsBvfk2lY2eL2cxQAB4JIfDqxYR7syQQeKuCRKAO7cyzWkF1Ak8WrvIQ4C+IlgDw9+2IEckmgTm9sryUmrfpTVUVpXRq/1/Uol1/Gjja8CaF2ERUEkBVCxBD6wkAkeUlTvoAGbaPl5tJRrWQZS3o6YmbW1BIgBe7LrXGM6jEdDAHFk9zspAFSV/Towl1TjCNeTxyOp8+mH/MBAAi+xBZZShELvwAAbQhPlQM7rHPr9zR0jilbUfyaPHflgDwpYkJLM5PEND4gM7HXCZdF0M92tSVaMMhicNSSmBTo/pHWM1IVqKny72tHoe+Uh1/sOgMnc8qY3RP+N56ePnS+MnzlQ5js72zJYEIyS84u+D9QTxz6+7D6ddvH2aJAP1ufJriOw6SBQCxeLnrcxYbwG0I4iDzMs/Qmp8MgGfE/Z+zkJTGktkvBQCFLF6st9tV9zAeVogA/BO7D6dewx+2sGf8LqtN+JD6cuhhBxwA2jyWJBs4FACCkwncTBDBeyWUfsObOH7szXnq0C63sIoYDfQllIozUMOYcwVqCQDX7MmmVTuyWJBwxpnDVFVRQgmdhlJNdSVjhW/V7Vp6563XCBmpoFwBjUSHvmMpOCyGFcrWywMIPUJvwpueQJ8jptQRZ/2C4kGrailKzOtAUj59ssgUAO5Y9QXLQMtNP0X9Rj1N8R0GsQox5gAQa3rtzjoA+M+RPFokAwCac4DVAeBYdmV19Ewx7T5RwGJKj6QUWSxnRJ8IGtGHx/gp2ef62upx6Cud68dLzrCXpb/mvEC56Unk7RdEY/7PUOpKS5ELkLR8Zn1jsSSQEkPMK15eBQ+8AAS6Xz2J2vUaZQSAtzy3hNzdrSeAyF2fs9gAXlrh9ReSYKCH0U/MJF//ELr3+phGUcNbCgBinSjxhuIFwks3/g58iMV56YzjttuQO9ntEGq5/3emmN0WIRPanDnCHlvVww44AFS3Qw4FgPPWpRFKbQmC6hUAL8i0ArmxNZJi8VLQp7rGkDwiLpShJQAEGfCKbZmsDFDqyV1UWVFCbXuMZNM4uWsxvTLlcXrooYdYbeO0nHICdQAoA8KiWjEAiGDa2Hb9TXbA2iGZm5tLS5cuVRYDWHsFjAfgehwgGYIvKQAfqhvkFBquzf1qYyzx50dHtaAO8fKDttWZkGWvfSfy6LMlx008gPCuwvuHmCMhCxHXUkj6QXk78BUizhNrAsGoIHIBoLWKIfAUZuRW0MzVdQSxUuu8eWAkodQbF200oMehr3Sm/1t2llLSS2nd/JdZcpdvYBiNfmy60mFstpcLkGwOpFEDlMATzoxln95BXQbdxgAfKqJcqq5ilEydBtxiBIACOLL2eLnrcyYbAH2VOP5NALlPjY2lxBh5MY0abYdDhrEGABHuUJB1joZMeIOaJXRlzxY84F2H3EUd+t7MKsI8MkqbeD+pxelhBxwAqjMrhwJAllxxOM9kZgB9nz7WlqzxyYkbo+4iApFX/pNpsTotAeCmg7m0fPNFOrR1EZ0+9DfzALJAaA8vOrZtFv3v/Tdo7Nix9MnSM3Qmo4yEknGRLTroAgBfmJ7EuBQhSHZAFQuI+OpU8KbhmhyeVVzLPnBDTIOw1u86mktfLT9hAgD3rZ/J+BRxrY4ManACIkFIWBfiQaNCDSBQ/AOz/b98Wrgh3WL/QWTNKIFq5c/d2YRyV+byzv2J9M3KVKPOrH1N6qtGou6rdXn30uPQV6rhz38+R6culNCGha+x0o6oAXvjQ98oHcZme7kAyeZAGjUQ+FgxHIiP4flp13sUiweEgOO066A7jMkBIx74gpG3NyYA+OUv5+jk+RKLa+5p9yaq4rbTaGs0G8YaAETmN4iuQYAtyPr5r1DW+WPU67pHWG37Pu2DCfXYHSV6nAUcAKrbPYcCQCG5wnxqnz3W1lglxNq0kXl5/w0xlJVXSZ8uP2vRTEsAKCQa/Ld9OZ3Yt4rRJXQbcjfLCE7Z9zPN+fErGjRoEH254hydTC2hv2ZPobDo1iyLLDcj2eEeQCGIW1AC6l6Cx04oq4e/R3xPSXkNI0G+a1gz6t0uWDXXnzpTquu1/UgOffvLSRMAeGDTPDq28xfWSCCihWcOHl5BBED75j2tqEmQgeJlx3/5tEAKAJrVgcZLwvp9dRmLwpiv3dWS3p5rmRxivsZ7hkdTz7aux/9l7145qr8eh77SuQsVfzYueYt5oxEDhlgwNYLvGb6HUuJsAPCpr08Ya+Ti2hc8nG17jmRVHiCte4ygLoNup18+N5RnFBIkrOlF7vqcyQaEmwScQzjfew1/iHn+4AFsDGINAAprgzMFmc64LRIAYP+bnmXJi7j5wA2Io0QPO+AAUN3uOZQG5o+d2fTnHksOt6l3t6Spc6R/lO+7PpqKSqppYGcDiTCrY/mzZXC/ljQwO44CZGQQaice3rKIqqvKWaB0VHxXyjy0iJbN+ZR8fHzoh1Xn6XBKMW2oLSmE5BAAwNCIeGrRrp/JDlijgsjLy6MlS5YougJmweu1NDrih/h4ulF5lWnml7+3O4v7w7VqQ8nO/3Jpxq/HKaRJOFXUzu/IP0sZBxcEJNoA0GKyamGuKPM3emAEXVN7HSvsjflaXrwt3sQDuHTzRRajKRaoAHQ8UjQy5uM9eEMMdVFZHaWh9OzMz9WD+kHp+n9cfYEOJBfRluXv0YVTeyi0aQJdN+kTpcOw9shWzyuW5pJ0JhqY6upLNPm7k8Y1ggQY4Sutr7ieVn59P/t7/H+ngRPo9+8eYf9/5dgXqXnr3lb1Ind9zmQDiAOcvz6D9pwoYPHluG14cGSMXfXEVRmOgzoxL69ZFrDwqMljYxnLAsKcNh7MM3rAh054g6ISutKNDi55p4cdcBoYZYalCxH0v0nFtOBvy+vbScOb0qy/LKs7YAlT74o1KcGTklFGX/9qeQWoJRH0vpNFtHBjFrui3L3GUBqn9/WPUcvOV9GAjkE0ZqAhOWDe+kw6kFzMKoagUggSRXIvGjyALdqaAkBrJJoAgEItYLlE0FIEx5gPrkvNU//x921b+NGDI6KUWYSGrcXEn3uTSmnZlmwGrhFjCbn+3k+Z90UgAxc/GsTgQ7uG0Mi+Bl5AxC7lFdUWg2ZE24Ya0eEhXuSFose1smRTFu0+YZrcgevwts196VBKic3VPXB9FLWL9bPZjjeQpwE9yF/lzaSu1cK/s2hfUhFt/+1TOnf8HwqPbsO8XWoETAbmpOPCOFoR6KqZl3kfsCpMnVv3Ag0S7Lj2A6lV12GMEBsCQuQO/cYSqvVAwBMY1+FKq4+Xuz5ntIGcwtoiA4HwiDXcS7IWeyse46WZZyR/C9BG+E0VSPVR8AD8tiMf+oYCgiPpzmsiqVsrx8WK62EHnAhanUU51AOIhIn3Fp6xmNnIvuH0154cyTeWzx5tY+K90sMDCEqTWX+lUerxHbRt5UeGQ7A2U3VotyY09kqDe3z+etSULGAF1eElTOx+XYN6AOHhMiN/Z/PUksRTjVmJ3/gOnC6lOWvTGZ2OUEpv1KM/sEorkh7Apr50Q59wur63sozcuWvTWZavWAJ8PMjby41VQbAlj93UnNrHOu4QtPX8xva5Hm/9SnUmEL7vWv01e9lDPVyEI0BQjhAlFOett3zZlHoO6sXutVJPWq6HTOn81bTPyq+gt+alGLuCBDumdS9q1eUaWj3zKVbdKKJ5exYHiJsNiFAmzdrz5K7PGW1AjQ5doc9z35803raYz/eDBxIJDhOQ2k+bn0J5uRcpPflfAg0MbtJevzOBcEXsKNHDDrgHUN3uOTQG0FCd4SR7M8Hh2jzCh13bgUwUb8+/bDX1AsJNDRJesTAA6OAYwIPJRTTjj/OUnnKQNi15kz1+wOgpFNuuH7uKFIiJl2zMINSmBaVJcX4mK2mWm3GKQiLiWVuxWIuTUXcFnCKZxACaHKmXWCk9qjMPdb3EMR9Hz5XRjD8uUMqRTbRz1RdswDFPzmY/PGL6GuFJcU19SQ0ly5y/0tj1jliQIY0raPBP2hJUOGjHAaAtNcn+XI+4H9mTqW0oxCTvXTeDkvatZolISEgS4onZdakVjkjxs/BjOqRbKP25yzK8Be3kxsjJnT+op5AIBcL3FpE+rGIFzlI5goSxDxbVAcDVMydTVFxnSuh8Fa2dM4UCm8SQf3A4ywrestzgDUXFCFSOsCZy1+eMNiBHZ67YRpzoYz7/jx5uY+TQBSvH0k0ZLPYaoA+MHI4OfdHDDngMoDqrdSgAxJSQeRUe5EWoUSsmIgYv1afLzxHeUCGIWUMBcnNj1AMACiTCOWlJtHbuC2w+g8a9TDGJPWl4z3C6sb+BEX3B+nRCTBo8WdlpJ6nzwNsYAEQBbfMrYC0BoFDBwHyLUUXDy9PyGgMgG1myDSXiL3xyegV9vTKVzh3fQf/UelcFCgZrAFANC/2sNWm076QlAMQVmBx5fHQstYt1fToIOWvVo40eh77SdQiE76h7emznCmMlBLwovPdAazacecKV1DNgn2AzAHeolMgFSHLmj5foN+ecpryiuupISJB66fZ4QllNW4LvGPgPBQEHYpOmCZTQeSjz+IXHtGVvkW16jKAdv33Gml1x9b3UtteNVoc2J1e31tAZbcCWvlz18/oA4CePtDFJCMSZmF9cRWFBXswx42jRww44AFS3iw4HgPVNCyBwX1IhFZdWM+An1KwV99EDAApvyflZ5+jPmU+zxw+Z8DqrlYiryBv6GgCg4GUy8AXupu5X3aMYAObn59PixYsVJYFYA4D4IuMtzhwCmpMpqzMN9b3EX/gLOdWMPift9L+0eek0NqhQasoaALyudziNrNW53FnMWnOBVSdBsHdOURWVVxgyoiNDDNnEtuSJmw2E0Vy00YAeh77SmQqE70JCEhIhel77IIkJ00ElBEohscCjDluqqSG6onUgXdk5lNb/m0O/bXc8AARp+fe/n7dY6p3DmlGf9iE2VXA6vZQ+XVbHorBh0evkF9CE4jsOZh6/5m36MG7ONj1H0u7VX5OXjz+LB+zQd4zVsaGvN+5uaVKZSaqxM9qATYW5aAN2BWwlKx2sGw2ZFKiHHXAAqM5wGxQAypmyVQDo60Hv1761yxmnvjZ4G3rtp1PsIESBdMhVt79FTWM7MSACQALZe6KAZv+VRoe3LaFT+9ewRJGc9CQLDyBK6bw5qY7MWPxsNQDwvYUplCaRBYwECR8vD1YtRSz1Pd9eXcnpL/7C5xZfYjV6s84fp/XzX2bdbQFAsddVzvPQRqg6I/Ah4u+EqjNyxvi/MbEsdpKLNhrQ49BXOlOB7unEnt/p3w0/Ma5P0J8gWQjXZBBcAyMOEN91CPg077q2GYuhEsvavQCAlgluaKOlBxDURlI8qP06hNDEa5rZVEHShRL6QsSisHn5u+Tm5k5xHQYyjx/imDPOHKK2vUYynfj4BTFuuM4Db613bDkVNJzRBmwqzEUb1AcAP3+8rSZlQNWqRg874ABQ3e64LgD08aD3HzRc29gruGaZbFYqaNhd77MsQdSGvbanAQDC4/bSjCQDXczWxdR/1GQDAGyaQC3a9DVOo74fAC0BIMqoYe64whJLkL8nvXNfor1qUd1f/IWvqHZnOivKy6BVPzzGxrQFAK/pEUajByjjpQLFB66ABZJsPEcJAHxyTCy15gBQ9Z6bd9Tj0Fc6WYSjgBA45chm2rnqc+oyaCJ17D+OEHf63ATT2GNWOs2NKBAedolA23X7cuhXCYJ6LQAgvtfgyAzy86Ath/Mk+S1xY/LgSOtkzYJujp8roa9X1mUBb1v5CVWWFTHaqr1rZ1DHfmPp9OGN1K7XjXT4n8Xk4xtE0Yk92ZpR4hI1g6UEXtAJQ+tnGnBGG1BqM67S3hoARKbzZ4+3bdBl6GEHHACq22LnB4BmVxjCMrUkgsaYqExSVVlOyz+dyB5x/X2fUUhELI25sild1d1ASSK0O3VgLe1Z8x1dOeZFRgOjBADCUBctWqToClgoQWe+xQjkRW3b0EBPk49wLayVd1SNWYm/8B4enoz0W9Ctu6cX3fKMgQ/Q2hUwy7weVMdcL2cOAIA7j+az+sKCKAKAY2OpdSMoCSVHV3q00ePQV7oOvMChLu7pw5tpx++fsetfXAPffnUz6t/R9nWq+HlC+UipOdjjAUSlISSk4VYCIAwE71LSIS6AHr3Jdvmuo2eLCQTYguz84ysqzL3AeP4QB9muz010fPfvDACCBB/JWSjCXphzgdVA732dgRvQXNq08Kf/u7l+EmVntAGlNuMq7ZFsKSbVF+Yt9m431Fr0sAMOANXtrkNpYNRNybQXi2FZ7lgiaAbswJZfU2MshzTy4W8oMCSKbh3SlAZ2DjVO6rWfkunk8QOUtO9Pdo2Sl3nGBAB2axXIklmsiSoAiCvgnDpgI4yNmA/8qAlVM0y+9A9p4x1Vs4fmaf+sBmtGGSH4Hl5VIWHGnAYGcSrIbhzUJZQROCsRZBqDBuZirggAeriZkEXXN97TY2MJ1We4aKMBPagf1Mx0yaYM2vjvRTq8ZSGrgRsfHcKqQSgNhv97fy79ss3KFbAdHhfhu2JrbQlRvvTM+DhbzYjFEK6qq4O9b90MVgYPsX+gwmnbexTTRdteoyjlyEYGAAuyU+lSTTWNf2YRuXuYvlwKD3xqDGro1v99cVYbsKk0F2ww5YckSQAIL3JD3gZBlXrYAaeBUWa0uhBBK5uSdOszGeX01a9pFh/CA/jm3dqV8Zky3UCVsOTjW9h/b3p0OvkGhNJtQyOoZ5tA4/Pfnp9KBbgeIqILp/bWJoEksAMVctc1kdS1HlJNGOrSpUuZB1AuEfTHyy6wKyFzAfN7UUkNNQkyvQIGkPrgftMrLS32Qu4Y5sSf+08V0/wNlj+W5kTQOKxCAjyoT7sgumWwMh7An9ZcpP3JRXQxr47zDx7A6DB5SSCP39SM8KPKRRsN6EH+qmamNZcu0Y6jRZScVkaRoV50ZacgixAKOeNuPlRAv+2wLD2IvnKJks2fU1haTW/Ns3zZlZoPiKgnjzV90QRdTHZBFUU18aKQAANwO5xSQrPX1tFtIYEtLXkfu+Y9f3Intes9mgAKURoO1VF8/IIp68Jx9t/Rj/8oqQq5JPzOagNy9tfV2rw666wkAAT7xsu32fYUO3K9etgBJ4JWt4Mu6wEEye97D2gX5wYPIGTxh+PYf8c9PZ88vX0Jpem6JwYZtfv6rGRjCajUEzuYB9DD09uYNffE6Bb1ZpOq8QC+uyCF1f41F/ArFiCdP9gS5Mgla1VnNvX3knrjA9ciKHRQSk8Q1KUEOakgqG0cEuhJfdsHM34qJYIyff8mFVK6yFOKSinR4fL40iaPi6WWzbgHUInO62urx1u/VnNVM86mA7m0fKu2HsDktFL6TKLspbX5NWvizWKAB3QKYTVe4ZUEMby3pxtNvLoZ9WgTxL4TP62pe4E+uHk+nTu2jWJa92b1kNv3uZl2/vElS/wAtZVfYBgDiAh/QRiMlAzsFEK32oj/Q7/GbgNq7MZRfax5AGEjL09sOEowveyAewDVWRaPAazVG2IAxQBwwnNLyc3dnR4Z1YI6xtdViGAAsJaT68TeP6iirJD1E7Lm3prUikIDrXudVAPAnHKLHYY3I6egiiLMqE76tg+hO4YpA1DqzEe6V30xH6/OPGX0oOLHS5y0ERzgyWqsXtE6iJBlqES++y2VDpwqNLkq9/RwJ3hK5Aiu0xI4AJSjKllt9Ij7kTURBzXafDCXlm2WLmepNgZQYBnQYsqIA556dys6fLqI5qytA4Cox518aAPFJPai7LQT7MV1+6//oxbtBlBJQSYFhkbR2aNbKaJFB7pmooG2yVzM46Ktzbex24AW+6TVGNZiAKUSnLR6ptxx9LADHgModzdM2zk9AExJLyXExZiLI5JAxABQyFQ1zw59Y3ay0Wt1bNdKqqosMwGAtg7/wsJCWrhwoaIkEOYBlACAeHB1DbJdTbUzeXxcg3qz6vvCiwE0Zo3qBkKgO66t8G+nhEB6+EbbGY7iVSPQ/WCyegCICjTge+OijQb0OPS1mam6URwBAAWaGnUzsuyFYPlvzwAAIABJREFU7xA8gyhhKch/25ezZI+YVj0JvKfIgt768/usLJ67hxcDgCjbCA/hoLEvSk5l/OCmNLhrXWIcB4Ba7Zj6cawBwMQYfxbj2pCix1nAAaC6HeYAsFZvggcQWXKlRTk0dMLr7BPQQ+AtSpCpc5Ipp8BwbXl0x89UXW34MzyAOHABXuoTrQEgEhdAG3Ehu5yxvaOOLmhUGlLq+8KL9Yc5IrlFKNUmAEA5GYbm6/umFgCaXgHL9wByAKitxehx6Gs7Y2WjbTmUx0pqSYmtl0BrT6ovs1jZ7AytbxlioGlB4otAFn905wo6tvMXim7Vg0oKs6hjv3G0aenbFBQWQyGR8RQc1pz+276s3gxgjItELVvS2G3A1vr1/HzKDycZ+b25tI8LoMdkZIs7cq562AEHgOp20HUBoMZUJwIANFfjq3e2pKahddeIb85JJgRbQ1BR4NKlGoqK70qRLTrQi7clUIyNGp1aA0CBDgLX0uADBAhsaKnvC2/uzQRgq6it1QsC6yB/D3YVKyfDUbxOlJs7lFxoEisJXUSHybsCnjIhXrISTUPr0lWfr8eh35C6qc9bpxYA/rEry2p9YbVrRWIJXhDDgjwZLyY4TA9tWUTRra6gyvIS6tR/PG1Y+Bp5+Qaw7PzI5u1p1+qvqdPAW6nzwAmSj+UAUO1uOK6fNQAIIvOHFN6maD1LPc4CDgDV7RoHgLV6s3bNal5G5625yZSVbwCAh7ctZv8V4v+m3tOK1VesT4qKimjBggWKroDfmX9aMgsYz3GGNzzz9db3hf90+VlCdRdBkN0s8FeFB3tTgK874z8De70S+WrFORbvJE6WUQIAuQdQibZtt9Xj0Lc9C8e1cAQA/GXrRZbIoaWA0Dq3qIqVuwMIPPnvn6ziR3TL7kSXiDoNuMVY/xxUMG173sBqnXcbejercCQl/ApYyx3SZqznfzjJgL65dEsMqpeWTJun1z+KHmcBB4DqdtJ1AaCGlUCguo0HcunnLaZB3ciuRSC1WMTF4s0B4AcPtrYoGWW+LVoDwHaxAfT46IZN81cCAJGs8d+ZukxgsQewWZgPy2CEKK1f+eWKc3TEDgDY0HGT6r6+zttLj0O/IVf/z5E8WvS38itgEJUv2ZjBXujionzp5oGRFBli8FJjPIyrpYCyKq+oilARonmkDyUfWEd71nxLUQndyMvbjzoNnEBrfnqGPbLL4InsStiWgKQdZO22pLHbgK316/m5NQCITPBJ1ylLqNN63nrYAQeA6nbN6WlgwIz/ibUkEA1pYErLq2n2X+n031kDOIEnb/LYWEZLIpZp81LoYr6BkkUMAAFbPn20jc2i2+oAYApliCpciOfTroW/UwLA1atX04gRI8jLy9Qjymr2nioyLkFMBg0SaKFo+TPjYhVl5aLE15EzxSaeUngAm8m8AuZE0OoOEGu9GjsFCCiNFmywAgCteK+R9f72vBTKEVEfxUb6sHAHXM+izvjekwZWAa0ENFGoKgLB9+vsf5sY7UtE83bkHxxJXYfcSb9/Z6j20WfE49Syy9Xsz6DZKi6vlpzGmIGRJtWRLlcb0GqPtBjnhelJVCrhAezdNpjVsm5I0eMs4DQwynbYZYigz14spy9XOp4IGuoDrcqFrAoCwXJ8lA97azaXD5eep8w8wxXwyX2rGQ1MpwETWEH5aZNsM/MDAC5evFgREbT4mebzaR3jSw+PbNgvuPmc6iP+XLQxi/aerAOAYjLo5hHexmD1sVeGU/8OdfyLtsz729/T6ejZEsrMryOC9vJ0o6hQeUTQj9zYjBKjeRawLT3L/VwP8le5c3FEu93Hi2jJ5izJoa0RQR8/V0oz/rQEjQ/dEEVtmvsRyMz/O1ui6XQLSqoJ/0LwXUg7uY12rPqcgprEsMxfXPX+8sXd7PNB416m6JZX0BWJATRmYDi9PseSfQHtbuzbhIZ0tV06r7HbgKYbZedgr88+KwkAe7UNpFuHRNg5un3d9bADTgStbo9c1gOoNRG0XPWJSZmrqyoI/6J8EorGv3u/bWJqrT2AbWL86P/GNGyav7nu6nvjW7wxg7YdyTd2ETyAwhWV8MGEIU0JBeflCgh0UfdUXArO29OdomR6AB+/qQW1i/WX+zjezoYG9Hjrb8hN2HmswIReRTwXayTsq3Zm0Zo9ltVDhnYNZbWvv1yRSifPawsA4f2DFxCCZLbM07to28qPyMcviHn7ug65i5Z8NJ59PuzO9yg8pq2xFCPI1cXE7cIaR/ePkMU00NhtoCHtz/zZL05PohIJD2D/DiF0+9WGbPCGEj3sgHsA1e2u08cAnskopU+WSvAAapwFLFd91pJFQP4MEmhbUlxcTPPnz1eUBDJt3mlC7JCUOAPPkxQA/OOPP+iGG26wuAJGnCXiLQVBQk1JeTWhakeMqGrH7Vc3o/4dbXsZhHHAFXn8nOkVMACg3CvgR0e1oA4iwm9b+8g/r18DesT9NOQe7DpWQPPWWd5MYE7WsoDnr0unncfqXn6E+bPa10Oi6OMlZ+jsRQOvqFaC+D+hdCUAYE7qftqy7B02fJdBExkPoFD9aMT9n1NweAsa2TeCrusdbriSPlFgMZVR/SPo2p62SzU2dhvQao+0GIddAUtc2eMleoKMqi1azMHaGHrYAY8BVLeDHAAq1Nt7C1IoTYKUOTLUm167s6XN0bQGgOABfHqc7atnmxPTsEF9X/jft2fRX3uzjU9DBjAC4s3BGoLjr75CPp8hA4Bni01iJb293AmlkOSIHA5HOePwNgYN6HHoN6Su1QBAVOTYc9wSUA3oFEq3XRVF1s4We9ZpDgBLck7T2jnPsyF7DHuA2vQYYQSANz02g/wCm7Aycv06hrAKIlLzHdkvgq7rxQGgPfuidV/mAZQAgCDsRtZ2Q4oeZwEHgOp22AUAYBl9svSMxepQ6uj9B1qrW7Udvd5fmMJIl80FNWdfut12zUU1AFCceWz+XDWceXYsX1bX+r7wf+7Opj921sVOoZ4x9IkYyigzsPbJI21k8xrCe3IitcTEU6oEAL5xdysKl6ipLGvBvJGFBvQ49BtS7buPF9BcUYk18VyseQB/XH2BlSs0l17tgunua6Opvu+52rWi1ja4ACF4SaXyPPr12wfZ//cd+SQldBpCi3EFfOkSjZu8gDy9fEjIiOcAUK3W9e9nzQOIbG2EFzSk6HEWcACoboc5AFSotw8WpZjUrxW6x0b60pRbpXmzxI8QAGBsbCzLkpUjjQkArt2bQ79tzzQuu6bmEqVmlZOftwdFmiVs3Dksmvq0h4nalmnzT9PZjDITAOjr7W5C4m1tFLl7Z3sWvIWgAT0O/YbUNjxj4hq7cgAgyhUiTtVcurQKpAdvaE7iMpNarU0MACNCvMnXs4aWfnIrG37w+FdYRZAzR7dQRspB6n39Y9Qi0pdVP0JWMgAugK65cA+gVruj3TjWSsFdc0UYjR4Yqd2DVIykx1nAAaCKjSEiDgAV6u2DRWfofJZlnI5cTxzq3u7bt486depEvr7ysk7rA4DOUOzbXIX1XgHvyKK/9tRdAUMfF7IrmAcwIsQ0Y1fwjMjZoldnnmLgTxwriXrR5mNirKu6N6EjKcWUmV9JuEK/+9pm1MQGgbecOfA2dRrQ49BvSH0jNg4xclIi9gCCiBm8l4hxXbcvR/LlUeDyhA0L8XparQ2UM6gHDAEA9PdxN175DrvrfQqPbmN8FGphI/ZWiMW1CgBrYwRtzbGx24Ct9ev5+bPfnTSW1BQ/d3jPcLqxf8NmAethBxwAqrM2DgAV6u3DxWcoNdMSADoyFq8xAUApzwkyFcG4E+xvyrmIrZFLCI03YIwjBoAojSd1rSvE++H6GT/MXLTXgB6Hvvazlj+iHACIDPevf02lkjJpPj3hacLLo7U4LvmzsmyJuuVFtc8XKu0ISR8jH/yaAps0o0dvakEtm/mylzBU4REESS6IdTSXG/pG0PW9eQygPfuidd+nvzlBuE0xF+wT9qshRY+zgANAdTvs9DQwuNb7WIIIuqFoYD5eelYyU69Nc3/6v5sdU5FDTD5tvs0gkkUdW2eS+tL+C0uraOrs04xrURD85ACMeUiAsfuvj6FuiYE2l/fMtyfZD12mKFs60M9D0rPHACDP+LWpU3sa6EH9YM/87O2772QhzbLmAawlglZC6wIaKQGo2Ts3cX/ULRcAKF6GEDv9x/QnqDA3jSY8t5Tc3d1p2r2tKEji5Wv+emQtSwDAPuGyAaA1Qngt18jHInrq6xOo7GchI/uGy0rYcaQO9TgLOA2Msh10GSLoc5nl9MUKfYig5ajw8xVplJppmQTStoUfPThCO74lVA1Iz6mksGBP+vyXNMJBLiUx4d40eWzDlvoxn5ct4s91/+bRmj11Ja+u7h7CsoD/3GNZB7Vv+yAaP6h+bwOukZ+fcYbVwswqqCOCxo9qaKCHhdruvz6K2sf6ydlu3kalBmzZgMphnabbweRimru+LpZVPDGQiidE+dBLM88SbLMhBM/NK66m4rK6+rBNAj1Zre3i/ItUXVVJweHNqT6i4CWbsmj3iTrSdmEd1/YIpeE9bXN0NnYbaIh9tfbMKdNTJD8a0bsJ4XxtSNHDDjgRtLod5h5AhXoD3UhKhuUVMDxK8CxpISh/9/3v55lHwN0NFUqsj9o83IdeuM11PIDCSk6nlzL6l6hQb2oZ7ccA7ptzT1ssVI5eK6tq6NnvDTxY4BUUBFfK5qX88NkjNzanjtwDqIWpWh1Dj7d+hy7AxuD7TxXSzD+lYwDRNTzIi7JFJd/0niuLrc2qYNWNBAkJ8KTgAEOYBa58cWtxXa8wq5n2C9an0w4JD+CI3uE0oo+8K2DuAdRn55/8+oTkg0YPiCAkgjSk6HEWcA+guh3mMYAK9cYAYHqpRa8uLQPpwZH2A0Ac3ABCiN2RI3LpZ+SMpVUbtTEfT3513GIKCEx/9pb6AS48fyiGDgCIxA7xDx5+9MzlkVEtOADUarOtjKPWBhw8Lc2GZwBw9QXNxnPEQHjBAs+mILjmhRdQbuIYuwI+aklcfX2fcLqhj+24ssZuA47YM7VjSp2dGGvMlU1l1W1W+1w5/fSwAx4DKGcnLNtwAKhQb5//fI5OXbAs19QtMYjuH2H/VWxmfgW9LeEJszbNZmE+9PJE2/yDCpdpV3O1X/gvV5yjk6mmuo0O86GXbKyvuKyaXpqRxLLgSsoNP3gofwVvhxQA5FU/7NpeWZ3V2oCswZ2gEfj8wOvnzCLOAMY8g/w8qUmQJ7VpgXhl2+UjmQeQA0Bn3mLj3KwBQJBAgwy6IUWPs4ADQHU77LIAEBme7zUAEbQUSIHqe7YNpnuGR6vbBVEveBfhZZQrIE9+5Q7bFUjkjqdFO7Vf+B9+R+1R05ijsGAvmnp3/SX2QLXxysxTJlMHKKyuQWaxZQwgsh47xAVosVQ+hhUNqLUBV1HoweQimvHHeaeeLr4XuUWimFg/TwoL8iSh8oityVsFgDIzSxu7DdjSn56fWwOAtw6NooEKaqo7Ys562AEHgOp2zmUBYENVAvlmZSodO2dK5or0+9imvoS6i1U1l6iq6hL7b/vYAMIVphJBmTmUhJIrqO/5qowSdHLH06Kd2i/8rDVptO+kadZhoJ8nvXt/Yr3TQrmr12eZAsDyihoqr7rEAaAWG6piDLU2oOJRDdLl0Okimr7KuQFgRVUNpefU1RAXaJHuHNaM+rS3nRiwcEM6bf/P8goYdYJRL9iWNHYbsLV+PT+3BgCV1lR3xJz1sAMOANXtnNMDQBRHR5kvc2koAPjdb6mM2FUsoDApKKlmb9diGTe4KQ1R4H5HLBuubVBuTq6A6mTavYnkjmwRJxG1X3ipmCNwk330cB1ZrdQSobOps5NNPsJ1cFnFJQqS8AA+dlMLas89gA61FrU24NBJaTi4KwBALFd8DQwA2LVVEE0eF0sok2hLFv6dTtuPcABoS0/O8Lk1AKikmpKj1qHHWeDKAHAWEd1Tq3z463OI6CARLSQifFYXxVv/Dt1W22clEd0sczOdPwsYAHCp5ZVoQ/EAfvfbefrPrJwTACDY9kMDTQHgzQMi6eorbMdf7E8qpJlrrGcU2trL+66Ppu6JQbaa6fa52qyvpZsv0pZDdfQwmDBw7aePtjEhqDVfCDJ/35pnmkGMPSkrr6FACQD4+E0tqF2sv276uBwfpNYGXEVXR1KK6PtVzh0DCF0iqaykDN7wGuoQG0DPTYhjhM9yZPHGDNomBQB7hhHKwdmSxm4Dttav5+fWsoAnDY+mHm0a9rdBDztw5SxggDwQyN1LRAhYwp+vJ6KXiGgLEd0EnlwbxoQ0yW1EBDcIAKQtAOgyPIDg3AP3nrmgzNebd9sOZNb6S/jt7+mUnGZKAwPOPvBtmcebNQ31oim31J8ZnFdcRe8sSLVrmg+PbEatY5RdNdv1QBud1fI+rdqZSxsPWnoc3rsvvt6KHRfzKumjpabXcdiT0opLFOhr+WP30A1R1KY55wF0Rhtw5Jy0HPvo2RKaueailkM6fKyuLQPormHy68Iu25JNO48VWswLvHLgl7Mlas8BW+Pyzy01YI0H8J5rm1LnhIZ92dXDDlyZBxAAEKya5qDtaiJaT0QPEtGMeoweoHETEf1ERIOsjGWtu8t6AEHyays2zBEHBasFnG1KBI0YQLxlS3mbHh3VvN6Eg/X7cmjl9iy7pvr8rfHUIsLHrjG07Kz2jW/1rmxavbuuTrAwpw8eSCQ/H9NkDugcHkPEOJ1Ks6Tlweel5TUU4GeZBMI9gFrutvRYam3A8TPT5gkIA/nud+eOATRfadeWgfTADfKZCqx5AIf3DKMbuQdQG0PSaBRrlUCcgfNUj7PA1T2AUgAQprGfiHDPcEM9dvImEXUF5U/tlbG1saSG4DGACr+AUnFq7Jql/BJj2TeXvh1C6I5rmll9ilRSicIp0Zv3tJIseaZ0HK3aq435WLMnm1btsATD79yfyCgszOWN2cmUa4VsFwS4oITBi4K5PD46ll8Ba7XZVsZRawMOnpZmwx89U0zf/maf516zycgcqFNCoCKyegYAD5uGZOBR1/YMo1H9bXsSG7sNyFS7Ls2sxQA+PhrhLg3LeKCHHbh6DKA10LaoFtx1tGJFA4loMRF1JyL8clrzJlozQqcHgCio/pETJYFIEcAiTq2i6pLkNSXA4YShzejfpEJCEPaQrqHUunmdSx5cYuAUs0c+fKgN+XrLi+ux5zly+6r9wm/4N4dWbLMsr/XWpFYUGuhl8fhvf02lo2bxmEIjAyivYTo3lydujqW2LRr2WkSuLl21nVobcJX1wu5gf64kSHxCApRcWbIxg7ZyAChXXQ3azhoAfHJsLLWOadizTo+zoLECQIC7zkTUScK6ENmJZJHHiGh17eccADr4awhggRJQYtAGWoQ1EleXmEpBSRWhJJkgXp7u9Oz4OIqpvbKVyipWsgTQwLxyR0K9SRJKxtOirdov/OaDubRss2Vc1Wt3taTIEG+Lqf2y9SL9vd+yfrDQEFyAHABqsaPKx1BrA8qf1DA9jp0tpm9cDADKJYAWNGoNAA7rEUY3DeAewIaxPOmnvjgjiUrKqi0+fPG2BONvTUPNV4+zoLECQAA8pMDeKLF58Pr9S0TiXRfcQMgcbkdEpuRoloO4rAewoYigoUKAQBDBouxYbKQvu06UegNDu/NZFdQi0jQ+r0ebYJp0nYE0+otfzlHSecvKInK+rG5ubnTXsGbUqx220XlE7Rce1024djIXVAJBRRBz2XWsgOats549DQ+gv4+lZ/T/xsSyOqhcHKcBtTbguBlpO/Lxc8X09UrX8gAmxvjTU2PlJ87hXML5ZC7P3hJH8VG2k6gauw1oa1H2jYZzEOehubxzXyKhBGBDih520BgBoJAEcl9tgof5HiLts7XZX05DxR8ieoqIUB26jgVU2gI4ANTomyEFAEFFciG7nNXeFEuTQC96c5KhugU4DsF1qEaeGR9HCc1sH8Rqxranj9ovPOqOIsbSXFiSS6RlljMqHbz6UzID5FJiDQA+OSbW5BrenrXyvtIaUGsDrqLP4+dK6OuVluDImeePswJnhlxBItU7C1IoM6/uZwSlJ1+6PV7WjUNjtwG5etSjHeizlm4yfXmODPWm15ygSIAeduDqANAaDczG2uxgS9+utFXxK2A9vm0Sz5ACgBWVNZSeW2EBANH9f4+2ZTGD7y1MoTSzrGI5S4gI8abX73KuEnDCvNV+4feeKKDZf1l69CaPj6P4pr6050QhJaeVUky4N/XrGELenu4kVT5OmAeygP0kPIAcAMqxMPvaqLUB+56qX+8TqSX01QrXAoB4EX1uAhjD5EteUSUt35JJ5zLL2Dk2blBTyfraUiM2dhuQr0XHt0S4y5e/nGMOB4iHuxshAUQcb+74WTTcy6CrA0AxETSCmg4Q0QIimq2ACBratwUAcY8mvkuDtzA1MzOTgoPtv0bEF37dunU0bNgw8vKyDNpXY4DgAfzfz5Z0CwE+7vT2pAQ1QzqkzzPfm1aiwENQ2QMkxeZXwPjsldtjKTzYi95deI6yCioVzyk0wJNev1P+27ziB9jRQa0dHDxdTLP+srwCfnxUNB1ILqatR+quONo296OHbmjGeAN/3wnqS0uB/qWSYzBeYozzeU7tULnTdVVrA063ECsTSrpQSt/8pp68vSHW2Tzcm54dLz8JxN45NnYbsFc/WvfHC++RM8WsKlWXhACKDNXmN9jeeephBwCAkZEsLhU1Di3vwhUswnlqaimYtMymU4noDfO2CxYsIH9/54yJyi31pA1Jlqzz3h41NKqj8xCxLj9kSfVSXuVOJZUe1MTPEuANTcymcP9KWnW0KZVVKc/g9fGsoRs7OM/6Zdpfvc3SCn3onxRTgtmaS0StmhTT8awg8vK4RO5udde9VyVmM/3uPIskekuprHYnLw/LQjpDWmVTRIBy0K3FGvkYjUMDmcXetDk5zKUWE+RTRcPb2sc56lIL5pO9bDRQUlJCEydO5ADQxo43Hg+grwe9fY+y6wxHfhvMPYBp2RWEahQQKQ/gvcOjqEvLAHrlpxQqrZBb7a9uBX7e7vTOvc7jARXrVu0b34nUUvpuVZ1XBTGUmXmVhLUWlVWTu5sbNW3iZaTb6dYygIZ0DaEvVkqX5EIpOF+JK+AnboqmVtHcA+jI74NaG3DknLQcG6EIX/3qWh7AyBAveuk2+Ukg9uqrsduAvfq5XPrrYQfcA6jOmpw+CQQJEkiUMJeGzAKWUrV5DGBqVjkhiBoS29SXzN3KuP7F36MOsBpB/CDiCJ1R1Mb+nLpQQp//XBdXhevzknIDlQtiXCC+3h6EEnsQcPlNvKYZTZ1tef2Oz60lgSATEhmRXBynAbU24LgZaTuyua1qO7phNMTcgbsvp7CS2scGUOsYP/r611RjUgYSMhDnhTrkSIjC/4ObMC3HtFKRMLewYC+aerch+UwPaew2oIcOG8Mz9LADV44BbMg95gBQI+2v3JZJ6/+ti0U7n1Vu9ACCKsbNAYEFXzwBph/nE7Vf+DMZZfTJUgPYR2ZvalYF+68YABK5sbJ37u4GAPjoqBY0+VskvFuKNQD49Lg47gF0sNmotQEHT0uz4eEB/Gw5GLocJ33bh9Adw0xDSyqqaujUhVIC+TyojNzxB5HghWnlP5m0/YhlTW2QqYNUXS9p7Daglx5d/Tl62AEHgOqshANAdXqz6HUxr4KmzTtt/HtkY+EKE8IBoDwlp2aW0YeLDQBQoNDBn00BIBEyoMHvJxDbWmPBt0YEzQGgvP2wp5Ueh74987O37+m0UvrUwQBwcNcmNH5wU1VTnbXmAu07aXq7AD448MLpJY3dBvTSo6s/Rw874ABQnZU4PQC0VgrO2a6AoX7QQoAeApKWU0GVVYbYPnDYmb2oq9sts16NzQMIr+kHi1LYKssraiijln/M39fDhOW+SZAXBfkZSryhrq81Prayyhry9bJMsJk8Lo5a8hhATWzQ2iB6HPoOXYCNwU+nl9KnyxzrARzeK5xu7GeZACdn3XPWptGe46bJkPgevf+AOXWsnNHUtWnsNqBOK5dfLz3sgANAdXbFAaA6vUn2WrUzy1gSDvx/4AHkAFA+FQG8pu8vNABAXGUhBhDi7+PB/l8QEGkH+XuwK/bKqkvUr2Mw7ThaYAH2wA8tdfXOAaCGRm9lKD0OfcevwvoTUtJL6X8OBoAot4aya2pk/rp02nnM9BrYx9udPnqojZrhVPVp7DagSimXYSc97IADQHWG5fQA0FWSQKD+1buyafUuA81CRm4FldcCwOYRvuShnOnF5o42Ng8ggtffW2AAgHlFVayOshQARCxToK87ZeRVMi8rroTxXyTGCLV/HxnVglBnWUo4ALRpWnY30OPQt3uSdgwgjle1Y5h6u04YGkVXdpamOLL1zIV/p1vEAaIO+SePcABoS3f8c201oMdZwAGguj1jADAvL08zIujVq1fTiBEjNCOCZgBwqeVVS6CvB717v37xLHLU+9eebPp9ZzZrivJJICKGNGdJC9pngXzxuPNmAauxA4BmlJ6CXBAl0Zh7AEMCPAmkpwiIhyC2KTTQk5oEeNLEa6JYnVIQQD/5tXRyyORxsdTSCUvoybExV2mDQ1+NDbjK+s5mlNHHDvYAPndLnGQVITk6WrrpIm05nGfSFNUhPn1UXwDYmG1Azj7wNkR6nAUAgKGh7GWJE0HLMLrHET5FRPBLtUtPT9cEAFZVVdGGDRvo6quvJk9PbQpQoxLI5yss+bbg6Zl6l36cVjJ0Shv259Pq3SjkQpSVX0WIQYNEh3k7xAP40YPOyQOo1g4y8yvpwyWGqi9pOZXGLGqUcwPgE8TLw40qaxNsDADQg0L8DTGB0ybFkU9t3N+U6QYwaS5PjI6m+Kbigjhydpe3UaIBtTag5BkN2dbauaTVnNqwSjeoEKpOftm7xu1/AAAgAElEQVSWTf/8Z5oEAh7NDx7Qjzu1sduAup25/HrpYQcAgM2asYx5DgAVmJjTewBZEoiLeADX78uhldsNV8BiD2BMuA95eHAPoC27RMzfW/NOM/5EJIQIIvYAgham5pKbCaCGRzA4wPDC8c69rZhHEGLNA/jMuFhK4B5AW9th1+d6vPXbNUE7O1s7l+wcljrE+rMbAySASJUxlDv+ss0XafMhUw8gLiE+e0y/W4PGbgNy9+Jyb6eHHXAPoDor4zGA6vQm2evv/bn0y1ZDeTYAQKHCBwAg4tO0lsYWA5hdUElvzklmsZO4DhbEz9uDSisMSSCG6iqmADC49goYn79+V0sWE8gA4FfHJVX+7C1x7JqYi+M0oEfcj+Nmb3tkMWWR7dbyWoDX8ombtbnVWL7lIm06YLiNEIueZ0ZjtwF5u8pb6WEHPAZQnZ1xAKhOb5K9Nh3MpeWbawFgfiWV1mauRof7EK4ttRY9D3Mlc1f7hc8trKQ3Ziez2L7CkmoGBMEHiOofZbUAEP/v5mYKAAP9PCksyOD1e/G2BIqJMFzvWgeA8RQf5atkSbytQg2otQGFj2mw5o4AgCP7RdB1vcI1WdPPWy7SRg4ANdElH8Q+DehxFnAAqG6POABUpzfJXv8cyaNFf2ewz4QyZvhzVBNvY1yaho+jxgYA84oq6fVZdWXdcBWMknq44gWpM8CfFABEPChK60FeuC2BXaFxAKilpSkfS49DX/mstOsh5qzUYlSUcUOJQiGL3d4xcROBGwlz+fzxtuwFSg9p7Daghw4bwzP0sAMOANVZCgeA6vSmCAACwOBfraWxAcCC4ip69adTRjUJABC0L/izQAsT7O9BBSV1vICIEYwI4QBQa/uyZzw9Dn175mdvXzFnpXgsby93VrP3vzPF9T4CIOy+66MJfKEh/p7Uo20QeXtqxxVlDQAiBtARjARSi23sNmCvDV0u/fWwAw4A1VkTB4Dq9CbZa8nGDNpaS72AeDZ4rSA4cFG/VmtpbAAQBe1fmSkCgKgHnGnwACITOD3HEBeImD8EtOcVG3gC/Xw8KLIWAD5/azyrvAKxdgX83IR41fQaWu9hYx1Pj0O/IXUn5qwUzwNkyyi3tj+pkNKyK1jFmYQoX3pz7mljZSC079UumO6+NtphS1ixLZM2iGqTCw/69LG2BDoYPaSx24AeOmwMz9DDDjgAVGcpHACq05tkr3+TCumnPy+wz8QAELQkuAbWWhobACwqraKXf6wDgMj4PVcLAAECC0urCXGCAIBIqskpNFQKQYxg01CDB5ADQK2tTN14ehz66mamTS+rANDLnT562JJrD7XCf9+RxWJbWzf3o2t7hBG8hY6Sldsyab0EAPzfo20dkpAmtY7GbgOO2rvGNq4edsABoDqrcXoaGFcigs4pqKSpc0+zncCfBQ+gmKZE3TZJ92psRNAlZdX0ohkAFDyAAs1LWnY5Kw0nBoAA2E1rATYDgEIMoBUi6Cm3xFFsU54EoqUtmo+lB/WDI+dva+z0nHJ6d+EZi2Y+ngCA+tXbtTbPX//JpHX/WsYAfvJwa0JFED2ksduAHjpsDM/Qww44DYwyS+FE0Mr0Jas1YtTenm8oP5ZbWEXFteTFICkGWbHW0tiIoEGb8/rsuqov8ACez4bHz4P9C7mYV8k8J14eRLlFhit2L083iqr1AE4eG0Mx4QZvqzUi6KfHxFDzCO09slrvryuPpwf5a0PqB3b40VIDablYAK7evTeuIafGng1CehDTm8u798U7hJFAasGN3QYafJNdZAJ62AEnglZnDK7rAfTzoHfvc65ScCyG7SdDFiv3ACovCYjSec9PTzJaMgAgPIC48g0JNCTR4CrN28OdgT7hChg/us3CDIBOjgdQ3Ebd14b3sqUBPd76bc3BkZ/DDqfNt6w0A7onPevtWlsjrpv/2ptj8fHHD7V26NWz+IGN3QYcaV+NaWw97IB7ANVZDI8BVKc3yV7iJAZxDCDPApanZPD/PffdSRMAiBhAMdEzQB+ygoP8PCg5vZTcyI1dBws8gHJiAMVt5M2Mt1KqAT3ifpTOScv27GXlhzpbFca+tmcYjeofqeWjVI3FAOAeQ11ysSA+USiVqGpgBZ0auw0oUMVl3VQPO+AxgOpMjANAdXqT7CVOYgBQKSo1XFFyAChPydXVl2jytydMGiMGVAwA8eGQbk1YnN/89ekWA3MAKE/Xjm6lx6Hv6DXYGv+H38/T4ZQiYzO8iLw8McFYicZWf0d+vmpnFq3ZbQkAP3yojV0l5pTM+XKwASX6uFzb6mEHHACqsy4OANXpTbIXkj5emmG4wkS2KrJWOQA0ZOfKEVz5PmWWuAEAGOTnSU1qK31gnMFdm1BspHoA+ModLR2SlS1njZdLGz0O/YbWJSr9LNiQQcfOFjMeypv6R1KH+ICGnhZ7/h+7sujPXVIAsDXLmtdDLgcb0EOPrv4MPeyAA0B1VuKyADAQMYD3N3y2nVjtYgCIH4fMfANNCfcAyjdOAEAAQUEAAMWl3gQAGNfUh+atU+cBfGtSIoXWxhTKnxlvqUQDehz6SubjyLawV72qa8hdhzUA+P6DrVkWvR5yOdmAHvp01WfoYQccAKqzDqcHgGcyyuiTpZZ0C84IAAH6XqhNYjBksFawChYcAMo3zme+PcHKvdUHAAd1CWW1fNUCQD2vweSvvHG11OPQb1wa03Y1f+7Opj92ZlkM+t4DrTUrN2drxtwGbGno8vhcDzvgAFCdLbksAETNTBxmziTmgeEAhNmFVQSwGspLwcnaqinfn6Tyyhpj23MXy8hfVOsXH1zZJZRVV5ACgFMmxBs5/qxVAtGzHJasRTfCRnoc+o1QbZotCfF/iAM0Fw4ANVMxH0imBvQ4CzgAlLkZZs1clwbGF1fAzkUDY05jAl3DA4jkBi8HsP43NiJo6OvF6UlUUlEHAEED4+/jTmHBdbGEV3YOoZbN/GiuxBWwmOT5SStE0M6qN3VfYefspQf1g3Ou3DlmhQzg33daxgCCOgsvpHoItwE9tOz8z9DDDjgNjDI74ETQyvQlqzVoTF75qY7IWOgEzrrKqrprTVmDyWjU2IigseSpc88ZK6jg/1OzKgwAUJQE0rd9ELVs5kOLNlp6OJ4aE22sBPLeovNGrkCxOp1VbzK23GWa6EH+6jLKaICJrt+fT3/utqwE8vqdsYxCSQ/hNqCHlp3/GXrYASeCVmcHzu8BzCijj5dZgioWA+hkRNCVVTX07Pd1RMbClqA8VHlVnVdL3VZZ9nJWT5Y9b3yv/ZRM+SVVxsXCA+jn7U7hIXUewIGdQqhVtLQH8Llb4iiutszb9v/yaeHfGSaK69s+mO64pplWW8DHsaIBe2yAK9V+Dazbl0O/brd8QXrn3lYU5G8gVXe0cBtwtIZdY3w97IB7ANXZgsvGADpjEggDgCIiYyMA9HanctG1prqtkgCAT7TTaihNx7En5uP1WcmUV2TInoaACBoAEDQbgvTvFEKJ0f40b12axbyfmxBvBIDVNZdo7tp02neygLVrHuFDj45qQUJdYU0XzQcz0YA9NsBVab8GGAD8J9NioLfvTWRJaXoItwE9tOz8z9DDDngMoDo74ABQnd4ke0kRGaOhr7c7IT5Qa/miEQLAg8mF7Lrcw8ON3N3c6LvfUqnmEpG3p5tRff06hFDr5rYBoNABpNxILIkK9SZ397pxtN4PPl6dBvQ49Lm+rWvAGgDUkwKJ2wC3UGhADzvgAFCdrTk9AAQP3MdLXIMGBgkfT39jWsmCA0D5RNBSJmyeFYw2fTuEUBsrAPDZW+IZRQyXhtWAHod+w67QuZ++4d8cWrHN0gP41qRWrJSiHsJtQA8tO/8z9LADDgDV2YHTA0BX4gG0BgD9fNyptJx7ANWYKOqtmntPAQDbtvCnuWstr4A5AFSjZe376HHoaz/rxjOiNQD45j2tqEkQB4CNZ6edfyV6nAUcAKqzAw4A1elNspdUKTM0BPN+SbmhLJyW0hivgM31A2Jt8CmKpU/7YGoXG8ABoJbGpPFYehz6Gk+5UQ339/5c+mXrRYs1Tb2nFYVxANio9trZF6PHWcABoDor4ABQnd6s9pIiHwaRcUmZcgCI8lLismjmD70cACDjBTQDgL3bBVP7OA4ANTZdTYfT49DXdMKNbLCN+3PpZwkA+MbdrShcxKnpyGVzG3Ckdl1nbD3sgANAdfbAaWDU6c1qL8QAImlBLIG+HlQkEwB2ig+gmHAfRtbaspkv/W/5OavPaow0MOaLfWnGKSo2B4Btg6lDvD/NWWtZC/i58XEUx2MANbZq5cPpQf2gfFaXT49NB3Np+RbLGMA37mqpKwBcvXo1jRgxgry89Ll2vnx22HVWqsdZwGlglNkDJ4JWpi/ZrV+YcYZqLpkiwABfdyoukxcDeNvQCOrZJpA970J2BX368wWrz3ZWQmMtiT/NiaGhjCtaB1L7WD9a+LflD9yTN0dTbKSP7P3iDR2jAS1twDEzbNyjbjtSQCv+ybFY5Au3NqcInTyA3AYat43JXZ0edsCJoOXuhmk77gFUpzervd5dkELAf261bCOgMgE/YGZBHbddfY98YEQMdW1lAIDns8rpg8WWGdBC/8vBA/jyzFNUVGp6fd6zTRB1SgjgHkCNbVfL4fR469dyvo1trC2H8mjpZssYwNfuSKDIUG9dlsttQBc1O/1D9LAD7gFUZwY8BlCd3hT1WvR3Bv1zJE9Wn4dGNqfOLQUPYDm9vzDFar/LIQbw5R8BAOsqg0AZPdoEU5eWATT7L6ks4DiKj/KTpWveyHEa0CPux3Gzd/2RwZ5w9GwxsfdQN/YPeykd0CmUAnz1KQXHbcD17UiLFehhBzwGUN1OcQCoTm+Kei3ZlEFbD8kDgGKahrSccnpvweUNAF+ZeYoKRaXhDAAwiLq0DOQAUJEV6ttYj0Nf3xXxpynVALcBpRprnO31sAMOANXZjgsDQE969/5EdavWudfKbZm0/l/LeBzzaXSMD6BHRrUw/jUHgESvzjxFBWYA8IrWQeyanHsAdTZkBY/T49BXMB3etAE0wG2gAZTuhI/Uww44AFS38S4MAD3o3ftbq1u1zr3+2JVFf+7KtvpUxAm2j/OnCUOiKEwUoJ2eU06IKbQml8MV8Gs/naL8YtMr4O6tg6ibFQD4zPg4SmjGr4B1NnGLx+lx6Df0Gvnz69cAtwFuIdCAHnbAAaA6W+MAUJ3eFPWyxsqPQWIjfWnKrfGS42XkltM786UB4NhBTWlotyaK5qFXYy2/8FIAsFtiEHVPlPYAcgCo1y7zH3/n0LTzzkLLc8B5V8lnZksDetgBB4C2dkH6cw4A1elNUa+th/NoycYMyT6tov3o6XFxVgBgBb0z/7TkZ+/cl0hB/p6K5qFXYy2/8K/PSqa8ItMMag4A9dpJ9c/R0gbUz4L3bEgNcBtoSO07z7P1sAMOANXtN6eBUac3Rb12Hiug+estSYsxSLsW/vT46Lq4P/HAF/MqaJoVD6CzUsBg/lqm/U+dc5pyCs0AYKtAQhzgLIks4MnjYqklvwJWZJ+OaKylDThifnxMx2uA24DjdewKT9DDDjgNjDJLcBki6HOZ5fTFCku6D1TKeOPOWGWrbqDW+08V0/wNlqTFmE7HOH+697qmkjPLzK+kD5ecl/zMWUmgMVktiT/fXZRKuYWmMYAd4/3pisQASZ0+cVM0xUdxIugGMnXjY7W0gYZeC3++Og1wG1Cnt8bWSw874ETQ6qyGewDV6U1Rr8Oni+iHP6QresCTde910ZLjZeVX0FvzpGMALxcP4JtzTlO2mQewc0IA9WobzD2AiqxQ38Z6vPXruyL+NKUa4DagVGONs70edsA9gOpsh8cAqtObol7HzxXT1ytTJfv0aR9Mdw6rBwDOlY4BdNYMYCxSy5iPt+YmU1a+6RVw54RA6tk2SJIGZvL4OH4FrMg6HdNYSxtwzAz5qI7WALcBR2vYNcbXww54DKA6W+AAUJ3eFPU6nVZKny4/K9kHzPy3XRUl+Vl2QSW9OSdZ8rPLBwCeJnhCxQK+xD7tQ2jWGkuv6uRxcdQymtPAKDJQBzTW49B3wLT5kBpqgNuAhsp04aH0sAMOANUZiAsDQNchgk7NLKMPrdT0BZULKF2khANAorfnnabMPA4A1X29G66XHod+w62OP1mOBrgNyNFS42+jhx1wAKjOjjgAVKc3Rb0ycq3TuVzbM4xG9Y+UHC+noJKmXuYewGnzThOyocXSIS6A+nbgHkBFRqhzYz0OfZ2XxB+nUAPcBhQqrJE218MOOABUZzwuDABdpxJIbmElvTFb+ip3RJ8IGtEnXBoAFlbSVCv9Lpcr4GnzT9PFXFMA2D4ugPp3DKGf/uRXwOq+9o7vpceh7/hV8CfYowFuA/Zor/H01cMOOABUZy8cAKrTm6JeFVU19Nx3JyX7jOofQdf2lAaA9QHHywUAHjtbTOWVNeTm5kZubgYVBvl5UG5RFQeAiqxQ38Z6HPr6rog/TakGuA0o1VjjbK+HHXAAqM52XJYGBiAA1TBcRZ78+oTkVEcPiKBrrgiT/AwVMF6fbSUL+PG2Trt0PdL+/00qpJ/WWPJDTh4by5NAnMAy9LABJ1gmn0I9GuA2wM0DGtDDDjgNjDJb40TQyvRld+sp06X5/G7qH0aDOgOHW0p+cRVNWyBNH3O5EEFbU/zB5GKau96SXPuxUc2oZTNfu/eLD2CfBvQgf7Vvhry3ozXAbcDRGnaN8fWwA04Erc4WuAdQnd4U9/p46Vk6e7HMot/4QU1pcNdQqwDwtVlWaGAucw/g/qRCminhAXx6bCyhvjKXhtWAHm/9DbtC/nRbGuA2YEtDl8fnetgB9wCqsyUeA6hOb4p7fbT4DJ3LtASAtw6NooGdpQFgQXEVvfrTKclnXS4xgNYUza6AJZJAnh4XxwGgYuvUvoMecT/az5qPqKUGuA1oqU3XHUsPO+AxgOrsgwNAdXpT3OuDRWfofJYlALz96mYso1VKCkuq6JWZHABK6Wb/qUKaudoyC/ipsbGUGOOveH94B201oMehr+2M+Whaa4DbgNYadc3x9LADDgDV2YYLA0DXIYLG1nywKIXOZ5Vb7NId1zRjnHYcACozYA4AlelL79Z6HPp6r4k/T5kGuA0o01djba2HHXAAqM56OABUpzfFvd5bmEJp2ZYA8K5ro6l3O+kkkMLSKnrlR+4B5B5AxebW4B30OPQbfJF8AvVqgNsANxBoQA874ABQna1xAKhOb4p7vbsghdJzLAHgPcOjqWdbaQBYVFpFL3MAKKlr7gFUbIK6dtDj0Nd1QfxhijXAbUCxyhplBz3sgANAdabDs4DV6U1xLwYAzSpaYJD7ro+m7olBkuOVlFXTi9YA4OWeBYwYwD8teQCfGtOCxwAqtk7tO+iR+af9rPmIWmqA24CW2nTdsfSwA54FrMw+OA+gMn3Z3frDJecpM7/SYpxJ1zalTgnSSQsl5dX0xpxzks++3HkAD50upjnrLHkAH72xGbWK5jyAdhusnQPowf1l5xR5dwdrgNuAgxXsIsPrYQecB1CdMXAPoDq9Ke41bV4KXcw3rWmLQR4eGUOdEgKlPYDl1fTiDCsxgNwDyD2Aiq1Qvw56vPXrtxr+JDUa4DagRmuNr48edsA9gOrshscAqtOb4l5vzU2mLAkP4KOjWlCH+ADJ8UrLq+mF6UmSn13uPIAHThXSjxI0ME+OiaX/b+9coOyqyjv+zwuayUyIIBAgLxIWbxBqXVa0rYtGIIGiIq2UxQJ5KmJBqGhREbRAXcVYi6BFrSJWVgXCyzYopYFAgghdyiMtgk0kPJNgHkyAPJjJdH3pmXYy99yZOfue+5297/2dtbKWOHfv/e3f97/7/u8++3x3n70oA1NYoCU38Dj3U3LIdFcyATRQMtBEu/PQAWcAw8SBAQzjVrjV5Tcu19ru2lvA571/ivabmm8AN23p1ae/hQHMg40BLCxB1wYei77rhBisMAE0UBhZSzbw0AEGMEw6GMAwboVbXfb95Vq3odYADrVjtWnLVn36W79mBzCHAAawsARdG3gs+q4TYrDCBNBAYWQt2cBDBxjAMOlgAMO4FW71hRuWa/1rtQZwqJ8uwwDWx/zE8g36zoLaXwLhFnBhaTalgcei35TA6bQ0AmigNJRJd+ShAwxgmEQwgGHcCre69HvL9OrrPTXtLjxxmvaePD63vy1vbtWnrmcHMA/OI7/q1j/dW1sG5th3vlVHv2OXwvmhQbkEPBb9ciOmt7IJoIGyiabZn4cOMIBh2sAAhnEr3Mp+09d+23fwddGJ0zSjngHs2apP/QMGMA/2kqXr9aP7V9X86YBpE3Tu8VMK54cG5RLwWPTLjZjeyiaABsommmZ/HjrAAIZpgzIwYdwKt7r4+v/W5p6tNe0uOWm69thlx9z+3uzZqr+8vs5DIG1eBmabAVy0uobbgdMm6GN/slfh/NCgXAIepR/KjZjeyiaABsommmZ/HjqgDEwxbSRTCPq51Zv19Ttrb/V1jh+jy06ZWmzWFb76ipteyL0F/LmTp2jShLH5BrC3T5/97orcv7V7IeiHn9qg+YvX1LDZb+p4nXXM7hVmmqGNgEfxV0jHTQANxJ0fr+g8dEAh6LBsRr8DuGLVJs279bma2XWNH6Mrz5gVNusKWv38qVf1w4Xb37Kc2DFGXzptpkaPHpUbUU9vny6qdwuYHUB2ACvQ8UiH9PjWP9JYeF01BNBANdxjG9VDB+wAhmWdM4Bh3Aq3en1Tr66+ecV2tQCPP2JXzf7dnev21dvbpwu/+Uzu39u9EHS9M4AHTrdbwJwBLCzQkht4nPspOWS6K5kAGigZaKLdeeiAM4Bh4sAAhnELamV1AJcsfVVrX3tTB02foLfva/jrX71b+3ThNzCAeYQWL12vm3MeAsEABkmz9EYei37pQdNhqQTQQKk4k+3MQwcYwDB5JGAAN2reLbW3gDvHj9VVZ6ZzCzgkPVu39umTGMBcdBjAEEX5tfFY9P1mw0ghBNBACLXWa+OhAwxgmG4wgGHcXFr19fXpguvYAWQH0EVupQ7iseiXGjCdlU4ADZSONMkOPXSAAQyTBgYwjJtbq/OvfTp3rHY/A8gOoJsEgwbyWPSDAqORGwE04IY66oE8dIABDJNAAgZwk+bdUlsKpR1uAVtKMYD5wsYAhr3hvVp5LPpec2GcMAJoIIxbq7Xy0EErGMAbJJ2Wk/yfSjqmjihOkPRZSftIGifJfjZinqQfjFBE0ZeBeW7VJn2lBcrAjDAfNS87v94t4DYvA7PNAOYUgraHaz56HIWgQ/VWVjuP0g9lxUo/zSGABprDNbVePXTQCmVgzABaBdvTByV4s6R1dZL+XklvkfQrSVskHZcZwGMlmXGsd1EIOpF30cXffjY30nYvBP3Qf23Q7UtqC0HvP61DZx69WyLZbd0wPYq/ti691pgZGmiNPDY6Cw8dtEIhaDOAkyR9oEHgv5D0r5IuHUE/0e8Atkoh6BHkIvcl7ADmk1v85Hrd/EDtT8GxAxiqtHLbeXzrLzdieiubABoom2ia/XnooFV2ABsxgPZzEkdKuiszkf82ArkkcAawfcvAWP44A5iv4gefXK9bFm3/yyr2SuoAjuBd7/ASj3M/DtNgiAYIoIEG4LVQUw8dtMoZwFMkbRqU+6sk2b96106SXpS0o6ReSR+X9N0R6gcDOEJQVb0MA4gBrEp7jYzrseg3Eh9tm08ADTSfcQojeOigVQygnV4/d1BS10qyf/Wu0ZJmSuqU9MfZrV+7jXz/CMSBARwBpCpfggHEAFapv9CxPRb90Nho50MADfhwjn0UDx20igFs5BZwvw6+I2mqpKNHIAwM4AggVfkSDGAxA3jQjE6eAq5SsNnYHot+BNMkhCEIoAHkYQQ8dIAB/H+t2e1f2xG0J4SHuzCAwxGq+O8YQAxgxRIMGt5j0Q8KjEZuBNCAG+qoB/LQQasYwLwyMD2Sflsnw5dI+g9Jy7IzgHMlfTm7jWw7gcNdGMDhCFX8dwwgBrBiCQYN77HoBwVGIzcCaMANddQDeeigVQxgXiFo+y2w/etk+ApJH5Y0RdLGrB7g30v6UZ3X24Mi9q//6pL0wiuvvKKJE80LNnZZou+9917Nnj1b48ZZXerGr+dWb9LXbn+ppqOu8WP0xVOnNz5A5D1cdP3y3Ai/+lHb5I3zaoYOBs90yX92a/7i2u9FB07r0FlzJscJpo2i8tBAG+FMcqpoIMm0lR60hw7MAO66664Wuz0U293IJKycSqtel0u6bPDkbrrpJnV0dEQ557VvjNN9y3apiW3HsVt13AG1deCinEQDQc1/Mt/MfOiQlQ30mn7TZWs69NhLtV9a9ujarCNm1Kubnv68mQEEIAABCGxP4I033tDJJ5+MARxGGOwAJvbOYQcwP2GLl76q23J+CeSg6R068xh2AKuWuce3/qrnyPhDE0ADKMQIeOiAHcAwrXEGMIybWyvOAOajfuCJdbo155dADp7RqXP4LWA3fdYbyOPcT+WTJIAhCaABBNJvABcsWKC5c+eWdjRsMNlWOANYhVowgFVQLzAmBhADWEAu0byUD/9oUlFZIGigMvRRDeyhAwxgWMoxgGHc3FphADGAbmIrcSCPRb/EcOmqCQTQQBOgJtilhw4wgGHCwACGcXNrhQHEALqJrcSBPBb9EsOlqyYQQANNgJpglx46wACGCQMDGMbNrRUGEAPoJrYSB/JY9EsMl66aQAANNAFqgl166AADGCYMDGAYN7dWGEAMoJvYShzIY9EvMVy6agIBNNAEqAl26aEDDGCYMLYZwPXr15dWCPruu+/WnDlzSnva59mVG/XV+c/XzG5ixxhdcfqssFkn1Or8657Jjfaa8/aNdhb2hi9bB4Mn+8AT63Xrg7V1IA+eMUHnHLtXtGzaJTAPDbQLy1TniQZSzVy5cRG+HoMAABF0SURBVHvowAzgpEmTLHAKQY8gfedJsn+jJe23cuXKUgxgT0+PFi5cqCOPPFJjx44dQRjDv2TF6s269s6Xa17YOX6MLjtl6vAdJP6Ki7/9bO4Mrj57RrQza4YOBk/WfgnkjofW1jCwXwI5/ejdomXTLoF5aKBdWKY6TzSQaubKjdtDB2YAJ0/eVv8VA1ggfdHvAK5YtUnzbn2uZkr2U3BXnsEOYIFcu73U4xtfvR3AQ/bu1Nlz93SbKwPlE/DQAOzjJoAG4s6PV3QeOmAHMCybnAEM4+bWijOA+agXPbFO83MKQW8zgNwCdtNnvYE8zv1UPkkCGJIAGkAgRsBDB5wBDNNa9AZw2xnAnB3AzvFjddWZbbADeO3TuZm95hP7hWXcoZXHGx4D6JDIBobw0EAD4dHUgQAacICcwBAeOsAAhgkhWQPY1TG2PW4BYwBzlY0BDHvDe7XyWPS95sI4YQTQQBi3VmvloQMMYJhqMIBh3NxacQuYW8BuYitxII9Fv8Rw6aoJBNBAE6Am2KWHDjCAYcJI1gByC5hbwJwBDHvTe7TyWPQ95sEY4QTQQDi7VmrpoQMMYJhiojeAK1Zt1Lxbap8CbmcDuNukHfT5U/YOy7hDK483fN1bwDPtKWDqADqkecghPDRQ9RwZf2gCaACFGAEPHWAAw7QWfRmYdi8Effcja3T3o2u2y+6p75us39vXUhfn5fHY/6LH12n+4ldqABy6d6fOogxM5cLw0EDlkySAYb8ENLsgPCmIn4DHWkAZmGI6SL4QtNUB/EIbFILu3dqn25es1WPLXteY0aP0noO7NPvwnTRq1KhiGXd8tUfhz8VLu3Xnz2oLQR80vUMfOYpC0I7pzh3KQwNVz5HxhyaABlCIEfDQAYWgw7TGDmAYN/dWvb19Ms83enS8xq8fisc3PnYA3SVYaEAPDRQKiBe7E0AD7sijHNBDB+wAhqU++jOA7V4HMCyt1bbyOPNx/+PrdFvObwEfwhnAapOfje6hgSgmShB1CaABxGEEPHTAGcAwrWEAw7jRaggCHm94DGDcEvTQQNwEiA4NoAEMYNwaSNYAtksh6Ljlkx+dx8JfzwAeOtMeAuEp4Kp146GBqufI+EMTQAMoBAMYtwYwgHHnJ8noPBb++x9bp9sWr67hgwGMQzIeGohjpkRRjwAaQBsYwLg1gAGMOz9JRuex8GMA45aGhwbiJkB0aAANYADj1kD0BnDVus268ofP1lA8YNoEnXv8lLjptml0Hgs/BjBucXloIG4CRIcG0AAGMG4NRF8Gpq+vT1/6wbNas+HN7Uhe9KGpmjF5fNx02zQ6j8f+t50BzCkE/baZnTpzzp5tSj6eaXtoIJ7ZEkkeATSALvoNYLMLglMGppjWkikEbdN6+oWNuuGe1erp7ds2y3cd0KUPvnvnqIshF0tHa73ao/Dng0u7dVdOIehDZnTo1PdRCLpqRXlooOo5Mv7QBNAACjECHjqgEHSY1qLfAeyf1oY3erTs5Y3afdIOmrzzDpi/sHy7tPL45s8OoEsqgwfx0EBwcDR0IYAGXDBHP4iHDtgBDJNB9GcAw6ZFqyoJeJz9ue+xdbo95yngt83q4hZwlcnPxvbQQATTJIQhCKAB5GEEPHRAIegwrWEAw7jRquKFHwMYtwQ9Fv24CRAdGkADGMC4NYABjDs/SUbnsfBjAOOWhocG4iZAdGgADWAA49YABjDu/CQZncfCjwGMWxoeGoibANGhATSAAYxbAxjAuPOTZHQeCz8GMG5peGggbgJEhwbQAAYwbg0k8xRw3BiJbiABj6e+thnAJa/UgKcOYBxa9NBAHDMlinoE0ADa6DeA1AGMSwtJ1QGMCx3RDEfAo+7TA09268cPr60JhTqAw2XH5+8eGvCZCaOEEkADoeRaq52HDqgDGKYZdgDDuNFqCAIe3/zr7QAeNqtTZxzDL4FULVAPDVQ9R8YfmgAaQCHsAMatAc4Axp2fJKPzOPvDGcC4peGhgbgJEB0aQAP9BnDBggWaO3euxo0b1xQo1AEMw4oBDONGq2F2AJv9hscAxi1BPvzjzo9HdGjAg3L8Y3joAAMYpgMMYBg3WlVsABf+cq3uyHsIhF8CiUKbHot+FBMliLoE0ADiYAcwbg1gAOPOT5LReSz8GMC4peGhgbgJEB0aQAMYwLg1gAGMOz9JRuex8GMA45aGhwbiJkB0aAANYADj1gAGMO78JBmdx8KPAYxbGh4aiJsA0aEBNIABjFsDlIGJOz9JRudR/oEyMHFLw0MDcRMgOjSABvoNIIWg49IChaDjykdLReNR+HPRk936l7xC0HtP0Kmzd20pnilOxkMDKXJpp5jRQDtlu/5cPXRAIegwrbEDGMaNVkMQ8PjmX28H8PBZnTqdQtCV69NDA5VPkgCGJIAGEAg7gHFrgDOAcecnyeg8zv7UOwN42D5d/BJIBKrx0EAE0ySEYb4INrseKAmIn4DHWkAdwDAdYADDuNGq4oUfAxi3BD0W/bgJEB0aQAP9O4DN/iKAAQzTGgYwjButMIBooGINkIC4CWAA486PV3QeOsAAhmUTAxjGjVYVf/jX2wE8fJ8uzgBGoE6PRT+CaRJCxesACYifgMdagAEM0wEGMIwbrSpe+Nd2v6nLb1xeE8UFJ0zVrD07yE/FBDwW/YqnyPDDEEADSIRbwHFrAAMYd36SjM5r4b/uzhf09POv/x+jyTvvqM+cNF1jRo9KklsrBe2lgVZi1mpzQQOtltGw+XjogB3AsNxQBiaMG62G2QFsduFPG37Tlq36yaNr9JuVG7XXW3fUnHfsoq6OseQmAgKUAIkgCRWHgAYqTkAkw3vowAzgpEmTbMY7SepuZOrtsH1AIehGFELbIQl4FP4kBXETQANx58cjOjTgQTn+MTx0QCHoMB2wAxjGjVYR7ACShHgJeHzrj3f2RGYE0AA68NIBO4BhWuMMYBg3Wg1jAJtd94kExE3A49xP3ASIDg2ggX4D2OzPA84AhmkNAxjGjVYYQDSABtAAGkADwxDw+CKAAQyTIQYwjButWPjRABpAA2gADWAAk9UABjDZ1MUbuMc3vnhnT2Ret30gHTcB1oG48+MVnYcO2AEMyyYGMIwbrfjmjwbQABpAA2iAHcBkNYABTDZ18Qbu8Y0v3tkTGTuAaAANoIF+Ah6fB+wAhumNMjBh3Gg1zDd/j0LQJCFeApQAiTc3XpGhAS/ScY/joQPKwBTTAIWgi/Hi1QUIeBT+LBAOL62AABqoAHpkQ6KByBJSUTgeOqAQdFhy2QEM40YrdgDRABpAA2gADQxDgB3AeCXCGcB4c5NsZB5nPpKF0yaBo4E2SfQwBrDZBYChHD8Bj7WAM4BhOsAAhnGjFQs/GkADaAANoIER7AA2+4sABjBMhhjAMG60YuFHA2gADaABNIABTFYDGMBkUxdv4B5b/vHOnsiMABpAB2gADXitBewAhmltmwF8/vnnNXGi/c/GLnvD33PPPTrqqKM0bty4xjqjdbIE0EGyqSstcDRQGspkO0IDyaau1MA9dGAGcOrUqRb3TpK6G5nAqEYaJ9Z2L0kvJBYz4UIAAhCAAAQgAIHBBKZIerERLO1kAG2ue0ra0AiwAW27MkNpSSirz5JCoxtHAujAEXakQ6GBSBPjGBYacIQd8VBeOrBxXpLU1wiLdjKAjXDKa7vtlnIZ27BlB0Z/rgTQgSvuKAdDA1GmxTUoNOCKO9rBktIBBjBcR0klOnyatByGADpAImgADaABNGAEktIBBjBctEklOnyatMQAogE0gAbQABoYAYGkfAEGcAQZrfOSHSVdIulvJG0O74aWiRNAB4knsITw0UAJEBPvAg0knsCSwk9KBxjAkrJONxCAAAQgAAEIQCAVAhjAVDJFnBCAAAQgAAEIQKAkAhjAkkDSDQQgAAEIQAACEEiFAAYwlUwRJwQgAAEIQAACECiJAAawJJB0AwEIQAACEIAABFIhgAEMz9R5ki6WNFnS45L+QtIj4d3RMiECl0u6bFC8T0vaP6E5EGpxAn+YveffLmkPSR+UdMeAbmw9/aKksyVNkrRE0rmSfl18KFpESmA4Ddwg6bRBsf9U0jGRzoewihOw6h8nZOv9RkkPSfqMJPsM6L9+R9I8SSdJsieDTQMfl7Sq+HDNa4EBDGP7YUk3SvqYpJ9L+qSkP5W0n6TVYV3SKiECZgBPlDR7QMw9kn6b0BwItTiBOZLeLekXkubnGED7ELAPh49IWi7pryUdIulASZuKD0eLCAkMpwEzgLtLOn1A7FYmbF2EcyGkMAI/kfTPkh6VNFbSVZIOzt7nr2ddflPSsdlaYL8Ydq2krdn6ETZqE1phAMOgmumz5H8iaz5a0vOSvi7py2Fd0iohAmYAPyDpsIRiJtRyCdhvcA7cAbS11H6b0771fyUbaqfsG78ZQvvA4GotAoM1YLMzA2i7v7Y+cLUHgV2zjZ8/kvRA9vOwr0g6WdKtGQK7O/SUpHdJejgWLBjA4pnYQdIb2Q7QwNs/38/e+O8v3iUtEiNgBtBu/9s3O9vZ+Vm28/NcYvMg3HACgz/8Z0paJulwSY8N6HZR9t8XhA9Fy0gJ1DOAZv62ZLt+CyV9XtKaSOdAWI0T2Cc75mG7/UslHSnp3yW9RdL6Ad2vkPQ1SX/X+JDl9IABLM5xT0kvSjoi++Dv7+FvJdk3gHcW75IWiRGw20Cd2ZkPOwtm5wH3ym4DbEhsLoQbRmDwh7+tB3bmz9aHlwd0ebMke60dG+FqLQJ5BtDOfNkGwW8kzcpuD76W7fz0ttb0mY0ku/t3V7b5856MiO38fS87+zcQkj0jcF92XjAKeBjA4mmoZwCvlvQHkn6/eJe0SJyA3fKxb3cXSfrHxOdC+CMjMFIDeIsk++A3Y8DVWgTyDODgGfbvDNt5YdsV4motAnbWzzYEzPy9MIwBtGNjpoG/igUBBrB4JrgFXJxZO7SwN/e92a3gdphvu8+RW8DtroD/3dkd/CR4HhU7D2a3ga8HWUsRsAc77MiXPRluO779F7eAWyrNtZOxh0BsO9dKv9hl28B2/ssEwUMgLZ78nOnZ7WDLv50NvKb9pt+WM673EIg9AGIPgtg1MTsczkMgrSmRkRjAKdnaYOcC7VYhV/oEbOPMHvg08//enDJP9vCXmf4/z6oF2Iz3zY4M8RBI+vnfdp7HysCckxlBKwPzZ1ldoKjq/LQA6xinYB/yP85u+9qRAKv9Zk8EW7kPe+NztSYBM/p24NuuX2a3/O1Mz9rsQ97KwNjtHasDZzsCVgbmUMrAtJQYhtKA6cDOA1uJoJXZGUA7G96VlQOycjBc6RP4RvaEr+3+Daz9Zw8FWl1Au+zW8NysDEx3Zhjt/7ezwtFc3AIOT4WVgOkvBG1P/Z2f1QQM75GWqRCwkh627b9LZvgWS/pc9hRoKnMgzuIE7Nu+Gb7Bl1UAsF2+/kLQ9sXQzoWaLqz46zPFh6JFpASG0oAV/bbKEPYkuOXfygLdI+nS2AoAR8o2lbBs5zfvstqPVgbIrv5C0LYLOLAQtH0xiObCAEaTCgKBAAQgAAEIQAACPgQwgD6cGQUCEIAABCAAAQhEQwADGE0qCAQCEIAABCAAAQj4EMAA+nBmFAhAAAIQgAAEIBANAQxgNKkgEAhAAAIQgAAEIOBDAAPow5lRIAABCEAAAhCAQDQEMIDRpIJAIAABCEAAAhCAgA8BDKAPZ0aBAAQgAAEIQAAC0RDAAEaTCgKBAAQgAAEIQAACPgQwgD6cGQUCEIAABCAAAQhEQwADGE0qCAQCEIAABCAAAQj4EMAA+nBmFAhAAAIQgAAEIBANAQxgNKkgEAhAAAIQgAAEIOBDAAPow5lRIAABCEAAAhCAQDQEMIDRpIJAIAABCEAAAhCAgA8BDKAPZ0aBAAQgAAEIQAAC0RDAAEaTCgKBAAQgAAEIQAACPgQwgD6cGQUCEIAABCAAAQhEQ+B/ANbIQJnxp3UqAAAAAElFTkSuQmCC\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot some pitch contours\n",
"plt.figure()\n",
"mir_eval.display.pitch(ref_times, ref_freqs, unvoiced=True, midi=True,\n",
" linewidth=4, alpha=0.8, label='Reference')\n",
"\n",
"mir_eval.display.pitch(est_times, est_freqs, unvoiced=True, midi=True,\n",
" color='k', linewidth=1, alpha=.8, label='Estimate')\n",
"\n",
"mir_eval.display.ticker_notes()\n",
"\n",
"plt.legend(loc='best')\n",
"plt.grid('on', which='major')\n",
"plt.grid('on', which='minor', alpha=0.1)\n",
"plt.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Plot some piano rolls\n",
"ref_times, ref_pitches = mir_eval.io.load_valued_intervals(os.path.join(MIREVAL_BASE, 'tests/data/transcription/ref04.txt'))\n",
"est_times, est_pitches = mir_eval.io.load_valued_intervals(os.path.join(MIREVAL_BASE, 'tests/data/transcription/est04.txt'))"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = 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.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",
" /* 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",
" evt.data.type = \"image/png\";\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",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\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(\"No handler for the '\" + msg_type + \"' message type: \", msg);\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(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://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",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\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",
" * http://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",
" 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",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x;\n",
" var y = canvas_pos.y;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\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",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" 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",
"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\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";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.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",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['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 = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\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.get(0);\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",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" fig.root.unbind('remove')\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).html('<img src=\"' + dataURL + '\">');\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 dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\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 () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('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",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\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('matplotlib', mpl.mpl_figure_comm);\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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\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8, 4))\n",
"\n",
"mir_eval.display.piano_roll(ref_times, ref_pitches, label='Reference', alpha=0.5)\n",
"mir_eval.display.piano_roll(est_times, est_pitches, label='Estimate', alpha=0.5, facecolor='r')\n",
"\n",
"plt.axis('tight')\n",
"\n",
"plt.grid('on', which='major')\n",
"plt.grid('on', which='minor', alpha=0.1)\n",
"plt.legend(loc='best')\n",
"\n",
"mir_eval.display.ticker_notes()\n",
"\n",
"ax = plt.gca()\n",
"plt.tight_layout()\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# We can also use midi-scaled inputs\n",
"ref_midis = librosa.hz_to_midi(ref_pitches)\n",
"est_midis = librosa.hz_to_midi(est_pitches)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\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('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",
"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 = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(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",
" 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",
" this.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 = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width);\n",
" canvas.attr('height', height);\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\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 nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\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",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\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",
"\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",
"\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]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'];\n",
" var y0 = fig.canvas.height - msg['y0'];\n",
" var x1 = msg['x1'];\n",
" var y1 = fig.canvas.height - msg['y1'];\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, 0, fig.canvas.width, fig.canvas.height);\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",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment