diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 4bfeb2a..0000000 --- a/.gitattributes +++ /dev/null @@ -1,11 +0,0 @@ -*.html linguist-detectable=false -*.HTML linguist-detectable=false -*.htm linguist-detectable=false -*.css linguist-detectable=false -*.tex linguist-detectable=false -*.TeX linguist-detectable=false -*.TEX linguist-detectable=false -*.ipynb linguist-detectable=false -*.cpp linguist-language=C++ -*.hpp linguist-language=C++ -*.py linguist-language=python \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 70848bd..0000000 --- a/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -*.ipynb_checkpoints -*.vscode -*path.py -*type.py -*path.hpp -*.pyc -*__pycache__* -*.so -*.run -UserSpace/Python/*_examplePlot.pdf -UserSpace/scan/*/*.dat -*._mimes_ -*.aux -*.log -*.out -*.bbl -*.blg -*.synctex.gz -*MiMeS.pdf -*MiMeS.toc -*_minted-MiMeS* diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 8afbbb3..0000000 --- a/.gitmodules +++ /dev/null @@ -1,8 +0,0 @@ -[submodule "src/NaBBODES"] - path = src/NaBBODES - url = https://github.com/dkaramit/NaBBODES.git - branch = stable -[submodule "src/SimpleSplines"] - path = src/SimpleSplines - url = https://github.com/dkaramit/SimpleSplines.git - branch = stable diff --git a/Documentation/EMD_example/Axion-EMD.ipynb b/Documentation/EMD_example/Axion-EMD.ipynb deleted file mode 100644 index 502218d..0000000 --- a/Documentation/EMD_example/Axion-EMD.ipynb +++ /dev/null @@ -1,6362 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np#you usually need numpy\n", - "\n", - "#---these are for plots---#\n", - "import matplotlib\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.Axion import Axion \n", - "from interfacePy.AxionMass import AxionMass\n", - "\n", - "from interfacePy.Cosmo import Hubble,rho_crit,h_hub\n", - "from interfacePy.FT import FT #easy tick formatting\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "theta_i, fa=0.1, 1e16\n", - "\n", - "umax=500\n", - "TSTOP=1e-4\n", - "ratio_ini=1e3\n", - "\n", - "N_convergence_max, convergence_lim=15, 1e-2 #this is fine, but you can experiment a bit. \n", - "\n", - "#radiation dominated example\n", - "inputFile=\"../../UserSpace/InputExamples/MatterInput.dat\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#you can define the axion mass using a data file\n", - "axionMass = AxionMass(r'../../src/data/chi.dat',0,1e5)\n", - "\n", - "#you can define the axion mass via a function\n", - "# def ma2(T,fa):\n", - "# TQCD=150*1e-3;\n", - "# ma20=3.1575e-05/fa/fa;\n", - "# if T<=TQCD:\n", - "# return ma20;\n", - "# return ma20*pow((TQCD/T),8.16)\n", - "\n", - "# axionMass = AxionMass(ma2)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# options for the solver\n", - "# These variables are optional. Yoou can use the Axion class without them.\n", - "initial_step_size=1e-1; #initial step the solver takes. \n", - "minimum_step_size=1e-8; #This limits the sepsize to an upper limit. \n", - "maximum_step_size=1e-1; #This limits the sepsize to a lower limit.\n", - "absolute_tolerance=1e-11; #absolute tolerance of the RK solver\n", - "relative_tolerance=1e-11; #relative tolerance of the RK solver\n", - "beta=0.95; #controls how agreesive the adaptation is. Generally, it should be around but less than 1.\n", - "\n", - "#The stepsize does not increase more than fac_max, and less than fac_min. \n", - "#This ensures a better stability. Ideally, fac_max=inf and fac_min=0, but in reality one must \n", - "#tweak them in order to avoid instabilities.\n", - "fac_max=1.2; \n", - "fac_min=0.8;\n", - "maximum_No_steps=int(1e7); #maximum steps the solver can take Quits if this number is reached even if integration is not finished.\n", - "\n", - "\n", - "# Axion instance\n", - "ax=Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, inputFile, axionMass,\n", - " initial_step_size,minimum_step_size, maximum_step_size, absolute_tolerance, \n", - " relative_tolerance, beta, fac_max, fac_min, maximum_No_steps)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.09328198432922363" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# solve the EOM (this only gives you the relic, T_osc, theta_osc, and a_osc)\n", - "ax.solveAxion()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.12387636474146986, 0.05915789204856256, 0.04553279455391583)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ax.relic, ax.T_osc, ax.theta_osc" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "ax.getPeaks()#this gives you the peaks of the oscillation\n", - "ax.getPoints()#this gives you all the points of integration\n", - "ax.getErrors()#this gives you local errors of integration" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " #this plot shows the peaks of the oscillation\n", - " sub.plot(ax.T_peak,ax.theta_peak,linestyle=':',marker='+',color='xkcd:blue',linewidth=2)\n", - "\n", - " #this plot shows all the points\n", - " sub.plot(ax.T,ax.theta,linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - "\n", - " \n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\theta$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - "\n", - " sub.axhline(ax.theta_osc,linestyle=':',color='xkcd:red',linewidth=1.5)\n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(-0.025+i*0.025,3) for i in range(0,10) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=-0.025,ymax=0.101,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=0.07, s=r'$T_{\\rm osc}$',rotation=90)\n", - " sub.text(x=0.07,y=0.048, s=r'$\\theta_{\\rm osc}$')\n", - " \n", - " sub.text(x=0.03,y=0.006, s=r'$\\theta_{\\rm peak}$',rotation=20)\n", - " \n", - " sub.text(x=0.12,y=-0.02,\n", - " s=r'$f_{a}=10^{16}~{\\rm GeV}$'+'\\n'+ r'$\\theta_i = 10^{-1}$')\n", - " sub.text(x=0.028,y=0.09, s=r'EMD')\n", - "\n", - " fig.savefig('theta_evolution-EMD.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " sub.plot(ax.T,ax.zeta,linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - "# sub.plot(ax.T_peak,ax.zeta_peak,linestyle=':',marker='+',color='xkcd:blue',linewidth=2)\n", - " \n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - "\n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(-0.15+i*0.05,3) for i in range(0,20,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=-0.16,ymax=0.16,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=0.1, s=r'$T_{\\rm osc}$',rotation=90)\n", - " \n", - " \n", - " sub.text(x=0.12,y=-0.15,\n", - " s=r'$f_{a}=10^{16}~{\\rm GeV}$'+'\\n'+ r'$\\theta_i = 10^{-1}$')\n", - "\n", - " \n", - "# fig.savefig('zeta_evolution-EMD.pdf',bbox_inches='tight')-EMD\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":7: RuntimeWarning: invalid value encountered in true_divide\n", - " sub.plot(ax.T,np.abs(ax.dzeta/ax.zeta),linestyle='-',linewidth=2,alpha=1,c='xkcd:red',label=r'$\\dfrac{\\delta \\zeta}{\\zeta}$')\n" - ] - }, - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " sub.plot(ax.T,np.abs(ax.dtheta/ax.theta),linestyle='-',linewidth=2,alpha=1,c='xkcd:black',label=r'$\\dfrac{\\delta \\theta}{\\theta}$')\n", - " sub.plot(ax.T,np.abs(ax.dzeta/ax.zeta),linestyle='-',linewidth=2,alpha=1,c='xkcd:red',label=r'$\\dfrac{\\delta \\zeta}{\\zeta}$')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'local errors')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " sub.legend(bbox_to_anchor=(0.98, 0.7),borderaxespad=0., \n", - " borderpad=0.05,ncol=1,loc='upper right',fontsize=14,framealpha=0)\n", - " \n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-12,5,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=1e-12,ymax=1e-6,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e-7, s=r'$T_{\\rm osc}$',rotation=90)\n", - " \n", - " fig.savefig('local_errors-EMD.pdf',bbox_inches='tight')\n", - "\n", - " \n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - "\n", - " sub.hist(ax.T,bins=np.linspace(ax.T[-1],0.15,30),color='xkcd:blue',histtype='step')\n", - " \n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'Number of steps')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - "\n", - "\n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-12,5,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=1e0,ymax=1e4,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e3, s=r'$T_{\\rm osc}$',rotation=90)\n", - "\n", - " fig.savefig('histogram-EMD.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " sub.plot(ax.T,ax.rho_axion/rho_crit,linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - " sub.plot(ax.T_peak,ax.rho_axion_peak/rho_crit,linestyle=':',linewidth=2,alpha=1,c='xkcd:blue')\n", - "\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\dfrac{\\rho_{a}(T)}{\\rho_{\\rm crit}}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " \n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(32,42,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=1e36,ymax=1e40,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e38, s=r'$T_{\\rm osc}$',rotation=90)\n", - " sub.text(x=0.12,y=1.2e36,\n", - " s=r'$f_{a}=10^{16}~{\\rm GeV}$'+'\\n'+ r'$\\theta_i = 10^{-1}$')\n", - "\n", - "\n", - "# fig.savefig('axion_energy_density-EMD.pdf',bbox_inches='tight')\n", - "\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " Delta=[1]\n", - " for i,_ in enumerate(ax.T[1:]):\n", - " sc1=relative_tolerance * max([np.abs(ax.theta[i]),np.abs(ax.theta[i-1])]) + absolute_tolerance\n", - " sc2=relative_tolerance * max([np.abs(ax.zeta[i]),np.abs(ax.zeta[i-1])]) + absolute_tolerance\n", - " Delta.append( np.sqrt(0.5*((ax.dtheta[i]/sc1)**2 + (ax.dzeta[i]/sc2)**2)) )\n", - " \n", - " Delta=np.array(Delta)\n", - " \n", - " sub.plot(ax.T,Delta,linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - " \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('linear')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\Delta$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " \n", - " \n", - " \n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(0+i*0.2,2) for i in range(0,15) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=0,ymax=1.02,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e-6, s=r'$T_{\\rm osc}$',rotation=90)\n", - " \n", - "# fig.savefig('Delta-EMD.pdf',bbox_inches='tight')\n", - "\n", - " \n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "#run the destructor\n", - "del ax" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Documentation/EMD_example/Axion-RD.ipynb b/Documentation/EMD_example/Axion-RD.ipynb deleted file mode 100644 index a3fd687..0000000 --- a/Documentation/EMD_example/Axion-RD.ipynb +++ /dev/null @@ -1,1240 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np#you usually need numpy\n", - "\n", - "#---these are for plots---#\n", - "import matplotlib\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.Axion import Axion \n", - "from interfacePy.AxionMass import AxionMass \n", - "from interfacePy.Cosmo import Hubble,rho_crit,h_hub\n", - "from interfacePy.FT import FT #easy tick formatting\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "theta_i, fa=0.1, 1e16\n", - "\n", - "umax=500\n", - "TSTOP=1e-4\n", - "ratio_ini=1e3\n", - "\n", - "N_convergence_max, convergence_lim=15, 1e-2 #this is fine, but you can experiment a bit. \n", - "\n", - "#radiation dominated example\n", - "inputFile=\"../../UserSpace/InputExamples/RDinput.dat\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#you can define the axion mass using a data file\n", - "axionMass = AxionMass(r'../../src/data/chi.dat',0,1e5)\n", - "\n", - "#you can define the axion mass via a function\n", - "# def ma2(T,fa):\n", - "# TQCD=150*1e-3;\n", - "# ma20=3.1575e-05/fa/fa;\n", - "# if T<=TQCD:\n", - "# return ma20;\n", - "# return ma20*pow((TQCD/T),8.16)\n", - "\n", - "# axionMass = AxionMass(ma2)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# options for the solver\n", - "# These variables are optional. Yoou can use the Axion class without them.\n", - "initial_step_size=1e-1; #initial step the solver takes. \n", - "minimum_step_size=1e-8; #This limits the sepsize to an upper limit. \n", - "maximum_step_size=1e-1; #This limits the sepsize to a lower limit.\n", - "absolute_tolerance=1e-11; #absolute tolerance of the RK solver\n", - "relative_tolerance=1e-11; #relative tolerance of the RK solver\n", - "beta=0.95; #controls how agreesive the adaptation is. Generally, it should be around but less than 1.\n", - "\n", - "#The stepsize does not increase more than fac_max, and less than fac_min. \n", - "#This ensures a better stability. Ideally, fac_max=inf and fac_min=0, but in reality one must \n", - "#tweak them in order to avoid instabilities.\n", - "fac_max=1.2; \n", - "fac_min=0.8;\n", - "maximum_No_steps=int(1e7); #maximum steps the solver can take Quits if this number is reached even if integration is not finished.\n", - "\n", - "\n", - "# Axion instance\n", - "ax=Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, inputFile, axionMass,\n", - " initial_step_size,minimum_step_size, maximum_step_size, absolute_tolerance, \n", - " relative_tolerance, beta, fac_max, fac_min, maximum_No_steps)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.13251352310180664" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# solve the EOM (this only gives you the relic, T_osc, theta_osc, and a_osc)\n", - "ax.solveAxion()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(73.24200096457864, 0.21566166480771515, 0.09363620368470373)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ax.relic, ax.T_osc, ax.theta_osc" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "ax.getPeaks()#this gives you the peaks of the oscillation\n", - "ax.getPoints()#this gives you all the points of integration\n", - "ax.getErrors()#this gives you local errors of integration" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " #this plot shows the peaks of the oscillation\n", - " sub.plot(ax.T_peak,ax.theta_peak,linestyle=':',marker='+',color='xkcd:blue',linewidth=2)\n", - "\n", - " #this plot shows all the points\n", - " sub.plot(ax.T,ax.theta,linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - "\n", - " \n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\theta$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - "\n", - " sub.axhline(ax.theta_osc,linestyle=':',color='xkcd:red',linewidth=1.5)\n", - " sub.axvline(ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(-0.05+i*0.025,3) for i in range(0,10) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.075,xmax=0.3,ymin=-0.05,ymax=0.101,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " sub.text(x=0.08,y=0.08, s=r'RD')\n", - " \n", - " sub.text(x=0.207,y=0.07, s=r'$T_{\\rm osc}$',rotation=90)\n", - " sub.text(x=0.25,y=0.082, s=r'$\\theta_{\\rm osc}$')\n", - " \n", - " sub.text(x=0.1,y=0.015, s=r'$\\theta_{\\rm peak}$',rotation=10)\n", - " \n", - " sub.text(x=0.25,y=-0.045,\n", - " s=r'$f_{a}=10^{16}~{\\rm GeV}$'+'\\n'+ r'$\\theta_i = 10^{-1}$')\n", - " \n", - " fig.savefig('theta_evolution-RD.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "#run the destructor\n", - "del ax" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Documentation/EMD_example/Axion-err.ipynb b/Documentation/EMD_example/Axion-err.ipynb deleted file mode 100644 index 998c81f..0000000 --- a/Documentation/EMD_example/Axion-err.ipynb +++ /dev/null @@ -1,3324 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np#you usually need numpy\n", - "\n", - "#---these are for plots---#\n", - "import matplotlib\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.Axion import Axion \n", - "from interfacePy.AxionMass import AxionMass \n", - "from interfacePy.Cosmo import Hubble,rho_crit,h_hub\n", - "from interfacePy.FT import FT #easy tick formatting\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "theta_i, fa=0.1, 1e16\n", - "\n", - "umax=500\n", - "TSTOP=1e-4\n", - "ratio_ini=1e3\n", - "\n", - "N_convergence_max, convergence_lim=10, 1e-1 #this is fine, but you can experiment a bit. \n", - "\n", - "#radiation dominated example\n", - "inputFile=\"../../UserSpace/InputExamples/MatterInput.dat\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#you can define the axion mass using a data file\n", - "axionMass = AxionMass(r'../../src/data/chi.dat',0,1e5)\n", - "\n", - "#you can define the axion mass via a function\n", - "# def ma2(T,fa):\n", - "# TQCD=150*1e-3;\n", - "# ma20=3.1575e-05/fa/fa;\n", - "# if T<=TQCD:\n", - "# return ma20;\n", - "# return ma20*pow((TQCD/T),8.16)\n", - "\n", - "# axionMass = AxionMass(ma2)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.12336702084825352, 0.0591482594487465, 0.04543764901910796)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# options for the solver\n", - "# These variables are optional. Yoou can use the Axion class without them.\n", - "initial_step_size=1e-1; #initial step the solver takes. \n", - "minimum_step_size=1e-8; #This limits the sepsize to an upper limit. \n", - "maximum_step_size=1e-1; #This limits the sepsize to a lower limit.\n", - "absolute_tolerance=1e-11; #absolute tolerance of the RK solver\n", - "relative_tolerance=1e-11; #relative tolerance of the RK solver\n", - "beta=0.9; #controls how agreesive the adaptation is. Generally, it should be around but less than 1.\n", - "\n", - "#The stepsize does not increase more than fac_max, and less than fac_min. \n", - "#This ensures a better stability. Ideally, fac_max=inf and fac_min=0, but in reality one must \n", - "#tweak them in order to avoid instabilities.\n", - "fac_max=1.2; \n", - "fac_min=0.8;\n", - "maximum_No_steps=int(1e7); #maximum steps the solver can take Quits if this number is reached even if integration is not finished.\n", - "\n", - "\n", - "# Axion instance\n", - "ax1=Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, inputFile,axionMass,\n", - " initial_step_size,minimum_step_size, maximum_step_size, absolute_tolerance, \n", - " relative_tolerance, beta, fac_max, fac_min, maximum_No_steps)\n", - "\n", - "time1 = ax1.solveAxion()\n", - "\n", - "ax1.relic, ax1.T_osc, ax1.theta_osc" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(0.12380129571016592, 0.05918594068478872, 0.045794858620192495)" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# options for the solver\n", - "# These variables are optional. Yoou can use the Axion class without them.\n", - "initial_step_size=1e-3; #initial step the solver takes. \n", - "minimum_step_size=1e-8; #This limits the sepsize to an upper limit. \n", - "maximum_step_size=1e-3; #This limits the sepsize to a lower limit.\n", - "absolute_tolerance=1e-8; #absolute tolerance of the RK solver\n", - "relative_tolerance=1e-8; #relative tolerance of the RK solver\n", - "beta=0.9; #controls how agreesive the adaptation is. Generally, it should be around but less than 1.\n", - "\n", - "#The stepsize does not increase more than fac_max, and less than fac_min. \n", - "#This ensures a better stability. Ideally, fac_max=inf and fac_min=0, but in reality one must \n", - "#tweak them in order to avoid instabilities.\n", - "fac_max=1.2; \n", - "fac_min=0.8;\n", - "maximum_No_steps=int(1e7); #maximum steps the solver can take Quits if this number is reached even if integration is not finished.\n", - "\n", - "\n", - "# Axion instance\n", - "ax2=Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, inputFile,axionMass,\n", - " initial_step_size,minimum_step_size, maximum_step_size, absolute_tolerance, \n", - " relative_tolerance, beta, fac_max, fac_min, maximum_No_steps)\n", - "\n", - "time2 = ax2.solveAxion()\n", - "\n", - "ax2.relic, ax2.T_osc, ax2.theta_osc" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(-0.3618957182603341, 0, 0.008843183517456055)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(ax1.relic-ax2.relic)/(0.12)*100,len(ax1.T)-len(ax2.T),(time1-time2)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "ax1.getPeaks()#this gives you the peaks of the oscillation\n", - "ax1.getPoints()#this gives you all the points of integration\n", - "ax1.getErrors()#this gives you local errors of integration\n", - "\n", - "ax2.getPeaks()#this gives you the peaks of the oscillation\n", - "ax2.getPoints()#this gives you all the points of integration\n", - "ax2.getErrors()#this gives you local errors of integration" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " #this plot shows the peaks of the oscillation\n", - " sub.scatter(ax1.T_peak,ax1.theta_peak,marker='+',color='xkcd:black')\n", - " sub.scatter(ax2.T_peak,ax2.theta_peak,marker='.',color='xkcd:red')\n", - "\n", - " \n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\theta_{\\rm peak}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - "\n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.02+i*0.005,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(-0.02+i*0.005,3) for i in range(0,10) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.045,ymin=-0.0,ymax=0.015,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - "# sub.text(x=0.055,y=0.07, s=r'$T_{\\rm osc}$',rotation=90)\n", - "# sub.text(x=0.07,y=0.048, s=r'$\\theta_{\\rm osc}$')\n", - " \n", - "# sub.text(x=0.03,y=0.006, s=r'$\\theta_{\\rm max}$',rotation=20)\n", - " \n", - "# sub.text(x=0.12,y=-0.02,\n", - "# s=r'$f_{a}=10^{16}~{\\rm GeV}$'+'\\n'+ r'$\\theta_i = 10^{-1}$')\n", - " \n", - "# fig.savefig('theta_evolution.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " sub.plot(ax1.T,np.abs(ax1.dtheta/ax1.theta),linestyle='-',linewidth=2,alpha=1,c='xkcd:black')\n", - " sub.plot(ax2.T,np.abs(ax2.dtheta/ax2.theta),linestyle='-',linewidth=2,alpha=1,c='xkcd:red')\n", - " \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('linear')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\dfrac{\\delta \\theta}{\\theta}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " \n", - " \n", - " \n", - " sub.axvline(ax1.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-16,-4,2) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=1e-16,ymax=1e-6,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e-14, s=r'$T_{\\rm osc}$',rotation=90)\n", - " \n", - "# fig.savefig('local_errors.pdf',bbox_inches='tight')\n", - "\n", - " \n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - "\n", - " sub.hist(ax1.T,bins=25,color='xkcd:black',histtype='step')\n", - " sub.hist(ax2.T,bins=25,color='xkcd:red',histtype='step')\n", - " \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('linear')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'Number of steps')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - "\n", - "\n", - " sub.axvline(ax1.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-12,5,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.15,ymin=1e1,ymax=1e4,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.0545,y=2e3, s=r'$T_{\\rm osc}$',rotation=90)\n", - "\n", - "# fig.savefig('histogram.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#run the destructor\n", - "del ax1\n", - "del ax2\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Documentation/EMD_example/Axion-play.ipynb b/Documentation/EMD_example/Axion-play.ipynb deleted file mode 100644 index db6f777..0000000 --- a/Documentation/EMD_example/Axion-play.ipynb +++ /dev/null @@ -1,4295 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np#you usually need numpy\n", - "\n", - "#---these are for plots---#\n", - "import matplotlib\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.Axion import Axion \n", - "from interfacePy.AxionMass import AxionMass \n", - "from interfacePy.Cosmo import Hubble,rho_crit,h_hub\n", - "from interfacePy.FT import FT #easy tick formatting\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "theta_i, fa=0.1, 1e16\n", - "\n", - "umax=500\n", - "TSTOP=1e-4\n", - "ratio_ini=1e3\n", - "\n", - "N_convergence_max, convergence_lim=15, 1e-2 #this is fine, but you can experiment a bit. \n", - "\n", - "#radiation dominated example\n", - "inputFile=\"../../UserSpace/InputExamples/MatterInput.dat\" " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "#you can define the axion mass using a data file\n", - "axionMass = AxionMass(r'../../src/data/chi.dat',0,1e5)\n", - "\n", - "#you can define the axion mass via a function\n", - "# def ma2(T,fa):\n", - "# TQCD=150*1e-3;\n", - "# ma20=3.1575e-05/fa/fa;\n", - "# if T<=TQCD:\n", - "# return ma20;\n", - "# return ma20*pow((TQCD/T),8.16)\n", - "\n", - "# axionMass = AxionMass(ma2)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# options for the solver\n", - "# These variables are optional. Yoou can use the Axion class without them.\n", - "minimum_step_size=1e-8; #This limits the sepsize to an upper limit. \n", - "initial_step_size=1e-2; #initial step the solver takes. \n", - "beta=0.8; #controls how agreesive the adaptation is. Generally, it should be around but less than 1.\n", - "\n", - "#The stepsize does not increase more than fac_max, and less than fac_min. \n", - "#This ensures a better stability. Ideally, fac_max=inf and fac_min=0, but in reality one must \n", - "#tweak them in order to avoid instabilities.\n", - "fac_max=1.05; \n", - "fac_min=0.9;\n", - "maximum_No_steps=int(1e7); #maximum steps the solver can take Quits if this number is reached even if integration is not finished.\n", - "\n", - "\n", - "ax=[]\n", - "dt=[]\n", - "for _max,_tol in [[1e-1,1e-6],\n", - " [1e-1,1e-11],\n", - " [1e-3,1e-6],\n", - " [1e-3,1e-11]]:\n", - " maximum_step_size=_max; #This limits the sepsize to a lower limit.\n", - " absolute_tolerance=_tol; #absolute tolerance of the RK solver\n", - " relative_tolerance=_tol; #relative tolerance of the RK solver\n", - "\n", - "\n", - " # Axion instance\n", - " ax.append(Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, inputFile, axionMass,\n", - " initial_step_size,minimum_step_size, maximum_step_size, absolute_tolerance, \n", - " relative_tolerance, beta, fac_max, fac_min, maximum_No_steps))\n", - "\n", - " dt.append(ax[-1].solveAxion())\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.10525396165908307 -15.014010660331897\n", - "0.12341035523596272 -0.35385871308827543\n", - "0.12368442047672012 -0.13256817672990062\n", - "0.12384860431336378 0.0\n" - ] - } - ], - "source": [ - "for _ax in ax:\n", - " print(_ax.relic,\n", - " (_ax.relic-ax[-1].relic)/ax[-1].relic*100\n", - " )\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "for _ax in ax:\n", - " _ax.getPeaks()#this gives you the peaks of the oscillation\n", - " _ax.getPoints()#this gives you all the points of integration\n", - " _ax.getErrors()#this gives you local errors of integration" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " colors=iter(['xkcd:red','xkcd:blue','xkcd:black','xkcd:gray'])\n", - " lines=iter([':','-','-.','--'])\n", - " markers=iter(reversed(['.','+','x','o']))\n", - " \n", - " for _ax in ax:\n", - " sub.scatter(_ax.T_peak,_ax.theta_peak,marker=next(markers),color=next(colors),s=10)\n", - "\n", - " \n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\theta_{\\rm peak}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - "\n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.02+i*0.005,4) for i in range(0,15) ]\n", - " _M_yticks=[ round(-0.02+i*0.005,3) for i in range(0,10) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.045,ymin=-0.0,ymax=0.015,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " \n", - "# fig.savefig('theta_evolution.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " colors=iter(['xkcd:red','xkcd:blue','xkcd:black','xkcd:gray'])\n", - " lines=iter([':','-','-.','--'])\n", - " \n", - " for _ax in ax:\n", - " sub.plot(_ax.T,np.abs(_ax.dtheta/_ax.theta),linestyle=next(lines),linewidth=2,alpha=1,c=next(colors))\n", - " \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('linear')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\dfrac{\\delta \\theta}{\\theta}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " \n", - " \n", - " \n", - "# for _ax in ax:\n", - "# sub.axvline(_ax.T_osc,linestyle='--',color='xkcd:gray',linewidth=1.5)\n", - " sub.axvline(ax[-1].T_osc,linestyle='-',color='xkcd:black',linewidth=2)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-15,-1,2) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.1,ymin=1e-15,ymax=1e-3,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.055,y=1e-14, s=r'$T_{\\rm osc}$',rotation=90)\n", - " \n", - "# fig.savefig('local_errors.pdf',bbox_inches='tight')\n", - "\n", - " \n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - "\n", - " colors=iter(['xkcd:red','xkcd:blue','xkcd:black','xkcd:gray'])\n", - " lines=iter([':','-','-.','--'])\n", - " \n", - " for _ax in ax:\n", - " sub.hist(_ax.T,bins=50,histtype='step',linewidth=2,alpha=1,color=next(colors),ls=next(lines))\n", - " \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('linear')\n", - " \n", - " sub.set_xlabel(r'$T ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'Number of steps')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - "\n", - "\n", - " sub.axvline(ax[-1].T_osc,linestyle='-',color='xkcd:black',linewidth=2)\n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[ round(0.025+i*0.025,4) for i in range(0,15) ]\n", - " _M_yticks=[ 10.**i for i in range(-12,5,1) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=0.025,xmax=0.175,ymin=1e0,ymax=1e4,xscale='linear',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " sub.text(x=0.054,y=2e3, s=r'$T_{\\rm osc}$',rotation=90)\n", - "\n", - "# fig.savefig('histogram.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.9, right=0.9,wspace=0.0,hspace=0.25)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " colors=iter(['xkcd:red','xkcd:blue','xkcd:black','xkcd:gray'])\n", - " lines=iter([':','-','-.','--'])\n", - " \n", - " for i,_ in enumerate(dt):\n", - " sub.bar(i,_,color=next(colors))\n", - " \n", - " \n", - " sub.set_xlabel(r'')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'time$~[{\\rm s}]$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " \n", - " \n", - " \n", - " #set major ticks\n", - " _M_xticks=[]\n", - " _M_yticks=[ round(0.0 + i*0.05,3) for i in range(0,5) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[i*0.025 for i in range(1,10) ] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=-0.2,xmax=3.2,ymin=0,ymax=0.15,xscale='linear',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " \n", - "# fig.savefig('dt.pdf',bbox_inches='tight')\n", - "\n", - " \n", - " fig.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "#run the destructor\n", - "del ax" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Documentation/RKcompare/DormandPrince.dat b/Documentation/RKcompare/DormandPrince.dat deleted file mode 100644 index 50ee4b2..0000000 --- a/Documentation/RKcompare/DormandPrince.dat +++ /dev/null @@ -1,2500 +0,0 @@ -1.000000000000000021e-03 1.000000000000000000e+05 9.424881792088004749e-04 1.340632022891379904e+01 8.067924709669583734e-16 -1.178610770701415088e-03 1.000000000000000000e+05 1.110826723474800121e-03 1.340632022891379904e+01 1.148003811054642760e-15 -1.389123348813385214e-03 1.000000000000000000e+05 1.309232347547640857e-03 1.340632022891379904e+01 1.586570926938789653e-15 -1.637235740744274635e-03 1.000000000000000000e+05 1.543075357430072174e-03 1.340632022891379904e+01 2.157319963851714862e-15 -1.929663678218512032e-03 1.000000000000000000e+05 1.818685254705840627e-03 1.340632022891379904e+01 3.048024374453781445e-15 -2.274322394979648009e-03 1.000000000000000000e+05 2.143522059894295822e-03 1.340632022891379904e+01 4.193659323819489883e-15 -2.680540870770453925e-03 1.000000000000000000e+05 2.526378236442783885e-03 1.340632022891379904e+01 5.955229040531602036e-15 -3.159314341595407215e-03 1.000000000000000000e+05 2.977616681241558594e-03 1.340632022891379904e+01 8.189859569090218750e-15 -3.723601911035797143e-03 1.000000000000000000e+05 3.509451223991119726e-03 1.340632022891379904e+01 1.142151293164763929e-14 -4.388677318151167420e-03 1.000000000000000000e+05 4.136277228714737089e-03 1.340632022891379904e+01 1.575965237639496559e-14 -5.172542356305966961e-03 1.000000000000000000e+05 4.875061247433280440e-03 1.340632022891379904e+01 2.188904260798205192e-14 -6.096414133051489617e-03 1.000000000000000000e+05 5.745800275375494669e-03 1.340632022891379904e+01 3.089745246539669284e-14 -7.185299359870824139e-03 1.000000000000000000e+05 6.772063042616173652e-03 1.340632022891379904e+01 4.320059577648168500e-14 -8.468671216257736209e-03 1.000000000000000000e+05 7.981628000148791729e-03 1.340632022891379904e+01 5.935447762789247691e-14 -9.981267109010422481e-03 1.000000000000000000e+05 9.407235279928805732e-03 1.340632022891379904e+01 8.341507371817538023e-14 -1.176402891992746509e-02 1.000000000000000000e+05 1.108747300038590532e-02 1.340632022891379904e+01 1.162372445133059182e-13 -1.386521119186945317e-02 1.000000000000000000e+05 1.306782193672449514e-02 1.340632022891379904e+01 1.613384743674105472e-13 -1.634168724878715118e-02 1.000000000000000000e+05 1.540188688058674940e-02 1.340632022891379904e+01 2.250621604694032045e-13 -1.926048860285451206e-02 1.000000000000000000e+05 1.815284809752218051e-02 1.340632022891379904e+01 3.147470183625188868e-13 -2.270061931629619237e-02 1.000000000000000000e+05 2.139517229840633139e-02 1.340632022891379904e+01 4.361319648547727258e-13 -2.675519442777928719e-02 1.000000000000000000e+05 2.521662964754311023e-02 1.340632022891379904e+01 6.099816834568322008e-13 -3.153396032479117289e-02 1.000000000000000000e+05 2.972067174840492543e-02 1.340632022891379904e+01 8.468096547829295575e-13 -3.716626528166998983e-02 1.000000000000000000e+05 3.502923553901000214e-02 1.340632022891379904e+01 1.184525029045067442e-12 -4.380456056772231294e-02 1.000000000000000000e+05 4.128604991777641564e-02 1.340632022891379904e+01 1.640785569228507814e-12 -5.162852689096004283e-02 1.000000000000000000e+05 4.866053611830045700e-02 1.340632022891379904e+01 2.288924514214722473e-12 -6.084993786913318187e-02 1.000000000000000000e+05 5.735240988791858591e-02 1.340632022891379904e+01 3.177324086206536275e-12 -7.171839216907228975e-02 1.000000000000000000e+05 6.759711409928749470e-02 1.340632022891379904e+01 4.435474485376838249e-12 -8.452806946785666742e-02 1.000000000000000000e+05 7.967223548182146564e-02 1.340632022891379904e+01 6.183346983732865383e-12 -9.962569310141336509e-02 1.000000000000000000e+05 9.390509001172621384e-02 1.340632022891379904e+01 8.550143341884237854e-12 -1.174199149279194637e-01 1.000000000000000000e+05 1.106817000098174741e-01 1.340632022891379904e+01 1.194745847792904210e-11 -1.383923764288897684e-01 1.000000000000000000e+05 1.304574348769809433e-01 1.340632022891379904e+01 1.655037812493368796e-11 -1.631107454420542835e-01 1.000000000000000000e+05 1.537696506684316511e-01 1.340632022891379904e+01 2.319395375321283320e-11 -1.922440813951419580e-01 1.000000000000000000e+05 1.812527474175278652e-01 1.340632022891379904e+01 3.218312543171771732e-11 -2.265809449359138250e-01 1.000000000000000000e+05 2.136561764468419833e-01 1.340632022891379904e+01 4.496259628457066644e-11 -2.670507421371726142e-01 1.000000000000000000e+05 2.518660868161132771e-01 1.340632022891379904e+01 6.260629887335532025e-11 -3.147488810066778608e-01 1.000000000000000000e+05 2.969315216972648330e-01 1.340632022891379904e+01 8.729309735864210777e-11 -3.709664212206886247e-01 1.000000000000000000e+05 3.500963933454229737e-01 1.340632022891379904e+01 1.214177767807857465e-10 -4.372250196192620786e-01 1.000000000000000000e+05 4.128389249475730716e-01 1.340632022891379904e+01 1.706474050710046358e-10 -5.153181173433998286e-01 1.000000000000000000e+05 4.869209108050070456e-01 1.340632022891379904e+01 2.382921951937109838e-10 -6.073594834385067642e-01 1.000000000000000000e+05 5.744500870552948779e-01 1.340632022891379904e+01 3.344153793462679069e-10 -7.158404288682718164e-01 1.000000000000000000e+05 6.779601851894171416e-01 1.340632022891379904e+01 4.714003050596337868e-10 -8.436972395676662906e-01 1.000000000000000000e+05 8.005148307571671173e-01 1.340632022891379904e+01 6.642028933090815425e-10 -9.943906537655036182e-01 1.000000000000000000e+05 9.458430190757226574e-01 1.340632022891379904e+01 9.343136527761854102e-10 -1.171999534812844468e+00 1.000000000000000000e+05 1.118514306479321041e+00 1.340632022891379904e+01 1.328341136889177096e-09 -1.381331274987467994e+00 1.000000000000000000e+05 1.324158017334258419e+00 1.340632022891379904e+01 1.911387098998693174e-09 -1.628051918606947979e+00 1.000000000000000000e+05 1.569715434354834072e+00 1.340632022891379904e+01 2.787625774676907509e-09 -1.918839526531252559e+00 1.000000000000000000e+05 1.863672228608684645e+00 1.340632022891379904e+01 4.199947232251667957e-09 -2.261564933217340645e+00 1.000000000000000000e+05 2.216125890270485232e+00 1.340632022891379904e+01 6.587014824066919457e-09 -2.665504788930584290e+00 1.000000000000000000e+05 2.638380418990232013e+00 1.340632022891379904e+01 1.175169903202919262e-08 -3.141592653589792672e+00 1.000000000000000000e+05 3.141592653589792672e+00 1.340632022891379904e+01 4.512137713401641396e-07 -1.000000000000000021e-03 2.023589647725155519e+05 9.399571766038922627e-04 1.189135925843710950e+01 1.838484678633237536e-15 -1.178610770701415088e-03 2.023589647725155519e+05 1.107843656720014589e-03 1.189135925843710950e+01 2.592356821073193555e-15 -1.389123348813385214e-03 2.023589647725155519e+05 1.305716473228936457e-03 1.189135925843710950e+01 3.619295189076443797e-15 -1.637235740744274635e-03 2.023589647725155519e+05 1.538931510561477320e-03 1.189135925843710950e+01 4.986594307676637053e-15 -1.929663678218512032e-03 2.023589647725155519e+05 1.813801272926928321e-03 1.189135925843710950e+01 6.904779143437808012e-15 -2.274322394979648009e-03 2.023589647725155519e+05 2.137765747630607834e-03 1.189135925843710950e+01 9.584018869442593337e-15 -2.680540870770453925e-03 2.023589647725155519e+05 2.519593786880133628e-03 1.189135925843710950e+01 1.335972054773882565e-14 -3.159314341595407215e-03 2.023589647725155519e+05 2.969620459304213225e-03 1.189135925843710950e+01 1.880389634853662515e-14 -3.723601911035797143e-03 2.023589647725155519e+05 3.500026796241850063e-03 1.189135925843710950e+01 2.601367281658091514e-14 -4.388677318151167420e-03 2.023589647725155519e+05 4.125169505750051792e-03 1.189135925843710950e+01 3.605642646673468491e-14 -5.172542356305966961e-03 2.023589647725155519e+05 4.861969580388819309e-03 1.189135925843710950e+01 5.032874693965410043e-14 -6.096414133051489617e-03 2.023589647725155519e+05 5.730370319951994841e-03 1.189135925843710950e+01 6.993662627199741446e-14 -7.185299359870824139e-03 2.023589647725155519e+05 6.753877170848143069e-03 1.189135925843710950e+01 9.739710091839200325e-14 -8.468671216257736209e-03 2.023589647725155519e+05 7.960194001110372508e-03 1.189135925843710950e+01 1.368798822581308149e-13 -9.981267109010422481e-03 2.023589647725155519e+05 9.381973044717486707e-03 1.189135925843710950e+01 1.891975412268715988e-13 -1.176402891992746509e-02 2.023589647725155519e+05 1.105769883291783315e-02 1.189135925843710950e+01 2.653017397840756741e-13 -1.386521119186945317e-02 2.023589647725155519e+05 1.303273006884537837e-02 1.189135925843710950e+01 3.673504242275473388e-13 -1.634168724878715118e-02 2.023589647725155519e+05 1.536052769634964517e-02 1.189135925843710950e+01 5.170095932632255181e-13 -1.926048860285451206e-02 2.023589647725155519e+05 1.810410248571471536e-02 1.189135925843710950e+01 7.132643141571853699e-13 -2.270061931629619237e-02 2.023589647725155519e+05 2.133772145302320275e-02 1.189135925843710950e+01 1.000984238302286499e-12 -2.675519442777928719e-02 2.023589647725155519e+05 2.514891952154632571e-02 1.189135925843710950e+01 1.386032805924365596e-12 -3.153396032479117289e-02 2.023589647725155519e+05 2.964087123589495207e-02 1.189135925843710950e+01 1.937528782475397424e-12 -3.716626528166998983e-02 2.023589647725155519e+05 3.493518731491446899e-02 1.189135925843710950e+01 2.688350423158219150e-12 -4.380456056772231294e-02 2.023589647725155519e+05 4.117521270427847158e-02 1.189135925843710950e+01 3.757141051573541563e-12 -5.162852689096004283e-02 2.023589647725155519e+05 4.852991697877019617e-02 1.189135925843710950e+01 5.239593094923427452e-12 -6.084993786913318187e-02 2.023589647725155519e+05 5.719848498325739994e-02 1.189135925843710950e+01 7.271581534115761048e-12 -7.171839216907228975e-02 2.023589647725155519e+05 6.741573619959112529e-02 1.189135925843710950e+01 1.009395934962298049e-11 -8.452806946785666742e-02 2.023589647725155519e+05 7.945852644632471484e-02 1.189135925843710950e+01 1.401236683709123726e-11 -9.962569310141336509e-02 2.023589647725155519e+05 9.365331649862654317e-02 1.189135925843710950e+01 1.957249003279566549e-11 -1.174199149279194637e-01 2.023589647725155519e+05 1.103851309681462556e-01 1.189135925843710950e+01 2.726342636767922803e-11 -1.383923764288897684e-01 2.023589647725155519e+05 1.301081800956003232e-01 1.189135925843710950e+01 3.796955999722299032e-11 -1.631107454420542835e-01 2.023589647725155519e+05 1.533584811288297156e-01 1.189135925843710950e+01 5.278188537923841967e-11 -1.922440813951419580e-01 2.023589647725155519e+05 1.807689009383745271e-01 1.189135925843710950e+01 7.362070951736226190e-11 -2.265809449359138250e-01 2.023589647725155519e+05 2.130871569704840540e-01 1.189135925843710950e+01 1.017437367635393272e-10 -2.670507421371726142e-01 2.023589647725155519e+05 2.511974740495064862e-01 1.189135925843710950e+01 1.425063609734158049e-10 -3.147488810066778608e-01 2.023589647725155519e+05 2.961468218948792863e-01 1.189135925843710950e+01 1.978675753379862698e-10 -3.709664212206886247e-01 2.023589647725155519e+05 3.491769853133028789e-01 1.189135925843710950e+01 2.772516387147635372e-10 -4.372250196192620786e-01 2.023589647725155519e+05 4.117641933026515710e-01 1.189135925843710950e+01 3.859686350759128785e-10 -5.153181173433998286e-01 2.023589647725155519e+05 4.856687193703054239e-01 1.189135925843710950e+01 5.417322920212582361e-10 -6.073594834385067642e-01 2.023589647725155519e+05 5.729978408621529962e-01 1.189135925843710950e+01 7.580143571531048269e-10 -7.158404288682718164e-01 2.023589647725155519e+05 6.762868755058846215e-01 1.189135925843710950e+01 1.069253363476983684e-09 -8.436972395676662906e-01 2.023589647725155519e+05 7.986046705564776582e-01 1.189135925843710950e+01 1.506409643966199330e-09 -9.943906537655036182e-01 2.023589647725155519e+05 9.436915629861913901e-01 1.189135925843710950e+01 2.130085183367441176e-09 -1.171999534812844468e+00 2.023589647725155519e+05 1.116138272169343582e+00 1.189135925843710950e+01 3.035322233100031426e-09 -1.381331274987467994e+00 2.023589647725155519e+05 1.321610213944469647e+00 1.189135925843710950e+01 4.375918929853521939e-09 -1.628051918606947979e+00 2.023589647725155519e+05 1.567105742616086816e+00 1.189135925843710950e+01 6.382034132045251346e-09 -1.918839526531252559e+00 2.023589647725155519e+05 1.861193172543440300e+00 1.189135925843710950e+01 9.522421974538139664e-09 -2.261564933217340645e+00 2.023589647725155519e+05 2.214074278131499707e+00 1.189135925843710950e+01 1.493235293415789000e-08 -2.665504788930584290e+00 2.023589647725155519e+05 2.637150729217605516e+00 1.189135925843710950e+01 2.658409138397032271e-08 -3.141592653589792672e+00 2.023589647725155519e+05 3.141592653589792672e+00 1.189135925843710950e+01 1.025597424231594000e-06 -1.000000000000000021e-03 4.094915062380427262e+05 9.441759651414554765e-04 1.065047636917520002e+01 4.171209868184130760e-15 -1.178610770701415088e-03 4.094915062380427262e+05 1.112815966036019913e-03 1.065047636917520002e+01 5.838797381620917284e-15 -1.389123348813385214e-03 4.094915062380427262e+05 1.311576890063218719e-03 1.065047636917520002e+01 8.165976784263687491e-15 -1.637235740744274635e-03 4.094915062380427262e+05 1.545838660175945494e-03 1.065047636917520002e+01 1.110419736900906423e-14 -1.929663678218512032e-03 4.094915062380427262e+05 1.821942112568527205e-03 1.065047636917520002e+01 1.555637589486747345e-14 -2.274322394979648009e-03 4.094915062380427262e+05 2.147360626804582697e-03 1.065047636917520002e+01 2.195436113430072080e-14 -2.680540870770453925e-03 4.094915062380427262e+05 2.530902411363319515e-03 1.065047636917520002e+01 3.027014349898776782e-14 -3.159314341595407215e-03 4.094915062380427262e+05 2.982948920265527867e-03 1.065047636917520002e+01 4.245326255610869217e-14 -3.723601911035797143e-03 4.094915062380427262e+05 3.515735854626893427e-03 1.065047636917520002e+01 5.923576990625837095e-14 -4.388677318151167420e-03 4.094915062380427262e+05 4.143684355998074678e-03 1.065047636917520002e+01 8.280367154447057226e-14 -5.172542356305966961e-03 4.094915062380427262e+05 4.883791357485033069e-03 1.065047636917520002e+01 1.136381820277949348e-13 -6.096414133051489617e-03 4.094915062380427262e+05 5.756089660830670390e-03 1.065047636917520002e+01 1.591875912299896449e-13 -7.185299359870824139e-03 4.094915062380427262e+05 6.784190196481354462e-03 1.065047636917520002e+01 2.203259860708399460e-13 -8.468671216257736209e-03 4.094915062380427262e+05 7.995921150669832098e-03 1.065047636917520002e+01 3.071790914673549540e-13 -9.981267109010422481e-03 4.094915062380427262e+05 9.424081269627349045e-03 1.065047636917520002e+01 4.330771682312545500e-13 -1.176402891992746509e-02 4.094915062380427262e+05 1.110732774830288684e-02 1.065047636917520002e+01 5.944044140533924761e-13 -1.386521119186945317e-02 4.094915062380427262e+05 1.309122276493780539e-02 1.065047636917520002e+01 8.372012018356124241e-13 -1.634168724878715118e-02 4.094915062380427262e+05 1.542946703518185102e-02 1.065047636917520002e+01 1.158670395696764699e-12 -1.926048860285451206e-02 4.094915062380427262e+05 1.818535385138341648e-02 1.065047636917520002e+01 1.620952553294370516e-12 -2.270061931629619237e-02 4.094915062380427262e+05 2.143348308946328024e-02 1.065047636917520002e+01 2.256113443128577672e-12 -2.675519442777928719e-02 4.094915062380427262e+05 2.526178178234762470e-02 1.065047636917520002e+01 3.156333523380134950e-12 -3.153396032479117289e-02 4.094915062380427262e+05 2.977388628772674808e-02 1.065047636917520002e+01 4.380760039474092408e-12 -3.716626528166998983e-02 4.094915062380427262e+05 3.509195107946998238e-02 1.065047636917520002e+01 6.158117379684458828e-12 -4.380456056772231294e-02 4.094915062380427262e+05 4.135996109009069943e-02 1.065047636917520002e+01 8.519314891024287788e-12 -5.162852689096004283e-02 4.094915062380427262e+05 4.874763873494029204e-02 1.065047636917520002e+01 1.180231185493030248e-11 -6.084993786913318187e-02 4.094915062380427262e+05 5.745505378341854430e-02 1.065047636917520002e+01 1.644948641387702062e-11 -7.171839216907228975e-02 4.094915062380427262e+05 6.771806480085144908e-02 1.065047636917520002e+01 2.292254214040548908e-11 -8.452806946785666742e-02 4.094915062380427262e+05 7.981474590073224518e-02 1.065047636917520002e+01 3.207111242203321054e-11 -9.962569310141336509e-02 4.094915062380427262e+05 9.407298331289806748e-02 1.065047636917520002e+01 4.441288325031028354e-11 -1.174199149279194637e-01 4.094915062380427262e+05 1.108794646218727586e-01 1.065047636917520002e+01 6.158830664156020574e-11 -1.383923764288897684e-01 4.094915062380427262e+05 1.306903321212430358e-01 1.065047636917520002e+01 8.574706886685125297e-11 -1.631107454420542835e-01 4.094915062380427262e+05 1.540438345008227627e-01 1.065047636917520002e+01 1.190334367067317362e-10 -1.922440813951419580e-01 4.094915062380427262e+05 1.815753939444553766e-01 1.065047636917520002e+01 1.658475938917661262e-10 -2.265809449359138250e-01 4.094915062380427262e+05 2.140356176261506982e-01 1.065047636917520002e+01 2.311848905057559225e-10 -2.670507421371726142e-01 4.094915062380427262e+05 2.523119371660323407e-01 1.065047636917520002e+01 3.216169199587618952e-10 -3.147488810066778608e-01 4.094915062380427262e+05 2.974547774328549776e-01 1.065047636917520002e+01 4.492085444314968329e-10 -3.709664212206886247e-01 4.094915062380427262e+05 3.507094678052303238e-01 1.065047636917520002e+01 6.283080310177739726e-10 -4.372250196192620786e-01 4.094915062380427262e+05 4.135555588309618447e-01 1.065047636917520002e+01 8.810719579834284643e-10 -5.153181173433998286e-01 4.094915062380427262e+05 4.877558551315049340e-01 1.065047636917520002e+01 1.232180994216390057e-09 -6.073594834385067642e-01 4.094915062380427262e+05 5.754183929981319112e-01 1.065047636917520002e+01 1.726290620298915479e-09 -7.158404288682718164e-01 4.094915062380427262e+05 6.790758376711728550e-01 1.065047636917520002e+01 2.420649109504550945e-09 -8.436972395676662906e-01 4.094915062380427262e+05 8.017883209317433479e-01 1.065047636917520002e+01 3.407452317046657761e-09 -9.943906537655036182e-01 4.094915062380427262e+05 9.472772604516451755e-01 1.065047636917520002e+01 4.828181680514841977e-09 -1.171999534812844468e+00 4.094915062380427262e+05 1.120098085891079176e+00 1.065047636917520002e+01 6.903242942711357948e-09 -1.381331274987467994e+00 4.094915062380427262e+05 1.325856049670633308e+00 1.065047636917520002e+01 9.881066879540685878e-09 -1.628051918606947979e+00 4.094915062380427262e+05 1.571454402705861675e+00 1.065047636917520002e+01 1.447033739940715624e-08 -1.918839526531252559e+00 4.094915062380427262e+05 1.865323798703834468e+00 1.065047636917520002e+01 2.165247612715604055e-08 -2.261564933217340645e+00 4.094915062380427262e+05 2.217492384041681586e+00 1.065047636917520002e+01 3.389279579385306427e-08 -2.665504788930584290e+00 4.094915062380427262e+05 2.639199302957444981e+00 1.065047636917520002e+01 5.990294064215370110e-08 -3.141592653589792672e+00 4.094915062380427262e+05 3.141592653589792672e+00 1.065047636917520002e+01 2.336788850073409182e-06 -1.000000000000000021e-03 8.286427728546842700e+05 9.413541629845761797e-04 9.446870563640469953e+00 9.505737357014509560e-15 -1.178610770701415088e-03 8.286427728546842700e+05 1.109490159817929809e-03 9.446870563640469953e+00 1.322092271852218799e-14 -1.389123348813385214e-03 8.286427728546842700e+05 1.307657059355514257e-03 9.446870563640469953e+00 1.821717169926190845e-14 -1.637235740744274635e-03 8.286427728546842700e+05 1.541218706012039644e-03 9.446870563640469953e+00 2.581292985594386219e-14 -1.929663678218512032e-03 8.286427728546842700e+05 1.816496985694476688e-03 9.446870563640469953e+00 3.557851538171891271e-14 -2.274322394979648009e-03 8.286427728546842700e+05 2.140942943037032423e-03 9.446870563640469953e+00 4.849163042584898411e-14 -2.680540870770453925e-03 8.286427728546842700e+05 2.523338462467047266e-03 9.446870563640469953e+00 6.903941472259126900e-14 -3.159314341595407215e-03 8.286427728546842700e+05 2.974033972417739272e-03 9.446870563640469953e+00 9.580295211831087650e-14 -3.723601911035797143e-03 8.286427728546842700e+05 3.505228607279015259e-03 9.446870563640469953e+00 1.335809979632921254e-13 -4.388677318151167420e-03 8.286427728546842700e+05 4.131300411263741021e-03 9.446870563640469953e+00 1.845489416940598312e-13 -5.172542356305966961e-03 8.286427728546842700e+05 4.869195523472175102e-03 9.446870563640469953e+00 2.612740469362520277e-13 -6.096414133051489617e-03 8.286427728546842700e+05 5.738886880890817221e-03 9.446870563640469953e+00 3.617965297451412704e-13 -7.185299359870824139e-03 8.286427728546842700e+05 6.763914859348433770e-03 9.446870563640469953e+00 5.043235110713329895e-13 -8.468671216257736209e-03 8.286427728546842700e+05 7.972024492949951122e-03 9.446870563640469953e+00 6.976617376483366183e-13 -9.981267109010422481e-03 8.286427728546842700e+05 9.395916530980458203e-03 9.446870563640469953e+00 9.782937755665147392e-13 -1.176402891992746509e-02 8.286427728546842700e+05 1.107413267967071423e-02 9.446870563640469953e+00 1.358777180361973933e-12 -1.386521119186945317e-02 8.286427728546842700e+05 1.305209901990517056e-02 9.446870563640469953e+00 1.905117336636126518e-12 -1.634168724878715118e-02 8.286427728546842700e+05 1.538335589245031637e-02 9.446870563640469953e+00 2.671024409508410221e-12 -1.926048860285451206e-02 8.286427728546842700e+05 1.813100762072446595e-02 9.446870563640469953e+00 3.694253256821076929e-12 -2.270061931629619237e-02 8.286427728546842700e+05 2.136943144273100934e-02 9.446870563640469953e+00 5.156203559886182994e-12 -2.675519442777928719e-02 8.286427728546842700e+05 2.518629212366930992e-02 9.446870563640469953e+00 7.121746826912060102e-12 -3.153396032479117289e-02 8.286427728546842700e+05 2.968491713185842512e-02 9.446870563640469953e+00 1.001452115381965217e-11 -3.716626528166998983e-02 8.286427728546842700e+05 3.498709724459235504e-02 9.446870563640469953e+00 1.383972230978404136e-11 -4.380456056772231294e-02 8.286427728546842700e+05 4.123638933319904998e-02 9.446870563640469953e+00 1.917817992249619914e-11 -5.162852689096004283e-02 8.286427728546842700e+05 4.860201227038523503e-02 9.446870563640469953e+00 2.709685402438538330e-11 -6.084993786913318187e-02 8.286427728546842700e+05 5.728344394059922684e-02 9.446870563640469953e+00 3.731012425523468708e-11 -7.171839216907228975e-02 8.286427728546842700e+05 6.751584791932088714e-02 9.446870563640469953e+00 5.218076469027905723e-11 -8.452806946785666742e-02 8.286427728546842700e+05 7.957648347278643841e-02 9.446870563640469953e+00 7.215934020783956537e-11 -9.962569310141336509e-02 8.286427728546842700e+05 9.379228343946952040e-02 9.446870563640469953e+00 1.006680345152564927e-10 -1.174199149279194637e-01 8.286427728546842700e+05 1.105488231739774202e-01 9.446870563640469953e+00 1.401540627556036477e-10 -1.383923764288897684e-01 8.286427728546842700e+05 1.303009528091813307e-01 9.446870563640469953e+00 1.951236835852077756e-10 -1.631107454420542835e-01 8.286427728546842700e+05 1.535854287003871055e-01 9.446870563640469953e+00 2.720631588519165854e-10 -1.922440813951419580e-01 8.286427728546842700e+05 1.810359641957655918e-01 9.446870563640469953e+00 3.781657482407411970e-10 -2.265809449359138250e-01 8.286427728546842700e+05 2.134012341574322291e-01 9.446870563640469953e+00 5.261447144462037363e-10 -2.670507421371726142e-01 8.286427728546842700e+05 2.515665261420333976e-01 9.446870563640469953e+00 7.343059312498435245e-10 -3.147488810066778608e-01 8.286427728546842700e+05 2.965799553558304269e-01 9.446870563640469953e+00 1.021918708201226446e-09 -3.709664212206886247e-01 8.286427728546842700e+05 3.496844825149216240e-01 9.446870563640469953e+00 1.433394091886904826e-09 -4.372250196192620786e-01 8.286427728546842700e+05 4.123574399306397242e-01 9.446870563640469953e+00 1.988744431455870951e-09 -5.153181173433998286e-01 8.286427728546842700e+05 4.863599445710810043e-01 9.446870563640469953e+00 2.786770208249253403e-09 -6.073594834385067642e-01 8.286427728546842700e+05 5.737995331422200973e-01 9.446870563640469953e+00 3.907101771190061135e-09 -7.158404288682718164e-01 8.286427728546842700e+05 6.772106567572323543e-01 9.446870563640469953e+00 5.509251741154558921e-09 -8.436972395676662906e-01 8.286427728546842700e+05 7.996592927073068457e-01 9.446870563640469953e+00 7.805860223825847972e-09 -9.943906537655036182e-01 8.286427728546842700e+05 9.448795327300698599e-01 9.446870563640469953e+00 1.099789217530841287e-08 -1.171999534812844468e+00 8.286427728546842700e+05 1.117450429109803078e+00 9.446870563640469953e+00 1.557802841382683816e-08 -1.381331274987467994e+00 8.286427728546842700e+05 1.323017479819910136e+00 9.446870563640469953e+00 2.249375368447408330e-08 -1.628051918606947979e+00 8.286427728546842700e+05 1.568547508670564472e+00 9.446870563640469953e+00 3.284186906756360137e-08 -1.918839526531252559e+00 8.286427728546842700e+05 1.862563116952600684e+00 9.446870563640469953e+00 4.930070315496888689e-08 -2.261564933217340645e+00 8.286427728546842700e+05 2.215208318712363234e+00 9.446870563640469953e+00 7.724400741137069509e-08 -2.665504788930584290e+00 8.286427728546842700e+05 2.637830603951707875e+00 9.446870563640469953e+00 1.370803759697741005e-07 -3.141592653589792672e+00 8.286427728546842700e+05 3.141592653589792672e+00 9.446870563640469953e+00 5.317449264061773361e-06 -1.000000000000000021e-03 1.676832936811009888e+06 9.385159154234110198e-04 8.383565128265413335e+00 2.158374252003270883e-14 -1.178610770701415088e-03 1.676832936811009888e+06 1.106144970869517687e-03 8.383565128265413335e+00 2.974240610513713831e-14 -1.389123348813385214e-03 1.676832936811009888e+06 1.303714383953573450e-03 8.383565128265413335e+00 4.141134260082428554e-14 -1.637235740744274635e-03 1.676832936811009888e+06 1.536571826846251437e-03 8.383565128265413335e+00 5.894869187392435055e-14 -1.929663678218512032e-03 1.676832936811009888e+06 1.811020124724512610e-03 8.383565128265413335e+00 8.060255271738924877e-14 -2.274322394979648009e-03 1.676832936811009888e+06 2.134487857124377566e-03 8.383565128265413335e+00 1.108773119229330176e-13 -2.680540870770453925e-03 1.676832936811009888e+06 2.515730431003208260e-03 8.383565128265413335e+00 1.548813913387652976e-13 -3.159314341595407215e-03 1.676832936811009888e+06 2.965067068386748571e-03 8.383565128265413335e+00 2.200099217763460588e-13 -3.723601911035797143e-03 1.676832936811009888e+06 3.494660123823394374e-03 8.383565128265413335e+00 3.042906041279360492e-13 -4.388677318151167420e-03 1.676832936811009888e+06 4.118844293008630357e-03 8.383565128265413335e+00 4.249392632575347547e-13 -5.172542356305966961e-03 1.676832936811009888e+06 4.854514624995523962e-03 8.383565128265413335e+00 5.864233892671527098e-13 -6.096414133051489617e-03 1.676832936811009888e+06 5.721583843098918508e-03 8.383565128265413335e+00 8.172643034843257165e-13 -7.185299359870824139e-03 1.676832936811009888e+06 6.743521357298674739e-03 8.383565128265413335e+00 1.133245592477457070e-12 -8.468671216257736209e-03 1.676832936811009888e+06 7.947988564896767832e-03 8.383565128265413335e+00 1.595122333086805750e-12 -9.981267109010422481e-03 1.676832936811009888e+06 9.367587646999454148e-03 8.383565128265413335e+00 2.207598148729343290e-12 -1.176402891992746509e-02 1.676832936811009888e+06 1.104074414787574628e-02 8.383565128265413335e+00 3.079778698094599644e-12 -1.386521119186945317e-02 1.676832936811009888e+06 1.301274725758969596e-02 8.383565128265413335e+00 4.290024460475359615e-12 -1.634168724878715118e-02 1.676832936811009888e+06 1.533697600688671558e-02 8.383565128265413335e+00 6.029446940109506204e-12 -1.926048860285451206e-02 1.676832936811009888e+06 1.807634464816818692e-02 8.383565128265413335e+00 8.334740547536019595e-12 -2.270061931629619237e-02 1.676832936811009888e+06 2.130500648271419981e-02 8.383565128265413335e+00 1.163120604846065830e-11 -2.675519442777928719e-02 1.676832936811009888e+06 2.511036247741630506e-02 8.383565128265413335e+00 1.619822355691737870e-11 -3.153396032479117289e-02 1.676832936811009888e+06 2.959542940759995328e-02 8.383565128265413335e+00 2.236682908590418099e-11 -3.716626528166998983e-02 1.676832936811009888e+06 3.488163222876724395e-02 8.383565128265413335e+00 3.140145760874741963e-11 -4.380456056772231294e-02 1.676832936811009888e+06 4.111209724716276964e-02 8.383565128265413335e+00 4.391155861834971745e-11 -5.162852689096004283e-02 1.676832936811009888e+06 4.845553684321237536e-02 8.383565128265413335e+00 6.113596308650955755e-11 -6.084993786913318187e-02 1.676832936811009888e+06 5.711083354237753845e-02 8.383565128265413335e+00 8.502599451009904876e-11 -7.171839216907228975e-02 1.676832936811009888e+06 6.731245183976175550e-02 8.383565128265413335e+00 1.182362964746473292e-10 -8.452806946785666742e-02 1.676832936811009888e+06 7.933683133979235746e-02 8.383565128265413335e+00 1.642745007613858702e-10 -9.962569310141336509e-02 1.676832936811009888e+06 9.350994582596289240e-02 8.383565128265413335e+00 2.291126154108177406e-10 -1.174199149279194637e-01 1.676832936811009888e+06 1.102162517657264418e-01 8.383565128265413335e+00 3.183852176490129883e-10 -1.383923764288897684e-01 1.676832936811009888e+06 1.299092993147425712e-01 8.383565128265413335e+00 4.458109863597007013e-10 -1.631107454420542835e-01 1.676832936811009888e+06 1.531243433308659418e-01 8.383565128265413335e+00 6.161602200195558091e-10 -1.922440813951419580e-01 1.676832936811009888e+06 1.804933776103573584e-01 8.383565128265413335e+00 8.570507030185373258e-10 -2.265809449359138250e-01 1.676832936811009888e+06 2.127631322140685899e-01 8.383565128265413335e+00 1.189258089185889934e-09 -2.670507421371726142e-01 1.676832936811009888e+06 2.508167361559413000e-01 8.383565128265413335e+00 1.663851673232412550e-09 -3.147488810066778608e-01 1.676832936811009888e+06 2.956999783316615615e-01 8.383565128265413335e+00 2.316980807675913321e-09 -3.709664212206886247e-01 1.676832936811009888e+06 3.486534319077574939e-01 8.383565128265413335e+00 3.238531406210396781e-09 -4.372250196192620786e-01 1.676832936811009888e+06 4.111521900155790665e-01 8.383565128265413335e+00 4.513593116517033365e-09 -5.153181173433998286e-01 1.676832936811009888e+06 4.849556596941899111e-01 8.383565128265413335e+00 6.324861708237227638e-09 -6.073594834385067642e-01 1.676832936811009888e+06 5.721708563032315009e-01 8.383565128265413335e+00 8.861110894435203327e-09 -7.158404288682718164e-01 1.676832936811009888e+06 6.753339997129275130e-01 8.383565128265413335e+00 1.249077088233657106e-08 -8.436972395676662906e-01 1.676832936811009888e+06 7.975169089595406380e-01 8.383565128265413335e+00 1.758197244535420977e-08 -9.943906537655036182e-01 1.676832936811009888e+06 9.424663770968747523e-01 8.383565128265413335e+00 2.490845979093389014e-08 -1.171999534812844468e+00 1.676832936811009888e+06 1.114785171802958663e+00 8.383565128265413335e+00 3.568192221144570459e-08 -1.381331274987467994e+00 1.676832936811009888e+06 1.320159258646562028e+00 8.383565128265413335e+00 5.115660095486743225e-08 -1.628051918606947979e+00 1.676832936811009888e+06 1.565619492306397520e+00 8.383565128265413335e+00 7.468743808041729446e-08 -1.918839526531252559e+00 1.676832936811009888e+06 1.859781259689086585e+00 8.383565128265413335e+00 1.114218549873707853e-07 -2.261564933217340645e+00 1.676832936811009888e+06 2.212905751454535164e+00 8.383565128265413335e+00 1.757921071877671481e-07 -2.665504788930584290e+00 1.676832936811009888e+06 2.636450307953893013e+00 8.383565128265413335e+00 3.119343136099490504e-07 -3.141592653589792672e+00 1.676832936811009888e+06 3.141592653589792672e+00 8.383565128265413335e+00 1.205793910049829440e-05 -1.000000000000000021e-03 3.393221771895329468e+06 9.429377967743149576e-04 7.514390788491691175e+00 4.914095203432183437e-14 -1.178610770701415088e-03 3.393221771895329468e+06 1.111356647549184389e-03 7.514390788491691175e+00 6.760949016920267976e-14 -1.389123348813385214e-03 3.393221771895329468e+06 1.309856921718565055e-03 7.514390788491691175e+00 9.590038637279325408e-14 -1.637235740744274635e-03 3.393221771895329468e+06 1.543811487191854969e-03 7.514390788491691175e+00 1.313083227196424978e-13 -1.929663678218512032e-03 3.393221771895329468e+06 1.819552865035542217e-03 7.514390788491691175e+00 1.849929978915926698e-13 -2.274322394979648009e-03 3.393221771895329468e+06 2.144544634550712720e-03 7.514390788491691175e+00 2.521230965766211609e-13 -2.680540870770453925e-03 3.393221771895329468e+06 2.527583453581675171e-03 7.514390788491691175e+00 3.545265007626686067e-13 -3.159314341595407215e-03 3.393221771895329468e+06 2.979037162544886756e-03 7.514390788491691175e+00 4.958341383819908036e-13 -3.723601911035797143e-03 3.393221771895329468e+06 3.511125417576384418e-03 7.514390788491691175e+00 6.940757077630630369e-13 -4.388677318151167420e-03 3.393221771895329468e+06 4.138250449704669771e-03 7.514390788491691175e+00 9.603163706036764275e-13 -5.172542356305966961e-03 3.393221771895329468e+06 4.877386904322301986e-03 7.514390788491691175e+00 1.328702001917833322e-12 -6.096414133051489617e-03 3.393221771895329468e+06 5.748541315339897664e-03 7.514390788491691175e+00 1.868142936603514571e-12 -7.185299359870824139e-03 3.393221771895329468e+06 6.775293654810932847e-03 7.514390788491691175e+00 2.610119698052121750e-12 -8.468671216257736209e-03 3.393221771895329468e+06 7.985435622967397215e-03 7.514390788491691175e+00 3.635573176803203897e-12 -9.981267109010422481e-03 3.393221771895329468e+06 9.411722966348864614e-03 7.514390788491691175e+00 5.087373726831788730e-12 -1.176402891992746509e-02 3.393221771895329468e+06 1.109276220508293755e-02 7.514390788491691175e+00 7.003606022465471761e-12 -1.386521119186945317e-02 3.393221771895329468e+06 1.307405579983506906e-02 7.514390788491691175e+00 9.770959145119253222e-12 -1.634168724878715118e-02 3.393221771895329468e+06 1.540923409608928492e-02 7.514390788491691175e+00 1.356076425398574363e-11 -1.926048860285451206e-02 3.393221771895329468e+06 1.816150746944510119e-02 7.514390788491691175e+00 1.905901213726461422e-11 -2.270061931629619237e-02 3.393221771895329468e+06 2.140537810573716476e-02 7.514390788491691175e+00 2.641414625488425589e-11 -2.675519442777928719e-02 3.393221771895329468e+06 2.522865795904003644e-02 7.514390788491691175e+00 3.694975489988547078e-11 -3.153396032479117289e-02 3.393221771895329468e+06 2.973484785166748134e-02 7.514390788491691175e+00 5.136549169569111082e-11 -3.716626528166998983e-02 3.393221771895329468e+06 3.504594267414130188e-02 7.514390788491691175e+00 7.206447892545979700e-11 -4.380456056772231294e-02 3.393221771895329468e+06 4.130573953443194418e-02 7.514390788491691175e+00 9.947580698525286075e-11 -5.162852689096004283e-02 3.393221771895329468e+06 4.868373990494231918e-02 7.514390788491691175e+00 1.385008372476955881e-10 -6.084993786913318187e-02 3.393221771895329468e+06 5.737975385171706355e-02 7.514390788491691175e+00 1.926197286296836166e-10 -7.171839216907228975e-02 3.393221771895329468e+06 6.762933500059922776e-02 7.514390788491691175e+00 2.680490013358810881e-10 -8.452806946785666742e-02 3.393221771895329468e+06 7.971019994179948109e-02 7.514390788491691175e+00 3.758411790119562301e-10 -9.962569310141336509e-02 3.393221771895329468e+06 9.394981660366726051e-02 7.514390788491691175e+00 5.209835324633459346e-10 -1.174199149279194637e-01 3.393221771895329468e+06 1.107343845943487282e-01 7.514390788491691175e+00 7.232039683576976709e-10 -1.383923764288897684e-01 3.393221771895329468e+06 1.305194793145628696e-01 7.514390788491691175e+00 1.004267773613975339e-09 -1.631107454420542835e-01 3.393221771895329468e+06 1.538426947841026737e-01 7.514390788491691175e+00 1.397552002381291698e-09 -1.922440813951419580e-01 3.393221771895329468e+06 1.813387036103814853e-01 7.514390788491691175e+00 1.942481068257455228e-09 -2.265809449359138250e-01 3.393221771895329468e+06 2.137572654800588279e-01 7.514390788491691175e+00 2.722379348421121137e-09 -2.670507421371726142e-01 3.393221771895329468e+06 2.519848718486377148e-01 7.514390788491691175e+00 3.792112158190850281e-09 -3.147488810066778608e-01 3.393221771895329468e+06 2.970709351337363358e-01 7.514390788491691175e+00 5.288671336204168952e-09 -3.709664212206886247e-01 3.393221771895329468e+06 3.502597469653646600e-01 7.514390788491691175e+00 7.358050845932617377e-09 -4.372250196192620786e-01 3.393221771895329468e+06 4.130298870597043370e-01 7.514390788491691175e+00 1.032338512043226725e-08 -5.153181173433998286e-01 3.393221771895329468e+06 4.871434233894371690e-01 7.514390788491691175e+00 1.443591596229842361e-08 -6.073594834385067642e-01 3.393221771895329468e+06 5.747081788778320988e-01 7.514390788491691175e+00 2.025466716269831494e-08 -7.158404288682718164e-01 3.393221771895329468e+06 6.782576108681125371e-01 7.514390788491691175e+00 2.855424283240173010e-08 -8.436972395676662906e-01 3.393221771895329468e+06 8.008544276393748662e-01 7.514390788491691175e+00 3.989436723309980196e-08 -9.943906537655036182e-01 3.393221771895329468e+06 9.462256221219487173e-01 7.514390788491691175e+00 5.658810660958108856e-08 -1.171999534812844468e+00 3.393221771895329468e+06 1.118937002365142375e+00 7.514390788491691175e+00 8.063205333807912957e-08 -1.381331274987467994e+00 3.393221771895329468e+06 1.324611482519755468e+00 7.514390788491691175e+00 1.157899874770500270e-07 -1.628051918606947979e+00 3.393221771895329468e+06 1.570180179808970067e+00 7.514390788491691175e+00 1.694276645682465041e-07 -1.918839526531252559e+00 3.393221771895329468e+06 1.864113999787469167e+00 7.514390788491691175e+00 2.542655013299682474e-07 -2.261564933217340645e+00 3.393221771895329468e+06 2.216491739350785029e+00 7.514390788491691175e+00 3.982024806893363255e-07 -2.665504788930584290e+00 3.393221771895329468e+06 2.638599826856538044e+00 7.514390788491691175e+00 7.050013998807468893e-07 -3.141592653589792672e+00 3.393221771895329468e+06 3.141592653589792672e+00 7.514390788491691175e+00 2.747647427665619613e-05 -1.000000000000000021e-03 6.866488450042998418e+06 9.404006573823294347e-04 6.669049072668335576e+00 1.119241090117435038e-13 -1.178610770701415088e-03 6.866488450042998418e+06 1.108366347911515087e-03 6.669049072668335576e+00 1.567132161540583221e-13 -1.389123348813385214e-03 6.866488450042998418e+06 1.306332522646948399e-03 6.669049072668335576e+00 2.146503195403053476e-13 -1.637235740744274635e-03 6.866488450042998418e+06 1.539657592958901212e-03 6.669049072668335576e+00 3.035500340487417948e-13 -1.929663678218512032e-03 6.866488450042998418e+06 1.814657041326810799e-03 6.669049072668335576e+00 4.210587049173070559e-13 -2.274322394979648009e-03 6.866488450042998418e+06 2.138774365264320063e-03 6.669049072668335576e+00 5.885874040547277184e-13 -2.680540870770453925e-03 6.866488450042998418e+06 2.520782554127184300e-03 6.669049072668335576e+00 8.103390638148532856e-13 -3.159314341595407215e-03 6.866488450042998418e+06 2.971021552596756453e-03 6.669049072668335576e+00 1.124041607354665420e-12 -3.723601911035797143e-03 6.866488450042998418e+06 3.501678138923379133e-03 6.669049072668335576e+00 1.570098982789007256e-12 -4.388677318151167420e-03 6.866488450042998418e+06 4.127115794442619973e-03 6.669049072668335576e+00 2.181018984630326027e-12 -5.172542356305966961e-03 6.866488450042998418e+06 4.864263494621217862e-03 6.669049072668335576e+00 3.051467036376063121e-12 -6.096414133051489617e-03 6.866488450042998418e+06 5.733073947743473966e-03 6.669049072668335576e+00 4.211959106825438863e-12 -7.185299359870824139e-03 6.866488450042998418e+06 6.757063688757825731e-03 6.669049072668335576e+00 5.930709420588966438e-12 -8.468671216257736209e-03 6.866488450042998418e+06 7.963949654101383849e-03 6.669049072668335576e+00 8.248382028843893359e-12 -9.981267109010422481e-03 6.866488450042998418e+06 9.386399479220144601e-03 6.669049072668335576e+00 1.148917867924494769e-11 -1.176402891992746509e-02 6.866488450042998418e+06 1.106291584590559686e-02 6.669049072668335576e+00 1.597149472117371789e-11 -1.386521119186945317e-02 6.866488450042998418e+06 1.303887884678348562e-02 6.669049072668335576e+00 2.234430793254827043e-11 -1.634168724878715118e-02 6.866488450042998418e+06 1.536777463078535348e-02 6.669049072668335576e+00 3.136215628788967154e-11 -1.926048860285451206e-02 6.866488450042998418e+06 1.811264366731229342e-02 6.669049072668335576e+00 4.316261892863799354e-11 -2.270061931629619237e-02 6.866488450042998418e+06 2.134778796327096301e-02 6.669049072668335576e+00 6.061921107930739841e-11 -2.675519442777928719e-02 6.866488450042998418e+06 2.516078366141568518e-02 6.669049072668335576e+00 8.353309579585783327e-11 -3.153396032479117289e-02 6.866488450042998418e+06 2.965485385357424439e-02 6.669049072668335576e+00 1.175210997203710383e-10 -3.716626528166998983e-02 6.866488450042998418e+06 3.495166642036741378e-02 6.669049072668335576e+00 1.619549143104232289e-10 -4.380456056772231294e-02 6.866488450042998418e+06 4.119463358646102691e-02 6.669049072668335576e+00 2.263249806915934890e-10 -5.162852689096004283e-02 6.866488450042998418e+06 4.855280407096955464e-02 6.669049072668335576e+00 3.151762258215510566e-10 -6.084993786913318187e-02 6.866488450042998418e+06 5.722545575126142953e-02 6.669049072668335576e+00 4.371664591321292870e-10 -7.171839216907228975e-02 6.866488450042998418e+06 6.744751735257858982e-02 6.669049072668335576e+00 6.114079501771833580e-10 -8.452806946785666742e-02 6.866488450042998418e+06 7.949597278486196517e-02 6.669049072668335576e+00 8.483923812601203870e-10 -9.962569310141336509e-02 6.866488450042998418e+06 9.369743270642720556e-02 6.669049072668335576e+00 1.181715510856544682e-09 -1.174199149279194637e-01 6.866488450042998418e+06 1.104370966046188951e-01 6.669049072668335576e+00 1.647139151283817293e-09 -1.383923764288897684e-01 6.866488450042998418e+06 1.301693779216060720e-01 6.669049072668335576e+00 2.289944826809995197e-09 -1.631107454420542835e-01 6.866488450042998418e+06 1.534305286435227178e-01 6.669049072668335576e+00 3.189413669517976279e-09 -1.922440813951419580e-01 6.866488450042998418e+06 1.808536845299024143e-01 6.669049072668335576e+00 4.436396741002827513e-09 -2.265809449359138250e-01 6.866488450042998418e+06 2.131868672395391684e-01 6.669049072668335576e+00 6.172439318500385767e-09 -2.670507421371726142e-01 6.866488450042998418e+06 2.513146394119584182e-01 6.669049072668335576e+00 8.634749863402502795e-09 -3.147488810066778608e-01 6.866488450042998418e+06 2.962843351219370258e-01 6.669049072668335576e+00 1.202787395342637625e-08 -3.709664212206886247e-01 6.866488450042998418e+06 3.493381136122539754e-01 6.669049072668335576e+00 1.668612049490045636e-08 -4.372250196192620786e-01 6.866488450042998418e+06 4.119525559231694833e-01 6.669049072668335576e+00 2.337139780277043869e-08 -5.153181173433998286e-01 6.866488450042998418e+06 4.858882060916222545e-01 6.669049072668335576e+00 3.273179178827482204e-08 -6.073594834385067642e-01 6.866488450042998418e+06 5.732524279739930062e-01 6.669049072668335576e+00 4.592466250544617956e-08 -7.158404288682718164e-01 6.866488450042998418e+06 6.765802702413530323e-01 6.669049072668335576e+00 6.470518959633548758e-08 -8.436972395676662906e-01 6.866488450042998418e+06 7.989396772977512828e-01 6.669049072668335576e+00 9.132117596085702343e-08 -9.943906537655036182e-01 6.866488450042998418e+06 9.440690134944991208e-01 6.669049072668335576e+00 1.292021754210948534e-07 -1.171999534812844468e+00 6.866488450042998418e+06 1.116555303629371609e+00 6.669049072668335576e+00 1.831674262790188452e-07 -1.381331274987467994e+00 6.866488450042998418e+06 1.322057642052695048e+00 6.669049072668335576e+00 2.642319780143610792e-07 -1.628051918606947979e+00 6.866488450042998418e+06 1.567564352808067607e+00 6.669049072668335576e+00 3.858346180282071808e-07 -1.918839526531252559e+00 6.866488450042998418e+06 1.861629171620860612e+00 6.669049072668335576e+00 5.765015862697858600e-07 -2.261564933217340645e+00 6.866488450042998418e+06 2.214435401475508769e+00 6.669049072668335576e+00 9.068162077334197514e-07 -2.665504788930584290e+00 6.866488450042998418e+06 2.637367331991484765e+00 6.669049072668335576e+00 1.610821267382302032e-06 -3.141592653589792672e+00 6.866488450042998418e+06 3.141592653589792672e+00 6.669049072668335576e+00 6.236116395901534527e-05 -1.000000000000000021e-03 1.389495494373136014e+07 9.378090106245688846e-04 5.919433049914739620e+00 2.551721617616217483e-13 -1.178610770701415088e-03 1.389495494373136014e+07 1.105311805308513765e-03 5.919433049914739620e+00 3.520500350829540878e-13 -1.389123348813385214e-03 1.389495494373136014e+07 1.302732406129448019e-03 5.919433049914739620e+00 4.940013827455442691e-13 -1.637235740744274635e-03 1.389495494373136014e+07 1.535414457336882477e-03 5.919433049914739620e+00 6.886521302306448105e-13 -1.929663678218512032e-03 1.389495494373136014e+07 1.809656036769133293e-03 5.919433049914739620e+00 9.415912474380874928e-13 -2.274322394979648009e-03 1.389495494373136014e+07 2.132880128718424566e-03 5.919433049914739620e+00 1.310501035132945647e-12 -2.680540870770453925e-03 1.389495494373136014e+07 2.513835545561344219e-03 5.919433049914739620e+00 1.831626745121359514e-12 -3.159314341595407215e-03 1.389495494373136014e+07 2.962833736935094765e-03 5.919433049914739620e+00 2.541146251224112789e-12 -3.723601911035797143e-03 1.389495494373136014e+07 3.492027896857901291e-03 5.919433049914739620e+00 3.526064009121627484e-12 -4.388677318151167420e-03 1.389495494373136014e+07 4.115741924474192528e-03 5.919433049914739620e+00 4.976152315675131245e-12 -5.172542356305966961e-03 1.389495494373136014e+07 4.850858144148747185e-03 5.919433049914739620e+00 6.904022723493613488e-12 -6.096414133051489617e-03 1.389495494373136014e+07 5.717274282139701846e-03 5.919433049914739620e+00 9.665769729234654779e-12 -7.185299359870824139e-03 1.389495494373136014e+07 6.738442073385921341e-03 5.919433049914739620e+00 1.348936793778358313e-11 -8.468671216257736209e-03 1.389495494373136014e+07 7.942002084262447803e-03 5.919433049914739620e+00 1.871945889828381557e-11 -9.981267109010422481e-03 1.389495494373136014e+07 9.360531946067224621e-03 5.919433049914739620e+00 2.595289730654106990e-11 -1.176402891992746509e-02 1.389495494373136014e+07 1.103242827126023340e-02 5.919433049914739620e+00 3.616200759754179688e-11 -1.386521119186945317e-02 1.389495494373136014e+07 1.300294615524536304e-02 5.919433049914739620e+00 5.097225216790327327e-11 -1.634168724878715118e-02 1.389495494373136014e+07 1.532542445209910363e-02 5.919433049914739620e+00 7.069140980189962984e-11 -1.926048860285451206e-02 1.389495494373136014e+07 1.806273007411693388e-02 5.919433049914739620e+00 9.796332219278962362e-11 -2.270061931629619237e-02 1.389495494373136014e+07 2.128896054756515901e-02 5.919433049914739620e+00 1.370055779666643309e-10 -2.675519442777928719e-02 1.389495494373136014e+07 2.509145113593918425e-02 5.919433049914739620e+00 1.905042665865238987e-10 -3.153396032479117289e-02 1.389495494373136014e+07 2.957314123090152083e-02 5.919433049914739620e+00 2.638179739030399114e-10 -3.716626528166998983e-02 1.389495494373136014e+07 3.485536467288861961e-02 5.919433049914739620e+00 3.685990156585416005e-10 -4.380456056772231294e-02 1.389495494373136014e+07 4.108114052653670523e-02 5.919433049914739620e+00 5.161286762741667300e-10 -5.162852689096004283e-02 1.389495494373136014e+07 4.841905501776767873e-02 5.919433049914739620e+00 7.173724691042110801e-10 -6.084993786913318187e-02 1.389495494373136014e+07 5.706784238049614211e-02 5.919433049914739620e+00 9.984628854235530896e-10 -7.171839216907228975e-02 1.389495494373136014e+07 6.726179297921050515e-02 5.919433049914739620e+00 1.388695027442091773e-09 -8.452806946785666742e-02 1.389495494373136014e+07 7.927714224573642610e-02 5.919433049914739620e+00 1.937282429587786146e-09 -9.962569310141336509e-02 1.389495494373136014e+07 9.343962505763563076e-02 5.919433049914739620e+00 2.688277031609558590e-09 -1.174199149279194637e-01 1.389495494373136014e+07 1.101334191426804887e-01 5.919433049914739620e+00 3.742153322328247331e-09 -1.383923764288897684e-01 1.389495494373136014e+07 1.298117507726043729e-01 5.919433049914739620e+00 5.226361365278512451e-09 -1.631107454420542835e-01 1.389495494373136014e+07 1.530095006628723331e-01 5.919433049914739620e+00 7.243471202444459723e-09 -1.922440813951419580e-01 1.389495494373136014e+07 1.803582340492047853e-01 5.919433049914739620e+00 1.007608860217264992e-08 -2.265809449359138250e-01 1.389495494373136014e+07 2.126041961550677872e-01 5.919433049914739620e+00 1.397496734275332683e-08 -2.670507421371726142e-01 1.389495494373136014e+07 2.506299776403672630e-01 5.919433049914739620e+00 1.954159254926690841e-08 -3.147488810066778608e-01 1.389495494373136014e+07 2.954807868141127170e-01 5.919433049914739620e+00 2.724113452296086330e-08 -3.709664212206886247e-01 1.389495494373136014e+07 3.483966002998395983e-01 5.919433049914739620e+00 3.802532653448851268e-08 -4.372250196192620786e-01 1.389495494373136014e+07 4.108519505521666670e-01 5.919433049914739620e+00 5.301039907042563558e-08 -5.153181173433998286e-01 1.389495494373136014e+07 4.846058141155613064e-01 5.919433049914739620e+00 7.420434326914782332e-08 -6.073594834385067642e-01 1.389495494373136014e+07 5.717650695299694164e-01 5.919433049914739620e+00 1.040764819468554983e-07 -7.158404288682718164e-01 1.389495494373136014e+07 6.748663670598282760e-01 5.919433049914739620e+00 1.468053557044699840e-07 -8.436972395676662906e-01 1.389495494373136014e+07 7.969829668564362146e-01 5.919433049914739620e+00 2.066186139914070971e-07 -9.943906537655036182e-01 1.389495494373136014e+07 9.418648085200486131e-01 5.919433049914739620e+00 2.928162493538401750e-07 -1.171999534812844468e+00 1.389495494373136014e+07 1.114120550479611449e+00 5.919433049914739620e+00 4.193881362840435124e-07 -1.381331274987467994e+00 1.389495494373136014e+07 1.319446233865603224e+00 5.919433049914739620e+00 6.004747660112311872e-07 -1.628051918606947979e+00 1.389495494373136014e+07 1.564888694783110878e+00 5.919433049914739620e+00 8.777506097429991634e-07 -1.918839526531252559e+00 1.389495494373136014e+07 1.859086541281794958e+00 5.919433049914739620e+00 1.315951152739651640e-06 -2.261564933217340645e+00 1.389495494373136014e+07 2.212330377782963708e+00 5.919433049914739620e+00 2.067181805769198926e-06 -2.665504788930584290e+00 1.389495494373136014e+07 2.636105214996069535e+00 5.919433049914739620e+00 3.650648714242944861e-06 -3.141592653589792672e+00 1.389495494373136014e+07 3.141592653589792672e+00 5.919433049914739620e+00 1.419183771541768593e-04 -1.000000000000000021e-03 2.811768697974230722e+07 9.424458545020090615e-04 5.307214035491937487e+00 5.878243902100744347e-13 -1.178610770701415088e-03 2.811768697974230722e+07 1.110776839122698360e-03 5.307214035491937487e+00 7.993565558009327836e-13 -1.389123348813385214e-03 2.811768697974230722e+07 1.309173553318186689e-03 5.307214035491937487e+00 1.138326141747625204e-12 -1.637235740744274635e-03 2.811768697974230722e+07 1.543006061926532240e-03 5.307214035491937487e+00 1.544181714198625656e-12 -1.929663678218512032e-03 2.811768697974230722e+07 1.818603582293005713e-03 5.307214035491937487e+00 2.184418526676185841e-12 -2.274322394979648009e-03 2.811768697974230722e+07 2.143425799931777953e-03 5.307214035491937487e+00 2.978693198590658652e-12 -2.680540870770453925e-03 2.811768697974230722e+07 2.526264783451696166e-03 5.307214035491937487e+00 4.165835319632709425e-12 -3.159314341595407215e-03 2.811768697974230722e+07 2.977482964385728438e-03 5.307214035491937487e+00 5.812164385655135054e-12 -3.723601911035797143e-03 2.811768697974230722e+07 3.509293623965195619e-03 5.307214035491937487e+00 8.169796300743496096e-12 -4.388677318151167420e-03 2.811768697974230722e+07 4.136091479791396443e-03 5.307214035491937487e+00 1.131882891149331304e-11 -5.172542356305966961e-03 2.811768697974230722e+07 4.874842322021198660e-03 5.307214035491937487e+00 1.544863133956886691e-11 -6.096414133051489617e-03 2.811768697974230722e+07 5.745542247968256355e-03 5.307214035491937487e+00 2.195493546524093844e-11 -7.185299359870824139e-03 2.811768697974230722e+07 6.771758929457576126e-03 5.307214035491937487e+00 3.057472257995572374e-11 -8.468671216257736209e-03 2.811768697974230722e+07 7.981269570287800527e-03 5.307214035491937487e+00 4.249814198213180869e-11 -9.981267109010422481e-03 2.811768697974230722e+07 9.406812832571345706e-03 5.307214035491937487e+00 5.949403637788913583e-11 -1.176402891992746509e-02 2.811768697974230722e+07 1.108697510255206471e-02 5.307214035491937487e+00 8.237942787189299742e-11 -1.386521119186945317e-02 2.811768697974230722e+07 1.306723511416764752e-02 5.307214035491937487e+00 1.146703771515006441e-10 -1.634168724878715118e-02 2.811768697974230722e+07 1.540119525370258445e-02 5.307214035491937487e+00 1.592936671989725873e-10 -1.926048860285451206e-02 2.811768697974230722e+07 1.815203295254657484e-02 5.307214035491937487e+00 2.238335758756566469e-10 -2.270061931629619237e-02 2.811768697974230722e+07 2.139421158254743369e-02 5.307214035491937487e+00 3.099030605643093020e-10 -2.675519442777928719e-02 2.811768697974230722e+07 2.521549737479464315e-02 5.307214035491937487e+00 4.339979045012279522e-10 -3.153396032479117289e-02 2.811768697974230722e+07 2.971933730063277407e-02 5.307214035491937487e+00 6.042547857979655985e-10 -3.716626528166998983e-02 2.811768697974230722e+07 3.502766284449949225e-02 5.307214035491937487e+00 8.461368449950021162e-10 -4.380456056772231294e-02 2.811768697974230722e+07 4.128419648681467408e-02 5.307214035491937487e+00 1.172196598432036443e-09 -5.162852689096004283e-02 2.811768697974230722e+07 4.865835191265023563e-02 5.307214035491937487e+00 1.625994149215723763e-09 -6.084993786913318187e-02 2.811768697974230722e+07 5.734983599842809893e-02 5.307214035491937487e+00 2.263319067695423725e-09 -7.171839216907228975e-02 2.811768697974230722e+07 6.759408120376976525e-02 5.307214035491937487e+00 3.150321233036051289e-09 -8.452806946785666742e-02 2.811768697974230722e+07 7.966866205442854620e-02 5.307214035491937487e+00 4.403510874897725007e-09 -9.962569310141336509e-02 2.811768697974230722e+07 9.390088025655338178e-02 5.307214035491937487e+00 6.126589852395735073e-09 -1.174199149279194637e-01 2.811768697974230722e+07 1.106767414974578617e-01 5.307214035491937487e+00 8.501965326082367398e-09 -1.383923764288897684e-01 2.811768697974230722e+07 1.304515958766533923e-01 5.307214035491937487e+00 1.179648399372590518e-08 -1.631107454420542835e-01 2.811768697974230722e+07 1.537627771958141598e-01 5.307214035491937487e+00 1.641291943360322332e-08 -1.922440813951419580e-01 2.811768697974230722e+07 1.812446600688614740e-01 5.307214035491937487e+00 2.282307711188882049e-08 -2.265809449359138250e-01 2.811768697974230722e+07 2.136466671783450177e-01 5.307214035491937487e+00 3.196129812818157514e-08 -2.670507421371726142e-01 2.811768697974230722e+07 2.518549159785246072e-01 5.307214035491937487e+00 4.456018563705209598e-08 -3.147488810066778608e-01 2.811768697974230722e+07 2.969184158868447554e-01 5.307214035491937487e+00 6.214984734866133802e-08 -3.709664212206886247e-01 2.811768697974230722e+07 3.500810450447256472e-01 5.307214035491937487e+00 8.647907877878936357e-08 -4.372250196192620786e-01 2.811768697974230722e+07 4.128209955921716134e-01 5.307214035491937487e+00 1.213523644268610202e-07 -5.153181173433998286e-01 2.811768697974230722e+07 4.869000399572034343e-01 5.307214035491937487e+00 1.696723732109515326e-07 -6.073594834385067642e-01 2.811768697974230722e+07 5.744259119692638471e-01 5.307214035491937487e+00 2.380855008234717114e-07 -7.158404288682718164e-01 2.811768697974230722e+07 6.779323774189034424e-01 5.307214035491937487e+00 3.356818218936099526e-07 -8.436972395676662906e-01 2.811768697974230722e+07 8.004831597374395535e-01 5.307214035491937487e+00 4.694581998092252624e-07 -9.943906537655036182e-01 2.811768697974230722e+07 9.458074566580859655e-01 5.307214035491937487e+00 6.654834789058074163e-07 -1.171999534812844468e+00 2.811768697974230722e+07 1.118475190148858545e+00 5.307214035491937487e+00 9.475658123845309443e-07 -1.381331274987467994e+00 2.811768697974230722e+07 1.324116289951772663e+00 5.307214035491937487e+00 1.361253571752566566e-06 -1.628051918606947979e+00 2.811768697974230722e+07 1.569672966352604560e+00 5.307214035491937487e+00 1.988225848574654716e-06 -1.918839526531252559e+00 2.811768697974230722e+07 1.863632186645679756e+00 5.307214035491937487e+00 2.989171282813265042e-06 -2.261564933217340645e+00 2.811768697974230722e+07 2.216093011985209582e+00 5.307214035491937487e+00 4.681933549074535994e-06 -2.665504788930584290e+00 2.811768697974230722e+07 2.638360844940174754e+00 5.307214035491937487e+00 8.248511924271666700e-06 -3.141592653589792672e+00 2.811768697974230722e+07 3.141592653589792672e+00 5.307214035491937487e+00 3.235544318045740163e-04 -1.000000000000000021e-03 5.689866029018304497e+07 9.400741846272335847e-04 4.712128940513527375e+00 1.335025922421306736e-12 -1.178610770701415088e-03 5.689866029018304497e+07 1.107981563628655753e-03 4.712128940513527375e+00 1.839592711962061376e-12 -1.389123348813385214e-03 5.689866029018304497e+07 1.305879011783836518e-03 4.712128940513527375e+00 2.552098941655070583e-12 -1.637235740744274635e-03 5.689866029018304497e+07 1.539123080231687493e-03 4.712128940513527375e+00 3.571342447995362731e-12 -1.929663678218512032e-03 5.689866029018304497e+07 1.814027058968787276e-03 4.712128940513527375e+00 4.958435048423326296e-12 -2.274322394979648009e-03 5.689866029018304497e+07 2.138031861434457059e-03 4.712128940513527375e+00 6.931610248339313276e-12 -2.680540870770453925e-03 5.689866029018304497e+07 2.519907431382326611e-03 4.712128940513527375e+00 9.526533132764592127e-12 -3.159314341595407215e-03 5.689866029018304497e+07 2.969990123939986355e-03 4.712128940513527375e+00 1.321703710416570856e-11 -3.723601911035797143e-03 5.689866029018304497e+07 3.500462486713142203e-03 4.712128940513527375e+00 1.847101311410687574e-11 -4.388677318151167420e-03 5.689866029018304497e+07 4.125683014822936062e-03 4.712128940513527375e+00 2.564713383075147301e-11 -5.172542356305966961e-03 5.689866029018304497e+07 4.862574807042899239e-03 4.712128940513527375e+00 3.553255485904946461e-11 -6.096414133051489617e-03 5.689866029018304497e+07 5.731083645508137925e-03 4.712128940513527375e+00 4.985794763765677765e-11 -7.185299359870824139e-03 5.689866029018304497e+07 6.754717902235468988e-03 4.712128940513527375e+00 6.988066927158779731e-11 -8.468671216257736209e-03 5.689866029018304497e+07 7.961184893238005753e-03 4.712128940513527375e+00 9.619120774627579413e-11 -9.981267109010422481e-03 5.689866029018304497e+07 9.383140916037044713e-03 4.712128940513527375e+00 1.343613507302973992e-10 -1.176402891992746509e-02 5.689866029018304497e+07 1.105907529075111570e-02 4.712128940513527375e+00 1.891219962905871830e-10 -1.386521119186945317e-02 5.689866029018304497e+07 1.303435236396722693e-02 4.712128940513527375e+00 2.597620875659854734e-10 -1.634168724878715118e-02 5.689866029018304497e+07 1.536243972972362558e-02 4.712128940513527375e+00 3.682035423218177919e-10 -1.926048860285451206e-02 5.689866029018304497e+07 1.810635599424878853e-02 4.712128940513527375e+00 5.074514644377483307e-10 -2.270061931629619237e-02 5.689866029018304497e+07 2.134037740581443826e-02 4.712128940513527375e+00 7.127563195007071369e-10 -2.675519442777928719e-02 5.689866029018304497e+07 2.515204976338217963e-02 4.712128940513527375e+00 9.817727538425133284e-10 -3.153396032479117289e-02 5.689866029018304497e+07 2.964456042081803008e-02 4.712128940513527375e+00 1.379371576755486381e-09 -3.716626528166998983e-02 5.689866029018304497e+07 3.493953517943986647e-02 4.712128940513527375e+00 1.909574171323195144e-09 -4.380456056772231294e-02 5.689866029018304497e+07 4.118033673729615263e-02 4.712128940513527375e+00 2.655294575090154466e-09 -5.162852689096004283e-02 5.689866029018304497e+07 4.853595555303764908e-02 4.712128940513527375e+00 3.707902443429599696e-09 -6.084993786913318187e-02 5.689866029018304497e+07 5.720560102119356949e-02 4.712128940513527375e+00 5.177746418996565406e-09 -7.171839216907228975e-02 5.689866029018304497e+07 6.742412145287347836e-02 4.712128940513527375e+00 7.195826344402744692e-09 -8.452806946785666742e-02 5.689866029018304497e+07 7.946840647285445536e-02 4.712128940513527375e+00 9.959528141685816239e-09 -9.962569310141336509e-02 5.689866029018304497e+07 9.366495641877518874e-02 4.712128940513527375e+00 1.391688732132724765e-08 -1.174199149279194637e-01 5.689866029018304497e+07 1.103988420697291917e-01 4.712128940513527375e+00 1.934204436262191803e-08 -1.383923764288897684e-01 5.689866029018304497e+07 1.301243273251571908e-01 4.712128940513527375e+00 2.687846332267006721e-08 -1.631107454420542835e-01 5.689866029018304497e+07 1.533774914412460444e-01 4.712128940513527375e+00 3.751812554665735819e-08 -1.922440813951419580e-01 5.689866029018304497e+07 1.807912723540863187e-01 4.712128940513527375e+00 5.223177748203489540e-08 -2.265809449359138250e-01 5.689866029018304497e+07 2.131134679708725777e-01 4.712128940513527375e+00 7.258924696180135354e-08 -2.670507421371726142e-01 5.689866029018304497e+07 2.512283925638874593e-01 4.712128940513527375e+00 1.015872024582881819e-07 -3.147488810066778608e-01 5.689866029018304497e+07 2.961831124956583738e-01 4.712128940513527375e+00 1.415390152551203771e-07 -3.709664212206886247e-01 5.689866029018304497e+07 3.492195121784280043e-01 4.712128940513527375e+00 1.975434884493557241e-07 -4.372250196192620786e-01 5.689866029018304497e+07 4.118139147740959016e-01 4.712128940513527375e+00 2.743730057628068856e-07 -5.153181173433998286e-01 5.689866029018304497e+07 4.857266671480675035e-01 4.712128940513527375e+00 3.840723982895738178e-07 -6.073594834385067642e-01 5.689866029018304497e+07 5.730650724588114420e-01 4.712128940513527375e+00 5.386955305342146908e-07 -7.158404288682718164e-01 5.689866029018304497e+07 6.763643817770891298e-01 4.712128940513527375e+00 7.589565240848425307e-07 -8.436972395676662906e-01 5.689866029018304497e+07 7.986932100363370868e-01 4.712128940513527375e+00 1.072836542814933277e-06 -9.943906537655036182e-01 5.689866029018304497e+07 9.437913808671161142e-01 4.712128940513527375e+00 1.520278545095765831e-06 -1.171999534812844468e+00 5.689866029018304497e+07 1.116248645423725483e+00 4.712128940513527375e+00 2.150940457875258764e-06 -1.381331274987467994e+00 5.689866029018304497e+07 1.321728752740588764e+00 4.712128940513527375e+00 3.106308854909947536e-06 -1.628051918606947979e+00 5.689866029018304497e+07 1.567227395844765114e+00 4.712128940513527375e+00 4.546158318762571460e-06 -1.918839526531252559e+00 5.689866029018304497e+07 1.861308994887138191e+00 4.712128940513527375e+00 6.799660031702781385e-06 -2.261564933217340645e+00 5.689866029018304497e+07 2.214170354308429456e+00 4.712128940513527375e+00 1.069101317696338748e-05 -2.665504788930584290e+00 5.689866029018304497e+07 2.637208429661435538e+00 4.712128940513527375e+00 1.890446441221829064e-05 -3.141592653589792672e+00 5.689866029018304497e+07 3.141592653589792672e+00 4.712128940513527375e+00 7.433692189047328997e-04 -1.000000000000000021e-03 1.151395399326448143e+08 9.377058925347438612e-04 4.184672566968505869e+00 2.974443836769733805e-12 -1.178610770701415088e-03 1.151395399326448143e+08 1.105190269224310415e-03 4.184672566968505869e+00 4.201948268576988686e-12 -1.389123348813385214e-03 1.151395399326448143e+08 1.302589162403231752e-03 4.184672566968505869e+00 5.769917305721866561e-12 -1.637235740744274635e-03 1.151395399326448143e+08 1.535245628757410039e-03 4.184672566968505869e+00 7.939866348091032831e-12 -1.929663678218512032e-03 1.151395399326448143e+08 1.809457053618206005e-03 4.184672566968505869e+00 1.109298137882327750e-11 -2.274322394979648009e-03 1.151395399326448143e+08 2.132645605084702248e-03 4.184672566968505869e+00 1.569540227830129160e-11 -2.680540870770453925e-03 1.151395399326448143e+08 2.513559133564398102e-03 4.184672566968505869e+00 2.128073551866747388e-11 -3.159314341595407215e-03 1.151395399326448143e+08 2.962507954915449306e-03 4.184672566968505869e+00 2.983467076052587831e-11 -3.723601911035797143e-03 1.151395399326448143e+08 3.491643926885122044e-03 4.184672566968505869e+00 4.166802725938347239e-11 -4.388677318151167420e-03 1.151395399326448143e+08 4.115289373696168901e-03 4.184672566968505869e+00 5.768782837980909322e-11 -5.172542356305966961e-03 1.151395399326448143e+08 4.850324763529195206e-03 4.184672566968505869e+00 8.071177577267214575e-11 -6.096414133051489617e-03 1.151395399326448143e+08 5.716645634981765318e-03 4.184672566968505869e+00 1.119502614166703656e-10 -7.185299359870824139e-03 1.151395399326448143e+08 6.737701144687528038e-03 4.184672566968505869e+00 1.565673351324309714e-10 -8.468671216257736209e-03 1.151395399326448143e+08 7.941128820358932250e-03 4.184672566968505869e+00 2.178891781673737547e-10 -9.981267109010422481e-03 1.151395399326448143e+08 9.359502712148370235e-03 4.184672566968505869e+00 3.029230043934633750e-10 -1.176402891992746509e-02 1.151395399326448143e+08 1.103121521215646300e-02 4.184672566968505869e+00 4.223381334325365038e-10 -1.386521119186945317e-02 1.151395399326448143e+08 1.300151644230940727e-02 4.184672566968505869e+00 5.853717062668727702e-10 -1.634168724878715118e-02 1.151395399326448143e+08 1.532373939600802960e-02 4.184672566968505869e+00 8.208152339656845067e-10 -1.926048860285451206e-02 1.151395399326448143e+08 1.806074407992391481e-02 4.184672566968505869e+00 1.141391293092861276e-09 -2.270061931629619237e-02 1.151395399326448143e+08 2.128661988427931959e-02 4.184672566968505869e+00 1.593214764993985106e-09 -2.675519442777928719e-02 1.151395399326448143e+08 2.508869248824983911e-02 4.184672566968505869e+00 2.233271830254969911e-09 -3.153396032479117289e-02 1.151395399326448143e+08 2.956988999535282298e-02 4.184672566968505869e+00 3.071907509137864664e-09 -3.716626528166998983e-02 1.151395399326448143e+08 3.485153295485356184e-02 4.184672566968505869e+00 4.279903956300843272e-09 -4.380456056772231294e-02 1.151395399326448143e+08 4.107662478781229365e-02 4.184672566968505869e+00 5.989945926073548834e-09 -5.162852689096004283e-02 1.151395399326448143e+08 4.841373331772812205e-02 4.184672566968505869e+00 8.345997234803956658e-09 -6.084993786913318187e-02 1.151395399326448143e+08 5.706157114694876409e-02 4.184672566968505869e+00 1.166428584177655785e-08 -7.171839216907228975e-02 1.151395399326448143e+08 6.725440323925616082e-02 4.184672566968505869e+00 1.610502653959470182e-08 -8.452806946785666742e-02 1.151395399326448143e+08 7.926843524358605231e-02 4.184672566968505869e+00 2.247369803517544158e-08 -9.962569310141336509e-02 1.151395399326448143e+08 9.342936718816476083e-02 4.184672566968505869e+00 3.121066219033041303e-08 -1.174199149279194637e-01 1.151395399326448143e+08 1.101213361410968428e-01 4.184672566968505869e+00 4.344201750457289608e-08 -1.383923764288897684e-01 1.151395399326448143e+08 1.297975211296620857e-01 4.184672566968505869e+00 6.111878392071190952e-08 -1.631107454420542835e-01 1.151395399326448143e+08 1.529927482943894412e-01 4.184672566968505869e+00 8.451885371316727805e-08 -1.922440813951419580e-01 1.151395399326448143e+08 1.803385203593247388e-01 4.184672566968505869e+00 1.176498735027487831e-07 -2.265809449359138250e-01 1.151395399326448143e+08 2.125810118292336959e-01 4.184672566968505869e+00 1.618845480318730275e-07 -2.670507421371726142e-01 1.151395399326448143e+08 2.506027348422735779e-01 4.184672566968505869e+00 2.267193500347686172e-07 -3.147488810066778608e-01 1.151395399326448143e+08 2.954488130307799665e-01 4.184672566968505869e+00 3.183286734721919328e-07 -3.709664212206886247e-01 1.151395399326448143e+08 3.483591360228941447e-01 4.184672566968505869e+00 4.446738726606816101e-07 -4.372250196192620786e-01 1.151395399326448143e+08 4.108081545233758236e-01 4.184672566968505869e+00 6.163909958307934053e-07 -5.153181173433998286e-01 1.151395399326448143e+08 4.845547823371824658e-01 4.184672566968505869e+00 8.683904068550090855e-07 -6.073594834385067642e-01 1.151395399326448143e+08 5.717058781328591133e-01 4.184672566968505869e+00 1.212539613588545229e-06 -7.158404288682718164e-01 1.151395399326448143e+08 6.747981550825822294e-01 4.184672566968505869e+00 1.714471436713923619e-06 -8.436972395676662906e-01 1.151395399326448143e+08 7.969050837248723429e-01 4.184672566968505869e+00 2.419788768561360096e-06 -9.943906537655036182e-01 1.151395399326448143e+08 9.417770628539255950e-01 4.184672566968505869e+00 3.417500714496408468e-06 -1.171999534812844468e+00 1.151395399326448143e+08 1.114023610372380846e+00 4.184672566968505869e+00 4.902401493322889040e-06 -1.381331274987467994e+00 1.151395399326448143e+08 1.319342237163096732e+00 4.184672566968505869e+00 7.022545076569406602e-06 -1.628051918606947979e+00 1.151395399326448143e+08 1.564782110120560343e+00 4.184672566968505869e+00 1.027224560755631392e-05 -1.918839526531252559e+00 1.151395399326448143e+08 1.858985223237775930e+00 4.184672566968505869e+00 1.538961529915763423e-05 -2.261564933217340645e+00 1.151395399326448143e+08 2.212246468913134922e+00 4.184672566968505869e+00 2.438552474143381512e-05 -2.665504788930584290e+00 1.151395399326448143e+08 2.636054890755755054e+00 4.184672566968505869e+00 4.337290690556451207e-05 -3.141592653589792672e+00 1.151395399326448143e+08 3.141592653589792672e+00 4.184672566968505869e+00 1.729222328147669721e-03 -1.000000000000000021e-03 2.329951810515371859e+08 9.425971849459629376e-04 3.754052849413867854e+00 7.077305162786463285e-12 -1.178610770701415088e-03 2.329951810515371859e+08 1.110955198803323472e-03 3.754052849413867854e+00 9.621502197778717340e-12 -1.389123348813385214e-03 2.329951810515371859e+08 1.309383769941550738e-03 3.754052849413867854e+00 1.335504045162185669e-11 -1.637235740744274635e-03 2.329951810515371859e+08 1.543253825474719034e-03 3.754052849413867854e+00 1.855589005988926334e-11 -1.929663678218512032e-03 2.329951810515371859e+08 1.818895599033167531e-03 3.754052849413867854e+00 2.624992024637529520e-11 -2.274322394979648009e-03 2.329951810515371859e+08 2.143769973931123479e-03 3.754052849413867854e+00 3.596649076425931885e-11 -2.680540870770453925e-03 2.329951810515371859e+08 2.526670430510161765e-03 3.754052849413867854e+00 5.012677752382889237e-11 -3.159314341595407215e-03 2.329951810515371859e+08 2.977961064174663303e-03 3.754052849413867854e+00 6.925808151354553099e-11 -3.723601911035797143e-03 2.329951810515371859e+08 3.509857117193093245e-03 3.754052849413867854e+00 9.741895188366242408e-11 -4.388677318151167420e-03 2.329951810515371859e+08 4.136755618434123129e-03 3.754052849413867854e+00 1.352250581889582551e-10 -5.172542356305966961e-03 2.329951810515371859e+08 4.875625082086641922e-03 3.754052849413867854e+00 1.884391978287603136e-10 -6.096414133051489617e-03 2.329951810515371859e+08 5.746464815951663613e-03 3.754052849413867854e+00 2.619402303832439117e-10 -7.185299359870824139e-03 2.329951810515371859e+08 6.772846275628180771e-03 3.754052849413867854e+00 3.576273893995175814e-10 -8.468671216257736209e-03 2.329951810515371859e+08 7.982551124280768892e-03 3.754052849413867854e+00 5.052620891163460867e-10 -9.981267109010422481e-03 2.329951810515371859e+08 9.408323279500615047e-03 3.754052849413867854e+00 7.057729787015000145e-10 -1.176402891992746509e-02 2.329951810515371859e+08 1.108875532107669176e-02 3.754052849413867854e+00 9.742169369761266949e-10 -1.386521119186945317e-02 2.329951810515371859e+08 1.306933328171258971e-02 3.754052849413867854e+00 1.372330274567706768e-09 -1.634168724878715118e-02 2.329951810515371859e+08 1.540366814843829348e-02 3.754052849413867854e+00 1.879472635044567847e-09 -1.926048860285451206e-02 2.329951810515371859e+08 1.815494748685926585e-02 3.754052849413867854e+00 2.659741163321484975e-09 -2.270061931629619237e-02 2.329951810515371859e+08 2.139764660867336105e-02 3.754052849413867854e+00 3.694811306200207125e-09 -2.675519442777928719e-02 2.329951810515371859e+08 2.521954581012730498e-02 3.754052849413867854e+00 5.153874289859189862e-09 -3.153396032479117289e-02 2.329951810515371859e+08 2.972410862799525558e-02 3.754052849413867854e+00 7.182361287573349618e-09 -3.716626528166998983e-02 2.329951810515371859e+08 3.503328605140012403e-02 3.754052849413867854e+00 9.997973238426328919e-09 -4.380456056772231294e-02 2.329951810515371859e+08 4.129082351725682498e-02 3.754052849413867854e+00 1.399735876823167339e-08 -5.162852689096004283e-02 2.329951810515371859e+08 4.866616171512743588e-02 3.754052849413867854e+00 1.942020205211435991e-08 -6.084993786913318187e-02 2.329951810515371859e+08 5.735903926363334487e-02 3.754052849413867854e+00 2.701288807109417431e-08 -7.171839216907228975e-02 2.329951810515371859e+08 6.760492589400730890e-02 3.754052849413867854e+00 3.722414469327623374e-08 -8.452806946785666742e-02 2.329951810515371859e+08 7.968143983144562736e-02 3.754052849413867854e+00 5.239572878936194881e-08 -9.962569310141336509e-02 2.329951810515371859e+08 9.391593391151971393e-02 3.754052849413867854e+00 7.280488025882131692e-08 -1.174199149279194637e-01 2.329951810515371859e+08 1.106944734693140892e-01 3.754052849413867854e+00 1.012337141967581170e-07 -1.383923764288897684e-01 2.329951810515371859e+08 1.304724779016126768e-01 3.754052849413867854e+00 1.398960202473835332e-07 -1.631107454420542835e-01 2.329951810515371859e+08 1.537873610424705106e-01 3.754052849413867854e+00 1.942544696629818406e-07 -1.922440813951419580e-01 2.329951810515371859e+08 1.812735891489116180e-01 3.754052849413867854e+00 2.715370034696819290e-07 -2.265809449359138250e-01 2.329951810515371859e+08 2.136806885313652093e-01 3.754052849413867854e+00 3.784030557147326656e-07 -2.670507421371726142e-01 2.329951810515371859e+08 2.518948916279523664e-01 3.754052849413867854e+00 5.256891270900311855e-07 -3.147488810066778608e-01 2.329951810515371859e+08 2.969653317208274523e-01 3.754052849413867854e+00 7.331498886483238233e-07 -3.709664212206886247e-01 2.329951810515371859e+08 3.501360139801581450e-01 3.754052849413867854e+00 1.024988972511152777e-06 -4.372250196192620786e-01 2.329951810515371859e+08 4.128852495074307183e-01 3.754052849413867854e+00 1.433972236702665320e-06 -5.153181173433998286e-01 2.329951810515371859e+08 4.869749012375123587e-01 3.754052849413867854e+00 2.001093090500358793e-06 -6.073594834385067642e-01 2.329951810515371859e+08 5.745127297920371578e-01 3.754052849413867854e+00 2.818119120094608997e-06 -7.158404288682718164e-01 2.329951810515371859e+08 6.780324051877676395e-01 3.754052849413867854e+00 3.959637509408467844e-06 -8.436972395676662906e-01 2.329951810515371859e+08 8.005973373701179563e-01 3.754052849413867854e+00 5.555547791369241819e-06 -9.943906537655036182e-01 2.329951810515371859e+08 9.459360443823832121e-01 3.754052849413867854e+00 7.950016430221322722e-06 -1.171999534812844468e+00 2.329951810515371859e+08 1.118617181350526790e+00 3.754052849413867854e+00 1.125135859106548306e-05 -1.381331274987467994e+00 2.329951810515371859e+08 1.324268519713863501e+00 3.754052849413867854e+00 1.627133361619574882e-05 -1.628051918606947979e+00 2.329951810515371859e+08 1.569828860436564222e+00 3.754052849413867854e+00 2.392209788172361632e-05 -1.918839526531252559e+00 2.329951810515371859e+08 1.863780239753174195e+00 3.754052849413867854e+00 3.567554302169081819e-05 -2.261564933217340645e+00 2.329951810515371859e+08 2.216215504839092354e+00 3.754052849413867854e+00 5.529377816278149978e-05 -2.665504788930584290e+00 2.329951810515371859e+08 2.638434247515101916e+00 3.754052849413867854e+00 9.620840894709359358e-05 -3.141592653589792672e+00 2.329951810515371859e+08 3.141592653589792672e+00 3.754052849413867854e+00 3.922267484560450906e-03 -1.000000000000000021e-03 4.714866363457389474e+08 9.405679509939437587e-04 3.335628017045612737e+00 1.593494796241597302e-11 -1.178610770701415088e-03 4.714866363457389474e+08 1.108563521952375111e-03 3.335628017045612737e+00 2.200839404175749942e-11 -1.389123348813385214e-03 4.714866363457389474e+08 1.306564914076121511e-03 3.335628017045612737e+00 3.005624344094431619e-11 -1.637235740744274635e-03 4.714866363457389474e+08 1.539931491969092877e-03 3.335628017045612737e+00 4.205843032091753968e-11 -1.929663678218512032e-03 4.714866363457389474e+08 1.814979861599142928e-03 3.335628017045612737e+00 5.909240735845984261e-11 -2.274322394979648009e-03 4.714866363457389474e+08 2.139154844630523390e-03 3.335628017045612737e+00 8.162453497261988129e-11 -2.680540870770453925e-03 4.714866363457389474e+08 2.521230991069073769e-03 3.335628017045612737e+00 1.140191555799889643e-10 -3.159314341595407215e-03 4.714866363457389474e+08 2.971550084981905079e-03 3.335628017045612737e+00 1.594198765212105978e-10 -3.723601911035797143e-03 4.714866363457389474e+08 3.502301072517549890e-03 3.335628017045612737e+00 2.226863203828890881e-10 -4.388677318151167420e-03 4.714866363457389474e+08 4.127849990084244899e-03 3.335628017045612737e+00 3.170790299721313814e-10 -5.172542356305966961e-03 4.714866363457389474e+08 4.865128824526792142e-03 3.335628017045612737e+00 4.380909466566213464e-10 -6.096414133051489617e-03 4.714866363457389474e+08 5.734093833276987344e-03 3.335628017045612737e+00 6.058925404158500671e-10 -7.185299359870824139e-03 4.714866363457389474e+08 6.758265734190982595e-03 3.335628017045612737e+00 8.391198751060173144e-10 -8.468671216257736209e-03 4.714866363457389474e+08 7.965366393470979522e-03 3.335628017045612737e+00 1.173028381795223933e-09 -9.981267109010422481e-03 4.714866363457389474e+08 9.388069256419729822e-03 3.335628017045612737e+00 1.611337236951222004e-09 -1.176402891992746509e-02 4.714866363457389474e+08 1.106488385170495588e-02 3.335628017045612737e+00 2.244016395751495282e-09 -1.386521119186945317e-02 4.714866363457389474e+08 1.304119834063541088e-02 3.335628017045612737e+00 3.176460375999747575e-09 -1.634168724878715118e-02 4.714866363457389474e+08 1.537050838014719992e-02 3.335628017045612737e+00 4.470920289445795145e-09 -1.926048860285451206e-02 4.714866363457389474e+08 1.811586564287839818e-02 3.335628017045612737e+00 6.139955371305976961e-09 -2.270061931629619237e-02 4.714866363457389474e+08 2.135158533508049739e-02 3.335628017045612737e+00 8.558480421674475166e-09 -2.675519442777928719e-02 4.714866363457389474e+08 2.516525914835771038e-02 3.335628017045612737e+00 1.190308620902713465e-08 -3.153396032479117289e-02 4.714866363457389474e+08 2.966012848741685429e-02 3.335628017045612737e+00 1.674462425848545916e-08 -3.716626528166998983e-02 4.714866363457389474e+08 3.495788279508570823e-02 3.335628017045612737e+00 2.289447360702326813e-08 -4.380456056772231294e-02 4.714866363457389474e+08 4.120195967420115651e-02 3.335628017045612737e+00 3.213017184819223965e-08 -5.162852689096004283e-02 4.714866363457389474e+08 4.856143769711142311e-02 3.335628017045612737e+00 4.453598010127296264e-08 -6.084993786913318187e-02 4.714866363457389474e+08 5.723562983199040333e-02 3.335628017045612737e+00 6.170474917922810691e-08 -7.171839216907228975e-02 4.714866363457389474e+08 6.745950600773800709e-02 3.335628017045612737e+00 8.655894767079364150e-08 -8.452806946785666742e-02 4.714866363457389474e+08 7.951009844410265870e-02 3.335628017045612737e+00 1.210803605117540185e-07 -9.962569310141336509e-02 4.714866363457389474e+08 9.371407432339079469e-02 3.335628017045612737e+00 1.668991530695640005e-07 -1.174199149279194637e-01 4.714866363457389474e+08 1.104566990745810828e-01 3.335628017045612737e+00 2.300617472117828746e-07 -1.383923764288897684e-01 4.714866363457389474e+08 1.301924627500552489e-01 3.335628017045612737e+00 3.246097034445094185e-07 -1.631107454420542835e-01 4.714866363457389474e+08 1.534577058156112728e-01 3.335628017045612737e+00 4.547852967426663591e-07 -1.922440813951419580e-01 4.714866363457389474e+08 1.808856653490902022e-01 3.335628017045612737e+00 6.297994118774615163e-07 -2.265809449359138250e-01 4.714866363457389474e+08 2.132244775817048188e-01 3.335628017045612737e+00 8.780019054706676502e-07 -2.670507421371726142e-01 4.714866363457389474e+08 2.513588322875164871e-01 3.335628017045612737e+00 1.217861675297348391e-06 -3.147488810066778608e-01 4.714866363457389474e+08 2.963362005066897398e-01 3.335628017045612737e+00 1.690230592108805133e-06 -3.709664212206886247e-01 4.714866363457389474e+08 3.493988819661349998e-01 3.335628017045612737e+00 2.402611092133375591e-06 -4.372250196192620786e-01 4.714866363457389474e+08 4.120235893047763942e-01 3.335628017045612737e+00 3.351926347884949115e-06 -5.153181173433998286e-01 4.714866363457389474e+08 4.859709667522624232e-01 3.335628017045612737e+00 4.668781207973817050e-06 -6.073594834385067642e-01 4.714866363457389474e+08 5.733484079965605051e-01 3.335628017045612737e+00 6.482542460541285871e-06 -7.158404288682718164e-01 4.714866363457389474e+08 6.766908561500368791e-01 3.335628017045612737e+00 9.208421435859865222e-06 -8.436972395676662906e-01 4.714866363457389474e+08 7.990659095131770195e-01 3.335628017045612737e+00 1.300176727582049176e-05 -9.943906537655036182e-01 4.714866363457389474e+08 9.442111816335830854e-01 3.335628017045612737e+00 1.818418101004827986e-05 -1.171999534812844468e+00 4.714866363457389474e+08 1.116712297456727621e+00 3.335628017045612737e+00 2.591345934845622854e-05 -1.381331274987467994e+00 4.714866363457389474e+08 1.322225965692418459e+00 3.335628017045612737e+00 3.731613564269798094e-05 -1.628051918606947979e+00 4.714866363457389474e+08 1.567736740650524707e+00 3.335628017045612737e+00 5.393901307175534782e-05 -1.918839526531252559e+00 4.714866363457389474e+08 1.861792903399335009e+00 3.335628017045612737e+00 7.958913240717640938e-05 -2.261564933217340645e+00 4.714866363457389474e+08 2.214570879473405807e+00 3.335628017045612737e+00 1.235168015172627182e-04 -2.665504788930584290e+00 4.714866363457389474e+08 2.637448522921472804e+00 3.335628017045612737e+00 2.165070502105237871e-04 -3.141592653589792672e+00 4.714866363457389474e+08 3.141592653589792672e+00 3.335628017045612737e+00 8.879195385064276788e-03 -1.000000000000000021e-03 9.540954763499963284e+08 9.386324714567793317e-04 2.964876798677569703e+00 3.515655977709952663e-11 -1.178610770701415088e-03 9.540954763499963284e+08 1.106282345057604767e-03 2.964876798677569703e+00 4.889615956548716213e-11 -1.389123348813385214e-03 9.540954763499963284e+08 1.303876294637793150e-03 2.964876798677569703e+00 6.831865693312100951e-11 -1.637235740744274635e-03 9.540954763499963284e+08 1.536762656500500774e-03 2.964876798677569703e+00 9.556803525822072213e-11 -1.929663678218512032e-03 9.540954763499963284e+08 1.811245038574256809e-03 2.964876798677569703e+00 1.322952265028087357e-10 -2.274322394979648009e-03 9.540954763499963284e+08 2.134752942951023864e-03 2.964876798677569703e+00 1.826334721032560330e-10 -2.680540870770453925e-03 9.540954763499963284e+08 2.516042863916823948e-03 2.964876798677569703e+00 2.536913376029128405e-10 -3.159314341595407215e-03 9.540954763499963284e+08 2.965435305025324649e-03 2.964876798677569703e+00 3.540030810570453545e-10 -3.723601911035797143e-03 9.540954763499963284e+08 3.495094131232230183e-03 2.964876798677569703e+00 4.944159466433596864e-10 -4.388677318151167420e-03 9.540954763499963284e+08 4.119355818390293793e-03 2.964876798677569703e+00 6.783263623560091057e-10 -5.172542356305966961e-03 9.540954763499963284e+08 4.855117513624089380e-03 2.964876798677569703e+00 9.658469110170084474e-10 -6.096414133051489617e-03 9.540954763499963284e+08 5.722294412990972315e-03 2.964876798677569703e+00 1.330246572019983591e-09 -7.185299359870824139e-03 9.540954763499963284e+08 6.744358840761799367e-03 2.964876798677569703e+00 1.859570472417385136e-09 -8.468671216257736209e-03 9.540954763499963284e+08 7.948975628873273386e-03 2.964876798677569703e+00 2.571452653716887552e-09 -9.981267109010422481e-03 9.540954763499963284e+08 9.368751006234379147e-03 2.964876798677569703e+00 3.635881723263999970e-09 -1.176402891992746509e-02 9.540954763499963284e+08 1.104211528741544726e-02 2.964876798677569703e+00 5.021057041904611563e-09 -1.386521119186945317e-02 9.540954763499963284e+08 1.301436328401895520e-02 2.964876798677569703e+00 7.012770153497044196e-09 -1.634168724878715118e-02 9.540954763499963284e+08 1.533888065110252004e-02 2.964876798677569703e+00 9.764382156081369831e-09 -1.926048860285451206e-02 9.540954763499963284e+08 1.807858944643544324e-02 2.964876798677569703e+00 1.362134088150580767e-08 -2.270061931629619237e-02 9.540954763499963284e+08 2.130765216732129208e-02 2.964876798677569703e+00 1.892320735845713680e-08 -2.675519442777928719e-02 9.540954763499963284e+08 2.511348061350747451e-02 2.964876798677569703e+00 2.642841107388754968e-08 -3.153396032479117289e-02 9.540954763499963284e+08 2.959910431874678005e-02 2.964876798677569703e+00 3.671454983921016128e-08 -3.716626528166998983e-02 9.540954763499963284e+08 3.488596326054701352e-02 2.964876798677569703e+00 5.145875498300048127e-08 -4.380456056772231294e-02 9.540954763499963284e+08 4.111720142534365519e-02 2.964876798677569703e+00 7.140149828492884561e-08 -5.162852689096004283e-02 9.540954763499963284e+08 4.846155199085306481e-02 2.964876798677569703e+00 9.943308918828992472e-08 -6.084993786913318187e-02 9.540954763499963284e+08 5.711792192770483167e-02 2.964876798677569703e+00 1.381124406372320390e-07 -7.171839216907228975e-02 9.540954763499963284e+08 6.732080443309577944e-02 2.964876798677569703e+00 1.926987856485069382e-07 -8.452806946785666742e-02 9.540954763499963284e+08 7.934667276125349777e-02 2.964876798677569703e+00 2.688470238608113436e-07 -9.962569310141336509e-02 9.540954763499963284e+08 9.352154006310270384e-02 2.964876798677569703e+00 3.719175151864973285e-07 -1.174199149279194637e-01 9.540954763499963284e+08 1.102299087262733901e-01 2.964876798677569703e+00 5.187811842960038666e-07 -1.383923764288897684e-01 9.540954763499963284e+08 1.299253822454456142e-01 2.964876798677569703e+00 7.195595187183736894e-07 -1.631107454420542835e-01 9.540954763499963284e+08 1.531432770641827923e-01 2.964876798677569703e+00 1.002668086261081610e-06 -1.922440813951419580e-01 9.540954763499963284e+08 1.805156574721729912e-01 2.964876798677569703e+00 1.391780104137489110e-06 -2.265809449359138250e-01 9.540954763499963284e+08 2.127893331980967861e-01 2.964876798677569703e+00 1.941277734309573458e-06 -2.670507421371726142e-01 9.540954763499963284e+08 2.508475215798418589e-01 2.964876798677569703e+00 2.703842078142578321e-06 -3.147488810066778608e-01 9.540954763499963284e+08 2.957361065335905037e-01 2.964876798677569703e+00 3.769710917295975112e-06 -3.709664212206886247e-01 9.540954763499963284e+08 3.486957584581341085e-01 2.964876798677569703e+00 5.253222413485320912e-06 -4.372250196192620786e-01 9.540954763499963284e+08 4.112016611568514723e-01 2.964876798677569703e+00 7.357955775810820474e-06 -5.153181173433998286e-01 9.540954763499963284e+08 4.850132899057406632e-01 2.964876798677569703e+00 1.025884418585677850e-05 -6.073594834385067642e-01 9.540954763499963284e+08 5.722376784845230047e-01 2.964876798677569703e+00 1.440856400930459028e-05 -7.158404288682718164e-01 9.540954763499963284e+08 6.754109697952213054e-01 2.964876798677569703e+00 2.030857398976956271e-05 -8.436972395676662906e-01 9.540954763499963284e+08 7.976047370915072543e-01 2.964876798677569703e+00 2.854574599072296580e-05 -9.943906537655036182e-01 9.540954763499963284e+08 9.425652447287875546e-01 2.964876798677569703e+00 4.056833568707880327e-05 -1.171999534812844468e+00 9.540954763499963284e+08 1.114894279955211953e+00 2.964876798677569703e+00 5.808833003471187051e-05 -1.381331274987467994e+00 9.540954763499963284e+08 1.320276145486054098e+00 2.964876798677569703e+00 8.395873606366437679e-05 -1.628051918606947979e+00 9.540954763499963284e+08 1.565739081461892335e+00 2.964876798677569703e+00 1.218322128991353821e-04 -1.918839526531252559e+00 9.540954763499963284e+08 1.859894712247314841e+00 2.964876798677569703e+00 1.845667089753838205e-04 -2.261564933217340645e+00 9.540954763499963284e+08 2.212999512795063239e+00 2.964876798677569703e+00 2.938138516488503736e-04 -2.665504788930584290e+00 9.540954763499963284e+08 2.636506440492292658e+00 2.964876798677569703e+00 5.294173116865984229e-04 -3.141592653589792672e+00 9.540954763499963284e+08 3.141592653589792672e+00 2.964876798677569703e+00 1.999927716761936217e-02 -1.000000000000000021e-03 1.930697728883245707e+09 9.368304062321310913e-04 2.636384768637771270e+00 8.010966027866809398e-11 -1.178610770701415088e-03 1.930697728883245707e+09 1.104158411698887053e-03 2.636384768637771270e+00 1.136133951502090822e-10 -1.389123348813385214e-03 1.930697728883245707e+09 1.301373004108889210e-03 2.636384768637771270e+00 1.572469726332963625e-10 -1.637235740744274635e-03 1.930697728883245707e+09 1.533812251654825733e-03 2.636384768637771270e+00 2.191432420565747622e-10 -1.929663678218512032e-03 1.930697728883245707e+09 1.807767660191864556e-03 2.636384768637771270e+00 3.021683860715478538e-10 -2.274322394979648009e-03 1.930697728883245707e+09 2.130654468230726815e-03 2.636384768637771270e+00 4.286018288252222047e-10 -2.680540870770453925e-03 1.930697728883245707e+09 2.511212358933351870e-03 2.636384768637771270e+00 5.860978060840143155e-10 -3.159314341595407215e-03 1.930697728883245707e+09 2.959742022222947889e-03 2.636384768637771270e+00 8.225826682570337415e-10 -3.723601911035797143e-03 1.930697728883245707e+09 3.488383970728542102e-03 2.636384768637771270e+00 1.130909405775724718e-09 -4.388677318151167420e-03 1.930697728883245707e+09 4.111447157378313351e-03 2.636384768637771270e+00 1.596217952864645640e-09 -5.172542356305966961e-03 1.930697728883245707e+09 4.845796291102277137e-03 2.636384768637771270e+00 2.205793309330505811e-09 -6.096414133051489617e-03 1.930697728883245707e+09 5.711308336968669991e-03 2.636384768637771270e+00 3.095434242624547922e-09 -7.185299359870824139e-03 1.930697728883245707e+09 6.731410561456835188e-03 2.636384768637771270e+00 4.310972066641140035e-09 -8.468671216257736209e-03 1.930697728883245707e+09 7.933714693629500755e-03 2.636384768637771270e+00 5.971208890230545906e-09 -9.981267109010422481e-03 1.930697728883245707e+09 9.350764379236911963e-03 2.636384768637771270e+00 8.320405264095698976e-09 -1.176402891992746509e-02 1.930697728883245707e+09 1.102091617896725287e-02 2.636384768637771270e+00 1.156771652338722360e-08 -1.386521119186945317e-02 1.930697728883245707e+09 1.298937798925945200e-02 2.636384768637771270e+00 1.637604705187527120e-08 -1.634168724878715118e-02 1.930697728883245707e+09 1.530943304559832623e-02 2.636384768637771270e+00 2.292676167597436960e-08 -1.926048860285451206e-02 1.930697728883245707e+09 1.804388272499006171e-02 2.636384768637771270e+00 3.187936734431019606e-08 -2.270061931629619237e-02 1.930697728883245707e+09 2.126674734156081339e-02 2.636384768637771270e+00 4.427407729999911633e-08 -2.675519442777928719e-02 1.930697728883245707e+09 2.506527120233641159e-02 2.636384768637771270e+00 6.134331419278759355e-08 -3.153396032479117289e-02 1.930697728883245707e+09 2.954228657298088936e-02 2.636384768637771270e+00 8.650380139636841683e-08 -3.716626528166998983e-02 1.930697728883245707e+09 3.481900115894975140e-02 2.636384768637771270e+00 1.198501778167216463e-07 -4.380456056772231294e-02 1.930697728883245707e+09 4.103828556526434995e-02 2.636384768637771270e+00 1.675720487227971711e-07 -5.162852689096004283e-02 1.930697728883245707e+09 4.836855137641037777e-02 2.636384768637771270e+00 2.333806483342207622e-07 -6.084993786913318187e-02 1.930697728883245707e+09 5.700832753986184026e-02 2.636384768637771270e+00 3.244863839770586169e-07 -7.171839216907228975e-02 1.930697728883245707e+09 6.719166336403481488e-02 2.636384768637771270e+00 4.505242336942882796e-07 -8.452806946785666742e-02 1.930697728883245707e+09 7.919451163718592424e-02 2.636384768637771270e+00 6.258984728188088323e-07 -9.962569310141336509e-02 1.930697728883245707e+09 9.334227651207692433e-02 2.636384768637771270e+00 8.754733636937828366e-07 -1.174199149279194637e-01 1.930697728883245707e+09 1.100187498508703732e-01 2.636384768637771270e+00 1.215638759421322602e-06 -1.383923764288897684e-01 1.930697728883245707e+09 1.296767095692213934e-01 2.636384768637771270e+00 1.692810040530262228e-06 -1.631107454420542835e-01 1.930697728883245707e+09 1.528505184592997002e-01 2.636384768637771270e+00 2.341664250376808619e-06 -1.922440813951419580e-01 1.930697728883245707e+09 1.801711485128727197e-01 2.636384768637771270e+00 3.257891163032211811e-06 -2.265809449359138250e-01 1.930697728883245707e+09 2.123841738237364773e-01 2.636384768637771270e+00 4.529309804067724070e-06 -2.670507421371726142e-01 1.930697728883245707e+09 2.503714398701779031e-01 2.636384768637771270e+00 6.343914406652568055e-06 -3.147488810066778608e-01 1.930697728883245707e+09 2.951773513684215478e-01 2.636384768637771270e+00 8.810492769804497594e-06 -3.709664212206886247e-01 1.930697728883245707e+09 3.480410593437805455e-01 2.636384768637771270e+00 1.234779174360900735e-05 -4.372250196192620786e-01 1.930697728883245707e+09 4.104363204320678471e-01 2.636384768637771270e+00 1.719267430730222964e-05 -5.153181173433998286e-01 1.930697728883245707e+09 4.841215157660658241e-01 2.636384768637771270e+00 2.415119426314553058e-05 -6.073594834385067642e-01 1.930697728883245707e+09 5.712033352895640181e-01 2.636384768637771270e+00 3.385128707338684313e-05 -7.158404288682718164e-01 1.930697728883245707e+09 6.742190262371705600e-01 2.636384768637771270e+00 4.771285503557591784e-05 -8.436972395676662906e-01 1.930697728883245707e+09 7.962438452920930221e-01 2.636384768637771270e+00 6.731881129477737937e-05 -9.943906537655036182e-01 1.930697728883245707e+09 9.410320897247926863e-01 2.636384768637771270e+00 9.538181179406240583e-05 -1.171999534812844468e+00 1.930697728883245707e+09 1.113200574231673956e+00 2.636384768637771270e+00 1.353086629509382590e-04 -1.381331274987467994e+00 1.930697728883245707e+09 1.318459287717170136e+00 2.636384768637771270e+00 1.947854903659141333e-04 -1.628051918606947979e+00 1.930697728883245707e+09 1.563877185448294238e+00 2.636384768637771270e+00 2.860939057566705261e-04 -1.918839526531252559e+00 1.930697728883245707e+09 1.858125008792010258e+00 2.636384768637771270e+00 4.316611064218125646e-04 -2.261564933217340645e+00 1.930697728883245707e+09 2.211534057667194464e+00 2.636384768637771270e+00 6.765607343844475549e-04 -2.665504788930584290e+00 1.930697728883245707e+09 2.635627619997852555e+00 2.636384768637771270e+00 1.202492486894268927e-03 -3.141592653589792672e+00 1.930697728883245707e+09 3.141592653589792672e+00 2.636384768637771270e+00 4.499882144171450660e-02 -1.000000000000000021e-03 3.906939937054620743e+09 9.423584285515506026e-04 2.368263023379246324e+00 1.905879066181947273e-10 -1.178610770701415088e-03 3.906939937054620743e+09 1.110673797961753487e-03 2.368263023379246324e+00 2.625912243709199394e-10 -1.389123348813385214e-03 3.906939937054620743e+09 1.309052107905737733e-03 2.368263023379246324e+00 3.665716302679082176e-10 -1.637235740744274635e-03 3.906939937054620743e+09 1.542862925071194005e-03 2.368263023379246324e+00 5.182631982445482192e-10 -1.929663678218512032e-03 3.906939937054620743e+09 1.818434879679530890e-03 2.368263023379246324e+00 7.147195961191460495e-10 -2.274322394979648009e-03 3.906939937054620743e+09 2.143226965256913707e-03 2.368263023379246324e+00 1.000081085193566776e-09 -2.680540870770453925e-03 3.906939937054620743e+09 2.526030434831768104e-03 2.368263023379246324e+00 1.364410008362369009e-09 -3.159314341595407215e-03 3.906939937054620743e+09 2.977206758691898405e-03 2.368263023379246324e+00 1.921987846481428896e-09 -3.723601911035797143e-03 3.906939937054620743e+09 3.508968085145698981e-03 2.368263023379246324e+00 2.671071779760176796e-09 -4.388677318151167420e-03 3.906939937054620743e+09 4.135707796537276860e-03 2.368263023379246324e+00 3.708148029629884211e-09 -5.172542356305966961e-03 3.906939937054620743e+09 4.874390109304418094e-03 2.368263023379246324e+00 5.208912785410452247e-09 -6.096414133051489617e-03 3.906939937054620743e+09 5.745009266006692941e-03 2.368263023379246324e+00 7.237873211335173711e-09 -7.185299359870824139e-03 3.906939937054620743e+09 6.771130752514844912e-03 2.368263023379246324e+00 1.012274116333873084e-08 -8.468671216257736209e-03 3.906939937054620743e+09 7.980529196367412009e-03 2.368263023379246324e+00 1.406101034028132111e-08 -9.981267109010422481e-03 3.906939937054620743e+09 9.405940223480332985e-03 2.368263023379246324e+00 1.950739712572620025e-08 -1.176402891992746509e-02 3.906939937054620743e+09 1.108594664194974613e-02 2.368263023379246324e+00 2.738926754460110103e-08 -1.386521119186945317e-02 3.906939937054620743e+09 1.306602296903663397e-02 2.368263023379246324e+00 3.815584309361539879e-08 -1.634168724878715118e-02 3.906939937054620743e+09 1.539976662213277808e-02 2.368263023379246324e+00 5.327096358734913545e-08 -1.926048860285451206e-02 3.906939937054620743e+09 1.815034917775651749e-02 2.368263023379246324e+00 7.395624100613072325e-08 -2.270061931629619237e-02 3.906939937054620743e+09 2.139222710962833743e-02 2.368263023379246324e+00 1.032045101991108166e-07 -2.675519442777928719e-02 3.906939937054620743e+09 2.521315852270239813e-02 2.368263023379246324e+00 1.426653348851247414e-07 -3.153396032479117289e-02 3.906939937054620743e+09 2.972306981750882926e-02 2.368947052142251319e+00 1.982094263802734648e-07 -3.716626528166998983e-02 3.906939937054620743e+09 3.503995968846582848e-02 2.369657359496789795e+00 2.773086860765900270e-07 -4.380456056772231294e-02 3.906939937054620743e+09 4.130762491532361663e-02 2.370343056211059007e+00 3.853475675731163175e-07 -5.162852689096004283e-02 3.906939937054620743e+09 4.870911337515079764e-02 2.369236581797137919e+00 5.406558073726119727e-07 -6.084993786913318187e-02 3.906939937054620743e+09 5.740817636099038168e-02 2.368549068909317601e+00 7.479446180638810368e-07 -7.171839216907228975e-02 3.906939937054620743e+09 6.767294228401068978e-02 2.368442437546581125e+00 1.042065101089093126e-06 -8.452806946785666742e-02 3.906939937054620743e+09 7.979326150366497505e-02 2.369151515146887377e+00 1.453694653233390327e-06 -9.962569310141336509e-02 3.906939937054620743e+09 9.404943539722554480e-02 2.369185137924435747e+00 2.022376295149491563e-06 -1.174199149279194637e-01 3.906939937054620743e+09 1.108517269655096976e-01 2.369185137924435747e+00 2.831507510356635859e-06 -1.383923764288897684e-01 3.906939937054620743e+09 1.306576666884377291e-01 2.369185137924435747e+00 3.933229487392308194e-06 -1.631107454420542835e-01 3.906939937054620743e+09 1.540053779868176820e-01 2.369185137924435747e+00 5.489396918607539838e-06 -1.922440813951419580e-01 3.906939937054620743e+09 1.815301395641870374e-01 2.369185137924435747e+00 7.615644606625392171e-06 -2.265809449359138250e-01 3.906939937054620743e+09 2.139823962875611885e-01 2.369185137924435747e+00 1.062170577481785972e-05 -2.670507421371726142e-01 3.906939937054620743e+09 2.522493995788309129e-01 2.369185137924435747e+00 1.478876306622210330e-05 -3.147488810066778608e-01 3.906939937054620743e+09 2.973813800133927043e-01 2.369185137924435747e+00 2.054512313716255959e-05 -3.709664212206886247e-01 3.906939937054620743e+09 3.506234674073057112e-01 2.369185137924435747e+00 2.856645199712009513e-05 -4.372250196192620786e-01 3.906939937054620743e+09 4.134550248703912634e-01 2.369185137924435747e+00 4.007269766684641869e-05 -5.153181173433998286e-01 3.906939937054620743e+09 4.876387133510753369e-01 2.369185137924435747e+00 5.600834774225361539e-05 -6.073594834385067642e-01 3.906939937054620743e+09 5.752825240558134823e-01 2.369185137924435747e+00 7.854634934343513732e-05 -7.158404288682718164e-01 3.906939937054620743e+09 6.789192674105077874e-01 2.369185137924435747e+00 1.107548185888883958e-04 -8.436972395676662906e-01 3.906939937054620743e+09 8.016095592214226295e-01 2.369185137924435747e+00 1.566947515481856648e-04 -9.943906537655036182e-01 3.906939937054620743e+09 9.470758725837337133e-01 2.369185137924435747e+00 2.202429991649589372e-04 -1.171999534812844468e+00 3.906939937054620743e+09 1.119885473858786673e+00 2.369220859576530280e+00 3.134408139028963132e-04 -1.381331274987467994e+00 3.906939937054620743e+09 1.325691563189374866e+00 2.369435898766417914e+00 4.486271525093644030e-04 -1.628051918606947979e+00 3.906939937054620743e+09 1.571311423780001437e+00 2.369520651116575394e+00 6.564741028622132031e-04 -1.918839526531252559e+00 3.906939937054620743e+09 1.865151165649237885e+00 2.369393041413158318e+00 9.834988507435907766e-04 -2.261564933217340645e+00 3.906939937054620743e+09 2.217299908061625136e+00 2.369185137924435747e+00 1.533154473931826189e-03 -2.665504788930584290e+00 3.906939937054620743e+09 2.639083879787906373e+00 2.369185137924435747e+00 2.693226374532248484e-03 -3.141592653589792672e+00 3.906939937054620743e+09 3.141592653589792672e+00 2.368263023379246324e+00 1.018860837299084693e-01 -1.000000000000000021e-03 7.906043210907701492e+09 9.398653067016847886e-04 2.107738326284115171e+00 4.229068374490888589e-10 -1.178610770701415088e-03 7.906043210907701492e+09 1.107735377869005500e-03 2.107738326284115171e+00 6.053365083831425900e-10 -1.389123348813385214e-03 7.906043210907701492e+09 1.305588854617470646e-03 2.107738326284115171e+00 8.412661522897256272e-10 -1.637235740744274635e-03 7.906043210907701492e+09 1.538781097905497428e-03 2.107738326284115171e+00 1.148995501653903458e-09 -1.929663678218512032e-03 7.906043210907701492e+09 1.813623994973519908e-03 2.107738326284115171e+00 1.630452844506121937e-09 -2.274322394979648009e-03 7.906043210907701492e+09 2.137556805962935371e-03 2.107738326284115171e+00 2.210476075076701554e-09 -2.680540870770453925e-03 7.906043210907701492e+09 2.519347526041763874e-03 2.107738326284115171e+00 3.104843887554969048e-09 -3.159314341595407215e-03 7.906043210907701492e+09 2.969330213728557481e-03 2.107738326284115171e+00 4.323742163454084458e-09 -3.723601911035797143e-03 7.906043210907701492e+09 3.499684709845347300e-03 2.107738326284115171e+00 6.070327665655103787e-09 -4.388677318151167420e-03 7.906043210907701492e+09 4.124766319308952739e-03 2.107738326284115171e+00 8.426884468827056256e-09 -5.172542356305966961e-03 7.906043210907701492e+09 4.861494380949332901e-03 2.107738326284115171e+00 1.163582494954339338e-08 -6.096414133051489617e-03 7.906043210907701492e+09 5.729810245499014458e-03 2.107738326284115171e+00 1.627959282251963162e-08 -7.185299359870824139e-03 7.906043210907701492e+09 6.753217062251857042e-03 2.107738326284115171e+00 2.261052997213932828e-08 -8.468671216257736209e-03 7.906043210907701492e+09 7.959415991951360528e-03 2.107738326284115171e+00 3.144388642334542947e-08 -9.981267109010422481e-03 7.906043210907701492e+09 9.381056077923142361e-03 2.107738326284115171e+00 4.389167266481346400e-08 -1.176402891992746509e-02 7.906043210907701492e+09 1.105661809118433855e-02 2.107738326284115171e+00 6.094042984874000602e-08 -1.386521119186945317e-02 7.906043210907701492e+09 1.303145630352253205e-02 2.107738326284115171e+00 8.561827375715312029e-08 -1.634168724878715118e-02 7.906043210907701492e+09 1.535902643677759111e-02 2.107738326284115171e+00 1.189000488320305525e-07 -1.926048860285451206e-02 7.906043210907701492e+09 1.810233310786409436e-02 2.107738326284115171e+00 1.667776436582945132e-07 -2.270061931629619237e-02 7.906043210907701492e+09 2.133563608264297737e-02 2.107738326284115171e+00 2.309963301547443353e-07 -2.675519442777928719e-02 7.906043210907701492e+09 2.514646174280774776e-02 2.107738326284115171e+00 3.225807715630113237e-07 -3.153396032479117289e-02 7.906043210907701492e+09 2.963797457168695568e-02 2.107738326284115171e+00 4.509235061835244347e-07 -3.716626528166998983e-02 7.906043210907701492e+09 3.493177343947180546e-02 2.107738326284115171e+00 6.288395723246572407e-07 -4.380456056772231294e-02 7.906043210907701492e+09 4.117118934273589215e-02 2.107738326284115171e+00 8.711522155580702017e-07 -5.162852689096004283e-02 7.906043210907701492e+09 4.852517544165674268e-02 2.107738326284115171e+00 1.206368332228531719e-06 -6.084993786913318187e-02 7.906043210907701492e+09 5.719289727716615063e-02 2.107738326284115171e+00 1.687223719630254433e-06 -7.171839216907228975e-02 7.906043210907701492e+09 6.740915164886905619e-02 2.107738326284115171e+00 2.348529611390738832e-06 -8.452806946785666742e-02 7.906043210907701492e+09 7.945076775571328909e-02 2.107738326284115171e+00 3.278174949908684119e-06 -9.962569310141336509e-02 7.906043210907701492e+09 9.364417518528204976e-02 2.107738326284115171e+00 4.536188722725601708e-06 -1.174199149279194637e-01 7.906043210907701492e+09 1.103897181610509620e-01 2.108093249652959411e+00 6.300745004129194407e-06 -1.383923764288897684e-01 7.906043210907701492e+09 1.301457738661356556e-01 2.108728378764535449e+00 8.811490668979506219e-06 -1.631107454420542835e-01 7.906043210907701492e+09 1.534390295929564940e-01 2.109340561440720574e+00 1.217297299304649103e-05 -1.922440813951419580e-01 7.906043210907701492e+09 1.808857697609784210e-01 2.108679956452405690e+00 1.702706082425927613e-05 -2.265809449359138250e-01 7.906043210907701492e+09 2.132166114678052393e-01 2.108333482095797962e+00 2.367640551256224829e-05 -2.670507421371726142e-01 7.906043210907701492e+09 2.513148303146833795e-01 2.107738326284115171e+00 3.306738608605576537e-05 -3.147488810066778608e-01 7.906043210907701492e+09 2.963670669038949712e-01 2.108235204627469273e+00 4.604589153413787313e-05 -3.709664212206886247e-01 7.906043210907701492e+09 3.494931406921839012e-01 2.108555523891584293e+00 6.432609248975735584e-05 -4.372250196192620786e-01 7.906043210907701492e+09 4.121337041106451493e-01 2.108555523891584293e+00 9.005449416632396557e-05 -5.153181173433998286e-01 7.906043210907701492e+09 4.860991550283549900e-01 2.108555523891584293e+00 1.257930591762635732e-04 -6.073594834385067642e-01 7.906043210907701492e+09 5.734969035426940032e-01 2.108555523891584293e+00 1.762563164542199125e-04 -7.158404288682718164e-01 7.906043210907701492e+09 6.768616853645740283e-01 2.108555523891584293e+00 2.483137620191574698e-04 -8.436972395676662906e-01 7.906043210907701492e+09 7.992605020685519257e-01 2.108555523891584293e+00 3.491084853733617747e-04 -9.943906537655036182e-01 7.906043210907701492e+09 9.444297293703614038e-01 2.108555523891584293e+00 4.954147707435280386e-04 -1.171999534812844468e+00 7.906043210907701492e+09 1.116952751502207741e+00 2.108555523891584293e+00 7.053594135233769115e-04 -1.381331274987467994e+00 7.906043210907701492e+09 1.322482559922446788e+00 2.108555523891584293e+00 1.016272549720012054e-03 -1.628051918606947979e+00 7.906043210907701492e+09 1.567998001216096782e+00 2.108555523891584293e+00 1.485744309290335744e-03 -1.918839526531252559e+00 7.906043210907701492e+09 1.862039361213249089e+00 2.108555523891584293e+00 2.223302243633277532e-03 -2.261564933217340645e+00 7.906043210907701492e+09 2.214773349472207720e+00 2.108555523891584293e+00 3.468191636555373759e-03 -2.665504788930584290e+00 7.906043210907701492e+09 2.637569116080929366e+00 2.108555523891584293e+00 6.065950310678061910e-03 -3.141592653589792672e+00 7.906043210907701492e+09 3.141592653589792672e+00 2.107738326284115171e+00 2.316354530092465946e-01 -1.000000000000000021e-03 1.599858719606057358e+10 9.428386456951905539e-04 1.895020335318271743e+00 9.824920029877360499e-10 -1.178610770701415088e-03 1.599858719606057358e+10 1.111239787025581835e-03 1.895020335318271743e+00 1.339129977912025963e-09 -1.389123348813385214e-03 1.599858719606057358e+10 1.309719188656895432e-03 1.895020335318271743e+00 1.885561163876198592e-09 -1.637235740744274635e-03 1.599858719606057358e+10 1.543649153538455190e-03 1.895020335318271743e+00 2.636060865095487373e-09 -1.929663678218512032e-03 1.599858719606057358e+10 1.819361536870320361e-03 1.895020335318271743e+00 3.654412459408168191e-09 -2.274322394979648009e-03 1.599858719606057358e+10 2.144319133158848530e-03 1.895020335318271743e+00 5.090243511620798490e-09 -2.680540870770453925e-03 1.599858719606057358e+10 2.527317675285118467e-03 1.895020335318271743e+00 7.021917773574633593e-09 -3.159314341595407215e-03 1.599858719606057358e+10 2.978723913500976213e-03 1.895020335318271743e+00 9.753180731866045601e-09 -3.723601911035797143e-03 1.599858719606057358e+10 3.510756219074200480e-03 1.895020335318271743e+00 1.373404248070774540e-08 -4.388677318151167420e-03 1.599858719606057358e+10 4.137815308692534624e-03 1.895020335318271743e+00 1.895472670727544116e-08 -5.172542356305966961e-03 1.599858719606057358e+10 4.876874042961011277e-03 1.895020335318271743e+00 2.650292454375735138e-08 -6.096414133051489617e-03 1.599858719606057358e+10 5.747936852270873163e-03 1.895020335318271743e+00 3.685347073761424703e-08 -7.185299359870824139e-03 1.599858719606057358e+10 6.774581229527564495e-03 1.895020335318271743e+00 5.135933689899254699e-08 -8.468671216257736209e-03 1.599858719606057358e+10 7.984595953147679420e-03 1.895020335318271743e+00 7.168879948679277263e-08 -9.981267109010422481e-03 1.599858719606057358e+10 9.410733326209006974e-03 1.895020335318271743e+00 1.002210365780772286e-07 -1.176402891992746509e-02 1.599858719606057358e+10 1.109159581070033249e-02 1.895020335318271743e+00 1.389604294697809791e-07 -1.386521119186945317e-02 1.599858719606057358e+10 1.307268108491422762e-02 1.895020335318271743e+00 1.938525407706136689e-07 -1.634168724878715118e-02 1.599858719606057358e+10 1.540761385874977497e-02 1.895020335318271743e+00 2.695309820894812694e-07 -1.926048860285451206e-02 1.599858719606057358e+10 1.815959786723553987e-02 1.895020335318271743e+00 3.740360904932681386e-07 -2.270061931629619237e-02 1.599858719606057358e+10 2.140312747216118958e-02 1.895020335318271743e+00 5.254421042631092199e-07 -2.675519442777928719e-02 1.599858719606057358e+10 2.522600541036002300e-02 1.895020335318271743e+00 7.248108355791337387e-07 -3.153396032479117289e-02 1.599858719606057358e+10 2.973172164758452682e-02 1.895020335318271743e+00 1.017730184634441046e-06 -3.716626528166998983e-02 1.599858719606057358e+10 3.504225829012176663e-02 1.895020335318271743e+00 1.407354903787372457e-06 -4.380456056772231294e-02 1.599858719606057358e+10 4.130139739701101098e-02 1.895020335318271743e+00 1.958590926526783436e-06 -5.162852689096004283e-02 1.599858719606057358e+10 4.867862273444728549e-02 1.895020335318271743e+00 2.732736892957647085e-06 -6.084993786913318187e-02 1.599858719606057358e+10 5.737372354988535400e-02 1.895020335318271743e+00 3.820860648453848404e-06 -7.171839216907228975e-02 1.599858719606057358e+10 6.762222901423607657e-02 1.895020335318271743e+00 5.305590526743622308e-06 -8.452806946785666742e-02 1.599858719606057358e+10 7.970182702924050178e-02 1.895020335318271743e+00 7.356000698687077713e-06 -9.962569310141336509e-02 1.599858719606057358e+10 9.393995193069061556e-02 1.895020335318271743e+00 1.027370112161305760e-05 -1.174199149279194637e-01 1.599858719606057358e+10 1.107227640942880509e-01 1.895020335318271743e+00 1.428003622333138414e-05 -1.383923764288897684e-01 1.599858719606057358e+10 1.305057932704175583e-01 1.895020335318271743e+00 1.985157766640331548e-05 -1.631107454420542835e-01 1.599858719606057358e+10 1.538265806396619251e-01 1.895020335318271743e+00 2.768567993362378794e-05 -1.922440813951419580e-01 1.599858719606057358e+10 1.813197381114283191e-01 1.895020335318271743e+00 3.853908746211842418e-05 -2.265809449359138250e-01 1.599858719606057358e+10 2.137349564164028604e-01 1.895020335318271743e+00 5.358455806016666149e-05 -2.670507421371726142e-01 1.599858719606057358e+10 2.519586499636159438e-01 1.895020335318271743e+00 7.497189054602183800e-05 -3.147488810066778608e-01 1.599858719606057358e+10 2.970401472725480163e-01 1.895020335318271743e+00 1.044783790131704966e-04 -3.709664212206886247e-01 1.599858719606057358e+10 3.502236523812840008e-01 1.895020335318271743e+00 1.459900661463700143e-04 -4.372250196192620786e-01 1.599858719606057358e+10 4.129876602035874034e-01 1.895020335318271743e+00 2.027332489738143013e-04 -5.153181173433998286e-01 1.599858719606057358e+10 4.871785407546864732e-01 1.895461896964311999e+00 2.841337303596861395e-04 -6.073594834385067642e-01 1.599858719606057358e+10 5.748609155842704377e-01 1.895969968246724147e+00 3.983308217100666512e-04 -7.158404288682718164e-01 1.599858719606057358e+10 6.785522088536672936e-01 1.896439235401823131e+00 5.610873932062098238e-04 -8.436972395676662906e-01 1.599858719606057358e+10 8.011163406987358293e-01 1.895879454775344364e+00 7.927962952765313246e-04 -9.943906537655036182e-01 1.599858719606057358e+10 9.465034977877674338e-01 1.895768108999380530e+00 1.120446039130500691e-03 -1.171999534812844468e+00 1.599858719606057358e+10 1.119167644189429600e+00 1.895510207484680576e+00 1.586891204806400784e-03 -1.381331274987467994e+00 1.599858719606057358e+10 1.324750724578605432e+00 1.895201312450312647e+00 2.285470511354049765e-03 -1.628051918606947979e+00 1.599858719606057358e+10 1.570282459945047782e+00 1.895093182537648469e+00 3.335893064131532481e-03 -1.918839526531252559e+00 1.599858719606057358e+10 1.864322842090230914e+00 1.895419950244713547e+00 4.963701078009482605e-03 -2.261564933217340645e+00 1.599858719606057358e+10 2.216770664717742090e+00 1.895863574591572620e+00 7.763117472970288736e-03 -2.665504788930584290e+00 1.599858719606057358e+10 2.638586394432170579e+00 1.895220624735115100e+00 1.371895691708259479e-02 -3.141592653589792672e+00 1.599858719606057358e+10 3.141592653589792672e+00 1.895020335318271743e+00 5.224747222883098230e-01 -1.000000000000000021e-03 3.237457542817653275e+10 9.389732242349705001e-04 1.688201373770812586e+00 2.193978679156627141e-09 -1.178610770701415088e-03 3.237457542817653275e+10 1.106683959928924559e-03 1.688201373770812586e+00 3.066497610574151452e-09 -1.389123348813385214e-03 3.237457542817653275e+10 1.304349642212816350e-03 1.688201373770812586e+00 4.242870421857430819e-09 -1.637235740744274635e-03 3.237457542817653275e+10 1.537320548988513075e-03 1.688201373770812586e+00 5.934578578255069814e-09 -1.929663678218512032e-03 3.237457542817653275e+10 1.811902576567692678e-03 1.688201373770812586e+00 8.220853564351065910e-09 -2.274322394979648009e-03 3.237457542817653275e+10 2.135527924145514365e-03 1.688201373770812586e+00 1.153675390582138809e-08 -2.680540870770453925e-03 3.237457542817653275e+10 2.516956264826785382e-03 1.688201373770812586e+00 1.579047917347674317e-08 -3.159314341595407215e-03 3.237457542817653275e+10 2.966511848728879512e-03 1.688201373770812586e+00 2.216191740226492342e-08 -3.723601911035797143e-03 3.237457542817653275e+10 3.496362956504700352e-03 1.688201373770812586e+00 3.064870521368526385e-08 -4.388677318151167420e-03 3.237457542817653275e+10 4.120851268324648119e-03 1.688201373770812586e+00 4.325121425865951323e-08 -5.172542356305966961e-03 3.237457542817653275e+10 4.856880065062491904e-03 1.688201373770812586e+00 5.958420535858515984e-08 -6.096414133051489617e-03 3.237457542817653275e+10 5.724371771889125333e-03 1.688201373770812586e+00 8.195506329815571511e-08 -7.185299359870824139e-03 3.237457542817653275e+10 6.746807233076511714e-03 1.688201373770812586e+00 1.158324164026037875e-07 -8.468671216257736209e-03 3.237457542817653275e+10 7.951861321818923245e-03 1.688201373770812586e+00 1.609657149566623388e-07 -9.981267109010422481e-03 3.237457542817653275e+10 9.372152100928780871e-03 1.688201373770812586e+00 2.230062817297702806e-07 -1.176402891992746509e-02 3.237457542817653275e+10 1.104612383118210549e-02 1.688201373770812586e+00 3.104005126768735353e-07 -1.386521119186945317e-02 3.237457542817653275e+10 1.301908775910240283e-02 1.688201373770812586e+00 4.330318654847778629e-07 -1.634168724878715118e-02 3.237457542817653275e+10 1.534444890647580599e-02 1.688201373770812586e+00 6.078278755885578042e-07 -1.926048860285451206e-02 3.237457542817653275e+10 1.808515215093647183e-02 1.688201373770812586e+00 8.426969110954771436e-07 -2.270061931629619237e-02 3.237457542817653275e+10 2.131538687575241370e-02 1.688201373770812586e+00 1.177040771019136699e-06 -2.675519442777928719e-02 3.237457542817653275e+10 2.512259655275634815e-02 1.688201373770812586e+00 1.643123416809582248e-06 -3.153396032479117289e-02 3.237457542817653275e+10 2.960984801856396745e-02 1.688201373770812586e+00 2.296519031625111644e-06 -3.716626528166998983e-02 3.237457542817653275e+10 3.489862517334913622e-02 1.688201373770812586e+00 3.167704505150380012e-06 -4.380456056772231294e-02 3.237457542817653275e+10 4.113212370105904375e-02 1.688201373770812586e+00 4.433327695324234641e-06 -5.162852689096004283e-02 3.237457542817653275e+10 4.847913759570675329e-02 1.688201373770812586e+00 6.175312662020669683e-06 -6.084993786913318187e-02 3.237457542817653275e+10 5.713864531849565526e-02 1.688201373770812586e+00 8.582903940207600065e-06 -7.171839216907228975e-02 3.237457542817653275e+10 6.734522401816923909e-02 1.688201373770812586e+00 1.193890622894086926e-05 -8.452806946785666742e-02 3.237457542817653275e+10 7.937544539100349628e-02 1.688201373770812586e+00 1.665088572133429371e-05 -9.962569310141336509e-02 3.237457542817653275e+10 9.355543778769523366e-02 1.688201373770812586e+00 2.324146252142884436e-05 -1.174199149279194637e-01 3.237457542817653275e+10 1.102698380214425233e-01 1.688201373770812586e+00 3.205607616721025397e-05 -1.383923764288897684e-01 3.237457542817653275e+10 1.299724058135535709e-01 1.688201373770812586e+00 4.483491937523003768e-05 -1.631107454420542835e-01 3.237457542817653275e+10 1.531986381254810681e-01 1.688201373770812586e+00 6.215584867896948446e-05 -1.922440813951419580e-01 3.237457542817653275e+10 1.805808061014330945e-01 1.688201373770812586e+00 8.691721310261623647e-05 -2.265809449359138250e-01 3.237457542817653275e+10 2.128659536216900572e-01 1.688201373770812586e+00 1.208510210163605934e-04 -2.670507421371726142e-01 3.237457542817653275e+10 2.509375582447078701e-01 1.688201373770812586e+00 1.687666228352444964e-04 -3.147488810066778608e-01 3.237457542817653275e+10 2.958417848973929898e-01 1.688201373770812586e+00 2.338668306351815408e-04 -3.709664212206886247e-01 3.237457542817653275e+10 3.488195933599701481e-01 1.688201373770812586e+00 3.272057279422001795e-04 -4.372250196192620786e-01 3.237457542817653275e+10 4.113464405757368825e-01 1.688201373770812586e+00 4.565261262134466622e-04 -5.153181173433998286e-01 3.237457542817653275e+10 4.851820137792666188e-01 1.688201373770812586e+00 6.391503938559517633e-04 -6.073594834385067642e-01 3.237457542817653275e+10 5.724334194039423229e-01 1.688201373770812586e+00 8.962361551504007895e-04 -7.158404288682718164e-01 3.237457542817653275e+10 6.756366026006666026e-01 1.688201373770812586e+00 1.261449584971948258e-03 -8.436972395676662906e-01 3.237457542817653275e+10 7.978624551557587097e-01 1.688201373770812586e+00 1.778184542021663157e-03 -9.943906537655036182e-01 3.237457542817653275e+10 9.428557406270576813e-01 1.688201373770812586e+00 2.517295781216701694e-03 -1.171999534812844468e+00 3.237457542817653275e+10 1.115215421397863338e+00 1.688201373770812586e+00 3.602543741349207001e-03 -1.381331274987467994e+00 3.237457542817653275e+10 1.320620945735146101e+00 1.688201373770812586e+00 5.156634166693111788e-03 -1.628051918606947979e+00 3.237457542817653275e+10 1.566092816702492341e+00 1.688201373770812586e+00 7.525560881900015403e-03 -1.918839526531252559e+00 3.237457542817653275e+10 1.860231358063930029e+00 1.688201373770812586e+00 1.118397478912721253e-02 -2.261564933217340645e+00 3.237457542817653275e+10 2.213278650129468783e+00 1.688201373770812586e+00 1.756304796144742691e-02 -2.665504788930584290e+00 3.237457542817653275e+10 2.636674024141491657e+00 1.688201373770812586e+00 3.087588437704066185e-02 -3.141592653589792672e+00 3.237457542817653275e+10 3.141592653589792672e+00 1.688201373770812586e+00 1.183348487127596771e+00 -1.000000000000000021e-03 6.551285568595495605e+10 9.428795487139305037e-04 1.519177524927246559e+00 4.966462521966737182e-09 -1.178610770701415088e-03 6.551285568595495605e+10 1.111287995762378017e-03 1.519177524927246559e+00 6.845522247760585143e-09 -1.389123348813385214e-03 6.551285568595495605e+10 1.309776007990632370e-03 1.519177524927246559e+00 9.573784570238611713e-09 -1.637235740744274635e-03 6.551285568595495605e+10 1.543716121412772512e-03 1.519177524927246559e+00 1.339333573572255314e-08 -1.929663678218512032e-03 6.551285568595495605e+10 1.819440465921062875e-03 1.519177524927246559e+00 1.868205996926520510e-08 -2.274322394979648009e-03 6.551285568595495605e+10 2.144412159776356262e-03 1.519177524927246559e+00 2.622445871351967757e-08 -2.680540870770453925e-03 6.551285568595495605e+10 2.527427317439124525e-03 1.519177524927246559e+00 3.569428801155672664e-08 -3.159314341595407215e-03 6.551285568595495605e+10 2.978853138892929766e-03 1.519177524927246559e+00 5.046695698557751117e-08 -3.723601911035797143e-03 6.551285568595495605e+10 3.510908525461135625e-03 1.519177524927246559e+00 6.881676389963272775e-08 -4.388677318151167420e-03 6.551285568595495605e+10 4.137994818555700526e-03 1.519177524927246559e+00 9.602106064149904200e-08 -5.172542356305966961e-03 6.551285568595495605e+10 4.877085615080148026e-03 1.519177524927246559e+00 1.338620555781060205e-07 -6.096414133051489617e-03 6.551285568595495605e+10 5.748186213221627601e-03 1.519177524927246559e+00 1.854770870624240105e-07 -7.185299359870824139e-03 6.551285568595495605e+10 6.774875128657217339e-03 1.519177524927246559e+00 2.620164605510186321e-07 -8.468671216257736209e-03 6.551285568595495605e+10 7.984942345217188250e-03 1.519177524927246559e+00 3.670149527703037985e-07 -9.981267109010422481e-03 6.551285568595495605e+10 9.411141586633970171e-03 1.519177524927246559e+00 5.028776245238237274e-07 -1.176402891992746509e-02 6.551285568595495605e+10 1.109207698919875869e-02 1.519177524927246559e+00 7.099937303152527438e-07 -1.386521119186945317e-02 6.551285568595495605e+10 1.307324820439706957e-02 1.519177524927246559e+00 9.829462722463464832e-07 -1.634168724878715118e-02 6.551285568595495605e+10 1.540828226749588886e-02 1.519177524927246559e+00 1.375319000373143088e-06 -1.926048860285451206e-02 6.551285568595495605e+10 1.816038565380410572e-02 1.519177524927246559e+00 1.900167579487923860e-06 -2.270061931629619237e-02 6.551285568595495605e+10 2.140405595414212811e-02 1.519177524927246559e+00 2.665641628575598448e-06 -2.675519442777928719e-02 6.551285568595495605e+10 2.522709970997866549e-02 1.519177524927246559e+00 3.715606349165135109e-06 -3.153396032479117289e-02 6.551285568595495605e+10 2.973301136939189571e-02 1.519177524927246559e+00 5.182549480432778629e-06 -3.716626528166998983e-02 6.551285568595495605e+10 3.504377831854258579e-02 1.519177524927246559e+00 7.184820627536224989e-06 -4.380456056772231294e-02 6.551285568595495605e+10 4.130318883440128180e-02 1.519177524927246559e+00 1.006463060102185567e-05 -5.162852689096004283e-02 6.551285568595495605e+10 4.868073400351888985e-02 1.519177524927246559e+00 1.390703947307156617e-05 -6.084993786913318187e-02 6.551285568595495605e+10 5.737621168782441883e-02 1.519177524927246559e+00 1.945537093067431478e-05 -7.171839216907228975e-02 6.551285568595495605e+10 6.762516118942220322e-02 1.519177524927246559e+00 2.708832428579017863e-05 -8.452806946785666742e-02 6.551285568595495605e+10 7.970528231485835002e-02 1.519177524927246559e+00 3.759178045656638473e-05 -9.962569310141336509e-02 6.551285568595495605e+10 9.394402337213539345e-02 1.519177524927246559e+00 5.220455936748867912e-05 -1.174199149279194637e-01 6.551285568595495605e+10 1.107275611080650035e-01 1.519177524927246559e+00 7.285087384289903704e-05 -1.383923764288897684e-01 6.551285568595495605e+10 1.305114444093981585e-01 1.519177524927246559e+00 1.011462379665331671e-04 -1.631107454420542835e-01 6.551285568595495605e+10 1.538332367499193887e-01 1.519177524927246559e+00 1.408910947004779588e-04 -1.922440813951419580e-01 6.551285568595495605e+10 1.813275758839603402e-01 1.519177524927246559e+00 1.967215346531356638e-04 -2.265809449359138250e-01 6.551285568595495605e+10 2.137441822933927038e-01 1.519177524927246559e+00 2.733304254587437163e-04 -2.670507421371726142e-01 6.551285568595495605e+10 2.519695042770259130e-01 1.519177524927246559e+00 3.795442219978979802e-04 -3.147488810066778608e-01 6.551285568595495605e+10 2.970529083439181761e-01 1.519177524927246559e+00 5.278551633051413623e-04 -3.709664212206886247e-01 6.551285568595495605e+10 3.502386400444845727e-01 1.519177524927246559e+00 7.393563130332862906e-04 -4.372250196192620786e-01 6.551285568595495605e+10 4.130052377353746196e-01 1.519177524927246559e+00 1.034147411749509722e-03 -5.153181173433998286e-01 6.551285568595495605e+10 4.871147414064228021e-01 1.519177524927246559e+00 1.442350722104379342e-03 -6.073594834385067642e-01 6.551285568595495605e+10 5.746749740086246616e-01 1.519177524927246559e+00 2.022721621838754862e-03 -7.158404288682718164e-01 6.551285568595495605e+10 6.782194447517790881e-01 1.519177524927246559e+00 2.850015524258162503e-03 -8.436972395676662906e-01 6.551285568595495605e+10 8.008110029969214283e-01 1.519177524927246559e+00 4.009461870890966735e-03 -9.943906537655036182e-01 6.551285568595495605e+10 9.461769280275617033e-01 1.519177524927246559e+00 5.696223533620111898e-03 -1.171999534812844468e+00 6.551285568595495605e+10 1.118883538430153424e+00 1.519177524927246559e+00 8.131977150420233863e-03 -1.381331274987467994e+00 6.551285568595495605e+10 1.324554583129057717e+00 1.519177524927246559e+00 1.161006948205745362e-02 -1.628051918606947979e+00 6.551285568595495605e+10 1.570122440468799452e+00 1.519177524927246559e+00 1.702154028334835340e-02 -1.918839526531252559e+00 6.551285568595495605e+10 1.864059748554054430e+00 1.519177524927246559e+00 2.528062747616541261e-02 -2.261564933217340645e+00 6.551285568595495605e+10 2.216447360627702423e+00 1.519177524927246559e+00 3.926734153894165247e-02 -2.665504788930584290e+00 6.551285568595495605e+10 2.638573492511162133e+00 1.519177524927246559e+00 6.904078009117073367e-02 -3.141592653589792672e+00 6.551285568595495605e+10 3.141592653589792672e+00 1.519177524927246559e+00 2.702234902152424567e+00 -1.000000000000000021e-03 1.325711365590110931e+11 9.408994690891261904e-04 1.354635868173480473e+00 1.106039902490576229e-08 -1.178610770701415088e-03 1.325711365590110931e+11 1.108954252727768069e-03 1.354635868173480473e+00 1.580610230345538545e-08 -1.389123348813385214e-03 1.325711365590110931e+11 1.307025433539980679e-03 1.354635868173480473e+00 2.149235585340625359e-08 -1.637235740744274635e-03 1.325711365590110931e+11 1.540474265109615477e-03 1.354635868173480473e+00 2.977100257553371458e-08 -1.929663678218512032e-03 1.325711365590110931e+11 1.815619579770868337e-03 1.354635868173480473e+00 4.212079922316180422e-08 -2.274322394979648009e-03 1.325711365590110931e+11 2.139908823197905936e-03 1.354635868173480473e+00 5.838217481495118608e-08 -2.680540870770453925e-03 1.325711365590110931e+11 2.522119638067467102e-03 1.354635868173480473e+00 8.075880411374309715e-08 -3.159314341595407215e-03 1.325711365590110931e+11 2.972597453476604791e-03 1.354635868173480473e+00 1.112499949154029702e-07 -3.723601911035797143e-03 1.325711365590110931e+11 3.503535511603990838e-03 1.354635868173480473e+00 1.547854217219865696e-07 -4.388677318151167420e-03 1.325711365590110931e+11 4.129304912137459621e-03 1.354635868173480473e+00 2.193182751098737759e-07 -5.172542356305966961e-03 1.325711365590110931e+11 4.866843609446684996e-03 1.354635868173480473e+00 3.025585965659042670e-07 -6.096414133051489617e-03 1.325711365590110931e+11 5.736114894170821210e-03 1.354635868173480473e+00 4.180116751706282857e-07 -7.185299359870824139e-03 1.325711365590110931e+11 6.760647773282431848e-03 1.354635868173480473e+00 5.858094084015521673e-07 -8.468671216257736209e-03 1.325711365590110931e+11 7.968173882138471914e-03 1.354635868173480473e+00 8.161936618133959957e-07 -9.981267109010422481e-03 1.325711365590110931e+11 9.391378179275162996e-03 1.354635868173480473e+00 1.140661243766171007e-06 -1.176402891992746509e-02 1.325711365590110931e+11 1.106878376167543497e-02 1.354635868173480473e+00 1.589964480705205039e-06 -1.386521119186945317e-02 1.325711365590110931e+11 1.304579478027266710e-02 1.354635868173480473e+00 2.208784264681034414e-06 -1.634168724878715118e-02 1.325711365590110931e+11 1.537592573404666409e-02 1.354635868173480473e+00 3.048325595385626879e-06 -1.926048860285451206e-02 1.325711365590110931e+11 1.812225049734076526e-02 1.354635868173480473e+00 4.270611406144726916e-06 -2.270061931629619237e-02 1.325711365590110931e+11 2.135911043419355324e-02 1.354635868173480473e+00 5.972007337129356748e-06 -2.675519442777928719e-02 1.325711365590110931e+11 2.517412805069896981e-02 1.354635868173480473e+00 8.313905543202995281e-06 -3.153396032479117289e-02 1.325711365590110931e+11 2.967058104470639973e-02 1.354635868173480473e+00 1.161145744527197913e-05 -3.716626528166998983e-02 1.325711365590110931e+11 3.497020159336299699e-02 1.354635868173480473e+00 1.613317384305728913e-05 -4.380456056772231294e-02 1.325711365590110931e+11 4.121647759923529469e-02 1.354635868173480473e+00 2.236949797597746230e-05 -5.162852689096004283e-02 1.325711365590110931e+11 4.857854680813634279e-02 1.354635868173480473e+00 3.118097512388000179e-05 -6.084993786913318187e-02 1.325711365590110931e+11 5.725579175009679750e-02 1.354635868173480473e+00 4.339604459310681121e-05 -7.171839216907228975e-02 1.325711365590110931e+11 6.748326404469633111e-02 1.354635868173480473e+00 6.065048770274976419e-05 -8.452806946785666742e-02 1.325711365590110931e+11 7.953809170923296923e-02 1.354635868173480473e+00 8.457133755171909360e-05 -9.962569310141336509e-02 1.325711365590110931e+11 9.374705404195023128e-02 1.354635868173480473e+00 1.170898604203782461e-04 -1.174199149279194637e-01 1.325711365590110931e+11 1.104955473166793350e-01 1.354635868173480473e+00 1.633409746332181440e-04 -1.383923764288897684e-01 1.325711365590110931e+11 1.302382136802166523e-01 1.354635868173480473e+00 2.268473039877467231e-04 -1.631107454420542835e-01 1.325711365590110931e+11 1.535115693896184907e-01 1.354635868173480473e+00 3.160384834513975524e-04 -1.922440813951419580e-01 1.325711365590110931e+11 1.809490530403618791e-01 1.354635868173480473e+00 4.393650892656997503e-04 -2.265809449359138250e-01 1.325711365590110931e+11 2.132990291055048282e-01 1.354635868173480473e+00 6.118715366673541621e-04 -2.670507421371726142e-01 1.325711365590110931e+11 2.514464412309594943e-01 1.354635868173480473e+00 8.549967722106948135e-04 -3.147488810066778608e-01 1.325711365590110931e+11 2.964390349805604008e-01 1.354635868173480473e+00 1.190885769050744345e-03 -3.709664212206886247e-01 1.325711365590110931e+11 3.495193934157410087e-01 1.354635868173480473e+00 1.661109259728276019e-03 -4.372250196192620786e-01 1.325711365590110931e+11 4.121644977359170126e-01 1.354635868173480473e+00 2.318500144862820772e-03 -5.153181173433998286e-01 1.325711365590110931e+11 4.861352027465342673e-01 1.354635868173480473e+00 3.240170641326154191e-03 -6.073594834385067642e-01 1.325711365590110931e+11 5.735389793863668872e-01 1.354635868173480473e+00 4.538277784835694981e-03 -7.158404288682718164e-01 1.325711365590110931e+11 6.769105878727731396e-01 1.354635868173480473e+00 6.396496773461497753e-03 -8.436972395676662906e-01 1.325711365590110931e+11 7.993169763697519636e-01 1.354635868173480473e+00 9.016388161436905690e-03 -9.943906537655036182e-01 1.325711365590110931e+11 9.444943137498058583e-01 1.354635868173480473e+00 1.280196257111552473e-02 -1.171999534812844468e+00 1.325711365590110931e+11 1.117025490679190769e+00 1.354635868173480473e+00 1.827637173465709169e-02 -1.381331274987467994e+00 1.325711365590110931e+11 1.322562494674130340e+00 1.354635868173480473e+00 2.615529754190535489e-02 -1.628051918606947979e+00 1.325711365590110931e+11 1.568082319221347110e+00 1.354635868173480473e+00 3.832623787567595447e-02 -1.918839526531252559e+00 1.325711365590110931e+11 1.862122146119944421e+00 1.354635868173480473e+00 5.740254111328261383e-02 -2.261564933217340645e+00 1.325711365590110931e+11 2.214844187081216109e+00 1.354635868173480473e+00 8.980734454804376043e-02 -2.665504788930584290e+00 1.325711365590110931e+11 2.637612763068968302e+00 1.354635868173480473e+00 1.587137415541226559e-01 -3.141592653589792672e+00 1.325711365590110931e+11 3.141592653589792672e+00 1.354635868173480473e+00 6.179393004586264837e+00 -1.000000000000000021e-03 2.682695795279727173e+11 9.400851955781806130e-04 1.208418073940777049e+00 2.551148042665350655e-08 -1.178610770701415088e-03 2.682695795279727173e+11 1.107994541253815154e-03 1.208418073940777049e+00 3.476889611011718005e-08 -1.389123348813385214e-03 2.682695795279727173e+11 1.305894307352263150e-03 1.208418073940777049e+00 4.846880496782961867e-08 -1.637235740744274635e-03 2.682695795279727173e+11 1.539141107752782988e-03 1.208418073940777049e+00 6.814339227331186567e-08 -1.929663678218512032e-03 2.682695795279727173e+11 1.814048306398343292e-03 1.208418073940777049e+00 9.456269219623922230e-08 -2.274322394979648009e-03 2.682695795279727173e+11 2.138056903882182801e-03 1.208418073940777049e+00 1.317536747835276695e-07 -2.680540870770453925e-03 2.682695795279727173e+11 2.519936946678323804e-03 1.208418073940777049e+00 1.808461539011634110e-07 -3.159314341595407215e-03 2.682695795279727173e+11 2.970024910981464237e-03 1.208418073940777049e+00 2.532319915081328626e-07 -3.723601911035797143e-03 2.682695795279727173e+11 3.500503487087893318e-03 1.208418073940777049e+00 3.490052447586294213e-07 -4.388677318151167420e-03 2.682695795279727173e+11 4.125731338294734776e-03 1.208418073940777049e+00 4.821338112232883112e-07 -5.172542356305966961e-03 2.682695795279727173e+11 4.862631761588433882e-03 1.208418073940777049e+00 6.786215452166330875e-07 -6.096414133051489617e-03 2.682695795279727173e+11 5.731150772718157649e-03 1.208418073940777049e+00 9.389344899397794377e-07 -7.185299359870824139e-03 2.682695795279727173e+11 6.754797019037797265e-03 1.208418073940777049e+00 1.319285589101675866e-06 -8.468671216257736209e-03 2.682695795279727173e+11 7.961278141070839490e-03 1.208418073940777049e+00 1.846654916546599653e-06 -9.981267109010422481e-03 2.682695795279727173e+11 9.383250818802041024e-03 1.208418073940777049e+00 2.550983451006765690e-06 -1.176402891992746509e-02 2.682695795279727173e+11 1.105920482311242847e-02 1.208418073940777049e+00 3.572805539727126321e-06 -1.386521119186945317e-02 2.682695795279727173e+11 1.303450503184118425e-02 1.208418073940777049e+00 4.969993968737713172e-06 -1.634168724878715118e-02 2.682695795279727173e+11 1.536261966513110221e-02 1.208418073940777049e+00 6.847656917189683699e-06 -1.926048860285451206e-02 2.682695795279727173e+11 1.810656806708692973e-02 1.208418073940777049e+00 9.599321487803000211e-06 -2.270061931629619237e-02 2.682695795279727173e+11 2.134062735555547832e-02 1.208418073940777049e+00 1.337269476205085178e-05 -2.675519442777928719e-02 2.682695795279727173e+11 2.515234435423521070e-02 1.208418073940777049e+00 1.869539457597209491e-05 -3.153396032479117289e-02 2.682695795279727173e+11 2.964490762450623304e-02 1.208418073940777049e+00 2.605859351726228114e-05 -3.716626528166998983e-02 2.682695795279727173e+11 3.493994439046287093e-02 1.208418073940777049e+00 3.609445022970723222e-05 -4.380456056772231294e-02 2.682695795279727173e+11 4.118081902637678315e-02 1.208418073940777049e+00 5.055337008297530765e-05 -5.162852689096004283e-02 2.682695795279727173e+11 4.853652396540391462e-02 1.208418073940777049e+00 6.993029295459491181e-05 -6.084993786913318187e-02 2.682695795279727173e+11 5.720627092742563286e-02 1.208418073940777049e+00 9.755240341109343391e-05 -7.171839216907228975e-02 2.682695795279727173e+11 6.742491096124519911e-02 1.208418073940777049e+00 1.361070561396207602e-04 -8.452806946785666742e-02 2.682695795279727173e+11 7.946933691339437555e-02 1.208418073940777049e+00 1.892797286578983028e-04 -9.962569310141336509e-02 2.682695795279727173e+11 9.366605291059847127e-02 1.208418073940777049e+00 2.632482794578510634e-04 -1.174199149279194637e-01 2.682695795279727173e+11 1.104001341844160350e-01 1.208418073940777049e+00 3.667186587625490489e-04 -1.383923764288897684e-01 2.682695795279727173e+11 1.301258498598149571e-01 1.208418073940777049e+00 5.108809287586195055e-04 -1.631107454420542835e-01 2.682695795279727173e+11 1.533792853148964186e-01 1.208418073940777049e+00 7.095447039155289423e-04 -1.922440813951419580e-01 2.682695795279727173e+11 1.807933856392359429e-01 1.208418073940777049e+00 9.890610533188301003e-04 -2.265809449359138250e-01 2.682695795279727173e+11 2.131159570667983394e-01 1.208418073940777049e+00 1.372953679508678165e-03 -2.670507421371726142e-01 2.682695795279727173e+11 2.512313235059445704e-01 1.208418073940777049e+00 1.919961375357779124e-03 -3.147488810066778608e-01 2.682695795279727173e+11 2.961865623693168970e-01 1.208418073940777049e+00 2.673086925321754414e-03 -3.709664212206886247e-01 2.682695795279727173e+11 3.492235705550382763e-01 1.208418073940777049e+00 3.740422696670780717e-03 -4.372250196192620786e-01 2.682695795279727173e+11 4.118186849823573525e-01 1.208418073940777049e+00 5.227516294787677535e-03 -5.153181173433998286e-01 2.682695795279727173e+11 4.857322669906009027e-01 1.208418073940777049e+00 7.304416430582621848e-03 -6.073594834385067642e-01 2.682695795279727173e+11 5.730716335776832038e-01 1.208418073940777049e+00 1.022682799839873258e-02 -7.158404288682718164e-01 2.682695795279727173e+11 6.763720460728910311e-01 1.208418073940777049e+00 1.442028084931761683e-02 -8.436972395676662906e-01 2.682695795279727173e+11 7.987021199961568119e-01 1.208418073940777049e+00 2.032835568734054146e-02 -9.943906537655036182e-01 2.682695795279727173e+11 9.438016577594658951e-01 1.208418073940777049e+00 2.874709468448434849e-02 -1.171999534812844468e+00 2.682695795279727173e+11 1.116260344276500893e+00 1.208418073940777049e+00 4.099773888473685207e-02 -1.381331274987467994e+00 2.682695795279727173e+11 1.321741775487260906e+00 1.208418073940777049e+00 5.882582873553139635e-02 -1.628051918606947979e+00 2.682695795279727173e+11 1.567241336793484319e+00 1.208418073940777049e+00 8.586887675389436037e-02 -1.918839526531252559e+00 2.682695795279727173e+11 1.861322899444048717e+00 1.208418073940777049e+00 1.286495786721945644e-01 -2.261564933217340645e+00 2.682695795279727173e+11 2.214182432993168970e+00 1.208418073940777049e+00 2.031747149046287948e-01 -2.665504788930584290e+00 2.682695795279727173e+11 2.637215960833754647e+00 1.208418073940777049e+00 3.620512829340415961e-01 -3.141592653589792672e+00 2.682695795279727173e+11 3.141592653589792672e+00 1.208418073940777049e+00 1.414107764186568694e+01 -1.000000000000000021e-03 5.428675439323859253e+11 9.401533627628031907e-04 1.078352031502729291e+00 5.684449247248808779e-08 -1.178610770701415088e-03 5.428675439323859253e+11 1.108074883826827388e-03 1.078352031502729291e+00 7.836632197350330575e-08 -1.389123348813385214e-03 5.428675439323859253e+11 1.305988999965987298e-03 1.078352031502729291e+00 1.102997770435927889e-07 -1.637235740744274635e-03 5.428675439323859253e+11 1.539252713473841490e-03 1.078352031502729291e+00 1.521390280297477233e-07 -1.929663678218512032e-03 5.428675439323859253e+11 1.814179846081344274e-03 1.078352031502729291e+00 2.134902859196891201e-07 -2.274322394979648009e-03 5.428675439323859253e+11 2.138211937933470145e-03 1.078352031502729291e+00 2.997927185238380758e-07 -2.680540870770453925e-03 5.428675439323859253e+11 2.520119671422264927e-03 1.078352031502729291e+00 4.062518343655733953e-07 -3.159314341595407215e-03 5.428675439323859253e+11 2.970240272236589468e-03 1.078352031502729291e+00 5.725462409568579099e-07 -3.723601911035797143e-03 5.428675439323859253e+11 3.500757314025343663e-03 1.078352031502729291e+00 8.011341997233407387e-07 -4.388677318151167420e-03 5.428675439323859253e+11 4.126030501199353870e-03 1.078352031502729291e+00 1.112749430249827608e-06 -5.172542356305966961e-03 5.428675439323859253e+11 4.862984357788009172e-03 1.078352031502729291e+00 1.530040854736371622e-06 -6.096414133051489617e-03 5.428675439323859253e+11 5.731566345705766535e-03 1.078352031502729291e+00 2.132016404819837136e-06 -7.185299359870824139e-03 5.428675439323859253e+11 6.755286816705809855e-03 1.078352031502729291e+00 2.992872233217921816e-06 -8.468671216257736209e-03 5.428675439323859253e+11 7.961855420025793981e-03 1.078352031502729291e+00 4.125455006224329245e-06 -9.981267109010422481e-03 5.428675439323859253e+11 9.383931202963845253e-03 1.078352031502729291e+00 5.840479112838080510e-06 -1.176402891992746509e-02 5.428675439323859253e+11 1.106000672624932527e-02 1.078352031502729291e+00 8.036439810585470055e-06 -1.386521119186945317e-02 5.428675439323859253e+11 1.303545015538749505e-02 1.078352031502729291e+00 1.126861653113294428e-05 -1.634168724878715118e-02 5.428675439323859253e+11 1.536373358461522176e-02 1.078352031502729291e+00 1.574769542696726688e-05 -1.926048860285451206e-02 5.428675439323859253e+11 1.810788092280173414e-02 1.078352031502729291e+00 2.196904193639812299e-05 -2.270061931629619237e-02 5.428675439323859253e+11 2.134217466577144687e-02 1.078352031502729291e+00 3.067314411375585039e-05 -2.675519442777928719e-02 5.428675439323859253e+11 2.515416797232221738e-02 1.078352031502729291e+00 4.267666170192087295e-05 -3.153396032479117289e-02 5.428675439323859253e+11 2.964705686481396846e-02 1.078352031502729291e+00 5.920718667391407626e-05 -3.716626528166998983e-02 5.428675439323859253e+11 3.494247735170458863e-02 1.078352031502729291e+00 8.219949784415992984e-05 -4.380456056772231294e-02 5.428675439323859253e+11 4.118380414550520952e-02 1.078352031502729291e+00 1.147498979144752443e-04 -5.162852689096004283e-02 5.428675439323859253e+11 4.854004183940404532e-02 1.078352031502729291e+00 1.591529329101218446e-04 -6.084993786913318187e-02 5.428675439323859253e+11 5.721041644475065302e-02 1.078352031502729291e+00 2.227751862635334945e-04 -7.171839216907228975e-02 5.428675439323859253e+11 6.742979578817709374e-02 1.078352031502729291e+00 3.096134099462776400e-04 -8.452806946785666742e-02 5.428675439323859253e+11 7.947509238232550177e-02 1.078352031502729291e+00 4.297941938518869067e-04 -9.962569310141336509e-02 5.428675439323859253e+11 9.367283335520873444e-02 1.078352031502729291e+00 5.996879203064225472e-04 -1.174199149279194637e-01 5.428675439323859253e+11 1.104081207577432139e-01 1.078352031502729291e+00 8.311134378474490216e-04 -1.383923764288897684e-01 5.428675439323859253e+11 1.301352548498920791e-01 1.078352031502729291e+00 1.161098485153204234e-03 -1.631107454420542835e-01 5.428675439323859253e+11 1.533903569300317238e-01 1.078352031502729291e+00 1.615870882955823843e-03 -1.922440813951419580e-01 5.428675439323859253e+11 1.808064131564881272e-01 1.078352031502729291e+00 2.249160188762089341e-03 -2.265809449359138250e-01 5.428675439323859253e+11 2.131312760989247934e-01 1.078352031502729291e+00 3.123088764307884336e-03 -2.670507421371726142e-01 5.428675439323859253e+11 2.512493209057053423e-01 1.078352031502729291e+00 4.353670054078569336e-03 -3.147488810066778608e-01 5.428675439323859253e+11 2.962076798944566214e-01 1.078352031502729291e+00 6.074834665388279507e-03 -3.709664212206886247e-01 5.428675439323859253e+11 3.492483057670106583e-01 1.078352031502729291e+00 8.508528521840742070e-03 -4.372250196192620786e-01 5.428675439323859253e+11 4.118475868009212615e-01 1.078352031502729291e+00 1.186717480663894951e-02 -5.153181173433998286e-01 5.428675439323859253e+11 4.857659216598804175e-01 1.078352031502729291e+00 1.660062588364456110e-02 -6.073594834385067642e-01 5.428675439323859253e+11 5.731106342200985582e-01 1.078352031502729291e+00 2.328659892331865974e-02 -7.158404288682718164e-01 5.428675439323859253e+11 6.764169351527804519e-01 1.078352031502729291e+00 3.278367107835739036e-02 -8.436972395676662906e-01 5.428675439323859253e+11 7.987532885666855931e-01 1.078352031502729291e+00 4.620073307883958841e-02 -9.943906537655036182e-01 5.428675439323859253e+11 9.438591784103944615e-01 1.078352031502729291e+00 6.537282507125860564e-02 -1.171999534812844468e+00 5.428675439323859253e+11 1.116323707685482614e+00 1.078352031502729291e+00 9.275384975714945357e-02 -1.381331274987467994e+00 5.428675439323859253e+11 1.321809498497194424e+00 1.078352031502729291e+00 1.341142706738863155e-01 -1.628051918606947979e+00 5.428675439323859253e+11 1.567310426617333663e+00 1.078352031502729291e+00 1.954562014618043964e-01 -1.918839526531252559e+00 5.428675439323859253e+11 1.861388225054555257e+00 1.078352031502729291e+00 2.923740174085526222e-01 -2.261564933217340645e+00 5.428675439323859253e+11 2.214236230904089719e+00 1.078352031502729291e+00 4.584154285842675369e-01 -2.665504788930584290e+00 5.428675439323859253e+11 2.637248071412400474e+00 1.078352031502729291e+00 8.137602838492170587e-01 -3.141592653589792672e+00 5.428675439323859253e+11 3.141592653589792672e+00 1.078352031502729291e+00 3.240178904222182865e+01 -1.000000000000000021e-03 1.098541141987561768e+12 9.339797574994262866e-04 9.532286046951663483e-01 1.295390491189794344e-07 -1.178610770701415088e-03 1.098541141987561768e+12 1.100798606595829610e-03 9.532286046951663483e-01 1.818939364740790799e-07 -1.389123348813385214e-03 1.098541141987561768e+12 1.297413101949167723e-03 9.532286046951663483e-01 2.539861124469692721e-07 -1.637235740744274635e-03 1.098541141987561768e+12 1.529145068845970791e-03 9.532286046951663483e-01 3.504370728615664177e-07 -1.929663678218512032e-03 1.098541141987561768e+12 1.802266869128184854e-03 9.532286046951663483e-01 4.945843331233729102e-07 -2.274322394979648009e-03 1.098541141987561768e+12 2.124171178049725356e-03 9.532286046951663483e-01 6.747535238339985379e-07 -2.680540870770453925e-03 1.098541141987561768e+12 2.503571085611540434e-03 9.532286046951663483e-01 9.392805772320140827e-07 -3.159314341595407215e-03 1.098541141987561768e+12 2.950735938974350867e-03 9.532286046951663483e-01 1.313063441842687266e-06 -3.723601911035797143e-03 1.098541141987561768e+12 3.477769310215629572e-03 9.532286046951663483e-01 1.809327434138550634e-06 -4.388677318151167420e-03 1.098541141987561768e+12 4.098936614330674945e-03 9.532286046951663483e-01 2.536125952563587631e-06 -5.172542356305966961e-03 1.098541141987561768e+12 4.831051246953673925e-03 9.532286046951663483e-01 3.492927216162335654e-06 -6.096414133051489617e-03 1.098541141987561768e+12 5.693929696355515269e-03 9.532286046951663483e-01 4.887532900692891291e-06 -7.185299359870824139e-03 1.098541141987561768e+12 6.710927953039871191e-03 9.532286046951663483e-01 6.794019495660244156e-06 -8.468671216257736209e-03 1.098541141987561768e+12 7.909573743741224461e-03 9.532286046951663483e-01 9.497505455156319195e-06 -9.981267109010422481e-03 1.098541141987561768e+12 9.322311715208236177e-03 9.532286046951663483e-01 1.315129611276465736e-05 -1.176402891992746509e-02 1.098541141987561768e+12 1.098738175837747806e-02 9.532286046951663483e-01 1.845599188789132927e-05 -1.386521119186945317e-02 1.098541141987561768e+12 1.294985428035217399e-02 9.532286046951663483e-01 2.558106135985187954e-05 -1.634168724878715118e-02 1.098541141987561768e+12 1.526285050113251537e-02 9.532286046951663483e-01 3.561984501993964056e-05 -1.926048860285451206e-02 1.098541141987561768e+12 1.798898089516395501e-02 9.532286046951663483e-01 4.955089303772619802e-05 -2.270061931629619237e-02 1.098541141987561768e+12 2.120204085965707655e-02 9.532286046951663483e-01 6.943066315368206446e-05 -2.675519442777928719e-02 1.098541141987561768e+12 2.498900974785897219e-02 9.532286046951663483e-01 9.665569607253087490e-05 -3.153396032479117289e-02 1.098541141987561768e+12 2.945240777025305567e-02 9.532286046951663483e-01 1.347606755713610504e-04 -3.716626528166998983e-02 1.098541141987561768e+12 3.471307520446446915e-02 9.532286046951663483e-01 1.876758822623020013e-04 -4.380456056772231294e-02 1.098541141987561768e+12 4.091345019663808480e-02 9.532286046951663483e-01 2.616807117926821702e-04 -5.162852689096004283e-02 1.098541141987561768e+12 4.822143560546632290e-02 9.532286046951663483e-01 3.638778905671931504e-04 -6.084993786913318187e-02 1.098541141987561768e+12 5.683496238460155475e-02 9.532286046951663483e-01 5.062622115044711083e-04 -7.171839216907228975e-02 1.098541141987561768e+12 6.698737765274302702e-02 9.532286046951663483e-01 7.041448947581201070e-04 -8.452806946785666742e-02 1.098541141987561768e+12 7.895381086530733894e-02 9.532286046951663483e-01 9.861785831236521103e-04 -9.962569310141336509e-02 1.098541141987561768e+12 9.305870278311095811e-02 9.532286046951663483e-01 1.369051773970016150e-03 -1.174199149279194637e-01 1.098541141987561768e+12 1.096847212530456250e-01 9.532286046951663483e-01 1.897806512232460587e-03 -1.383923764288897684e-01 1.098541141987561768e+12 1.292833381430334161e-01 9.532286046951663483e-01 2.642388362615634423e-03 -1.631107454420542835e-01 1.098541141987561768e+12 1.523874075509998594e-01 9.532286046951663483e-01 3.672993956040958470e-03 -1.922440813951419580e-01 1.098541141987561768e+12 1.796261733688021833e-01 9.532286046951663483e-01 5.120041074658506462e-03 -2.265809449359138250e-01 1.098541141987561768e+12 2.117432547132978293e-01 9.532286046951663483e-01 7.130620362782953692e-03 -2.670507421371726142e-01 1.098541141987561768e+12 2.496183263770412053e-01 9.532286046951663483e-01 9.948118443013126769e-03 -3.147488810066778608e-01 1.098541141987561768e+12 2.942934522430006306e-01 9.532286046951663483e-01 1.386909674852236825e-02 -3.709664212206886247e-01 1.098541141987561768e+12 3.470053784029221711e-01 9.532286046951663483e-01 1.930033772371158099e-02 -4.372250196192620786e-01 1.098541141987561768e+12 4.092256015594368801e-01 9.532286046951663483e-01 2.704707755055671056e-02 -5.153181173433998286e-01 1.098541141987561768e+12 4.827107684087287853e-01 9.532286046951663483e-01 3.786722161518284169e-02 -6.073594834385067642e-01 1.098541141987561768e+12 5.695670194302415723e-01 9.532286046951663483e-01 5.304463925581372891e-02 -7.158404288682718164e-01 1.098541141987561768e+12 6.723333405558785669e-01 9.532286046951663483e-01 7.436863190127185330e-02 -8.436972395676662906e-01 1.098541141987561768e+12 7.940908036771935352e-01 9.532286046951663483e-01 1.054306508860163999e-01 -9.943906537655036182e-01 1.098541141987561768e+12 9.386063984783523662e-01 9.532286046951663483e-01 1.490563641821597562e-01 -1.171999534812844468e+00 1.098541141987561768e+12 1.110520696084920989e+00 9.532286046951663483e-01 2.127548541595784826e-01 -1.381331274987467994e+00 1.098541141987561768e+12 1.315584310935060230e+00 9.532286046951663483e-01 3.048225730290647362e-01 -1.628051918606947979e+00 1.098541141987561768e+12 1.560930626854001302e+00 9.532286046951663483e-01 4.480099240609689004e-01 -1.918839526531252559e+00 1.098541141987561768e+12 1.855323990497516284e+00 9.532286046951663483e-01 6.697320596580488283e-01 -2.261564933217340645e+00 1.098541141987561768e+12 2.209214266398383142e+00 9.532286046951663483e-01 1.048062582466675829e+00 -2.665504788930584290e+00 1.098541141987561768e+12 2.634236288443320806e+00 9.532286046951663483e-01 1.849917484949195945e+00 -3.141592653589792672e+00 1.098541141987561768e+12 3.141592653589792672e+00 9.532286046951663483e-01 7.441104382298091480e+01 -1.000000000000000021e-03 2.222996482526190918e+12 9.361563643276909000e-04 8.507142256376261091e-01 2.973330140947667385e-07 -1.178610770701415088e-03 2.222996482526190918e+12 1.103363978696991071e-03 8.507142256376261091e-01 4.105780996426679853e-07 -1.389123348813385214e-03 2.222996482526190918e+12 1.300436676892518682e-03 8.507142256376261091e-01 5.687209389769979647e-07 -1.637235740744274635e-03 2.222996482526190918e+12 1.532708686437573914e-03 8.507142256376261091e-01 7.976767894547471926e-07 -1.929663678218512032e-03 2.222996482526190918e+12 1.806466986545070957e-03 8.507142256376261091e-01 1.102587511967482461e-06 -2.274322394979648009e-03 2.222996482526190918e+12 2.129121480596149561e-03 8.507142256376261091e-01 1.547337936971429650e-06 -2.680540870770453925e-03 2.222996482526190918e+12 2.509405563743872039e-03 8.507142256376261091e-01 2.150484664636965654e-06 -3.159314341595407215e-03 2.222996482526190918e+12 2.957612514849355077e-03 8.507142256376261091e-01 2.967563635135397035e-06 -3.723601911035797143e-03 2.222996482526190918e+12 3.485874111870632900e-03 8.507142256376261091e-01 4.128795428878863709e-06 -4.388677318151167420e-03 2.222996482526190918e+12 4.108489013100367904e-03 8.507142256376261091e-01 5.769079369773601518e-06 -5.172542356305966961e-03 2.222996482526190918e+12 4.842309794332432665e-03 8.507142256376261091e-01 7.979240247881245213e-06 -6.096414133051489617e-03 2.222996482526190918e+12 5.707199120770214615e-03 8.507142256376261091e-01 1.125097294705494084e-05 -7.185299359870824139e-03 2.222996482526190918e+12 6.726567405540626390e-03 8.507142256376261091e-01 1.556118661300733342e-05 -8.468671216257736209e-03 2.222996482526190918e+12 7.928006515182542055e-03 8.507142256376261091e-01 2.168285132298633237e-05 -9.981267109010422481e-03 2.222996482526190918e+12 9.344036686929750937e-03 8.507142256376261091e-01 3.006034404527125256e-05 -1.176402891992746509e-02 2.222996482526190918e+12 1.101298689467184767e-02 8.507142256376261091e-01 4.172134175349185507e-05 -1.386521119186945317e-02 2.222996482526190918e+12 1.298003252522111559e-02 8.507142256376261091e-01 5.828220691444482892e-05 -1.634168724878715118e-02 2.222996482526190918e+12 1.529841850518675987e-02 8.507142256376261091e-01 8.122550326866412437e-05 -1.926048860285451206e-02 2.222996482526190918e+12 1.803090107230674588e-02 8.507142256376261091e-01 1.131270729135865484e-04 -2.270061931629619237e-02 2.222996482526190918e+12 2.125144735870164794e-02 8.507142256376261091e-01 1.576037365219332066e-04 -2.675519442777928719e-02 2.222996482526190918e+12 2.504723902263775864e-02 8.507142256376261091e-01 2.192383760964343952e-04 -3.153396032479117289e-02 2.222996482526190918e+12 2.952103454387034961e-02 8.507142256376261091e-01 3.040784547382048260e-04 -3.716626528166998983e-02 2.222996482526190918e+12 3.479395474909165870e-02 8.507142256376261091e-01 4.250697516666880182e-04 -4.380456056772231294e-02 2.222996482526190918e+12 4.100876798803683443e-02 8.507142256376261091e-01 5.906621369453395531e-04 -5.162852689096004283e-02 2.222996482526190918e+12 4.833376555676757724e-02 8.507142256376261091e-01 8.265473531580422653e-04 -6.084993786913318187e-02 2.222996482526190918e+12 5.696733500726911675e-02 8.507142256376261091e-01 1.146467235344340776e-03 -7.171839216907228975e-02 2.222996482526190918e+12 6.714335961602690972e-02 8.507142256376261091e-01 1.606265723205051784e-03 -8.452806946785666742e-02 2.222996482526190918e+12 7.913759749628637707e-02 8.507142256376261091e-01 2.216159177127035359e-03 -9.962569310141336509e-02 2.222996482526190918e+12 9.327522501092197493e-02 8.507142256376261091e-01 3.087152266544921676e-03 -1.174199149279194637e-01 2.222996482526190918e+12 1.099397682563915818e-01 8.507142256376261091e-01 4.305665041878052428e-03 -1.383923764288897684e-01 2.222996482526190918e+12 1.295836963470505809e-01 8.507142256376261091e-01 5.987578790719006241e-03 -1.631107454420542835e-01 2.222996482526190918e+12 1.527410153679220894e-01 8.507142256376261091e-01 8.327100999135915102e-03 -1.922440813951419580e-01 2.222996482526190918e+12 1.800422887414735995e-01 8.507142256376261091e-01 1.158816971188426567e-02 -2.265809449359138250e-01 2.222996482526190918e+12 2.122326283737504538e-01 8.507142256376261091e-01 1.614716582143739532e-02 -2.670507421371726142e-01 2.222996482526190918e+12 2.501933665940228591e-01 8.507142256376261091e-01 2.244737948136910771e-02 -3.147488810066778608e-01 2.222996482526190918e+12 2.949683548071408423e-01 8.507142256376261091e-01 3.138956542688903922e-02 -3.709664212206886247e-01 2.222996482526190918e+12 3.477961756797255388e-01 8.507142256376261091e-01 4.376914577850934268e-02 -4.372250196192620786e-01 2.222996482526190918e+12 4.101500519440005599e-01 8.507142256376261091e-01 6.130763993553707547e-02 -5.153181173433998286e-01 2.222996482526190918e+12 4.837879553400641908e-01 8.507142256376261091e-01 8.568969652933992875e-02 -6.073594834385067642e-01 2.222996482526190918e+12 5.708164469804171137e-01 8.507142256376261091e-01 1.200614814188621510e-01 -7.158404288682718164e-01 2.222996482526190918e+12 6.737731868153709058e-01 8.507142256376261091e-01 1.690427277957621544e-01 -8.436972395676662906e-01 2.222996482526190918e+12 7.957348087511788570e-01 8.507142256376261091e-01 2.384865094933523166e-01 -9.943906537655036182e-01 2.222996482526190918e+12 9.404586139434165659e-01 8.507142256376261091e-01 3.365790895003133443e-01 -1.171999534812844468e+00 2.222996482526190918e+12 1.112567037028778349e+00 8.507142256376261091e-01 4.809385499265187436e-01 -1.381331274987467994e+00 2.222996482526190918e+12 1.317779673774682303e+00 8.507142256376261091e-01 6.993311446637512363e-01 -1.628051918606947979e+00 2.222996482526190918e+12 1.563180708833109778e+00 8.507142256376261091e-01 1.018554701524627459e+00 -1.918839526531252559e+00 2.222996482526190918e+12 1.857462999275069304e+00 8.507142256376261091e-01 1.526602773341358299e+00 -2.261564933217340645e+00 2.222996482526190918e+12 2.210985842598478524e+00 8.507142256376261091e-01 2.401540747858209812e+00 -2.665504788930584290e+00 2.222996482526190918e+12 2.635298849836384072e+00 8.507142256376261091e-01 4.233712953839249948e+00 -3.141592653589792672e+00 2.222996482526190918e+12 3.141592653589792672e+00 8.507142256376261091e-01 1.715784448957492430e+02 -1.000000000000000021e-03 4.498432668969453125e+12 9.321210891686682737e-04 7.525554588629501662e-01 6.846010153496288948e-07 -1.178610770701415088e-03 4.498432668969453125e+12 1.098607960209016391e-03 7.525554588629501662e-01 9.301264009470788098e-07 -1.389123348813385214e-03 4.498432668969453125e+12 1.294831182730767560e-03 7.525554588629501662e-01 1.315598813125487280e-06 -1.637235740744274635e-03 4.498432668969453125e+12 1.526101991386458146e-03 7.525554588629501662e-01 1.829909413737399985e-06 -1.929663678218512032e-03 4.498432668969453125e+12 1.798680265815598032e-03 7.525554588629501662e-01 2.545834361068463414e-06 -2.274322394979648009e-03 4.498432668969453125e+12 2.119943969667665174e-03 7.525554588629501662e-01 3.488828584303134760e-06 -2.680540870770453925e-03 4.498432668969453125e+12 2.498588853776239748e-03 7.525554588629501662e-01 4.910533916801520633e-06 -3.159314341595407215e-03 4.498432668969453125e+12 2.944863829316826838e-03 7.525554588629501662e-01 6.830279606910299096e-06 -3.723601911035797143e-03 4.498432668969453125e+12 3.470848382530707099e-03 7.525554588629501662e-01 9.519562760183691692e-06 -4.388677318151167420e-03 4.498432668969453125e+12 4.090779540973757226e-03 7.525554588629501662e-01 1.311302348775015253e-05 -5.172542356305966961e-03 4.498432668969453125e+12 4.821437243171158155e-03 7.525554588629501662e-01 1.839396884214795531e-05 -6.096414133051489617e-03 4.498432668969453125e+12 5.682598545520892858e-03 7.525554588629501662e-01 2.554552370828138907e-05 -7.185299359870824139e-03 4.498432668969453125e+12 6.697572965392888621e-03 7.525554588629501662e-01 3.586871436703184703e-05 -8.468671216257736209e-03 4.498432668969453125e+12 7.893833458563008151e-03 7.525554588629501662e-01 4.933529485364492577e-05 -9.981267109010422481e-03 4.498432668969453125e+12 9.303760122685333575e-03 7.525554588629501662e-01 6.912860969832713704e-05 -1.176402891992746509e-02 4.498432668969453125e+12 1.096551677788306679e-02 7.525554588629501662e-01 9.651324081156307556e-05 -1.386521119186945317e-02 4.498432668969453125e+12 1.292408418556817082e-02 7.525554588629501662e-01 1.342574044998143799e-04 -1.634168724878715118e-02 4.498432668969453125e+12 1.523247792831914499e-02 7.525554588629501662e-01 1.882890402825222308e-04 -1.926048860285451206e-02 4.498432668969453125e+12 1.795318400784993995e-02 7.525554588629501662e-01 2.599250088669322425e-04 -2.270061931629619237e-02 4.498432668969453125e+12 2.115985116995893617e-02 7.525554588629501662e-01 3.617520740447385634e-04 -2.675519442777928719e-02 4.498432668969453125e+12 2.493928601053214955e-02 7.525554588629501662e-01 5.049376602816104277e-04 -3.153396032479117289e-02 4.498432668969453125e+12 2.939380526973816785e-02 7.525554588629501662e-01 7.017064995034117975e-04 -3.716626528166998983e-02 4.498432668969453125e+12 3.464400964761760182e-02 7.525554588629501662e-01 9.810147263543480840e-04 -4.380456056772231294e-02 4.498432668969453125e+12 4.083205530585584664e-02 7.525554588629501662e-01 1.368100207553723038e-03 -5.162852689096004283e-02 4.498432668969453125e+12 4.812551338228363701e-02 7.525554588629501662e-01 1.897833193112833695e-03 -6.084993786913318187e-02 4.498432668969453125e+12 5.672192489053654030e-02 7.525554588629501662e-01 2.653054801864599202e-03 -7.171839216907228975e-02 4.498432668969453125e+12 6.685417904742317619e-02 7.525554588629501662e-01 3.668344211778842758e-03 -8.452806946785666742e-02 4.498432668969453125e+12 7.879686837920386877e-02 7.525554588629501662e-01 5.116714660645465054e-03 -9.962569310141336509e-02 4.498432668969453125e+12 9.287380533142478023e-02 7.525554588629501662e-01 7.162130241992525903e-03 -1.174199149279194637e-01 4.498432668969453125e+12 1.094669246001530316e-01 7.525554588629501662e-01 9.936356853381062351e-03 -1.383923764288897684e-01 4.498432668969453125e+12 1.290268460408211526e-01 7.525554588629501662e-01 1.386578639768700806e-02 -1.631107454420542835e-01 4.498432668969453125e+12 1.520854393279528205e-01 7.525554588629501662e-01 1.924525425165480100e-02 -1.922440813951419580e-01 4.498432668969453125e+12 1.792708204167369201e-01 7.525554588629501662e-01 2.680423437065940218e-02 -2.265809449359138250e-01 4.498432668969453125e+12 2.113253318218654420e-01 7.525554588629501662e-01 3.713964115009235623e-02 -2.670507421371726142e-01 4.498432668969453125e+12 2.491272299037712301e-01 7.525554588629501662e-01 5.208931462078469216e-02 -3.147488810066778608e-01 4.498432668969453125e+12 2.937170472894109485e-01 7.525554588629501662e-01 7.228007159372562551e-02 -3.709664212206886247e-01 4.498432668969453125e+12 3.463299540556206702e-01 7.525554588629501662e-01 1.012362240743808206e-01 -4.372250196192620786e-01 4.498432668969453125e+12 4.084359608515396589e-01 7.525554588629501662e-01 1.410643666964041809e-01 -5.153181173433998286e-01 4.498432668969453125e+12 4.817905640573216797e-01 7.525554588629501662e-01 1.977994998114696867e-01 -6.073594834385067642e-01 4.498432668969453125e+12 5.684995165033513986e-01 7.525554588629501662e-01 2.772311812685085974e-01 -7.158404288682718164e-01 4.498432668969453125e+12 6.711028949937047905e-01 7.525554588629501662e-01 3.897806390744523175e-01 -8.436972395676662906e-01 4.498432668969453125e+12 7.926855044870959599e-01 7.525554588629501662e-01 5.496856093001188936e-01 -9.943906537655036182e-01 4.498432668969453125e+12 9.370225387562493014e-01 7.525554588629501662e-01 7.797358202079115452e-01 -1.171999534812844468e+00 4.498432668969453125e+12 1.108769990759871593e+00 7.525554588629501662e-01 1.110995308255281477e+00 -1.381331274987467994e+00 4.498432668969453125e+12 1.313704947682426960e+00 7.525554588629501662e-01 1.597469465283548162e+00 -1.628051918606947979e+00 4.498432668969453125e+12 1.559002942344503762e+00 7.525554588629501662e-01 2.341159140746048806e+00 -1.918839526531252559e+00 4.498432668969453125e+12 1.853489824184053614e+00 7.525554588629501662e-01 3.511406082241805837e+00 -2.261564933217340645e+00 4.498432668969453125e+12 2.207693735596743867e+00 7.525554588629501662e-01 5.496196625724844687e+00 -2.665504788930584290e+00 4.498432668969453125e+12 2.633323562240313720e+00 7.525554588629501662e-01 9.671651153619414742e+00 -3.141592653589792672e+00 4.498432668969453125e+12 3.141592653589792672e+00 7.525554588629501662e-01 3.956875383743923749e+02 -1.000000000000000021e-03 9.102981779915226562e+12 9.290497534800703713e-04 6.662401431656831408e-01 1.539607618633391063e-06 -1.178610770701415088e-03 9.102981779915226562e+12 1.094988051095338545e-03 6.662401431656831408e-01 2.158790198969116865e-06 -1.389123348813385214e-03 9.102981779915226562e+12 1.290564719203170880e-03 6.662401431656831408e-01 2.998315031663645389e-06 -1.637235740744274635e-03 9.102981779915226562e+12 1.521073492081181314e-03 6.662401431656831408e-01 4.223300886737731720e-06 -1.929663678218512032e-03 9.102981779915226562e+12 1.792753623292674212e-03 6.662401431656831408e-01 5.849702891793028332e-06 -2.274322394979648009e-03 9.102981779915226562e+12 2.112958766460244515e-03 6.662401431656831408e-01 8.153484422227752314e-06 -2.680540870770453925e-03 9.102981779915226562e+12 2.490356020503155157e-03 6.662401431656831408e-01 1.123689720157160436e-05 -3.159314341595407215e-03 9.102981779915226562e+12 2.935160527379832972e-03 6.662401431656831408e-01 1.557558323813636804e-05 -3.723601911035797143e-03 9.102981779915226562e+12 3.459411972957817955e-03 6.662401431656831408e-01 2.168193135358148770e-05 -4.388677318151167420e-03 9.102981779915226562e+12 4.077300476281073456e-03 6.662401431656831408e-01 3.026543760232829110e-05 -5.172542356305966961e-03 9.102981779915226562e+12 4.805550690040744609e-03 6.662401431656831408e-01 4.234926659561062228e-05 -6.096414133051489617e-03 9.102981779915226562e+12 5.663874511863533495e-03 6.662401431656831408e-01 5.780884131026824314e-05 -7.185299359870824139e-03 9.102981779915226562e+12 6.675504665086437819e-03 6.662401431656831408e-01 8.111158966943035284e-05 -8.468671216257736209e-03 9.102981779915226562e+12 7.867823599789826663e-03 6.662401431656831408e-01 1.132686451396868984e-04 -9.981267109010422481e-03 9.102981779915226562e+12 9.273104750136880459e-03 6.662401431656831408e-01 1.553997510617929120e-04 -1.176402891992746509e-02 9.102981779915226562e+12 1.092938623378524911e-02 6.662401431656831408e-01 2.197016445674477452e-04 -1.386521119186945317e-02 9.102981779915226562e+12 1.288150067796182789e-02 6.662401431656831408e-01 3.054420589072996727e-04 -1.634168724878715118e-02 9.102981779915226562e+12 1.518228910559853498e-02 6.662401431656831408e-01 4.261062170268407152e-04 -1.926048860285451206e-02 9.102981779915226562e+12 1.789403183439309403e-02 6.662401431656831408e-01 5.932593058743013169e-04 -2.270061931629619237e-02 9.102981779915226562e+12 2.109013527693221618e-02 6.662401431656831408e-01 8.230122223802184339e-04 -2.675519442777928719e-02 9.102981779915226562e+12 2.485712055694436901e-02 6.662401431656831408e-01 1.151363740853965497e-03 -3.153396032479117289e-02 9.102981779915226562e+12 2.929696819040638819e-02 6.662401431656831408e-01 1.598920005405738342e-03 -3.716626528166998983e-02 9.102981779915226562e+12 3.452988298687362928e-02 6.662401431656831408e-01 2.230347707284818532e-03 -4.380456056772231294e-02 9.102981779915226562e+12 4.069755514075150404e-02 6.662401431656831408e-01 3.122325714247384341e-03 -5.162852689096004283e-02 9.102981779915226562e+12 4.796700763291022324e-02 6.662401431656831408e-01 4.339288459859477927e-03 -6.084993786913318187e-02 9.102981779915226562e+12 5.653513711100376093e-02 6.662401431656831408e-01 6.035281231937450995e-03 -7.171839216907228975e-02 9.102981779915226562e+12 6.663407611414301490e-02 6.662401431656831408e-01 8.377377889676435041e-03 -8.452806946785666742e-02 9.102981779915226562e+12 7.853752988865927986e-02 6.662401431656831408e-01 1.171987946866044801e-02 -9.962569310141336509e-02 9.102981779915226562e+12 9.256827256650879132e-02 6.662401431656831408e-01 1.625494114697444842e-02 -1.174199149279194637e-01 9.102981779915226562e+12 1.091070272571598304e-01 6.662401431656831408e-01 2.272891010985349583e-02 -1.383923764288897684e-01 9.102981779915226562e+12 1.286030057548031291e-01 6.662401431656831408e-01 3.158342328355469297e-02 -1.631107454420542835e-01 9.102981779915226562e+12 1.515864507692960550e-01 6.662401431656831408e-01 4.387501847662374221e-02 -1.922440813951419580e-01 9.102981779915226562e+12 1.786836139779969246e-01 6.662401431656831408e-01 6.120177511657678981e-02 -2.265809449359138250e-01 9.102981779915226562e+12 2.106347276883805408e-01 6.662401431656831408e-01 8.499847533489923723e-02 -2.670507421371726142e-01 9.102981779915226562e+12 2.483157032562121336e-01 6.662401431656831408e-01 1.185300077444297051e-01 -3.147488810066778608e-01 9.102981779915226562e+12 2.927645411795322117e-01 6.662401431656831408e-01 1.650801450259798686e-01 -3.709664212206886247e-01 9.102981779915226562e+12 3.452138043559671576e-01 6.662401431656831408e-01 2.302974836222169142e-01 -4.372250196192620786e-01 9.102981779915226562e+12 4.071310432187331685e-01 6.662401431656831408e-01 3.215568703564577469e-01 -5.153181173433998286e-01 9.102981779915226562e+12 4.802698461491251569e-01 6.662401431656831408e-01 4.508618260223622998e-01 -6.073594834385067642e-01 9.102981779915226562e+12 5.667353144838072065e-01 6.662401431656831408e-01 6.316769288841730390e-01 -7.158404288682718164e-01 9.102981779915226562e+12 6.690693115407883029e-01 6.662401431656831408e-01 8.904807031705422871e-01 -8.436972395676662906e-01 9.102981779915226562e+12 7.903627885589105118e-01 6.662401431656831408e-01 1.255691923433601698e+00 -9.943906537655036182e-01 9.102981779915226562e+12 9.344044679066166870e-01 6.662401431656831408e-01 1.776690941107631705e+00 -1.171999534812844468e+00 9.102981779915226562e+12 1.105875797802208238e+00 6.662401431656831408e-01 2.537320018544804157e+00 -1.381331274987467994e+00 9.102981779915226562e+12 1.310597598843996403e+00 6.662401431656831408e-01 3.642451916161065562e+00 -1.628051918606947979e+00 9.102981779915226562e+12 1.555815098705437549e+00 6.662401431656831408e-01 5.367788056191264978e+00 -1.918839526531252559e+00 9.102981779915226562e+12 1.850455951749886196e+00 6.662401431656831408e-01 8.034939994231578453e+00 -2.261564933217340645e+00 9.102981779915226562e+12 2.205178033818063099e+00 6.662401431656831408e-01 1.267049883809210620e+01 -2.665504788930584290e+00 9.102981779915226562e+12 2.631813144920861713e+00 6.662401431656831408e-01 2.229203678262942390e+01 -3.141592653589792672e+00 9.102981779915226562e+12 3.141592653589792672e+00 6.662401431656831408e-01 9.163025254779053057e+02 -1.000000000000000021e-03 1.842069969326716406e+13 9.264419666520711753e-04 5.900239646317324560e-01 3.565344321602058028e-06 -1.178610770701415088e-03 1.842069969326716406e+13 1.091914485629153029e-03 5.900239646317324560e-01 4.914574771459405673e-06 -1.389123348813385214e-03 1.842069969326716406e+13 1.286942182130038819e-03 5.900239646317324560e-01 6.986176341937289140e-06 -1.637235740744274635e-03 1.842069969326716406e+13 1.516803931343944402e-03 5.900239646317324560e-01 9.517690613707794378e-06 -1.929663678218512032e-03 1.842069969326716406e+13 1.787721473798343369e-03 5.900239646317324560e-01 1.338036610644028806e-05 -2.274322394979648009e-03 1.842069969326716406e+13 2.107027822138153594e-03 5.900239646317324560e-01 1.857152352537363521e-05 -2.680540870770453925e-03 1.842069969326716406e+13 2.483365747726792774e-03 5.900239646317324560e-01 2.577464752912380364e-05 -3.159314341595407215e-03 1.842069969326716406e+13 2.926921720004333795e-03 5.900239646317324560e-01 3.583940917081269707e-05 -3.723601911035797143e-03 1.842069969326716406e+13 3.449701631428430705e-03 5.900239646317324560e-01 4.962258805475524079e-05 -4.388677318151167420e-03 1.842069969326716406e+13 4.065855772304939782e-03 5.900239646317324560e-01 6.989111434064090389e-05 -5.172542356305966961e-03 1.842069969326716406e+13 4.792061853627369548e-03 5.900239646317324560e-01 9.517643035495798034e-05 -6.096414133051489617e-03 1.842069969326716406e+13 5.647976448476165791e-03 5.900239646317324560e-01 1.332146242200860098e-04 -7.185299359870824139e-03 1.842069969326716406e+13 6.656767076446671108e-03 5.900239646317324560e-01 1.862124337356870407e-04 -8.468671216257736209e-03 1.842069969326716406e+13 7.845739341658192201e-03 5.900239646317324560e-01 2.586950568338589919e-04 -9.981267109010422481e-03 1.842069969326716406e+13 9.247076113134468714e-03 5.900239646317324560e-01 3.568263139983116473e-04 -1.176402891992746509e-02 1.842069969326716406e+13 1.089870877786102386e-02 5.900239646317324560e-01 4.981417598129731861e-04 -1.386521119186945317e-02 1.842069969326716406e+13 1.284534418613393104e-02 5.900239646317324560e-01 6.923688930627667050e-04 -1.634168724878715118e-02 1.842069969326716406e+13 1.513967514665432931e-02 5.900239646317324560e-01 9.726139043138620679e-04 -1.926048860285451206e-02 1.842069969326716406e+13 1.784380733576952302e-02 5.900239646317324560e-01 1.358152711446733180e-03 -2.270061931629619237e-02 1.842069969326716406e+13 2.103094140644516663e-02 5.900239646317324560e-01 1.884600328447987938e-03 -2.675519442777928719e-02 1.842069969326716406e+13 2.478735609396577610e-02 5.900239646317324560e-01 2.630508338547817102e-03 -3.153396032479117289e-02 1.842069969326716406e+13 2.921474643251335823e-02 5.900239646317324560e-01 3.669262668561909350e-03 -3.716626528166998983e-02 1.842069969326716406e+13 3.443298108688594428e-02 5.900239646317324560e-01 5.112347211943834603e-03 -4.380456056772231294e-02 1.842069969326716406e+13 4.058335460325702970e-02 5.900239646317324560e-01 7.122400618457632414e-03 -5.162852689096004283e-02 1.842069969326716406e+13 4.783242452404114914e-02 5.900239646317324560e-01 9.922792202716910689e-03 -6.084993786913318187e-02 1.842069969326716406e+13 5.637654036145624270e-02 5.900239646317324560e-01 1.381365496459513280e-02 -7.171839216907228975e-02 1.842069969326716406e+13 6.644719214441643929e-02 5.900239646317324560e-01 1.923991593164373071e-02 -8.452806946785666742e-02 1.842069969326716406e+13 7.831733169546467588e-02 5.900239646317324560e-01 2.682116641409158092e-02 -9.962569310141336509e-02 1.842069969326716406e+13 9.230885144696580891e-02 5.900239646317324560e-01 3.723474353570360024e-02 -1.174199149279194637e-01 1.842069969326716406e+13 1.088014456266470226e-01 5.900239646317324560e-01 5.194623112161343703e-02 -1.383923764288897684e-01 1.842069969326716406e+13 1.282431302267005579e-01 5.900239646317324560e-01 7.221039103522364222e-02 -1.631107454420542835e-01 1.842069969326716406e+13 1.511627661291005398e-01 5.900239646317324560e-01 1.003871902891460138e-01 -1.922440813951419580e-01 1.842069969326716406e+13 1.781850214262296617e-01 5.900239646317324560e-01 1.395686256948697745e-01 -2.265809449359138250e-01 1.842069969326716406e+13 2.100483356072458396e-01 5.900239646317324560e-01 1.942844462131752825e-01 -2.670507421371726142e-01 1.842069969326716406e+13 2.476266271727857460e-01 5.900239646317324560e-01 2.702616624696064229e-01 -3.147488810066778608e-01 1.842069969326716406e+13 2.919557438056720744e-01 5.900239646317324560e-01 3.780531234494101112e-01 -3.709664212206886247e-01 1.842069969326716406e+13 3.442660301676138679e-01 5.900239646317324560e-01 5.258204297600291843e-01 -4.372250196192620786e-01 1.842069969326716406e+13 4.060229406102275895e-01 5.900239646317324560e-01 7.384424897587616998e-01 -5.153181173433998286e-01 1.842069969326716406e+13 4.789784323392989318e-01 5.900239646317324560e-01 1.032211173064032872e+00 -6.073594834385067642e-01 1.842069969326716406e+13 5.652370366299661608e-01 5.900239646317324560e-01 1.444641543244276294e+00 -7.158404288682718164e-01 1.842069969326716406e+13 6.673421089921112159e-01 5.900239646317324560e-01 2.037547171211755881e+00 -8.436972395676662906e-01 1.842069969326716406e+13 7.883897853305297243e-01 5.900239646317324560e-01 2.871987451425956017e+00 -9.943906537655036182e-01 1.842069969326716406e+13 9.321802328323183229e-01 5.900239646317324560e-01 4.063316052144312351e+00 -1.171999534812844468e+00 1.842069969326716406e+13 1.103416472482565469e+00 5.900239646317324560e-01 5.794939926170516564e+00 -1.381331274987467994e+00 1.842069969326716406e+13 1.307956445875454454e+00 5.900239646317324560e-01 8.319484707800521406e+00 -1.628051918606947979e+00 1.842069969326716406e+13 1.553104634231784464e+00 5.900239646317324560e-01 1.225011261898563042e+01 -1.918839526531252559e+00 1.842069969326716406e+13 1.847875402255140687e+00 5.900239646317324560e-01 1.835756911679566628e+01 -2.261564933217340645e+00 1.842069969326716406e+13 2.203037349418628388e+00 5.900239646317324560e-01 2.895148408613255597e+01 -2.665504788930584290e+00 1.842069969326716406e+13 2.630527429282489393e+00 5.900239646317324560e-01 5.120128349319016081e+01 -3.141592653589792672e+00 1.842069969326716406e+13 3.141592653589792672e+00 5.900239646317324560e-01 2.138412766454166103e+03 -1.000000000000000021e-03 3.727593720314938281e+13 9.325066701320072239e-04 5.278500060185991050e-01 8.227524649382362054e-06 -1.178610770701415088e-03 3.727593720314938281e+13 1.099062410058421072e-03 5.278500060185991050e-01 1.131759197534411229e-05 -1.389123348813385214e-03 3.727593720314938281e+13 1.295366802173872952e-03 5.278500060185991050e-01 1.584230181731719695e-05 -1.637235740744274635e-03 3.727593720314938281e+13 1.526733278158820799e-03 5.278500060185991050e-01 2.191246242785982825e-05 -1.929663678218512032e-03 3.727593720314938281e+13 1.799424307086569270e-03 5.278500060185991050e-01 3.060263510485317833e-05 -2.274322394979648009e-03 3.727593720314938281e+13 2.120820904529733490e-03 5.278500060185991050e-01 4.272358004614654876e-05 -2.680540870770453925e-03 3.727593720314938281e+13 2.499622418332670543e-03 5.278500060185991050e-01 5.857899230624394300e-05 -3.159314341595407215e-03 3.727593720314938281e+13 2.946081999115909931e-03 5.278500060185991050e-01 8.168077428155523013e-05 -3.723601911035797143e-03 3.727593720314938281e+13 3.472284129726165534e-03 5.278500060185991050e-01 1.144179194065797581e-04 -4.388677318151167420e-03 3.727593720314938281e+13 4.092471726690213515e-03 5.278500060185991050e-01 1.580943224639388056e-04 -5.172542356305966961e-03 3.727593720314938281e+13 4.823431669203381497e-03 5.278500060185991050e-01 2.188538247991453508e-04 -6.096414133051489617e-03 3.727593720314938281e+13 5.684949193792220024e-03 5.278500060185991050e-01 3.073103058738115055e-04 -7.185299359870824139e-03 3.727593720314938281e+13 6.700343458654073152e-03 5.278500060185991050e-01 4.270360554249362289e-04 -8.468671216257736209e-03 3.727593720314938281e+13 7.897098781758062763e-03 5.278500060185991050e-01 5.979384250698942206e-04 -9.981267109010422481e-03 3.727593720314938281e+13 9.307608651396036270e-03 5.278500060185991050e-01 8.280512356776363733e-04 -1.176402891992746509e-02 3.727593720314938281e+13 1.097005266846021697e-02 5.278500060185991050e-01 1.158077839585933957e-03 -1.386521119186945317e-02 3.727593720314938281e+13 1.292943019115864837e-02 5.278500060185991050e-01 1.604961745745177651e-03 -1.634168724878715118e-02 3.727593720314938281e+13 1.523877871621646951e-02 5.278500060185991050e-01 2.259433494430512952e-03 -1.926048860285451206e-02 3.727593720314938281e+13 1.796061006665916962e-02 5.278500060185991050e-01 3.111799620072883393e-03 -2.270061931629619237e-02 3.727593720314938281e+13 2.116860341020264727e-02 5.278500060185991050e-01 4.341535165192699462e-03 -2.675519442777928719e-02 3.727593720314938281e+13 2.494960117973683486e-02 5.278500060185991050e-01 6.073979025796478852e-03 -3.153396032479117289e-02 3.727593720314938281e+13 2.940596232286497164e-02 5.278500060185991050e-01 8.453820362046612219e-03 -3.716626528166998983e-02 3.727593720314938281e+13 3.465833723592375709e-02 5.278500060185991050e-01 1.181080994133061265e-02 -4.380456056772231294e-02 3.727593720314938281e+13 4.084894057159434155e-02 5.278500060185991050e-01 1.641994849610992416e-02 -5.162852689096004283e-02 3.727593720314938281e+13 4.814541227225325321e-02 5.278500060185991050e-01 2.289687437419045402e-02 -6.084993786913318187e-02 3.727593720314938281e+13 5.674537422666454944e-02 5.278500060185991050e-01 3.183210244054503202e-02 -7.171839216907228975e-02 3.727593720314938281e+13 6.688181061403972172e-02 5.278500060185991050e-01 4.402980941243271606e-02 -8.452806946785666742e-02 3.727593720314938281e+13 7.882942529859049419e-02 5.278500060185991050e-01 6.163346804553290065e-02 -9.962569310141336509e-02 3.727593720314938281e+13 9.291216099139681939e-02 5.278500060185991050e-01 8.577851647403661461e-02 -1.174199149279194637e-01 3.727593720314938281e+13 1.095121043525013188e-01 5.278500060185991050e-01 1.195999884080333614e-01 -1.383923764288897684e-01 3.727593720314938281e+13 1.290800517782344226e-01 5.278500060185991050e-01 1.664055532848543184e-01 -1.631107454420542835e-01 3.727593720314938281e+13 1.521480768211449508e-01 5.278500060185991050e-01 2.323076997335278282e-01 -1.922440813951419580e-01 3.727593720314938281e+13 1.793445288731909948e-01 5.278500060185991050e-01 3.218548017577052001e-01 -2.265809449359138250e-01 3.727593720314938281e+13 2.114120143827057929e-01 5.278500060185991050e-01 4.477031762774600909e-01 -2.670507421371726142e-01 3.727593720314938281e+13 2.492290825150263456e-01 5.278500060185991050e-01 6.228113260094718662e-01 -3.147488810066778608e-01 3.727593720314938281e+13 2.938365812305475111e-01 5.278500060185991050e-01 8.714080578132161747e-01 -3.709664212206886247e-01 3.727593720314938281e+13 3.464700038475357347e-01 5.278500060185991050e-01 1.212078360502706564e+00 -4.372250196192620786e-01 3.727593720314938281e+13 4.085996634694286644e-01 5.278500060185991050e-01 1.701641806428666248e+00 -5.153181173433998286e-01 3.727593720314938281e+13 4.819812860924934661e-01 5.278500060185991050e-01 2.379186634468766659e+00 -6.073594834385067642e-01 3.727593720314938281e+13 5.687206913613244152e-01 5.278500060185991050e-01 3.331554787567231557e+00 -7.158404288682718164e-01 3.727593720314938281e+13 6.713577100413224974e-01 5.278500060185991050e-01 4.696481937042637611e+00 -8.436972395676662906e-01 3.727593720314938281e+13 7.929763458034868595e-01 5.278500060185991050e-01 6.625144951881074107e+00 -9.943906537655036182e-01 3.727593720314938281e+13 9.373500579399535182e-01 5.278500060185991050e-01 9.376273119568748982e+00 -1.171999534812844468e+00 3.727593720314938281e+13 1.109131609992407341e+00 5.278500060185991050e-01 1.338602095503383715e+01 -1.381331274987467994e+00 3.727593720314938281e+13 1.314092592061099074e+00 5.278500060185991050e-01 1.921009448456493018e+01 -1.628051918606947979e+00 3.727593720314938281e+13 1.559399860413375638e+00 5.278500060185991050e-01 2.829041817864164798e+01 -1.918839526531252559e+00 3.727593720314938281e+13 1.853866723341902834e+00 5.278500060185991050e-01 4.236083905932721905e+01 -2.261564933217340645e+00 3.727593720314938281e+13 2.208005525826924664e+00 5.278500060185991050e-01 6.681319588852713309e+01 -2.665504788930584290e+00 3.727593720314938281e+13 2.633510382595279697e+00 5.278500060185991050e-01 1.178915043634232234e+02 -3.141592653589792672e+00 3.727593720314938281e+13 3.141592653589792672e+00 5.278500060185991050e-01 5.086239973717243629e+03 -1.000000000000000021e-03 7.543120063354607812e+13 9.242776171749334880e-04 4.642388361832548438e-01 1.894380499118891948e-05 -1.178610770701415088e-03 7.543120063354607812e+13 1.089363560170200900e-03 4.642388361832548438e-01 2.598547325517332722e-05 -1.389123348813385214e-03 7.543120063354607812e+13 1.283935634148494504e-03 4.642388361832548438e-01 3.639439941734309657e-05 -1.637235740744274635e-03 7.543120063354607812e+13 1.513260381902601769e-03 4.642388361832548438e-01 4.993781554491747338e-05 -1.929663678218512032e-03 7.543120063354607812e+13 1.783545008902610298e-03 4.642388361832548438e-01 7.003288919888694931e-05 -2.274322394979648009e-03 7.543120063354607812e+13 2.102105396680258465e-03 4.642388361832548438e-01 9.854568340414918820e-05 -2.680540870770453925e-03 7.543120063354607812e+13 2.477564125785978663e-03 4.642388361832548438e-01 1.344804398216353021e-04 -3.159314341595407215e-03 7.543120063354607812e+13 2.920083868716403033e-03 4.642388361832548438e-01 1.895916247187518487e-04 -3.723601911035797143e-03 7.543120063354607812e+13 3.441642470867469546e-03 4.642388361832548438e-01 2.641693548098589272e-04 -4.388677318151167420e-03 7.543120063354607812e+13 4.056357166421555374e-03 4.642388361832548438e-01 3.680079044349883846e-04 -5.172542356305966961e-03 7.543120063354607812e+13 4.780866706798456503e-03 4.642388361832548438e-01 5.063164764273382634e-04 -6.096414133051489617e-03 7.543120063354607812e+13 5.634781748099720357e-03 4.642388361832548438e-01 7.104994889612415744e-04 -7.185299359870824139e-03 7.543120063354607812e+13 6.641215693630140096e-03 4.642388361832548438e-01 9.881173700385323128e-04 -8.468671216257736209e-03 7.543120063354607812e+13 7.827410368667459331e-03 4.642388361832548438e-01 1.361149902815908487e-03 -9.981267109010422481e-03 7.543120063354607812e+13 9.225473477047151441e-03 4.642388361832548438e-01 1.899451518315714484e-03 -1.176402891992746509e-02 7.543120063354607812e+13 1.087324782383553186e-02 4.642388361832548438e-01 2.651900518546458380e-03 -1.386521119186945317e-02 7.543120063354607812e+13 1.281533586977405374e-02 4.642388361832548438e-01 3.666512456686804502e-03 -1.634168724878715118e-02 7.543120063354607812e+13 1.510430741191246679e-02 4.642388361832548438e-01 5.179192397219381516e-03 -1.926048860285451206e-02 7.543120063354607812e+13 1.780212318140004732e-02 4.642388361832548438e-01 7.128584153851173430e-03 -2.270061931629619237e-02 7.543120063354607812e+13 2.098181305888669607e-02 4.642388361832548438e-01 1.001909570316418009e-02 -2.675519442777928719e-02 7.543120063354607812e+13 2.472945460650859822e-02 4.642388361832548438e-01 1.387578475066779220e-02 -3.153396032479117289e-02 7.543120063354607812e+13 2.914650591886856421e-02 4.642388361832548438e-01 1.938886236691650389e-02 -3.716626528166998983e-02 7.543120063354607812e+13 3.435255667178026967e-02 4.642388361832548438e-01 2.693648693213492734e-02 -4.380456056772231294e-02 7.543120063354607812e+13 4.048857303492654075e-02 4.642388361832548438e-01 3.771094231246521766e-02 -5.162852689096004283e-02 7.543120063354607812e+13 4.772072624776249605e-02 4.642388361832548438e-01 5.223978703417926639e-02 -6.084993786913318187e-02 7.543120063354607812e+13 5.624491170868533424e-02 4.642388361832548438e-01 7.285401873362903902e-02 -7.171839216907228975e-02 7.543120063354607812e+13 6.629208616620085870e-02 4.642388361832548438e-01 1.012622462947296714e-01 -8.452806946785666742e-02 7.543120063354607812e+13 7.813457609315591079e-02 4.642388361832548438e-01 1.413934131660685156e-01 -9.962569310141336509e-02 7.543120063354607812e+13 9.209354208302276967e-02 4.642388361832548438e-01 1.967123237419054482e-01 -1.174199149279194637e-01 7.543120063354607812e+13 1.085478243276545712e-01 4.642388361832548438e-01 2.741625689695947332e-01 -1.383923764288897684e-01 7.543120063354607812e+13 1.279444461780470943e-01 4.642388361832548438e-01 3.819272228514847822e-01 -1.631107454420542835e-01 7.543120063354607812e+13 1.508111213697262976e-01 4.642388361832548438e-01 5.316195221398980486e-01 -1.922440813951419580e-01 7.543120063354607812e+13 1.777712032175457479e-01 4.642388361832548438e-01 7.401190060505662416e-01 -2.265809449359138250e-01 7.543120063354607812e+13 2.095616424852446980e-01 4.642388361832548438e-01 1.026454510565945943e+00 -2.670507421371726142e-01 7.543120063354607812e+13 2.470547024545568793e-01 4.642388361832548438e-01 1.429245673408304773e+00 -3.147488810066778608e-01 7.543120063354607812e+13 2.912844420767675135e-01 4.642388361832548438e-01 1.994633781979491927e+00 -3.709664212206886247e-01 7.543120063354607812e+13 3.434793617972425328e-01 4.642388361832548438e-01 2.780125516096947802e+00 -4.372250196192620786e-01 7.543120063354607812e+13 4.051031712869779255e-01 4.642388361832548438e-01 3.886937001410498915e+00 -5.153181173433998286e-01 7.543120063354607812e+13 4.779064661200072561e-01 4.642388361832548438e-01 5.447440216129665558e+00 -6.073594834385067642e-01 7.543120063354607812e+13 5.639932925205920489e-01 4.642388361832548438e-01 7.631434262448570927e+00 -7.158404288682718164e-01 7.543120063354607812e+13 6.659082269014356958e-01 4.642388361832548438e-01 1.078048301728900249e+01 -8.436972395676662906e-01 7.543120063354607812e+13 7.867516837947418074e-01 4.642388361832548438e-01 1.520347102746910295e+01 -9.943906537655036182e-01 7.543120063354607812e+13 9.303332983837058201e-01 4.642388361832548438e-01 2.150664361297623373e+01 -1.171999534812844468e+00 7.543120063354607812e+13 1.101373965200845628e+00 4.642388361832548438e-01 3.074474925021581129e+01 -1.381331274987467994e+00 7.543120063354607812e+13 1.305762422563599312e+00 4.642388361832548438e-01 4.424872283099281844e+01 -1.628051918606947979e+00 7.543120063354607812e+13 1.550852380162660804e+00 4.642388361832548438e-01 6.508475095771780161e+01 -1.918839526531252559e+00 7.543120063354607812e+13 1.845730359947807209e+00 4.642388361832548438e-01 9.786814299414213281e+01 -2.261564933217340645e+00 7.543120063354607812e+13 2.201257275873758523e+00 4.642388361832548438e-01 1.544412032880595405e+02 -2.665504788930584290e+00 7.543120063354607812e+13 2.629457951232800461e+00 4.642388361832548438e-01 2.741010434950430295e+02 -3.141592653589792672e+00 7.543120063354607812e+13 3.141592653589792672e+00 4.642388361832548438e-01 1.223958433622768462e+04 -1.000000000000000021e-03 1.526417967175236562e+14 9.246116275021882191e-04 4.126793323963950932e-01 4.368179855093233337e-05 -1.178610770701415088e-03 1.526417967175236562e+14 1.089757228316278219e-03 4.126793323963950932e-01 6.094737562143309794e-05 -1.389123348813385214e-03 1.526417967175236562e+14 1.284399615627640099e-03 4.126793323963950932e-01 8.356606600273170130e-05 -1.637235740744274635e-03 1.526417967175236562e+14 1.513807235409272414e-03 4.126793323963950932e-01 1.164593748544635816e-04 -1.929663678218512032e-03 1.526417967175236562e+14 1.784189536233967647e-03 4.126793323963950932e-01 1.632407739052135027e-04 -2.274322394979648009e-03 1.526417967175236562e+14 2.102865043368663464e-03 4.126793323963950932e-01 2.277895167334309165e-04 -2.680540870770453925e-03 1.526417967175236562e+14 2.478459453282514952e-03 4.126793323963950932e-01 3.129661428510637942e-04 -3.159314341595407215e-03 1.526417967175236562e+14 2.921139110901233189e-03 4.126793323963950932e-01 4.456942349824468633e-04 -3.723601911035797143e-03 1.526417967175236562e+14 3.442886189942177474e-03 4.126793323963950932e-01 6.076485644913049572e-04 -4.388677318151167420e-03 1.526417967175236562e+14 4.057823025923498923e-03 4.126793323963950932e-01 8.494340317257830647e-04 -5.172542356305966961e-03 1.526417967175236562e+14 4.782594382638905191e-03 4.126793323963950932e-01 1.176083378631670364e-03 -6.096414133051489617e-03 1.526417967175236562e+14 5.636818002249684850e-03 4.126793323963950932e-01 1.649366328986660163e-03 -7.185299359870824139e-03 1.526417967175236562e+14 6.643615639457689341e-03 4.126793323963950932e-01 2.275267596320053320e-03 -8.468671216257736209e-03 1.526417967175236562e+14 7.830238962080824511e-03 4.126793323963950932e-01 3.175534396356906753e-03 -9.981267109010422481e-03 1.526417967175236562e+14 9.228807273649379528e-03 4.126793323963950932e-01 4.415423011545980235e-03 -1.176402891992746509e-02 1.526417967175236562e+14 1.087717704939761450e-02 4.126793323963950932e-01 6.090478581225252687e-03 -1.386521119186945317e-02 1.526417967175236562e+14 1.281996685965195240e-02 4.126793323963950932e-01 8.552203446911526424e-03 -1.634168724878715118e-02 1.526417967175236562e+14 1.510976548475425479e-02 4.126793323963950932e-01 1.201415467513589075e-02 -1.926048860285451206e-02 1.526417967175236562e+14 1.780855602380980104e-02 4.126793323963950932e-01 1.662780285810824821e-02 -2.270061931629619237e-02 1.526417967175236562e+14 2.098939471083029543e-02 4.126793323963950932e-01 2.314719674478943334e-02 -2.675519442777928719e-02 1.526417967175236562e+14 2.473839015234210320e-02 4.126793323963950932e-01 3.192442675876130953e-02 -3.153396032479117289e-02 1.526417967175236562e+14 2.915703700606188734e-02 4.126793323963950932e-01 4.498287770131376845e-02 -3.716626528166998983e-02 1.526417967175236562e+14 3.436496799869047380e-02 4.126793323963950932e-01 6.243919443813916725e-02 -4.380456056772231294e-02 1.526417967175236562e+14 4.050319997009435569e-02 4.126793323963950932e-01 8.747814354928330760e-02 -5.162852689096004283e-02 1.526417967175236562e+14 4.773796376546907139e-02 4.126793323963950932e-01 1.211921304050467135e-01 -6.084993786913318187e-02 1.526417967175236562e+14 5.626522484744637259e-02 4.126793323963950932e-01 1.688119928606816866e-01 -7.171839216907228975e-02 1.526417967175236562e+14 6.631602223570143284e-02 4.126793323963950932e-01 2.344383554182772611e-01 -8.452806946785666742e-02 1.526417967175236562e+14 7.816277886581984857e-02 4.126793323963950932e-01 3.275339739217482116e-01 -9.962569310141336509e-02 1.526417967175236562e+14 9.212676820022150381e-02 4.126793323963950932e-01 4.541700813586312946e-01 -1.174199149279194637e-01 1.526417967175236562e+14 1.085869621125872125e-01 4.126793323963950932e-01 6.340964979487881958e-01 -1.383923764288897684e-01 1.526417967175236562e+14 1.279905369525271841e-01 4.126793323963950932e-01 8.864516557321293622e-01 -1.631107454420542835e-01 1.526417967175236562e+14 1.508653831788843436e-01 4.126793323963950932e-01 1.231560440073371510e+00 -1.922440813951419580e-01 1.526417967175236562e+14 1.778350565062626343e-01 4.126793323963950932e-01 1.715969282715101629e+00 -2.265809449359138250e-01 1.526417967175236562e+14 2.096367366309738745e-01 4.126793323963950932e-01 2.383541487918622526e+00 -2.670507421371726142e-01 1.526417967175236562e+14 2.471429409615658046e-01 4.126793323963950932e-01 3.322439205516670935e+00 -3.147488810066778608e-01 1.526417967175236562e+14 2.913880023854433232e-01 4.126793323963950932e-01 4.617130620700509169e+00 -3.709664212206886247e-01 1.526417967175236562e+14 3.436007025974426865e-01 4.126793323963950932e-01 6.443351993577519643e+00 -4.372250196192620786e-01 1.526417967175236562e+14 4.052450152284828300e-01 4.126793323963950932e-01 8.982103389917233116e+00 -5.153181173433998286e-01 1.526417967175236562e+14 4.780717377999119111e-01 4.126793323963950932e-01 1.259739186313883330e+01 -6.073594834385067642e-01 1.526417967175236562e+14 5.641849790291061373e-01 4.126793323963950932e-01 1.762776702766747405e+01 -7.158404288682718164e-01 1.526417967175236562e+14 6.661291089495442463e-01 4.126793323963950932e-01 2.486363809510728728e+01 -8.436972395676662906e-01 1.526417967175236562e+14 7.870038572863781168e-01 4.126793323963950932e-01 3.502556658198808037e+01 -9.943906537655036182e-01 1.526417967175236562e+14 9.306173682589508056e-01 4.126793323963950932e-01 4.970249539886802381e+01 -1.171999534812844468e+00 1.526417967175236562e+14 1.101687750160513346e+00 4.126793323963950932e-01 7.079653560457261108e+01 -1.381331274987467994e+00 1.526417967175236562e+14 1.306098982956877652e+00 4.126793323963950932e-01 1.026286897787932020e+02 -1.628051918606947979e+00 1.526417967175236562e+14 1.551197239390385674e+00 4.126793323963950932e-01 1.504290505868298169e+02 -1.918839526531252559e+00 1.526417967175236562e+14 1.846058103715747967e+00 4.126793323963950932e-01 2.265372888882525046e+02 -2.261564933217340645e+00 1.526417967175236562e+14 2.201528648349214023e+00 4.126793323963950932e-01 3.573863928254043003e+02 -2.665504788930584290e+00 1.526417967175236562e+14 2.629620682364060436e+00 4.126793323963950932e-01 6.368346494578694319e+02 -3.141592653589792672e+00 1.526417967175236562e+14 3.141592653589792672e+00 4.126793323963950932e-01 2.805348237177176270e+04 -1.000000000000000021e-03 3.088843596477485000e+14 9.256173080074527656e-04 3.671993178525144730e-01 1.004813734666980127e-04 -1.178610770701415088e-03 3.088843596477485000e+14 1.090942534123301054e-03 3.671993178525144730e-01 1.410794679063212553e-04 -1.389123348813385214e-03 3.088843596477485000e+14 1.285796629706440495e-03 3.671993178525144730e-01 1.945710795109211128e-04 -1.637235740744274635e-03 3.088843596477485000e+14 1.515453771066109121e-03 3.671993178525144730e-01 2.736873406883386485e-04 -1.929663678218512032e-03 3.088843596477485000e+14 1.786130160593421296e-03 3.671993178525144730e-01 3.782498053333577703e-04 -2.274322394979648009e-03 3.088843596477485000e+14 2.105152283649368208e-03 3.671993178525144730e-01 5.312426569819398998e-04 -2.680540870770453925e-03 3.088843596477485000e+14 2.481155218508271885e-03 3.671993178525144730e-01 7.320008552543380651e-04 -3.159314341595407215e-03 3.088843596477485000e+14 2.924316367514823416e-03 3.671993178525144730e-01 1.006265443516057324e-03 -3.723601911035797143e-03 3.088843596477485000e+14 3.446630936652375458e-03 3.671993178525144730e-01 1.437407275519190716e-03 -4.388677318151167420e-03 3.088843596477485000e+14 4.062236621200035307e-03 3.671993178525144730e-01 1.976895311296063360e-03 -5.172542356305966961e-03 3.088843596477485000e+14 4.787796287790475891e-03 3.671993178525144730e-01 2.739822573242960742e-03 -6.096414133051489617e-03 3.088843596477485000e+14 5.642949014228125157e-03 3.671993178525144730e-01 3.800407324712730666e-03 -7.185299359870824139e-03 3.088843596477485000e+14 6.650841700720296241e-03 3.671993178525144730e-01 5.239018478893231294e-03 -8.468671216257736209e-03 3.088843596477485000e+14 7.838755650353135263e-03 3.671993178525144730e-01 7.385469440795004205e-03 -9.981267109010422481e-03 3.088843596477485000e+14 9.238845092655057975e-03 3.671993178525144730e-01 1.023239498496969664e-02 -1.176402891992746509e-02 3.088843596477485000e+14 1.088900766300961165e-02 3.671993178525144730e-01 1.437652284362972259e-02 -1.386521119186945317e-02 3.088843596477485000e+14 1.283391043697604955e-02 3.671993178525144730e-01 2.001337621911024323e-02 -1.634168724878715118e-02 3.088843596477485000e+14 1.512619935294192385e-02 3.671993178525144730e-01 2.737741302382531300e-02 -1.926048860285451206e-02 3.088843596477485000e+14 1.782792485951032943e-02 3.671993178525144730e-01 3.878393348420187264e-02 -2.270061931629619237e-02 3.088843596477485000e+14 2.101222254073734780e-02 3.671993178525144730e-01 5.378917712536425422e-02 -2.675519442777928719e-02 3.088843596477485000e+14 2.476529447881662890e-02 3.671993178525144730e-01 7.516646239302220145e-02 -3.153396032479117289e-02 3.088843596477485000e+14 2.918874542570101469e-02 3.671993178525144730e-01 1.038204977533242063e-01 -3.716626528166998983e-02 3.088843596477485000e+14 3.440233773996911187e-02 3.671993178525144730e-01 1.452855601968727206e-01 -4.380456056772231294e-02 3.088843596477485000e+14 4.054724084012518298e-02 3.671993178525144730e-01 2.021072357058027458e-01 -5.162852689096004283e-02 3.088843596477485000e+14 4.778986506349924140e-02 3.671993178525144730e-01 2.816555563594685951e-01 -6.084993786913318187e-02 3.088843596477485000e+14 5.632638686964938635e-02 3.671993178525144730e-01 3.923841317149686647e-01 -7.171839216907228975e-02 3.088843596477485000e+14 6.638809305394186011e-02 3.671993178525144730e-01 5.488470930252028479e-01 -8.452806946785666742e-02 3.088843596477485000e+14 7.824769709759232805e-02 3.671993178525144730e-01 7.628974389732018357e-01 -9.962569310141336509e-02 3.088843596477485000e+14 9.222681247212285993e-02 3.671993178525144730e-01 1.060649254435236166e+00 -1.174199149279194637e-01 3.088843596477485000e+14 1.087048078114825345e-01 3.671993178525144730e-01 1.474682913884244106e+00 -1.383923764288897684e-01 3.088843596477485000e+14 1.281293205830302262e-01 3.671993178525144730e-01 2.046626876496282499e+00 -1.631107454420542835e-01 3.088843596477485000e+14 1.510287740797960632e-01 3.671993178525144730e-01 2.840653542077007376e+00 -1.922440813951419580e-01 3.088843596477485000e+14 1.780273346191543482e-01 3.671993178525144730e-01 3.968266053448437969e+00 -2.265809449359138250e-01 3.088843596477485000e+14 2.098628731287914551e-01 3.671993178525144730e-01 5.521853873016536518e+00 -2.670507421371726142e-01 3.088843596477485000e+14 2.474086752941036249e-01 3.671993178525144730e-01 7.688694780150792774e+00 -3.147488810066778608e-01 3.088843596477485000e+14 2.916999038127060517e-01 3.671993178525144730e-01 1.073959713105709568e+01 -3.709664212206886247e-01 3.088843596477485000e+14 3.439661951783749005e-01 3.671993178525144730e-01 1.508652005216845815e+01 -4.372250196192620786e-01 3.088843596477485000e+14 4.056723303467263952e-01 3.671993178525144730e-01 2.102424097707682904e+01 -5.153181173433998286e-01 3.088843596477485000e+14 4.785697343364631595e-01 3.671993178525144730e-01 2.943491687158836001e+01 -6.073594834385067642e-01 3.088843596477485000e+14 5.647627333984448494e-01 3.671993178525144730e-01 4.120874779894722906e+01 -7.158404288682718164e-01 3.088843596477485000e+14 6.667951188512930560e-01 3.671993178525144730e-01 5.767201833111410281e+01 -8.436972395676662906e-01 3.088843596477485000e+14 7.877646167362930552e-01 3.671993178525144730e-01 8.179550459253931649e+01 -9.943906537655036182e-01 3.088843596477485000e+14 9.314749529003304440e-01 3.671993178525144730e-01 1.156054515787358241e+02 -1.171999534812844468e+00 3.088843596477485000e+14 1.102635912705399068e+00 3.671993178525144730e-01 1.647331585907544991e+02 -1.381331274987467994e+00 3.088843596477485000e+14 1.307117162374253239e+00 3.671993178525144730e-01 2.383470521738728394e+02 -1.628051918606947979e+00 3.088843596477485000e+14 1.552242038246987477e+00 3.671993178525144730e-01 3.486988434335341935e+02 -1.918839526531252559e+00 3.088843596477485000e+14 1.847052721841807355e+00 3.671993178525144730e-01 5.228891008380222729e+02 -2.261564933217340645e+00 3.088843596477485000e+14 2.202353648896911764e+00 3.671993178525144730e-01 8.280934545075521100e+02 -2.665504788930584290e+00 3.088843596477485000e+14 2.630116148248129004e+00 3.671993178525144730e-01 1.477934816797258236e+03 -3.141592653589792672e+00 3.088843596477485000e+14 3.141592653589792672e+00 3.671993178525144730e-01 6.345531706328024302e+04 -1.000000000000000021e-03 6.250551925273976250e+14 9.271245551897811746e-04 3.272637817055232823e-01 2.372709065266322809e-04 -1.178610770701415088e-03 6.250551925273976250e+14 1.092718991784200457e-03 3.272637817055232823e-01 3.260430534362755142e-04 -1.389123348813385214e-03 6.250551925273976250e+14 1.287890381671778469e-03 3.272637817055232823e-01 4.544909827687213227e-04 -1.637235740744274635e-03 6.250551925273976250e+14 1.517921489409408600e-03 3.272637817055232823e-01 6.350292999247913366e-04 -1.929663678218512032e-03 6.250551925273976250e+14 1.789038639562919725e-03 3.272637817055232823e-01 8.839267210612523126e-04 -2.274322394979648009e-03 6.250551925273976250e+14 2.108580247554105343e-03 3.272637817055232823e-01 1.213694144570609578e-03 -2.680540870770453925e-03 6.250551925273976250e+14 2.485195452484484716e-03 3.272637817055232823e-01 1.706687037039459958e-03 -3.159314341595407215e-03 6.250551925273976250e+14 2.929078228824951065e-03 3.272637817055232823e-01 2.344991146695159321e-03 -3.723601911035797143e-03 6.250551925273976250e+14 3.452243314455085040e-03 3.272637817055232823e-01 3.239046385643762783e-03 -4.388677318151167420e-03 6.250551925273976250e+14 4.068851424845844333e-03 3.272637817055232823e-01 4.541130384618592176e-03 -5.172542356305966961e-03 6.250551925273976250e+14 4.795592557966099970e-03 3.272637817055232823e-01 6.345938541649248643e-03 -6.096414133051489617e-03 6.250551925273976250e+14 5.652137768070584350e-03 3.272637817055232823e-01 8.812411992711785200e-03 -7.185299359870824139e-03 6.250551925273976250e+14 6.661671641788656159e-03 3.272637817055232823e-01 1.220971139858661840e-02 -8.468671216257736209e-03 6.250551925273976250e+14 7.851519897591790337e-03 3.272637817055232823e-01 1.709765976704379423e-02 -9.981267109010422481e-03 6.250551925273976250e+14 9.253889109796471779e-03 3.272637817055232823e-01 2.369901808664465551e-02 -1.176402891992746509e-02 6.250551925273976250e+14 1.090673860191934512e-02 3.272637817055232823e-01 3.316847650389500440e-02 -1.386521119186945317e-02 6.250551925273976250e+14 1.285480814599781335e-02 3.272637817055232823e-01 4.597265950865602607e-02 -1.634168724878715118e-02 6.250551925273976250e+14 1.515082934519419201e-02 3.272637817055232823e-01 6.400025152448177157e-02 -1.926048860285451206e-02 6.250551925273976250e+14 1.785695358721570147e-02 3.272637817055232823e-01 8.919520604392444652e-02 -2.270061931629619237e-02 6.250551925273976250e+14 2.104643538093914010e-02 3.272637817055232823e-01 1.243315303698704910e-01 -2.675519442777928719e-02 6.250551925273976250e+14 2.480561690407874151e-02 3.272637817055232823e-01 1.736051487219282263e-01 -3.153396032479117289e-02 6.250551925273976250e+14 2.923626791116773829e-02 3.272637817055232823e-01 2.408041318189934055e-01 -3.716626528166998983e-02 6.250551925273976250e+14 3.445834504549774580e-02 3.272637817055232823e-01 3.359798504947419384e-01 -4.380456056772231294e-02 6.250551925273976250e+14 4.061324640204137804e-02 3.272637817055232823e-01 4.660926004400617328e-01 -5.162852689096004283e-02 6.250551925273976250e+14 4.786765133186308280e-02 3.272637817055232823e-01 6.507465296920763587e-01 -6.084993786913318187e-02 6.250551925273976250e+14 5.641805252735144355e-02 3.272637817055232823e-01 9.028625319322048925e-01 -7.171839216907228975e-02 6.250551925273976250e+14 6.649610814122576541e-02 3.272637817055232823e-01 1.251160951472516603e+00 -8.452806946785666742e-02 6.250551925273976250e+14 7.837496711762241552e-02 3.272637817055232823e-01 1.748683117176220714e+00 -9.962569310141336509e-02 6.250551925273976250e+14 9.237675253142584031e-02 3.272637817055232823e-01 2.430418037268952780e+00 -1.174199149279194637e-01 6.250551925273976250e+14 1.088814276876671205e-01 3.272637817055232823e-01 3.407522514526174273e+00 -1.383923764288897684e-01 6.250551925273976250e+14 1.283373212004122743e-01 3.272637817055232823e-01 4.709184671416227097e+00 -1.631107454420542835e-01 6.250551925273976250e+14 1.512736550272026637e-01 3.272637817055232823e-01 6.571224842125425347e+00 -1.922440813951419580e-01 6.250551925273976250e+14 1.783155107593328292e-01 3.272637817055232823e-01 9.136233074970615320e+00 -2.265809449359138250e-01 6.250551925273976250e+14 2.102017955279482653e-01 3.272637817055232823e-01 1.272967140881390868e+01 -2.670507421371726142e-01 6.250551925273976250e+14 2.478069468348059468e-01 3.272637817055232823e-01 1.774302209533689023e+01 -3.147488810066778608e-01 6.250551925273976250e+14 2.921673716420900013e-01 3.272637817055232823e-01 2.478456170338449027e+01 -3.709664212206886247e-01 6.250551925273976250e+14 3.445139885144398173e-01 3.272637817055232823e-01 3.450530904735136772e+01 -4.372250196192620786e-01 6.250551925273976250e+14 4.063127898738451149e-01 3.272637817055232823e-01 4.836674637242722952e+01 -5.153181173433998286e-01 6.250551925273976250e+14 4.793161435114023927e-01 3.272637817055232823e-01 6.756849586476049296e+01 -6.073594834385067642e-01 6.250551925273976250e+14 5.656287051986733649e-01 3.272637817055232823e-01 9.475411427041035495e+01 -7.158404288682718164e-01 6.250551925273976250e+14 6.677934039747395190e-01 3.272637817055232823e-01 1.333812130989845741e+02 -8.436972395676662906e-01 6.250551925273976250e+14 7.889049697524712634e-01 3.272637817055232823e-01 1.880315582511306616e+02 -9.943906537655036182e-01 6.250551925273976250e+14 9.327605146682389492e-01 3.272637817055232823e-01 2.667889436102145737e+02 -1.171999534812844468e+00 6.250551925273976250e+14 1.104057357746495827e+00 3.272637817055232823e-01 3.797201395802618435e+02 -1.381331274987467994e+00 6.250551925273976250e+14 1.308643713692048349e+00 3.272637817055232823e-01 5.463025273977751795e+02 -1.628051918606947979e+00 6.250551925273976250e+14 1.553808675404912742e+00 3.272637817055232823e-01 8.032371003963451130e+02 -1.918839526531252559e+00 6.250551925273976250e+14 1.848544306642014634e+00 3.272637817055232823e-01 1.215043875255813191e+03 -2.261564933217340645e+00 6.250551925273976250e+14 2.203591030350629865e+00 3.272637817055232823e-01 1.930155833372093866e+03 -2.665504788930584290e+00 6.250551925273976250e+14 2.630859358744157550e+00 3.272637817055232823e-01 3.507897148301858124e+03 -3.141592653589792672e+00 6.250551925273976250e+14 3.141592653589792672e+00 3.272637817055232823e-01 1.407937440768943634e+05 -1.000000000000000021e-03 1.264855216855295750e+15 9.213350283800701181e-04 2.898698608604159399e-01 5.765467062055407068e-04 -1.178610770701415088e-03 1.264855216855295750e+15 1.085895393519492515e-03 2.898698608604159399e-01 7.937614920397428582e-04 -1.389123348813385214e-03 1.264855216855295750e+15 1.279848015901365607e-03 2.898698608604159399e-01 1.108591525013382078e-03 -1.637235740744274635e-03 1.264855216855295750e+15 1.508442671537182445e-03 2.898698608604159399e-01 1.539460533638541215e-03 -1.929663678218512032e-03 1.264855216855295750e+15 1.777866804438896697e-03 2.898698608604159399e-01 2.132654427247582252e-03 -2.274322394979648009e-03 1.264855216855295750e+15 2.095413005154161783e-03 2.898698608604159399e-01 2.972112114943998174e-03 -2.680540870770453925e-03 1.264855216855295750e+15 2.469676403365116124e-03 2.898698608604159399e-01 4.137876890317684561e-03 -3.159314341595407215e-03 1.264855216855295750e+15 2.910787317902691768e-03 2.898698608604159399e-01 5.699581128223898084e-03 -3.723601911035797143e-03 1.264855216855295750e+15 3.430685462149609972e-03 2.898698608604159399e-01 7.937309467042396108e-03 -4.388677318151167420e-03 1.264855216855295750e+15 4.043443128085419738e-03 2.898698608604159399e-01 1.108830432137345584e-02 -5.172542356305966961e-03 1.264855216855295750e+15 4.765646098745744338e-03 2.898698608604159399e-01 1.534996576205019045e-02 -6.096414133051489617e-03 1.264855216855295750e+15 5.616842602728760493e-03 2.898698608604159399e-01 2.134235930217661184e-02 -7.185299359870824139e-03 1.264855216855295750e+15 6.620072468238697230e-03 2.898698608604159399e-01 2.980624767459732344e-02 -8.468671216257736209e-03 1.264855216855295750e+15 7.802490808448817906e-03 2.898698608604159399e-01 4.146061519866506284e-02 -9.981267109010422481e-03 1.264855216855295750e+15 9.196103134416844585e-03 2.898698608604159399e-01 5.772575535521179413e-02 -1.176402891992746509e-02 1.264855216855295750e+15 1.083863181723079480e-02 2.898698608604159399e-01 8.036619221132827728e-02 -1.386521119186945317e-02 1.264855216855295750e+15 1.277453739172574806e-02 2.898698608604159399e-01 1.119448970893584250e-01 -1.634168724878715118e-02 1.264855216855295750e+15 1.505622241045635745e-02 2.898698608604159399e-01 1.556588111599933599e-01 -1.926048860285451206e-02 1.264855216855295750e+15 1.774545053900972169e-02 2.898698608604159399e-01 2.169346900669265610e-01 -2.270061931629619237e-02 1.264855216855295750e+15 2.091501947728602318e-02 2.898698608604159399e-01 3.013642705442131642e-01 -2.675519442777928719e-02 1.264855216855295750e+15 2.465073327232155873e-02 2.898698608604159399e-01 4.203829211163118140e-01 -3.153396032479117289e-02 1.264855216855295750e+15 2.905372787293111769e-02 2.898698608604159399e-01 5.833429744534821548e-01 -3.716626528166998983e-02 1.264855216855295750e+15 3.424321363397135609e-02 2.898698608604159399e-01 8.165153716112667492e-01 -4.380456056772231294e-02 1.264855216855295750e+15 4.035971024851821298e-02 2.898698608604159399e-01 1.136918391092465397e+00 -5.162852689096004283e-02 1.264855216855295750e+15 4.756886370821405280e-02 2.898698608604159399e-01 1.581356354095730055e+00 -6.084993786913318187e-02 1.264855216855295750e+15 5.606595194372167301e-02 2.898698608604159399e-01 2.208590185469199607e+00 -7.171839216907228975e-02 1.264855216855295750e+15 6.608120656034177642e-02 2.898698608604159399e-01 3.075252952080208768e+00 -8.452806946785666742e-02 1.264855216855295750e+15 7.788610364295688038e-02 2.898698608604159399e-01 4.264394535019580879e+00 -9.962569310141336509e-02 1.264855216855295750e+15 9.180080850314975560e-02 2.898698608604159399e-01 5.904381682084631322e+00 -1.174199149279194637e-01 1.264855216855295750e+15 1.082029997290158835e-01 2.898698608604159399e-01 8.266809346781492707e+00 -1.383923764288897684e-01 1.264855216855295750e+15 1.275383503204764457e-01 2.898698608604159399e-01 1.144986739813332832e+01 -1.631107454420542835e-01 1.264855216855295750e+15 1.503330131078032539e-01 2.898698608604159399e-01 1.599017249696320953e+01 -1.922440813951419580e-01 1.264855216855295750e+15 1.772085517947538102e-01 2.898698608604159399e-01 2.221746941535824860e+01 -2.265809449359138250e-01 1.264855216855295750e+15 2.088998897489963147e-01 2.898698608604159399e-01 3.101154177491704900e+01 -2.670507421371726142e-01 1.264855216855295750e+15 2.462770344253616406e-01 2.898698608604159399e-01 4.314767835920887507e+01 -3.147488810066778608e-01 1.264855216855295750e+15 2.903716041313428864e-01 2.898698608604159399e-01 6.023560249830119773e+01 -3.709664212206886247e-01 1.264855216855295750e+15 3.424095780461509086e-01 2.898698608604159399e-01 8.360568329735527016e+01 -4.372250196192620786e-01 1.264855216855295750e+15 4.038522718809486323e-01 2.898698608604159399e-01 1.171662145304340328e+02 -5.153181173433998286e-01 1.264855216855295750e+15 4.764483959531712332e-01 2.898698608604159399e-01 1.637760902773487999e+02 -6.073594834385067642e-01 1.264855216855295750e+15 5.623012855451643421e-01 2.898698608604159399e-01 2.296677335082651723e+02 -7.158404288682718164e-01 1.264855216855295750e+15 6.639571019477642499e-01 2.898698608604159399e-01 3.238315996425068306e+02 -8.436972395676662906e-01 1.264855216855295750e+15 7.845219739671586145e-01 2.898698608604159399e-01 4.568137236310794833e+02 -9.943906537655036182e-01 1.264855216855295750e+15 9.278182831278458664e-01 2.898698608604159399e-01 6.491436556098511801e+02 -1.171999534812844468e+00 1.264855216855295750e+15 1.098591104175968169e+00 2.898698608604159399e-01 9.318308158421486951e+02 -1.381331274987467994e+00 1.264855216855295750e+15 1.302771015619140993e+00 2.898698608604159399e-01 1.348712281439541357e+03 -1.628051918606947979e+00 1.264855216855295750e+15 1.547778899901511629e+00 2.898698608604159399e-01 1.980650436068058525e+03 -1.918839526531252559e+00 1.264855216855295750e+15 1.842800206127301887e+00 2.898698608604159399e-01 3.007483437712116483e+03 -2.261564933217340645e+00 1.264855216855295750e+15 2.198823069579299627e+00 2.898698608604159399e-01 4.813600222313987615e+03 -2.665504788930584290e+00 1.264855216855295750e+15 2.627994123202956889e+00 2.898698608604159399e-01 8.608602150875945881e+03 -3.141592653589792672e+00 1.264855216855295750e+15 3.141592653589792672e+00 2.898698608604159399e-01 3.069940328339846455e+05 -1.000000000000000021e-03 2.559547922699533000e+15 9.234963028143315482e-04 2.598242821236437794e-01 1.412993167483812817e-03 -1.178610770701415088e-03 2.559547922699533000e+15 1.088442694699239552e-03 2.598242821236437794e-01 1.959425846694331282e-03 -1.389123348813385214e-03 2.559547922699533000e+15 1.282850292267501092e-03 2.598242821236437794e-01 2.719307776854645517e-03 -1.637235740744274635e-03 2.559547922699533000e+15 1.511981186405120204e-03 2.598242821236437794e-01 3.783708799163851191e-03 -1.929663678218512032e-03 2.559547922699533000e+15 1.782037335529772573e-03 2.598242821236437794e-01 5.296106659319111537e-03 -2.274322394979648009e-03 2.559547922699533000e+15 2.100328436961784295e-03 2.598242821236437794e-01 7.391465334048431986e-03 -2.680540870770453925e-03 2.559547922699533000e+15 2.475469782507915342e-03 2.598242821236437794e-01 1.015538711090599282e-02 -3.159314341595407215e-03 2.559547922699533000e+15 2.917615454129496300e-03 2.598242821236437794e-01 1.415612841279575290e-02 -3.723601911035797143e-03 2.559547922699533000e+15 3.438733172417526678e-03 2.598242821236437794e-01 1.963226737588149098e-02 -4.388677318151167420e-03 2.559547922699533000e+15 4.052928238501667113e-03 2.598242821236437794e-01 2.720022513353490684e-02 -5.172542356305966961e-03 2.559547922699533000e+15 4.776825339625191853e-03 2.598242821236437794e-01 3.776369840362643615e-02 -6.096414133051489617e-03 2.559547922699533000e+15 5.630018556105648164e-03 2.598242821236437794e-01 5.257390260043423580e-02 -7.185299359870824139e-03 2.559547922699533000e+15 6.635601755514875140e-03 2.598242821236437794e-01 7.314199148501629444e-02 -8.468671216257736209e-03 2.559547922699533000e+15 7.820793739193452471e-03 2.598242821236437794e-01 1.020183909831468977e-01 -9.981267109010422481e-03 2.559547922699533000e+15 9.217675076498014347e-03 2.598242821236437794e-01 1.419678511481952121e-01 -1.176402891992746509e-02 2.559547922699533000e+15 1.086405659442255846e-02 2.598242821236437794e-01 1.970956621762017247e-01 -1.386521119186945317e-02 2.559547922699533000e+15 1.280450306878340438e-02 2.598242821236437794e-01 2.749883885103044379e-01 -1.634168724878715118e-02 2.559547922699533000e+15 1.509153988858990929e-02 2.598242821236437794e-01 3.802394517641225491e-01 -1.926048860285451206e-02 2.559547922699533000e+15 1.778707545799690370e-02 2.598242821236437794e-01 5.340184338039344336e-01 -2.270061931629619237e-02 2.559547922699533000e+15 2.096407800545186523e-02 2.598242821236437794e-01 7.420988846705448561e-01 -2.675519442777928719e-02 2.559547922699533000e+15 2.470855246345194170e-02 2.598242821236437794e-01 1.032831936403796114e+00 -3.153396032479117289e-02 2.559547922699533000e+15 2.912187138069879250e-02 2.598242821236437794e-01 1.441072819759287027e+00 -3.716626528166998983e-02 2.559547922699533000e+15 3.432352369965264993e-02 2.598242821236437794e-01 2.000797137998325148e+00 -4.380456056772231294e-02 2.559547922699533000e+15 4.045435701514685928e-02 2.598242821236437794e-01 2.794535152310396953e+00 -5.162852689096004283e-02 2.559547922699533000e+15 4.768040305954042435e-02 2.598242821236437794e-01 3.877501183719727074e+00 -6.084993786913318187e-02 2.559547922699533000e+15 5.619739321021054168e-02 2.598242821236437794e-01 5.413724346021841605e+00 -7.171839216907228975e-02 2.559547922699533000e+15 6.623609155935362980e-02 2.598242821236437794e-01 7.506104528912458385e+00 -8.452806946785666742e-02 2.559547922699533000e+15 7.806859859446819982e-02 2.598242821236437794e-01 1.046050053261894242e+01 -9.962569310141336509e-02 2.559547922699533000e+15 9.201581033049781311e-02 2.598242821236437794e-01 1.459893864090267002e+01 -1.174199149279194637e-01 2.559547922699533000e+15 1.084562580216743705e-01 2.598242821236437794e-01 2.027295010641560680e+01 -1.383923764288897684e-01 2.559547922699533000e+15 1.278366056437924281e-01 2.598242821236437794e-01 2.833605609736090258e+01 -1.631107454420542835e-01 2.559547922699533000e+15 1.506841511284384427e-01 2.598242821236437794e-01 3.924729004526324871e+01 -1.922440813951419580e-01 2.559547922699533000e+15 1.776217704139593789e-01 2.598242821236437794e-01 5.490325185553254528e+01 -2.265809449359138250e-01 2.559547922699533000e+15 2.093858723846024894e-01 2.598242821236437794e-01 7.617898334523962944e+01 -2.670507421371726142e-01 2.559547922699533000e+15 2.468481155974131536e-01 2.598242821236437794e-01 1.063730812658041316e+02 -3.147488810066778608e-01 2.559547922699533000e+15 2.910419017182100387e-01 2.598242821236437794e-01 1.481533279961326457e+02 -3.709664212206886247e-01 2.559547922699533000e+15 3.431950470162355993e-01 2.598242821236437794e-01 2.060988253550462161e+02 -4.372250196192620786e-01 2.559547922699533000e+15 4.047706023188833990e-01 2.598242821236437794e-01 2.870417711421385434e+02 -5.153181173433998286e-01 2.559547922699533000e+15 4.775186266903840848e-01 2.598242821236437794e-01 4.024069854231938734e+02 -6.073594834385067642e-01 2.559547922699533000e+15 5.635429232832690483e-01 2.598242821236437794e-01 5.644548388479240657e+02 -7.158404288682718164e-01 2.559547922699533000e+15 6.653884103558268537e-01 2.598242821236437794e-01 7.921433835434110051e+02 -8.436972395676662906e-01 2.559547922699533000e+15 7.861569118215621099e-01 2.598242821236437794e-01 1.115801966211042782e+03 -9.943906537655036182e-01 2.559547922699533000e+15 9.296613157706921093e-01 2.598242821236437794e-01 1.576293733529056908e+03 -1.171999534812844468e+00 2.559547922699533000e+15 1.100628813410226670e+00 2.598242821236437794e-01 2.247802996499477103e+03 -1.381331274987467994e+00 2.559547922699533000e+15 1.304959225846877624e+00 2.598242821236437794e-01 3.246804587176589848e+03 -1.628051918606947979e+00 2.559547922699533000e+15 1.550024360922871214e+00 2.598242821236437794e-01 4.720589444903854201e+03 -1.918839526531252559e+00 2.559547922699533000e+15 1.844937876975351498e+00 2.598242821236437794e-01 7.058092742330220062e+03 -2.261564933217340645e+00 2.559547922699533000e+15 2.200596252598601144e+00 2.598242821236437794e-01 1.104654732600602983e+04 -2.665504788930584290e+00 2.559547922699533000e+15 2.629059070264655240e+00 2.598242821236437794e-01 1.939262155911786613e+04 -3.141592653589792672e+00 2.559547922699533000e+15 3.141592653589792672e+00 2.598242821236437794e-01 6.583948074890987482e+05 -1.000000000000000021e-03 5.179474679231223000e+15 9.308383301836833674e-04 2.356250043902215485e-01 3.226944785160659832e-03 -1.178610770701415088e-03 5.179474679231223000e+15 1.097096086735545491e-03 2.356250043902215485e-01 4.484687064163564441e-03 -1.389123348813385214e-03 5.179474679231223000e+15 1.293049272505980996e-03 2.356250043902215485e-01 6.295219373023696469e-03 -1.637235740744274635e-03 5.179474679231223000e+15 1.524001813024102340e-03 2.356250043902215485e-01 8.719984371452270053e-03 -1.929663678218512032e-03 5.179474679231223000e+15 1.796204973339161470e-03 2.356250043902215485e-01 1.205132153506599871e-02 -2.274322394979648009e-03 5.179474679231223000e+15 2.117026563886702240e-03 2.356250043902215485e-01 1.677408720604390419e-02 -2.680540870770453925e-03 5.179474679231223000e+15 2.495150368870190268e-03 2.356250043902215485e-01 2.354994312999084474e-02 -3.159314341595407215e-03 5.179474679231223000e+15 2.940811195559618185e-03 2.356250043902215485e-01 3.252612876636694350e-02 -3.723601911035797143e-03 5.179474679231223000e+15 3.466071907334610045e-03 2.356250043902215485e-01 4.515717459440138359e-02 -4.388677318151167420e-03 5.179474679231223000e+15 4.085149940118226915e-03 2.356250043902215485e-01 6.320749974900961854e-02 -5.172542356305966961e-03 5.179474679231223000e+15 4.814802141937101800e-03 2.356250043902215485e-01 8.715853702997498897e-02 -6.096414133051489617e-03 5.179474679231223000e+15 5.674778355151666002e-03 2.356250043902215485e-01 1.214751491991899884e-01 -7.185299359870824139e-03 5.179474679231223000e+15 6.688356023475515270e-03 2.356250043902215485e-01 1.675409976357763175e-01 -8.468671216257736209e-03 5.179474679231223000e+15 7.882970302131009008e-03 2.356250043902215485e-01 2.341098529685669005e-01 -9.981267109010422481e-03 5.179474679231223000e+15 9.290956739585168669e-03 2.356250043902215485e-01 3.253130765625920628e-01 -1.176402891992746509e-02 5.179474679231223000e+15 1.095042665464331100e-02 2.356250043902215485e-01 4.517522476813641275e-01 -1.386521119186945317e-02 5.179474679231223000e+15 1.290629893801273180e-02 2.356250043902215485e-01 6.278350928436648992e-01 -1.634168724878715118e-02 5.179474679231223000e+15 1.521151626375012375e-02 2.356250043902215485e-01 8.720846720508906857e-01 -1.926048860285451206e-02 5.179474679231223000e+15 1.792847872401401310e-02 2.356250043902215485e-01 1.217456219890152402e+00 -2.270061931629619237e-02 5.179474679231223000e+15 2.113073384540682664e-02 2.356250043902215485e-01 1.686105879400342289e+00 -2.675519442777928719e-02 5.179474679231223000e+15 2.490496898264253287e-02 2.356250043902215485e-01 2.355085633398043221e+00 -3.153396032479117289e-02 5.179474679231223000e+15 2.935336043005530582e-02 2.356250043902215485e-01 3.277688922337828270e+00 -3.716626528166998983e-02 5.179474679231223000e+15 3.459634350912678402e-02 2.356250043902215485e-01 4.563170514593617000e+00 -4.380456056772231294e-02 5.179474679231223000e+15 4.077587971411868184e-02 2.356250043902215485e-01 6.330262799014825248e+00 -5.162852689096004283e-02 5.179474679231223000e+15 4.805931115424983552e-02 2.356250043902215485e-01 8.844434205752724765e+00 -6.084993786913318187e-02 5.179474679231223000e+15 5.664390957633905904e-02 2.356250043902215485e-01 1.228966941713441585e+01 -7.171839216907228975e-02 5.179474679231223000e+15 6.676224793123536339e-02 2.356250043902215485e-01 1.713156666623068958e+01 -8.452806946785666742e-02 5.179474679231223000e+15 7.868854778290748642e-02 2.356250043902215485e-01 2.378622292082386380e+01 -9.962569310141336509e-02 5.179474679231223000e+15 9.274618729030449649e-02 2.356250043902215485e-01 3.313887340222251510e+01 -1.174199149279194637e-01 5.179474679231223000e+15 1.093165940960560134e-01 2.356250043902215485e-01 4.613765382355130384e+01 -1.383923764288897684e-01 5.179474679231223000e+15 1.288497982945959186e-01 2.356250043902215485e-01 6.429859868179923410e+01 -1.631107454420542835e-01 5.179474679231223000e+15 1.518769873187918729e-01 2.356250043902215485e-01 8.945472651029558619e+01 -1.922440813951419580e-01 5.179474679231223000e+15 1.790254940585649934e-01 2.356250043902215485e-01 1.243849497254877576e+02 -2.265809449359138250e-01 5.179474679231223000e+15 2.110367724930037048e-01 2.356250043902215485e-01 1.732672886384699211e+02 -2.670507421371726142e-01 5.179474679231223000e+15 2.487880879611119311e-01 2.356250043902215485e-01 2.417337062285053833e+02 -3.147488810066778608e-01 5.179474679231223000e+15 2.933188968831086929e-01 2.356250043902215485e-01 3.359708640362219967e+02 -3.709664212206886247e-01 5.179474679231223000e+15 3.458632507363033071e-01 2.356250043902215485e-01 4.694132936307138380e+02 -4.372250196192620786e-01 5.179474679231223000e+15 4.078900859028091186e-01 2.356250043902215485e-01 6.550005010150737235e+02 -5.153181173433998286e-01 5.179474679231223000e+15 4.811540295306357407e-01 2.356250043902215485e-01 9.159695482434186715e+02 -6.073594834385067642e-01 5.179474679231223000e+15 5.677604531647700847e-01 2.356250043902215485e-01 1.283929171610198409e+03 -7.158404288682718164e-01 5.179474679231223000e+15 6.702500212562438886e-01 2.356250043902215485e-01 1.800861833747673472e+03 -8.436972395676662906e-01 5.179474679231223000e+15 7.917098898884681324e-01 2.356250043902215485e-01 2.533909776631015120e+03 -9.943906537655036182e-01 5.179474679231223000e+15 9.359206411996301433e-01 2.356250043902215485e-01 3.580713543639551972e+03 -1.171999534812844468e+00 5.179474679231223000e+15 1.107548656127216535e+00 2.356250043902215485e-01 5.080440558952890569e+03 -1.381331274987467994e+00 5.179474679231223000e+15 1.312389242252526955e+00 2.356250043902215485e-01 7.304552259338326621e+03 -1.628051918606947979e+00 5.179474679231223000e+15 1.557647577941690953e+00 2.356250043902215485e-01 1.067077968634880199e+04 -1.918839526531252559e+00 5.179474679231223000e+15 1.852193778970247173e+00 2.356250043902215485e-01 1.593659006501410113e+04 -2.261564933217340645e+00 5.179474679231223000e+15 2.206613724478590388e+00 2.356250043902215485e-01 2.499115732626105819e+04 -2.665504788930584290e+00 5.179474679231223000e+15 2.632672406084148431e+00 2.356250043902215485e-01 4.365401750328337221e+04 -3.141592653589792672e+00 5.179474679231223000e+15 3.141592653589792672e+00 2.356250043902215485e-01 1.374645313574974658e+06 -1.000000000000000021e-03 1.048113134154691600e+16 9.285936297513292274e-04 2.123806299464757741e-01 7.388047112043834297e-03 -1.178610770701415088e-03 1.048113134154691600e+16 1.094450458785034552e-03 2.123806299464757741e-01 1.031098055061520705e-02 -1.389123348813385214e-03 1.048113134154691600e+16 1.289931107163746864e-03 2.123806299464757741e-01 1.395138253071181132e-02 -1.637235740744274635e-03 1.048113134154691600e+16 1.520326710185241790e-03 2.123806299464757741e-01 1.982441338445205953e-02 -1.929663678218512032e-03 1.048113134154691600e+16 1.791873458234741201e-03 2.123806299464757741e-01 2.764438355790398150e-02 -2.274322394979648009e-03 1.048113134154691600e+16 2.111921394652513037e-03 2.123806299464757741e-01 3.839147213852971835e-02 -2.680540870770453925e-03 1.048113134154691600e+16 2.489133363260413213e-03 2.123806299464757741e-01 5.234188702341129734e-02 -3.159314341595407215e-03 1.048113134154691600e+16 2.933719490946350410e-03 2.123806299464757741e-01 7.380838362246244788e-02 -3.723601911035797143e-03 1.048113134154691600e+16 3.457713552815960389e-03 2.123806299464757741e-01 1.020045093477377068e-01 -4.388677318151167420e-03 1.048113134154691600e+16 4.075298701514335972e-03 2.123806299464757741e-01 1.430533555765184373e-01 -5.172542356305966961e-03 1.048113134154691600e+16 4.803191379205221968e-03 2.123806299464757741e-01 1.982643585740115899e-01 -6.096414133051489617e-03 1.048113134154691600e+16 5.661093806737260183e-03 2.123806299464757741e-01 2.758663791343161642e-01 -7.185299359870824139e-03 1.048113134154691600e+16 6.672227302682192870e-03 2.123806299464757741e-01 3.845081123906661791e-01 -8.468671216257736209e-03 1.048113134154691600e+16 7.863960875979091047e-03 2.123806299464757741e-01 5.334817313012564233e-01 -9.981267109010422481e-03 1.048113134154691600e+16 9.268552119961560865e-03 2.123806299464757741e-01 7.384963731962762568e-01 -1.176402891992746509e-02 1.048113134154691600e+16 1.092402048382471423e-02 2.123806299464757741e-01 1.027926426944805849e+00 -1.386521119186945317e-02 1.048113134154691600e+16 1.287517659474377713e-02 2.123806299464757741e-01 1.431760021052094434e+00 -1.634168724878715118e-02 1.048113134154691600e+16 1.517483555073599957e-02 2.123806299464757741e-01 1.980927151254150198e+00 -1.926048860285451206e-02 1.048113134154691600e+16 1.788524712161913832e-02 2.123806299464757741e-01 2.751470601267532068e+00 -2.270061931629619237e-02 1.048113134154691600e+16 2.107978172820472798e-02 2.123806299464757741e-01 3.837504500974783017e+00 -2.675519442777928719e-02 1.048113134154691600e+16 2.484491809404081042e-02 2.123806299464757741e-01 5.325922430597214152e+00 -3.153396032479117289e-02 1.048113134154691600e+16 2.928258679472467776e-02 2.123806299464757741e-01 7.415173513125905558e+00 -3.716626528166998983e-02 1.048113134154691600e+16 3.451293383345475224e-02 2.123806299464757741e-01 1.028623539527106878e+01 -4.380456056772231294e-02 1.048113134154691600e+16 4.067758018309449580e-02 2.123806299464757741e-01 1.431065820733388705e+01 -5.162852689096004283e-02 1.048113134154691600e+16 4.794346738375986072e-02 2.123806299464757741e-01 1.995609925552332697e+01 -6.084993786913318187e-02 1.048113134154691600e+16 5.650739633271841672e-02 2.123806299464757741e-01 2.772690442531482802e+01 -7.171839216907228975e-02 1.048113134154691600e+16 6.660138710391437511e-02 2.123806299464757741e-01 3.859787521820845768e+01 -8.452806946785666742e-02 1.048113134154691600e+16 7.849901302498192568e-02 2.123806299464757741e-01 5.372546067297868433e+01 -9.962569310141336509e-02 1.048113134154691600e+16 9.252289378481048931e-02 2.123806299464757741e-01 7.467295751562673445e+01 -1.174199149279194637e-01 1.048113134154691600e+16 1.090535721631346044e-01 2.123806299464757741e-01 1.038108805669962891e+02 -1.383923764288897684e-01 1.048113134154691600e+16 1.285400501953714303e-01 2.123806299464757741e-01 1.446877404543860166e+02 -1.631107454420542835e-01 1.048113134154691600e+16 1.515123279160940917e-01 2.123806299464757741e-01 2.011954008416144291e+02 -1.922440813951419580e-01 1.048113134154691600e+16 1.785963784244441466e-01 2.123806299464757741e-01 2.804598746387698043e+02 -2.265809449359138250e-01 1.048113134154691600e+16 2.105321178628727641e-01 2.123806299464757741e-01 3.895374183319262329e+02 -2.670507421371726142e-01 1.048113134154691600e+16 2.481951048467974930e-01 2.123806299464757741e-01 5.441230112307480340e+02 -3.147488810066778608e-01 1.048113134154691600e+16 2.926229566332679277e-01 2.123806299464757741e-01 7.585230903653192627e+02 -3.709664212206886247e-01 1.048113134154691600e+16 3.450478374781082436e-01 2.123806299464757741e-01 1.057465134408126914e+03 -4.372250196192620786e-01 1.048113134154691600e+16 4.069369144407701810e-01 2.123806299464757741e-01 1.473630092353425880e+03 -5.153181173433998286e-01 1.048113134154691600e+16 4.800434647094850016e-01 2.123806299464757741e-01 2.061648082748720753e+03 -6.073594834385067642e-01 1.048113134154691600e+16 5.664724509291859667e-01 2.123806299464757741e-01 2.887201980820403605e+03 -7.158404288682718164e-01 1.048113134154691600e+16 6.687659410072769317e-01 2.123806299464757741e-01 4.049204420908796237e+03 -8.436972395676662906e-01 1.048113134154691600e+16 7.900157165738055376e-01 2.123806299464757741e-01 5.690459692247950443e+03 -9.943906537655036182e-01 1.048113134154691600e+16 9.340124098517207374e-01 2.123806299464757741e-01 8.045968613973205720e+03 -1.171999534812844468e+00 1.048113134154691600e+16 1.105441158573182703e+00 2.123806299464757741e-01 1.144599762016550631e+04 -1.381331274987467994e+00 1.048113134154691600e+16 1.310129265276333443e+00 2.123806299464757741e-01 1.644728956980118528e+04 -1.628051918606947979e+00 1.048113134154691600e+16 1.555332519123311830e+00 2.123806299464757741e-01 2.405083522719796747e+04 -1.918839526531252559e+00 1.048113134154691600e+16 1.849994363732089031e+00 2.123806299464757741e-01 3.585753213015622168e+04 -2.261564933217340645e+00 1.048113134154691600e+16 2.204793287201860963e+00 2.123806299464757741e-01 5.615475028570536961e+04 -2.665504788930584290e+00 1.048113134154691600e+16 2.631581130183118677e+00 2.123806299464757741e-01 9.784056073842410115e+04 -3.141592653589792672e+00 1.048113134154691600e+16 3.141592653589792672e+00 2.123806299464757741e-01 2.863761082334327977e+06 -1.000000000000000021e-03 2.120950887920192400e+16 9.220161082087876365e-04 1.905113839256973862e-01 1.619083331134117676e-02 -1.178610770701415088e-03 2.120950887920192400e+16 1.086698121499008211e-03 1.905113839256973862e-01 2.243686851559435758e-02 -1.389123348813385214e-03 2.120950887920192400e+16 1.280794119674681436e-03 1.905113839256973862e-01 3.110982166029626489e-02 -1.637235740744274635e-03 2.120950887920192400e+16 1.509557759521178285e-03 1.905113839256973862e-01 4.350637598868242056e-02 -1.929663678218512032e-03 2.120950887920192400e+16 1.779181058961393181e-03 1.905113839256973862e-01 5.997910923946207090e-02 -2.274322394979648009e-03 2.120950887920192400e+16 2.096961999385750855e-03 1.905113839256973862e-01 8.430587623215053672e-02 -2.680540870770453925e-03 2.120950887920192400e+16 2.471502064152389551e-03 1.905113839256973862e-01 1.165848992112100829e-01 -3.159314341595407215e-03 2.120950887920192400e+16 2.912939060555150977e-03 1.905113839256973862e-01 1.599954083282210948e-01 -3.723601911035797143e-03 2.120950887920192400e+16 3.433221527881117480e-03 1.905113839256973862e-01 2.256872471862998442e-01 -4.388677318151167420e-03 2.120950887920192400e+16 4.046432160286958166e-03 1.905113839256973862e-01 3.135054754007470801e-01 -5.172542356305966961e-03 2.120950887920192400e+16 4.769169000715381933e-03 1.905113839256973862e-01 4.385309150628059482e-01 -6.096414133051489617e-03 2.120950887920192400e+16 5.620994727077794489e-03 1.905113839256973862e-01 6.073145378403604910e-01 -7.185299359870824139e-03 2.120950887920192400e+16 6.624966197129282010e-03 1.905113839256973862e-01 8.381880529106137123e-01 -8.468671216257736209e-03 2.120950887920192400e+16 7.808258594329559737e-03 1.905113839256973862e-01 1.179415675714993617e+00 -9.981267109010422481e-03 2.120950887920192400e+16 9.202901083276697480e-03 1.905113839256973862e-01 1.639090154451697368e+00 -1.176402891992746509e-02 2.120950887920192400e+16 1.084664391089501176e-02 1.905113839256973862e-01 2.280595139111408542e+00 -1.386521119186945317e-02 2.120950887920192400e+16 1.278398046271832407e-02 1.905113839256973862e-01 3.156691449235801361e+00 -1.634168724878715118e-02 2.120950887920192400e+16 1.506735200283793909e-02 1.905113839256973862e-01 4.399220909300656679e+00 -1.926048860285451206e-02 2.120950887920192400e+16 1.775856781178628344e-02 1.905113839256973862e-01 6.086892648107723680e+00 -2.270061931629619237e-02 2.120950887920192400e+16 2.093047933390213347e-02 1.905113839256973862e-01 8.458163892775854009e+00 -2.675519442777928719e-02 2.120950887920192400e+16 2.466895393080876034e-02 1.905113839256973862e-01 1.176211113726116864e+01 -3.153396032479117289e-02 2.120950887920192400e+16 2.907520212678938246e-02 1.905113839256973862e-01 1.638169964887765317e+01 -3.716626528166998983e-02 2.120950887920192400e+16 3.426852209391582915e-02 1.905113839256973862e-01 2.268290895856485534e+01 -4.380456056772231294e-02 2.120950887920192400e+16 4.038953689949341397e-02 1.905113839256973862e-01 3.156903867398898811e+01 -5.162852689096004283e-02 2.120950887920192400e+16 4.760401416344429981e-02 1.905113839256973862e-01 4.379111139237878092e+01 -6.084993786913318187e-02 2.120950887920192400e+16 5.610737482551909211e-02 1.905113839256973862e-01 6.087972176051412276e+01 -7.171839216907228975e-02 2.120950887920192400e+16 6.613001848102231794e-02 1.905113839256973862e-01 8.478726107338795259e+01 -8.452806946785666742e-02 2.120950887920192400e+16 7.794361828954408933e-02 1.905113839256973862e-01 1.179832436048159394e+02 -9.962569310141336509e-02 2.120950887920192400e+16 9.186857033077716617e-02 1.905113839256973862e-01 1.641163356436222500e+02 -1.174199149279194637e-01 2.120950887920192400e+16 1.082828227129257331e-01 1.905113839256973862e-01 2.277993300708020286e+02 -1.383923764288897684e-01 2.120950887920192400e+16 1.276323620593279307e-01 1.905113839256973862e-01 3.169546418442780578e+02 -1.631107454420542835e-01 2.120950887920192400e+16 1.504437042347890885e-01 1.905113839256973862e-01 4.408171313248610090e+02 -1.922440813951419580e-01 2.120950887920192400e+16 1.773388300101581549e-01 1.905113839256973862e-01 6.147424258965917261e+02 -2.265809449359138250e-01 2.120950887920192400e+16 2.090531366276902336e-01 1.905113839256973862e-01 8.529442325052210663e+02 -2.670507421371726142e-01 2.120950887920192400e+16 2.464571611295721110e-01 1.905113839256973862e-01 1.190182493770979363e+03 -3.147488810066778608e-01 2.120950887920192400e+16 2.905830987082714256e-01 1.905113839256973862e-01 1.656502236845270090e+03 -3.709664212206886247e-01 2.120950887920192400e+16 3.426575311956562286e-01 1.905113839256973862e-01 2.309413443627136530e+03 -4.372250196192620786e-01 2.120950887920192400e+16 4.041423584675938874e-01 1.905113839256973862e-01 3.224095092497444512e+03 -5.153181173433998286e-01 2.120950887920192400e+16 4.767867737742719214e-01 1.905113839256973862e-01 4.500307577888371270e+03 -6.073594834385067642e-01 2.120950887920192400e+16 5.626943473397966189e-01 1.905113839256973862e-01 6.309648018560703349e+03 -7.158404288682718164e-01 2.120950887920192400e+16 6.644109760080882943e-01 1.905113839256973862e-01 8.827093673032630250e+03 -8.436972395676662906e-01 2.120950887920192400e+16 7.850416058699450916e-01 1.905113839256973862e-01 1.238531365328343782e+04 -9.943906537655036182e-01 2.120950887920192400e+16 9.284058388409073270e-01 1.905113839256973862e-01 1.752663508996484961e+04 -1.171999534812844468e+00 2.120950887920192400e+16 1.099243313620841489e+00 1.905113839256973862e-01 2.486038279761707236e+04 -1.381331274987467994e+00 2.120950887920192400e+16 1.303474959619376872e+00 1.905113839256973862e-01 3.571891867838608596e+04 -1.628051918606947979e+00 2.120950887920192400e+16 1.548505772238480516e+00 1.905113839256973862e-01 5.207938339394550712e+04 -1.918839526531252559e+00 2.120950887920192400e+16 1.843497176577078012e+00 1.905113839256973862e-01 7.800027635587099940e+04 -2.261564933217340645e+00 2.120950887920192400e+16 2.199405545644048221e+00 1.905113839256973862e-01 1.220147761363181053e+05 -2.665504788930584290e+00 2.120950887920192400e+16 2.628346179807921068e+00 1.905113839256973862e-01 2.138957954718898400e+05 -3.141592653589792672e+00 2.120950887920192400e+16 3.141592653589792672e+00 1.905113839256973862e-01 6.984460960827553645e+06 -1.000000000000000021e-03 4.291934260128760800e+16 9.053064467080497099e-04 1.705475629907835244e-01 3.478860928273348058e-02 -1.178610770701415088e-03 4.291934260128760800e+16 1.067003935591318356e-03 1.705475629907835244e-01 4.894426855780088098e-02 -1.389123348813385214e-03 4.291934260128760800e+16 1.257582341864049800e-03 1.705475629907835244e-01 6.609944603369467819e-02 -1.637235740744274635e-03 4.291934260128760800e+16 1.482200111166810923e-03 1.705475629907835244e-01 9.203014326683169044e-02 -1.929663678218512032e-03 4.291934260128760800e+16 1.746937044829444032e-03 1.705475629907835244e-01 1.301767502173568625e-01 -2.274322394979648009e-03 4.291934260128760800e+16 2.058958865028192795e-03 1.705475629907835244e-01 1.800231342007725388e-01 -2.680540870770453925e-03 4.291934260128760800e+16 2.426711173758043776e-03 1.705475629907835244e-01 2.479818345118552925e-01 -3.159314341595407215e-03 4.291934260128760800e+16 2.860148056121921637e-03 1.705475629907835244e-01 3.510879836159188638e-01 -3.723601911035797143e-03 4.291934260128760800e+16 3.371001516521124255e-03 1.705475629907835244e-01 4.786650120962495647e-01 -4.388677318151167420e-03 4.291934260128760800e+16 3.973099042148272621e-03 1.705475629907835244e-01 6.726899423562648916e-01 -5.172542356305966961e-03 4.291934260128760800e+16 4.682737891810824157e-03 1.705475629907835244e-01 9.317934741291895584e-01 -6.096414133051489617e-03 4.291934260128760800e+16 5.519126245071176093e-03 1.705475629907835244e-01 1.309067140758562564e+00 -7.185299359870824139e-03 4.291934260128760800e+16 6.504903158965804309e-03 1.705475629907835244e-01 1.817522285981665764e+00 -8.468671216257736209e-03 4.291934260128760800e+16 7.666751416846454351e-03 1.705475629907835244e-01 2.518300836808284426e+00 -9.981267109010422481e-03 4.291934260128760800e+16 9.036119875056234513e-03 1.705475629907835244e-01 3.520207267298362197e+00 -1.176402891992746509e-02 4.291934260128760800e+16 1.065007488814736190e-02 1.705475629907835244e-01 4.899318544616868110e+00 -1.386521119186945317e-02 4.291934260128760800e+16 1.255230390546455826e-02 1.705475629907835244e-01 6.783349004032522167e+00 -1.634168724878715118e-02 4.291934260128760800e+16 1.479429848076127541e-02 1.705475629907835244e-01 9.428030955125407786e+00 -1.926048860285451206e-02 4.291934260128760800e+16 1.743674884181570933e-02 1.705475629907835244e-01 1.313225659465904549e+01 -2.270061931629619237e-02 4.291934260128760800e+16 2.055118797370814043e-02 1.705475629907835244e-01 1.821783170459938361e+01 -2.675519442777928719e-02 4.291934260128760800e+16 2.422193005459366555e-02 1.705475629907835244e-01 2.534246164190712847e+01 -3.153396032479117289e-02 4.291934260128760800e+16 2.854835626540521906e-02 1.705475629907835244e-01 3.521703532595594766e+01 -3.716626528166998983e-02 4.291934260128760800e+16 3.364761074975183841e-02 1.705475629907835244e-01 4.897636667525299004e+01 -4.380456056772231294e-02 4.291934260128760800e+16 3.965778117860649377e-02 1.705475629907835244e-01 6.815138676811167784e+01 -5.162852689096004283e-02 4.291934260128760800e+16 4.674165243496459371e-02 1.705475629907835244e-01 9.468140363398670445e+01 -6.084993786913318187e-02 4.291934260128760800e+16 5.509113899029183942e-02 1.705475629907835244e-01 1.317698274791751203e+02 -7.171839216907228975e-02 4.291934260128760800e+16 6.493252243994922235e-02 1.705475629907835244e-01 1.826736793008004156e+02 -8.452806946785666742e-02 4.291934260128760800e+16 7.653264658640281104e-02 1.705475629907835244e-01 2.542211284901266879e+02 -9.962569310141336509e-02 4.291934260128760800e+16 9.020625512256937040e-02 1.705475629907835244e-01 3.537844907714881515e+02 -1.174199149279194637e-01 4.291934260128760800e+16 1.063246989078609900e-01 1.705475629907835244e-01 4.915683106418834427e+02 -1.383923764288897684e-01 4.291934260128760800e+16 1.253262948622178574e-01 1.705475629907835244e-01 6.837332263543330555e+02 -1.631107454420542835e-01 4.291934260128760800e+16 1.477286924573819604e-01 1.705475629907835244e-01 9.493729017120250546e+02 -1.922440813951419580e-01 4.291934260128760800e+16 1.741437056526551064e-01 1.705475629907835244e-01 1.320123291252576792e+03 -2.265809449359138250e-01 4.291934260128760800e+16 2.052952118500407930e-01 1.705475629907835244e-01 1.834598356273833360e+03 -2.670507421371726142e-01 4.291934260128760800e+16 2.420409266522330349e-01 1.705475629907835244e-01 2.555858015108345626e+03 -3.147488810066778608e-01 4.291934260128760800e+16 2.853991671963467258e-01 1.705475629907835244e-01 3.560017954115784960e+03 -3.709664212206886247e-01 4.291934260128760800e+16 3.365821681186433878e-01 1.705475629907835244e-01 4.965371189497755040e+03 -4.372250196192620786e-01 4.291934260128760800e+16 3.970381872516498545e-01 1.705475629907835244e-01 6.923015902663444649e+03 -5.153181173433998286e-01 4.291934260128760800e+16 4.685056371717876700e-01 1.705475629907835244e-01 9.676095899984540665e+03 -6.073594834385067642e-01 4.291934260128760800e+16 5.530839350682386080e-01 1.705475629907835244e-01 1.350354344138380111e+04 -7.158404288682718164e-01 4.291934260128760800e+16 6.533278039087760947e-01 1.705475629907835244e-01 1.893056245528529689e+04 -8.436972395676662906e-01 4.291934260128760800e+16 7.723743904165910612e-01 1.705475629907835244e-01 2.659550444408751355e+04 -9.943906537655036182e-01 4.291934260128760800e+16 9.141153516087801023e-01 1.705475629907835244e-01 3.753238514797028620e+04 -1.171999534812844468e+00 4.291934260128760800e+16 1.083427277906364949e+00 1.705475629907835244e-01 5.343047408388292388e+04 -1.381331274987467994e+00 4.291934260128760800e+16 1.286468477750614348e+00 1.705475629907835244e-01 7.666119507501923363e+04 -1.628051918606947979e+00 4.291934260128760800e+16 1.531025772176070054e+00 1.705475629907835244e-01 1.117872205399660161e+05 -1.918839526531252559e+00 4.291934260128760800e+16 1.826824210959745232e+00 1.705475629907835244e-01 1.672263681289921806e+05 -2.261564933217340645e+00 4.291934260128760800e+16 2.185547074247636612e+00 1.705475629907835244e-01 2.630881089002316585e+05 -2.665504788930584290e+00 4.291934260128760800e+16 2.620008202776567430e+00 1.705475629907835244e-01 4.585340251387400785e+05 -3.141592653589792672e+00 4.291934260128760800e+16 3.141592653589792672e+00 1.705475629907835244e-01 1.861687684711354971e+07 -1.000000000000000021e-03 8.685113737513520000e+16 8.829087527438143944e-04 1.517828511589557339e-01 7.786826260747393980e-02 -1.178610770701415088e-03 8.685113737513520000e+16 1.040605773691052633e-03 1.517828511589557339e-01 1.095135419821092054e-01 -1.389123348813385214e-03 8.685113737513520000e+16 1.226469186287246910e-03 1.517828511589557339e-01 1.518154094149879729e-01 -1.637235740744274635e-03 8.685113737513520000e+16 1.445529814766478112e-03 1.517828511589557339e-01 2.129451614750356436e-01 -1.929663678218512032e-03 8.685113737513520000e+16 1.703717044868205714e-03 1.517828511589557339e-01 2.908490437958921038e-01 -2.274322394979648009e-03 8.685113737513520000e+16 2.008019317945885542e-03 1.517828511589557339e-01 4.105149657252066264e-01 -2.680540870770453925e-03 8.685113737513520000e+16 2.366673291909511014e-03 1.517828511589557339e-01 5.659862893883033097e-01 -3.159314341595407215e-03 8.685113737513520000e+16 2.789386789753770229e-03 1.517828511589557339e-01 7.995759024872746146e-01 -3.723601911035797143e-03 8.685113737513520000e+16 3.287601571393169129e-03 1.517828511589557339e-01 1.112739616450380664e+00 -4.388677318151167420e-03 8.685113737513520000e+16 3.874803043140312517e-03 1.517828511589557339e-01 1.513348535392979199e+00 -5.172542356305966961e-03 8.685113737513520000e+16 4.566885290793993614e-03 1.517828511589557339e-01 2.141786336558413328e+00 -6.096414133051489617e-03 8.685113737513520000e+16 5.382581321655825236e-03 1.517828511589557339e-01 2.977306303008102617e+00 -7.185299359870824139e-03 8.685113737513520000e+16 6.343970168920242368e-03 1.517828511589557339e-01 4.136940992274069195e+00 -8.468671216257736209e-03 8.685113737513520000e+16 7.477074597409533521e-03 1.517828511589557339e-01 5.688476593533019710e+00 -9.981267109010422481e-03 8.685113737513520000e+16 8.812565610259937704e-03 1.517828511589557339e-01 7.968012374040929657e+00 -1.176402891992746509e-02 8.685113737513520000e+16 1.038659286056763109e-02 1.517828511589557339e-01 1.107447510741443786e+01 -1.386521119186945317e-02 8.685113737513520000e+16 1.224176350215989625e-02 1.517828511589557339e-01 1.545046495552635513e+01 -1.634168724878715118e-02 8.685113737513520000e+16 1.442829606792802276e-02 1.517828511589557339e-01 2.143096418247463930e+01 -1.926048860285451206e-02 8.685113737513520000e+16 1.700538076131467846e-02 1.517828511589557339e-01 2.982176400649262149e+01 -2.270061931629619237e-02 8.685113737513520000e+16 2.004278323121913563e-02 1.517828511589557339e-01 4.139745352950775015e+01 -2.675519442777928719e-02 8.685113737513520000e+16 2.362273565083503404e-02 1.517828511589557339e-01 5.744918844270909375e+01 -3.153396032479117289e-02 8.685113737513520000e+16 2.784216695908174610e-02 1.517828511589557339e-01 7.997601772289418420e+01 -3.716626528166998983e-02 8.685113737513520000e+16 3.281533373170637119e-02 1.517828511589557339e-01 1.114681196171036390e+02 -4.380456056772231294e-02 8.685113737513520000e+16 3.867692469391924986e-02 1.517828511589557339e-01 1.547933765497738534e+02 -5.162852689096004283e-02 8.685113737513520000e+16 4.558572585347823308e-02 1.517828511589557339e-01 2.149109927748500581e+02 -6.084993786913318187e-02 8.685113737513520000e+16 5.372895028402709799e-02 1.517828511589557339e-01 2.988312014289145964e+02 -7.171839216907228975e-02 8.685113737513520000e+16 6.332735764802915890e-02 1.517828511589557339e-01 4.151914478802137296e+02 -8.452806946785666742e-02 8.685113737513520000e+16 7.464131494329320771e-02 1.517828511589557339e-01 5.773477214039605769e+02 -9.962569310141336509e-02 8.685113737513520000e+16 8.797798363511176445e-02 1.517828511589557339e-01 8.020555907178816142e+02 -1.174199149279194637e-01 8.685113737513520000e+16 1.036998622183907676e-01 1.517828511589557339e-01 1.115679229688817031e+03 -1.383923764288897684e-01 8.685113737513520000e+16 1.222349717942332048e-01 1.517828511589557339e-01 1.554159290261287879e+03 -1.631107454420542835e-01 8.685113737513520000e+16 1.440890523191336869e-01 1.517828511589557339e-01 2.158131253575785195e+03 -1.922440813951419580e-01 8.685113737513520000e+16 1.698602494969917998e-01 1.517828511589557339e-01 3.003382447063335349e+03 -2.265809449359138250e-01 8.685113737513520000e+16 2.002569335651966653e-01 1.517828511589557339e-01 4.174922574616970451e+03 -2.670507421371726142e-01 8.685113737513520000e+16 2.361195276009562805e-01 1.517828511589557339e-01 5.821833177775492913e+03 -3.147488810066778608e-01 8.685113737513520000e+16 2.784475749677234324e-01 1.517828511589557339e-01 8.105525467767686678e+03 -3.709664212206886247e-01 8.685113737513520000e+16 3.284338051025096350e-01 1.517828511589557339e-01 1.127828315116871818e+04 -4.372250196192620786e-01 8.685113737513520000e+16 3.875077563238292777e-01 1.517828511589557339e-01 1.574789455818017268e+04 -5.153181173433998286e-01 8.685113737513520000e+16 4.573927148728252901e-01 1.517828511589557339e-01 2.193824518132433877e+04 -6.073594834385067642e-01 8.685113737513520000e+16 5.401815008548265240e-01 1.517828511589557339e-01 3.073057620329024212e+04 -7.158404288682718164e-01 8.685113737513520000e+16 6.384391498018208155e-01 1.517828511589557339e-01 4.306565445971542067e+04 -8.436972395676662906e-01 8.685113737513520000e+16 7.553438547958413185e-01 1.517828511589557339e-01 6.054536098602672428e+04 -9.943906537655036182e-01 8.685113737513520000e+16 8.948811876274047616e-01 1.517828511589557339e-01 8.521944393357046647e+04 -1.171999534812844468e+00 8.685113737513520000e+16 1.062108603743710189e+00 1.517828511589557339e-01 1.210579884472361446e+05 -1.381331274987467994e+00 8.685113737513520000e+16 1.263501483140348158e+00 1.517828511589557339e-01 1.735111605858444527e+05 -1.628051918606947979e+00 8.685113737513520000e+16 1.507362720576394199e+00 1.517828511589557339e-01 2.510499274087757221e+05 -1.918839526531252559e+00 8.685113737513520000e+16 1.804189339289384408e+00 1.517828511589557339e-01 3.721396813092863886e+05 -2.261564933217340645e+00 8.685113737513520000e+16 2.166675400820968544e+00 1.517828511589557339e-01 5.680296581218463834e+05 -2.665504788930584290e+00 8.685113737513520000e+16 2.608623533819894647e+00 1.517828511589557339e-01 9.342761041547035566e+05 -3.141592653589792672e+00 8.685113737513520000e+16 3.141592653589792672e+00 1.517828511589557339e-01 5.228663558425775915e+07 -1.000000000000000021e-03 1.757510624854796480e+17 8.215046838880041974e-04 1.287361623778863762e-01 1.532405674363784831e-01 -1.178610770701415088e-03 1.757510624854796480e+17 9.682342804485823259e-04 1.287361623778863762e-01 2.132153057293695309e-01 -1.389123348813385214e-03 1.757510624854796480e+17 1.141171370878207121e-03 1.287361623778863762e-01 2.870426787156446502e-01 -1.637235740744274635e-03 1.757510624854796480e+17 1.344996900661426511e-03 1.287361623778863762e-01 3.955860759494661538e-01 -1.929663678218512032e-03 1.757510624854796480e+17 1.585227885626238177e-03 1.287361623778863762e-01 5.627225406498090887e-01 -2.274322394979648009e-03 1.757510624854796480e+17 1.868366745064237297e-03 1.287361623778863762e-01 7.761576860074601569e-01 -2.680540870770453925e-03 1.757510624854796480e+17 2.202077308598181064e-03 1.287361623778863762e-01 1.090717557121421821e+00 -3.159314341595407215e-03 1.757510624854796480e+17 2.595392261808066731e-03 1.287361623778863762e-01 1.500975836002888197e+00 -3.723601911035797143e-03 1.757510624854796480e+17 3.058957647214236800e-03 1.287361623778863762e-01 2.102249227019713285e+00 -4.388677318151167420e-03 1.757510624854796480e+17 3.605321041227774539e-03 1.287361623778863762e-01 2.928608653637212456e+00 -5.172542356305966961e-03 1.757510624854796480e+17 4.249271211544588048e-03 1.287361623778863762e-01 3.997142500343592530e+00 -6.096414133051489617e-03 1.757510624854796480e+17 5.008238455639544250e-03 1.287361623778863762e-01 5.658128577928774661e+00 -7.185299359870824139e-03 1.757510624854796480e+17 5.902766467982011045e-03 1.287361623778863762e-01 7.804479735498746962e+00 -8.468671216257736209e-03 1.757510624854796480e+17 6.957068527037302968e-03 1.287361623778863762e-01 1.088877507780671294e+01 -9.981267109010422481e-03 1.757510624854796480e+17 8.199683087467289633e-03 1.287361623778863762e-01 1.517584002026637613e+01 -1.176402891992746509e-02 1.757510624854796480e+17 9.664246573285196693e-03 1.287361623778863762e-01 2.105821274350197569e+01 -1.386521119186945317e-02 1.757510624854796480e+17 1.139040437230518302e-02 1.287361623778863762e-01 2.955631581839185529e+01 -1.634168724878715118e-02 1.757510624854796480e+17 1.342488482579813104e-02 1.287361623778863762e-01 4.069851732630278462e+01 -1.926048860285451206e-02 1.757510624854796480e+17 1.582276550560460932e-02 1.287361623778863762e-01 5.706495333201308995e+01 -2.270061931629619237e-02 1.757510624854796480e+17 1.864896641726875373e-02 1.287361623778863762e-01 7.899881041072664800e+01 -2.675519442777928719e-02 1.757510624854796480e+17 2.198001114185903562e-02 1.287361623778863762e-01 1.101222639074442071e+02 -3.153396032479117289e-02 1.757510624854796480e+17 2.590610456102572859e-02 1.287361623778863762e-01 1.528965093237921167e+02 -3.716626528166998983e-02 1.757510624854796480e+17 3.053358500012562371e-02 1.287361623778863762e-01 2.121849165941218303e+02 -4.380456056772231294e-02 1.757510624854796480e+17 3.598781977556726047e-02 1.287361623778863762e-01 2.959834878296082366e+02 -5.162852689096004283e-02 1.757510624854796480e+17 4.241662679849302758e-02 1.287361623778863762e-01 4.108656885825933500e+02 -6.084993786913318187e-02 1.757510624854796480e+17 4.999432184919199579e-02 1.287361623778863762e-01 5.694291567205303863e+02 -7.171839216907228975e-02 1.757510624854796480e+17 5.892651252755767843e-02 1.287361623778863762e-01 7.917377819808268669e+02 -8.452806946785666742e-02 1.757510624854796480e+17 6.945578738345833947e-02 1.287361623778863762e-01 1.100518785045288951e+03 -9.962569310141336509e-02 1.757510624854796480e+17 8.186848487734028901e-02 1.287361623778863762e-01 1.529806036805832036e+03 -1.174199149279194637e-01 1.757510624854796480e+17 9.650277552311510576e-02 1.287361623778863762e-01 2.125722441609211273e+03 -1.383923764288897684e-01 1.757510624854796480e+17 1.137583579100422820e-01 1.287361623778863762e-01 2.958742027218116164e+03 -1.631107454420542835e-01 1.757510624854796480e+17 1.341081648599856124e-01 1.287361623778863762e-01 4.111283548768020410e+03 -1.922440813951419580e-01 1.757510624854796480e+17 1.581126148889689109e-01 1.287361623778863762e-01 5.712766020354470129e+03 -2.265809449359138250e-01 1.757510624854796480e+17 1.864371504049839867e-01 1.287361623778863762e-01 7.963921316879689584e+03 -2.670507421371726142e-01 1.757510624854796480e+17 2.198741156868895541e-01 1.287361623778863762e-01 1.105869851033062150e+04 -3.147488810066778608e-01 1.757510624854796480e+17 2.593705045030536560e-01 1.287361623778863762e-01 1.539049132481918969e+04 -3.709664212206886247e-01 1.757510624854796480e+17 3.060638424832282656e-01 1.287361623778863762e-01 2.143880936658790597e+04 -4.372250196192620786e-01 1.757510624854796480e+17 3.613296054847927041e-01 1.287361623778863762e-01 2.987966266369849836e+04 -5.153181173433998286e-01 1.757510624854796480e+17 4.268453223384555684e-01 1.287361623778863762e-01 4.169343388153128762e+04 -6.073594834385067642e-01 1.757510624854796480e+17 5.046791589216950147e-01 1.287361623778863762e-01 5.817128371929170680e+04 -7.158404288682718164e-01 1.757510624854796480e+17 5.974146781025186925e-01 1.287361623778863762e-01 8.141238693098798103e+04 -8.436972395676662906e-01 1.757510624854796480e+17 7.083288755139077741e-01 1.287361623778863762e-01 1.139125137328209967e+05 -9.943906537655036182e-01 1.757510624854796480e+17 8.416471644129136509e-01 1.287361623778863762e-01 1.601011648465804756e+05 -1.171999534812844468e+00 1.757510624854796480e+17 1.002904277727985072e+00 1.287361623778863762e-01 2.260166219598768803e+05 -1.381331274987467994e+00 1.757510624854796480e+17 1.199435440232728523e+00 1.287361623778863762e-01 3.219284165713879629e+05 -1.628051918606947979e+00 1.757510624854796480e+17 1.440982691736612864e+00 1.287361623778863762e-01 4.637254989749760134e+05 -1.918839526531252559e+00 1.757510624854796480e+17 1.740263959887636380e+00 1.287361623778863762e-01 6.853452498089800356e+05 -2.261564933217340645e+00 1.757510624854796480e+17 2.112986097123262130e+00 1.287361623778863762e-01 1.065014748875059420e+06 -2.665504788930584290e+00 1.757510624854796480e+17 2.576024008426257339e+00 1.287361623778863762e-01 1.903337817780829500e+06 -3.141592653589792672e+00 1.757510624854796480e+17 3.141592653589792672e+00 1.287361623778863762e-01 1.507551619189396203e+08 -1.000000000000000021e-03 3.556480306223150080e+17 6.660384031606865658e-04 9.580610458241708982e-02 2.981090383279538236e-01 -1.178610770701415088e-03 3.556480306223150080e+17 7.850000551220536220e-04 9.580610458241708982e-02 4.173771778019506606e-01 -1.389123348813385214e-03 3.556480306223150080e+17 9.252095518222751280e-04 9.580610458241708982e-02 5.872139558724549513e-01 -1.637235740744274635e-03 3.556480306223150080e+17 1.090461995086425186e-03 9.580610458241708982e-02 8.144794513221088605e-01 -1.929663678218512032e-03 3.556480306223150080e+17 1.285230337835944819e-03 9.580610458241708982e-02 1.136293392844931693e+00 -2.274322394979648009e-03 3.556480306223150080e+17 1.514786458803540686e-03 9.580610458241708982e-02 1.589608252431658153e+00 -2.680540870770453925e-03 3.556480306223150080e+17 1.785343864540588858e-03 9.580610458241708982e-02 2.161576711100159809e+00 -3.159314341595407215e-03 3.556480306223150080e+17 2.104225882887139198e-03 9.580610458241708982e-02 3.061149770417269433e+00 -3.723601911035797143e-03 3.556480306223150080e+17 2.480063903087216352e-03 9.580610458241708982e-02 4.201067459218477573e+00 -4.388677318151167420e-03 3.556480306223150080e+17 2.923031032695893282e-03 9.580610458241708982e-02 5.888015609432749820e+00 -5.172542356305966961e-03 3.556480306223150080e+17 3.445117502815899738e-03 9.580610458241708982e-02 8.260774609724549578e+00 -6.096414133051489617e-03 3.556480306223150080e+17 4.060455287725638594e-03 9.580610458241708982e-02 1.136350033608418286e+01 -7.185299359870824139e-03 3.556480306223150080e+17 4.785700744444323397e-03 9.580610458241708982e-02 1.586410786665408956e+01 -8.468671216257736209e-03 3.556480306223150080e+17 5.640485660311154482e-03 9.580610458241708982e-02 2.187902597931351778e+01 -9.981267109010422481e-03 3.556480306223150080e+17 6.647948968066908632e-03 9.580610458241708982e-02 3.082648411848367687e+01 -1.176402891992746509e-02 3.556480306223150080e+17 7.835363603780403849e-03 9.580610458241708982e-02 4.244069052714515777e+01 -1.386521119186945317e-02 3.556480306223150080e+17 9.234875611273294163e-03 9.580610458241708982e-02 5.954955515048040127e+01 -1.634168724878715118e-02 3.556480306223150080e+17 1.088437572176265827e-02 9.580610458241708982e-02 8.201760554495213285e+01 -1.926048860285451206e-02 3.556480306223150080e+17 1.282852736539085402e-02 9.580610458241708982e-02 1.149426776032109387e+02 -2.270061931629619237e-02 3.556480306223150080e+17 1.511997953831924722e-02 9.580610458241708982e-02 1.601569287924455693e+02 -2.675519442777928719e-02 3.556480306223150080e+17 1.782079833377612707e-02 9.580610458241708982e-02 2.226049789675095099e+02 -3.153396032479117289e-02 3.556480306223150080e+17 2.100415748814877040e-02 9.580610458241708982e-02 3.091570778331469000e+02 -3.716626528166998983e-02 3.556480306223150080e+17 2.475633632574452889e-02 9.580610458241708982e-02 4.308200879909466039e+02 -4.380456056772231294e-02 3.556480306223150080e+17 2.917908347898861068e-02 9.580610458241708982e-02 5.977335061670003142e+02 -5.162852689096004283e-02 3.556480306223150080e+17 3.439241739980899298e-02 9.580610458241708982e-02 8.330145484476042839e+02 -6.084993786913318187e-02 3.556480306223150080e+17 4.053795098380953005e-02 9.580610458241708982e-02 1.155371081377782275e+03 -7.171839216907228975e-02 3.556480306223150080e+17 4.778284915420033530e-02 9.580610458241708982e-02 1.606383271216221829e+03 -8.452806946785666742e-02 3.556480306223150080e+17 5.632455739881758738e-02 9.580610458241708982e-02 2.231148360521841823e+03 -9.962569310141336509e-02 3.556480306223150080e+17 6.639647978631788017e-02 9.580610458241708982e-02 3.099237974268402468e+03 -1.174199149279194637e-01 3.556480306223150080e+17 7.827484287383794370e-02 9.580610458241708982e-02 4.319874199964149739e+03 -1.383923764288897684e-01 3.556480306223150080e+17 9.228706669054533018e-02 9.580610458241708982e-02 5.995269767336687437e+03 -1.631107454420542835e-01 3.556480306223150080e+17 1.088220909578018758e-01 9.580610458241708982e-02 8.359174133362950670e+03 -1.922440813951419580e-01 3.556480306223150080e+17 1.283432986038221535e-01 9.580610458241708982e-02 1.161339849797688294e+04 -2.265809449359138250e-01 3.556480306223150080e+17 1.514049794323574505e-01 9.580610458241708982e-02 1.614340728942725582e+04 -2.670507421371726142e-01 3.556480306223150080e+17 1.786737492631693125e-01 9.580610458241708982e-02 2.244923548036253851e+04 -3.147488810066778608e-01 3.556480306223150080e+17 2.109570887900047154e-01 9.580610458241708982e-02 3.128727859598944633e+04 -3.709664212206886247e-01 3.556480306223150080e+17 2.492423610199988038e-01 9.580610458241708982e-02 4.356017889687740535e+04 -4.372250196192620786e-01 3.556480306223150080e+17 2.947515780670782459e-01 9.580610458241708982e-02 6.083076209048838791e+04 -5.153181173433998286e-01 3.556480306223150080e+17 3.490202480801889995e-01 9.580610458241708982e-02 8.490433609653753228e+04 -6.073594834385067642e-01 3.556480306223150080e+17 4.140135087244807832e-01 9.580610458241708982e-02 1.191220071386729396e+05 -7.158404288682718164e-01 3.556480306223150080e+17 4.923004297989025946e-01 9.580610458241708982e-02 1.670928284620907216e+05 -8.436972395676662906e-01 3.556480306223150080e+17 5.873191381694528035e-01 9.580610458241708982e-02 2.352417772652820568e+05 -9.943906537655036182e-01 3.556480306223150080e+17 7.037824403905954540e-01 9.580610458241708982e-02 3.363925122519985307e+05 -1.171999534812844468e+00 3.556480306223150080e+17 8.482948465471767951e-01 9.580610458241708982e-02 4.806854226649767952e+05 -1.381331274987467994e+00 3.556480306223150080e+17 1.030266613310209189e+00 9.580610458241708982e-02 6.918673922180455411e+05 -1.628051918606947979e+00 3.556480306223150080e+17 1.263174054616666542e+00 9.580610458241708982e-02 1.022147268245419604e+06 -1.918839526531252559e+00 3.556480306223150080e+17 1.565979607680291652e+00 9.580610458241708982e-02 1.558800895336664515e+06 -2.261564933217340645e+00 3.556480306223150080e+17 1.963679253063524754e+00 9.580610458241708982e-02 2.531855138892996591e+06 -2.665504788930584290e+00 3.556480306223150080e+17 2.483710668379900177e+00 9.580610458241708982e-02 4.766298748636201024e+06 -3.141592653589792672e+00 3.556480306223150080e+17 3.141592653589792228e+00 9.580610458241708982e-02 4.382052085235799551e+08 -1.000000000000000021e-03 7.196856730011528960e+17 6.079622240096378563e-04 6.898099527199953729e-02 7.471756990015983035e-01 -1.178610770701415088e-03 7.196856730011528960e+17 7.165508466170037588e-04 6.898099527199953729e-02 1.076148097787870128e+00 -1.389123348813385214e-03 7.196856730011528960e+17 8.445345803196019178e-04 6.898099527199953729e-02 1.510033983436655181e+00 -1.637235740744274635e-03 7.196856730011528960e+17 9.953776094746436941e-04 6.898099527199953729e-02 2.033934783774444366e+00 -1.929663678218512032e-03 7.196856730011528960e+17 1.173162864568076365e-03 6.898099527199953729e-02 2.879743982902781774e+00 -2.274322394979648009e-03 7.196856730011528960e+17 1.382702540436462051e-03 6.898099527199953729e-02 4.007014173210761143e+00 -2.680540870770453925e-03 7.196856730011528960e+17 1.629668356463311691e-03 6.898099527199953729e-02 5.549825157716306911e+00 -3.159314341595407215e-03 7.196856730011528960e+17 1.920745086299953256e-03 6.898099527199953729e-02 7.632871490665487535e+00 -3.723601911035797143e-03 7.196856730011528960e+17 2.263811515624891430e-03 6.898099527199953729e-02 1.064843740376880454e+01 -4.388677318151167420e-03 7.196856730011528960e+17 2.668153730693297900e-03 6.898099527199953729e-02 1.513190915463059838e+01 -5.172542356305966961e-03 7.196856730011528960e+17 3.144716518539518706e-03 6.898099527199953729e-02 2.095716522294409856e+01 -6.096414133051489617e-03 7.196856730011528960e+17 3.706399696193405421e-03 6.898099527199953729e-02 2.889775351293472738e+01 -7.185299359870824139e-03 7.196856730011528960e+17 4.368407410430863273e-03 6.898099527199953729e-02 3.945605464808043195e+01 -8.468671216257736209e-03 7.196856730011528960e+17 5.148659896532455787e-03 6.898099527199953729e-02 5.504548248836703550e+01 -9.981267109010422481e-03 7.196856730011528960e+17 6.068278896706225632e-03 6.898099527199953729e-02 7.683817937168119272e+01 -1.176402891992746509e-02 7.196856730011528960e+17 7.152159967939871431e-03 6.898099527199953729e-02 1.068274405372431346e+02 -1.386521119186945317e-02 7.196856730011528960e+17 8.429647318771809478e-03 6.898099527199953729e-02 1.502043163885171850e+02 -1.634168724878715118e-02 7.196856730011528960e+17 9.935329684386167218e-03 6.898099527199953729e-02 2.089632948962316163e+02 -1.926048860285451206e-02 7.196856730011528960e+17 1.170997918072269259e-02 6.898099527199953729e-02 2.905837109685199948e+02 -2.270061931629619237e-02 7.196856730011528960e+17 1.380165920229710179e-02 6.898099527199953729e-02 4.023930260488197632e+02 -2.675519442777928719e-02 7.196856730011528960e+17 1.626703241976904316e-02 6.898099527199953729e-02 5.601751067247175797e+02 -3.153396032479117289e-02 7.196856730011528960e+17 1.917290603021738760e-02 6.898099527199953729e-02 7.804557294571885677e+02 -3.716626528166998983e-02 7.196856730011528960e+17 2.259805894949678748e-02 6.898099527199953729e-02 1.085640178234212044e+03 -4.380456056772231294e-02 7.196856730011528960e+17 2.663540509248991245e-02 6.898099527199953729e-02 1.508584996392832636e+03 -5.162852689096004283e-02 7.196856730011528960e+17 3.139455897235049475e-02 6.898099527199953729e-02 2.093157127748999301e+03 -6.084993786913318187e-02 7.196856730011528960e+17 3.700488563270407788e-02 6.898099527199953729e-02 2.912399102901084461e+03 -7.171839216907228975e-02 7.196856730011528960e+17 4.361913804912335990e-02 6.898099527199953729e-02 4.050348983993483671e+03 -8.452806946785666742e-02 7.196856730011528960e+17 5.141781415951350576e-02 6.898099527199953729e-02 5.619688079011742047e+03 -9.962569310141336509e-02 7.196856730011528960e+17 6.061440665296055630e-02 6.898099527199953729e-02 7.833026685690943850e+03 -1.174199149279194637e-01 7.196856730011528960e+17 7.146177801475211977e-02 6.898099527199953729e-02 1.086127111605489881e+04 -1.383923764288897684e-01 7.196856730011528960e+17 8.425998145750775159e-02 6.898099527199953729e-02 1.510660894113756694e+04 -1.631107454420542835e-01 7.196856730011528960e+17 9.936598201628431271e-02 6.898099527199953729e-02 2.099816463013222892e+04 -1.922440813951419580e-01 7.196856730011528960e+17 1.172059384435245183e-01 6.898099527199953729e-02 2.929390306720104127e+04 -2.265809449359138250e-01 7.196856730011528960e+17 1.382910299143770561e-01 6.898099527199953729e-02 4.072119606155358633e+04 -2.670507421371726142e-01 7.196856730011528960e+17 1.632383243415407026e-01 6.898099527199953729e-02 5.659687958200364665e+04 -3.147488810066778608e-01 7.196856730011528960e+17 1.927990058712508725e-01 6.898099527199953729e-02 7.883884973318447010e+04 -3.709664212206886247e-01 7.196856730011528960e+17 2.278976023723208455e-01 6.898099527199953729e-02 1.100124136217088526e+05 -4.372250196192620786e-01 7.196856730011528960e+17 2.696879984727162949e-01 6.898099527199953729e-02 1.535892344946923258e+05 -5.153181173433998286e-01 7.196856730011528960e+17 3.196355077937313993e-01 6.898099527199953729e-02 2.151646552358951594e+05 -6.073594834385067642e-01 7.196856730011528960e+17 3.796399551063630029e-01 6.898099527199953729e-02 3.010747373945208965e+05 -7.158404288682718164e-01 7.196856730011528960e+17 4.522239227221398483e-01 6.898099527199953729e-02 4.241987053230181336e+05 -8.436972395676662906e-01 7.196856730011528960e+17 5.408250366558211564e-01 6.898099527199953729e-02 5.993003002641187049e+05 -9.943906537655036182e-01 7.196856730011528960e+17 6.502539036987541321e-01 6.898099527199953729e-02 8.538894793102320982e+05 -1.171999534812844468e+00 7.196856730011528960e+17 7.875172496573797920e-01 6.898543124705706908e-02 1.228025145165714435e+06 -1.381331274987467994e+00 7.196856730011528960e+17 9.627130247509344541e-01 6.899306637610100323e-02 1.790623715938512934e+06 -1.628051918606947979e+00 7.196856730011528960e+17 1.190552918529020676e+00 6.899712679516374625e-02 2.668959176602555439e+06 -1.918839526531252559e+00 7.196856730011528960e+17 1.492602288053847426e+00 6.899528488869174914e-02 4.134320570894864388e+06 -2.261564933217340645e+00 7.196856730011528960e+17 1.898337059202529487e+00 6.898140854806156241e-02 6.834051701781085692e+06 -2.665504788930584290e+00 7.196856730011528960e+17 2.442054688749784042e+00 6.898099527199953729e-02 1.316213891955164447e+07 -3.141592653589792672e+00 7.196856730011528960e+17 3.141592653589792228e+00 6.898099527199953729e-02 1.279000660173855305e+09 -1.000000000000000021e-03 1.456348477501238528e+18 5.910999142206765792e-04 4.947773434626388800e-02 2.089194446862648213e+00 -1.178610770701415088e-03 1.456348477501238528e+18 6.966767468843537573e-04 4.947773434626388800e-02 2.944951036231966857e+00 -1.389123348813385214e-03 1.456348477501238528e+18 8.211107526499231840e-04 4.947773434626388800e-02 4.154285805618531668e+00 -1.637235740744274635e-03 1.456348477501238528e+18 9.677700344376609061e-04 4.947773434626388800e-02 5.740185823264080334e+00 -1.929663678218512032e-03 1.456348477501238528e+18 1.140624280169743113e-03 4.947773434626388800e-02 7.922879211387577669e+00 -2.274322394979648009e-03 1.456348477501238528e+18 1.344352215863593540e-03 4.947773434626388800e-02 1.113591159628115435e+01 -2.680540870770453925e-03 1.456348477501238528e+18 1.584468253256105441e-03 4.947773434626388800e-02 1.547884279188353140e+01 -3.159314341595407215e-03 1.456348477501238528e+18 1.867471761743120726e-03 4.947773434626388800e-02 2.140771310543956218e+01 -3.723601911035797143e-03 1.456348477501238528e+18 2.201023007929116433e-03 4.947773434626388800e-02 3.015097885114447962e+01 -4.388677318151167420e-03 1.456348477501238528e+18 2.594150529754583011e-03 4.947773434626388800e-02 4.157246799696730477e+01 -5.172542356305966961e-03 1.456348477501238528e+18 3.057495566050614719e-03 4.947773434626388800e-02 5.848918320687780437e+01 -6.096414133051489617e-03 1.456348477501238528e+18 3.603600170326148790e-03 4.947773434626388800e-02 8.093130458530379201e+01 -7.185299359870824139e-03 1.456348477501238528e+18 4.247246828137308389e-03 4.947773434626388800e-02 1.124842167856175337e+02 -8.468671216257736209e-03 1.456348477501238528e+18 5.005858804761846755e-03 4.947773434626388800e-02 1.573022054990215111e+02 -9.981267109010422481e-03 1.456348477501238528e+18 5.899972115499942799e-03 4.947773434626388800e-02 2.163929945665860828e+02 -1.176402891992746509e-02 1.456348477501238528e+18 6.953791985233898770e-03 4.947773434626388800e-02 3.031028133944695355e+02 -1.386521119186945317e-02 1.456348477501238528e+18 8.195849009193548543e-03 4.947773434626388800e-02 4.139756970290443974e+02 -1.634168724878715118e-02 1.456348477501238528e+18 9.659773021162169210e-03 4.947773434626388800e-02 5.843699059113906742e+02 -1.926048860285451206e-02 1.456348477501238528e+18 1.138520601797865170e-02 4.947773434626388800e-02 8.086231702993517274e+02 -2.270061931629619237e-02 1.456348477501238528e+18 1.341887950946679675e-02 4.947773434626388800e-02 1.130336035638606972e+03 -2.675519442777928719e-02 1.456348477501238528e+18 1.581588653327556035e-02 4.947773434626388800e-02 1.569100393898521588e+03 -3.153396032479117289e-02 1.456348477501238528e+18 1.864118453052307153e-02 4.947773434626388800e-02 2.186534815101418644e+03 -3.716626528166998983e-02 1.456348477501238528e+18 2.197137265237466761e-02 4.947773434626388800e-02 3.023511224693545046e+03 -4.380456056772231294e-02 1.456348477501238528e+18 2.589679633865143646e-02 4.947773434626388800e-02 4.231838839553694015e+03 -5.162852689096004283e-02 1.456348477501238528e+18 3.052404388563182552e-02 4.947773434626388800e-02 5.862363792163934704e+03 -6.084993786913318187e-02 1.456348477501238528e+18 3.597891527210822504e-02 4.947773434626388800e-02 8.143223319564164740e+03 -7.171839216907228975e-02 1.456348477501238528e+18 4.240996438898985560e-02 4.947773434626388800e-02 1.134977111624784084e+04 -8.452806946785666742e-02 1.456348477501238528e+18 4.999274459496808737e-02 4.947773434626388800e-02 1.578416526194586913e+04 -9.962569310141336509e-02 1.456348477501238528e+18 5.893492827548078156e-02 4.947773434626388800e-02 2.190374280563085267e+04 -1.174199149279194637e-01 1.456348477501238528e+18 6.948253032572622445e-02 4.947773434626388800e-02 3.043685444846072642e+04 -1.383923764288897684e-01 1.456348477501238528e+18 8.192755368964133034e-02 4.947773434626388800e-02 4.236018205905096693e+04 -1.631107454420542835e-01 1.456348477501238528e+18 9.661750923078091247e-02 4.947773434626388800e-02 5.880802407155258697e+04 -1.922440813951419580e-01 1.456348477501238528e+18 1.139674698893484023e-01 4.947773434626388800e-02 8.183165378883616359e+04 -2.265809449359138250e-01 1.456348477501238528e+18 1.344756453868133084e-01 4.947773434626388800e-02 1.141407197146921826e+05 -2.670507421371726142e-01 1.456348477501238528e+18 1.587439826286875522e-01 4.947773434626388800e-02 1.587477359047410428e+05 -3.147488810066778608e-01 1.456348477501238528e+18 1.875061301346233333e-01 4.947773434626388800e-02 2.209336738072856679e+05 -3.709664212206886247e-01 1.456348477501238528e+18 2.216664532372162599e-01 4.947773434626388800e-02 3.086394839496877394e+05 -4.372250196192620786e-01 1.456348477501238528e+18 2.623559830203736065e-01 4.947773434626388800e-02 4.301709139663278474e+05 -5.153181173433998286e-01 1.456348477501238528e+18 3.110147767107008243e-01 4.947773434626388800e-02 6.025671220981496153e+05 -6.073594834385067642e-01 1.456348477501238528e+18 3.695160681573352868e-01 4.947773434626388800e-02 8.448594255384224234e+05 -7.158404288682718164e-01 1.456348477501238528e+18 4.403572656156436449e-01 4.947773434626388800e-02 1.191223104742253665e+06 -8.436972395676662906e-01 1.456348477501238528e+18 5.269585888266756779e-01 4.947773434626388800e-02 1.685319217238010839e+06 -9.943906537655036182e-01 1.456348477501238528e+18 6.341350269352267199e-01 4.947773434626388800e-02 2.402256599283174146e+06 -1.171999534812844468e+00 1.456348477501238528e+18 7.688438217923916351e-01 4.947773434626388800e-02 3.459981111716971733e+06 -1.381331274987467994e+00 1.456348477501238528e+18 9.413520049881194396e-01 4.947773434626388800e-02 5.057369847432975657e+06 -1.628051918606947979e+00 1.456348477501238528e+18 1.166971274965058925e+00 4.947773434626388800e-02 7.572548609509450383e+06 -1.918839526531252559e+00 1.456348477501238528e+18 1.468275579451034485e+00 4.947773434626388800e-02 1.177256376684635505e+07 -2.261564933217340645e+00 1.456348477501238528e+18 1.876586152418827869e+00 4.947773434626388800e-02 1.960678894785492867e+07 -2.665504788930584290e+00 1.456348477501238528e+18 2.427872299360421593e+00 4.947773434626388800e-02 3.810909996591366827e+07 -3.141592653589792672e+00 1.456348477501238528e+18 3.141592653589792228e+00 4.947773434626388800e-02 3.699917215324457169e+09 -1.000000000000000021e-03 2.947051702551809536e+18 5.865414179666740687e-04 3.561413203736756017e-02 6.196393624657305033e+00 -1.178610770701415088e-03 2.947051702551809536e+18 6.913040540968221894e-04 3.561413203736756017e-02 8.534656039978786524e+00 -1.389123348813385214e-03 2.947051702551809536e+18 8.147784390557268313e-04 3.561413203736756017e-02 1.210997047701537355e+01 -1.637235740744274635e-03 2.947051702551809536e+18 9.603067014203892906e-04 3.561413203736756017e-02 1.657117681471111226e+01 -1.929663678218512032e-03 2.947051702551809536e+18 1.131827915471111858e-03 3.561413203736756017e-02 2.339088878933424098e+01 -2.274322394979648009e-03 2.947051702551809536e+18 1.333984725655427321e-03 3.561413203736756017e-02 3.183331043969074159e+01 -2.680540870770453925e-03 2.947051702551809536e+18 1.572249017580306741e-03 3.561413203736756017e-02 4.468026841064013865e+01 -3.159314341595407215e-03 2.947051702551809536e+18 1.853070038881878250e-03 3.561413203736756017e-02 6.240462104539677313e+01 -3.723601911035797143e-03 2.947051702551809536e+18 2.184048982110666729e-03 3.561413203736756017e-02 8.493972194427611555e+01 -4.388677318151167420e-03 2.947051702551809536e+18 2.574144759877637807e-03 3.561413203736756017e-02 1.222458140329304825e+02 -5.172542356305966961e-03 2.947051702551809536e+18 3.033916549828877089e-03 3.561413203736756017e-02 1.674603865235005173e+02 -6.096414133051489617e-03 2.947051702551809536e+18 3.575809687241273110e-03 3.561413203736756017e-02 2.302849874453626740e+02 -7.185299359870824139e-03 2.947051702551809536e+18 4.214492664462779307e-03 3.561413203736756017e-02 3.269859741407670981e+02 -8.468671216257736209e-03 2.947051702551809536e+18 4.967254393053081342e-03 3.561413203736756017e-02 4.566298018424327552e+02 -9.981267109010422481e-03 2.947051702551809536e+18 5.854472537417579510e-03 3.561413203736756017e-02 6.301092905179071977e+02 -1.176402891992746509e-02 2.947051702551809536e+18 6.900165688114138357e-03 3.561413203736756017e-02 8.786342795938722929e+02 -1.386521119186945317e-02 2.947051702551809536e+18 8.132644470732178568e-03 3.561413203736756017e-02 1.221502425974911148e+03 -1.634168724878715118e-02 2.947051702551809536e+18 9.585279459789500245e-03 3.561413203736756017e-02 1.695483257572093635e+03 -1.926048860285451206e-02 2.947051702551809536e+18 1.129740708525691674e-02 3.561413203736756017e-02 2.369722193880707437e+03 -2.270061931629619237e-02 2.947051702551809536e+18 1.331539871075747110e-02 3.561413203736756017e-02 3.283101666395129996e+03 -2.675519442777928719e-02 2.947051702551809536e+18 1.569392289882843086e-02 3.561413203736756017e-02 4.552371191356874078e+03 -3.153396032479117289e-02 2.947051702551809536e+18 1.849743679492419843e-02 3.561413203736756017e-02 6.358246039113964798e+03 -3.716626528166998983e-02 2.947051702551809536e+18 2.180194988874405854e-02 3.561413203736756017e-02 8.825920483832740501e+03 -4.380456056772231294e-02 2.947051702551809536e+18 2.569711262658867096e-02 3.561413203736756017e-02 1.227973875720692558e+04 -5.162852689096004283e-02 2.947051702551809536e+18 3.028869415863197703e-02 3.561413203736756017e-02 1.702542120146030720e+04 -6.084993786913318187e-02 2.947051702551809536e+18 3.570152897922420493e-02 3.561413203736756017e-02 2.367513386014019125e+04 -7.171839216907228975e-02 2.947051702551809536e+18 4.208303300318533974e-02 3.561413203736756017e-02 3.294438524796610000e+04 -8.452806946785666742e-02 2.947051702551809536e+18 4.960741829125328572e-02 3.561413203736756017e-02 4.569341707317415421e+04 -9.962569310141336509e-02 2.947051702551809536e+18 5.848077626854035482e-02 3.561413203736756017e-02 6.352287348954546906e+04 -1.174199149279194637e-01 2.947051702551809536e+18 6.894725838285151176e-02 3.561413203736756017e-02 8.830751724162069149e+04 -1.383923764288897684e-01 2.947051702551809536e+18 8.129667120961212023e-02 3.561413203736756017e-02 1.229672858096392883e+05 -1.631107454420542835e-01 2.947051702551809536e+18 9.587393701087452980e-02 3.561413203736756017e-02 1.708396842735813698e+05 -1.922440813951419580e-01 2.947051702551809536e+18 1.130910783487396459e-01 3.561413203736756017e-02 2.382987465908026497e+05 -2.265809449359138250e-01 2.947051702551809536e+18 1.334427117561327869e-01 3.561413203736756017e-02 3.314174344492515665e+05 -2.670507421371726142e-01 2.947051702551809536e+18 1.575265549258570152e-01 3.561413203736756017e-02 4.617446446449483628e+05 -3.147488810066778608e-01 2.947051702551809536e+18 1.860712867825562722e-01 3.561413203736756017e-02 6.413490818045806373e+05 -3.709664212206886247e-01 2.947051702551809536e+18 2.199754526727406567e-01 3.561413203736756017e-02 8.957614627102116356e+05 -4.372250196192620786e-01 2.947051702551809536e+18 2.603633139463578661e-01 3.561413203736756017e-02 1.251506725979076698e+06 -5.153181173433998286e-01 2.947051702551809536e+18 3.086671613618596766e-01 3.561413203736756017e-02 1.750302379544336116e+06 -6.073594834385067642e-01 2.947051702551809536e+18 3.667515714392442505e-01 3.561413203736756017e-02 2.453682856718062423e+06 -7.158404288682718164e-01 2.947051702551809536e+18 4.371048978471034352e-01 3.561413203736756017e-02 3.460631923232962377e+06 -8.436972395676662906e-01 2.947051702551809536e+18 5.231393286717714863e-01 3.561413203736756017e-02 4.897926927781824023e+06 -9.943906537655036182e-01 2.947051702551809536e+18 6.296664071047669564e-01 3.561413203736756017e-02 6.993079044125640765e+06 -1.171999534812844468e+00 2.947051702551809536e+18 7.636529015023700850e-01 3.561413203736756017e-02 1.006797144054948911e+07 -1.381331274987467994e+00 2.947051702551809536e+18 9.354072113693038260e-01 3.561413203736756017e-02 1.472726442438849993e+07 -1.628051918606947979e+00 2.947051702551809536e+18 1.160354380004705810e+00 3.561413203736756017e-02 2.207169246389470622e+07 -1.918839526531252559e+00 2.947051702551809536e+18 1.461330212598492606e+00 3.561413203736756017e-02 3.435677057565668970e+07 -2.261564933217340645e+00 2.947051702551809536e+18 1.870174751729132279e+00 3.561413203736756017e-02 5.727912843498305231e+07 -2.665504788930584290e+00 2.947051702551809536e+18 2.423634343579867956e+00 3.561413203736756017e-02 1.117333786598163247e+08 -3.141592653589792672e+00 2.947051702551809536e+18 3.141592653589792228e+00 3.561413203736756017e-02 1.070549288813668823e+10 -1.000000000000000021e-03 5.963623316594661376e+18 5.848108362105428190e-04 2.562931616892390185e-02 1.808896962451601453e+01 -1.178610770701415088e-03 5.963623316594661376e+18 6.892643718037766562e-04 2.562931616892390185e-02 2.514215769194277073e+01 -1.389123348813385214e-03 5.963623316594661376e+18 8.123744475433908405e-04 2.562931616892390185e-02 3.565797768035523774e+01 -1.637235740744274635e-03 5.963623316594661376e+18 9.574733311428285706e-04 2.562931616892390185e-02 4.855518927973696464e+01 -1.929663678218512032e-03 5.963623316594661376e+18 1.128488474763508862e-03 2.562931616892390185e-02 6.771936269749492965e+01 -2.274322394979648009e-03 5.963623316594661376e+18 1.330048824900297065e-03 2.562931616892390185e-02 9.447603734006605691e+01 -2.680540870770453925e-03 5.963623316594661376e+18 1.567610122608603055e-03 2.562931616892390185e-02 1.316855229035883497e+02 -3.159314341595407215e-03 5.963623316594661376e+18 1.847602587387092146e-03 2.562931616892390185e-02 1.823371901352187194e+02 -3.723601911035797143e-03 5.963623316594661376e+18 2.177604985026544357e-03 2.562931616892390185e-02 2.577062559424925894e+02 -4.388677318151167420e-03 5.963623316594661376e+18 2.566549795730461991e-03 2.562931616892390185e-02 3.599547947978724096e+02 -5.172542356305966961e-03 5.963623316594661376e+18 3.024965043646286791e-03 2.562931616892390185e-02 4.909035304679702563e+02 -6.096414133051489617e-03 5.963623316594661376e+18 3.565259346237049758e-03 2.562931616892390185e-02 6.903084807395305234e+02 -7.185299359870824139e-03 5.963623316594661376e+18 4.202057919897436364e-03 2.562931616892390185e-02 9.474297488276215518e+02 -8.468671216257736209e-03 5.963623316594661376e+18 4.952598670776867107e-03 2.562931616892390185e-02 1.328335600235073343e+03 -9.981267109010422481e-03 5.963623316594661376e+18 5.837199147909410794e-03 2.562931616892390185e-02 1.830526333054364159e+03 -1.176402891992746509e-02 5.963623316594661376e+18 6.879807089481998136e-03 2.562931616892390185e-02 2.527164522413005670e+03 -1.386521119186945317e-02 5.963623316594661376e+18 8.108649614131425293e-03 2.562931616892390185e-02 3.582803088070978902e+03 -1.634168724878715118e-02 5.963623316594661376e+18 9.556998874861699286e-03 2.562931616892390185e-02 4.984097092700107169e+03 -1.926048860285451206e-02 5.963623316594661376e+18 1.126407530210241266e-02 2.562931616892390185e-02 6.931375898532405699e+03 -2.270061931629619237e-02 5.963623316594661376e+18 1.327611354299727299e-02 2.562931616892390185e-02 9.630507481846218070e+03 -2.675519442777928719e-02 5.963623316594661376e+18 1.564762102757222967e-02 2.562931616892390185e-02 1.335915739578011380e+04 -3.153396032479117289e-02 5.963623316594661376e+18 1.844286499370596799e-02 2.562931616892390185e-02 1.861323361286902218e+04 -3.716626528166998983e-02 5.963623316594661376e+18 2.173763111211261118e-02 2.562931616892390185e-02 2.590502283974479360e+04 -4.380456056772231294e-02 5.963623316594661376e+18 2.562130604703760292e-02 2.562931616892390185e-02 3.601361175182483566e+04 -5.162852689096004283e-02 5.963623316594661376e+18 3.019934807447360869e-02 2.562931616892390185e-02 4.993575009780737309e+04 -6.084993786913318187e-02 5.963623316594661376e+18 3.559622532597184197e-02 2.562931616892390185e-02 6.949288031133783807e+04 -7.171839216907228975e-02 5.963623316594661376e+18 4.195892197876172763e-02 2.562931616892390185e-02 9.672724647112478851e+04 -8.452806946785666742e-02 5.963623316594661376e+18 4.946114134651505290e-02 2.562931616892390185e-02 1.342561577303469821e+05 -9.962569310141336509e-02 5.963623316594661376e+18 5.830837541526198708e-02 2.562931616892390185e-02 1.867274839033655007e+05 -1.174199149279194637e-01 5.963623316594661376e+18 6.874406942924568553e-02 2.562931616892390185e-02 2.590895962096234143e+05 -1.383923764288897684e-01 5.963623316594661376e+18 8.105719815106621207e-02 2.562931616892390185e-02 3.600511018172408221e+05 -1.631107454420542835e-01 5.963623316594661376e+18 9.559170439410183406e-02 2.562931616892390185e-02 5.009483927482361323e+05 -1.922440813951419580e-01 5.963623316594661376e+18 1.127584580288199245e-01 2.562931616892390185e-02 6.988811837368826382e+05 -2.265809449359138250e-01 5.963623316594661376e+18 1.330507201706672971e-01 2.562931616892390185e-02 9.721196274269828573e+05 -2.670507421371726142e-01 5.963623316594661376e+18 1.570646170334046854e-01 2.562931616892390185e-02 1.351898999016937334e+06 -3.147488810066778608e-01 5.963623316594661376e+18 1.855269636399572986e-01 2.562931616892390185e-02 1.882424215005298145e+06 -3.709664212206886247e-01 5.963623316594661376e+18 2.193341323506002305e-01 2.562931616892390185e-02 2.628721858814263716e+06 -4.372250196192620786e-01 5.963623316594661376e+18 2.596078725547292798e-01 2.562931616892390185e-02 3.672793447698189411e+06 -5.153181173433998286e-01 5.963623316594661376e+18 3.077776178777429927e-01 2.562931616892390185e-02 5.134865717599365860e+06 -6.073594834385067642e-01 5.963623316594661376e+18 3.657047991329422376e-01 2.562931616892390185e-02 7.202085477217693813e+06 -7.158404288682718164e-01 5.963623316594661376e+18 4.358745440349763856e-01 2.562931616892390185e-02 1.015874825961713493e+07 -8.436972395676662906e-01 5.963623316594661376e+18 5.216962947992480615e-01 2.562931616892390185e-02 1.437290961257986352e+07 -9.943906537655036182e-01 5.963623316594661376e+18 6.279806875502447205e-01 2.562931616892390185e-02 2.053769394508497790e+07 -1.171999534812844468e+00 5.963623316594661376e+18 7.616985562611326976e-01 2.562931616892390185e-02 2.954069098675895855e+07 -1.381331274987467994e+00 5.963623316594661376e+18 9.331743007609765161e-01 2.562931616892390185e-02 4.326200596047791094e+07 -1.628051918606947979e+00 5.963623316594661376e+18 1.157875599946984524e+00 2.562931616892390185e-02 6.477103185373601317e+07 -1.918839526531252559e+00 5.963623316594661376e+18 1.458735474085112616e+00 2.562931616892390185e-02 1.009131424341617525e+08 -2.261564933217340645e+00 5.963623316594661376e+18 1.867785365146044541e+00 2.562931616892390185e-02 1.679699069392398596e+08 -2.665504788930584290e+00 5.963623316594661376e+18 2.422057704517774912e+00 2.562931616892390185e-02 3.259063861103674173e+08 -3.141592653589792672e+00 5.963623316594661376e+18 3.141592653589792228e+00 2.562931616892390185e-02 3.083232607669961929e+10 -1.000000000000000021e-03 1.206792640639336243e+19 5.958260506261893680e-04 1.845350306317413216e-02 5.239613199978743552e+01 -1.178610770701415088e-03 1.206792640639336243e+19 7.022470218310423182e-04 1.845350306317413216e-02 7.538037608853819904e+01 -1.389123348813385214e-03 1.206792640639336243e+19 8.276759381663251636e-04 1.845350306317413216e-02 1.044444158153914088e+02 -1.637235740744274635e-03 1.206792640639336243e+19 9.755078319286999977e-04 1.845350306317413216e-02 1.426105488360956883e+02 -1.929663678218512032e-03 1.206792640639336243e+19 1.149744130209391516e-03 1.845350306317413216e-02 2.015033292534731402e+02 -2.274322394979648009e-03 1.206792640639336243e+19 1.355100967014777422e-03 1.845350306317413216e-02 2.736735979312211953e+02 -2.680540870770453925e-03 1.206792640639336243e+19 1.597136843315255387e-03 1.845350306317413216e-02 3.776805790899173303e+02 -3.159314341595407215e-03 1.206792640639336243e+19 1.882403092183466096e-03 1.845350306317413216e-02 5.437674863375285668e+02 -3.723601911035797143e-03 1.206792640639336243e+19 2.218621224569426037e-03 1.845350306317413216e-02 7.446808937554127397e+02 -4.388677318151167420e-03 1.206792640639336243e+19 2.614891960670656570e-03 1.845350306317413216e-02 1.036943627168510830e+03 -5.172542356305966961e-03 1.206792640639336243e+19 3.081941612485819375e-03 1.845350306317413216e-02 1.422189501967904107e+03 -6.096414133051489617e-03 1.206792640639336243e+19 3.632412499026361694e-03 1.845350306317413216e-02 2.004603817611225622e+03 -7.185299359870824139e-03 1.206792640639336243e+19 4.281205275512436383e-03 1.845350306317413216e-02 2.790207783101761379e+03 -8.468671216257736209e-03 1.206792640639336243e+19 5.045882476159665314e-03 1.845350306317413216e-02 3.916788660139928197e+03 -9.981267109010422481e-03 1.206792640639336243e+19 5.947144248512593011e-03 1.845350306317413216e-02 5.426728438609055047e+03 -1.176402891992746509e-02 1.206792640639336243e+19 7.009389246450458549e-03 1.845350306317413216e-02 7.499359765592801523e+03 -1.386521119186945317e-02 1.206792640639336243e+19 8.261376011539253023e-03 1.845350306317413216e-02 1.046810223668173057e+04 -1.634168724878715118e-02 1.206792640639336243e+19 9.737002986548717529e-03 1.845350306317413216e-02 1.455973467116331267e+04 -1.926048860285451206e-02 1.206792640639336243e+19 1.147622867023131293e-02 1.845350306317413216e-02 2.021096706723772877e+04 -2.270061931629619237e-02 1.206792640639336243e+19 1.352615746821879059e-02 1.845350306317413216e-02 2.818982096661461765e+04 -2.675519442777928719e-02 1.206792640639336243e+19 1.594232169328146584e-02 1.845350306317413216e-02 3.885370144951377733e+04 -3.153396032479117289e-02 1.206792640639336243e+19 1.879019615437760651e-02 1.845350306317413216e-02 5.465389206139231101e+04 -3.716626528166998983e-02 1.206792640639336243e+19 2.214698917789595031e-02 1.845350306317413216e-02 7.578179578985509579e+04 -4.380456056772231294e-02 1.206792640639336243e+19 2.610376320175131909e-02 1.845350306317413216e-02 1.054774189707657933e+05 -5.162852689096004283e-02 1.206792640639336243e+19 3.076794997571811671e-02 1.845350306317413216e-02 1.463473328652176715e+05 -6.084993786913318187e-02 1.206792640639336243e+19 3.626634094948807951e-02 1.845350306317413216e-02 2.039354451165326755e+05 -7.171839216907228975e-02 1.206792640639336243e+19 4.274865426339161112e-02 1.845350306317413216e-02 2.833676641500015976e+05 -8.452806946785666742e-02 1.206792640639336243e+19 5.039180842096366991e-02 1.845350306317413216e-02 3.930222891327099642e+05 -9.962569310141336509e-02 1.206792640639336243e+19 5.940507324197707301e-02 1.845350306317413216e-02 5.467074455720958067e+05 -1.174199149279194637e-01 1.206792640639336243e+19 7.003632749432060767e-02 1.845350306317413216e-02 7.624795776644857833e+05 -1.383923764288897684e-01 1.206792640639336243e+19 8.257974002036919114e-02 1.845350306317413216e-02 1.059095652513317764e+06 -1.631107454420542835e-01 1.206792640639336243e+19 9.738532394210096255e-02 1.845350306317413216e-02 1.470542770263220649e+06 -1.922440813951419580e-01 1.206792640639336243e+19 1.148710188750713956e-01 1.845350306317413216e-02 2.048516210051955190e+06 -2.265809449359138250e-01 1.206792640639336243e+19 1.355382784941842889e-01 1.845350306317413216e-02 2.850888795479905792e+06 -2.670507421371726142e-01 1.206792640639336243e+19 1.599926532623131281e-01 1.845350306317413216e-02 3.961652867737831548e+06 -3.147488810066778608e-01 1.206792640639336243e+19 1.889716808453529850e-01 1.845350306317413216e-02 5.526767167418388650e+06 -3.709664212206886247e-01 1.206792640639336243e+19 2.233837282948800129e-01 1.845350306317413216e-02 7.701353263744064607e+06 -4.372250196192620786e-01 1.206792640639336243e+19 2.643635995550986939e-01 1.845350306317413216e-02 1.075293501145782322e+07 -5.153181173433998286e-01 1.206792640639336243e+19 3.133542749315474385e-01 1.845350306317413216e-02 1.506954968997832015e+07 -6.073594834385067642e-01 1.206792640639336243e+19 3.722299869760963831e-01 1.845350306317413216e-02 2.110599131619774178e+07 -7.158404288682718164e-01 1.206792640639336243e+19 4.434854242984478945e-01 1.845350306317413216e-02 2.976412219196494296e+07 -8.436972395676662906e-01 1.206792640639336243e+19 5.305314664999776220e-01 1.845350306317413216e-02 4.214640718871015310e+07 -9.943906537655036182e-01 1.206792640639336243e+19 6.381626014479944153e-01 1.845350306317413216e-02 6.009290275184228271e+07 -1.171999534812844468e+00 1.206792640639336243e+19 7.732976009223357927e-01 1.845350306317413216e-02 8.664235457845906913e+07 -1.381331274987467994e+00 1.206792640639336243e+19 9.461374901891264066e-01 1.845350306317413216e-02 1.267068558607781529e+08 -1.628051918606947979e+00 1.206792640639336243e+19 1.171888491218421979e+00 1.845350306317413216e-02 1.897897309784878492e+08 -1.918839526531252559e+00 1.206792640639336243e+19 1.472968674221885932e+00 1.845350306317413216e-02 2.951351540130785704e+08 -2.261564933217340645e+00 1.206792640639336243e+19 1.880494889345477816e+00 1.845350306317413216e-02 4.908627846619480252e+08 -2.665504788930584290e+00 1.206792640639336243e+19 2.430231254604734659e+00 1.845350306317413216e-02 9.536964265373191833e+08 -3.141592653589792672e+00 1.206792640639336243e+19 3.141592653589792228e+00 1.845350306317413216e-02 8.895630169272341919e+10 -1.000000000000000021e-03 2.442053094548654899e+19 5.897794270570274559e-04 1.299438459160889500e-02 1.522541594930410724e+02 -1.178610770701415088e-03 2.442053094548654899e+19 6.951204063537431066e-04 1.299438459160889500e-02 2.154320792226500316e+02 -1.389123348813385214e-03 2.442053094548654899e+19 8.192764327134290743e-04 1.299438459160889500e-02 2.965499963243851198e+02 -1.637235740744274635e-03 2.442053094548654899e+19 9.656080848364674563e-04 1.299438459160889500e-02 4.145170507498251027e+02 -1.929663678218512032e-03 2.442053094548654899e+19 1.138076182482986205e-03 1.299438459160889500e-02 5.824233331509394702e+02 -2.274322394979648009e-03 2.442053094548654899e+19 1.341348999501079144e-03 1.299438459160889500e-02 8.029789164263015664e+02 -2.680540870770453925e-03 2.442053094548654899e+19 1.580928628493290721e-03 1.299438459160889500e-02 1.105168629218124352e+03 -3.159314341595407215e-03 2.442053094548654899e+19 1.863299919235500771e-03 1.299438459160889500e-02 1.558981872920910064e+03 -3.723601911035797143e-03 2.442053094548654899e+19 2.196106025097066539e-03 1.299438459160889500e-02 2.195820146766577636e+03 -4.388677318151167420e-03 2.442053094548654899e+19 2.588355313758333633e-03 1.299438459160889500e-02 3.026447698034415225e+03 -5.172542356305966961e-03 2.442053094548654899e+19 3.050665250481965178e-03 1.299438459160889500e-02 4.188585027836898007e+03 -6.096414133051489617e-03 2.442053094548654899e+19 3.595549867875562616e-03 1.299438459160889500e-02 5.876905731700101569e+03 -7.185299359870824139e-03 2.442053094548654899e+19 4.237758623929504739e-03 1.299438459160889500e-02 8.116850678928723937e+03 -8.468671216257736209e-03 2.442053094548654899e+19 4.994675854281373575e-03 1.299438459160889500e-02 1.139507932565460214e+04 -9.981267109010422481e-03 2.442053094548654899e+19 5.886791686434028267e-03 1.299438459160889500e-02 1.583037383651594610e+04 -1.176402891992746509e-02 2.442053094548654899e+19 6.938257253388769794e-03 1.299438459160889500e-02 2.181378483358324593e+04 -1.386521119186945317e-02 2.442053094548654899e+19 8.177539383957564689e-03 1.299438459160889500e-02 3.026553917681572057e+04 -1.634168724878715118e-02 2.442053094548654899e+19 9.638192734618283158e-03 1.299438459160889500e-02 4.247799743432887772e+04 -1.926048860285451206e-02 2.442053094548654899e+19 1.135977066220119833e-02 1.299438459160889500e-02 5.935863301365317602e+04 -2.270061931629619237e-02 2.442053094548654899e+19 1.338890014679615902e-02 1.299438459160889500e-02 8.206728791342917248e+04 -2.675519442777928719e-02 2.442053094548654899e+19 1.578055093179184590e-02 1.299438459160889500e-02 1.142097400778728479e+05 -3.153396032479117289e-02 2.442053094548654899e+19 1.859953498787318693e-02 1.299438459160889500e-02 1.588468734696647734e+05 -3.716626528166998983e-02 2.442053094548654899e+19 2.192227976036000350e-02 1.299438459160889500e-02 2.216135042916379170e+05 -4.380456056772231294e-02 2.442053094548654899e+19 2.583892790102973805e-02 1.299438459160889500e-02 3.070384571505270433e+05 -5.162852689096004283e-02 2.442053094548654899e+19 3.045582802126061209e-02 1.299438459160889500e-02 4.266705408810268273e+05 -6.084993786913318187e-02 2.442053094548654899e+19 3.589849649797693248e-02 1.299438459160889500e-02 5.949764070519354427e+05 -7.171839216907228975e-02 2.442053094548654899e+19 4.231515115695948237e-02 1.299438459160889500e-02 8.242802588889828185e+05 -8.452806946785666742e-02 2.442053094548654899e+19 4.988094631202733692e-02 1.299438459160889500e-02 1.149098036460899282e+06 -9.962569310141336509e-02 2.442053094548654899e+19 5.880307920746880718e-02 1.299438459160889500e-02 1.591866610137372743e+06 -1.174199149279194637e-01 2.442053094548654899e+19 6.932699687110253917e-02 1.299438459160889500e-02 2.218382658579459414e+06 -1.383923764288897684e-01 2.442053094548654899e+19 8.174402016118065273e-02 1.299438459160889500e-02 3.078439086339991540e+06 -1.631107454420542835e-01 2.442053094548654899e+19 9.640083526554153737e-02 1.299438459160889500e-02 4.280348603733778931e+06 -1.922440813951419580e-01 2.442053094548654899e+19 1.137115095690206940e-01 1.299438459160889500e-02 5.956741420680917799e+06 -2.265809449359138250e-01 2.442053094548654899e+19 1.341730135800119628e-01 1.299438459160889500e-02 8.295850699963250197e+06 -2.670507421371726142e-01 2.442053094548654899e+19 1.583857472675524181e-01 1.299438459160889500e-02 1.154434128111779876e+07 -3.147488810066778608e-01 2.442053094548654899e+19 1.870813992845024309e-01 1.299438459160889500e-02 1.608701569734293967e+07 -3.709664212206886247e-01 2.442053094548654899e+19 2.211618122639251172e-01 1.299438459160889500e-02 2.248020346108094603e+07 -4.372250196192620786e-01 2.442053094548654899e+19 2.617547204356426849e-01 1.299438459160889500e-02 3.137255431590631977e+07 -5.153181173433998286e-01 2.442053094548654899e+19 3.102958218308026761e-01 1.299438459160889500e-02 4.388737044153600931e+07 -6.073594834385067642e-01 2.442053094548654899e+19 3.686525648507881781e-01 1.299438459160889500e-02 6.152817913965699822e+07 -7.158404288682718164e-01 2.442053094548654899e+19 4.393147670441738817e-01 1.299438459160889500e-02 8.681228626710577309e+07 -8.436972395676662906e-01 2.442053094548654899e+19 5.256930873274546778e-01 1.299438459160889500e-02 1.227200157857191861e+08 -9.943906537655036182e-01 2.442053094548654899e+19 6.325916910836125728e-01 1.299438459160889500e-02 1.751884755980191529e+08 -1.171999534812844468e+00 2.442053094548654899e+19 7.669589792661206662e-01 1.299438459160889500e-02 2.520361694008624256e+08 -1.381331274987467994e+00 2.442053094548654899e+19 9.390647501611016912e-01 1.299438459160889500e-02 3.685330382474097610e+08 -1.628051918606947979e+00 2.442053094548654899e+19 1.164258894571713387e+00 1.299438459160889500e-02 5.514176504502586126e+08 -1.918839526531252559e+00 2.442053094548654899e+19 1.465238968423032029e+00 1.299438459160889500e-02 8.574104653205330372e+08 -2.261564933217340645e+00 2.442053094548654899e+19 1.873612550797289833e+00 1.299438459160889500e-02 1.423482079805612564e+09 -2.665504788930584290e+00 2.442053094548654899e+19 2.425816911490010330e+00 1.299438459160889500e-02 2.755406090003370285e+09 -3.141592653589792672e+00 2.442053094548654899e+19 3.141592653589792228e+00 1.299438459160889500e-02 2.561515124966566467e+11 -1.000000000000000021e-03 4.941713361323818189e+19 5.951799251507874011e-04 9.173172958610588748e-03 4.526125703901668658e+02 -1.178610770701415088e-03 4.941713361323818189e+19 7.014854914311248078e-04 9.173172958610588748e-03 6.236478463927203393e+02 -1.389123348813385214e-03 4.941713361323818189e+19 8.267783903078124554e-04 9.173172958610588748e-03 8.840963058871018347e+02 -1.637235740744274635e-03 4.941713361323818189e+19 9.744499724750313365e-04 9.173172958610588748e-03 1.226477992124294815e+03 -1.929663678218512032e-03 4.941713361323818189e+19 1.148497325859213587e-03 9.173172958610588748e-03 1.689582476084744258e+03 -2.274322394979648009e-03 4.941713361323818189e+19 1.353631470299278142e-03 9.173172958610588748e-03 2.345478304737092458e+03 -2.680540870770453925e-03 4.941713361323818189e+19 1.595404879183718585e-03 9.173172958610588748e-03 3.205537936065313716e+03 -3.159314341595407215e-03 4.941713361323818189e+19 1.880361781462889723e-03 9.173172958610588748e-03 4.510760229563375105e+03 -3.723601911035797143e-03 4.941713361323818189e+19 2.216215315174718033e-03 9.173172958610588748e-03 6.354342669263692187e+03 -4.388677318151167420e-03 4.941713361323818189e+19 2.612056332248167533e-03 9.173172958610588748e-03 8.778586529426840571e+03 -5.172542356305966961e-03 4.941713361323818189e+19 3.078599514056647515e-03 9.173172958610588748e-03 1.231821269974779716e+04 -6.096414133051489617e-03 4.941713361323818189e+19 3.628473471995469300e-03 9.173172958610588748e-03 1.702344112086431051e+04 -7.185299359870824139e-03 4.941713361323818189e+19 4.276562705936804917e-03 9.173172958610588748e-03 2.372943471185993258e+04 -8.468671216257736209e-03 4.941713361323818189e+19 5.040410710204997619e-03 9.173172958610588748e-03 3.286590025125374086e+04 -9.981267109010422481e-03 4.941713361323818189e+19 5.940695193321357363e-03 9.173172958610588748e-03 4.563254898319295171e+04 -1.176402891992746509e-02 4.941713361323818189e+19 7.001788364906450651e-03 9.173172958610588748e-03 6.295790962376397511e+04 -1.386521119186945317e-02 4.941713361323818189e+19 8.252417603320816655e-03 9.173172958610588748e-03 8.743307048825494712e+04 -1.634168724878715118e-02 4.941713361323818189e+19 9.726444629056222799e-03 9.173172958610588748e-03 1.235550232930965140e+05 -1.926048860285451206e-02 4.941713361323818189e+19 1.146378467107229092e-02 9.173172958610588748e-03 1.708313140332499461e+05 -2.270061931629619237e-02 4.941713361323818189e+19 1.351149115555117138e-02 9.173172958610588748e-03 2.376295476267099148e+05 -2.675519442777928719e-02 4.941713361323818189e+19 1.592503634110459254e-02 9.173172958610588748e-03 3.311190378716710256e+05 -3.153396032479117289e-02 4.941713361323818189e+19 1.876982430658814122e-02 9.173172958610588748e-03 4.592345455530649051e+05 -3.716626528166998983e-02 4.941713361323818189e+19 2.212298009760169798e-02 9.173172958610588748e-03 6.359816166527662426e+05 -4.380456056772231294e-02 4.941713361323818189e+19 2.607546813144125467e-02 9.173172958610588748e-03 8.886716011485924246e+05 -5.162852689096004283e-02 4.941713361323818189e+19 3.073460485075372658e-02 9.173172958610588748e-03 1.235783177852367284e+06 -6.084993786913318187e-02 4.941713361323818189e+19 3.622704616483324314e-02 9.173172958610588748e-03 1.716147093989696819e+06 -7.171839216907228975e-02 4.941713361323818189e+19 4.270235105691010113e-02 9.173172958610588748e-03 2.387756169066073373e+06 -8.452806946785666742e-02 4.941713361323818189e+19 5.033725141566297578e-02 9.173172958610588748e-03 3.323362097572140396e+06 -9.962569310141336509e-02 4.941713361323818189e+19 5.934079870112590055e-02 9.173172958610588748e-03 4.608203474361201748e+06 -1.174199149279194637e-01 4.941713361323818189e+19 6.996061691617344591e-02 9.173172958610588748e-03 6.412082727105630562e+06 -1.383923764288897684e-01 4.941713361323818189e+19 8.249057888163785490e-02 9.173172958610588748e-03 8.933014549940261990e+06 -1.631107454420542835e-01 4.941713361323818189e+19 9.728035577172371162e-02 9.173172958610588748e-03 1.239094731846911274e+07 -1.922440813951419580e-01 4.941713361323818189e+19 1.147474955348338349e-01 9.173172958610588748e-03 1.725927287966053560e+07 -2.265809449359138250e-01 4.941713361323818189e+19 1.353930087773415891e-01 9.173172958610588748e-03 2.398249444640212134e+07 -2.670507421371726142e-01 4.941713361323818189e+19 1.598219540479476619e-01 9.173172958610588748e-03 3.345311909985775128e+07 -3.147488810066778608e-01 4.941713361323818189e+19 1.887713386319303799e-01 9.173172958610588748e-03 4.661738999659864604e+07 -3.709664212206886247e-01 4.941713361323818189e+19 2.231489848834379286e-01 9.173172958610588748e-03 6.490468973884405941e+07 -4.372250196192620786e-01 4.941713361323818189e+19 2.640891853715629511e-01 9.173172958610588748e-03 9.084369213169293106e+07 -5.153181173433998286e-01 4.941713361323818189e+19 3.130345291184104539e-01 9.173172958610588748e-03 1.269890795789636970e+08 -6.073594834385067642e-01 4.941713361323818189e+19 3.718591280799962706e-01 9.173172958610588748e-03 1.781407292532000244e+08 -7.158404288682718164e-01 4.941713361323818189e+19 4.430580733344930966e-01 9.173172958610588748e-03 2.509118345540984571e+08 -8.436972395676662906e-01 4.941713361323818189e+19 5.300435800169751577e-01 9.173172958610588748e-03 3.553900501407248974e+08 -9.943906537655036182e-01 4.941713361323818189e+19 6.376130480530753930e-01 9.173172958610588748e-03 5.061455641361687183e+08 -1.171999534812844468e+00 4.941713361323818189e+19 7.726907006545321588e-01 9.173172958610588748e-03 7.295846722797877789e+08 -1.381331274987467994e+00 4.941713361323818189e+19 9.454868841302483951e-01 9.173172958610588748e-03 1.065400026353268743e+09 -1.628051918606947979e+00 4.941713361323818189e+19 1.171222568877180459e+00 9.173172958610588748e-03 1.594234547452775240e+09 -1.918839526531252559e+00 4.941713361323818189e+19 1.472337080399835685e+00 9.173172958610588748e-03 2.475481212230610847e+09 -2.261564933217340645e+00 4.941713361323818189e+19 1.879973628836124400e+00 9.173172958610588748e-03 4.113360237685419083e+09 -2.665504788930584290e+00 4.941713361323818189e+19 2.429919922976784719e+00 9.173172958610588748e-03 7.930910341122107506e+09 -3.141592653589792672e+00 4.941713361323818189e+19 3.141592653589792228e+00 9.173172958610588748e-03 7.380277724406964111e+11 -1.000000000000000021e-03 1.000000000000000000e+20 5.992506186576884025e-04 6.465452278349664503e-03 1.274834702432611493e+03 -1.178610770701415088e-03 1.000000000000000000e+20 7.062832545313437425e-04 6.465452278349664503e-03 1.801575739386250689e+03 -1.389123348813385214e-03 1.000000000000000000e+20 8.324330853908799583e-04 6.465452278349664503e-03 2.457223863814131619e+03 -1.637235740744274635e-03 1.000000000000000000e+20 9.811146567067865511e-04 6.465452278349664503e-03 3.498086233834763334e+03 -1.929663678218512032e-03 1.000000000000000000e+20 1.156352393989892391e-03 6.465452278349664503e-03 4.894172361928172904e+03 -2.274322394979648009e-03 1.000000000000000000e+20 1.362889537403404053e-03 6.465452278349664503e-03 6.757027015257699532e+03 -2.680540870770453925e-03 1.000000000000000000e+20 1.606316535479898914e-03 6.465452278349664503e-03 9.540762028864794047e+03 -3.159314341595407215e-03 1.000000000000000000e+20 1.893222374957240130e-03 6.465452278349664503e-03 1.324090802173508018e+04 -3.723601911035797143e-03 1.000000000000000000e+20 2.231372945676959180e-03 6.465452278349664503e-03 1.842509261174569110e+04 -4.388677318151167420e-03 1.000000000000000000e+20 2.629921273073297823e-03 6.465452278349664503e-03 2.569579337870419113e+04 -5.172542356305966961e-03 1.000000000000000000e+20 3.099655316328226839e-03 6.465452278349664503e-03 3.492279324806841760e+04 -6.096414133051489617e-03 1.000000000000000000e+20 3.653290051943772210e-03 6.465452278349664503e-03 4.909742835281845328e+04 -7.185299359870824139e-03 1.000000000000000000e+20 4.305811769150945725e-03 6.465452278349664503e-03 6.780296114819098148e+04 -8.468671216257736209e-03 1.000000000000000000e+20 5.074883929875556414e-03 6.465452278349664503e-03 9.479615011814008176e+04 -9.981267109010422481e-03 1.000000000000000000e+20 5.981325633762325615e-03 6.465452278349664503e-03 1.317227931788941496e+05 -1.176402891992746509e-02 1.000000000000000000e+20 7.049675729010148294e-03 6.465452278349664503e-03 1.831425923402039043e+05 -1.386521119186945317e-02 1.000000000000000000e+20 8.308857985323360451e-03 6.465452278349664503e-03 2.551131982234765019e+05 -1.634168724878715118e-02 1.000000000000000000e+20 9.792965574661152695e-03 6.465452278349664503e-03 3.562169262050414691e+05 -1.926048860285451206e-02 1.000000000000000000e+20 1.154218648854539973e-02 6.465452278349664503e-03 4.949778448375759181e+05 -2.270061931629619237e-02 1.000000000000000000e+20 1.360389558717305276e-02 6.465452278349664503e-03 6.855229342539332574e+05 -2.675519442777928719e-02 1.000000000000000000e+20 1.603394389798544484e-02 6.465452278349664503e-03 9.550212086281802040e+05 -3.153396032479117289e-02 1.000000000000000000e+20 1.889818179515852237e-02 6.465452278349664503e-03 1.325379500127931125e+06 -3.716626528166998983e-02 1.000000000000000000e+20 2.227426012690592386e-02 6.465452278349664503e-03 1.844576134829228278e+06 -4.380456056772231294e-02 1.000000000000000000e+20 2.625376268998660598e-02 6.465452278349664503e-03 2.561250071513481904e+06 -5.162852689096004283e-02 1.000000000000000000e+20 3.094473538206147026e-02 6.465452278349664503e-03 3.560607429082603194e+06 -6.084993786913318187e-02 1.000000000000000000e+20 3.647469295109076470e-02 6.465452278349664503e-03 4.956807067958205938e+06 -7.171839216907228975e-02 1.000000000000000000e+20 4.299420513387110926e-02 6.465452278349664503e-03 6.891216015881760977e+06 -8.452806946785666742e-02 1.000000000000000000e+20 5.068119267290731311e-02 6.465452278349664503e-03 9.578448158291805536e+06 -9.962569310141336509e-02 1.000000000000000000e+20 5.974610423618682137e-02 6.465452278349664503e-03 1.330236972728035413e+07 -1.174199149279194637e-01 1.000000000000000000e+20 7.043820404461871576e-02 6.465452278349664503e-03 1.851855010322263092e+07 -1.383923764288897684e-01 1.000000000000000000e+20 8.305328734102687682e-02 6.465452278349664503e-03 2.580066907811262459e+07 -1.631107454420542835e-01 1.000000000000000000e+20 9.794327338746303124e-02 6.465452278349664503e-03 3.575189520059912652e+07 -1.922440813951419580e-01 1.000000000000000000e+20 1.155283305740574529e-01 6.465452278349664503e-03 4.988222512045368552e+07 -2.265809449359138250e-01 1.000000000000000000e+20 1.363125097589484025e-01 6.465452278349664503e-03 6.930079945160070062e+07 -2.670507421371726142e-01 1.000000000000000000e+20 1.609043727638023169e-01 6.465452278349664503e-03 9.639568133949288726e+07 -3.147488810066778608e-01 1.000000000000000000e+20 1.900449225285786581e-01 6.465452278349664503e-03 1.344784121073672473e+08 -3.709664212206886247e-01 1.000000000000000000e+20 2.246464670509029649e-01 6.465452278349664503e-03 1.873797281616093218e+08 -4.372250196192620786e-01 1.000000000000000000e+20 2.658482073109256216e-01 6.465452278349664503e-03 2.617479789491943717e+08 -5.153181173433998286e-01 1.000000000000000000e+20 3.150978701579936758e-01 6.465452278349664503e-03 3.668419625608018041e+08 -6.073594834385067642e-01 1.000000000000000000e+20 3.742745004013645627e-01 6.465452278349664503e-03 5.129824400731149912e+08 -7.158404288682718164e-01 1.000000000000000000e+20 4.458770226575035633e-01 6.465452278349664503e-03 7.234759014076939821e+08 -8.436972395676662906e-01 1.000000000000000000e+20 5.333186075225341272e-01 6.465452278349664503e-03 1.023722948306712627e+09 -9.943906537655036182e-01 1.000000000000000000e+20 6.413912342484249240e-01 6.465452278349664503e-03 1.459508057506033182e+09 -1.171999534812844468e+00 1.000000000000000000e+20 7.770004650742848851e-01 6.465452278349664503e-03 2.102878711815814734e+09 -1.381331274987467994e+00 1.000000000000000000e+20 9.503113468403205921e-01 6.465452278349664503e-03 3.073260002576516628e+09 -1.628051918606947979e+00 1.000000000000000000e+20 1.176447456286993987e+00 6.465452278349664503e-03 4.598755234545724869e+09 -1.918839526531252559e+00 1.000000000000000000e+20 1.477654504458526530e+00 6.465452278349664503e-03 7.139612359213465691e+09 -2.261564933217340645e+00 1.000000000000000000e+20 1.884730141946913573e+00 6.465452278349664503e-03 1.185345579774376297e+10 -2.665504788930584290e+00 1.000000000000000000e+20 2.432982524793540602e+00 6.465452278349664503e-03 2.289521704602090836e+10 -3.141592653589792672e+00 1.000000000000000000e+20 3.141592653589792228e+00 6.465452278349664503e-03 2.121570877674331787e+12 diff --git a/Documentation/RKcompare/RODASPR2.dat b/Documentation/RKcompare/RODASPR2.dat deleted file mode 100644 index ef9c519..0000000 --- a/Documentation/RKcompare/RODASPR2.dat +++ /dev/null @@ -1,2500 +0,0 @@ -1.000000000000000021e-03 1.000000000000000000e+05 9.424881664333701302e-04 1.340632022891379904e+01 8.527478040651646274e-16 -1.178610770701415088e-03 1.000000000000000000e+05 1.110826708417543248e-03 1.340632022891379904e+01 1.187178071617751421e-15 -1.389123348813385214e-03 1.000000000000000000e+05 1.309232329800997076e-03 1.340632022891379904e+01 1.651498787083188712e-15 -1.637235740744274635e-03 1.000000000000000000e+05 1.543075336513693085e-03 1.340632022891379904e+01 2.286268407866095223e-15 -1.929663678218512032e-03 1.000000000000000000e+05 1.818685230053572769e-03 1.340632022891379904e+01 3.174240180072585903e-15 -2.274322394979648009e-03 1.000000000000000000e+05 2.143522030838879763e-03 1.340632022891379904e+01 4.416455637832461069e-15 -2.680540870770453925e-03 1.000000000000000000e+05 2.526378202197777315e-03 1.340632022891379904e+01 6.160515029833780966e-15 -3.159314341595407215e-03 1.000000000000000000e+05 2.977616640880049754e-03 1.340632022891379904e+01 8.519897045212684786e-15 -3.723601911035797143e-03 1.000000000000000000e+05 3.509451176420668676e-03 1.340632022891379904e+01 1.185751913447793225e-14 -4.388677318151167420e-03 1.000000000000000000e+05 4.136277172647759640e-03 1.340650395346619028e+01 1.649862913244132709e-14 -5.172542356305966961e-03 1.000000000000000000e+05 4.875417169930351853e-03 1.341235378859577132e+01 2.295770467630304502e-14 -6.096414133051489617e-03 1.000000000000000000e+05 5.748458282216788694e-03 1.342431429805226450e+01 3.204238057396112356e-14 -7.185299359870824139e-03 1.000000000000000000e+05 6.780226539824640158e-03 1.344255097532900933e+01 4.435987575157230558e-14 -8.468671216257736209e-03 1.000000000000000000e+05 7.999908390208509620e-03 1.346701313191257299e+01 6.169750623914063313e-14 -9.981267109010422481e-03 1.000000000000000000e+05 9.441421170356114820e-03 1.349653052116032192e+01 8.599118407484044225e-14 -1.176402891992746509e-02 1.000000000000000000e+05 1.114548716148563816e-02 1.353141702639436872e+01 1.196697960619022261e-13 -1.386521119186945317e-02 1.000000000000000000e+05 1.309163931699696207e-02 1.346853300760585803e+01 1.665680109198579692e-13 -1.634168724878715118e-02 1.000000000000000000e+05 1.546555244528870048e-02 1.351544933010300831e+01 2.307808342636688093e-13 -1.926048860285451206e-02 1.000000000000000000e+05 1.818503855800948296e-02 1.347216737047610202e+01 3.216282591461014627e-13 -2.270061931629619237e-02 1.000000000000000000e+05 2.149490242221957503e-02 1.352983185281578038e+01 4.474340565268581809e-13 -2.675519442777928719e-02 1.000000000000000000e+05 2.529776239754922065e-02 1.350281518285632565e+01 6.221894025104423230e-13 -3.153396032479117289e-02 1.000000000000000000e+05 2.978830152928329048e-02 1.348561862012476631e+01 8.655073696259575210e-13 -3.716626528166998983e-02 1.000000000000000000e+05 3.509146248117663708e-02 1.347674610337527845e+01 1.204279065203271335e-12 -4.380456056772231294e-02 1.000000000000000000e+05 4.135554441418776844e-02 1.347535410870114525e+01 1.674958268886751549e-12 -5.162852689096004283e-02 1.000000000000000000e+05 4.875804096749784128e-02 1.348158077469684990e+01 2.331090403046295508e-12 -6.084993786913318187e-02 1.000000000000000000e+05 5.750483734046302198e-02 1.349410503175300491e+01 3.241355003819395180e-12 -7.171839216907228975e-02 1.000000000000000000e+05 6.784107705802296107e-02 1.351249314602314477e+01 4.507812536032894417e-12 -8.452806946785666742e-02 1.000000000000000000e+05 8.005840295306772270e-02 1.353686566241492883e+01 6.271002349333541207e-12 -9.962569310141336509e-02 1.000000000000000000e+05 9.420063598318753617e-02 1.350248263197097565e+01 8.721491864142214932e-12 -1.174199149279194637e-01 1.000000000000000000e+05 1.112321639964882342e-01 1.353836066108327962e+01 1.212417790446655937e-11 -1.383923764288897684e-01 1.000000000000000000e+05 1.309891668667420017e-01 1.351956320962858094e+01 1.685405460696129020e-11 -1.631107454420542835e-01 1.000000000000000000e+05 1.543161640729047157e-01 1.350840062773866457e+01 2.346685313288807763e-11 -1.922440813951419580e-01 1.000000000000000000e+05 1.818658776384176334e-01 1.350419682137116162e+01 3.261214440794419871e-11 -2.265809449359138250e-01 1.000000000000000000e+05 2.144110231512212639e-01 1.350637130022863452e+01 4.537231318580295535e-11 -2.670507421371726142e-01 1.000000000000000000e+05 2.528583352401919115e-01 1.351376210860187932e+01 6.315435405357662002e-11 -3.147488810066778608e-01 1.000000000000000000e+05 2.982850426600323068e-01 1.352570752616105665e+01 8.793071901927597903e-11 -3.709664212206886247e-01 1.000000000000000000e+05 3.511572251763367403e-01 1.349412437486442684e+01 1.224610489685169252e-10 -4.372250196192620786e-01 1.000000000000000000e+05 4.144995468158128027e-01 1.351389471260583264e+01 1.706403301144682919e-10 -5.153181173433998286e-01 1.000000000000000000e+05 4.893666863634923425e-01 1.353501468432254917e+01 2.383025856280585740e-10 -6.073594834385067642e-01 1.000000000000000000e+05 5.767159366597122139e-01 1.351264700738140689e+01 3.330205860495428128e-10 -7.158404288682718164e-01 1.000000000000000000e+05 6.812217763702512752e-01 1.353281399066018409e+01 4.663423288459216448e-10 -8.436972395676662906e-01 1.000000000000000000e+05 8.033503583650463131e-01 1.350671225062374958e+01 6.558676699844915962e-10 -9.943906537655036182e-01 1.000000000000000000e+05 9.493712861555143601e-01 1.351429431173818507e+01 9.262480870206511014e-10 -1.171999534812844468e+00 1.000000000000000000e+05 1.122149611127342350e+00 1.350773627285856548e+01 1.317599529278578621e-09 -1.381331274987467994e+00 1.000000000000000000e+05 1.328576241154383331e+00 1.351836726012609802e+01 1.893293728200464911e-09 -1.628051918606947979e+00 1.000000000000000000e+05 1.574880269238598807e+00 1.353172045198823348e+01 2.765333555492646666e-09 -1.918839526531252559e+00 1.000000000000000000e+05 1.868246969465124252e+00 1.352487054723193616e+01 4.146578803608281355e-09 -2.261564933217340645e+00 1.000000000000000000e+05 2.220180278887051273e+00 1.353355418350536432e+01 6.591575019341816775e-09 -2.665504788930584290e+00 1.000000000000000000e+05 2.640659066180734538e+00 1.353053641222133052e+01 1.175933184202739538e-08 -3.141592653589792672e+00 1.000000000000000000e+05 3.141592653589792672e+00 1.340632022891379904e+01 4.439806975202050427e-07 -1.000000000000000021e-03 2.023589647725155519e+05 9.399571629633735352e-04 1.189135925843710950e+01 1.946607124291051510e-15 -1.178610770701415088e-03 2.023589647725155519e+05 1.107843640643155778e-03 1.189135925843710950e+01 2.699690417342944319e-15 -1.389123348813385214e-03 2.023589647725155519e+05 1.305716454280574914e-03 1.189135925843710950e+01 3.757704664970697220e-15 -1.637235740744274635e-03 2.023589647725155519e+05 1.538931488228745086e-03 1.189135925843710950e+01 5.207210798459137239e-15 -1.929663678218512032e-03 2.023589647725155519e+05 1.813801246605332811e-03 1.189135925843710950e+01 7.270667418139919570e-15 -2.274322394979648009e-03 2.023589647725155519e+05 2.137765716607703970e-03 1.189135925843710950e+01 1.007833373046238129e-14 -2.680540870770453925e-03 2.023589647725155519e+05 2.519593750316223742e-03 1.189135925843710950e+01 1.401368467074415232e-14 -3.159314341595407215e-03 2.023589647725155519e+05 2.969620416209627165e-03 1.189135925843710950e+01 1.950781355432327756e-14 -3.723601911035797143e-03 2.023589647725155519e+05 3.500026745450155862e-03 1.189135925843710950e+01 2.709168751618027584e-14 -4.388677318151167420e-03 2.023589647725155519e+05 4.125169445886501043e-03 1.189281558173770392e+01 3.771943269447288744e-14 -5.172542356305966961e-03 2.023589647725155519e+05 4.862740363667040003e-03 1.189944750235328463e+01 5.236095848866460347e-14 -6.096414133051489617e-03 2.023589647725155519e+05 5.734408645655958252e-03 1.191216161750701907e+01 7.272125671080418461e-14 -7.185299359870824139e-03 2.023589647725155519e+05 6.764775377686355062e-03 1.193035441086259674e+01 1.015553284330791025e-13 -8.468671216257736209e-03 2.023589647725155519e+05 7.982650803961374025e-03 1.195325590552318218e+01 1.411641694858854089e-13 -9.981267109010422481e-03 2.023589647725155519e+05 9.422710692544095795e-03 1.198140640679620894e+01 1.958652051278274009e-13 -1.176402891992746509e-02 2.023589647725155519e+05 1.106170492874201244e-02 1.192069403714473275e+01 2.721742405135053681e-13 -1.386521119186945317e-02 2.023589647725155519e+05 1.306757860559854510e-02 1.195971541026710128e+01 3.791236759355060380e-13 -1.634168724878715118e-02 2.023589647725155519e+05 1.543994926664772442e-02 1.200311399066996287e+01 5.276719445668325987e-13 -1.926048860285451206e-02 2.023589647725155519e+05 1.815559966658970154e-02 1.196633180934738583e+01 7.348141096290073807e-13 -2.270061931629619237e-02 2.023589647725155519e+05 2.136005630772479583e-02 1.193887285462010084e+01 1.022016972685617300e-12 -2.675519442777928719e-02 2.023589647725155519e+05 2.526223502101395887e-02 1.199633913820075115e+01 1.420870077372951790e-12 -3.153396032479117289e-02 2.023589647725155519e+05 2.974795698575991715e-02 1.198223256527658975e+01 1.975300740868158180e-12 -3.716626528166998983e-02 2.023589647725155519e+05 3.504594257048803535e-02 1.197544613993868801e+01 2.749514122917675017e-12 -4.380456056772231294e-02 2.023589647725155519e+05 4.130601122168379991e-02 1.197582119882602925e+01 3.818923983698272985e-12 -5.162852689096004283e-02 2.023589647725155519e+05 4.870242701031261834e-02 1.198217194223787629e+01 5.308605472206373730e-12 -6.084993786913318187e-02 2.023589647725155519e+05 5.744331850913939053e-02 1.199425149059667106e+01 7.398767117245512895e-12 -7.171839216907228975e-02 2.023589647725155519e+05 6.753227398995978459e-02 1.195181656230773015e+01 1.028813138213505851e-11 -8.452806946785666742e-02 2.023589647725155519e+05 7.971508281276458441e-02 1.197599333186524362e+01 1.430108773280686146e-11 -9.962569310141336509e-02 2.023589647725155519e+05 9.411736822555781534e-02 1.200464038318076199e+01 1.988799599073281629e-11 -1.174199149279194637e-01 2.023589647725155519e+05 1.107988944385989716e-01 1.198357580130593547e+01 2.766908422393011003e-11 -1.383923764288897684e-01 2.023589647725155519e+05 1.304935235412884031e-01 1.196977813144575187e+01 3.844807639401881353e-11 -1.631107454420542835e-01 2.023589647725155519e+05 1.537540124927030682e-01 1.196271675982103844e+01 5.350331531116836037e-11 -1.922440813951419580e-01 2.023589647725155519e+05 1.817421974486212455e-01 1.200952738757988669e+01 7.443506216369195689e-11 -2.265809449359138250e-01 2.023589647725155519e+05 2.136952771616776603e-01 1.196573251609543398e+01 1.035568769772507390e-10 -2.670507421371726142e-01 2.023589647725155519e+05 2.520561660709084162e-01 1.197446265116670006e+01 1.440486448480902928e-10 -3.147488810066778608e-01 2.023589647725155519e+05 2.973911743126839702e-01 1.198718287720060616e+01 2.005915184771085357e-10 -3.709664212206886247e-01 2.023589647725155519e+05 3.509683761296860105e-01 1.200293520914743439e+01 2.795105281447931006e-10 -4.372250196192620786e-01 2.023589647725155519e+05 4.133513433213379940e-01 1.198033511420468322e+01 3.895184437780185567e-10 -5.153181173433998286e-01 2.023589647725155519e+05 4.881003412354372739e-01 1.200075303564031337e+01 5.433069118028866180e-10 -6.073594834385067642e-01 2.023589647725155519e+05 5.752728324373163060e-01 1.198257200918801502e+01 7.596903802587202032e-10 -7.158404288682718164e-01 2.023589647725155519e+05 6.796313120653293405e-01 1.200161911615739996e+01 1.064138430291381861e-09 -8.436972395676662906e-01 2.023589647725155519e+05 8.015511149232297239e-01 1.197980779622572811e+01 1.495987253652309364e-09 -9.943906537655036182e-01 2.023589647725155519e+05 9.474048362064098061e-01 1.198748841976635759e+01 2.111771523330271525e-09 -1.171999534812844468e+00 2.023589647725155519e+05 1.120013746220678064e+00 1.198256439430862663e+01 3.003191202291144524e-09 -1.381331274987467994e+00 2.023589647725155519e+05 1.326323620232555234e+00 1.199225861544310590e+01 4.315197960170168588e-09 -1.628051918606947979e+00 2.023589647725155519e+05 1.572608258806079240e+00 1.200422355584959710e+01 6.297084928733860458e-09 -1.918839526531252559e+00 2.023589647725155519e+05 1.866057392983898833e+00 1.199779038556218680e+01 9.438771982770297146e-09 -2.261564933217340645e+00 2.023589647725155519e+05 2.218302713990869091e+00 1.200369516942989101e+01 1.498757719464366721e-08 -2.665504788930584290e+00 2.023589647725155519e+05 2.639398068695027799e+00 1.199613617374708241e+01 2.666706497475803837e-08 -3.141592653589792672e+00 2.023589647725155519e+05 3.141592653589792672e+00 1.189135925843710950e+01 1.010399657948335144e-06 -1.000000000000000021e-03 4.094915062380427262e+05 9.441759525866058470e-04 1.065047636917520002e+01 4.423075689503646417e-15 -1.178610770701415088e-03 4.094915062380427262e+05 1.112815951238740842e-03 1.065047636917520002e+01 6.163174841051541564e-15 -1.389123348813385214e-03 4.094915062380427262e+05 1.311576872622988903e-03 1.065047636917520002e+01 8.517237385502175449e-15 -1.637235740744274635e-03 4.094915062380427262e+05 1.545838639620704174e-03 1.065047636917520002e+01 1.190058338619469353e-14 -1.929663678218512032e-03 4.094915062380427262e+05 1.821942088341907363e-03 1.065047636917520002e+01 1.643577456959489074e-14 -2.274322394979648009e-03 4.094915062380427262e+05 2.147360598250839560e-03 1.065047636917520002e+01 2.283598177032459697e-14 -2.680540870770453925e-03 4.094915062380427262e+05 2.530902377709585635e-03 1.065047636917520002e+01 3.168561689573339737e-14 -3.159314341595407215e-03 4.094915062380427262e+05 2.982948880600900816e-03 1.065047636917520002e+01 4.422130713527435205e-14 -3.723601911035797143e-03 4.094915062380427262e+05 3.515735807877789273e-03 1.065047636917520002e+01 6.130899045279007780e-14 -4.388677318151167420e-03 4.094915062380427262e+05 4.143684300899150991e-03 1.065050781600881535e+01 8.534523225807126090e-14 -5.172542356305966961e-03 4.094915062380427262e+05 4.884093905840155431e-03 1.065502335943079437e+01 1.187446410845826741e-13 -6.096414133051489617e-03 4.094915062380427262e+05 5.758544175838909394e-03 1.066434830146762991e+01 1.654516299486365103e-13 -7.185299359870824139e-03 4.094915062380427262e+05 6.791700136024782924e-03 1.067827580555799294e+01 2.295983094277240647e-13 -8.468671216257736209e-03 4.094915062380427262e+05 8.013101250266323194e-03 1.069756914411940940e+01 3.191972302013637001e-13 -9.981267109010422481e-03 4.094915062380427262e+05 9.456515750411341112e-03 1.072087340046420323e+01 4.450598573746236756e-13 -1.176402891992746509e-02 4.094915062380427262e+05 1.116245160569488172e-02 1.074811723186876122e+01 6.188908945047957580e-13 -1.386521119186945317e-02 4.094915062380427262e+05 1.311226267120420980e-02 1.069752087275902142e+01 8.607122894748273549e-13 -1.634168724878715118e-02 4.094915062380427262e+05 1.548895841324836320e-02 1.073484719511152008e+01 1.196452989534987217e-12 -1.926048860285451206e-02 4.094915062380427262e+05 1.821278668337857412e-02 1.069967060125174818e+01 1.665060662037045585e-12 -2.270061931629619237e-02 4.094915062380427262e+05 2.152606009445770865e-02 1.074550612829760610e+01 2.312747426982171067e-12 -2.675519442777928719e-02 4.094915062380427262e+05 2.533475179271630837e-02 1.072363532231369554e+01 3.219167201969119911e-12 -3.153396032479117289e-02 4.094915062380427262e+05 2.983149866186467561e-02 1.070941626094782428e+01 4.477922314382447484e-12 -3.716626528166998983e-02 4.094915062380427262e+05 3.514203751695357120e-02 1.070203733648757449e+01 6.229496566490935315e-12 -4.380456056772231294e-02 4.094915062380427262e+05 4.141458442900523146e-02 1.070068804886672353e+01 8.667971149633118871e-12 -5.162852689096004283e-02 4.094915062380427262e+05 4.882588432203693180e-02 1.070520305130886030e+01 1.206201069658556061e-11 -6.084993786913318187e-02 4.094915062380427262e+05 5.758322242036708477e-02 1.071495096937037950e+01 1.676955154920142685e-11 -7.171839216907228975e-02 4.094915062380427262e+05 6.793086639348699940e-02 1.072929479596432678e+01 2.332741476078923073e-11 -8.452806946785666742e-02 4.094915062380427262e+05 8.016033337010892990e-02 1.074832295933282289e+01 3.244598340479861346e-11 -9.962569310141336509e-02 4.094915062380427262e+05 9.432314289488585857e-02 1.072080635893667377e+01 4.511601130665549811e-11 -1.174199149279194637e-01 4.094915062380427262e+05 1.113698412475438854e-01 1.074898658860089817e+01 6.270141925328126796e-11 -1.383923764288897684e-01 4.094915062380427262e+05 1.311511845522580766e-01 1.073371980744168930e+01 8.719100246800193183e-11 -1.631107454420542835e-01 4.094915062380427262e+05 1.545052775684596369e-01 1.072449429022817036e+01 1.213967520395167197e-10 -1.922440813951419580e-01 4.094915062380427262e+05 1.820865297507693048e-01 1.072092946765557997e+01 1.686826958954163352e-10 -2.265809449359138250e-01 4.094915062380427262e+05 2.146665779074050928e-01 1.072240662867714711e+01 2.347288020928933069e-10 -2.670507421371726142e-01 4.094915062380427262e+05 2.531538761932800585e-01 1.072810009512297746e+01 3.268049811169894963e-10 -3.147488810066778608e-01 4.094915062380427262e+05 2.986241560601017864e-01 1.073736888803231615e+01 4.548081197803275105e-10 -3.709664212206886247e-01 4.094915062380427262e+05 3.523548182144130569e-01 1.074979604796851973e+01 6.331827549878718248e-10 -4.372250196192620786e-01 4.094915062380427262e+05 4.149580618836422041e-01 1.072758005994732677e+01 8.827944316498953746e-10 -5.153181173433998286e-01 4.094915062380427262e+05 4.898855100637583004e-01 1.074416756352316860e+01 1.232966249598145709e-09 -6.073594834385067642e-01 4.094915062380427262e+05 5.773194373479254571e-01 1.072612048011106189e+01 1.722296329141870762e-09 -7.158404288682718164e-01 4.094915062380427262e+05 6.819022243784915727e-01 1.074207282729221724e+01 2.411735482223979213e-09 -8.436972395676662906e-01 4.094915062380427262e+05 8.055576604269929497e-01 1.075409891709326438e+01 3.390529613999249512e-09 -9.943906537655036182e-01 4.094915062380427262e+05 9.502386482337625839e-01 1.072695881266601070e+01 4.787922800954946732e-09 -1.171999534812844468e+00 4.094915062380427262e+05 1.124824644008519003e+00 1.075372061048330607e+01 6.809061137468976806e-09 -1.381331274987467994e+00 4.094915062380427262e+05 1.329597482419868193e+00 1.073017781181292563e+01 9.779560533624211380e-09 -1.628051918606947979e+00 4.094915062380427262e+05 1.575910175243181888e+00 1.074072804023557737e+01 1.427088712133388097e-08 -1.918839526531252559e+00 4.094915062380427262e+05 1.869222855265228578e+00 1.073514659503708302e+01 2.138437686135834783e-08 -2.261564933217340645e+00 4.094915062380427262e+05 2.220998874164413550e+00 1.074242061657768232e+01 3.396129813600305558e-08 -2.665504788930584290e+00 4.094915062380427262e+05 2.641161743593830824e+00 1.074038027151165053e+01 6.046457971273648286e-08 -3.141592653589792672e+00 4.094915062380427262e+05 3.141592653589792672e+00 1.065047636917520002e+01 2.297218554838453743e-06 -1.000000000000000021e-03 8.286427728546842700e+05 9.413541496027952532e-04 9.446870563640469953e+00 1.002717434280060137e-14 -1.178610770701415088e-03 8.286427728546842700e+05 1.109490144046020206e-03 9.446870563640469953e+00 1.387538866784359061e-14 -1.389123348813385214e-03 8.286427728546842700e+05 1.307657040766572673e-03 9.446870563640469953e+00 1.942127583613129820e-14 -1.637235740744274635e-03 8.286427728546842700e+05 1.541218684102919076e-03 9.446870563640469953e+00 2.686349111229273863e-14 -1.929663678218512032e-03 8.286427728546842700e+05 1.816496959872160397e-03 9.446870563640469953e+00 3.739573080116124328e-14 -2.274322394979648009e-03 8.286427728546842700e+05 2.140942912602581891e-03 9.446870563640469953e+00 5.187898618653800190e-14 -2.680540870770453925e-03 8.286427728546842700e+05 2.523338426596697173e-03 9.446870563640469953e+00 7.204746723597952438e-14 -3.159314341595407215e-03 8.286427728546842700e+05 2.974033930140578767e-03 9.446870563640469953e+00 1.002158145841566601e-13 -3.723601911035797143e-03 8.286427728546842700e+05 3.505228557450750047e-03 9.446870563640469953e+00 1.394120739212653722e-13 -4.388677318151167420e-03 8.286427728546842700e+05 4.131300352535696024e-03 9.447987489200764699e+00 1.941493231213757673e-13 -5.172542356305966961e-03 8.286427728546842700e+05 4.869905170720864422e-03 9.453077530799660622e+00 2.689324775804492544e-13 -6.096414133051489617e-03 8.286427728546842700e+05 5.742514050011865087e-03 9.462492078888146807e+00 3.746216502115973005e-13 -7.185299359870824139e-03 8.286427728546842700e+05 6.773935388715192005e-03 9.476323586517176878e+00 5.207263918744720471e-13 -8.468671216257736209e-03 8.286427728546842700e+05 7.992067109842713318e-03 9.492524050368276178e+00 7.259318038557215268e-13 -9.981267109010422481e-03 8.286427728546842700e+05 9.432285057843459511e-03 9.513012961557224756e+00 1.006790629158575962e-12 -1.176402891992746509e-02 8.286427728546842700e+05 1.113509242865804751e-02 9.537433472091525033e+00 1.400983686810258659e-12 -1.386521119186945317e-02 8.286427728546842700e+05 1.307913383435204378e-02 9.493948597987161619e+00 1.950167196907713274e-12 -1.634168724878715118e-02 8.286427728546842700e+05 1.545130299992100893e-02 9.526606818223752882e+00 2.714971091919174773e-12 -1.926048860285451206e-02 8.286427728546842700e+05 1.816892568430676994e-02 9.497264243690368701e+00 3.777608626471500702e-12 -2.270061931629619237e-02 8.286427728546842700e+05 2.147945301070607743e-02 9.539140680947740591e+00 5.258270762037511935e-12 -2.675519442777928719e-02 8.286427728546842700e+05 2.527989931608686305e-02 9.520646315353561207e+00 7.307574447175584403e-12 -3.153396032479117289e-02 8.286427728546842700e+05 2.977230390353074324e-02 9.510912872462505163e+00 1.016109178353571520e-11 -3.716626528166998983e-02 8.286427728546842700e+05 3.506914687176682782e-02 9.503477548041828982e+00 1.413031998241634658e-11 -4.380456056772231294e-02 8.286427728546842700e+05 4.133410957471969627e-02 9.503974160930555470e+00 1.964051337587415483e-11 -5.162852689096004283e-02 8.286427728546842700e+05 4.873628180768408563e-02 9.509207392132001502e+00 2.732849661728548237e-11 -6.084993786913318187e-02 8.286427728546842700e+05 5.748538183645061223e-02 9.519311009965601755e+00 3.808280772092529908e-11 -7.171839216907228975e-02 8.286427728546842700e+05 6.781996218810620869e-02 9.532437269983365269e+00 5.293774617864502518e-11 -8.452806946785666742e-02 8.286427728546842700e+05 7.977065654863257915e-02 9.504271632208489251e+00 7.354950710773464000e-11 -9.962569310141336509e-02 8.286427728546842700e+05 9.417541317143914015e-02 9.526009351896371768e+00 1.023203372806443092e-10 -1.174199149279194637e-01 8.286427728546842700e+05 1.108635642297101376e-01 9.508798373753434063e+00 1.424809753756062333e-10 -1.383923764288897684e-01 8.286427728546842700e+05 1.309736851601348839e-01 9.539893878386040527e+00 1.979778146647031237e-10 -1.631107454420542835e-01 8.286427728546842700e+05 1.542858151297714087e-01 9.531032919225246758e+00 2.751597967039137132e-10 -1.922440813951419580e-01 8.286427728546842700e+05 1.818529067210585826e-01 9.529798528460476703e+00 3.831217612840075968e-10 -2.265809449359138250e-01 8.286427728546842700e+05 2.143703841597930926e-01 9.529687640416566907e+00 5.327318605305191031e-10 -2.670507421371726142e-01 8.286427728546842700e+05 2.528282469500949814e-01 9.535784014548191578e+00 7.409843126563918215e-10 -3.147488810066778608e-01 8.286427728546842700e+05 2.975272808735464070e-01 9.510057911267525199e+00 1.032163348652919946e-09 -3.709664212206886247e-01 8.286427728546842700e+05 3.511459914387025649e-01 9.523221201084501431e+00 1.438576309519564724e-09 -4.372250196192620786e-01 8.286427728546842700e+05 4.144649527779710185e-01 9.536327335030879482e+00 2.003385960919387511e-09 -5.153181173433998286e-01 8.286427728546842700e+05 4.882927362472752608e-01 9.520043268792891311e+00 2.795260970281685709e-09 -6.073594834385067642e-01 8.286427728546842700e+05 5.767128224662761982e-01 9.536547836455850913e+00 3.907177938115707866e-09 -7.158404288682718164e-01 8.286427728546842700e+05 6.799230979141286380e-01 9.521474356595675204e+00 5.473885287227039861e-09 -8.436972395676662906e-01 8.286427728546842700e+05 8.033673109530549139e-01 9.532803138528390008e+00 7.695690819666433067e-09 -9.943906537655036182e-01 8.286427728546842700e+05 9.494413428118894105e-01 9.538974762906256899e+00 1.086489376669973934e-08 -1.171999534812844468e+00 8.286427728546842700e+05 1.122124048613244662e+00 9.532779992389103896e+00 1.545233688605973509e-08 -1.381331274987467994e+00 8.286427728546842700e+05 1.328540944494722931e+00 9.540080708248982688e+00 2.220587870502523786e-08 -1.628051918606947979e+00 8.286427728546842700e+05 1.573000107596628894e+00 9.522650742082142017e+00 3.241125114541382746e-08 -1.918839526531252559e+00 8.286427728546842700e+05 1.866425893961599414e+00 9.517516373943438523e+00 4.856540673189090367e-08 -2.261564933217340645e+00 8.286427728546842700e+05 2.218605438231750160e+00 9.522136496234546499e+00 7.720577260547650501e-08 -2.665504788930584290e+00 8.286427728546842700e+05 2.639560171786039078e+00 9.515611714248983333e+00 1.376008890595444675e-07 -3.141592653589792672e+00 8.286427728546842700e+05 3.141592653589792672e+00 9.446870563640469953e+00 5.210513200168275744e-06 -1.000000000000000021e-03 1.676832936811009888e+06 9.385159015131169877e-04 8.383565128265413335e+00 2.287870725726167316e-14 -1.178610770701415088e-03 1.676832936811009888e+06 1.106144954474696422e-03 8.383565128265413335e+00 3.168892926173063669e-14 -1.389123348813385214e-03 1.676832936811009888e+06 1.303714364630461980e-03 8.383565128265413335e+00 4.409108217524291213e-14 -1.637235740744274635e-03 1.676832936811009888e+06 1.536571804071828248e-03 8.383565128265413335e+00 6.115667034141869197e-14 -1.929663678218512032e-03 1.676832936811009888e+06 1.811020097882343931e-03 8.383565128265413335e+00 8.473225045318632216e-14 -2.274322394979648009e-03 1.676832936811009888e+06 2.134487825487921524e-03 8.383565128265413335e+00 1.175274946179756742e-13 -2.680540870770453925e-03 1.676832936811009888e+06 2.515730393716155474e-03 8.383565128265413335e+00 1.636147431826881264e-13 -3.159314341595407215e-03 1.676832936811009888e+06 2.965067024439868148e-03 8.383565128265413335e+00 2.279363818502127006e-13 -3.723601911035797143e-03 1.676832936811009888e+06 3.494660072027169946e-03 8.383565128265413335e+00 3.157762696768545236e-13 -4.388677318151167420e-03 1.676832936811009888e+06 4.118844231961131704e-03 8.384672724923227349e+00 4.407607894609134132e-13 -5.172542356305966961e-03 1.676832936811009888e+06 4.855351046921760685e-03 8.389439058537625726e+00 6.140187240513136176e-13 -6.096414133051489617e-03 1.676832936811009888e+06 5.725978827674698367e-03 8.398725512794127823e+00 8.501095366647350250e-13 -7.185299359870824139e-03 1.676832936811009888e+06 6.755095506503737413e-03 8.411652543211323163e+00 1.186720174002080419e-12 -8.468671216257736209e-03 1.676832936811009888e+06 7.971645037420023103e-03 8.427949501204773597e+00 1.644627145974573210e-12 -9.981267109010422481e-03 1.676832936811009888e+06 9.410260512017399118e-03 8.447919749222322139e+00 2.297725051070376271e-12 -1.176402891992746509e-02 1.676832936811009888e+06 1.104626300020535024e-02 8.405542497441850003e+00 3.191631509783900626e-12 -1.386521119186945317e-02 1.676832936811009888e+06 1.305035455359174028e-02 8.433158352071743025e+00 4.432776933892092087e-12 -1.634168724878715118e-02 1.676832936811009888e+06 1.542081249288533053e-02 8.463837034669040804e+00 6.176166539695296902e-12 -1.926048860285451206e-02 1.676832936811009888e+06 1.813324888714320723e-02 8.438682581282654027e+00 8.567993854414717382e-12 -2.270061931629619237e-02 1.676832936811009888e+06 2.133465340979551553e-02 8.420262218698717049e+00 1.192652518176662429e-11 -2.675519442777928719e-02 1.676832936811009888e+06 2.523503961734882214e-02 8.461044172327357060e+00 1.659216988983953042e-11 -3.153396032479117289e-02 1.676832936811009888e+06 2.971652763510768472e-02 8.451564113464648642e+00 2.309835478826803271e-11 -3.716626528166998983e-02 1.676832936811009888e+06 3.500886905768175322e-02 8.446901387957744589e+00 3.208783421113201514e-11 -4.380456056772231294e-02 1.676832936811009888e+06 4.126050201734141054e-02 8.446692262885244773e+00 4.466891277308979049e-11 -5.162852689096004283e-02 1.676832936811009888e+06 4.864885885662376119e-02 8.451090357981851042e+00 6.213806910272999802e-11 -6.084993786913318187e-02 1.676832936811009888e+06 5.738556249813804577e-02 8.460464780982906774e+00 8.648670681740177549e-11 -7.171839216907228975e-02 1.676832936811009888e+06 6.745584464083932696e-02 8.429845050540729190e+00 1.203463628932878888e-10 -8.452806946785666742e-02 1.676832936811009888e+06 7.963642878511972834e-02 8.448079533485442383e+00 1.674418024618494308e-10 -9.962569310141336509e-02 1.676832936811009888e+06 9.371741670258178225e-02 8.430088974802741220e+00 2.326557014654954705e-10 -1.174199149279194637e-01 1.676832936811009888e+06 1.107060773258033842e-01 8.454962857262753317e+00 3.232675329418986299e-10 -1.383923764288897684e-01 1.676832936811009888e+06 1.303790264957643275e-01 8.444974854508533468e+00 4.496955596944612255e-10 -1.631107454420542835e-01 1.676832936811009888e+06 1.536309405931094441e-01 8.440932347008073933e+00 6.259298094268060320e-10 -1.922440813951419580e-01 1.676832936811009888e+06 1.810905924615223983e-01 8.440410176804720166e+00 8.694761761257262266e-10 -2.265809449359138250e-01 1.676832936811009888e+06 2.135244700423864217e-01 8.442992837460563393e+00 1.210590260000631319e-09 -2.670507421371726142e-01 1.676832936811009888e+06 2.518783647700618689e-01 8.450070645086634968e+00 1.685032986456562366e-09 -3.147488810066778608e-01 1.676832936811009888e+06 2.971728760648425505e-01 8.458508545913351995e+00 2.345255834809987495e-09 -3.709664212206886247e-01 1.676832936811009888e+06 3.498816881537387680e-01 8.440947449245109979e+00 3.265164549640762208e-09 -4.372250196192620786e-01 1.676832936811009888e+06 4.130762229025017329e-01 8.454436663893966752e+00 4.552704119573097830e-09 -5.153181173433998286e-01 1.676832936811009888e+06 4.867554871502500213e-01 8.442727530362986954e+00 6.354409470811506881e-09 -6.073594834385067642e-01 1.676832936811009888e+06 5.749829915909232536e-01 8.457718581947757386e+00 8.876121036390297371e-09 -7.158404288682718164e-01 1.676832936811009888e+06 6.779016647133286888e-01 8.444508032749439508e+00 1.243761357136571986e-08 -8.436972395676662906e-01 1.676832936811009888e+06 8.011346306278018803e-01 8.455219240240126055e+00 1.748429230888549651e-08 -9.943906537655036182e-01 1.676832936811009888e+06 9.469172492713903155e-01 8.460279440911234516e+00 2.469385434026971401e-08 -1.171999534812844468e+00 1.676832936811009888e+06 1.119451061571462569e+00 8.456539304605525942e+00 3.512230439541636015e-08 -1.381331274987467994e+00 1.676832936811009888e+06 1.325773422316534500e+00 8.463914888859330077e+00 5.045059687287944611e-08 -1.628051918606947979e+00 1.676832936811009888e+06 1.570062867718648558e+00 8.447956203926580088e+00 7.366386017305425621e-08 -1.918839526531252559e+00 1.676832936811009888e+06 1.863669556674564465e+00 8.444004847843704198e+00 1.103603765415253331e-07 -2.261564933217340645e+00 1.676832936811009888e+06 2.216256880470425017e+00 8.446916295904079774e+00 1.753277664268453841e-07 -2.665504788930584290e+00 1.676832936811009888e+06 2.639107598729693027e+00 8.465946302710307236e+00 3.123412065651489953e-07 -3.141592653589792672e+00 1.676832936811009888e+06 3.141592653589792672e+00 8.383565128265413335e+00 1.187396843451928350e-05 -1.000000000000000021e-03 3.393221771895329468e+06 9.429377841725666452e-04 7.514390788491691175e+00 5.175692514754332144e-14 -1.178610770701415088e-03 3.393221771895329468e+06 1.111356632696628788e-03 7.514390788491691175e+00 7.232807535785434776e-14 -1.389123348813385214e-03 3.393221771895329468e+06 1.309856904213186832e-03 7.514390788491691175e+00 9.966015184016044736e-14 -1.637235740744274635e-03 3.393221771895329468e+06 1.543811466559828500e-03 7.514390788491691175e+00 1.391556742891978655e-13 -1.929663678218512032e-03 3.393221771895329468e+06 1.819552840718423586e-03 7.514390788491691175e+00 1.924697103331365419e-13 -2.274322394979648009e-03 3.393221771895329468e+06 2.144544605890302304e-03 7.514390788491691175e+00 2.680270313691652755e-13 -2.680540870770453925e-03 3.393221771895329468e+06 2.527583419802225013e-03 7.514390788491691175e+00 3.736754028854238782e-13 -3.159314341595407215e-03 3.393221771895329468e+06 2.979037122732088733e-03 7.514390788491691175e+00 5.187358321104060563e-13 -3.723601911035797143e-03 3.393221771895329468e+06 3.511125370652641749e-03 7.514390788491691175e+00 7.225254576811793275e-13 -4.388677318151167420e-03 3.393221771895329468e+06 4.138250394399908133e-03 7.514390788491691175e+00 1.000195896217623324e-12 -5.172542356305966961e-03 3.393221771895329468e+06 4.877622333296725149e-03 7.517217701848514011e+00 1.390217022131446694e-12 -6.096414133051489617e-03 3.393221771895329468e+06 5.750897926947729985e-03 7.523648751801726320e+00 1.941371173270390086e-12 -7.185299359870824139e-03 3.393221771895329468e+06 6.782758840671481923e-03 7.533379029977101737e+00 2.687457395678851348e-12 -8.468671216257736209e-03 3.393221771895329468e+06 8.002717703315400180e-03 7.546881418398466934e+00 3.755236759789932363e-12 -9.981267109010422481e-03 3.393221771895329468e+06 9.444549761182269992e-03 7.563238291038386407e+00 5.215650867711160703e-12 -1.176402891992746509e-02 3.393221771895329468e+06 1.114879742944548634e-02 7.582442550191665021e+00 7.253288724106639441e-12 -1.386521119186945317e-02 3.393221771895329468e+06 1.309528216339537338e-02 7.547000532301485265e+00 1.009132393502115590e-11 -1.634168724878715118e-02 3.393221771895329468e+06 1.546966887690321736e-02 7.573165107701879784e+00 1.402186394304511272e-11 -1.926048860285451206e-02 3.393221771895329468e+06 1.818940432659883061e-02 7.548654379331726894e+00 1.951636730377703353e-11 -2.270061931629619237e-02 3.393221771895329468e+06 2.149996410385047324e-02 7.580897255180975236e+00 2.714962086193678217e-11 -2.675519442777928719e-02 3.393221771895329468e+06 2.530350006468229385e-02 7.565677599483244364e+00 3.775509297787221275e-11 -3.153396032479117289e-02 3.393221771895329468e+06 2.979461268839311491e-02 7.555896793753952956e+00 5.247623968005047157e-11 -3.716626528166998983e-02 3.393221771895329468e+06 3.509871164767381507e-02 7.550876761974506302e+00 7.307245992243107124e-11 -4.380456056772231294e-02 3.393221771895329468e+06 4.136361993969919076e-02 7.549982485762537721e+00 1.014898109462087072e-10 -5.162852689096004283e-02 3.393221771895329468e+06 4.876672982746484142e-02 7.553290703572593578e+00 1.410894962897655246e-10 -6.084993786913318187e-02 3.393221771895329468e+06 5.751478197642052870e-02 7.560239772969100436e+00 1.966494906538092854e-10 -7.171839216907228975e-02 3.393221771895329468e+06 6.785456797983417665e-02 7.570799040982723049e+00 2.732537573308002066e-10 -8.452806946785666742e-02 3.393221771895329468e+06 8.007463825939123425e-02 7.584481714103972649e+00 3.800194630962094838e-10 -9.962569310141336509e-02 3.393221771895329468e+06 9.422039095987218282e-02 7.565313996905511651e+00 5.285334634201320367e-10 -1.174199149279194637e-01 3.393221771895329468e+06 1.112578629155912269e-01 7.585632236592048550e+00 7.353479611854292894e-10 -1.383923764288897684e-01 3.393221771895329468e+06 1.310162590132144811e-01 7.574845708098976615e+00 1.022098557152874537e-09 -1.631107454420542835e-01 3.393221771895329468e+06 1.543458067636258868e-01 7.568441230889785487e+00 1.421718711772991715e-09 -1.922440813951419580e-01 3.393221771895329468e+06 1.818917358524520800e-01 7.565554508393560695e+00 1.978671226657773066e-09 -2.265809449359138250e-01 3.393221771895329468e+06 2.144430292922740178e-01 7.566848168676201247e+00 2.751216452936221558e-09 -2.670507421371726142e-01 3.393221771895329468e+06 2.528861464318361008e-01 7.570552728045497837e+00 3.827516263277647673e-09 -3.147488810066778608e-01 3.393221771895329468e+06 2.983264803680265032e-01 7.577554523115794360e+00 5.330437951044955986e-09 -3.709664212206886247e-01 3.393221771895329468e+06 3.520251135066201909e-01 7.586740013123955961e+00 7.425641254942693257e-09 -4.372250196192620786e-01 3.393221771895329468e+06 4.145653461539278162e-01 7.571198418311726464e+00 1.034692406019980173e-08 -5.153181173433998286e-01 3.393221771895329468e+06 4.894811381152996410e-01 7.583913244722483071e+00 1.443931893665221101e-08 -6.073594834385067642e-01 3.393221771895329468e+06 5.768173073101229287e-01 7.570754283583237765e+00 2.018886893074183913e-08 -7.158404288682718164e-01 3.393221771895329468e+06 6.813481974076605052e-01 7.582207675025284033e+00 2.827314830280155196e-08 -8.436972395676662906e-01 3.393221771895329468e+06 8.034703776872175185e-01 7.567230983620483187e+00 3.975107624038555571e-08 -9.943906537655036182e-01 3.393221771895329468e+06 9.495725994495062272e-01 7.572379942592738722e+00 5.613396873140727349e-08 -1.171999534812844468e+00 3.393221771895329468e+06 1.122314178743040625e+00 7.567988497813411541e+00 7.982771018343134946e-08 -1.381331274987467994e+00 3.393221771895329468e+06 1.328783490847109228e+00 7.574294161457951091e+00 1.147266228243527773e-07 -1.628051918606947979e+00 3.393221771895329468e+06 1.575103465563374883e+00 7.581892460297741998e+00 1.674475915743368080e-07 -1.918839526531252559e+00 3.393221771895329468e+06 1.868422237232682637e+00 7.577604339298146030e+00 2.509881382538899947e-07 -2.261564933217340645e+00 3.393221771895329468e+06 2.220319325804867905e+00 7.582368569778548562e+00 3.989710415988793420e-07 -2.665504788930584290e+00 3.393221771895329468e+06 2.640717672149877959e+00 7.580068027741051040e+00 7.108546456617557705e-07 -3.141592653589792672e+00 3.393221771895329468e+06 3.141592653589792672e+00 7.514390788491691175e+00 2.700245766444710801e-05 -1.000000000000000021e-03 6.866488450042998418e+06 9.404006441080879197e-04 6.669049072668335576e+00 1.174881523389874066e-13 -1.178610770701415088e-03 6.866488450042998418e+06 1.108366332266353272e-03 6.669049072668335576e+00 1.631497936588194162e-13 -1.389123348813385214e-03 6.866488450042998418e+06 1.306332504207392744e-03 6.669049072668335576e+00 2.285566165130894619e-13 -1.637235740744274635e-03 6.866488450042998418e+06 1.539657571225846403e-03 6.669049072668335576e+00 3.149479216395757824e-13 -1.929663678218512032e-03 6.866488450042998418e+06 1.814657015712001914e-03 6.669049072668335576e+00 4.392643261231528544e-13 -2.274322394979648009e-03 6.866488450042998418e+06 2.138774335074443422e-03 6.669049072668335576e+00 6.082606367083523480e-13 -2.680540870770453925e-03 6.866488450042998418e+06 2.520782518545090171e-03 6.669049072668335576e+00 8.474935267602675782e-13 -3.159314341595407215e-03 6.866488450042998418e+06 2.971021510659342408e-03 6.669049072668335576e+00 1.177285452249420058e-12 -3.723601911035797143e-03 6.866488450042998418e+06 3.501678089495542743e-03 6.669049072668335576e+00 1.636208086722121108e-12 -4.388677318151167420e-03 6.866488450042998418e+06 4.127115736186522110e-03 6.669437522251699058e+00 2.279968732803636539e-12 -5.172542356305966961e-03 6.866488450042998418e+06 4.864806589558912271e-03 6.672687113557643990e+00 3.169324252020733271e-12 -6.096414133051489617e-03 6.866488450042998418e+06 5.736272179338316492e-03 6.678963228043445888e+00 4.392697184664310603e-12 -7.185299359870824139e-03 6.866488450042998418e+06 6.766633732366819295e-03 6.688734857555824753e+00 6.131623448636160975e-12 -8.468671216257736209e-03 6.866488450042998418e+06 7.984502084781660083e-03 6.701200370369528869e+00 8.511679762845779067e-12 -9.981267109010422481e-03 6.866488450042998418e+06 9.424176034644104680e-03 6.716298341609287625e+00 1.181640986083150971e-11 -1.176402891992746509e-02 6.866488450042998418e+06 1.112649184719446786e-02 6.734211814194912549e+00 1.644205121744330535e-11 -1.386521119186945317e-02 6.866488450042998418e+06 1.306864432046321231e-02 6.703531859239698854e+00 2.286577480210841044e-11 -1.634168724878715118e-02 6.866488450042998418e+06 1.544044863387747032e-02 6.727342553947200265e+00 3.184716290147305260e-11 -1.926048860285451206e-02 6.866488450042998418e+06 1.815549720684979038e-02 6.706483052171706483e+00 4.435523879340502514e-11 -2.270061931629619237e-02 6.866488450042998418e+06 2.146253646115255792e-02 6.735401783795738062e+00 6.166495198765544011e-11 -2.675519442777928719e-02 6.866488450042998418e+06 2.526065430304947484e-02 6.722724023871784027e+00 8.577970884287065144e-11 -3.153396032479117289e-02 6.866488450042998418e+06 2.974544769416238507e-02 6.714669421421640472e+00 1.193458373572125460e-10 -3.716626528166998983e-02 6.866488450042998418e+06 3.504199031416146276e-02 6.710639102687985691e+00 1.658131389771472775e-10 -4.380456056772231294e-02 6.866488450042998418e+06 4.130048223341992175e-02 6.710663134669670349e+00 2.308075151028638600e-10 -5.162852689096004283e-02 6.866488450042998418e+06 4.869539822531436524e-02 6.714104549722131665e+00 3.210936021865541192e-10 -6.084993786913318187e-02 6.866488450042998418e+06 5.743395677110801900e-02 6.720660986873746801e+00 4.471468948056875962e-10 -7.171839216907228975e-02 6.866488450042998418e+06 6.776373836192771394e-02 6.730445463915201820e+00 6.219023655609954239e-10 -8.452806946785666742e-02 6.866488450042998418e+06 7.970011353244296770e-02 6.710279034138629584e+00 8.645788507072672087e-10 -9.962569310141336509e-02 6.866488450042998418e+06 9.409975660478440973e-02 6.726213489228419995e+00 1.201734812484237690e-09 -1.174199149279194637e-01 6.866488450042998418e+06 1.107766022988807830e-01 6.714366891285746597e+00 1.671091783761765482e-09 -1.383923764288897684e-01 6.866488450042998418e+06 1.308632478776512731e-01 6.735546628960848992e+00 2.325251774066375880e-09 -1.631107454420542835e-01 6.866488450042998418e+06 1.541715802152324177e-01 6.730323945960645204e+00 3.232767792257636115e-09 -1.922440813951419580e-01 6.866488450042998418e+06 1.817036769693776699e-01 6.728682440004172705e+00 4.494004270408569927e-09 -2.265809449359138250e-01 6.866488450042998418e+06 2.142253057236823688e-01 6.729966465168476297e+00 6.260038344759424646e-09 -2.670507421371726142e-01 6.866488450042998418e+06 2.526499172806397908e-01 6.733949613798216660e+00 8.708145678655798159e-09 -3.147488810066778608e-01 6.866488450042998418e+06 2.973260562410209862e-01 6.716171402981314209e+00 1.211641208026378469e-08 -3.709664212206886247e-01 6.866488450042998418e+06 3.508952603698827222e-01 6.725011506803010519e+00 1.687764478775261819e-08 -4.372250196192620786e-01 6.866488450042998418e+06 4.142170923599567955e-01 6.735262803851724378e+00 2.354036186349113520e-08 -5.153181173433998286e-01 6.866488450042998418e+06 4.880105208667491201e-01 6.723990351047222980e+00 3.283198109443812826e-08 -6.073594834385067642e-01 6.866488450042998418e+06 5.763604125792373134e-01 6.735109503328695624e+00 4.588334625807100639e-08 -7.158404288682718164e-01 6.866488450042998418e+06 6.794942464118369774e-01 6.724206247225675170e+00 6.430242935816437130e-08 -8.436972395676662906e-01 6.866488450042998418e+06 8.028804514371797874e-01 6.732158003457095141e+00 9.034030309852862036e-08 -9.943906537655036182e-01 6.866488450042998418e+06 9.471874717291777213e-01 6.715878647669897283e+00 1.276098337959010810e-07 -1.171999534812844468e+00 6.866488450042998418e+06 1.121588171784318355e+00 6.732899398529043289e+00 1.815040260620889678e-07 -1.381331274987467994e+00 6.866488450042998418e+06 1.326089450890692856e+00 6.718741655172054017e+00 2.607338083940440969e-07 -1.628051918606947979e+00 6.866488450042998418e+06 1.572373170809156617e+00 6.725425153011921786e+00 3.807060794878110288e-07 -1.918839526531252559e+00 6.866488450042998418e+06 1.865812359412097665e+00 6.721622515072782633e+00 5.705497026299319058e-07 -2.261564933217340645e+00 6.866488450042998418e+06 2.218095381971210589e+00 6.724842945602921951e+00 9.061576409075612579e-07 -2.665504788930584290e+00 6.866488450042998418e+06 2.639296342099228809e+00 6.721112739935533043e+00 1.614778895479208439e-06 -3.141592653589792672e+00 6.866488450042998418e+06 3.141592653589792672e+00 6.669049072668335576e+00 6.125873332814456220e-05 -1.000000000000000021e-03 1.389495494373136014e+07 9.378089966665123858e-04 5.919433049914739620e+00 2.695217021571919386e-13 -1.178610770701415088e-03 1.389495494373136014e+07 1.105311788857402892e-03 5.919433049914739620e+00 3.731139546008199873e-13 -1.389123348813385214e-03 1.389495494373136014e+07 1.302732386739991833e-03 5.919433049914739620e+00 5.159369918644700686e-13 -1.637235740744274635e-03 1.389495494373136014e+07 1.535414434484264025e-03 5.919433049914739620e+00 7.184600689771524492e-13 -1.929663678218512032e-03 1.389495494373136014e+07 1.809656009834800490e-03 5.919433049914739620e+00 9.967156582329023138e-13 -2.274322394979648009e-03 1.389495494373136014e+07 2.132880096973337972e-03 5.919433049914739620e+00 1.385047071535918620e-12 -2.680540870770453925e-03 1.389495494373136014e+07 2.513835508146261902e-03 5.919433049914739620e+00 1.918928167636193365e-12 -3.159314341595407215e-03 1.389495494373136014e+07 2.962833692837308578e-03 5.919433049914739620e+00 2.672385838729378713e-12 -3.723601911035797143e-03 1.389495494373136014e+07 3.492027844883833880e-03 5.919433049914739620e+00 3.713688089748985550e-12 -4.388677318151167420e-03 1.389495494373136014e+07 4.115741863217079431e-03 5.920225947650368248e+00 5.168954190056411474e-12 -5.172542356305966961e-03 1.389495494373136014e+07 4.851714363105014832e-03 5.923605497421986499e+00 7.211997551066801028e-12 -6.096414133051489617e-03 1.389495494373136014e+07 5.721724111308881464e-03 5.930150622546105588e+00 9.992726020464042121e-12 -7.185299359870824139e-03 1.389495494373136014e+07 6.750156132631251679e-03 5.939281532996786517e+00 1.391408290451671965e-11 -8.468671216257736209e-03 1.389495494373136014e+07 7.965960344711229407e-03 5.950813010560310090e+00 1.934375719034453272e-11 -9.981267109010422481e-03 1.389495494373136014e+07 9.403843138834393905e-03 5.965008018154328795e+00 2.698044839032774529e-11 -1.176402891992746509e-02 1.389495494373136014e+07 1.103845913006553867e-02 5.935228310001861018e+00 3.749924245826463965e-11 -1.386521119186945317e-02 1.389495494373136014e+07 1.304172454757290302e-02 5.954870950406884411e+00 5.215860052014453040e-11 -1.634168724878715118e-02 1.389495494373136014e+07 1.541107895124303566e-02 5.976553829480314661e+00 7.249439889740153119e-11 -1.926048860285451206e-02 1.389495494373136014e+07 1.812090019274378502e-02 5.958608374103715910e+00 1.009641866127483002e-10 -2.270061931629619237e-02 1.389495494373136014e+07 2.131939703775839051e-02 5.945491286844609036e+00 1.402187320926028176e-10 -2.675519442777928719e-02 1.389495494373136014e+07 2.521743240798752367e-02 5.974119314347607457e+00 1.950350193639013921e-10 -3.153396032479117289e-02 1.389495494373136014e+07 2.969530684184454317e-02 5.967377855228940042e+00 2.711603484694320718e-10 -3.716626528166998983e-02 1.389495494373136014e+07 3.498565538770153499e-02 5.964501002535255836e+00 3.776616152762745760e-10 -4.380456056772231294e-02 1.389495494373136014e+07 4.123621725253612258e-02 5.964924703239680603e+00 5.245960246864165561e-10 -5.162852689096004283e-02 1.389495494373136014e+07 4.862207729509683551e-02 5.968298890723536587e+00 7.307420158017460316e-10 -6.084993786913318187e-02 1.389495494373136014e+07 5.735309966751235555e-02 5.974746023291506170e+00 1.015944851064132294e-09 -7.171839216907228975e-02 1.389495494373136014e+07 6.742351243313311759e-02 5.953956583558216664e+00 1.412789014376394425e-09 -8.452806946785666742e-02 1.389495494373136014e+07 7.959288204724759841e-02 5.966224878449736480e+00 1.964540241184685338e-09 -9.962569310141336509e-02 1.389495494373136014e+07 9.366257768168496922e-02 5.953335010436655139e+00 2.734459608696651012e-09 -1.174199149279194637e-01 1.389495494373136014e+07 1.106389462440323379e-01 5.970577898537908546e+00 3.800427393438788363e-09 -1.383923764288897684e-01 1.389495494373136014e+07 1.303080169607094552e-01 5.964063939011390758e+00 5.281336629966049576e-09 -1.631107454420542835e-01 1.389495494373136014e+07 1.535404609495303330e-01 5.960884303536140294e+00 7.350600178266661438e-09 -1.922440813951419580e-01 1.389495494373136014e+07 1.809852726639381015e-01 5.960566166153277834e+00 1.022525921246929988e-08 -2.265809449359138250e-01 1.389495494373136014e+07 2.134138944503213287e-01 5.962862845694785641e+00 1.421558190408792537e-08 -2.670507421371726142e-01 1.389495494373136014e+07 2.517373893533886853e-01 5.967474084814761603e+00 1.978749746682678366e-08 -3.147488810066778608e-01 1.389495494373136014e+07 2.970274999808831251e-01 5.973934822860554661e+00 2.755868182802578901e-08 -3.709664212206886247e-01 1.389495494373136014e+07 3.496978101154858964e-01 5.961310068178783617e+00 3.837605326758396087e-08 -4.372250196192620786e-01 1.389495494373136014e+07 4.128766819884978068e-01 5.971069171296445433e+00 5.346616742337076485e-08 -5.153181173433998286e-01 1.389495494373136014e+07 4.864655806535558846e-01 5.961888263919988162e+00 7.465307132783991305e-08 -6.073594834385067642e-01 1.389495494373136014e+07 5.746527173716502457e-01 5.972464221147055774e+00 1.043509252469172891e-07 -7.158404288682718164e-01 1.389495494373136014e+07 6.775491924009241496e-01 5.963571262680376073e+00 1.461539522187285347e-07 -8.436972395676662906e-01 1.389495494373136014e+07 8.007522207547264070e-01 5.971297698115415109e+00 2.054464397631956145e-07 -9.943906537655036182e-01 1.389495494373136014e+07 9.465222472962817601e-01 5.975205424216242456e+00 2.902217788260578225e-07 -1.171999534812844468e+00 1.389495494373136014e+07 1.119045191972064535e+00 5.972858867919327075e+00 4.125755980531585426e-07 -1.381331274987467994e+00 1.389495494373136014e+07 1.325307606056528309e+00 5.977767764629940750e+00 5.929563518113744834e-07 -1.628051918606947979e+00 1.389495494373136014e+07 1.569569815387967138e+00 5.966445490113609473e+00 8.654537607663226632e-07 -1.918839526531252559e+00 1.389495494373136014e+07 1.863116313634910703e+00 5.962948001629083450e+00 1.297168820561802248e-06 -2.261564933217340645e+00 1.389495494373136014e+07 2.215817797245688503e+00 5.965184177603242155e+00 2.061950014425885686e-06 -2.665504788930584290e+00 1.389495494373136014e+07 2.637757052594743357e+00 5.959070963824435019e+00 3.673228369538934172e-06 -3.141592653589792672e+00 1.389495494373136014e+07 3.141592653589792672e+00 5.919433049914739620e+00 1.396339468858807486e-04 -1.000000000000000021e-03 2.811768697974230722e+07 9.424458418775983216e-04 5.307214035491937487e+00 6.073009440913734471e-13 -1.178610770701415088e-03 2.811768697974230722e+07 1.110776824243434741e-03 5.307214035491937487e+00 8.464666769556237223e-13 -1.389123348813385214e-03 2.811768697974230722e+07 1.309173535781326270e-03 5.307214035491937487e+00 1.175099787441217861e-12 -1.637235740744274635e-03 2.811768697974230722e+07 1.543006041257405673e-03 5.307214035491937487e+00 1.631299913044927116e-12 -1.929663678218512032e-03 2.811768697974230722e+07 1.818603557932156221e-03 5.307214035491937487e+00 2.260020000047119706e-12 -2.274322394979648009e-03 2.811768697974230722e+07 2.143425771219831504e-03 5.307214035491937487e+00 3.156789032475835187e-12 -2.680540870770453925e-03 2.811768697974230722e+07 2.526264749611505968e-03 5.307214035491937487e+00 4.401623839604024940e-12 -3.159314341595407215e-03 2.811768697974230722e+07 2.977482924501339244e-03 5.307214035491937487e+00 6.103033700791162927e-12 -3.723601911035797143e-03 2.811768697974230722e+07 3.509293576957077301e-03 5.307214035491937487e+00 8.483049758166665880e-12 -4.388677318151167420e-03 2.811768697974230722e+07 4.136091424387191781e-03 5.307214035491937487e+00 1.178162829511089727e-11 -5.172542356305966961e-03 2.811768697974230722e+07 4.875054779688078183e-03 5.309123042136979720e+00 1.632564111479079162e-11 -6.096414133051489617e-03 2.811768697974230722e+07 5.747857435796349841e-03 5.313618490032275155e+00 2.280517197043652754e-11 -7.185299359870824139e-03 2.811768697974230722e+07 6.779169041272126162e-03 5.320433624800227967e+00 3.162668403234043246e-11 -8.468671216257736209e-03 2.811768697974230722e+07 7.998517065021562913e-03 5.329919925152989180e+00 4.403087303556947264e-11 -9.981267109010422481e-03 2.811768697974230722e+07 9.439671128554446775e-03 5.341429756242771276e+00 6.126430286538109816e-11 -1.176402891992746509e-02 2.811768697974230722e+07 1.114316692328790569e-02 5.354954636722672134e+00 8.502695554803857188e-11 -1.386521119186945317e-02 2.811768697974230722e+07 1.308831658709624576e-02 5.329987532492364011e+00 1.183771093783271711e-10 -1.634168724878715118e-02 2.811768697974230722e+07 1.546175435447031711e-02 5.348438723942527950e+00 1.647818993665816219e-10 -1.926048860285451206e-02 2.811768697974230722e+07 1.817977286090868838e-02 5.331177271453997335e+00 2.295243891028742489e-10 -2.270061931629619237e-02 2.811768697974230722e+07 2.148910454708481688e-02 5.353909115058394619e+00 3.190676838633930837e-10 -2.675519442777928719e-02 2.811768697974230722e+07 2.529039791010273194e-02 5.343178018706886689e+00 4.435672796997415864e-10 -3.153396032479117289e-02 2.811768697974230722e+07 2.977908093876759088e-02 5.336317655265706783e+00 6.163605511274689908e-10 -3.716626528166998983e-02 2.811768697974230722e+07 3.508029849433749736e-02 5.332786493810494299e+00 8.574147042530153853e-10 -4.380456056772231294e-02 2.811768697974230722e+07 4.134225355956137882e-02 5.332220724309685522e+00 1.191583060864862947e-09 -5.162852689096004283e-02 2.811768697974230722e+07 4.874256739993897830e-02 5.334687681710675200e+00 1.658761516182198875e-09 -6.084993786913318187e-02 2.811768697974230722e+07 5.748694862784418241e-02 5.339635292566621061e+00 2.311396602917179250e-09 -7.171839216907228975e-02 2.811768697974230722e+07 6.782086020733887888e-02 5.346928608107261560e+00 3.213609817664222746e-09 -8.452806946785666742e-02 2.811768697974230722e+07 8.003572865953655080e-02 5.356580009932446984e+00 4.468441673446390661e-09 -9.962569310141336509e-02 2.811768697974230722e+07 9.417250381157500627e-02 5.343003718013838999e+00 6.208970195185984173e-09 -1.174199149279194637e-01 2.811768697974230722e+07 1.112017919406194516e-01 5.357240806451735615e+00 8.638448909681204580e-09 -1.383923764288897684e-01 2.811768697974230722e+07 1.309527902693484458e-01 5.349843289846617722e+00 1.201975738699420269e-08 -1.631107454420542835e-01 2.811768697974230722e+07 1.542730666234275183e-01 5.345457775318419813e+00 1.670046895196679107e-08 -1.922440813951419580e-01 2.811768697974230722e+07 1.818163140156346114e-01 5.343858561316176647e+00 2.323556901747916875e-08 -2.265809449359138250e-01 2.811768697974230722e+07 2.143539643027753405e-01 5.344752939652758883e+00 3.233896009703542252e-08 -2.670507421371726142e-01 2.811768697974230722e+07 2.527933805032850922e-01 5.347710534802330606e+00 4.498498363698387736e-08 -3.147488810066778608e-01 2.811768697974230722e+07 2.982131182279406101e-01 5.352502213221536742e+00 6.259837831289028860e-08 -3.709664212206886247e-01 2.811768697974230722e+07 3.518873412058790562e-01 5.358826457308770941e+00 8.725711049487427499e-08 -4.372250196192620786e-01 2.811768697974230722e+07 4.144021666846216534e-01 5.347893093423377486e+00 1.216657154829903866e-07 -5.153181173433998286e-01 2.811768697974230722e+07 4.892595410062373640e-01 5.356272182212833854e+00 1.697029806447786595e-07 -6.073594834385067642e-01 2.811768697974230722e+07 5.765910062498812438e-01 5.347495870415540864e+00 2.371804364344899744e-07 -7.158404288682718164e-01 2.811768697974230722e+07 6.810856895447294779e-01 5.355495897639457326e+00 3.323510752489825456e-07 -8.436972395676662906e-01 2.811768697974230722e+07 8.031891632169104733e-01 5.345199880608471510e+00 4.669631757306571022e-07 -9.943906537655036182e-01 2.811768697974230722e+07 9.491937821148587195e-01 5.348208085416580992e+00 6.595500092229104110e-07 -1.171999534812844468e+00 2.811768697974230722e+07 1.121952160271807442e+00 5.345622283503566941e+00 9.379479223674578585e-07 -1.381331274987467994e+00 2.811768697974230722e+07 1.328366348489045334e+00 5.349799887599228754e+00 1.347631389267397992e-06 -1.628051918606947979e+00 2.811768697974230722e+07 1.574667406162238548e+00 5.355045481328884804e+00 1.967793401060113633e-06 -1.918839526531252559e+00 2.811768697974230722e+07 1.868038086863468950e+00 5.352299226742740501e+00 2.947740360105172309e-06 -2.261564933217340645e+00 2.811768697974230722e+07 2.220000191853919613e+00 5.355621681249240318e+00 4.686476028140569153e-06 -2.665504788930584290e+00 2.811768697974230722e+07 2.640540936948716944e+00 5.354262108950829102e+00 8.347903666738740319e-06 -3.141592653589792672e+00 2.811768697974230722e+07 3.141592653589792672e+00 5.307214035491937487e+00 3.172088875443730954e-04 -1.000000000000000021e-03 5.689866029018304497e+07 9.400741714189402931e-04 4.712128940513527375e+00 1.381885232184956385e-12 -1.178610770701415088e-03 5.689866029018304497e+07 1.107981548061219741e-03 4.712128940513527375e+00 1.918121895211437495e-12 -1.389123348813385214e-03 5.689866029018304497e+07 1.305878993435893561e-03 4.712128940513527375e+00 2.679372601957102876e-12 -1.637235740744274635e-03 5.689866029018304497e+07 1.539123058606606210e-03 4.712128940513527375e+00 3.694527451356467306e-12 -1.929663678218512032e-03 5.689866029018304497e+07 1.814027033481242692e-03 4.712128940513527375e+00 5.169270962248392090e-12 -2.274322394979648009e-03 5.689866029018304497e+07 2.138031831394571550e-03 4.712128940513527375e+00 7.138662465475940990e-12 -2.680540870770453925e-03 5.689866029018304497e+07 2.519907395977011213e-03 4.712128940513527375e+00 9.938508942754324780e-12 -3.159314341595407215e-03 5.689866029018304497e+07 2.969990082210929513e-03 4.712128940513527375e+00 1.381426035594786718e-11 -3.723601911035797143e-03 5.689866029018304497e+07 3.500462437530883677e-03 4.712128940513527375e+00 1.917563909909758953e-11 -4.388677318151167420e-03 5.689866029018304497e+07 4.125682956856283751e-03 4.712310433248719121e+00 2.669612047541306627e-11 -5.172542356305966961e-03 5.689866029018304497e+07 4.863050459750772880e-03 4.714500387084576971e+00 3.721613325141575590e-11 -6.096414133051489617e-03 5.689866029018304497e+07 5.734126091082876464e-03 4.718832236321173212e+00 5.154395503839180368e-11 -7.185299359870824139e-03 5.689866029018304497e+07 6.763943536754878950e-03 4.725554272909342046e+00 7.197172336121687862e-11 -8.468671216257736209e-03 5.689866029018304497e+07 7.981289321145342008e-03 4.734270373893078698e+00 9.986276483221863116e-11 -9.981267109010422481e-03 5.689866029018304497e+07 9.420287049325572551e-03 4.744790850057585274e+00 1.388983405963454756e-10 -1.176402891992746509e-02 5.689866029018304497e+07 1.112193129147941509e-02 4.757363806185496813e+00 1.938303328842633406e-10 -1.386521119186945317e-02 5.689866029018304497e+07 1.306284740626932270e-02 4.735681127048666283e+00 2.690186430865149662e-10 -1.634168724878715118e-02 5.689866029018304497e+07 1.543368670487280450e-02 4.752390372802621776e+00 3.741250197375397008e-10 -1.926048860285451206e-02 5.689866029018304497e+07 1.814716018007412821e-02 4.737666901281285980e+00 5.204430914617900904e-10 -2.270061931629619237e-02 5.689866029018304497e+07 2.145303346497793445e-02 4.758013761902315508e+00 7.238675529915190010e-10 -2.675519442777928719e-02 5.689866029018304497e+07 2.524902470471807742e-02 4.749033248891869619e+00 1.007156928806480158e-09 -3.153396032479117289e-02 5.689866029018304497e+07 2.973142461363862538e-02 4.743333989247327409e+00 1.401723895924982597e-09 -3.716626528166998983e-02 5.689866029018304497e+07 3.502522790767945149e-02 4.740475615493964234e+00 1.948785665200942304e-09 -4.380456056772231294e-02 5.689866029018304497e+07 4.128061376813763061e-02 4.740477912406733552e+00 2.712223581404961919e-09 -5.162852689096004283e-02 5.689866029018304497e+07 4.867208065302037340e-02 4.742900683624337255e+00 3.769717805854050054e-09 -6.084993786913318187e-02 5.689866029018304497e+07 5.740692111020750943e-02 4.747537474576746241e+00 5.252552132736083303e-09 -7.171839216907228975e-02 5.689866029018304497e+07 6.773233566101613534e-02 4.754429613655252851e+00 7.301393188043543415e-09 -8.452806946785666742e-02 5.689866029018304497e+07 7.966188292640943858e-02 4.740219715878072115e+00 1.014838595650756460e-08 -9.962569310141336509e-02 5.689866029018304497e+07 9.405597154690188699e-02 4.751454764961462907e+00 1.412450897427857706e-08 -1.174199149279194637e-01 5.689866029018304497e+07 1.107238215503232315e-01 4.743096865684193197e+00 1.962603946799002360e-08 -1.383923764288897684e-01 5.689866029018304497e+07 1.308031673229409775e-01 4.758020174850799755e+00 2.727707896523115904e-08 -1.631107454420542835e-01 5.689866029018304497e+07 1.541019545104221344e-01 4.754410538279163490e+00 3.800974634316849591e-08 -1.922440813951419580e-01 5.689866029018304497e+07 1.816218870017949905e-01 4.753265730689678392e+00 5.282696694105847772e-08 -2.265809449359138250e-01 5.689866029018304497e+07 2.141307390496026697e-01 4.754213876421730767e+00 7.346256939136651659e-08 -2.670507421371726142e-01 5.689866029018304497e+07 2.525411135695626030e-01 4.757063594284152153e+00 1.022542957301394707e-07 -3.147488810066778608e-01 5.689866029018304497e+07 2.971894795975518200e-01 4.744420051344802047e+00 1.424909599405480965e-07 -3.709664212206886247e-01 5.689866029018304497e+07 3.507369292205926303e-01 4.750635106582397071e+00 1.983363389276459383e-07 -4.372250196192620786e-01 5.689866029018304497e+07 4.140292808056876828e-01 4.757760540176332320e+00 2.762612935189589736e-07 -5.153181173433998286e-01 5.689866029018304497e+07 4.877853624862097948e-01 4.749782483448039550e+00 3.859803450709538854e-07 -6.073594834385067642e-01 5.689866029018304497e+07 5.761149253413955229e-01 4.757752766794788535e+00 5.390716633236398208e-07 -7.158404288682718164e-01 5.689866029018304497e+07 6.792108230019067161e-01 4.750116165683511582e+00 7.554887312111835248e-07 -8.436972395676662906e-01 5.689866029018304497e+07 8.025827156565166209e-01 4.755921103802275063e+00 1.062375408743869555e-06 -9.943906537655036182e-01 5.689866029018304497e+07 9.485277369243684253e-01 4.758697563894100924e+00 1.499405990957811850e-06 -1.171999534812844468e+00 5.689866029018304497e+07 1.121227110315055064e+00 4.756507988256605479e+00 2.133281256864606080e-06 -1.381331274987467994e+00 5.689866029018304497e+07 1.325672132954083260e+00 4.746383121713176223e+00 3.069225105541342667e-06 -1.628051918606947979e+00 5.689866029018304497e+07 1.571948460570267603e+00 4.751078521094017404e+00 4.485498358342001255e-06 -1.918839526531252559e+00 5.689866029018304497e+07 1.865417998133192423e+00 4.748483327880031801e+00 6.727687967935111725e-06 -2.261564933217340645e+00 5.689866029018304497e+07 2.217773274744808010e+00 4.750773377237954342e+00 1.067581929740057494e-05 -2.665504788930584290e+00 5.689866029018304497e+07 2.639072609476760700e+00 4.747725881670607606e+00 1.893538901772957349e-05 -3.141592653589792672e+00 5.689866029018304497e+07 3.141592653589792672e+00 4.712128940513527375e+00 7.320111503197501051e-04 -1.000000000000000021e-03 1.151395399326448143e+08 9.377058787565132432e-04 4.184672566968505869e+00 3.121677108375935588e-12 -1.178610770701415088e-03 1.151395399326448143e+08 1.105190252985139600e-03 4.184672566968505869e+00 4.361356094993520925e-12 -1.389123348813385214e-03 1.151395399326448143e+08 1.302589143263575746e-03 4.184672566968505869e+00 6.028403078575795764e-12 -1.637235740744274635e-03 1.151395399326448143e+08 1.535245606199210156e-03 4.184672566968505869e+00 8.388598606294787937e-12 -1.929663678218512032e-03 1.151395399326448143e+08 1.809457027030871891e-03 4.184672566968505869e+00 1.164545579311088639e-11 -2.274322394979648009e-03 1.151395399326448143e+08 2.132645573748597530e-03 4.184672566968505869e+00 1.603858543039270102e-11 -2.680540870770453925e-03 1.151395399326448143e+08 2.513559096631350770e-03 4.184672566968505869e+00 2.235497700727937964e-11 -3.159314341595407215e-03 1.151395399326448143e+08 2.962507911385788527e-03 4.184672566968505869e+00 3.125820460925007772e-11 -3.723601911035797143e-03 1.151395399326448143e+08 3.491643875580653124e-03 4.184672566968505869e+00 4.326529790496708330e-11 -4.388677318151167420e-03 1.151395399326448143e+08 4.115289313228248300e-03 4.185091379775144560e+00 6.032080294700321966e-11 -5.172542356305966961e-03 1.151395399326448143e+08 4.851056623969078954e-03 4.187320336286306954e+00 8.407576979989588147e-11 -6.096414133051489617e-03 1.151395399326448143e+08 5.720631104037769178e-03 4.191646802068945910e+00 1.170345257736597555e-10 -7.185299359870824139e-03 1.151395399326448143e+08 6.748715643569180335e-03 4.197960539538846625e+00 1.621850278074189732e-10 -8.468671216257736209e-03 1.151395399326448143e+08 7.964037655909609811e-03 4.205928525144211783e+00 2.257853096403756776e-10 -9.981267109010422481e-03 1.151395399326448143e+08 9.401320130378060247e-03 4.215765347146733788e+00 3.134884638947721441e-10 -1.176402891992746509e-02 1.151395399326448143e+08 1.103503432630043024e-02 4.194645103867536307e+00 4.372461619304614689e-10 -1.386521119186945317e-02 1.151395399326448143e+08 1.303740240067708528e-02 4.208330642177608993e+00 6.092109336474425869e-10 -1.634168724878715118e-02 1.151395399326448143e+08 1.540596680715729076e-02 4.223545975347337667e+00 8.456896003190570859e-10 -1.926048860285451206e-02 1.151395399326448143e+08 1.811435813933877023e-02 4.210807903519317108e+00 1.177798836817853770e-09 -2.270061931629619237e-02 1.151395399326448143e+08 2.131089925405798072e-02 4.201421911771157092e+00 1.639033950558290141e-09 -2.675519442777928719e-02 1.151395399326448143e+08 2.520769270128512055e-02 4.221556414510412303e+00 2.278154521963085616e-09 -3.153396032479117289e-02 1.151395399326448143e+08 2.968337961506986936e-02 4.216751700089904631e+00 3.167811193079285058e-09 -3.716626528166998983e-02 1.151395399326448143e+08 3.497085503535122403e-02 4.214624282986076054e+00 4.408636329677044883e-09 -4.380456056772231294e-02 1.151395399326448143e+08 4.121844985910187026e-02 4.214880827035095479e+00 6.128217337582098439e-09 -5.162852689096004283e-02 1.151395399326448143e+08 4.860088586161631641e-02 4.217218296709969394e+00 8.521204116605738029e-09 -6.084993786913318187e-02 1.151395399326448143e+08 5.732782299320418606e-02 4.221706634061238361e+00 1.186932186155358677e-08 -7.171839216907228975e-02 1.151395399326448143e+08 6.739226346058022066e-02 4.207028569128345552e+00 1.652331394174725388e-08 -8.452806946785666742e-02 1.151395399326448143e+08 7.955634966870006597e-02 4.215640543305980259e+00 2.295577290802166931e-08 -9.962569310141336509e-02 1.151395399326448143e+08 9.393969872964297307e-02 4.225899936158667991e+00 3.192522735726523503e-08 -1.174199149279194637e-01 1.151395399326448143e+08 1.105879021113103239e-01 4.218670983006730602e+00 4.436056036928359571e-08 -1.383923764288897684e-01 1.151395399326448143e+08 1.302464247265790465e-01 4.214046981529713243e+00 6.173920633025594978e-08 -1.631107454420542835e-01 1.151395399326448143e+08 1.534672051478010169e-01 4.211793244627776822e+00 8.579003785385585502e-08 -1.922440813951419580e-01 1.151395399326448143e+08 1.808988123771382017e-01 4.211561704075426071e+00 1.194552402720777066e-07 -2.265809449359138250e-01 1.151395399326448143e+08 2.133123567204892601e-01 4.213172019778654409e+00 1.661586533170217056e-07 -2.670507421371726142e-01 1.151395399326448143e+08 2.516195355728706451e-01 4.216431037783529234e+00 2.310114225787639796e-07 -3.147488810066778608e-01 1.151395399326448143e+08 2.968903670784146520e-01 4.220974874469360927e+00 3.218302026053788501e-07 -3.709664212206886247e-01 1.151395399326448143e+08 3.495328579907592825e-01 4.212066170353147676e+00 4.483400895872803497e-07 -4.372250196192620786e-01 1.151395399326448143e+08 4.126876697826597495e-01 4.218948837663840656e+00 6.254646992150089799e-07 -5.153181173433998286e-01 1.151395399326448143e+08 4.873499195852951660e-01 4.226173382965783709e+00 8.714211841311856148e-07 -6.073594834385067642e-01 1.151395399326448143e+08 5.743949862867390177e-01 4.219897396689274771e+00 1.218616742994144600e-06 -7.158404288682718164e-01 1.151395399326448143e+08 6.772474496714356862e-01 4.213628279507248386e+00 1.707900287189098910e-06 -8.436972395676662906e-01 1.151395399326448143e+08 8.004189640565257946e-01 4.219123443001215001e+00 2.399906093487932551e-06 -9.943906537655036182e-01 1.151395399326448143e+08 9.461493847622824971e-01 4.221874714310733800e+00 3.390088768040823886e-06 -1.171999534812844468e+00 1.151395399326448143e+08 1.118630510942558498e+00 4.220212025455787774e+00 4.821407631491492940e-06 -1.381331274987467994e+00 1.151395399326448143e+08 1.324868169973840937e+00 4.223677928163079187e+00 6.931749600766514406e-06 -1.628051918606947979e+00 1.151395399326448143e+08 1.569105993437546420e+00 4.215672788767150792e+00 1.012651467606901352e-05 -1.918839526531252559e+00 1.151395399326448143e+08 1.864623484800079556e+00 4.225439976276570420e+00 1.522997733624609169e-05 -2.261564933217340645e+00 1.151395399326448143e+08 2.215448550431017072e+00 4.214758579128350391e+00 2.432251187533046783e-05 -2.665504788930584290e+00 1.151395399326448143e+08 2.638637494297421338e+00 4.224269930058942357e+00 4.341222055214577778e-05 -3.141592653589792672e+00 1.151395399326448143e+08 3.141592653589792672e+00 4.184672566968505869e+00 1.696551438872312976e-03 -1.000000000000000021e-03 2.329951810515371859e+08 9.425971725907811728e-04 3.754052849413867854e+00 7.236462589075173549e-12 -1.178610770701415088e-03 2.329951810515371859e+08 1.110955184241374386e-03 3.754052849413867854e+00 1.009718258962408054e-11 -1.389123348813385214e-03 2.329951810515371859e+08 1.309383752778682606e-03 3.754052849413867854e+00 1.390419682958469242e-11 -1.637235740744274635e-03 2.329951810515371859e+08 1.543253805246383968e-03 3.754052849413867854e+00 1.930511769691848880e-11 -1.929663678218512032e-03 2.329951810515371859e+08 1.818895575191839097e-03 3.754052849413867854e+00 2.702272879716454363e-11 -2.274322394979648009e-03 2.329951810515371859e+08 2.143769945831488014e-03 3.754052849413867854e+00 3.744098230266927668e-11 -2.680540870770453925e-03 2.329951810515371859e+08 2.526670397391646890e-03 3.754052849413867854e+00 5.214343566352436234e-11 -3.159314341595407215e-03 2.329951810515371859e+08 2.977961025140852397e-03 3.754052849413867854e+00 7.260897035236619250e-11 -3.723601911035797143e-03 2.329951810515371859e+08 3.509857071187470756e-03 3.754052849413867854e+00 1.008450312446952895e-10 -4.388677318151167420e-03 2.329951810515371859e+08 4.136755564211474188e-03 3.754052849413867854e+00 1.397793753730838036e-10 -5.172542356305966961e-03 2.329951810515371859e+08 4.875667956933382556e-03 3.755016134950996953e+00 1.945304476316349659e-10 -6.096414133051489617e-03 2.329951810515371859e+08 5.748353388905936417e-03 3.757994528170479853e+00 2.696726390276624603e-10 -7.185299359870824139e-03 2.329951810515371859e+08 6.779496482021381450e-03 3.762622001395993898e+00 3.738186353642189217e-10 -8.468671216257736209e-03 2.329951810515371859e+08 7.998346225990254216e-03 3.768972813705355751e+00 5.239181760507158577e-10 -9.981267109010422481e-03 2.329951810515371859e+08 9.439198299016210436e-03 3.776945195532310784e+00 7.247921475425253950e-10 -1.176402891992746509e-02 2.329951810515371859e+08 1.114215485368465208e-02 3.786266479784184735e+00 1.006192821256172159e-09 -1.386521119186945317e-02 2.329951810515371859e+08 1.308644224890128348e-02 3.768427110239711553e+00 1.402345243880963634e-09 -1.634168724878715118e-02 2.329951810515371859e+08 1.545928297168151604e-02 3.781327557552983887e+00 1.951756117231330096e-09 -1.926048860285451206e-02 2.329951810515371859e+08 1.817585367339296515e-02 3.768914149454875684e+00 2.723826370625879027e-09 -2.270061931629619237e-02 2.329951810515371859e+08 2.148432413196138188e-02 3.784854931307214621e+00 3.788935244741449978e-09 -2.675519442777928719e-02 2.329951810515371859e+08 2.528411758357816674e-02 3.777186449329426043e+00 5.247133025485565346e-09 -3.153396032479117289e-02 2.329951810515371859e+08 2.977048132402224795e-02 3.772167650279947271e+00 7.327379842672932089e-09 -3.716626528166998983e-02 2.329951810515371859e+08 3.506953021814913918e-02 3.769600061393629797e+00 1.018115164763792770e-08 -4.380456056772231294e-02 2.329951810515371859e+08 4.149329097815476070e-02 3.790655138386006762e+00 1.410555824768368387e-08 -5.162852689096004283e-02 2.329951810515371859e+08 4.872566851570386132e-02 3.770736272933004951e+00 1.963990464046943282e-08 -6.084993786913318187e-02 2.329951810515371859e+08 5.746665586905772699e-02 3.774173363467273834e+00 2.739391609181508924e-08 -7.171839216907228975e-02 2.329951810515371859e+08 6.779612599534055872e-02 3.779224735959788806e+00 3.809897354626886940e-08 -8.452806946785666742e-02 2.329951810515371859e+08 8.000642057820785136e-02 3.785978511880970565e+00 5.304402008612610640e-08 -9.962569310141336509e-02 2.329951810515371859e+08 9.413606316844222444e-02 3.776356789589265794e+00 7.359444612147054022e-08 -1.174199149279194637e-01 2.329951810515371859e+08 1.111587110122733979e-01 3.786323872426217818e+00 1.023821723720588499e-07 -1.383923764288897684e-01 2.329951810515371859e+08 1.309003023087475792e-01 3.781069391701583182e+00 1.421906364928885338e-07 -1.631107454420542835e-01 2.329951810515371859e+08 1.542097683770784766e-01 3.777944671891773076e+00 1.983362403924248128e-07 -1.922440813951419580e-01 2.329951810515371859e+08 1.817399950039286227e-01 3.776769913020864955e+00 2.749855672857285280e-07 -2.265809449359138250e-01 2.329951810515371859e+08 2.142631329799283835e-01 3.777368023896427562e+00 3.827835325122303020e-07 -2.670507421371726142e-01 2.329951810515371859e+08 2.526862514580430763e-01 3.779429094446995485e+00 5.337859175591915934e-07 -3.147488810066778608e-01 2.329951810515371859e+08 2.980873148290892893e-01 3.782780834716540586e+00 7.422729007550551483e-07 -3.709664212206886247e-01 2.329951810515371859e+08 3.517407003496026419e-01 3.787217828220624583e+00 1.032437196184475403e-06 -4.372250196192620786e-01 2.329951810515371859e+08 4.142246685423330854e-01 3.779480865212414553e+00 1.438243962116494419e-06 -5.153181173433998286e-01 2.329951810515371859e+08 4.890557196759643954e-01 3.785378314528691668e+00 2.012486626311532557e-06 -6.073594834385067642e-01 2.329951810515371859e+08 5.763473529588473143e-01 3.779160876529049862e+00 2.809674859253918808e-06 -7.158404288682718164e-01 2.329951810515371859e+08 6.808080348788455582e-01 3.784784298717295048e+00 3.938208723912507143e-06 -8.436972395676662906e-01 2.329951810515371859e+08 8.043376541580631311e-01 3.789076712385027523e+00 5.535681970300926905e-06 -9.943906537655036182e-01 2.329951810515371859e+08 9.504455835017731058e-01 3.790977085626213938e+00 7.835930799601544412e-06 -1.171999534812844468e+00 2.329951810515371859e+08 1.123309783203827461e+00 3.788945866540438967e+00 1.114212018226920757e-05 -1.381331274987467994e+00 2.329951810515371859e+08 1.327932196315504410e+00 3.780723859402109088e+00 1.600340551661957078e-05 -1.628051918606947979e+00 2.329951810515371859e+08 1.574226721748830826e+00 3.784414246055003872e+00 2.339115933091098673e-05 -1.918839526531252559e+00 2.329951810515371859e+08 1.867614592698127129e+00 3.782462673719125146e+00 3.508950820803713157e-05 -2.261564933217340645e+00 2.329951810515371859e+08 2.219656174902683965e+00 3.784833049054051823e+00 5.526347597804370462e-05 -2.665504788930584290e+00 2.329951810515371859e+08 2.640338506044598521e+00 3.783931746290304154e+00 9.713081268236457334e-05 -3.141592653589792672e+00 2.329951810515371859e+08 3.141592653589792672e+00 3.754052849413867854e+00 3.852764785996577561e-03 -1.000000000000000021e-03 4.714866363457389474e+08 9.405679382077169288e-04 3.335628017045612737e+00 1.672882044276720306e-11 -1.178610770701415088e-03 4.714866363457389474e+08 1.108563506882393824e-03 3.335628017045612737e+00 2.323299566232242474e-11 -1.389123348813385214e-03 4.714866363457389474e+08 1.306564896314480828e-03 3.335628017045612737e+00 3.234459696899420669e-11 -1.637235740744274635e-03 4.714866363457389474e+08 1.539931471035036739e-03 3.335628017045612737e+00 4.462864466366391524e-11 -1.929663678218512032e-03 4.714866363457389474e+08 1.814979836926045812e-03 3.335628017045612737e+00 6.190223909873983322e-11 -2.274322394979648009e-03 4.714866363457389474e+08 2.139154815550553188e-03 3.335628017045612737e+00 8.628474122146449197e-11 -2.680540870770453925e-03 4.714866363457389474e+08 2.521230956795127674e-03 3.335628017045612737e+00 1.199558666766166514e-10 -3.159314341595407215e-03 4.714866363457389474e+08 2.971550044586289841e-03 3.335628017045612737e+00 1.651536367205688173e-10 -3.723601911035797143e-03 4.714866363457389474e+08 3.502301024906892719e-03 3.335628017045612737e+00 2.298985977702081474e-10 -4.388677318151167420e-03 4.714866363457389474e+08 4.127849933969895621e-03 3.335628017045612737e+00 3.232395058583450349e-10 -5.172542356305966961e-03 4.714866363457389474e+08 4.865354333861650685e-03 3.336823820052831291e+00 4.483541473933169409e-10 -6.096414133051489617e-03 4.714866363457389474e+08 5.736502241249490097e-03 3.339642118781473989e+00 6.179686938122860636e-10 -7.185299359870824139e-03 4.714866363457389474e+08 6.765981944315297737e-03 3.343933847929387415e+00 8.661361135368675589e-10 -8.468671216257736209e-03 4.714866363457389474e+08 7.983271758535677096e-03 3.349885162335777711e+00 1.200633150789586278e-09 -9.981267109010422481e-03 4.714866363457389474e+08 9.422122737269134421e-03 3.357103314892643020e+00 1.660664205895294333e-09 -1.176402891992746509e-02 4.714866363457389474e+08 1.112319911858930359e-02 3.365639566949035988e+00 2.317033464226026373e-09 -1.386521119186945317e-02 4.714866363457389474e+08 1.306376001712310393e-02 3.350125454944719472e+00 3.210606832131532855e-09 -1.634168724878715118e-02 4.714866363457389474e+08 1.543390739985845382e-02 3.361681296962463872e+00 4.492439608982482614e-09 -1.926048860285451206e-02 4.714866363457389474e+08 1.814641066505843711e-02 3.351057770244468603e+00 6.224360789205049036e-09 -2.270061931629619237e-02 4.714866363457389474e+08 2.145162694404382023e-02 3.365292323684834663e+00 8.673691213966337109e-09 -2.675519442777928719e-02 4.714866363457389474e+08 2.524582319541257211e-02 3.358696543738839413e+00 1.206555653358412138e-08 -3.153396032479117289e-02 4.714866363457389474e+08 2.972672655246633849e-02 3.354550583777158312e+00 1.681332713935713091e-08 -3.716626528166998983e-02 4.714866363457389474e+08 3.501876871275518693e-02 3.352427269108523955e+00 2.334776819388597780e-08 -4.380456056772231294e-02 4.714866363457389474e+08 4.127104765020465915e-02 3.352225384725854962e+00 3.244515531516500184e-08 -5.162852689096004283e-02 4.714866363457389474e+08 4.865988458097345731e-02 3.353845115118263109e+00 4.530721191135886704e-08 -6.084993786913318187e-02 4.714866363457389474e+08 5.739143598502187416e-02 3.357015645155900341e+00 6.299621042790367866e-08 -7.171839216907228975e-02 4.714866363457389474e+08 6.771239977924810305e-02 3.361743460320843813e+00 8.757897998912007339e-08 -8.452806946785666742e-02 4.714866363457389474e+08 7.991161654899460454e-02 3.367851991681062973e+00 1.211680804530094089e-07 -9.962569310141336509e-02 4.714866363457389474e+08 9.402404874292107084e-02 3.359448958010081476e+00 1.685356363030280727e-07 -1.174199149279194637e-01 4.714866363457389474e+08 1.110357252183007959e-01 3.368517899194282350e+00 2.344815721132856844e-07 -1.383923764288897684e-01 4.714866363457389474e+08 1.307564858365206639e-01 3.363968578821401323e+00 3.259332522656354072e-07 -1.631107454420542835e-01 4.714866363457389474e+08 1.540432003311463516e-01 3.361321844783538904e+00 4.531413581345910961e-07 -1.922440813951419580e-01 4.714866363457389474e+08 1.815509353014823080e-01 3.360472142368735149e+00 6.324474666945384244e-07 -2.265809449359138250e-01 4.714866363457389474e+08 2.140457726335363853e-01 3.361102183348346539e+00 8.760137769857605922e-07 -2.670507421371726142e-01 4.714866363457389474e+08 2.524383896761884793e-01 3.363044085178569453e+00 1.225334328551917938e-06 -3.147488810066778608e-01 4.714866363457389474e+08 2.978084319577121164e-01 3.366167847988156936e+00 1.702319474310269767e-06 -3.709664212206886247e-01 4.714866363457389474e+08 3.505873699350844919e-01 3.358427547128230106e+00 2.370835081664600596e-06 -4.372250196192620786e-01 4.714866363457389474e+08 4.138534824925836353e-01 3.363402334607218158e+00 3.303730723665219846e-06 -5.153181173433998286e-01 4.714866363457389474e+08 4.875730560191171015e-01 3.357744104107198702e+00 4.596325934166145293e-06 -6.073594834385067642e-01 4.714866363457389474e+08 5.758706451757140687e-01 3.363334299901053370e+00 6.430351549832899130e-06 -7.158404288682718164e-01 4.714866363457389474e+08 6.802764100257335800e-01 3.368394499622693328e+00 8.990054783065437209e-06 -8.436972395676662906e-01 4.714866363457389474e+08 8.022516987193009097e-01 3.361983616457638213e+00 1.267404196899774626e-05 -9.943906537655036182e-01 4.714866363457389474e+08 9.481522705176109733e-01 3.363909612131330995e+00 1.781369756803634436e-05 -1.171999534812844468e+00 4.714866363457389474e+08 1.120807193869159502e+00 3.362346893644351464e+00 2.534249987677881038e-05 -1.381331274987467994e+00 4.714866363457389474e+08 1.327143138331341898e+00 3.364927764710568869e+00 3.626586260072071005e-05 -1.628051918606947979e+00 4.714866363457389474e+08 1.573435293446819871e+00 3.368242977196259869e+00 5.269171091611842797e-05 -1.918839526531252559e+00 4.714866363457389474e+08 1.866856651375915499e+00 3.366498519413831492e+00 7.835631870644606072e-05 -2.261564933217340645e+00 4.714866363457389474e+08 2.219013120315455279e+00 3.368474956981274637e+00 1.233810289359884421e-04 -2.665504788930584290e+00 4.714866363457389474e+08 2.639927680063020254e+00 3.367423824750048311e+00 2.192025022055205162e-04 -3.141592653589792672e+00 4.714866363457389474e+08 3.141592653589792672e+00 3.335628017045612737e+00 8.707964382510683179e-03 -1.000000000000000021e-03 9.540954763499963284e+08 9.386324582378197676e-04 2.964876798677569703e+00 3.623794686430512388e-11 -1.178610770701415088e-03 9.540954763499963284e+08 1.106282329477598298e-03 2.964876798677569703e+00 5.082466287615879248e-11 -1.389123348813385214e-03 9.540954763499963284e+08 1.303876276275031752e-03 2.964876798677569703e+00 7.101146952242407219e-11 -1.637235740744274635e-03 9.540954763499963284e+08 1.536762634857957548e-03 2.964876798677569703e+00 9.757469488465476376e-11 -1.929663678218512032e-03 9.540954763499963284e+08 1.811245013066127563e-03 2.964876798677569703e+00 1.368997023285582423e-10 -2.274322394979648009e-03 9.540954763499963284e+08 2.134752912886879114e-03 2.964876798677569703e+00 1.900412937033271830e-10 -2.680540870770453925e-03 9.540954763499963284e+08 2.516042828482921174e-03 2.964876798677569703e+00 2.626644358991750610e-10 -3.159314341595407215e-03 9.540954763499963284e+08 2.965435263262571671e-03 2.964876798677569703e+00 3.680044509362636526e-10 -3.723601911035797143e-03 9.540954763499963284e+08 3.495094082010253428e-03 2.964876798677569703e+00 5.103168792836119688e-10 -4.388677318151167420e-03 9.540954763499963284e+08 4.119355760376824764e-03 2.964909961804490290e+00 7.142053672064556755e-10 -5.172542356305966961e-03 9.540954763499963284e+08 4.855505920263195919e-03 2.966191751542996524e+00 9.893082715051563669e-10 -6.096414133051489617e-03 9.540954763499963284e+08 5.725163127389113274e-03 2.968819116915240919e+00 1.374872696586533180e-09 -7.185299359870824139e-03 9.540954763499963284e+08 6.753260301373871684e-03 2.972890977450715067e+00 1.917017635109927728e-09 -8.468671216257736209e-03 9.540954763499963284e+08 7.968782737988795717e-03 2.978283469998486144e+00 2.656183943191629242e-09 -9.981267109010422481e-03 9.540954763499963284e+08 9.405678274416658449e-03 2.984789244055988444e+00 3.696387666946765572e-09 -1.176402891992746509e-02 9.540954763499963284e+08 1.110499850123710004e-02 2.992595028781638522e+00 5.159599699076827720e-09 -1.386521119186945317e-02 9.540954763499963284e+08 1.304179003040603461e-02 2.979032841042760005e+00 7.158594023691553123e-09 -1.634168724878715118e-02 9.540954763499963284e+08 1.540960634550963930e-02 2.989443193673828159e+00 9.961581491837625638e-09 -1.926048860285451206e-02 9.540954763499963284e+08 1.811774308478772411e-02 2.980238524294115177e+00 1.387075737659657994e-08 -2.270061931629619237e-02 9.540954763499963284e+08 2.141982083766460696e-02 2.992947560798906004e+00 1.930669964329094301e-08 -2.675519442777928719e-02 9.540954763499963284e+08 2.520915157116444816e-02 2.987353884415093308e+00 2.684811688081428599e-08 -3.153396032479117289e-02 9.540954763499963284e+08 2.968388446330845476e-02 2.983807525497458979e+00 3.734442110999893309e-08 -3.716626528166998983e-02 9.540954763499963284e+08 3.496897523900043686e-02 2.982042105564558732e+00 5.192757286352670639e-08 -4.380456056772231294e-02 9.540954763499963284e+08 4.121480882764903819e-02 2.982092818870415663e+00 7.232439749444335034e-08 -5.162852689096004283e-02 9.540954763499963284e+08 4.859527688608294288e-02 2.983636415818767151e+00 1.006147554473588126e-07 -6.084993786913318187e-02 9.540954763499963284e+08 5.731813579270030046e-02 2.986589756084078839e+00 1.402190267642388993e-07 -7.171839216907228975e-02 9.540954763499963284e+08 6.762987005902997006e-02 2.990931812019745006e+00 1.949948586288619508e-07 -8.452806946785666742e-02 9.540954763499963284e+08 7.953793040918270829e-02 2.982083465471144557e+00 2.717698442487237283e-07 -9.962569310141336509e-02 9.540954763499963284e+08 9.391548814096037368e-02 2.989187287437446550e+00 3.778238604921386930e-07 -1.174199149279194637e-01 9.540954763499963284e+08 1.105564629175090213e-01 2.984006577455727616e+00 5.257014599568863452e-07 -1.383923764288897684e-01 9.540954763499963284e+08 1.306135780693904180e-01 2.993366965528542867e+00 7.314499054669312280e-07 -1.631107454420542835e-01 9.540954763499963284e+08 1.538805876139099638e-01 2.991203885223629122e+00 1.017464603386682427e-06 -1.922440813951419580e-01 9.540954763499963284e+08 1.813624544201803690e-01 2.990524958751939355e+00 1.415375431861443898e-06 -2.265809449359138250e-01 9.540954763499963284e+08 2.138283640997105661e-01 2.991155190114745288e+00 1.969604273370101620e-06 -2.670507421371726142e-01 9.540954763499963284e+08 2.521937300235549961e-01 2.993027495832390805e+00 2.738923122298444396e-06 -3.147488810066778608e-01 9.540954763499963284e+08 2.967724641298903898e-01 2.985150978433730451e+00 3.815712731627237500e-06 -3.709664212206886247e-01 9.540954763499963284e+08 3.502574075330275871e-01 2.989062077116020344e+00 5.316555458113590556e-06 -4.372250196192620786e-01 9.540954763499963284e+08 4.134869458856131885e-01 2.993610300308603644e+00 7.413574681553301831e-06 -5.153181173433998286e-01 9.540954763499963284e+08 4.871448701809566462e-01 2.988642662963153729e+00 1.034384549475146056e-05 -6.073594834385067642e-01 9.540954763499963284e+08 5.753900195827238440e-01 2.993658787132027044e+00 1.447154500399679106e-05 -7.158404288682718164e-01 9.540954763499963284e+08 6.783641518651695179e-01 2.988899892745731091e+00 2.026930910042725573e-05 -8.436972395676662906e-01 9.540954763499963284e+08 8.016333700216239366e-01 2.992552210611874042e+00 2.850136373902711887e-05 -9.943906537655036182e-01 9.540954763499963284e+08 9.457593392340623017e-01 2.985438108565388937e+00 4.019374183091019677e-05 -1.171999534812844468e+00 9.540954763499963284e+08 1.120060777136000940e+00 2.992972498962706229e+00 5.728709249127976049e-05 -1.381331274987467994e+00 9.540954763499963284e+08 1.324398581655558571e+00 2.986664282001144866e+00 8.219997355234945834e-05 -1.628051918606947979e+00 9.540954763499963284e+08 1.570659453976726017e+00 2.989606017489263579e+00 1.204207735966792716e-04 -1.918839526531252559e+00 9.540954763499963284e+08 1.864172798903222850e+00 2.987923248622915029e+00 1.790241568730384163e-04 -2.261564933217340645e+00 9.540954763499963284e+08 2.216746649782768586e+00 2.989349492677195297e+00 2.869303065036255050e-04 -2.665504788930584290e+00 9.540954763499963284e+08 2.638432820040145010e+00 2.987277918999399873e+00 5.146891049437722371e-04 -3.141592653589792672e+00 9.540954763499963284e+08 3.141592653589792672e+00 2.964876798677569703e+00 1.964892215957815894e-02 -1.000000000000000021e-03 1.930697728883245707e+09 9.368303926779792583e-04 2.636384768637771270e+00 8.861633837542905824e-11 -1.178610770701415088e-03 1.930697728883245707e+09 1.104158395723817045e-03 2.636384768637771270e+00 1.239302329024587370e-10 -1.389123348813385214e-03 1.930697728883245707e+09 1.301372985280502444e-03 2.636384768637771270e+00 1.718508246077424081e-10 -1.637235740744274635e-03 1.930697728883245707e+09 1.533812229463492327e-03 2.636384768637771270e+00 2.382705813608959424e-10 -1.929663678218512032e-03 1.930697728883245707e+09 1.807767634036928483e-03 2.636384768637771270e+00 3.314248020120428683e-10 -2.274322394979648009e-03 1.930697728883245707e+09 2.130654437404249594e-03 2.636384768637771270e+00 4.593005971353205010e-10 -2.680540870770453925e-03 1.930697728883245707e+09 2.511212322600947771e-03 2.636384768637771270e+00 6.279004372624654792e-10 -3.159314341595407215e-03 1.930697728883245707e+09 2.959741979401220822e-03 2.636384768637771270e+00 8.622715683357029143e-10 -3.723601911035797143e-03 1.930697728883245707e+09 3.488383920258438312e-03 2.636384768637771270e+00 1.242459515472422161e-09 -4.388677318151167420e-03 1.930697728883245707e+09 4.111447097893792743e-03 2.636495873235539023e+00 1.685779363817440995e-09 -5.172542356305966961e-03 1.930697728883245707e+09 4.846319743812067468e-03 2.637724984415786178e+00 2.411864057852314332e-09 -6.096414133051489617e-03 1.930697728883245707e+09 5.714566654519212183e-03 2.640145147011084603e+00 3.276770967978016991e-09 -7.185299359870824139e-03 1.930697728883245707e+09 6.741314436767672363e-03 2.643939699080288364e+00 4.625588519361651871e-09 -8.468671216257736209e-03 1.930697728883245707e+09 7.955144939910171326e-03 2.648801259335232139e+00 6.479791332600935377e-09 -9.981267109010422481e-03 1.930697728883245707e+09 9.390414012252311718e-03 2.654730068458733605e+00 8.790917446937036312e-09 -1.176402891992746509e-02 1.930697728883245707e+09 1.108776794592353405e-02 2.661738658591351392e+00 1.246101078839887133e-08 -1.386521119186945317e-02 1.930697728883245707e+09 1.302093432259834004e-02 2.649850057077522081e+00 1.709650127633173126e-08 -1.634168724878715118e-02 1.930697728883245707e+09 1.538666380121988565e-02 2.659241859387948104e+00 2.355037422607017786e-08 -1.926048860285451206e-02 1.930697728883245707e+09 1.809039557658825154e-02 2.651201095145529596e+00 3.289249813865290854e-08 -2.270061931629619237e-02 1.930697728883245707e+09 2.128114000440077883e-02 2.645213258950111168e+00 4.541650566083322819e-08 -2.675519442777928719e-02 1.930697728883245707e+09 2.517399583998992246e-02 2.657766012561863622e+00 6.411435645968910356e-08 -3.153396032479117289e-02 1.930697728883245707e+09 2.964271518967463714e-02 2.654715779185504942e+00 8.789170053549869021e-08 -3.716626528166998983e-02 1.930697728883245707e+09 3.492196675063075767e-02 2.653324732748775450e+00 1.244809792512689535e-07 -4.380456056772231294e-02 1.930697728883245707e+09 4.116041599910724713e-02 2.653452532056463475e+00 1.696143404235395174e-07 -5.162852689096004283e-02 1.930697728883245707e+09 4.853259782226292118e-02 2.654896551875660204e+00 2.361100572751415630e-07 -6.084993786913318187e-02 1.930697728883245707e+09 5.724778265628060331e-02 2.657677030285428899e+00 3.283251410546251867e-07 -7.171839216907228975e-02 1.930697728883245707e+09 6.754950844375627594e-02 2.661594371258172664e+00 4.569591530063988392e-07 -8.452806946785666742e-02 1.930697728883245707e+09 7.944285817006764561e-02 2.653858986910698992e+00 6.475250761048558571e-07 -9.962569310141336509e-02 1.930697728883245707e+09 9.380930299530092220e-02 2.660270238831691003e+00 8.906906021394690606e-07 -1.174199149279194637e-01 1.930697728883245707e+09 1.104314190372481380e-01 2.655747941817917734e+00 1.227785005421160713e-06 -1.383923764288897684e-01 1.930697728883245707e+09 1.300605088630775175e-01 2.652867939957940457e+00 1.718991164935382616e-06 -1.631107454420542835e-01 1.930697728883245707e+09 1.532474330651499850e-01 2.651462887768399668e+00 2.411198597974301114e-06 -1.922440813951419580e-01 1.930697728883245707e+09 1.811764668884115470e-01 2.661787016666758543e+00 3.349071521415922582e-06 -2.265809449359138250e-01 1.930697728883245707e+09 2.130114416788825293e-01 2.652356095332491837e+00 4.588822827194892027e-06 -2.670507421371726142e-01 1.930697728883245707e+09 2.512689996389581015e-01 2.654396070621566128e+00 6.385192380905012532e-06 -3.147488810066778608e-01 1.930697728883245707e+09 2.964851672675475891e-01 2.657253602292775962e+00 8.876373938966052463e-06 -3.709664212206886247e-01 1.930697728883245707e+09 3.499360731533647795e-01 2.660831675867737722e+00 1.251417511979905407e-05 -4.372250196192620786e-01 1.930697728883245707e+09 4.121335538411231569e-01 2.656012884011366815e+00 1.737732469394739126e-05 -5.153181173433998286e-01 1.930697728883245707e+09 4.867181668042406262e-01 2.660543807438306985e+00 2.414428365709746270e-05 -6.073594834385067642e-01 1.930697728883245707e+09 5.736515054252454560e-01 2.656622676792941729e+00 3.363095992007361293e-05 -7.158404288682718164e-01 1.930697728883245707e+09 6.778161989019139133e-01 2.660892785157569218e+00 4.765594683017333722e-05 -8.436972395676662906e-01 1.930697728883245707e+09 7.994464681579123155e-01 2.656168614573611197e+00 6.701848095616759352e-05 -9.943906537655036182e-01 1.930697728883245707e+09 9.450638069165877564e-01 2.657896128980157702e+00 9.488051037889999031e-05 -1.171999534812844468e+00 1.930697728883245707e+09 1.117420064672860924e+00 2.656828357944246211e+00 1.347956387078694436e-04 -1.381331274987467994e+00 1.930697728883245707e+09 1.323586099562374718e+00 2.659009655390121463e+00 1.925033149337962012e-04 -1.628051918606947979e+00 1.930697728883245707e+09 1.569833839330409431e+00 2.661611530492016708e+00 2.841302891791253125e-04 -1.918839526531252559e+00 1.930697728883245707e+09 1.863384650061645331e+00 2.660121585276777445e+00 4.236197174771600110e-04 -2.261564933217340645e+00 1.930697728883245707e+09 2.216084702725400479e+00 2.661328005460732449e+00 6.733789703799172377e-04 -2.665504788930584290e+00 1.930697728883245707e+09 2.638010766016034125e+00 2.659323960708388501e+00 1.205118115141620228e-03 -3.141592653589792672e+00 1.930697728883245707e+09 3.141592653589792672e+00 2.636384768637771270e+00 4.418186963689145486e-02 -1.000000000000000021e-03 3.906939937054620743e+09 9.473602481945116649e-04 2.376736488231777855e+00 2.043164810424156016e-10 -1.178610770701415088e-03 3.906939937054620743e+09 1.116492379519080187e-03 2.376057871895897566e+00 2.810310889312213922e-10 -1.389123348813385214e-03 3.906939937054620743e+09 1.316035075376466692e-03 2.376090371748411201e+00 3.970944203782631423e-10 -1.637235740744274635e-03 3.906939937054620743e+09 1.551284651493537716e-03 2.376610625438602131e+00 5.508619815668575401e-10 -1.929663678218512032e-03 3.906939937054620743e+09 1.828360815568209116e-03 2.376610625438602131e+00 7.611367826790595887e-10 -2.274322394979648009e-03 3.906939937054620743e+09 2.154925777616791081e-03 2.376610625438602131e+00 1.061327187305396070e-09 -2.680540870770453925e-03 3.906939937054620743e+09 2.539818776846673471e-03 2.376610625438602131e+00 1.477963439818202196e-09 -3.159314341595407215e-03 3.906939937054620743e+09 2.994005057609091212e-03 2.377555220391133872e+00 2.053898210447089672e-09 -3.723601911035797143e-03 3.906939937054620743e+09 3.530083719987837845e-03 2.379496428147733766e+00 2.875009600540058630e-09 -4.388677318151167420e-03 3.906939937054620743e+09 4.162085191981523824e-03 2.381375968749219307e+00 3.989303488865597376e-09 -5.172542356305966961e-03 3.906939937054620743e+09 4.907165576255550013e-03 2.383195671372428937e+00 5.552503038102255669e-09 -6.096414133051489617e-03 3.906939937054620743e+09 5.785548394401785269e-03 2.384957302761482545e+00 7.710648039509151023e-09 -7.185299359870824139e-03 3.906939937054620743e+09 6.818797752956037503e-03 2.384957813346732625e+00 1.072728180295336685e-08 -8.468671216257736209e-03 3.906939937054620743e+09 8.041434649532100062e-03 2.386851686156290953e+00 1.493463413862974346e-08 -9.981267109010422481e-03 3.906939937054620743e+09 9.446692805808657237e-03 2.378742782865974625e+00 2.062769736237070092e-08 -1.176402891992746509e-02 3.906939937054620743e+09 1.112839147084418272e-02 2.380280345781278228e+00 2.861016984232317642e-08 -1.386521119186945317e-02 3.906939937054620743e+09 1.316303127659645966e-02 2.390898116196396028e+00 4.027304915020926113e-08 -1.634168724878715118e-02 3.906939937054620743e+09 1.548709630582698234e-02 2.382881013582358154e+00 5.566714249522278600e-08 -1.926048860285451206e-02 3.906939937054620743e+09 1.828920341635436111e-02 2.390188281730895703e+00 7.821492004107120178e-08 -2.270061931629619237e-02 3.906939937054620743e+09 2.150489007818651849e-02 2.383593051294453424e+00 1.068654111800826123e-07 -2.675519442777928719e-02 3.906939937054620743e+09 2.533239862534709952e-02 2.387300059510461203e+00 1.479458371801700599e-07 -3.153396032479117289e-02 3.906939937054620743e+09 2.986205732728169221e-02 2.383713770755026662e+00 2.072489272722583377e-07 -3.716626528166998983e-02 3.906939937054620743e+09 3.523863208293201432e-02 2.386858338063175822e+00 2.892105083298240121e-07 -4.380456056772231294e-02 3.906939937054620743e+09 4.153214862080969322e-02 2.387788329970391477e+00 4.031773052896988261e-07 -5.162852689096004283e-02 3.906939937054620743e+09 4.881715316933564475e-02 2.383463182963592164e+00 5.527254603254159191e-07 -6.084993786913318187e-02 3.906939937054620743e+09 5.754060733253933690e-02 2.385001551665385300e+00 7.659772693346578208e-07 -7.171839216907228975e-02 3.906939937054620743e+09 6.792493324082428396e-02 2.382918207083016160e+00 1.075787731684907454e-06 -8.452806946785666742e-02 3.906939937054620743e+09 8.008594977425376182e-02 2.385099404065859741e+00 1.496705149064255435e-06 -9.962569310141336509e-02 3.906939937054620743e+09 9.446188369114422168e-02 2.390927131925978166e+00 2.068092652932741852e-06 -1.174199149279194637e-01 3.906939937054620743e+09 1.109558212981965747e-01 2.382115710695999589e+00 2.861877305832163515e-06 -1.383923764288897684e-01 3.906939937054620743e+09 1.311732944436751480e-01 2.388341993701107668e+00 3.992021887018042170e-06 -1.631107454420542835e-01 3.906939937054620743e+09 1.546467142066617062e-01 2.387796242247291367e+00 5.578651031953081872e-06 -1.922440813951419580e-01 3.906939937054620743e+09 1.819178959683781516e-01 2.385918631223951980e+00 7.689292700218602688e-06 -2.265809449359138250e-01 3.906939937054620743e+09 2.146762233197956060e-01 2.388172601159279207e+00 1.073382153062986599e-05 -2.670507421371726142e-01 3.906939937054620743e+09 2.528474974911541495e-01 2.383840461843834024e+00 1.495503616843823439e-05 -3.147488810066778608e-01 3.906939937054620743e+09 2.985865514380425245e-01 2.391005041672659370e+00 2.077629736994420257e-05 -3.709664212206886247e-01 3.906939937054620743e+09 3.512616436392037578e-01 2.384319040703161807e+00 2.889880193381374064e-05 -4.372250196192620786e-01 3.906939937054620743e+09 4.149718328987357929e-01 2.384742507435871239e+00 4.059876759147161931e-05 -5.153181173433998286e-01 3.906939937054620743e+09 4.895458425196391183e-01 2.387990737984519996e+00 5.642949099279559965e-05 -6.073594834385067642e-01 3.906939937054620743e+09 5.772435136441806947e-01 2.388750874770538157e+00 7.860731908992147916e-05 -7.158404288682718164e-01 3.906939937054620743e+09 6.816837213806636875e-01 2.385726223086203746e+00 1.107020968789651754e-04 -8.436972395676662906e-01 3.906939937054620743e+09 8.053391068243550555e-01 2.391131563915503300e+00 1.553858216494791579e-04 -9.943906537655036182e-01 3.906939937054620743e+09 9.506771340274198234e-01 2.388749476184696352e+00 2.190802680071523558e-04 -1.171999534812844468e+00 3.906939937054620743e+09 1.122309987924465569e+00 2.386383952059920599e+00 3.098329868343523098e-04 -1.381331274987467994e+00 3.906939937054620743e+09 1.329742247140277556e+00 2.386688708581878871e+00 4.480210218843742485e-04 -1.628051918606947979e+00 3.906939937054620743e+09 1.575642507758278299e+00 2.389981294161688918e+00 6.509386004707337853e-04 -1.918839526531252559e+00 3.906939937054620743e+09 1.868549675143466260e+00 2.386502423517410154e+00 9.735571981611811521e-04 -2.261564933217340645e+00 3.906939937054620743e+09 2.219352262365744011e+00 2.385176605703543729e+00 1.535801884205316870e-03 -2.665504788930584290e+00 3.906939937054620743e+09 2.640659215360428913e+00 2.385180256024504342e+00 2.713145484777328229e-03 -3.141592653589792672e+00 3.906939937054620743e+09 3.141592653589792672e+00 2.368263023379246324e+00 9.992956014587373037e-02 -1.000000000000000021e-03 7.906043210907701492e+09 9.398632892378281159e-04 2.107738326284115171e+00 4.534979133462969549e-10 -1.178610770701415088e-03 7.906043210907701492e+09 1.107733000064520723e-03 2.107738326284115171e+00 6.305983578467196272e-10 -1.389123348813385214e-03 7.906043210907701492e+09 1.305586052111727116e-03 2.107738326284115171e+00 8.808579012549098640e-10 -1.637235740744274635e-03 7.906043210907701492e+09 1.539088239336976324e-03 2.108252271926560173e+00 1.210397875271273285e-09 -1.929663678218512032e-03 7.906043210907701492e+09 1.814441648554632929e-03 2.108896198815982892e+00 1.693651375090511408e-09 -2.274322394979648009e-03 7.906043210907701492e+09 2.139036874711338059e-03 2.109519478399049852e+00 2.351370872735665232e-09 -2.680540870770453925e-03 7.906043210907701492e+09 2.530814081402076639e-03 2.114459437484537574e+00 3.287990549919415760e-09 -3.159314341595407215e-03 7.906043210907701492e+09 2.983594890482096917e-03 2.115033577315183599e+00 4.570661829829105413e-09 -3.723601911035797143e-03 7.906043210907701492e+09 3.516928118533977233e-03 2.115271873976407147e+00 6.360083781525572624e-09 -4.388677318151167420e-03 7.906043210907701492e+09 4.145328945707694654e-03 2.115355066000131234e+00 8.861033436496526949e-09 -5.172542356305966961e-03 7.906043210907701492e+09 4.884032018635570474e-03 2.114259479433963751e+00 1.231827446953971055e-08 -6.096414133051489617e-03 7.906043210907701492e+09 5.762709389821788972e-03 2.117203472460348568e+00 1.718837546223349786e-08 -7.185299359870824139e-03 7.906043210907701492e+09 6.802905459246045422e-03 2.121702786080631231e+00 2.387891511621618374e-08 -8.468671216257736209e-03 7.906043210907701492e+09 8.029115917358367951e-03 2.125727964131819636e+00 3.326849156128595057e-08 -9.981267109010422481e-03 7.906043210907701492e+09 9.413948008644057799e-03 2.111242725832162215e+00 4.636467844285476043e-08 -1.176402891992746509e-02 7.906043210907701492e+09 1.113282109580574289e-02 2.121191189713373060e+00 6.441277020408024904e-08 -1.386521119186945317e-02 7.906043210907701492e+09 1.309294328723440912e-02 2.115444763654593441e+00 8.972668874871261836e-08 -1.634168724878715118e-02 7.906043210907701492e+09 1.548719540789182669e-02 2.126273453472244945e+00 1.241502028833235460e-07 -1.926048860285451206e-02 7.906043210907701492e+09 1.822581811725738216e-02 2.122175221672334189e+00 1.731637932772291901e-07 -2.270061931629619237e-02 7.906043210907701492e+09 2.142980526951228024e-02 2.115772477224337589e+00 2.409775287868130976e-07 -2.675519442777928719e-02 7.906043210907701492e+09 2.523040143230227683e-02 2.113070296385899383e+00 3.352176631027794009e-07 -3.153396032479117289e-02 7.906043210907701492e+09 2.989195013921812361e-02 2.127759906607154416e+00 4.667786407027336235e-07 -3.716626528166998983e-02 7.906043210907701492e+09 3.509027319110619159e-02 2.117500088316739415e+00 6.468566390711533557e-07 -4.380456056772231294e-02 7.906043210907701492e+09 4.137044019596707034e-02 2.120935348229988637e+00 8.980056952853638447e-07 -5.162852689096004283e-02 7.906043210907701492e+09 4.864952977413457974e-02 2.115958511831153466e+00 1.247271259710391854e-06 -6.084993786913318187e-02 7.906043210907701492e+09 5.757286508989483548e-02 2.122713002878211075e+00 1.741051975876765399e-06 -7.171839216907228975e-02 7.906043210907701492e+09 6.771879938976795021e-02 2.119865055926383857e+00 2.407654600138649023e-06 -8.452806946785666742e-02 7.906043210907701492e+09 7.988895540186699562e-02 2.118266815524951330e+00 3.372685028113417524e-06 -9.962569310141336509e-02 7.906043210907701492e+09 9.423772117208897847e-02 2.120941481867181455e+00 4.690880583942827958e-06 -1.174199149279194637e-01 7.906043210907701492e+09 1.108812294036807672e-01 2.118909278714498523e+00 6.490700723976444906e-06 -1.383923764288897684e-01 7.906043210907701492e+09 1.306553022707764855e-01 2.120517962397852951e+00 8.995972213830009947e-06 -1.631107454420542835e-01 7.906043210907701492e+09 1.541073058108733407e-01 2.121684991090808214e+00 1.253240478594105991e-05 -1.922440813951419580e-01 7.906043210907701492e+09 1.817766575032829235e-01 2.122558919012142997e+00 1.744165551168750731e-05 -2.265809449359138250e-01 7.906043210907701492e+09 2.141702230428643994e-01 2.120831272178883786e+00 2.424902618341608635e-05 -2.670507421371726142e-01 7.906043210907701492e+09 2.525439778459722673e-01 2.120820538056586990e+00 3.376878126211262674e-05 -3.147488810066778608e-01 7.906043210907701492e+09 2.977445590723834523e-01 2.122894318543472547e+00 4.693833476398275305e-05 -3.709664212206886247e-01 7.906043210907701492e+09 3.509473620510056846e-01 2.122616512568707758e+00 6.534768691340209136e-05 -4.372250196192620786e-01 7.906043210907701492e+09 4.139764048237239424e-01 2.120705235708766789e+00 9.129147553853195023e-05 -5.153181173433998286e-01 7.906043210907701492e+09 4.876185088465949113e-01 2.120328366408294141e+00 1.268710463713283796e-04 -6.073594834385067642e-01 7.906043210907701492e+09 5.765295300955287638e-01 2.126560126407913476e+00 1.773436005553993009e-04 -7.158404288682718164e-01 7.906043210907701492e+09 6.803350589576454555e-01 2.123387835598569140e+00 2.489053656403331723e-04 -8.436972395676662906e-01 7.906043210907701492e+09 8.031112292337652114e-01 2.123880412167733045e+00 3.495537855329127570e-04 -9.943906537655036182e-01 7.906043210907701492e+09 9.494126581354169758e-01 2.128264800760883535e+00 4.932730170387980171e-04 -1.171999534812844468e+00 7.906043210907701492e+09 1.121368745784956822e+00 2.125082408477855900e+00 7.015504166898336828e-04 -1.381331274987467994e+00 7.906043210907701492e+09 1.327737428100026040e+00 2.125667224687230128e+00 1.008764361238672540e-03 -1.628051918606947979e+00 7.906043210907701492e+09 1.571873970449547242e+00 2.122025666268442468e+00 1.471086162383363838e-03 -1.918839526531252559e+00 7.906043210907701492e+09 1.866747905869864832e+00 2.125967369292931952e+00 2.201093726277815119e-03 -2.261564933217340645e+00 7.906043210907701492e+09 2.217630914661316233e+00 2.121285767460895144e+00 3.491175929601440971e-03 -2.665504788930584290e+00 7.906043210907701492e+09 2.640399635054996974e+00 2.128122189663211650e+00 6.137151660176290782e-03 -3.141592653589792672e+00 7.906043210907701492e+09 3.141592653589792672e+00 2.107738326284115171e+00 2.271196768464042726e-01 -1.000000000000000021e-03 1.599858719606057358e+10 9.428378274003454754e-04 1.895020335318271743e+00 1.024607395165934828e-09 -1.178610770701415088e-03 1.599858719606057358e+10 1.111238822574521804e-03 1.895020335318271743e+00 1.415974536980119488e-09 -1.389123348813385214e-03 1.599858719606057358e+10 1.309718051944583047e-03 1.895020335318271743e+00 1.981397063913488192e-09 -1.637235740744274635e-03 1.599858719606057358e+10 1.543647813797233582e-03 1.895020335318271743e+00 2.743563419670917691e-09 -1.929663678218512032e-03 1.599858719606057358e+10 1.819359957837140976e-03 1.895020335318271743e+00 3.823235528132198741e-09 -2.274322394979648009e-03 1.599858719606057358e+10 2.144317272093750927e-03 1.895020335318271743e+00 5.290877549789339306e-09 -2.680540870770453925e-03 1.599858719606057358e+10 2.527315481814428662e-03 1.895020335318271743e+00 7.366468873192476102e-09 -3.159314341595407215e-03 1.599858719606057358e+10 2.978721328253906842e-03 1.895020335318271743e+00 1.029225358432646120e-08 -3.723601911035797143e-03 1.599858719606057358e+10 3.510753172075986410e-03 1.895020335318271743e+00 1.433724129389259674e-08 -4.388677318151167420e-03 1.599858719606057358e+10 4.137811717470600212e-03 1.895020335318271743e+00 1.996317950461381573e-08 -5.172542356305966961e-03 1.599858719606057358e+10 4.877135877251895582e-03 1.895153083736750066e+00 2.775955619909566584e-08 -6.096414133051489617e-03 1.599858719606057358e+10 5.752624926139243006e-03 1.897368826493177840e+00 3.858564105788523926e-08 -7.185299359870824139e-03 1.599858719606057358e+10 6.791408263545273792e-03 1.902260214188525866e+00 5.351067063124968520e-08 -8.468671216257736209e-03 1.599858719606057358e+10 8.017323400581496604e-03 1.907110303019793562e+00 7.443292124058650703e-08 -9.981267109010422481e-03 1.599858719606057358e+10 9.424350875225988647e-03 1.898874483807724056e+00 1.038397621271043800e-07 -1.176402891992746509e-02 1.599858719606057358e+10 1.113426035718104168e-02 1.905521002398762986e+00 1.442180941182140340e-07 -1.386521119186945317e-02 1.599858719606057358e+10 1.315742586336494241e-02 1.912999023049721359e+00 2.007067158175470127e-07 -1.634168724878715118e-02 1.599858719606057358e+10 1.546609426387591558e-02 1.906008784203738760e+00 2.789075949509354164e-07 -1.926048860285451206e-02 1.599858719606057358e+10 1.827096498771921609e-02 1.912690126375693689e+00 3.885601745979339801e-07 -2.270061931629619237e-02 1.599858719606057358e+10 2.150119175878999200e-02 1.907398219905425574e+00 5.413661280451413169e-07 -2.675519442777928719e-02 1.599858719606057358e+10 2.531804793013650579e-02 1.904901482413523306e+00 7.530469677803314776e-07 -3.153396032479117289e-02 1.599858719606057358e+10 2.980523055068199159e-02 1.902317872523113795e+00 1.046134402833262195e-06 -3.716626528166998983e-02 1.599858719606057358e+10 3.525762229256561991e-02 1.911516294559796547e+00 1.454547514690054654e-06 -4.380456056772231294e-02 1.599858719606057358e+10 4.156130984622903590e-02 1.911771766822794039e+00 2.016844364210416855e-06 -5.162852689096004283e-02 1.599858719606057358e+10 4.884574375294709753e-02 1.904375577350070570e+00 2.812339499958617234e-06 -6.084993786913318187e-02 1.599858719606057358e+10 5.766703583512437781e-02 1.908765872926264651e+00 3.911983435669214613e-06 -7.171839216907228975e-02 1.599858719606057358e+10 6.807340684671257802e-02 1.912921314640726456e+00 5.429930305678161278e-06 -8.452806946785666742e-02 1.599858719606057358e+10 8.005418329871498428e-02 1.907038065120669312e+00 7.556724694471811758e-06 -9.962569310141336509e-02 1.599858719606057358e+10 9.451803446566810207e-02 1.912026698313876061e+00 1.050762491028955391e-05 -1.174199149279194637e-01 1.599858719606057358e+10 1.114443553368498346e-01 1.912764966673740075e+00 1.460035368134071393e-05 -1.383923764288897684e-01 1.599858719606057358e+10 1.312304188385095827e-01 1.909969890451624241e+00 2.032845994974256810e-05 -1.631107454420542835e-01 1.599858719606057358e+10 1.548123935949700380e-01 1.912960651890597497e+00 2.821755588368919852e-05 -1.922440813951419580e-01 1.599858719606057358e+10 1.822657565377612254e-01 1.910092835588122817e+00 3.922708144562140833e-05 -2.265809449359138250e-01 1.599858719606057358e+10 2.151919824514598178e-01 1.912457126881350389e+00 5.451437555828941660e-05 -2.670507421371726142e-01 1.599858719606057358e+10 2.533129360444605349e-01 1.909522082549413469e+00 7.596414012362166963e-05 -3.147488810066778608e-01 1.599858719606057358e+10 2.981287084655253050e-01 1.906400850262630620e+00 1.055335237232684416e-04 -3.709664212206886247e-01 1.599858719606057358e+10 3.524865901681915603e-01 1.913342354346190266e+00 1.470721191649568369e-04 -4.372250196192620786e-01 1.599858719606057358e+10 4.155333797802353013e-01 1.911556340554767530e+00 2.052419614635768539e-04 -5.153181173433998286e-01 1.599858719606057358e+10 4.898379906205055923e-01 1.910581317713087035e+00 2.861411905592035182e-04 -6.073594834385067642e-01 1.599858719606057358e+10 5.774054387558594792e-01 1.909887182897608504e+00 3.997334693274068426e-04 -7.158404288682718164e-01 1.599858719606057358e+10 6.822488518483130759e-01 1.912769716361186756e+00 5.596623313739911227e-04 -8.436972395676662906e-01 1.599858719606057358e+10 8.041560142637057540e-01 1.907877573791643133e+00 7.867863933789305975e-04 -9.943906537655036182e-01 1.599858719606057358e+10 9.509688694035183243e-01 1.911879164113268859e+00 1.109598818444023543e-03 -1.171999534812844468e+00 1.599858719606057358e+10 1.123860647087362885e+00 1.910178203446376788e+00 1.577755722601421754e-03 -1.381331274987467994e+00 1.599858719606057358e+10 1.330428251641528670e+00 1.912479194321949238e+00 2.263290953152280460e-03 -1.628051918606947979e+00 1.599858719606057358e+10 1.576393076338423072e+00 1.911593257417424363e+00 3.300008726943791729e-03 -1.918839526531252559e+00 1.599858719606057358e+10 1.869763766171478103e+00 1.911793172690861242e+00 4.928118094245362811e-03 -2.261564933217340645e+00 1.599858719606057358e+10 2.220097448983596067e+00 1.907872875599639473e+00 7.794934776756622455e-03 -2.665504788930584290e+00 1.599858719606057358e+10 2.641219312609536018e+00 1.911916968606692357e+00 1.379282175727427999e-02 -3.141592653589792672e+00 1.599858719606057358e+10 3.141592653589792672e+00 1.895020335318271743e+00 5.117718121937517850e-01 -1.000000000000000021e-03 3.237457542817653275e+10 9.389729388810460911e-04 1.688201373770812586e+00 2.309948613483929315e-09 -1.178610770701415088e-03 3.237457542817653275e+10 1.106683623607736212e-03 1.688201373770812586e+00 3.230310576573165137e-09 -1.389123348813385214e-03 3.237457542817653275e+10 1.304349245821075087e-03 1.688201373770812586e+00 4.472548008114036738e-09 -1.637235740744274635e-03 3.237457542817653275e+10 1.537320081796988893e-03 1.688201373770812586e+00 6.223644371601585917e-09 -1.929663678218512032e-03 3.237457542817653275e+10 1.811902025930819992e-03 1.688201373770812586e+00 8.642285188146628033e-09 -2.274322394979648009e-03 3.237457542817653275e+10 2.135527275159108083e-03 1.688201373770812586e+00 1.197042242512647597e-08 -2.680540870770453925e-03 3.237457542817653275e+10 2.516955499924649828e-03 1.688201373770812586e+00 1.658166168587605867e-08 -3.159314341595407215e-03 3.237457542817653275e+10 2.966510947207369724e-03 1.688201373770812586e+00 2.319940668803563688e-08 -3.723601911035797143e-03 3.237457542817653275e+10 3.496361893962379296e-03 1.688201373770812586e+00 3.217982614542273087e-08 -4.388677318151167420e-03 3.237457542817653275e+10 4.120850016001854042e-03 1.688201373770812586e+00 4.504703556607016738e-08 -5.172542356305966961e-03 3.237457542817653275e+10 4.856878589063041637e-03 1.688201373770812586e+00 6.261233854330366157e-08 -6.096414133051489617e-03 3.237457542817653275e+10 5.726141348500820780e-03 1.688982073281948271e+00 8.690834253541682788e-08 -7.185299359870824139e-03 3.237457542817653275e+10 6.758336016346226660e-03 1.692396049472592923e+00 1.202282881492422510e-07 -8.468671216257736209e-03 3.237457542817653275e+10 7.982875252766478275e-03 1.697557866377693347e+00 1.673918797932523427e-07 -9.981267109010422481e-03 3.237457542817653275e+10 9.428512384271253710e-03 1.702727588000232384e+00 2.329204469293592297e-07 -1.176402891992746509e-02 3.237457542817653275e+10 1.106798319114129896e-02 1.694298028663173916e+00 3.238152302435855051e-07 -1.386521119186945317e-02 3.237457542817653275e+10 1.308731076515669625e-02 1.700320947989761855e+00 4.513459806342976090e-07 -1.634168724878715118e-02 3.237457542817653275e+10 1.537055739539502398e-02 1.692700527353699913e+00 6.299005332085171945e-07 -1.926048860285451206e-02 3.237457542817653275e+10 1.815988972691994635e-02 1.697985922673780124e+00 8.768213479037149645e-07 -2.270061931629619237e-02 3.237457542817653275e+10 2.135703147231224341e-02 1.693631310199932294e+00 1.219060030628878303e-06 -2.675519442777928719e-02 3.237457542817653275e+10 2.526631336592454272e-02 1.702623898089492993e+00 1.698530319073246005e-06 -3.153396032479117289e-02 3.237457542817653275e+10 2.976819052588127595e-02 1.701457427959928381e+00 2.357178614583901940e-06 -3.716626528166998983e-02 3.237457542817653275e+10 3.509003772194378007e-02 1.702085507045640433e+00 3.285317226162673666e-06 -4.380456056772231294e-02 3.237457542817653275e+10 4.139443320537689042e-02 1.703604742226832780e+00 4.543828677552890767e-06 -5.162852689096004283e-02 3.237457542817653275e+10 4.860140524504960591e-02 1.695511403687389285e+00 6.348900137579900217e-06 -6.084993786913318187e-02 3.237457542817653275e+10 5.737592261447745784e-02 1.698860481143117607e+00 8.806373444808791840e-06 -7.171839216907228975e-02 3.237457542817653275e+10 6.770913143502096943e-02 1.701579689780241988e+00 1.224312782585632762e-05 -8.452806946785666742e-02 3.237457542817653275e+10 7.985355533581341148e-02 1.703271208197220332e+00 1.700912609731239722e-05 -9.962569310141336509e-02 3.237457542817653275e+10 9.398978162023444161e-02 1.699785259682048633e+00 2.364831816249535741e-05 -1.174199149279194637e-01 3.237457542817653275e+10 1.106477592107449337e-01 1.697102055902595330e+00 3.288302884788431703e-05 -1.383923764288897684e-01 3.237457542817653275e+10 1.307158781606009568e-01 1.702301017126188976e+00 4.569892395054584193e-05 -1.631107454420542835e-01 3.237457542817653275e+10 1.539727279615067945e-01 1.700330337807820502e+00 6.377494825991995712e-05 -1.922440813951419580e-01 3.237457542817653275e+10 1.816321853206061543e-01 1.701938445508789810e+00 8.825934715502657788e-05 -2.265809449359138250e-01 3.237457542817653275e+10 2.141983979947321703e-01 1.703162576597566424e+00 1.230492874019279879e-04 -2.670507421371726142e-01 3.237457542817653275e+10 2.520967454440455890e-01 1.699088548171802993e+00 1.711758061542410184e-04 -3.147488810066778608e-01 3.237457542817653275e+10 2.976333559827872288e-01 1.702476310813725302e+00 2.382499590861467662e-04 -3.709664212206886247e-01 3.237457542817653275e+10 3.510436741123413862e-01 1.703675287606293054e+00 3.317250486144812010e-04 -4.372250196192620786e-01 3.237457542817653275e+10 4.135896636656084535e-01 1.701357970199389724e+00 4.622403619936213772e-04 -5.153181173433998286e-01 3.237457542817653275e+10 4.882293280697359017e-01 1.703250653519214453e+00 6.435989240701916764e-04 -6.073594834385067642e-01 3.237457542817653275e+10 5.761255342491516940e-01 1.704217981280079508e+00 9.008819581998167699e-04 -7.158404288682718164e-01 3.237457542817653275e+10 6.797762229058798011e-01 1.703712135060735156e+00 1.262373680271659110e-03 -8.436972395676662906e-01 3.237457542817653275e+10 8.014076838770920475e-01 1.699744711213371673e+00 1.773495651117467384e-03 -9.943906537655036182e-01 3.237457542817653275e+10 9.465916874152713323e-01 1.699323822494434699e+00 2.502941202552177134e-03 -1.171999534812844468e+00 3.237457542817653275e+10 1.120318552562039383e+00 1.701248089063078561e+00 3.558613432729314154e-03 -1.381331274987467994e+00 3.237457542817653275e+10 1.326530977721924298e+00 1.702436724970641357e+00 5.114037678838765678e-03 -1.628051918606947979e+00 3.237457542817653275e+10 1.572158771182310621e+00 1.702187462093833981e+00 7.454741555862566017e-03 -1.918839526531252559e+00 3.237457542817653275e+10 1.866893357009310250e+00 1.704408041828035847e+00 1.112939689774997132e-02 -2.261564933217340645e+00 3.237457542817653275e+10 2.217799238638216153e+00 1.701451291541761224e+00 1.757072247943450294e-02 -2.665504788930584290e+00 3.237457542817653275e+10 2.639683250755227029e+00 1.703251108923791612e+00 3.086210986884001944e-02 -3.141592653589792672e+00 3.237457542817653275e+10 3.141592653589792672e+00 1.688201373770812586e+00 1.162560676437282892e+00 -1.000000000000000021e-03 6.551285568595495605e+10 9.428794562654537869e-04 1.519177524927246559e+00 5.223285778487216818e-09 -1.178610770701415088e-03 6.551285568595495605e+10 1.111287886801615513e-03 1.519177524927246559e+00 7.268774862024540734e-09 -1.389123348813385214e-03 6.551285568595495605e+10 1.309775879568317054e-03 1.519177524927246559e+00 1.010414478197055516e-08 -1.637235740744274635e-03 6.551285568595495605e+10 1.543715970052865699e-03 1.519177524927246559e+00 1.398042948240820239e-08 -1.929663678218512032e-03 6.551285568595495605e+10 1.819440287526676156e-03 1.519177524927246559e+00 1.954211338096542959e-08 -2.274322394979648009e-03 6.551285568595495605e+10 2.144411949518859953e-03 1.519177524927246559e+00 2.725180496084983491e-08 -2.680540870770453925e-03 6.551285568595495605e+10 2.527427069627454035e-03 1.519177524927246559e+00 3.754993297325550104e-08 -3.159314341595407215e-03 6.551285568595495605e+10 2.978852846819557334e-03 1.519177524927246559e+00 5.269035402879473715e-08 -3.723601911035797143e-03 6.551285568595495605e+10 3.510908181220523915e-03 1.519177524927246559e+00 7.313029610198274908e-08 -4.388677318151167420e-03 6.551285568595495605e+10 4.137994412830356579e-03 1.519177524927246559e+00 1.024603245243746881e-07 -5.172542356305966961e-03 6.551285568595495605e+10 4.878287737165959599e-03 1.519669457451801708e+00 1.414139446457734525e-07 -6.096414133051489617e-03 6.551285568595495605e+10 5.754544222203106935e-03 1.521387968081528763e+00 1.971960707044035874e-07 -7.185299359870824139e-03 6.551285568595495605e+10 6.790177782991283460e-03 1.524782599525705162e+00 2.741647610553731115e-07 -8.468671216257736209e-03 6.551285568595495605e+10 8.012665343088915329e-03 1.528261719489452330e+00 3.825482979748632528e-07 -9.981267109010422481e-03 6.551285568595495605e+10 9.454579926820172106e-03 1.531268528132276430e+00 5.304782994851779244e-07 -1.176402891992746509e-02 6.551285568595495605e+10 1.110410737483100152e-02 1.521855319709813248e+00 7.397455531644168824e-07 -1.386521119186945317e-02 6.551285568595495605e+10 1.310088942708310424e-02 1.526239730184324683e+00 1.019927235838484033e-06 -1.634168724878715118e-02 6.551285568595495605e+10 1.547082223558176109e-02 1.531157328130810846e+00 1.424669598281778145e-06 -1.926048860285451206e-02 6.551285568595495605e+10 1.819698227049452305e-02 1.525016238917241918e+00 1.986453815130713938e-06 -2.270061931629619237e-02 6.551285568595495605e+10 2.150071857945629744e-02 1.531397820279396971e+00 2.751455706318856113e-06 -2.675519442777928719e-02 6.551285568595495605e+10 2.528313556913704824e-02 1.527512677662012486e+00 3.829462011320236770e-06 -3.153396032479117289e-02 6.551285568595495605e+10 2.980211679871439673e-02 1.526368569556201038e+00 5.338948703724059850e-06 -3.716626528166998983e-02 6.551285568595495605e+10 3.510051618582172434e-02 1.525946133675378347e+00 7.411126255999476138e-06 -4.380456056772231294e-02 6.551285568595495605e+10 4.140281865955825619e-02 1.526729044584464567e+00 1.032710266163868232e-05 -5.162852689096004283e-02 6.551285568595495605e+10 4.883700085444476341e-02 1.528152603628909478e+00 1.431271985534679553e-05 -6.084993786913318187e-02 6.551285568595495605e+10 5.756681190103559581e-02 1.528404735354082389e+00 1.990096603491531307e-05 -7.171839216907228975e-02 6.551285568595495605e+10 6.786689188635129655e-02 1.529966269684964297e+00 2.767173442105665034e-05 -8.452806946785666742e-02 6.551285568595495605e+10 8.008051272689434286e-02 1.531705196773645250e+00 3.855361233017982859e-05 -9.962569310141336509e-02 6.551285568595495605e+10 9.419986038061070599e-02 1.527567378087291372e+00 5.355958474622527686e-05 -1.174199149279194637e-01 6.551285568595495605e+10 1.112243561686288712e-01 1.532171108935191706e+00 7.439480043191354624e-05 -1.383923764288897684e-01 6.551285568595495605e+10 1.310886311801142956e-01 1.530875258928279914e+00 1.036155695917491767e-04 -1.631107454420542835e-01 6.551285568595495605e+10 1.543715833646990276e-01 1.529602199992507128e+00 1.437768394819370361e-04 -1.922440813951419580e-01 6.551285568595495605e+10 1.821565184071077814e-01 1.531022339310491587e+00 1.998144855987752017e-04 -2.265809449359138250e-01 6.551285568595495605e+10 2.147270899541824374e-01 1.531060675034438878e+00 2.784663956425562602e-04 -2.670507421371726142e-01 6.551285568595495605e+10 2.531675874407444682e-01 1.532306430852908186e+00 3.869965822235478222e-04 -3.147488810066778608e-01 6.551285568595495605e+10 2.980732693392492694e-01 1.527976847802588134e+00 5.382285567678544470e-04 -3.709664212206886247e-01 6.551285568595495605e+10 3.515539712446970610e-01 1.528634157120141834e+00 7.509605717276961710e-04 -4.372250196192620786e-01 6.551285568595495605e+10 4.149876932833643228e-01 1.531267682512275297e+00 1.043600784415949726e-03 -5.153181173433998286e-01 6.551285568595495605e+10 4.889777509051859705e-01 1.528742445552860652e+00 1.458836015683841409e-03 -6.073594834385067642e-01 6.551285568595495605e+10 5.772337551901539632e-01 1.530588199424501861e+00 2.037018190899180826e-03 -7.158404288682718164e-01 6.551285568595495605e+10 6.817002659740282189e-01 1.532663353421232832e+00 2.856129707907776021e-03 -8.436972395676662906e-01 6.551285568595495605e+10 8.040450737198547859e-01 1.529822469951145125e+00 4.011234750297318005e-03 -9.943906537655036182e-01 6.551285568595495605e+10 9.504062838149709425e-01 1.531567381452134669e+00 5.665306574452033846e-03 -1.171999534812844468e+00 6.551285568595495605e+10 1.123160925296616153e+00 1.531060241136721123e+00 8.039680639097218293e-03 -1.381331274987467994e+00 6.551285568595495605e+10 1.330279910171149105e+00 1.533368364195189182e+00 1.152714596687796737e-02 -1.628051918606947979e+00 6.551285568595495605e+10 1.574729093135531999e+00 1.529948192295013110e+00 1.681115586247476992e-02 -1.918839526531252559e+00 6.551285568595495605e+10 1.869459384216962006e+00 1.532934620353882282e+00 2.504735852767243573e-02 -2.261564933217340645e+00 6.551285568595495605e+10 2.220759979175284116e+00 1.533115720027949269e+00 3.943995263337927992e-02 -2.665504788930584290e+00 6.551285568595495605e+10 2.641263705712542986e+00 1.533529265673004849e+00 6.947492685424226655e-02 -3.141592653589792672e+00 6.551285568595495605e+10 3.141592653589792672e+00 1.519177524927246559e+00 2.652642269476597647e+00 -1.000000000000000021e-03 1.325711365590110931e+11 9.408994332729902176e-04 1.354635868173480473e+00 1.160863070633464309e-08 -1.178610770701415088e-03 1.325711365590110931e+11 1.108954210514486805e-03 1.354635868173480473e+00 1.620555107214070305e-08 -1.389123348813385214e-03 1.325711365590110931e+11 1.307025383786958664e-03 1.354635868173480473e+00 2.260192069091988194e-08 -1.637235740744274635e-03 1.325711365590110931e+11 1.540474206470176903e-03 1.354635868173480473e+00 3.147739840515179914e-08 -1.929663678218512032e-03 1.325711365590110931e+11 1.815619510657808227e-03 1.354635868173480473e+00 4.339297316508012202e-08 -2.274322394979648009e-03 1.325711365590110931e+11 2.139908741740527767e-03 1.354635868173480473e+00 6.081368599688100330e-08 -2.680540870770453925e-03 1.325711365590110931e+11 2.522119542060961839e-03 1.354635868173480473e+00 8.460617080081557847e-08 -3.159314341595407215e-03 1.325711365590110931e+11 2.972597340322364473e-03 1.354635868173480473e+00 1.172221918487669895e-07 -3.723601911035797143e-03 1.325711365590110931e+11 3.503535378239273999e-03 1.354635868173480473e+00 1.634734111215059294e-07 -4.388677318151167420e-03 1.325711365590110931e+11 4.129304754952520078e-03 1.354635868173480473e+00 2.269905340635480128e-07 -5.172542356305966961e-03 1.325711365590110931e+11 4.866843424187076127e-03 1.354635868173480473e+00 3.177114128810889566e-07 -6.096414133051489617e-03 1.325711365590110931e+11 5.736632962190824601e-03 1.354789837200585767e+00 4.417347790619664922e-07 -7.185299359870824139e-03 1.325711365590110931e+11 6.766310845305440434e-03 1.356069332144336670e+00 6.157170077013112578e-07 -8.468671216257736209e-03 1.325711365590110931e+11 7.986990021595001196e-03 1.359154077898526936e+00 8.539052411677473011e-07 -9.981267109010422481e-03 1.325711365590110931e+11 9.430214214657931318e-03 1.362804208629108782e+00 1.185165392233173484e-06 -1.176402891992746509e-02 1.325711365590110931e+11 1.113546236010610341e-02 1.366788400021083927e+00 1.645341570281820109e-06 -1.386521119186945317e-02 1.325711365590110931e+11 1.308216764654768390e-02 1.359927045806343049e+00 2.301102653156707098e-06 -1.634168724878715118e-02 1.325711365590110931e+11 1.545011400932007860e-02 1.363756078360086388e+00 3.199508495159877503e-06 -1.926048860285451206e-02 1.325711365590110931e+11 1.824344696533720944e-02 1.367387311024976793e+00 4.449601042636365584e-06 -2.270061931629619237e-02 1.325711365590110931e+11 2.144565111176489208e-02 1.362415498897343813e+00 6.150029550443548197e-06 -2.675519442777928719e-02 1.325711365590110931e+11 2.523364593469529585e-02 1.359669117450421183e+00 8.593213375387368574e-06 -3.153396032479117289e-02 1.325711365590110931e+11 2.985318419503708506e-02 1.367032026578741011e+00 1.192989517148216278e-05 -3.716626528166998983e-02 1.325711365590110931e+11 3.517671767856709458e-02 1.366548833391847850e+00 1.661733375713907315e-05 -4.380456056772231294e-02 1.325711365590110931e+11 4.140587534309109891e-02 1.364803348960607288e+00 2.306855844771712628e-05 -5.162852689096004283e-02 1.325711365590110931e+11 4.881540288790526400e-02 1.364889751430042875e+00 3.212853459010067692e-05 -6.084993786913318187e-02 1.325711365590110931e+11 5.754635877090643475e-02 1.365567686446855555e+00 4.453174714542530569e-05 -7.171839216907228975e-02 1.325711365590110931e+11 6.790387828417510097e-02 1.367367803882392430e+00 6.208765704105459688e-05 -8.452806946785666742e-02 1.325711365590110931e+11 7.981552400134771241e-02 1.362004149385251939e+00 8.643267322954965176e-05 -9.962569310141336509e-02 1.325711365590110931e+11 9.417445938263849237e-02 1.364086934918539606e+00 1.200029772921609419e-04 -1.174199149279194637e-01 1.325711365590110931e+11 1.107989450853164720e-01 1.361215157458592007e+00 1.670077160963131830e-04 -1.383923764288897684e-01 1.325711365590110931e+11 1.310530883581862704e-01 1.367431525517710744e+00 2.324399285683793350e-04 -1.631107454420542835e-01 1.325711365590110931e+11 1.543554823631583528e-01 1.366128207634270897e+00 3.229889118057704457e-04 -1.922440813951419580e-01 1.325711365590110931e+11 1.818195991957622382e-01 1.365220130033737433e+00 4.483905924810438351e-04 -2.265809449359138250e-01 1.325711365590110931e+11 2.145190649369541069e-01 1.366273905465003935e+00 6.236776439278530950e-04 -2.670507421371726142e-01 1.325711365590110931e+11 2.528424165588562533e-01 1.365781916603460600e+00 8.668982641356876668e-04 -3.147488810066778608e-01 1.325711365590110931e+11 2.980860833825148548e-01 1.365901048281060071e+00 1.210259358371382687e-03 -3.709664212206886247e-01 1.325711365590110931e+11 3.515349649755746264e-01 1.366903582985804055e+00 1.680934524497793752e-03 -4.372250196192620786e-01 1.325711365590110931e+11 4.141134373565990012e-01 1.364439072403906605e+00 2.348610607301386370e-03 -5.153181173433998286e-01 1.325711365590110931e+11 4.889384245550970620e-01 1.366574691893947424e+00 3.269047148282789878e-03 -6.073594834385067642e-01 1.325711365590110931e+11 5.762971141596541225e-01 1.364720372230048495e+00 4.578882522081716665e-03 -7.158404288682718164e-01 1.325711365590110931e+11 6.807358112906871650e-01 1.366764897555179825e+00 6.409712646075422030e-03 -8.436972395676662906e-01 1.325711365590110931e+11 8.027546551312885192e-01 1.364375620571460557e+00 8.994311774794275238e-03 -9.943906537655036182e-01 1.325711365590110931e+11 9.488461797095811834e-01 1.365524585388903978e+00 1.271888152190949958e-02 -1.171999534812844468e+00 1.325711365590110931e+11 1.121650056354223546e+00 1.364785302584096582e+00 1.809529989116876250e-02 -1.381331274987467994e+00 1.325711365590110931e+11 1.328161057986576354e+00 1.366326343558780243e+00 2.598401055566845405e-02 -1.628051918606947979e+00 1.325711365590110931e+11 1.572338233776382710e+00 1.363442882867762274e+00 3.788174827231277630e-02 -1.918839526531252559e+00 1.325711365590110931e+11 1.867910012252297136e+00 1.366851558530350674e+00 5.693949687716663710e-02 -2.261564933217340645e+00 1.325711365590110931e+11 2.219818952077321050e+00 1.367368518120173793e+00 9.022270388815271935e-02 -2.665504788930584290e+00 1.325711365590110931e+11 2.640247101578049982e+00 1.366063649666650726e+00 1.605992074887256094e-01 -3.141592653589792672e+00 1.325711365590110931e+11 3.141592653589792672e+00 1.354635868173480473e+00 6.063497795102685828e+00 -1.000000000000000021e-03 2.682695795279727173e+11 9.400851799409198125e-04 1.208418073940777049e+00 2.623587550097029526e-08 -1.178610770701415088e-03 2.682695795279727173e+11 1.107994522823571928e-03 1.208418073940777049e+00 3.656118463351057048e-08 -1.389123348813385214e-03 2.682695795279727173e+11 1.305894285630182635e-03 1.208418073940777049e+00 5.112003792853293447e-08 -1.637235740744274635e-03 2.682695795279727173e+11 1.539141082150912755e-03 1.208418073940777049e+00 7.118596178559962334e-08 -1.929663678218512032e-03 2.682695795279727173e+11 1.814048276223703812e-03 1.208418073940777049e+00 9.911581094564891489e-08 -2.274322394979648009e-03 2.682695795279727173e+11 2.138056868318044361e-03 1.208418073940777049e+00 1.372635941737997660e-07 -2.680540870770453925e-03 2.682695795279727173e+11 2.519936904762065579e-03 1.208418073940777049e+00 1.917699172159321167e-07 -3.159314341595407215e-03 2.682695795279727173e+11 2.970024861578544981e-03 1.208418073940777049e+00 2.680617396983448247e-07 -3.723601911035797143e-03 2.682695795279727173e+11 3.500503428861130063e-03 1.208418073940777049e+00 3.730223825961721749e-07 -4.388677318151167420e-03 2.682695795279727173e+11 4.125731269668126040e-03 1.208418073940777049e+00 5.222743867247063608e-07 -5.172542356305966961e-03 2.682695795279727173e+11 4.862631680704520599e-03 1.208418073940777049e+00 7.221525988279893625e-07 -6.096414133051489617e-03 2.682695795279727173e+11 5.731342282829932598e-03 1.208469635098516237e+00 1.002161863766200544e-06 -7.185299359870824139e-03 2.682695795279727173e+11 6.758510810805907348e-03 1.209453529589165521e+00 1.383851312547009631e-06 -8.468671216257736209e-03 2.682695795279727173e+11 7.974441950398087134e-03 1.211795073097014397e+00 1.938696174268886010e-06 -9.981267109010422481e-03 2.682695795279727173e+11 9.412823015221153181e-03 1.214761357834570177e+00 2.697071733787452898e-06 -1.176402891992746509e-02 2.682695795279727173e+11 1.111585620268800909e-02 1.218341829925766007e+00 3.720864668525376394e-06 -1.386521119186945317e-02 2.682695795279727173e+11 1.305532673492159831e-02 1.212648392523841823e+00 5.189281044352245294e-06 -1.634168724878715118e-02 2.682695795279727173e+11 1.542281347714778879e-02 1.216877333726860799e+00 7.203384868926872674e-06 -1.926048860285451206e-02 2.682695795279727173e+11 1.813512116752924452e-02 1.212181007406257560e+00 1.006744716759612744e-05 -2.270061931629619237e-02 2.682695795279727173e+11 2.142922593415325094e-02 1.216824882257537377e+00 1.397276895416655898e-05 -2.675519442777928719e-02 2.682695795279727173e+11 2.520371623537781200e-02 1.213234795680242950e+00 1.943237823559027820e-05 -3.153396032479117289e-02 2.682695795279727173e+11 2.980930971823543552e-02 1.219153892960435082e+00 2.696565955526913450e-05 -3.716626528166998983e-02 2.682695795279727173e+11 3.513080211901992156e-02 1.219115224862436619e+00 3.756864407948672216e-05 -4.380456056772231294e-02 2.682695795279727173e+11 4.138334869485559009e-02 1.218599496640449642e+00 5.223419327242192632e-05 -5.162852689096004283e-02 2.682695795279727173e+11 4.880016817247107702e-02 1.219218391776543120e+00 7.254608560037340784e-05 -6.084993786913318187e-02 2.682695795279727173e+11 5.753820667177059894e-02 1.219831961693100153e+00 1.008666415623012022e-04 -7.171839216907228975e-02 2.682695795279727173e+11 6.760598247565251240e-02 1.213956016751999822e+00 1.403537374678357299e-04 -8.452806946785666742e-02 2.682695795279727173e+11 7.969365382675236420e-02 1.215203205410933629e+00 1.944666009113898118e-04 -9.962569310141336509e-02 2.682695795279727173e+11 9.414731618549056213e-02 1.218213246691720153e+00 2.717534879636296927e-04 -1.174199149279194637e-01 2.682695795279727173e+11 1.107762952233144887e-01 1.215413058407057267e+00 3.761776092101833851e-04 -1.383923764288897684e-01 2.682695795279727173e+11 1.308862185852825155e-01 1.219419137373241258e+00 5.242193380518485888e-04 -1.631107454420542835e-01 2.682695795279727173e+11 1.542223299420961979e-01 1.218897189843064277e+00 7.276752670591305622e-04 -1.922440813951419580e-01 2.682695795279727173e+11 1.816353508092874991e-01 1.217300242167240087e+00 1.013906785384127924e-03 -2.265809449359138250e-01 2.682695795279727173e+11 2.141426950378006178e-01 1.217777836102106104e+00 1.410495831548971932e-03 -2.670507421371726142e-01 2.682695795279727173e+11 2.523871585436322507e-01 1.217531702499439206e+00 1.959041484625856713e-03 -3.147488810066778608e-01 2.682695795279727173e+11 2.977023618468530031e-01 1.218032243005854331e+00 2.726120148023803563e-03 -3.709664212206886247e-01 2.682695795279727173e+11 3.505015650194079346e-01 1.215506562468770868e+00 3.793513500529202380e-03 -4.372250196192620786e-01 2.682695795279727173e+11 4.135657596352259047e-01 1.216585384280485016e+00 5.289565788444113362e-03 -5.153181173433998286e-01 2.682695795279727173e+11 4.883255730988398380e-01 1.218704646238779388e+00 7.363051766212194184e-03 -6.073594834385067642e-01 2.682695795279727173e+11 5.757718067148432928e-01 1.217599782326994617e+00 1.029528504749101757e-02 -7.158404288682718164e-01 2.682695795279727173e+11 6.800789276199847855e-01 1.219171142959008636e+00 1.442076462496313070e-02 -8.436972395676662906e-01 2.682695795279727173e+11 8.018678528243969872e-01 1.216706051086088758e+00 2.024922251802519294e-02 -9.943906537655036182e-01 2.682695795279727173e+11 9.479258598977924333e-01 1.217681352033655795e+00 2.864220740821592920e-02 -1.171999534812844468e+00 2.682695795279727173e+11 1.120213680753366248e+00 1.216958594629807822e+00 4.067212796425200005e-02 -1.381331274987467994e+00 2.682695795279727173e+11 1.326429784328800432e+00 1.217317471457713740e+00 5.842782786213337326e-02 -1.628051918606947979e+00 2.682695795279727173e+11 1.572487142634748869e+00 1.218259066791467005e+00 8.521796692882709079e-02 -1.918839526531252559e+00 2.682695795279727173e+11 1.866342810545164932e+00 1.218295780028381570e+00 1.281223194760302275e-01 -2.261564933217340645e+00 2.682695795279727173e+11 2.218584199151361513e+00 1.218855939257436072e+00 2.043098984914592797e-01 -2.665504788930584290e+00 2.682695795279727173e+11 2.639375049009835994e+00 1.217723581387601950e+00 3.644330695304482393e-01 -3.141592653589792672e+00 2.682695795279727173e+11 3.141592653589792672e+00 1.208418073940777049e+00 1.390382717293224957e+01 -1.000000000000000021e-03 5.428675439323859253e+11 9.401533504100027675e-04 1.078352031502729291e+00 5.991580319196345275e-08 -1.178610770701415088e-03 5.428675439323859253e+11 1.108074869267686169e-03 1.078352031502729291e+00 8.341709429562242162e-08 -1.389123348813385214e-03 5.428675439323859253e+11 1.305988982806428368e-03 1.078352031502729291e+00 1.147092467712407343e-07 -1.637235740744274635e-03 5.428675439323859253e+11 1.539252693249404782e-03 1.078352031502729291e+00 1.613433898252833108e-07 -1.929663678218512032e-03 5.428675439323859253e+11 1.814179822244609821e-03 1.078352031502729291e+00 2.221244457669734153e-07 -2.274322394979648009e-03 5.428675439323859253e+11 2.138211909839252221e-03 1.078352031502729291e+00 3.103449082034201779e-07 -2.680540870770453925e-03 5.428675439323859253e+11 2.520119638310131232e-03 1.078352031502729291e+00 4.334102535113774864e-07 -3.159314341595407215e-03 5.428675439323859253e+11 2.970240233210296853e-03 1.078352031502729291e+00 6.044176133606906952e-07 -3.723601911035797143e-03 5.428675439323859253e+11 3.500757268028582142e-03 1.078352031502729291e+00 8.293093053863207417e-07 -4.388677318151167420e-03 5.428675439323859253e+11 4.126030446987155771e-03 1.078352031502729291e+00 1.163255033033610251e-06 -5.172542356305966961e-03 5.428675439323859253e+11 4.863557626454865536e-03 1.078512492678776136e+00 1.614441609723112883e-06 -6.096414133051489617e-03 5.428675439323859253e+11 5.736109272142672633e-03 1.079433774794238632e+00 2.259932889644075739e-06 -7.185299359870824139e-03 5.428675439323859253e+11 6.768885335907745722e-03 1.081124167883914966e+00 3.134900836991193199e-06 -8.468671216257736209e-03 5.428675439323859253e+11 7.987917850272986328e-03 1.082912225396591266e+00 4.343104898252313068e-06 -9.981267109010422481e-03 5.428675439323859253e+11 9.434479304028641627e-03 1.086030023473265826e+00 6.081968218983335874e-06 -1.176402891992746509e-02 5.428675439323859253e+11 1.107250124702316429e-02 1.078739710032525778e+00 8.506237616435170855e-06 -1.386521119186945317e-02 5.428675439323859253e+11 1.307347430237733484e-02 1.081030063436551503e+00 1.183873030543151328e-05 -1.634168724878715118e-02 5.428675439323859253e+11 1.543460524927681848e-02 1.083273482276552180e+00 1.646690392566349826e-05 -1.926048860285451206e-02 5.428675439323859253e+11 1.824915188780537947e-02 1.087941633076920045e+00 2.291086853326621101e-05 -2.270061931629619237e-02 5.428675439323859253e+11 2.141139429261821464e-02 1.080839647076269339e+00 3.191692685542560424e-05 -2.675519442777928719e-02 5.428675439323859253e+11 2.529084106301094162e-02 1.084111571405087071e+00 4.443075958656153671e-05 -3.153396032479117289e-02 5.428675439323859253e+11 2.978204220263831747e-02 1.082606225246638409e+00 6.160696271313781185e-05 -3.716626528166998983e-02 5.428675439323859253e+11 3.501703194289632060e-02 1.079657866754931472e+00 8.555856575634929022e-05 -4.380456056772231294e-02 5.428675439323859253e+11 4.150020425529571400e-02 1.088477136946736756e+00 1.187524867432033777e-04 -5.162852689096004283e-02 5.428675439323859253e+11 4.890721186488578009e-02 1.088290707213551922e+00 1.652209917779946574e-04 -6.084993786913318187e-02 5.428675439323859253e+11 5.734691362411415555e-02 1.080596914735605818e+00 2.304663305607438967e-04 -7.171839216907228975e-02 5.428675439323859253e+11 6.768532976591204453e-02 1.082727091630079519e+00 3.195134371762690917e-04 -8.452806946785666742e-02 5.428675439323859253e+11 7.993733043137138394e-02 1.085598710250227805e+00 4.432121366229689716e-04 -9.962569310141336509e-02 5.428675439323859253e+11 9.430789588956735303e-02 1.087237009570080959e+00 6.179004326521633393e-04 -1.174199149279194637e-01 5.428675439323859253e+11 1.108604332990424240e-01 1.083159006294978743e+00 8.589276617007783696e-04 -1.383923764288897684e-01 5.428675439323859253e+11 1.309920177331425351e-01 1.086986246397843692e+00 1.192542754363043597e-03 -1.631107454420542835e-01 5.428675439323859253e+11 1.543605188206272627e-01 1.086711191099879237e+00 1.658542289158570614e-03 -1.922440813951419580e-01 5.428675439323859253e+11 1.818614898808598446e-01 1.086112248243526590e+00 2.308805747177038268e-03 -2.265809449359138250e-01 5.428675439323859253e+11 2.144311240806847652e-01 1.086333793792856550e+00 3.198851236915352739e-03 -2.670507421371726142e-01 5.428675439323859253e+11 2.527414873545170138e-01 1.086168399440535337e+00 4.450538482217858936e-03 -3.147488810066778608e-01 5.428675439323859253e+11 2.977016702364310152e-01 1.084850226340210444e+00 6.205040655303313557e-03 -3.709664212206886247e-01 5.428675439323859253e+11 3.512271609256533700e-01 1.085867883541602463e+00 8.632516388428651891e-03 -4.372250196192620786e-01 5.428675439323859253e+11 4.147317609680257200e-01 1.088119883460067161e+00 1.203796694941008071e-02 -5.153181173433998286e-01 5.428675439323859253e+11 4.882776054525566622e-01 1.085209303734456565e+00 1.683145512021584980e-02 -6.073594834385067642e-01 5.428675439323859253e+11 5.766632430520112207e-01 1.086888285326448766e+00 2.351240137875442240e-02 -7.158404288682718164e-01 5.428675439323859253e+11 6.796566317703470750e-01 1.084766891053917437e+00 3.288885889371689908e-02 -8.436972395676662906e-01 5.428675439323859253e+11 8.023278913791448419e-01 1.084737254256691319e+00 4.613837500623799159e-02 -9.943906537655036182e-01 5.428675439323859253e+11 9.481035412968885634e-01 1.085102440290493853e+00 6.510276489522066889e-02 -1.171999534812844468e+00 5.428675439323859253e+11 1.120732842011484820e+00 1.084524472110906634e+00 9.272007600972369257e-02 -1.381331274987467994e+00 5.428675439323859253e+11 1.326921603559748863e+00 1.085038745033021002e+00 1.327460214638806202e-01 -1.628051918606947979e+00 5.428675439323859253e+11 1.574078953544426174e+00 1.087496374391343945e+00 1.939990796236291948e-01 -1.918839526531252559e+00 5.428675439323859253e+11 1.867521254003223552e+00 1.086689293141613666e+00 2.911936944360576929e-01 -2.261564933217340645e+00 5.428675439323859253e+11 2.219575459472701517e+00 1.086884825260916676e+00 4.626392986023662446e-01 -2.665504788930584290e+00 5.428675439323859253e+11 2.640876819415997279e+00 1.088433319358009577e+00 8.290984632031369594e-01 -3.141592653589792672e+00 5.428675439323859253e+11 3.141592653589792672e+00 1.078352031502729291e+00 3.183367150936617662e+01 -1.000000000000000021e-03 1.098541141987561768e+12 9.339797452843624738e-04 9.532286046951663483e-01 1.362972632529853890e-07 -1.178610770701415088e-03 1.098541141987561768e+12 1.100798592199029018e-03 9.532286046951663483e-01 1.896049324121082642e-07 -1.389123348813385214e-03 1.098541141987561768e+12 1.297413084980940986e-03 9.532286046951663483e-01 2.643410360037240823e-07 -1.637235740744274635e-03 1.098541141987561768e+12 1.529145048847040545e-03 9.532286046951663483e-01 3.653869500242985351e-07 -1.929663678218512032e-03 1.098541141987561768e+12 1.802266845557239094e-03 9.532286046951663483e-01 5.096675342053742936e-07 -2.274322394979648009e-03 1.098541141987561768e+12 2.124171150268765098e-03 9.532286046951663483e-01 7.046064796112060511e-07 -2.680540870770453925e-03 1.098541141987561768e+12 2.503571052868618346e-03 9.532286046951663483e-01 9.832906159889411612e-07 -3.159314341595407215e-03 1.098541141987561768e+12 2.950735900383214937e-03 9.532286046951663483e-01 1.368292506812462585e-06 -3.723601911035797143e-03 1.098541141987561768e+12 3.477769264731742950e-03 9.532286046951663483e-01 1.912278247717734495e-06 -4.388677318151167420e-03 1.098541141987561768e+12 4.098936560722960323e-03 9.533065693641421534e-01 2.636791091612380550e-06 -5.172542356305966961e-03 1.098541141987561768e+12 4.831051183771162619e-03 9.535963319539155769e-01 3.678039418476914097e-06 -6.096414133051489617e-03 1.098541141987561768e+12 5.694061585924638062e-03 9.539071314594195217e-01 5.109009502644570553e-06 -7.185299359870824139e-03 1.098541141987561768e+12 6.712812882142341238e-03 9.545170649649297179e-01 7.123958494901631311e-06 -8.468671216257736209e-03 1.098541141987561768e+12 7.916484691400967402e-03 9.554481534611763971e-01 9.870123473375882385e-06 -9.981267109010422481e-03 1.098541141987561768e+12 9.350514264290064534e-03 9.572397329162314339e-01 1.379114194691390312e-05 -1.176402891992746509e-02 1.098541141987561768e+12 1.105016899036776606e-02 9.606298222817905019e-01 1.921317991730786261e-05 -1.386521119186945317e-02 1.098541141987561768e+12 1.296576614102787697e-02 9.565211009334698700e-01 2.658580773889525746e-05 -1.634168724878715118e-02 1.098541141987561768e+12 1.533418486442051677e-02 9.598029930768479101e-01 3.716709518342313306e-05 -1.926048860285451206e-02 1.098541141987561768e+12 1.804025881814007651e-02 9.572450560384374585e-01 5.163662121517415503e-05 -2.270061931629619237e-02 1.098541141987561768e+12 2.132509745817999167e-02 9.606163229962219052e-01 7.196342182807256903e-05 -2.675519442777928719e-02 1.098541141987561768e+12 2.507639553616437811e-02 9.586443384009208923e-01 9.982201567290827765e-05 -3.153396032479117289e-02 1.098541141987561768e+12 2.956135479984548647e-02 9.581623730993686916e-01 1.390079587871104075e-04 -3.716626528166998983e-02 1.098541141987561768e+12 3.481617199995015038e-02 9.569859550646849788e-01 1.938438492547021191e-04 -4.380456056772231294e-02 1.098541141987561768e+12 4.117141720375443181e-02 9.609277816613434053e-01 2.693169806156178086e-04 -5.162852689096004283e-02 1.098541141987561768e+12 4.853862698278130910e-02 9.609207697636457102e-01 3.751495919176499544e-04 -6.084993786913318187e-02 1.098541141987561768e+12 5.720788071100366828e-02 9.608877110388994724e-01 5.208814589452579391e-04 -7.171839216907228975e-02 1.098541141987561768e+12 6.739490080551284457e-02 9.605957653543387709e-01 7.248272204523407806e-04 -8.452806946785666742e-02 1.098541141987561768e+12 7.944070134488687152e-02 9.607127878695801426e-01 1.008129458303973951e-03 -9.962569310141336509e-02 1.098541141987561768e+12 9.372469351053343278e-02 9.615772064462538848e-01 1.402948083011556178e-03 -1.174199149279194637e-01 1.098541141987561768e+12 1.104844072340503275e-01 9.619459673469724637e-01 1.947972892888812438e-03 -1.383923764288897684e-01 1.098541141987561768e+12 1.301880526605025956e-01 9.609284259216294144e-01 2.715021501376742828e-03 -1.631107454420542835e-01 1.098541141987561768e+12 1.533893100389926156e-01 9.600805467581431385e-01 3.779699348051925468e-03 -1.922440813951419580e-01 1.098541141987561768e+12 1.807205823194345251e-01 9.595222034294105251e-01 5.251141393787270122e-03 -2.265809449359138250e-01 1.098541141987561768e+12 2.128829402565897144e-01 9.593074407217772048e-01 7.293387213314607431e-03 -2.670507421371726142e-01 1.098541141987561768e+12 2.509045331986593519e-01 9.590691897368180951e-01 1.013673523063420880e-02 -3.147488810066778608e-01 1.098541141987561768e+12 2.962614624323654522e-01 9.604682653967923089e-01 1.413643370739473687e-02 -3.709664212206886247e-01 1.098541141987561768e+12 3.494999632485268348e-01 9.612427593344773369e-01 1.968696880715654213e-02 -4.372250196192620786e-01 1.098541141987561768e+12 4.121254229471085773e-01 9.608732008350832077e-01 2.743450899753594602e-02 -5.153181173433998286e-01 1.098541141987561768e+12 4.863883628028067840e-01 9.619154717849918157e-01 3.816284759388875042e-02 -6.073594834385067642e-01 1.098541141987561768e+12 5.731866023983831493e-01 9.603250986162650271e-01 5.335861831872505678e-02 -7.158404288682718164e-01 1.098541141987561768e+12 6.760136607465061509e-01 9.596814276092469065e-01 7.484093455615097035e-02 -8.436972395676662906e-01 1.098541141987561768e+12 7.997161082041887026e-01 9.617652219350416587e-01 1.052724249413984903e-01 -9.943906537655036182e-01 1.098541141987561768e+12 9.438571811730057659e-01 9.609065850820366350e-01 1.481608950920381695e-01 -1.171999534812844468e+00 1.098541141987561768e+12 1.117945835315984349e+00 9.622142113006096897e-01 2.112982936100205045e-01 -1.381331274987467994e+00 1.098541141987561768e+12 1.322069455808684291e+00 9.608272766398140430e-01 3.029876674514156987e-01 -1.628051918606947979e+00 1.098541141987561768e+12 1.567635870470018622e+00 9.610772346406764033e-01 4.416168549510199881e-01 -1.918839526531252559e+00 1.098541141987561768e+12 1.863396641414845289e+00 9.621653544171576700e-01 6.629094048756891677e-01 -2.261564933217340645e+00 1.098541141987561768e+12 2.214735624900662447e+00 9.610586467591188953e-01 1.049174055913355774e+00 -2.665504788930584290e+00 1.098541141987561768e+12 2.637929278912671371e+00 9.613125012265995029e-01 1.868082682159122321e+00 -3.141592653589792672e+00 1.098541141987561768e+12 3.141592653589792672e+00 9.532286046951663483e-01 7.301577621412837971e+01 -1.000000000000000021e-03 2.222996482526190918e+12 9.361563526980516995e-04 8.507142256376261091e-01 3.094366327248883166e-07 -1.178610770701415088e-03 2.222996482526190918e+12 1.103363964990172405e-03 8.507142256376261091e-01 4.303724967503792981e-07 -1.389123348813385214e-03 2.222996482526190918e+12 1.300436660737518818e-03 8.507142256376261091e-01 5.981577745111846773e-07 -1.637235740744274635e-03 2.222996482526190918e+12 1.532708667397120021e-03 8.507142256376261091e-01 8.275482431678686964e-07 -1.929663678218512032e-03 2.222996482526190918e+12 1.806466964103789269e-03 8.507142256376261091e-01 1.154244008992667211e-06 -2.274322394979648009e-03 2.222996482526190918e+12 2.129121454146627301e-03 8.507142256376261091e-01 1.608670360326992834e-06 -2.680540870770453925e-03 2.222996482526190918e+12 2.509405532570191215e-03 8.507142256376261091e-01 2.239199177042548548e-06 -3.159314341595407215e-03 2.222996482526190918e+12 2.957612478107750093e-03 8.507142256376261091e-01 3.108460677948599765e-06 -3.723601911035797143e-03 2.222996482526190918e+12 3.485874068566618012e-03 8.507142256376261091e-01 4.309457590032975512e-06 -4.388677318151167420e-03 2.222996482526190918e+12 4.108488962061857680e-03 8.507142256376261091e-01 5.946562446394878599e-06 -5.172542356305966961e-03 2.222996482526190918e+12 4.842309734178019097e-03 8.508029580276726955e-01 8.357350128499265945e-06 -6.096414133051489617e-03 2.222996482526190918e+12 5.709991556343589451e-03 8.516180054110393804e-01 1.152202179750402372e-05 -7.185299359870824139e-03 2.222996482526190918e+12 6.735321677149840383e-03 8.527690154464360184e-01 1.610531474941162563e-05 -8.468671216257736209e-03 2.222996482526190918e+12 7.944461015877873553e-03 8.538821725477822033e-01 2.245860474520591896e-05 -9.981267109010422481e-03 2.222996482526190918e+12 9.370321804595597645e-03 8.549574315185269890e-01 3.107840865804275177e-05 -1.176402891992746509e-02 2.222996482526190918e+12 1.106361518966405243e-02 8.562307719017688834e-01 4.315729393984539845e-05 -1.386521119186945317e-02 2.222996482526190918e+12 1.305162579143636509e-02 8.573116727400312831e-01 6.032697402202432958e-05 -1.634168724878715118e-02 2.222996482526190918e+12 1.531996735467884216e-02 8.531082571424019045e-01 8.406389005481032896e-05 -1.926048860285451206e-02 2.222996482526190918e+12 1.810008526205918178e-02 8.559385569706976504e-01 1.167739128733176159e-04 -2.270061931629619237e-02 2.222996482526190918e+12 2.129379645729341172e-02 8.539420444205056970e-01 1.627903033568321722e-04 -2.675519442777928719e-02 2.222996482526190918e+12 2.513986514713700826e-02 8.569959547148547907e-01 2.250304281945515717e-04 -3.153396032479117289e-02 2.222996482526190918e+12 2.960810048547406204e-02 8.552630532102424299e-01 3.128509082201154216e-04 -3.716626528166998983e-02 2.222996482526190918e+12 3.487482816613751702e-02 8.544686369635741130e-01 4.368412328282788876e-04 -4.380456056772231294e-02 2.222996482526190918e+12 4.111974633642936222e-02 8.546046215778992927e-01 6.079038739566019903e-04 -5.162852689096004283e-02 2.222996482526190918e+12 4.850706860182622815e-02 8.556451442485760728e-01 8.465694982698663716e-04 -6.084993786913318187e-02 2.222996482526190918e+12 5.718367406788388285e-02 8.559506400833113426e-01 1.177902537610265752e-03 -7.171839216907228975e-02 2.222996482526190918e+12 6.750327253812646311e-02 8.574475130414107582e-01 1.637401007746638534e-03 -8.452806946785666742e-02 2.222996482526190918e+12 7.963019241106709944e-02 8.585489665549352889e-01 2.275260907336899060e-03 -9.962569310141336509e-02 2.222996482526190918e+12 9.361025672488304528e-02 8.561045985677767645e-01 3.148347458254455340e-03 -1.174199149279194637e-01 2.222996482526190918e+12 1.106046388263840635e-01 8.581618296293904713e-01 4.400730073049976925e-03 -1.383923764288897684e-01 2.222996482526190918e+12 1.302256476178242084e-01 8.569935577938730953e-01 6.098240999318234497e-03 -1.631107454420542835e-01 2.222996482526190918e+12 1.533078818549090117e-01 8.558266324413759119e-01 8.499112056860746653e-03 -1.922440813951419580e-01 2.222996482526190918e+12 1.812306453389628813e-01 8.585153559487018748e-01 1.184651162919222837e-02 -2.265809449359138250e-01 2.222996482526190918e+12 2.135420895258980933e-01 8.580355909971528749e-01 1.647096480771676266e-02 -2.670507421371726142e-01 2.222996482526190918e+12 2.516995532155470450e-01 8.577981104179703831e-01 2.290941852345365626e-02 -3.147488810066778608e-01 2.222996482526190918e+12 2.965066130322071003e-01 8.568522356814813890e-01 3.182658204705081373e-02 -3.709664212206886247e-01 2.222996482526190918e+12 3.496691634019202244e-01 8.571853274330230033e-01 4.428594145921577185e-02 -4.372250196192620786e-01 2.222996482526190918e+12 4.125059321233212062e-01 8.575392715075319527e-01 6.175596789700035782e-02 -5.153181173433998286e-01 2.222996482526190918e+12 4.867443275784450463e-01 8.578031644190203808e-01 8.621739050907463453e-02 -6.073594834385067642e-01 2.222996482526190918e+12 5.734674955785726835e-01 8.561879393545165362e-01 1.205138731492107068e-01 -7.158404288682718164e-01 2.222996482526190918e+12 6.771827138869285223e-01 8.572039150438865995e-01 1.690029005547316887e-01 -8.436972395676662906e-01 2.222996482526190918e+12 8.001642204346981480e-01 8.575003464425934308e-01 2.374971341456387497e-01 -9.943906537655036182e-01 2.222996482526190918e+12 9.452099775800898440e-01 8.568632391507327029e-01 3.364067769528277796e-01 -1.171999534812844468e+00 2.222996482526190918e+12 1.117536738739709712e+00 8.570525874765907437e-01 4.771168356741030681e-01 -1.381331274987467994e+00 2.222996482526190918e+12 1.323022967687999873e+00 8.567173625923373281e-01 6.865368059855954108e-01 -1.628051918606947979e+00 2.222996482526190918e+12 1.569268202126627765e+00 8.574120074644754341e-01 1.006005843449703674e+00 -1.918839526531252559e+00 2.222996482526190918e+12 1.863102928128467006e+00 8.573073986093784349e-01 1.507454149510671026e+00 -2.261564933217340645e+00 2.222996482526190918e+12 2.215202973146268128e+00 8.566656172224849097e-01 2.404626757280067917e+00 -2.665504788930584290e+00 2.222996482526190918e+12 2.638081414404382929e+00 8.575077271533421142e-01 4.288214316297461970e+00 -3.141592653589792672e+00 2.222996482526190918e+12 3.141592653589792672e+00 8.507142256376261091e-01 1.685700074891410623e+02 -1.000000000000000021e-03 4.498432668969453125e+12 9.321210774099246638e-04 7.525554588629501662e-01 7.126998222422356061e-07 -1.178610770701415088e-03 4.498432668969453125e+12 1.098607946350037539e-03 7.525554588629501662e-01 9.909373989771692255e-07 -1.389123348813385214e-03 4.498432668969453125e+12 1.294831166396426345e-03 7.525554588629501662e-01 1.378409884021539064e-06 -1.637235740744274635e-03 4.498432668969453125e+12 1.526101972134634053e-03 7.525554588629501662e-01 1.917888143491218299e-06 -1.929663678218512032e-03 4.498432668969453125e+12 1.798680243125194657e-03 7.525554588629501662e-01 2.655845761457063138e-06 -2.274322394979648009e-03 4.498432668969453125e+12 2.119943942924524052e-03 7.525554588629501662e-01 3.698868836070960073e-06 -2.680540870770453925e-03 4.498432668969453125e+12 2.498588822256497637e-03 7.525554588629501662e-01 5.126758692316640672e-06 -3.159314341595407215e-03 4.498432668969453125e+12 2.944863792167354537e-03 7.525554588629501662e-01 7.129608706141537008e-06 -3.723601911035797143e-03 4.498432668969453125e+12 3.470848338745981254e-03 7.525554588629501662e-01 9.930512141983022326e-06 -4.388677318151167420e-03 4.498432668969453125e+12 4.090779489368677642e-03 7.525554588629501662e-01 1.379524985446444370e-05 -5.172542356305966961e-03 4.498432668969453125e+12 4.822155425774750370e-03 7.529216591459244601e-01 1.918359613112497554e-05 -6.096414133051489617e-03 4.498432668969453125e+12 5.684893547667688000e-03 7.534042880171697432e-01 2.668388044784919492e-05 -7.185299359870824139e-03 4.498432668969453125e+12 6.701922395514107490e-03 7.538701093219293270e-01 3.703267046700912853e-05 -8.468671216257736209e-03 4.498432668969453125e+12 7.908748263065099385e-03 7.544905822442143917e-01 5.177662546996096723e-05 -9.981267109010422481e-03 4.498432668969453125e+12 9.325798578173557368e-03 7.549646747964651183e-01 7.198869871139297247e-05 -1.176402891992746509e-02 4.498432668969453125e+12 1.099931630662136749e-02 7.558297005584021511e-01 1.000114517582775982e-04 -1.386521119186945317e-02 4.498432668969453125e+12 1.298370355681142778e-02 7.574660435035109884e-01 1.393855723284497233e-04 -1.634168724878715118e-02 4.498432668969453125e+12 1.533315794814062855e-02 7.596127570441622012e-01 1.932256337532499326e-04 -1.926048860285451206e-02 4.498432668969453125e+12 1.801112666676433355e-02 7.566281853751956055e-01 2.691025526767510030e-04 -2.270061931629619237e-02 4.498432668969453125e+12 2.119485507908663857e-02 7.552368792695358657e-01 3.741130497028703197e-04 -2.675519442777928719e-02 4.498432668969453125e+12 2.506544069423827584e-02 7.584503669649967916e-01 5.203091272372791388e-04 -3.153396032479117289e-02 4.498432668969453125e+12 2.948480735898569710e-02 7.574216774575719402e-01 7.207728936328003030e-04 -3.716626528166998983e-02 4.498432668969453125e+12 3.476037463364086560e-02 7.570568990040396073e-01 1.007942934113368640e-03 -4.380456056772231294e-02 4.498432668969453125e+12 4.095778723514292841e-02 7.564667155326615378e-01 1.401285274320459521e-03 -5.162852689096004283e-02 4.498432668969453125e+12 4.824985602502984694e-02 7.559882271384021912e-01 1.946033843519657126e-03 -6.084993786913318187e-02 4.498432668969453125e+12 5.685912319650974350e-02 7.559133909352824254e-01 2.709281248433273535e-03 -7.171839216907228975e-02 4.498432668969453125e+12 6.705002461941518555e-02 7.565354471601892783e-01 3.761077442545257207e-03 -8.452806946785666742e-02 4.498432668969453125e+12 7.916075394133145759e-02 7.579061243806088921e-01 5.232338709026634720e-03 -9.962569310141336509e-02 4.498432668969453125e+12 9.314595347143908577e-02 7.564177756988370582e-01 7.270267846726442829e-03 -1.174199149279194637e-01 4.498432668969453125e+12 1.099120708935223956e-01 7.576289597422658506e-01 1.010189808520424795e-02 -1.383923764288897684e-01 4.498432668969453125e+12 1.294596397046573755e-01 7.567619574739762323e-01 1.405311635875943453e-02 -1.631107454420542835e-01 4.498432668969453125e+12 1.529484265659084574e-01 7.588031099962173620e-01 1.957739325435432082e-02 -1.922440813951419580e-01 4.498432668969453125e+12 1.802711650712877089e-01 7.588408219192117610e-01 2.718801645123294919e-02 -2.265809449359138250e-01 4.498432668969453125e+12 2.125635625571554999e-01 7.591974032269996897e-01 3.783079653445420298e-02 -2.670507421371726142e-01 4.498432668969453125e+12 2.505176481738830008e-01 7.594353674929811282e-01 5.247252871211023628e-02 -3.147488810066778608e-01 4.498432668969453125e+12 2.950569650051386716e-01 7.576971347774560384e-01 7.327762851295487045e-02 -3.709664212206886247e-01 4.498432668969453125e+12 3.481164928810683845e-01 7.582680577964338031e-01 1.020481476782586772e-01 -4.372250196192620786e-01 4.498432668969453125e+12 4.110478592764058026e-01 7.594155236826570787e-01 1.422241946435535420e-01 -5.153181173433998286e-01 4.498432668969453125e+12 4.840985227280750758e-01 7.581713615021508090e-01 1.982645990825027127e-01 -6.073594834385067642e-01 4.498432668969453125e+12 5.719685309119467709e-01 7.592133136364704882e-01 2.776586634766993189e-01 -7.158404288682718164e-01 4.498432668969453125e+12 6.742976223229156796e-01 7.579416824564862987e-01 3.889427176512809670e-01 -8.436972395676662906e-01 4.498432668969453125e+12 7.966443970003603825e-01 7.583527128996481181e-01 5.464675271046803839e-01 -9.943906537655036182e-01 4.498432668969453125e+12 9.415984023322986340e-01 7.585038528763092813e-01 7.716790523870726837e-01 -1.171999534812844468e+00 4.498432668969453125e+12 1.113505529254604776e+00 7.579720807284963113e-01 1.098301030121237254e+00 -1.381331274987467994e+00 4.498432668969453125e+12 1.319211737603277479e+00 7.584894563117916544e-01 1.578093417449610625e+00 -1.628051918606947979e+00 4.498432668969453125e+12 1.565173116943781251e+00 7.590653409383577577e-01 2.304579375036479583e+00 -1.918839526531252559e+00 4.498432668969453125e+12 1.859408527240026476e+00 7.589395651800171505e-01 3.455086528752576047e+00 -2.261564933217340645e+00 4.498432668969453125e+12 2.212811202216724116e+00 7.593297675820276371e-01 5.482381218097263975e+00 -2.665504788930584290e+00 4.498432668969453125e+12 2.635517232685296030e+00 7.576734376291082151e-01 9.771076872330466401e+00 -3.141592653589792672e+00 4.498432668969453125e+12 3.141592653589792672e+00 7.525554588629501662e-01 3.905263685817214423e+02 -1.000000000000000021e-03 9.102981779915226562e+12 9.290497422962584653e-04 6.662401431656831408e-01 1.624764435579832744e-06 -1.178610770701415088e-03 9.102981779915226562e+12 1.094988037913980630e-03 6.662401431656831408e-01 2.260216892992323080e-06 -1.389123348813385214e-03 9.102981779915226562e+12 1.290564703667483127e-03 6.662401431656831408e-01 3.147413559156986847e-06 -1.637235740744274635e-03 9.102981779915226562e+12 1.521073473770657210e-03 6.662401431656831408e-01 4.372073710985487853e-06 -1.929663678218512032e-03 9.102981779915226562e+12 1.792753601711698274e-03 6.662401431656831408e-01 6.079933841082004070e-06 -2.274322394979648009e-03 9.102981779915226562e+12 2.112958741024681137e-03 6.662401431656831408e-01 8.430333468509440613e-06 -2.680540870770453925e-03 9.102981779915226562e+12 2.490355990524545718e-03 6.662401431656831408e-01 1.168177843346159115e-05 -3.159314341595407215e-03 9.102981779915226562e+12 2.935160492046746256e-03 6.662401431656831408e-01 1.629183981708067516e-05 -3.723601911035797143e-03 9.102981779915226562e+12 3.459411931313899173e-03 6.662401431656831408e-01 2.260109375552019238e-05 -4.388677318151167420e-03 9.102981779915226562e+12 4.077300427199182127e-03 6.662401431656831408e-01 3.140299736919465405e-05 -5.172542356305966961e-03 9.102981779915226562e+12 4.805550632192416051e-03 6.662401431656831408e-01 4.363885267236392702e-05 -6.096414133051489617e-03 9.102981779915226562e+12 5.664189646215193365e-03 6.663212102297457751e-01 6.076271511634098618e-05 -7.185299359870824139e-03 9.102981779915226562e+12 6.679849170294777268e-03 6.670412101694128681e-01 8.494246310659613595e-05 -8.468671216257736209e-03 9.102981779915226562e+12 7.882111937100935717e-03 6.681762253345258085e-01 1.181273548908452835e-04 -9.981267109010422481e-03 9.102981779915226562e+12 9.300447644143604656e-03 6.692547633742604862e-01 1.640615084962555870e-04 -1.176402891992746509e-02 9.102981779915226562e+12 1.097561476677686408e-02 6.704438032614711274e-01 2.282667062670306712e-04 -1.386521119186945317e-02 9.102981779915226562e+12 1.295577447046241878e-02 6.718463513830605915e-01 3.166135036568163254e-04 -1.634168724878715118e-02 9.102981779915226562e+12 1.521471999520598688e-02 6.691374462852378580e-01 4.410135643470533833e-04 -1.926048860285451206e-02 9.102981779915226562e+12 1.799623830591351795e-02 6.720391274387380598e-01 6.134244872158911132e-04 -2.270061931629619237e-02 9.102981779915226562e+12 2.116405282461859133e-02 6.703701928894929551e-01 8.547286994523083754e-04 -2.675519442777928719e-02 9.102981779915226562e+12 2.490049223996582128e-02 6.690852364233935701e-01 1.185741271550511816e-03 -3.153396032479117289e-02 9.102981779915226562e+12 2.946117991994331303e-02 6.721934332209873464e-01 1.650375379804009789e-03 -3.716626528166998983e-02 9.102981779915226562e+12 3.469954417146867143e-02 6.712863384142442325e-01 2.301719428503159852e-03 -4.380456056772231294e-02 9.102981779915226562e+12 4.086033190794122888e-02 6.705482547267420657e-01 3.199159027821008548e-03 -5.162852689096004283e-02 9.102981779915226562e+12 4.814166853705841714e-02 6.703108751568157553e-01 4.427422851467424647e-03 -6.084993786913318187e-02 9.102981779915226562e+12 5.677501673499681101e-02 6.708252855387442093e-01 6.178954820141852392e-03 -7.171839216907228975e-02 9.102981779915226562e+12 6.695940313281564804e-02 6.714761169759428938e-01 8.585213438660551852e-03 -8.452806946785666742e-02 9.102981779915226562e+12 7.872659349732830103e-02 6.693979386390367381e-01 1.193917708133153052e-02 -9.962569310141336509e-02 9.102981779915226562e+12 9.296166666497865383e-02 6.712293597125846834e-01 1.657566626755237194e-02 -1.174199149279194637e-01 9.102981779915226562e+12 1.095232057489893274e-01 6.704722932751752129e-01 2.306890063633331225e-02 -1.383923764288897684e-01 9.102981779915226562e+12 1.293912531466023252e-01 6.723278302326270994e-01 3.200535825587563776e-02 -1.631107454420542835e-01 9.102981779915226562e+12 1.523920534052835840e-01 6.717625204228341307e-01 4.460984693756201575e-02 -1.922440813951419580e-01 9.102981779915226562e+12 1.796196515859617704e-01 6.714915916506530857e-01 6.209074533163699144e-02 -2.265809449359138250e-01 9.102981779915226562e+12 2.116950874828684992e-01 6.712466279020115056e-01 8.635458596288143884e-02 -2.670507421371726142e-01 9.102981779915226562e+12 2.495573833025321042e-01 6.711988913591052652e-01 1.201163075088864246e-01 -3.147488810066778608e-01 9.102981779915226562e+12 2.944373535303000389e-01 6.718182290410422697e-01 1.672809249526011344e-01 -3.709664212206886247e-01 9.102981779915226562e+12 3.466215950959188330e-01 6.704415131590014676e-01 2.331315417797290845e-01 -4.372250196192620786e-01 9.102981779915226562e+12 4.092037008377581442e-01 6.713316465351614193e-01 3.247346476818852579e-01 -5.153181173433998286e-01 9.102981779915226562e+12 4.831875690657774780e-01 6.721244809997195535e-01 4.523028636738571362e-01 -6.073594834385067642e-01 9.102981779915226562e+12 5.695494860812204685e-01 6.712082750080232696e-01 6.320206705729556340e-01 -7.158404288682718164e-01 9.102981779915226562e+12 6.727106365929317322e-01 6.718954538376159524e-01 8.871670857700242330e-01 -8.436972395676662906e-01 9.102981779915226562e+12 7.940056304528726461e-01 6.710285504973030335e-01 1.247812248114350320e+00 -9.943906537655036182e-01 9.102981779915226562e+12 9.389384347505780326e-01 6.716469851224992071e-01 1.760692499903187880e+00 -1.171999534812844468e+00 9.102981779915226562e+12 1.110659040994453228e+00 6.713028777743950126e-01 2.507162959379912071e+00 -1.381331274987467994e+00 9.102981779915226562e+12 1.316349864079189746e+00 6.717676026151976343e-01 3.606435088058141947e+00 -1.628051918606947979e+00 9.102981779915226562e+12 1.562222667582381153e+00 6.723716980677970634e-01 5.267982222205147558e+00 -1.918839526531252559e+00 9.102981779915226562e+12 1.856310970677697902e+00 6.719782694429674574e-01 7.907559917569398245e+00 -2.261564933217340645e+00 9.102981779915226562e+12 2.210328244734796499e+00 6.723975384850854331e-01 1.258605952490970736e+01 -2.665504788930584290e+00 9.102981779915226562e+12 2.634651995532375057e+00 6.720933076799313621e-01 2.245892913523852386e+01 -3.141592653589792672e+00 9.102981779915226562e+12 3.141592653589792672e+00 6.662401431656831408e-01 9.043863859069410864e+02 -1.000000000000000021e-03 1.842069969326716406e+13 9.264419571317236658e-04 5.900239646317324560e-01 3.719534231355910437e-06 -1.178610770701415088e-03 1.842069969326716406e+13 1.091914474408370046e-03 5.900239646317324560e-01 5.182256775868833807e-06 -1.389123348813385214e-03 1.842069969326716406e+13 1.286942168905108553e-03 5.900239646317324560e-01 7.209049134960527387e-06 -1.637235740744274635e-03 1.842069969326716406e+13 1.516803915756900160e-03 5.900239646317324560e-01 1.002648928691691311e-05 -1.929663678218512032e-03 1.842069969326716406e+13 1.787721455427288908e-03 5.900239646317324560e-01 1.393802275792879753e-05 -2.274322394979648009e-03 1.842069969326716406e+13 2.107027800485846477e-03 5.900239646317324560e-01 1.935229065230568377e-05 -2.680540870770453925e-03 1.842069969326716406e+13 2.483365722207163395e-03 5.900239646317324560e-01 2.686166553954292299e-05 -3.159314341595407215e-03 1.842069969326716406e+13 2.926921689926647360e-03 5.900239646317324560e-01 3.728096451883247371e-05 -3.723601911035797143e-03 1.842069969326716406e+13 3.449701595978587557e-03 5.900239646317324560e-01 5.172504568379199198e-05 -4.388677318151167420e-03 1.842069969326716406e+13 4.065855730523439647e-03 5.900239646317324560e-01 7.196638716137738838e-05 -5.172542356305966961e-03 1.842069969326716406e+13 4.792061804383354433e-03 5.900239646317324560e-01 9.987724485379502828e-05 -6.096414133051489617e-03 1.842069969326716406e+13 5.647976390436819025e-03 5.900239646317324560e-01 1.385923412434827886e-04 -7.185299359870824139e-03 1.842069969326716406e+13 6.656767008041157216e-03 5.900239646317324560e-01 1.941204505868096629e-04 -8.468671216257736209e-03 1.842069969326716406e+13 7.850664777734365010e-03 5.905920710549977803e-01 2.688944760221033447e-04 -9.981267109010422481e-03 1.842069969326716406e+13 9.273459732386166859e-03 5.922013074482863626e-01 3.751538602656456973e-04 -1.176402891992746509e-02 1.842069969326716406e+13 1.095351640098731275e-02 5.938185807371819669e-01 5.211799388848011548e-04 -1.386521119186945317e-02 1.842069969326716406e+13 1.293793044844228184e-02 5.954779309972192403e-01 7.229728149129968943e-04 -1.634168724878715118e-02 1.842069969326716406e+13 1.517918765038938668e-02 5.925116518708479774e-01 1.008383484575523219e-03 -1.926048860285451206e-02 1.842069969326716406e+13 1.793523844374620563e-02 5.943356473844507715e-01 1.396235931298131288e-03 -2.270061931629619237e-02 1.842069969326716406e+13 2.107641018486691373e-02 5.920492353625449455e-01 1.955285916932583863e-03 -2.675519442777928719e-02 1.842069969326716406e+13 2.492421323323822102e-02 5.943509595071305718e-01 2.716691531305659435e-03 -3.153396032479117289e-02 1.842069969326716406e+13 2.935080794397264964e-02 5.937088249299892206e-01 3.780338993953705640e-03 -3.716626528166998983e-02 1.842069969326716406e+13 3.456056086461632704e-02 5.932420271750526997e-01 5.252579012119545226e-03 -4.380456056772231294e-02 1.842069969326716406e+13 4.069585935055937409e-02 5.926055402206927836e-01 7.291559444503989580e-03 -5.162852689096004283e-02 1.842069969326716406e+13 4.797865614985630939e-02 5.928559613714370347e-01 1.017024045248024651e-02 -6.084993786913318187e-02 1.842069969326716406e+13 5.656591191779136024e-02 5.930701806351360572e-01 1.413111848595012369e-02 -7.171839216907228975e-02 1.842069969326716406e+13 6.675709370208973703e-02 5.940669815355934524e-01 1.958545978815499911e-02 -8.452806946785666742e-02 1.842069969326716406e+13 7.884429118722370566e-02 5.955470677396164092e-01 2.731424944847327466e-02 -9.962569310141336509e-02 1.842069969326716406e+13 9.267521028284725348e-02 5.939391185794175021e-01 3.778903522113032099e-02 -1.174199149279194637e-01 1.842069969326716406e+13 1.090589811025218930e-01 5.928410957597826103e-01 5.256628274272666379e-02 -1.383923764288897684e-01 1.842069969326716406e+13 1.288942984233517330e-01 5.945559446745455334e-01 7.332275166951396361e-02 -1.631107454420542835e-01 1.842069969326716406e+13 1.518795922340622218e-01 5.939487282660633749e-01 1.021036271263535827e-01 -1.922440813951419580e-01 1.842069969326716406e+13 1.788451470297890700e-01 5.931897686893040644e-01 1.420385027464222405e-01 -2.265809449359138250e-01 1.842069969326716406e+13 2.109089767710066454e-01 5.934396586684447250e-01 1.974978182743238053e-01 -2.670507421371726142e-01 1.842069969326716406e+13 2.487354224282215254e-01 5.937453139123181067e-01 2.742013117132547917e-01 -3.147488810066778608e-01 1.842069969326716406e+13 2.935144560333927677e-01 5.943355783544127524e-01 3.824866362092423366e-01 -3.709664212206886247e-01 1.842069969326716406e+13 3.464992437947146398e-01 5.951015258996597002e-01 5.329171615823922181e-01 -4.372250196192620786e-01 1.842069969326716406e+13 4.079526604277936563e-01 5.939132364200242487e-01 7.432024205037721654e-01 -5.153181173433998286e-01 1.842069969326716406e+13 4.821023676885518028e-01 5.952050780002857699e-01 1.033932720220875678e+00 -6.073594834385067642e-01 1.842069969326716406e+13 5.677890545878537809e-01 5.940315157549036496e-01 1.446553314215180519e+00 -7.158404288682718164e-01 1.842069969326716406e+13 6.712844687916126318e-01 5.950461370124844329e-01 2.028805071478329669e+00 -8.436972395676662906e-01 1.842069969326716406e+13 7.920283443990797645e-01 5.939617474881294656e-01 2.847061418348458606e+00 -9.943906537655036182e-01 1.842069969326716406e+13 9.362511478386782438e-01 5.939016892394387570e-01 4.022596323905213822e+00 -1.171999534812844468e+00 1.842069969326716406e+13 1.107674641467377707e+00 5.936842067943788326e-01 5.720785927051233344e+00 -1.381331274987467994e+00 1.842069969326716406e+13 1.312812560840812770e+00 5.938962648368116826e-01 8.228152718954019562e+00 -1.628051918606947979e+00 1.842069969326716406e+13 1.558672217181541031e+00 5.944084548395530687e-01 1.202285255003032560e+01 -1.918839526531252559e+00 1.842069969326716406e+13 1.853065514194880636e+00 5.942951577267000518e-01 1.804023452810097439e+01 -2.261564933217340645e+00 1.842069969326716406e+13 2.208066689571449359e+00 5.949365547120352149e-01 2.873252791580132737e+01 -2.665504788930584290e+00 1.842069969326716406e+13 2.633256709221702963e+00 5.946040682323386894e-01 5.141422230564378992e+01 -3.141592653589792672e+00 1.842069969326716406e+13 3.141592653589792672e+00 5.900239646317324560e-01 2.104797556976428041e+03 -1.000000000000000021e-03 3.727593720314938281e+13 9.325066603636431549e-04 5.278500060185991050e-01 8.572482707885827622e-06 -1.178610770701415088e-03 3.727593720314938281e+13 1.099062398545321137e-03 5.278500060185991050e-01 1.195883321858244756e-05 -1.389123348813385214e-03 3.727593720314938281e+13 1.295366788604412943e-03 5.278500060185991050e-01 1.660007210960761574e-05 -1.637235740744274635e-03 3.727593720314938281e+13 1.526733262165710968e-03 5.278500060185991050e-01 2.316554054819390922e-05 -1.929663678218512032e-03 3.727593720314938281e+13 1.799424288236923250e-03 5.278500060185991050e-01 3.208122671930873889e-05 -2.274322394979648009e-03 3.727593720314938281e+13 2.120820882313347640e-03 5.278500060185991050e-01 4.446602997867085612e-05 -2.680540870770453925e-03 3.727593720314938281e+13 2.499622392148211428e-03 5.278500060185991050e-01 6.200112553263499170e-05 -3.159314341595407215e-03 3.727593720314938281e+13 2.946081968254651937e-03 5.278500060185991050e-01 8.601231262310935486e-05 -3.723601911035797143e-03 3.727593720314938281e+13 3.472284093352792037e-03 5.278500060185991050e-01 1.190812115286752932e-04 -4.388677318151167420e-03 3.727593720314938281e+13 4.092471683820222972e-03 5.278500060185991050e-01 1.656979003902322577e-04 -5.172542356305966961e-03 3.727593720314938281e+13 4.823431618676449900e-03 5.278500060185991050e-01 2.315785224311864439e-04 -6.096414133051489617e-03 3.727593720314938281e+13 5.684949134240791131e-03 5.278500060185991050e-01 3.229399458951473165e-04 -7.185299359870824139e-03 3.727593720314938281e+13 6.700343388466395433e-03 5.278698356844266915e-01 4.461221971396660507e-04 -8.468671216257736209e-03 3.727593720314938281e+13 7.897717494529643209e-03 5.280820917875580500e-01 6.189226603926127135e-04 -9.981267109010422481e-03 3.727593720314938281e+13 9.315287468131119158e-03 5.287148131105269266e-01 8.657297944323702346e-04 -1.176402891992746509e-02 3.727593720314938281e+13 1.099456804153560625e-02 5.297379726858604254e-01 1.194968144780861807e-03 -1.386521119186945317e-02 3.727593720314938281e+13 1.298359155124603759e-02 5.311234581787055431e-01 1.668360559944593539e-03 -1.634168724878715118e-02 3.727593720314938281e+13 1.524394716342038561e-02 5.288288095681216161e-01 2.315998620560615149e-03 -1.926048860285451206e-02 3.727593720314938281e+13 1.801730368235121213e-02 5.306838824320986303e-01 3.223059236721207213e-03 -2.270061931629619237e-02 3.727593720314938281e+13 2.129079045255388714e-02 5.325299218118786371e-01 4.501979156536333078e-03 -2.675519442777928719e-02 3.727593720314938281e+13 2.503835471790258338e-02 5.307999253593256306e-01 6.259465949309347792e-03 -3.153396032479117289e-02 3.727593720314938281e+13 2.944020428005282228e-02 5.293719982205250529e-01 8.671609416527593928e-03 -3.716626528166998983e-02 3.727593720314938281e+13 3.481110064470662596e-02 5.318538184384890011e-01 1.203446600488808707e-02 -4.380456056772231294e-02 3.727593720314938281e+13 4.105235429932445335e-02 5.318706285411849422e-01 1.681975915663044135e-02 -5.162852689096004283e-02 3.727593720314938281e+13 4.835281784614427203e-02 5.318299412867651954e-01 2.328732849308318836e-02 -6.084993786913318187e-02 3.727593720314938281e+13 5.702702320909807526e-02 5.319415539985273833e-01 3.247381176214965415e-02 -7.171839216907228975e-02 3.727593720314938281e+13 6.724989570078658552e-02 5.323741982066367839e-01 4.517868235924559633e-02 -8.452806946785666742e-02 3.727593720314938281e+13 7.929688726578508484e-02 5.326672458456577219e-01 6.283599692669206149e-02 -9.962569310141336509e-02 3.727593720314938281e+13 9.313925854923017777e-02 5.306755956722490897e-01 8.724400803071682975e-02 -1.174199149279194637e-01 3.727593720314938281e+13 1.100804627130484298e-01 5.319484463219456005e-01 1.215721971455336753e-01 -1.383923764288897684e-01 3.727593720314938281e+13 1.296243211509241766e-01 5.312895895152178749e-01 1.690223011997726565e-01 -1.631107454420542835e-01 3.727593720314938281e+13 1.525532082201075668e-01 5.305065186399362531e-01 2.348045237446267919e-01 -1.922440813951419580e-01 3.727593720314938281e+13 1.803675105838498660e-01 5.322965070501263218e-01 3.269300152830273976e-01 -2.265809449359138250e-01 3.727593720314938281e+13 2.125293315018315365e-01 5.320816078178818298e-01 4.547183437872013845e-01 -2.670507421371726142e-01 3.727593720314938281e+13 2.505041317319254834e-01 5.321311136847129974e-01 6.322643469324052967e-01 -3.147488810066778608e-01 3.727593720314938281e+13 2.956424286332937079e-01 5.325999064007117534e-01 8.806386019876902838e-01 -3.709664212206886247e-01 3.727593720314938281e+13 3.478188159270893531e-01 5.312735717314770456e-01 1.225277415106337475e+00 -4.372250196192620786e-01 3.727593720314938281e+13 4.107740717842268130e-01 5.320564309107428391e-01 1.710530035993184317e+00 -5.153181173433998286e-01 3.727593720314938281e+13 4.849537902459865601e-01 5.327285984157305032e-01 2.386188674931607689e+00 -6.073594834385067642e-01 3.727593720314938281e+13 5.713956050810652387e-01 5.316854286362087123e-01 3.335123705363214786e+00 -7.158404288682718164e-01 3.727593720314938281e+13 6.750140922136212973e-01 5.322804727320347151e-01 4.674221149050936219e+00 -8.436972395676662906e-01 3.727593720314938281e+13 7.973088613155563387e-01 5.325847393362322935e-01 6.566540775259983143e+00 -9.943906537655036182e-01 3.727593720314938281e+13 9.425546898428003306e-01 5.326338510649984981e-01 9.287272935051458234e+00 -1.171999534812844468e+00 3.727593720314938281e+13 1.114526038871090696e+00 5.323272637839125965e-01 1.320932036747985627e+01 -1.381331274987467994e+00 3.727593720314938281e+13 1.320099649187069568e+00 5.324952594887063517e-01 1.898834160536650728e+01 -1.628051918606947979e+00 3.727593720314938281e+13 1.564056324876390347e+00 5.314198554264386587e-01 2.772465057761456109e+01 -1.918839526531252559e+00 3.727593720314938281e+13 1.857814721176071826e+00 5.312628726968839921e-01 4.154410194646590071e+01 -2.261564933217340645e+00 3.727593720314938281e+13 2.211844993844561458e+00 5.316460286138595670e-01 6.615199031480584324e+01 -2.665504788930584290e+00 3.727593720314938281e+13 2.636426400718754781e+00 5.326355262590753981e-01 1.182242665750820265e+02 -3.141592653589792672e+00 3.727593720314938281e+13 3.141592653589792672e+00 5.278500060185991050e-01 4.993348032256035367e+03 -1.000000000000000021e-03 7.543120063354607812e+13 9.242776046191395183e-04 4.642388361832548438e-01 1.965854910856830126e-05 -1.178610770701415088e-03 7.543120063354607812e+13 1.089363545371807920e-03 4.642388361832548438e-01 2.739200040913594261e-05 -1.389123348813385214e-03 7.543120063354607812e+13 1.283935616706949768e-03 4.642388361832548438e-01 3.804652887134672880e-05 -1.637235740744274635e-03 7.543120063354607812e+13 1.513260361345815678e-03 4.642388361832548438e-01 5.293303512196510617e-05 -1.929663678218512032e-03 7.543120063354607812e+13 1.783544984674162491e-03 4.642388361832548438e-01 7.343128560710879998e-05 -2.274322394979648009e-03 7.543120063354607812e+13 2.102105368124362102e-03 4.642388361832548438e-01 1.020287314985135967e-04 -2.680540870770453925e-03 7.543120063354607812e+13 2.477564092129706883e-03 4.642388361832548438e-01 1.420927909445514662e-04 -3.159314341595407215e-03 7.543120063354607812e+13 2.920083829048787053e-03 4.642388361832548438e-01 1.969869738856151243e-04 -3.723601911035797143e-03 7.543120063354607812e+13 3.441642424114836098e-03 4.642388361832548438e-01 2.733937106521449624e-04 -4.388677318151167420e-03 7.543120063354607812e+13 4.056357111318478759e-03 4.642388361832548438e-01 3.799276728725071257e-04 -5.172542356305966961e-03 7.543120063354607812e+13 4.780866641853495635e-03 4.642388361832548438e-01 5.291017566802491950e-04 -6.096414133051489617e-03 7.543120063354607812e+13 5.634781671555101623e-03 4.642388361832548438e-01 7.350381965278056720e-04 -7.185299359870824139e-03 7.543120063354607812e+13 6.641215603414163914e-03 4.642610610531809900e-01 1.018430137328258864e-03 -8.468671216257736209e-03 7.543120063354607812e+13 7.829960647071310120e-03 4.645711067718381049e-01 1.422540229780822757e-03 -9.981267109010422481e-03 7.543120063354607812e+13 9.240055463844983746e-03 4.653282376519142782e-01 1.979677229776231461e-03 -1.176402891992746509e-02 7.543120063354607812e+13 1.091392252685904028e-02 4.665300072626847872e-01 2.751974285604984888e-03 -1.386521119186945317e-02 7.543120063354607812e+13 1.289713570363835993e-02 4.680034936679546287e-01 3.826784577363481852e-03 -1.634168724878715118e-02 7.543120063354607812e+13 1.513668472231049708e-02 4.659455465051229317e-01 5.321974142864594436e-03 -1.926048860285451206e-02 7.543120063354607812e+13 1.788892843560065116e-02 4.674309681499791425e-01 7.389810084200058513e-03 -2.270061931629619237e-02 7.543120063354607812e+13 2.102776979977956026e-02 4.658155100706007912e-01 1.030793922203156535e-02 -2.675519442777928719e-02 7.543120063354607812e+13 2.486564422846600231e-02 4.676122316124903255e-01 1.432799511384127804e-02 -3.153396032479117289e-02 7.543120063354607812e+13 2.922236797414046183e-02 4.665044341592312627e-01 1.986867200163820041e-02 -3.716626528166998983e-02 7.543120063354607812e+13 3.441582119856420596e-02 4.658760291558561306e-01 2.774248093788952985e-02 -4.380456056772231294e-02 7.543120063354607812e+13 4.055609497110531508e-02 4.658133271280989196e-01 3.858887202825050933e-02 -5.162852689096004283e-02 7.543120063354607812e+13 4.801458873176038533e-02 4.684384868230094812e-01 5.350713679197157541e-02 -6.084993786913318187e-02 7.543120063354607812e+13 5.641291564444794737e-02 4.665207715990378756e-01 7.452432145756061888e-02 -7.171839216907228975e-02 7.543120063354607812e+13 6.656839295499894504e-02 4.671309235400720183e-01 1.035933000297904472e-01 -8.452806946785666742e-02 7.543120063354607812e+13 7.852909611540030699e-02 4.678539830357230644e-01 1.439724436081342152e-01 -9.962569310141336509e-02 7.543120063354607812e+13 9.232970381778109192e-02 4.665643794473938732e-01 2.000299819297342019e-01 -1.174199149279194637e-01 7.543120063354607812e+13 1.091374883528216516e-01 4.676913527785789837e-01 2.786986314135586618e-01 -1.383923764288897684e-01 7.543120063354607812e+13 1.283741398617125884e-01 4.667388767400387772e-01 3.873799169696632294e-01 -1.631107454420542835e-01 7.543120063354607812e+13 1.512931995155771536e-01 4.665288981830175707e-01 5.389870161077695565e-01 -1.922440813951419580e-01 7.543120063354607812e+13 1.789226473431892450e-01 4.684271991379191924e-01 7.488883562731891708e-01 -2.265809449359138250e-01 7.543120063354607812e+13 2.109403759376999588e-01 4.683917106495441018e-01 1.042390475443010445e+00 -2.670507421371726142e-01 7.543120063354607812e+13 2.480384987589123458e-01 4.668961172851595065e-01 1.451211967076185827e+00 -3.147488810066778608e-01 7.543120063354607812e+13 2.923623878323444725e-01 4.670181922710422984e-01 2.016082778404940878e+00 -3.709664212206886247e-01 7.543120063354607812e+13 3.453434164154755015e-01 4.676002228912858882e-01 2.814116511814805932e+00 -4.372250196192620786e-01 7.543120063354607812e+13 4.072285025914489931e-01 4.678245836741309893e-01 3.916019331881900989e+00 -5.153181173433998286e-01 7.543120063354607812e+13 4.799602639420489925e-01 4.671505297529840450e-01 5.470253217825432834e+00 -6.073594834385067642e-01 7.543120063354607812e+13 5.673660469062615785e-01 4.680994518114863778e-01 7.645299426214353211e+00 -7.158404288682718164e-01 7.543120063354607812e+13 6.688780373122259482e-01 4.671948789797908952e-01 1.072631599834457461e+01 -8.436972395676662906e-01 7.543120063354607812e+13 7.903973250014206808e-01 4.674530810536524084e-01 1.506953789098951191e+01 -9.943906537655036182e-01 7.543120063354607812e+13 9.349077991461760551e-01 4.678196566780040699e-01 2.128955281793015075e+01 -1.171999534812844468e+00 7.543120063354607812e+13 1.106319853747180781e+00 4.675388209195682765e-01 3.033830436357011351e+01 -1.381331274987467994e+00 7.543120063354607812e+13 1.311205882307221904e+00 4.677309082404416118e-01 4.362633660085388243e+01 -1.628051918606947979e+00 7.543120063354607812e+13 1.557621724096835303e+00 4.682332930335056931e-01 6.387041187765500894e+01 -1.918839526531252559e+00 7.543120063354607812e+13 1.851806289910715275e+00 4.680858187729268205e-01 9.603278796663062167e+01 -2.261564933217340645e+00 7.543120063354607812e+13 2.204808197667133651e+00 4.670086753075139430e-01 1.533159986706571090e+02 -2.665504788930584290e+00 7.543120063354607812e+13 2.632540885359613281e+00 4.683666810426749816e-01 2.754704370560365874e+02 -3.141592653589792672e+00 7.543120063354607812e+13 3.141592653589792672e+00 4.642388361832548438e-01 1.202311317901069560e+04 -1.000000000000000021e-03 1.526417967175236562e+14 9.246116154858270058e-04 4.126793323963950932e-01 4.537967920394307491e-05 -1.178610770701415088e-03 1.526417967175236562e+14 1.089757214153665296e-03 4.126793323963950932e-01 6.310238083995953716e-05 -1.389123348813385214e-03 1.526417967175236562e+14 1.284399598935437575e-03 4.126793323963950932e-01 8.780915308109757465e-05 -1.637235740744274635e-03 1.526417967175236562e+14 1.513807215735660499e-03 4.126793323963950932e-01 1.223095644720197691e-04 -1.929663678218512032e-03 1.526417967175236562e+14 1.784189513046444565e-03 4.126793323963950932e-01 1.700423902982369222e-04 -2.274322394979648009e-03 1.526417967175236562e+14 2.102865016039612116e-03 4.126793323963950932e-01 2.354211119491670127e-04 -2.680540870770453925e-03 1.526417967175236562e+14 2.478459421072208915e-03 4.126793323963950932e-01 3.280127511431296596e-04 -3.159314341595407215e-03 1.526417967175236562e+14 2.921139072937853354e-03 4.126793323963950932e-01 4.544811540870720011e-04 -3.723601911035797143e-03 1.526417967175236562e+14 3.442886145198182507e-03 4.126793323963950932e-01 6.315049798413621988e-04 -4.388677318151167420e-03 1.526417967175236562e+14 4.057822973187811579e-03 4.126793323963950932e-01 8.770251885948441954e-04 -5.172542356305966961e-03 1.526417967175236562e+14 4.782594320484167237e-03 4.126793323963950932e-01 1.218688686883928965e-03 -6.096414133051489617e-03 1.526417967175236562e+14 5.636817928993642125e-03 4.126835539695272170e-01 1.693375752250757347e-03 -7.185299359870824139e-03 1.526417967175236562e+14 6.644559721409088252e-03 4.128746571823070366e-01 2.360874821195612164e-03 -8.468671216257736209e-03 1.526417967175236562e+14 7.835329752865639874e-03 4.132295478439287906e-01 3.280822908362288244e-03 -9.981267109010422481e-03 1.526417967175236562e+14 9.240757928794323187e-03 4.136394188003199024e-01 4.555014512054502557e-03 -1.176402891992746509e-02 1.526417967175236562e+14 1.090480061959561014e-02 4.143001394237004198e-01 6.329453301816137696e-03 -1.386521119186945317e-02 1.526417967175236562e+14 1.287588149420365070e-02 4.152177676329859013e-01 8.818093876028540445e-03 -1.634168724878715118e-02 1.526417967175236562e+14 1.520893805353693007e-02 4.163332249771284910e-01 1.225926142702822574e-02 -1.926048860285451206e-02 1.526417967175236562e+14 1.786357431205734536e-02 4.148211592731883557e-01 1.706339900777195315e-02 -2.270061931629619237e-02 1.526417967175236562e+14 2.111883000312963360e-02 4.162953480234354853e-01 2.370828819599243159e-02 -2.675519442777928719e-02 1.526417967175236562e+14 2.483101187451357619e-02 4.152407272180286268e-01 3.300048008826110546e-02 -3.153396032479117289e-02 1.526417967175236562e+14 2.920115916492580996e-02 4.143007543067932508e-01 4.587057105149031783e-02 -3.716626528166998983e-02 1.526417967175236562e+14 3.455985539313195798e-02 4.162230383191318217e-01 6.374655511299100186e-02 -4.380456056772231294e-02 1.526417967175236562e+14 4.071179466775004530e-02 4.160028377878489114e-01 8.869652059790814058e-02 -5.162852689096004283e-02 1.526417967175236562e+14 4.800351119764439956e-02 4.162014867933501727e-01 1.232850470451138797e-01 -6.084993786913318187e-02 1.526417967175236562e+14 5.635379560511918906e-02 4.143892363124376810e-01 1.716362828735017720e-01 -7.171839216907228975e-02 1.526417967175236562e+14 6.648939580894637491e-02 4.148537234854210443e-01 2.388798721865108832e-01 -8.452806946785666742e-02 1.526417967175236562e+14 7.848594695126301368e-02 4.154243879083374114e-01 3.324572847341750181e-01 -9.962569310141336509e-02 1.526417967175236562e+14 9.263113699749038477e-02 4.160383209216614864e-01 4.621628983586236750e-01 -1.174199149279194637e-01 1.526417967175236562e+14 1.088993976823215554e-01 4.149634772622318168e-01 6.420239545288024541e-01 -1.383923764288897684e-01 1.526417967175236562e+14 1.286691527162266147e-01 4.160679410588674076e-01 8.931025321389530758e-01 -1.631107454420542835e-01 1.526417967175236562e+14 1.515675046783531987e-01 4.156293434684838473e-01 1.243058738270352626e+00 -1.922440813951419580e-01 1.526417967175236562e+14 1.786210930435198352e-01 4.155121686467855846e-01 1.730452459328519543e+00 -2.265809449359138250e-01 1.526417967175236562e+14 2.105638585427646314e-01 4.154913199937949053e-01 2.406836639799700528e+00 -2.670507421371726142e-01 1.526417967175236562e+14 2.483274903754765506e-01 4.157448334560130965e-01 3.345047494533389454e+00 -3.147488810066778608e-01 1.526417967175236562e+14 2.931292099440732102e-01 4.161940349879046375e-01 4.660760845956141374e+00 -3.709664212206886247e-01 1.526417967175236562e+14 3.448945586875791780e-01 4.151363593644983863e-01 6.493099682202243983e+00 -4.372250196192620786e-01 1.526417967175236562e+14 4.070413419287033929e-01 4.155304124185466019e-01 9.048146599943205359e+00 -5.153181173433998286e-01 1.526417967175236562e+14 4.808426065326170118e-01 4.161569019292398197e-01 1.263204455557258932e+01 -6.073594834385067642e-01 1.526417967175236562e+14 5.665148634918669712e-01 4.153099974848196152e-01 1.766161622439940615e+01 -7.158404288682718164e-01 1.526417967175236562e+14 6.697983359157650973e-01 4.159953451518197398e-01 2.474215700058090661e+01 -8.436972395676662906e-01 1.526417967175236562e+14 7.901913808213192336e-01 4.153013549851484187e-01 3.481556713095601197e+01 -9.943906537655036182e-01 1.526417967175236562e+14 9.347009266602495092e-01 4.155704342794577788e-01 4.918325661532117721e+01 -1.171999534812844468e+00 1.526417967175236562e+14 1.107694934931713782e+00 4.163953280577413762e-01 6.996873629498632852e+01 -1.381331274987467994e+00 1.526417967175236562e+14 1.310736557912578037e+00 4.155065973033196247e-01 1.006954119499728364e+02 -1.628051918606947979e+00 1.526417967175236562e+14 1.556692610057692550e+00 4.158603228915410122e-01 1.472897432657373713e+02 -1.918839526531252559e+00 1.526417967175236562e+14 1.850990126747607656e+00 4.156801242851760891e-01 2.217411607963102540e+02 -2.261564933217340645e+00 1.526417967175236562e+14 2.206025060346492150e+00 4.160063323390112422e-01 3.547149411227459268e+02 -2.665504788930584290e+00 1.526417967175236562e+14 2.632264040454737053e+00 4.159678474873774734e-01 6.401603721605727060e+02 -3.141592653589792672e+00 1.526417967175236562e+14 3.141592653589792672e+00 4.126793323963950932e-01 2.760211454231860262e+04 -1.000000000000000021e-03 3.088843596477485000e+14 9.256172987747830153e-04 3.671993178525144730e-01 1.055373187470185419e-04 -1.178610770701415088e-03 3.088843596477485000e+14 1.090942523241576279e-03 3.671993178525144730e-01 1.474707158909918279e-04 -1.389123348813385214e-03 3.088843596477485000e+14 1.285796616881126767e-03 3.671993178525144730e-01 2.053807007875517020e-04 -1.637235740744274635e-03 3.088843596477485000e+14 1.515453755950060301e-03 3.671993178525144730e-01 2.857406533936237506e-04 -1.929663678218512032e-03 3.088843596477485000e+14 1.786130142777487238e-03 3.671993178525144730e-01 3.940042995093323108e-04 -2.274322394979648009e-03 3.088843596477485000e+14 2.105152262651325927e-03 3.671993178525144730e-01 5.519353497283736821e-04 -2.680540870770453925e-03 3.088843596477485000e+14 2.481155193759765256e-03 3.671993178525144730e-01 7.647751939863744715e-04 -3.159314341595407215e-03 3.088843596477485000e+14 2.924316338345991570e-03 3.671993178525144730e-01 1.061288883837705138e-03 -3.723601911035797143e-03 3.088843596477485000e+14 3.446630902273719720e-03 3.671993178525144730e-01 1.470578353946936593e-03 -4.388677318151167420e-03 3.088843596477485000e+14 4.062236580681040030e-03 3.671993178525144730e-01 2.041179104973142328e-03 -5.172542356305966961e-03 3.088843596477485000e+14 4.787796240034449327e-03 3.671993178525144730e-01 2.840958522344935733e-03 -6.096414133051489617e-03 3.088843596477485000e+14 5.642948957942516171e-03 3.671993178525144730e-01 3.951036677691202419e-03 -7.185299359870824139e-03 3.088843596477485000e+14 6.650841634381758280e-03 3.671993178525144730e-01 5.505247271362763428e-03 -8.468671216257736209e-03 3.088843596477485000e+14 7.838755572166265090e-03 3.672445332633669790e-01 7.622671797130770380e-03 -9.981267109010422481e-03 3.088843596477485000e+14 9.242042432732881438e-03 3.674843902531287898e-01 1.058735806459856765e-02 -1.176402891992746509e-02 3.088843596477485000e+14 1.090394088191102770e-02 3.679886265542499091e-01 1.476536279488729203e-02 -1.386521119186945317e-02 3.088843596477485000e+14 1.288043295870519751e-02 3.689791147679707950e-01 2.055747261045347621e-02 -1.634168724878715118e-02 3.088843596477485000e+14 1.521902900992024195e-02 3.700934696434104998e-01 2.857915603388768572e-02 -1.926048860285451206e-02 3.088843596477485000e+14 1.786822397946580612e-02 3.685971478204660978e-01 3.967225631727748503e-02 -2.270061931629619237e-02 3.088843596477485000e+14 2.112303915861315357e-02 3.698885427855496677e-01 5.521787634036278564e-02 -2.675519442777928719e-02 3.088843596477485000e+14 2.483022936752133855e-02 3.688683899338729977e-01 7.681954393239930068e-02 -3.153396032479117289e-02 3.088843596477485000e+14 2.920736922161685026e-02 3.681272863160133801e-01 1.066806050409833950e-01 -3.716626528166998983e-02 3.088843596477485000e+14 3.457786757667678096e-02 3.699653383243284299e-01 1.484829693319805188e-01 -4.380456056772231294e-02 3.088843596477485000e+14 4.071125502619138414e-02 3.695626486053456006e-01 2.062746141546442924e-01 -5.162852689096004283e-02 3.088843596477485000e+14 4.796158753870725239e-02 3.694025173817112040e-01 2.869940981288702786e-01 -6.084993786913318187e-02 3.088843596477485000e+14 5.655462688449210129e-02 3.696023875509433232e-01 3.987637285369871609e-01 -7.171839216907228975e-02 3.088843596477485000e+14 6.670909935669888657e-02 3.699337848033340537e-01 5.561216307601396514e-01 -8.452806946785666742e-02 3.088843596477485000e+14 7.838510433569328972e-02 3.686767185995131757e-01 7.729426808445052366e-01 -9.962569310141336509e-02 3.088843596477485000e+14 9.256459939841520101e-02 3.694453218301852471e-01 1.074783363931285152e+00 -1.174199149279194637e-01 3.088843596477485000e+14 1.093055344513204630e-01 3.702185804653493340e-01 1.494630318743925823e+00 -1.383923764288897684e-01 3.088843596477485000e+14 1.286037278942123996e-01 3.694522523703405170e-01 2.078606062507111218e+00 -1.631107454420542835e-01 3.088843596477485000e+14 1.514136816019424348e-01 3.689691858926689716e-01 2.888310726304911036e+00 -1.922440813951419580e-01 3.088843596477485000e+14 1.791209401539168022e-01 3.704502399149415259e-01 4.019798223470876231e+00 -2.265809449359138250e-01 3.088843596477485000e+14 2.104828493553414226e-01 3.690939263538734472e-01 5.596584734210808598e+00 -2.670507421371726142e-01 3.088843596477485000e+14 2.481983745874840330e-01 3.691766572597940943e-01 7.785928691892530118e+00 -3.147488810066778608e-01 3.088843596477485000e+14 2.928711756262922794e-01 3.695030789883716471e-01 1.083742684960756186e+01 -3.709664212206886247e-01 3.088843596477485000e+14 3.456192133600720640e-01 3.697913041152506297e-01 1.509809402071429396e+01 -4.372250196192620786e-01 3.088843596477485000e+14 4.080313338946571777e-01 3.702254038850671392e-01 2.104890592150554340e+01 -5.153181173433998286e-01 3.088843596477485000e+14 4.803011015134958095e-01 3.693125086630624776e-01 2.935083826139793217e+01 -6.073594834385067642e-01 3.088843596477485000e+14 5.674781062112013164e-01 3.698407484855082972e-01 4.105896698153743785e+01 -7.158404288682718164e-01 3.088843596477485000e+14 6.706682277219281341e-01 3.702962937842210200e-01 5.755658560895979292e+01 -8.436972395676662906e-01 3.088843596477485000e+14 7.909637287715688414e-01 3.695383618449111784e-01 8.085255874875161908e+01 -9.943906537655036182e-01 3.088843596477485000e+14 9.353674261631667042e-01 3.697016511077758638e-01 1.141674197971872502e+02 -1.171999534812844468e+00 3.088843596477485000e+14 1.106526186257893007e+00 3.694568234471836687e-01 1.624498892708825224e+02 -1.381331274987467994e+00 3.088843596477485000e+14 1.312075429999857157e+00 3.697926986094183244e-01 2.337069190569787622e+02 -1.628051918606947979e+00 3.088843596477485000e+14 1.558183531995472215e+00 3.701644108871844918e-01 3.416420048341944380e+02 -1.918839526531252559e+00 3.088843596477485000e+14 1.852098752987604957e+00 3.698891703780425311e-01 5.125743581857175286e+02 -2.261564933217340645e+00 3.088843596477485000e+14 2.207163899727131451e+00 3.702676965102460471e-01 8.192126711911271286e+02 -2.665504788930584290e+00 3.088843596477485000e+14 2.633137685720869925e+00 3.704722218796337452e-01 1.487808039318742431e+03 -3.141592653589792672e+00 3.088843596477485000e+14 3.141592653589792672e+00 3.671993178525144730e-01 6.239368502200034709e+04 -1.000000000000000021e-03 6.250551925273976250e+14 9.271245448992422459e-04 3.272637817055232823e-01 2.438704473100947070e-04 -1.178610770701415088e-03 6.250551925273976250e+14 1.092718979655662049e-03 3.272637817055232823e-01 3.391498230062827681e-04 -1.389123348813385214e-03 6.250551925273976250e+14 1.287890367376954247e-03 3.272637817055232823e-01 4.723303120783652921e-04 -1.637235740744274635e-03 6.250551925273976250e+14 1.517921472561377166e-03 3.272637817055232823e-01 6.586089014448108124e-04 -1.929663678218512032e-03 6.250551925273976250e+14 1.789038619705656972e-03 3.272637817055232823e-01 9.087534081712859329e-04 -2.274322394979648009e-03 6.250551925273976250e+14 2.108580224150136909e-03 3.272637817055232823e-01 1.266604919159585200e-03 -2.680540870770453925e-03 6.250551925273976250e+14 2.485195424900314524e-03 3.272637817055232823e-01 1.758132741940499197e-03 -3.159314341595407215e-03 6.250551925273976250e+14 2.929078196313980153e-03 3.272637817055232823e-01 2.434000077511310270e-03 -3.723601911035797143e-03 6.250551925273976250e+14 3.452243276137347602e-03 3.272637817055232823e-01 3.403871499522111762e-03 -4.388677318151167420e-03 6.250551925273976250e+14 4.068851379684206016e-03 3.272637817055232823e-01 4.750946756913511718e-03 -5.172542356305966961e-03 6.250551925273976250e+14 4.795592504738213462e-03 3.272637817055232823e-01 6.602223622601359303e-03 -6.096414133051489617e-03 6.250551925273976250e+14 5.652137705335789561e-03 3.272758257538578297e-01 9.152232439174151635e-03 -7.185299359870824139e-03 6.250551925273976250e+14 6.664039648832178163e-03 3.275052614056193079e-01 1.270170339580073936e-02 -8.468671216257736209e-03 6.250551925273976250e+14 7.858725083892074276e-03 3.278082427572520108e-01 1.774071369999437667e-02 -9.981267109010422481e-03 6.250551925273976250e+14 9.267357052771246079e-03 3.281005398720321931e-01 2.451989809810879370e-02 -1.176402891992746509e-02 6.250551925273976250e+14 1.093230521880439281e-02 3.285139061437490904e-01 3.420539741285195945e-02 -1.386521119186945317e-02 6.250551925273976250e+14 1.290589919177057530e-02 3.291899386925195015e-01 4.714986598618335634e-02 -1.634168724878715118e-02 6.250551925273976250e+14 1.523673505628967383e-02 3.298966796482294961e-01 6.595306555165356133e-02 -1.926048860285451206e-02 6.250551925273976250e+14 1.789318522826168975e-02 3.286209760431975102e-01 9.169969884724986364e-02 -2.270061931629619237e-02 6.250551925273976250e+14 2.115931931262014787e-02 3.298975261432881556e-01 1.277812878712165368e-01 -2.675519442777928719e-02 6.250551925273976250e+14 2.487223000388425961e-02 3.289516803785607624e-01 1.774574662135441350e-01 -3.153396032479117289e-02 6.250551925273976250e+14 2.925633931205176216e-02 3.282755294242980515e-01 2.460970014622564928e-01 -3.716626528166998983e-02 6.250551925273976250e+14 3.459378743852772192e-02 3.294917273234352906e-01 3.415852186545637048e-01 -4.380456056772231294e-02 6.250551925273976250e+14 4.075963068494021374e-02 3.292256541426764604e-01 4.772533417954240020e-01 -5.162852689096004283e-02 6.250551925273976250e+14 4.800278869643077179e-02 3.291202435242195357e-01 6.630404133247954634e-01 -6.084993786913318187e-02 6.250551925273976250e+14 5.661346011826044744e-02 3.293569468662165822e-01 9.223346461480954606e-01 -7.171839216907228975e-02 6.250551925273976250e+14 6.677265627109857382e-02 3.296179209223943363e-01 1.282047043121339991e+00 -8.452806946785666742e-02 6.250551925273976250e+14 7.879907633777986919e-02 3.300867999449597634e-01 1.781973345852127855e+00 -9.962569310141336509e-02 6.250551925273976250e+14 9.262307564005770044e-02 3.290533454259705337e-01 2.478194419997088449e+00 -1.174199149279194637e-01 6.250551925273976250e+14 1.093726725879043404e-01 3.297314241956391667e-01 3.446744010388174129e+00 -1.383923764288897684e-01 6.250551925273976250e+14 1.287629285162567860e-01 3.292683059996179828e-01 4.801721661064363822e+00 -1.631107454420542835e-01 6.250551925273976250e+14 1.521292489945086646e-01 3.301418082339562243e-01 6.671838156904871475e+00 -1.922440813951419580e-01 6.250551925273976250e+14 1.792170378055857605e-01 3.298973926092361730e-01 9.283629111319772420e+00 -2.265809449359138250e-01 6.250551925273976250e+14 2.111927287044876589e-01 3.297521691163848301e-01 1.287286013889437086e+01 -2.670507421371726142e-01 6.250551925273976250e+14 2.490645871618481499e-01 3.298724935831822136e-01 1.797301473640361280e+01 -3.147488810066778608e-01 6.250551925273976250e+14 2.938172499911489433e-01 3.300799390076781248e-01 2.502609383823428502e+01 -3.709664212206886247e-01 6.250551925273976250e+14 3.457129437785212422e-01 3.292312903014943393e-01 3.484445964298821252e+01 -4.372250196192620786e-01 6.250551925273976250e+14 4.081951024231921243e-01 3.296651441146813966e-01 4.854825384063296667e+01 -5.153181173433998286e-01 6.250551925273976250e+14 4.819580683275221378e-01 3.300152585776912062e-01 6.775664039582139253e+01 -6.073594834385067642e-01 6.250551925273976250e+14 5.677272589606076059e-01 3.293045218382136818e-01 9.469291102734187859e+01 -7.158404288682718164e-01 6.250551925273976250e+14 6.708981650598888624e-01 3.297036791978093517e-01 1.327024688034067594e+02 -8.436972395676662906e-01 6.250551925273976250e+14 7.931004398679186718e-01 3.300375143263387101e-01 1.862504557629611384e+02 -9.943906537655036182e-01 6.250551925273976250e+14 9.360313878963538725e-01 3.293141268543837707e-01 2.638050820497749100e+02 -1.171999534812844468e+00 6.250551925273976250e+14 1.109483090791665738e+00 3.300890584388139204e-01 3.755276858623213911e+02 -1.381331274987467994e+00 6.250551925273976250e+14 1.312770376075041323e+00 3.293869615013324537e-01 5.405135630818410846e+02 -1.628051918606947979e+00 6.250551925273976250e+14 1.558883064537176733e+00 3.297167791610538523e-01 7.918967299266297459e+02 -1.918839526531252559e+00 6.250551925273976250e+14 1.852894728868480279e+00 3.295290440799820697e-01 1.193260924042611805e+03 -2.261564933217340645e+00 6.250551925273976250e+14 2.207436152232161053e+00 3.296833639255214998e-01 1.923133240081726854e+03 -2.665504788930584290e+00 6.250551925273976250e+14 2.633310700315889541e+00 3.298904816620602531e-01 3.551991742094871825e+03 -3.141592653589792672e+00 6.250551925273976250e+14 3.141592653589792672e+00 3.272637817055232823e-01 1.389846480021255848e+05 -1.000000000000000021e-03 1.264855216855295750e+15 9.213350184525891887e-04 2.898698608604159399e-01 5.890961796596550989e-04 -1.178610770701415088e-03 1.264855216855295750e+15 1.085895381818859215e-03 2.898698608604159399e-01 8.178172023443184722e-04 -1.389123348813385214e-03 1.264855216855295750e+15 1.279848002110871904e-03 2.898698608604159399e-01 1.141639557488972586e-03 -1.637235740744274635e-03 1.264855216855295750e+15 1.508442655283565069e-03 2.898698608604159399e-01 1.590621352011407398e-03 -1.929663678218512032e-03 1.264855216855295750e+15 1.777866785282210694e-03 2.898698608604159399e-01 2.198789853667837847e-03 -2.274322394979648009e-03 1.264855216855295750e+15 2.095412982575900473e-03 2.898698608604159399e-01 3.083320155368378824e-03 -2.680540870770453925e-03 1.264855216855295750e+15 2.469676376754149222e-03 2.898698608604159399e-01 4.271394155627341281e-03 -3.159314341595407215e-03 1.264855216855295750e+15 2.910787286538739100e-03 2.898698608604159399e-01 5.932512153333058084e-03 -3.723601911035797143e-03 1.264855216855295750e+15 3.430685425183753814e-03 2.898698608604159399e-01 8.249191708177285379e-03 -4.388677318151167420e-03 1.264855216855295750e+15 4.043443084517126668e-03 2.898698608604159399e-01 1.142929151910156496e-02 -5.172542356305966961e-03 1.264855216855295750e+15 4.765646047395795740e-03 2.898798932399091477e-01 1.590227171610967757e-02 -6.096414133051489617e-03 1.264855216855295750e+15 5.616996035809726680e-03 2.899685662314900880e-01 2.220355005094030304e-02 -7.185299359870824139e-03 1.264855216855295750e+15 6.623961218722797077e-03 2.902161555125461478e-01 3.081768970396336557e-02 -8.468671216257736209e-03 1.264855216855295750e+15 7.817796786495204153e-03 2.906884039425920996e-01 4.252909498273162170e-02 -9.981267109010422481e-03 1.264855216855295750e+15 9.228180672603305407e-03 2.911957601696584796e-01 5.937014651121196723e-02 -1.176402891992746509e-02 1.264855216855295750e+15 1.089201873992483305e-02 2.916759442807496105e-01 8.248098732602995864e-02 -1.386521119186945317e-02 1.264855216855295750e+15 1.286754343527191612e-02 2.922112962375256751e-01 1.153977013754262232e-01 -1.634168724878715118e-02 1.264855216855295750e+15 1.509198266349450271e-02 2.908375775324278378e-01 1.602273758476738252e-01 -1.926048860285451206e-02 1.264855216855295750e+15 1.782149649012081463e-02 2.914437926799345879e-01 2.228709943445172370e-01 -2.270061931629619237e-02 1.264855216855295750e+15 2.106060869023967247e-02 2.922310053604754154e-01 3.097387871649324165e-01 -2.675519442777928719e-02 1.264855216855295750e+15 2.478233004342625390e-02 2.917944042717305897e-01 4.306030012836929988e-01 -3.153396032479117289e-02 1.264855216855295750e+15 2.915517215498802939e-02 2.913678017769767425e-01 5.981366267548527960e-01 -3.716626528166998983e-02 1.264855216855295750e+15 3.433860158919921357e-02 2.911242674350763560e-01 8.325454675908694480e-01 -4.380456056772231294e-02 1.264855216855295750e+15 4.062491660670339289e-02 2.923532994387988970e-01 1.156372774876877507e+00 -5.162852689096004283e-02 1.264855216855295750e+15 4.766607732901434469e-02 2.909588558001476311e-01 1.603717022694922223e+00 -6.084993786913318187e-02 1.264855216855295750e+15 5.619889117498094722e-02 2.910629713951043418e-01 2.234894128223514631e+00 -7.171839216907228975e-02 1.264855216855295750e+15 6.627741614888713051e-02 2.912903137411031462e-01 3.104872218474956647e+00 -8.452806946785666742e-02 1.264855216855295750e+15 7.824750608403172047e-02 2.917962580616745294e-01 4.316559677854924004e+00 -9.962569310141336509e-02 1.264855216855295750e+15 9.203523970217394878e-02 2.911541988023853555e-01 6.019860126754500662e+00 -1.174199149279194637e-01 1.264855216855295750e+15 1.087081414039145488e-01 2.917670411947810849e-01 8.369729581536629937e+00 -1.383923764288897684e-01 1.264855216855295750e+15 1.279415335797159103e-01 2.913030062178909030e-01 1.163545005923580966e+01 -1.631107454420542835e-01 1.264855216855295750e+15 1.512135042451968336e-01 2.921050526807954517e-01 1.614687975610842940e+01 -1.922440813951419580e-01 1.264855216855295750e+15 1.780485319722882320e-01 2.918977720422986089e-01 2.246806029989208042e+01 -2.265809449359138250e-01 1.264855216855295750e+15 2.100655590977001941e-01 2.920106496305697186e-01 3.132762577974549245e+01 -2.670507421371726142e-01 1.264855216855295750e+15 2.477119426092307952e-01 2.920862167600941639e-01 4.359313443438628610e+01 -3.147488810066778608e-01 1.264855216855295750e+15 2.922126294624567411e-01 2.923368381717709741e-01 6.058901481335905004e+01 -3.709664212206886247e-01 1.264855216855295750e+15 3.440036647687328419e-01 2.917257203307228597e-01 8.437266172664099884e+01 -4.372250196192620786e-01 1.264855216855295750e+15 4.061973772183627429e-01 2.920657950725703556e-01 1.176437721586779475e+02 -5.153181173433998286e-01 1.264855216855295750e+15 4.784872420343987409e-01 2.915885447409322651e-01 1.643038389583978471e+02 -6.073594834385067642e-01 1.264855216855295750e+15 5.654929285445460252e-01 2.920532788996213491e-01 2.303563268185035611e+02 -7.158404288682718164e-01 1.264855216855295750e+15 6.683114286116235148e-01 2.923611326339981553e-01 3.230963335329560095e+02 -8.436972395676662906e-01 1.264855216855295750e+15 7.881744595837703038e-01 2.917721819662706939e-01 4.551877154048218586e+02 -9.943906537655036182e-01 1.264855216855295750e+15 9.322878150989810653e-01 2.918915710365795335e-01 6.430925645635089722e+02 -1.171999534812844468e+00 1.264855216855295750e+15 1.102658852612385498e+00 2.917079747906676790e-01 9.185711591189582350e+02 -1.381331274987467994e+00 1.264855216855295750e+15 1.308126072856311106e+00 2.919333413077999095e-01 1.325958359468134631e+03 -1.628051918606947979e+00 1.264855216855295750e+15 1.554200580722054248e+00 2.921806764629033548e-01 1.954768961539913789e+03 -1.918839526531252559e+00 1.264855216855295750e+15 1.848458602101528792e+00 2.920357076324500700e-01 2.965936878212641659e+03 -2.261564933217340645e+00 1.264855216855295750e+15 2.203893364224085882e+00 2.922395504596072002e-01 4.790679483690354573e+03 -2.665504788930584290e+00 1.264855216855295750e+15 2.629927055912250289e+00 2.915300863853785285e-01 8.705768577085664219e+03 -3.141592653589792672e+00 1.264855216855295750e+15 3.141592653589792672e+00 2.898698608604159399e-01 3.022006881598519394e+05 -1.000000000000000021e-03 2.559547922699533000e+15 9.234962906702350559e-04 2.598242821236437794e-01 1.447679749022838221e-03 -1.178610770701415088e-03 2.559547922699533000e+15 1.088442680386077352e-03 2.598242821236437794e-01 2.016752649166088200e-03 -1.389123348813385214e-03 2.559547922699533000e+15 1.282850275397858907e-03 2.598242821236437794e-01 2.797019179874984680e-03 -1.637235740744274635e-03 2.559547922699533000e+15 1.511981166522378918e-03 2.598242821236437794e-01 3.902908436912625508e-03 -1.929663678218512032e-03 2.559547922699533000e+15 1.782037312095767403e-03 2.598242821236437794e-01 5.386891851530821972e-03 -2.274322394979648009e-03 2.559547922699533000e+15 2.100328409342223576e-03 2.598242821236437794e-01 7.519261132945139446e-03 -2.680540870770453925e-03 2.559547922699533000e+15 2.475469749955224331e-03 2.598242821236437794e-01 1.039672691786745068e-02 -3.159314341595407215e-03 2.559547922699533000e+15 2.917615415762562104e-03 2.598242821236437794e-01 1.450796078933565096e-02 -3.723601911035797143e-03 2.559547922699533000e+15 3.438733127197899156e-03 2.598389012142971466e-01 2.018385976802421558e-02 -4.388677318151167420e-03 2.559547922699533000e+15 4.054248061692775768e-03 2.599941155884739064e-01 2.802739740104268421e-02 -5.172542356305966961e-03 2.559547922699533000e+15 4.781233599595473283e-03 2.602167139984835620e-01 3.913281109357136939e-02 -6.096414133051489617e-03 2.559547922699533000e+15 5.638432151172071902e-03 2.604317910463381791e-01 5.435637303659122954e-02 -7.185299359870824139e-03 2.559547922699533000e+15 6.655999617272161453e-03 2.606896976107693775e-01 7.571332548714505839e-02 -8.468671216257736209e-03 2.559547922699533000e+15 7.851265004321763066e-03 2.609336115084065488e-01 1.052359592535925675e-01 -9.981267109010422481e-03 2.559547922699533000e+15 9.261082405575214380e-03 2.612059530509932004e-01 1.466220692308354834e-01 -1.176402891992746509e-02 2.559547922699533000e+15 1.093274551646914415e-02 2.616849744727214322e-01 2.031008658419466428e-01 -1.386521119186945317e-02 2.559547922699533000e+15 1.283706239452302167e-02 2.607572692737361031e-01 2.821544141448357745e-01 -1.634168724878715118e-02 2.559547922699533000e+15 1.515921996455933153e-02 2.613167718706505549e-01 3.913807560670117813e-01 -1.926048860285451206e-02 2.559547922699533000e+15 1.780865750437448519e-02 2.605559248725939914e-01 5.469375705640482366e-01 -2.270061931629619237e-02 2.559547922699533000e+15 2.106632355994704497e-02 2.615009704820943637e-01 7.600504816160669197e-01 -2.675519442777928719e-02 2.559547922699533000e+15 2.477704735916006276e-02 2.610126817954027123e-01 1.056465612412749833e+00 -3.153396032479117289e-02 2.559547922699533000e+15 2.918875173139627577e-02 2.609090643001003573e-01 1.469959026200586161e+00 -3.716626528166998983e-02 2.559547922699533000e+15 3.438615882428076170e-02 2.607937486676890071e-01 2.042061416583392131e+00 -4.380456056772231294e-02 2.559547922699533000e+15 4.070579518939874270e-02 2.619377720461179559e-01 2.840304357051116835e+00 -5.162852689096004283e-02 2.559547922699533000e+15 4.795048593442097218e-02 2.618363774287888468e-01 3.949003505306337924e+00 -6.084993786913318187e-02 2.559547922699533000e+15 5.630108494005481995e-02 2.608848584837780704e-01 5.470040515879269982e+00 -7.171839216907228975e-02 2.559547922699533000e+15 6.639440127786684631e-02 2.610213298763559009e-01 7.629948329521314854e+00 -8.452806946785666742e-02 2.559547922699533000e+15 7.833001801789069019e-02 2.612604096822055966e-01 1.061315100346053875e+01 -9.962569310141336509e-02 2.559547922699533000e+15 9.252857560737851039e-02 2.616925649631154926e-01 1.478345022402891651e+01 -1.174199149279194637e-01 2.559547922699533000e+15 1.089635563002532420e-01 2.614594055392339689e-01 2.055952156071901626e+01 -1.383923764288897684e-01 2.559547922699533000e+15 1.282600019464263941e-01 2.611146112692953047e-01 2.857038709992398040e+01 -1.631107454420542835e-01 2.559547922699533000e+15 1.516300546226377888e-01 2.618678133164452637e-01 3.974333438911508409e+01 -1.922440813951419580e-01 2.559547922699533000e+15 1.785776056678569645e-01 2.616346814027133427e-01 5.529640956987601186e+01 -2.265809449359138250e-01 2.559547922699533000e+15 2.105862951203239797e-01 2.617524333376448631e-01 7.684626593322434474e+01 -2.670507421371726142e-01 2.559547922699533000e+15 2.482456270403006204e-01 2.617954296353545707e-01 1.067845637382378357e+02 -3.147488810066778608e-01 2.559547922699533000e+15 2.920859882621404391e-01 2.612313123155094452e-01 1.486449756126546333e+02 -3.709664212206886247e-01 2.559547922699533000e+15 3.449265154439865588e-01 2.615252515373727160e-01 2.072534087396338691e+02 -4.372250196192620786e-01 2.559547922699533000e+15 4.072813934945877512e-01 2.618309562376275879e-01 2.890119714138508584e+02 -5.153181173433998286e-01 2.559547922699533000e+15 4.799001302178698691e-01 2.614999518036715265e-01 4.033954769764009143e+02 -6.073594834385067642e-01 2.559547922699533000e+15 5.669055867789671854e-01 2.617974254193969341e-01 5.633888638060826679e+02 -7.158404288682718164e-01 2.559547922699533000e+15 6.680563840830515687e-01 2.613404136270534028e-01 7.884333525297786309e+02 -8.436972395676662906e-01 2.559547922699533000e+15 7.901176277029925421e-01 2.615857289347289227e-01 1.109424351462714412e+03 -9.943906537655036182e-01 2.559547922699533000e+15 9.345663244892702393e-01 2.617195557594582667e-01 1.565410773854955323e+03 -1.171999534812844468e+00 2.559547922699533000e+15 1.105710776359025926e+00 2.616792754826589018e-01 2.224002997419179337e+03 -1.381331274987467994e+00 2.559547922699533000e+15 1.310740336437154818e+00 2.617843752907970112e-01 3.184107033517976106e+03 -1.628051918606947979e+00 2.559547922699533000e+15 1.555087957030308221e+00 2.614539928955867398e-01 4.653541293101421616e+03 -1.918839526531252559e+00 2.559547922699533000e+15 1.849428549284028112e+00 2.613698772060216169e-01 6.973946596325883547e+03 -2.261564933217340645e+00 2.559547922699533000e+15 2.204655342274407293e+00 2.615062520783748568e-01 1.103208752440411263e+04 -2.665504788930584290e+00 2.559547922699533000e+15 2.631420130856831907e+00 2.615233773884870216e-01 1.960347052537368290e+04 -3.141592653589792672e+00 2.559547922699533000e+15 3.141592653589792672e+00 2.598242821236437794e-01 6.496246073969301069e+05 -1.000000000000000021e-03 5.179474679231223000e+15 9.308383168063899538e-04 2.356250043902215485e-01 3.277496528584013333e-03 -1.178610770701415088e-03 5.179474679231223000e+15 1.097096070968926144e-03 2.356250043902215485e-01 4.565839229143077264e-03 -1.389123348813385214e-03 5.179474679231223000e+15 1.293049253923277044e-03 2.356250043902215485e-01 6.375561634756742903e-03 -1.637235740744274635e-03 5.179474679231223000e+15 1.524001791122329627e-03 2.356250043902215485e-01 8.876349216553823876e-03 -1.929663678218512032e-03 5.179474679231223000e+15 1.796204947525502750e-03 2.356250043902215485e-01 1.226474362432866672e-02 -2.274322394979648009e-03 5.179474679231223000e+15 2.117026533462460121e-03 2.356250043902215485e-01 1.711940572638219124e-02 -2.680540870770453925e-03 5.179474679231223000e+15 2.495150333011866145e-03 2.356250043902215485e-01 2.368303084780094825e-02 -3.159314341595407215e-03 5.179474679231223000e+15 2.940811153296637309e-03 2.356250043902215485e-01 3.294335259948279193e-02 -3.723601911035797143e-03 5.179474679231223000e+15 3.466071857523054123e-03 2.356250043902215485e-01 4.579518766138304664e-02 -4.388677318151167420e-03 5.179474679231223000e+15 4.085149881409870162e-03 2.356250043902215485e-01 6.340608655496074442e-02 -5.172542356305966961e-03 5.179474679231223000e+15 4.814802072742933176e-03 2.356250043902215485e-01 8.826971661863602936e-02 -6.096414133051489617e-03 5.179474679231223000e+15 5.675600739132852408e-03 2.357119269588479060e-01 1.235591092826885534e-01 -7.185299359870824139e-03 5.179474679231223000e+15 6.694634805000555453e-03 2.359704496108302185e-01 1.713988557868151297e-01 -8.468671216257736209e-03 5.179474679231223000e+15 7.896980203845754137e-03 2.362393681366865561e-01 2.370934656088286296e-01 -9.981267109010422481e-03 5.179474679231223000e+15 9.314875222334316127e-03 2.364986648676398184e-01 3.308669581673641669e-01 -1.176402891992746509e-02 5.179474679231223000e+15 1.099831054477776876e-02 2.368016384071284786e-01 4.627942708583114850e-01 -1.386521119186945317e-02 5.179474679231223000e+15 1.297997674230304092e-02 2.371460251511078587e-01 6.409421801805154084e-01 -1.634168724878715118e-02 5.179474679231223000e+15 1.524075752887401117e-02 2.362326855362869571e-01 8.952969508649625263e-01 -1.926048860285451206e-02 5.179474679231223000e+15 1.800636241474709923e-02 2.369101788386500929e-01 1.242534935942928964e+00 -2.270061931629619237e-02 5.179474679231223000e+15 2.118861356234010354e-02 2.364942384772072415e-01 1.730830829638078994e+00 -2.675519442777928719e-02 5.179474679231223000e+15 2.504449545028857027e-02 2.373350862518656401e-01 2.400198013360672622e+00 -3.153396032479117289e-02 5.179474679231223000e+15 2.951383908827238597e-02 2.371181043929761478e-01 3.336754220964412543e+00 -3.716626528166998983e-02 5.179474679231223000e+15 3.472796589493117037e-02 2.367454419233973595e-01 4.652755393958727836e+00 -4.380456056772231294e-02 5.179474679231223000e+15 4.091181281283810811e-02 2.366468328473376737e-01 6.464879467128536561e+00 -5.162852689096004283e-02 5.179474679231223000e+15 4.824502952290331964e-02 2.367749615392515938e-01 9.011211797417011837e+00 -6.084993786913318187e-02 5.179474679231223000e+15 5.687238640006531815e-02 2.368306934820058052e-01 1.248752554848183571e+01 -7.171839216907228975e-02 5.179474679231223000e+15 6.704318512606323444e-02 2.369190971359656783e-01 1.740136240393335143e+01 -8.452806946785666742e-02 5.179474679231223000e+15 7.914098452547485563e-02 2.373028250087011737e-01 2.420004978286100084e+01 -9.962569310141336509e-02 5.179474679231223000e+15 9.309524183077796944e-02 2.368064899662407075e-01 3.362887802890532640e+01 -1.174199149279194637e-01 5.179474679231223000e+15 1.098549139322655549e-01 2.372767964879721470e-01 4.661848362608007079e+01 -1.383923764288897684e-01 5.179474679231223000e+15 1.294178988242274397e-01 2.369790523032357654e-01 6.481828208541199388e+01 -1.631107454420542835e-01 5.179474679231223000e+15 1.524357272569199784e-01 2.368553872321159937e-01 9.023849978996280186e+01 -1.922440813951419580e-01 5.179474679231223000e+15 1.796945575298212749e-01 2.368027900790422302e-01 1.253559445835917927e+02 -2.265809449359138250e-01 5.179474679231223000e+15 2.123391135464426926e-01 2.374317251774385740e-01 1.746939563291660988e+02 -2.670507421371726142e-01 5.179474679231223000e+15 2.503896354921268386e-01 2.374906320243203306e-01 2.424792068604190831e+02 -3.147488810066778608e-01 5.179474679231223000e+15 2.952363890662439982e-01 2.374974750774038745e-01 3.376244510685889963e+02 -3.709664212206886247e-01 5.179474679231223000e+15 3.480985675279043012e-01 2.374847348800170899e-01 4.711351035902389413e+02 -4.372250196192620786e-01 5.179474679231223000e+15 4.100256275890161728e-01 2.371538235740042466e-01 6.568090367203241158e+02 -5.153181173433998286e-01 5.179474679231223000e+15 4.841411711519783001e-01 2.375159136783921432e-01 9.151555388738206602e+02 -6.073594834385067642e-01 5.179474679231223000e+15 5.704343425039413162e-01 2.370856021473025377e-01 1.278629245785637522e+03 -7.158404288682718164e-01 5.179474679231223000e+15 6.740969633903399760e-01 2.373672240964887215e-01 1.791774025467562524e+03 -8.436972395676662906e-01 5.179474679231223000e+15 7.963457861020944994e-01 2.374804441131624644e-01 2.510273807062449578e+03 -9.943906537655036182e-01 5.179474679231223000e+15 9.396368324162382990e-01 2.369737711333847752e-01 3.547693562043564725e+03 -1.171999534812844468e+00 5.179474679231223000e+15 1.113541281582496545e+00 2.375005648351422860e-01 5.040278500395927040e+03 -1.381331274987467994e+00 5.179474679231223000e+15 1.316999254890153903e+00 2.369939317763222753e-01 7.211308179717388157e+03 -1.628051918606947979e+00 5.179474679231223000e+15 1.562150132721410678e+00 2.370862164194235677e-01 1.046277120392109646e+04 -1.918839526531252559e+00 5.179474679231223000e+15 1.856736019244313862e+00 2.370646558187144981e-01 1.575211216932541902e+04 -2.261564933217340645e+00 5.179474679231223000e+15 2.211021530497978116e+00 2.372270163164194867e-01 2.480001642313517004e+04 -2.665504788930584290e+00 5.179474679231223000e+15 2.635524906777957366e+00 2.373563299466695253e-01 4.386679079724915937e+04 -3.141592653589792672e+00 5.179474679231223000e+15 3.141592653589792672e+00 2.356250043902215485e-01 1.357895467866923893e+06 -1.000000000000000021e-03 1.048113134154691600e+16 9.285936184739541433e-04 2.123806299464757741e-01 7.356630491238044453e-03 -1.178610770701415088e-03 1.048113134154691600e+16 1.094450445493400700e-03 2.123806299464757741e-01 1.025175674086925906e-02 -1.389123348813385214e-03 1.048113134154691600e+16 1.289931091498086905e-03 2.123806299464757741e-01 1.430316099748419993e-02 -1.637235740744274635e-03 1.048113134154691600e+16 1.520326691721527726e-03 2.123806299464757741e-01 1.993448372704123908e-02 -1.929663678218512032e-03 1.048113134154691600e+16 1.791873436473215894e-03 2.123806299464757741e-01 2.778141560764754714e-02 -2.274322394979648009e-03 1.048113134154691600e+16 2.111921369004155901e-03 2.123806299464757741e-01 3.862975345626290524e-02 -2.680540870770453925e-03 1.048113134154691600e+16 2.489133333030996587e-03 2.123806299464757741e-01 5.360284572071587206e-02 -3.159314341595407215e-03 1.048113134154691600e+16 2.933719455317660742e-03 2.123806299464757741e-01 7.444038525609390777e-02 -3.723601911035797143e-03 1.048113134154691600e+16 3.457713510823645382e-03 2.123806299464757741e-01 1.031788397654646305e-01 -4.388677318151167420e-03 1.048113134154691600e+16 4.075298652021810443e-03 2.123806299464757741e-01 1.434120352232133577e-01 -5.172542356305966961e-03 1.048113134154691600e+16 4.803191320872909030e-03 2.123806299464757741e-01 1.994674564197945754e-01 -6.096414133051489617e-03 1.048113134154691600e+16 5.661093737986363714e-03 2.123806299464757741e-01 2.765882108816196672e-01 -7.185299359870824139e-03 1.048113134154691600e+16 6.672227221651954795e-03 2.124026143934459598e-01 3.840218173377217270e-01 -8.468671216257736209e-03 1.048113134154691600e+16 7.867034199727441363e-03 2.125441694964470551e-01 5.357182247964137334e-01 -9.981267109010422481e-03 1.048113134154691600e+16 9.281690334790895086e-03 2.128130801927745064e-01 7.433194113973060624e-01 -1.176402891992746509e-02 1.048113134154691600e+16 1.095195275985024613e-02 2.131060501582081324e-01 1.035306118640812789e+00 -1.386521119186945317e-02 1.048113134154691600e+16 1.292404772591013509e-02 2.134208964448564838e-01 1.438724278203877160e+00 -1.634168724878715118e-02 1.048113134154691600e+16 1.525227667307255640e-02 2.137523758296114851e-01 1.999389799621111408e+00 -1.926048860285451206e-02 1.048113134154691600e+16 1.799861219136339452e-02 2.140720101294246447e-01 2.778724924322777401e+00 -2.270061931629619237e-02 1.048113134154691600e+16 2.112192355381582037e-02 2.131864787276314122e-01 3.864079225651728233e+00 -2.675519442777928719e-02 1.048113134154691600e+16 2.499471543733208095e-02 2.138842205560044507e-01 5.389070639543160901e+00 -3.153396032479117289e-02 1.048113134154691600e+16 2.941965995214081836e-02 2.136221760236095002e-01 7.490909048522248703e+00 -3.716626528166998983e-02 1.048113134154691600e+16 3.461979071242005795e-02 2.133048596916766737e-01 1.042166480387924743e+01 -4.380456056772231294e-02 1.048113134154691600e+16 4.078251338677953142e-02 2.132230631340995552e-01 1.449456881591016355e+01 -5.162852689096004283e-02 1.048113134154691600e+16 4.805181025351457080e-02 2.130597846128943484e-01 2.021324610295879154e+01 -6.084993786913318187e-02 1.048113134154691600e+16 5.685457291146534670e-02 2.140442743573418849e-01 2.802269007552526503e+01 -7.171839216907228975e-02 1.048113134154691600e+16 6.680490787051114598e-02 2.132830270547524110e-01 3.905983769242166659e+01 -8.452806946785666742e-02 1.048113134154691600e+16 7.886222558633858293e-02 2.135896482648686756e-01 5.430003132233004237e+01 -9.962569310141336509e-02 1.048113134154691600e+16 9.306960524404581103e-02 2.139910738152863146e-01 7.533145363622941204e+01 -1.174199149279194637e-01 1.048113134154691600e+16 1.095363763518405614e-01 2.135236574844951440e-01 1.050066160016292542e+02 -1.383923764288897684e-01 1.048113134154691600e+16 1.289736245884968158e-01 2.132804648009919424e-01 1.460502226998046069e+02 -1.631107454420542835e-01 1.048113134154691600e+16 1.523957550464227484e-01 2.138010887577904140e-01 2.031420809655742801e+02 -1.922440813951419580e-01 1.048113134154691600e+16 1.793562869738955790e-01 2.135908534822602012e-01 2.818731176185290224e+02 -2.265809449359138250e-01 1.048113134154691600e+16 2.115892354993613167e-01 2.136619176109489926e-01 3.925925490346128868e+02 -2.670507421371726142e-01 1.048113134154691600e+16 2.495230405115271555e-01 2.137081775512937321e-01 5.465413543063880297e+02 -3.147488810066778608e-01 1.048113134154691600e+16 2.940594707747596348e-01 2.137114757411709975e-01 7.592570589354338608e+02 -3.709664212206886247e-01 1.048113134154691600e+16 3.470782374209319121e-01 2.139336841690149260e-01 1.057403467283851114e+03 -4.372250196192620786e-01 1.048113134154691600e+16 4.086148788302183532e-01 2.134764575130240205e-01 1.475296868785568449e+03 -5.153181173433998286e-01 1.048113134154691600e+16 4.824967130970178042e-01 2.137559072095347179e-01 2.056477556282749447e+03 -6.073594834385067642e-01 1.048113134154691600e+16 5.699036909649878302e-01 2.139893599322498230e-01 2.873444865816593392e+03 -7.158404288682718164e-01 1.048113134154691600e+16 6.717878225191886710e-01 2.136570064394640589e-01 4.022785476062028465e+03 -8.436972395676662906e-01 1.048113134154691600e+16 7.939997814310451041e-01 2.138156082949144721e-01 5.648352063825044752e+03 -9.943906537655036182e-01 1.048113134154691600e+16 9.386653394464874456e-01 2.137938129529313447e-01 7.978579020383074749e+03 -1.171999534812844468e+00 1.048113134154691600e+16 1.109902169497282154e+00 2.135974789598003853e-01 1.132917278756677297e+04 -1.381331274987467994e+00 1.048113134154691600e+16 1.315523605065745061e+00 2.137447842292897193e-01 1.623727648912263066e+04 -1.628051918606947979e+00 1.048113134154691600e+16 1.561354639001266031e+00 2.138691414075371833e-01 2.361275860428379383e+04 -1.918839526531252559e+00 1.048113134154691600e+16 1.855703605356664010e+00 2.138110519372656004e-01 3.544082899149948207e+04 -2.261564933217340645e+00 1.048113134154691600e+16 2.210043187612626969e+00 2.139794091860311165e-01 5.570806041237281170e+04 -2.665504788930584290e+00 1.048113134154691600e+16 2.634848981263869572e+00 2.140576509191401411e-01 9.759131400666666741e+04 -3.141592653589792672e+00 1.048113134154691600e+16 3.141592653589792672e+00 2.123806299464757741e-01 2.816115579568661284e+06 -1.000000000000000021e-03 2.120950887920192400e+16 9.220160995462791005e-04 1.905113839256973862e-01 1.611633149567528317e-02 -1.178610770701415088e-03 2.120950887920192400e+16 1.086698111289284086e-03 1.905113839256973862e-01 2.255182603085378532e-02 -1.389123348813385214e-03 2.120950887920192400e+16 1.280794107641393658e-03 1.905113839256973862e-01 3.144144743664938069e-02 -1.637235740744274635e-03 2.120950887920192400e+16 1.509557745338617127e-03 1.905113839256973862e-01 4.365756313261422855e-02 -1.929663678218512032e-03 2.120950887920192400e+16 1.779181042245678865e-03 1.905113839256973862e-01 6.102614039974276622e-02 -2.274322394979648009e-03 2.120950887920192400e+16 2.096961979684437358e-03 1.905113839256973862e-01 8.469034600788834244e-02 -2.680540870770453925e-03 2.120950887920192400e+16 2.471502040932221141e-03 1.905113839256973862e-01 1.182673380045443506e-01 -3.159314341595407215e-03 2.120950887920192400e+16 2.912939033187637340e-03 1.905113839256973862e-01 1.640838234616238123e-01 -3.723601911035797143e-03 2.120950887920192400e+16 3.433221495625495261e-03 1.905113839256973862e-01 2.280188097608333020e-01 -4.388677318151167420e-03 2.120950887920192400e+16 4.046432122270198287e-03 1.905113839256973862e-01 3.167666675732609960e-01 -5.172542356305966961e-03 2.120950887920192400e+16 4.769168955908521454e-03 1.905113839256973862e-01 4.401973302868062987e-01 -6.096414133051489617e-03 2.120950887920192400e+16 5.620994674268091698e-03 1.905113839256973862e-01 6.103166994781824561e-01 -7.185299359870824139e-03 2.120950887920192400e+16 6.624966134887458336e-03 1.905113839256973862e-01 8.503331854596544170e-01 -8.468671216257736209e-03 2.120950887920192400e+16 7.808258520971078122e-03 1.905113839256973862e-01 1.183186638600052021e+00 -9.981267109010422481e-03 2.120950887920192400e+16 9.203573993514435267e-03 1.905504098861827700e-01 1.637376566365647657e+00 -1.176402891992746509e-02 2.120950887920192400e+16 1.085042638915361714e-02 1.906466084686019302e-01 2.283762444440087691e+00 -1.386521119186945317e-02 2.120950887920192400e+16 1.279183191148702825e-02 1.907394145098309235e-01 3.170016226851193775e+00 -1.634168724878715118e-02 2.120950887920192400e+16 1.508237833532391492e-02 1.908498560528934795e-01 4.411688316896803741e+00 -1.926048860285451206e-02 2.120950887920192400e+16 1.779928260708489585e-02 1.911070617028976792e-01 6.132264090351535302e+00 -2.270061931629619237e-02 2.120950887920192400e+16 2.101366159089758379e-02 1.914276634375875474e-01 8.502323539884143244e+00 -2.675519442777928719e-02 2.120950887920192400e+16 2.483270288977490470e-02 1.919052507525050300e-01 1.182285600484988564e+01 -3.153396032479117289e-02 2.120950887920192400e+16 2.919801793577320170e-02 1.915228721213107499e-01 1.648496232654785842e+01 -3.716626528166998983e-02 2.120950887920192400e+16 3.435419672189039125e-02 1.912464718555901000e-01 2.287044895689113488e+01 -4.380456056772231294e-02 2.120950887920192400e+16 4.045033468838022533e-02 1.910926165613814065e-01 3.175057363462195070e+01 -5.162852689096004283e-02 2.120950887920192400e+16 4.765257836725979301e-02 1.910239323925634336e-01 4.410558385760302968e+01 -6.084993786913318187e-02 2.120950887920192400e+16 5.645002518006977943e-02 1.918971625951166049e-01 6.165924905105799070e+01 -7.171839216907228975e-02 2.120950887920192400e+16 6.653130105965633645e-02 1.918995406406064641e-01 8.542801175673233161e+01 -8.452806946785666742e-02 2.120950887920192400e+16 7.841283259233547409e-02 1.919002030951238169e-01 1.187725324191736860e+02 -9.962569310141336509e-02 2.120950887920192400e+16 9.211623341411587229e-02 1.912670927255621933e-01 1.654994437283222624e+02 -1.174199149279194637e-01 2.120950887920192400e+16 1.087932643138224548e-01 1.915909552146593531e-01 2.299647473839217753e+02 -1.383923764288897684e-01 2.120950887920192400e+16 1.280281689343537865e-01 1.913306587147147464e-01 3.198320545991960557e+02 -1.631107454420542835e-01 2.120950887920192400e+16 1.513392518391880881e-01 1.918014182707856452e-01 4.446201926425995339e+02 -1.922440813951419580e-01 2.120950887920192400e+16 1.781900194524364267e-01 1.916405133699426999e-01 6.179417647800311215e+02 -2.265809449359138250e-01 2.120950887920192400e+16 2.100188266589921027e-01 1.915324322269978952e-01 8.608203515865626514e+02 -2.670507421371726142e-01 2.120950887920192400e+16 2.475569238406565009e-01 1.914964537581419768e-01 1.197625388010636698e+03 -3.147488810066778608e-01 2.120950887920192400e+16 2.919113577902220369e-01 1.915397300702526562e-01 1.667207477862275255e+03 -3.709664212206886247e-01 2.120950887920192400e+16 3.446952785513018314e-01 1.917618947020569564e-01 2.320155144644890242e+03 -4.372250196192620786e-01 2.120950887920192400e+16 4.056631777687755291e-01 1.913714781380320140e-01 3.234597594551366001e+03 -5.153181173433998286e-01 2.120950887920192400e+16 4.790749077329559680e-01 1.915408865877893385e-01 4.511928006073762845e+03 -6.073594834385067642e-01 2.120950887920192400e+16 5.661003454002966340e-01 1.917855314224713448e-01 6.299020809255064705e+03 -7.158404288682718164e-01 2.120950887920192400e+16 6.688407352600772571e-01 1.919181832637123220e-01 8.812899335693824469e+03 -8.436972395676662906e-01 2.120950887920192400e+16 7.886534907690079255e-01 1.915493948587036754e-01 1.236670870943164300e+04 -9.943906537655036182e-01 2.120950887920192400e+16 9.326938983517785164e-01 1.915861192596535756e-01 1.742440846306079402e+04 -1.171999534812844468e+00 2.120950887920192400e+16 1.105575058429226765e+00 1.919138872027202625e-01 2.475666533275031907e+04 -1.381331274987467994e+00 2.120950887920192400e+16 1.307771522127127550e+00 1.914291666736009090e-01 3.539548215669464116e+04 -1.628051918606947979e+00 2.120950887920192400e+16 1.553650235273631663e+00 1.915557382094013883e-01 5.160049384657732298e+04 -1.918839526531252559e+00 2.120950887920192400e+16 1.847952801605417195e+00 1.914866118064497968e-01 7.731159553655867057e+04 -2.261564933217340645e+00 2.120950887920192400e+16 2.203461990308874796e+00 1.915834312470611200e-01 1.216458663011804747e+05 -2.665504788930584290e+00 2.120950887920192400e+16 2.631401520315899578e+00 1.917827887849531954e-01 2.128961715403171256e+05 -3.141592653589792672e+00 2.120950887920192400e+16 3.141592653589792672e+00 1.905113839256973862e-01 6.878011183294516988e+06 -1.000000000000000021e-03 4.291934260128760800e+16 9.053064393544254899e-04 1.705475629907835244e-01 3.434194206812997419e-02 -1.178610770701415088e-03 4.291934260128760800e+16 1.067003926924260399e-03 1.705475629907835244e-01 4.785180809890016845e-02 -1.389123348813385214e-03 4.291934260128760800e+16 1.257582331648960609e-03 1.705475629907835244e-01 6.657331922042422634e-02 -1.637235740744274635e-03 4.291934260128760800e+16 1.482200099127199862e-03 1.705475629907835244e-01 9.316674705765011499e-02 -1.929663678218512032e-03 4.291934260128760800e+16 1.746937030639429851e-03 1.705475629907835244e-01 1.294659495002043748e-01 -2.274322394979648009e-03 4.291934260128760800e+16 2.058958848303703380e-03 1.705475629907835244e-01 1.809069885089080176e-01 -2.680540870770453925e-03 4.291934260128760800e+16 2.426711154046393929e-03 1.705475629907835244e-01 2.520114531734848895e-01 -3.159314341595407215e-03 4.291934260128760800e+16 2.860148032889576336e-03 1.705475629907835244e-01 3.509141907406571614e-01 -3.723601911035797143e-03 4.291934260128760800e+16 3.371001489139258383e-03 1.705475629907835244e-01 4.882248224993653296e-01 -4.388677318151167420e-03 4.291934260128760800e+16 3.973099009875760701e-03 1.705475629907835244e-01 6.801280358652003200e-01 -5.172542356305966961e-03 4.291934260128760800e+16 4.682737853774179143e-03 1.705475629907835244e-01 9.486598902827465540e-01 -6.096414133051489617e-03 4.291934260128760800e+16 5.519126200240921133e-03 1.705475629907835244e-01 1.318700934003480318e+00 -7.185299359870824139e-03 4.291934260128760800e+16 6.504903106128604416e-03 1.705475629907835244e-01 1.834537992470734791e+00 -8.468671216257736209e-03 4.291934260128760800e+16 7.666751354572348340e-03 1.705475629907835244e-01 2.544998559249273651e+00 -9.981267109010422481e-03 4.291934260128760800e+16 9.036119801659914241e-03 1.705475629907835244e-01 3.536291224728528526e+00 -1.176402891992746509e-02 4.291934260128760800e+16 1.065007480164266787e-02 1.705475629907835244e-01 4.897599171202093871e+00 -1.386521119186945317e-02 4.291934260128760800e+16 1.255433348750292083e-02 1.705936453922842488e-01 6.800975380170180884e+00 -1.634168724878715118e-02 4.291934260128760800e+16 1.480125590198423657e-02 1.706670990591994674e-01 9.502453208956183062e+00 -1.926048860285451206e-02 4.291934260128760800e+16 1.745013052388399641e-02 1.707382010092436397e-01 1.323162733280884851e+01 -2.270061931629619237e-02 4.291934260128760800e+16 2.057736836920109891e-02 1.708320893804256835e-01 1.835751438798614288e+01 -2.675519442777928719e-02 4.291934260128760800e+16 2.428170153946332052e-02 1.710023581922110736e-01 2.551714194711187744e+01 -3.153396032479117289e-02 4.291934260128760800e+16 2.865886676882856143e-02 1.711939585489760662e-01 3.540212357034700119e+01 -3.716626528166998983e-02 4.291934260128760800e+16 3.385462372943652543e-02 1.714776649007305753e-01 4.920879534017226575e+01 -4.380456056772231294e-02 4.291934260128760800e+16 3.977161014496126412e-02 1.711278312220494702e-01 6.815808210624824426e+01 -5.162852689096004283e-02 4.291934260128760800e+16 4.709336967205820373e-02 1.715312772555247223e-01 9.510762896126369981e+01 -6.084993786913318187e-02 4.291934260128760800e+16 5.542291808918318324e-02 1.713673329269253254e-01 1.332099864208300630e+02 -7.171839216907228975e-02 4.291934260128760800e+16 6.523315065907714372e-02 1.712178763042613294e-01 1.851343762222234659e+02 -8.452806946785666742e-02 4.291934260128760800e+16 7.681743774910700095e-02 1.711784672715786493e-01 2.563686791347899998e+02 -9.962569310141336509e-02 4.291934260128760800e+16 9.063760647315370622e-02 1.712884021252185918e-01 3.573634762547404762e+02 -1.174199149279194637e-01 4.291934260128760800e+16 1.070090156946294085e-01 1.715040424037129474e-01 4.962577026840451140e+02 -1.383923764288897684e-01 4.291934260128760800e+16 1.258121566132842650e-01 1.711588028758932734e-01 6.907366464132578585e+02 -1.631107454420542835e-01 4.291934260128760800e+16 1.482042234570702111e-01 1.710745080551265007e-01 9.597484140469795193e+02 -1.922440813951419580e-01 4.291934260128760800e+16 1.752187916333043383e-01 1.714470908297456020e-01 1.335061436377861355e+03 -2.265809449359138250e-01 4.291934260128760800e+16 2.064273643828263005e-01 1.713433647797481807e-01 1.858459474756851705e+03 -2.670507421371726142e-01 4.291934260128760800e+16 2.432297593469546493e-01 1.712681193313512484e-01 2.574884295097061568e+03 -3.147488810066778608e-01 4.291934260128760800e+16 2.867241889763201268e-01 1.712513056386217036e-01 3.595385749989706710e+03 -3.709664212206886247e-01 4.291934260128760800e+16 3.382592796412347558e-01 1.712737518591956054e-01 5.004222059175561299e+03 -4.372250196192620786e-01 4.291934260128760800e+16 3.990701425921061030e-01 1.712694366197421991e-01 6.980998838297987277e+03 -5.153181173433998286e-01 4.291934260128760800e+16 4.714798402137250211e-01 1.714227380530739531e-01 9.738297180295126964e+03 -6.073594834385067642e-01 4.291934260128760800e+16 5.572627010957743598e-01 1.715891319549465999e-01 1.358394103750859358e+04 -7.158404288682718164e-01 4.291934260128760800e+16 6.564414323558831477e-01 1.712353887888557469e-01 1.899755641055296655e+04 -8.436972395676662906e-01 4.291934260128760800e+16 7.765166652190800267e-01 1.713307600673534825e-01 2.668300674738330781e+04 -9.943906537655036182e-01 4.291934260128760800e+16 9.206557994761532804e-01 1.716272506074748017e-01 3.758873540717708966e+04 -1.171999534812844468e+00 4.291934260128760800e+16 1.090130835353831928e+00 1.715235214419922050e-01 5.329642413506023877e+04 -1.381331274987467994e+00 4.291934260128760800e+16 1.293345773869426285e+00 1.714697130869587416e-01 7.657180435293768824e+04 -1.628051918606947979e+00 4.291934260128760800e+16 1.538437546554075164e+00 1.715057800594456117e-01 1.118260793074410612e+05 -1.918839526531252559e+00 4.291934260128760800e+16 1.832806169819614306e+00 1.712902630900196843e-01 1.678321815505445120e+05 -2.261564933217340645e+00 4.291934260128760800e+16 2.190912873631475577e+00 1.713748620609370776e-01 2.625091968265285250e+05 -2.665504788930584290e+00 4.291934260128760800e+16 2.624001571093035334e+00 1.714285827423560060e-01 4.572443456964222714e+05 -3.141592653589792672e+00 4.291934260128760800e+16 3.141592653589792672e+00 1.705475629907835244e-01 1.830421941591924801e+07 -1.000000000000000021e-03 8.685113737513520000e+16 8.829087480713460360e-04 1.517828511589557339e-01 7.781173226891167916e-02 -1.178610770701415088e-03 8.685113737513520000e+16 1.040605768184028109e-03 1.517828511589557339e-01 1.082733987860202696e-01 -1.389123348813385214e-03 8.685113737513520000e+16 1.226469179796610322e-03 1.517828511589557339e-01 1.511928856103014196e-01 -1.637235740744274635e-03 8.685113737513520000e+16 1.445529807116545341e-03 1.517828511589557339e-01 2.107980311928728812e-01 -1.929663678218512032e-03 8.685113737513520000e+16 1.703717035851915178e-03 1.517828511589557339e-01 2.932492447383429068e-01 -2.274322394979648009e-03 8.685113737513520000e+16 2.008019307319195042e-03 1.517828511589557339e-01 4.084654621648767248e-01 -2.680540870770453925e-03 8.685113737513520000e+16 2.366673279384788435e-03 1.517828511589557339e-01 5.664256415520945165e-01 -3.159314341595407215e-03 8.685113737513520000e+16 2.789386774992005935e-03 1.517828511589557339e-01 7.912671908400934484e-01 -3.723601911035797143e-03 8.685113737513520000e+16 3.287601553994815972e-03 1.517828511589557339e-01 1.098745800895615021e+00 -4.388677318151167420e-03 8.685113737513520000e+16 3.874803022634478941e-03 1.517828511589557339e-01 1.529413078974450224e+00 -5.172542356305966961e-03 8.685113737513520000e+16 4.566885266625656144e-03 1.517828511589557339e-01 2.128159297192062205e+00 -6.096414133051489617e-03 8.685113737513520000e+16 5.382581293170852176e-03 1.517828511589557339e-01 2.960983458411844182e+00 -7.185299359870824139e-03 8.685113737513520000e+16 6.343970135347700053e-03 1.517828511589557339e-01 4.119116611708041553e+00 -8.468671216257736209e-03 8.685113737513520000e+16 7.477074557840868337e-03 1.517828511589557339e-01 5.732215546313495835e+00 -9.981267109010422481e-03 8.685113737513520000e+16 8.812565563624296175e-03 1.517828511589557339e-01 7.960404844976604721e+00 -1.176402891992746509e-02 8.685113737513520000e+16 1.038659280560304959e-02 1.517828511589557339e-01 1.108839014407727852e+01 -1.386521119186945317e-02 8.685113737513520000e+16 1.224176343737924666e-02 1.517828511589557339e-01 1.539872930683977792e+01 -1.634168724878715118e-02 8.685113737513520000e+16 1.442829599157876251e-02 1.517828511589557339e-01 2.140563545155307423e+01 -1.926048860285451206e-02 8.685113737513520000e+16 1.700538067133176151e-02 1.517828511589557339e-01 2.975004124924583593e+01 -2.270061931629619237e-02 8.685113737513520000e+16 2.004278312516945965e-02 1.517828511589557339e-01 4.134174646569213252e+01 -2.675519442777928719e-02 8.685113737513520000e+16 2.363394183926581515e-02 1.518257881466083814e-01 5.768913658042784931e+01 -3.153396032479117289e-02 8.685113737513520000e+16 2.788719055310555361e-02 1.519296464486932785e-01 8.012495453297283632e+01 -3.716626528166998983e-02 8.685113737513520000e+16 3.290605746713086421e-02 1.520349072666753731e-01 1.112569383214307521e+02 -4.380456056772231294e-02 8.685113737513520000e+16 3.891611089868333984e-02 1.523542076008973511e-01 1.551890314198143699e+02 -5.162852689096004283e-02 8.685113737513520000e+16 4.601676645808528560e-02 1.526770097581787722e-01 2.157117730481780029e+02 -6.084993786913318187e-02 8.685113737513520000e+16 5.388690099154394564e-02 1.520348265101288676e-01 3.006448457853845184e+02 -7.171839216907228975e-02 8.685113737513520000e+16 6.393901012346960011e-02 1.526657624092923882e-01 4.199078602162546758e+02 -8.452806946785666742e-02 8.685113737513520000e+16 7.523199284229563355e-02 1.524597595076945256e-01 5.835823791437743466e+02 -9.962569310141336509e-02 8.685113737513520000e+16 8.855870139347513104e-02 1.521845919616444665e-01 8.107809179256666994e+02 -1.174199149279194637e-01 8.685113737513520000e+16 1.041456145797345495e-01 1.519989745405585235e-01 1.126303198260600539e+03 -1.383923764288897684e-01 8.685113737513520000e+16 1.227764026760427007e-01 1.520170069560036197e-01 1.570229167373082646e+03 -1.631107454420542835e-01 8.685113737513520000e+16 1.450378236664219000e-01 1.521807356527529187e-01 2.178058243591352038e+03 -1.922440813951419580e-01 8.685113737513520000e+16 1.716219743947619558e-01 1.525557490806853933e-01 3.042770666568160323e+03 -2.265809449359138250e-01 8.685113737513520000e+16 2.015474707153410150e-01 1.520455498461050214e-01 4.223596211431052325e+03 -2.670507421371726142e-01 8.685113737513520000e+16 2.388651279130778182e-01 1.526915339813235406e-01 5.873827985135133531e+03 -3.147488810066778608e-01 8.685113737513520000e+16 2.808396757407304878e-01 1.523282634056220275e-01 8.174859431194978242e+03 -3.709664212206886247e-01 8.685113737513520000e+16 3.304975361554474134e-01 1.521317017914907421e-01 1.140838229296170175e+04 -4.372250196192620786e-01 8.685113737513520000e+16 3.906882094162058561e-01 1.522754092459846498e-01 1.587324205061760040e+04 -5.153181173433998286e-01 8.685113737513520000e+16 4.614807439880368456e-01 1.523378755136935714e-01 2.222090830354711215e+04 -6.073594834385067642e-01 8.685113737513520000e+16 5.447970982832611719e-01 1.523423415665665914e-01 3.103039435502051128e+04 -7.158404288682718164e-01 8.685113737513520000e+16 6.444002999294051737e-01 1.524670417455885330e-01 4.335604515760947106e+04 -8.436972395676662906e-01 8.685113737513520000e+16 7.625995827739587840e-01 1.524823696479989388e-01 6.098047818130211090e+04 -9.943906537655036182e-01 8.685113737513520000e+16 9.027722868147353141e-01 1.524102926757892051e-01 8.611660336289384577e+04 -1.171999534812844468e+00 8.685113737513520000e+16 1.072514252942380564e+00 1.526088348485400426e-01 1.221430859457162587e+05 -1.381331274987467994e+00 8.685113737513520000e+16 1.274181524631633478e+00 1.525313936066869935e-01 1.747611517088485125e+05 -1.628051918606947979e+00 8.685113737513520000e+16 1.518737509530465823e+00 1.524847401768243405e-01 2.545233413205479737e+05 -1.918839526531252559e+00 8.685113737513520000e+16 1.815784569613643429e+00 1.526271825176173103e-01 3.775835008322153008e+05 -2.261564933217340645e+00 8.685113737513520000e+16 2.173298254869180823e+00 1.521721277991012478e-01 5.727674663761982229e+05 -2.665504788930584290e+00 8.685113737513520000e+16 2.612745673975366056e+00 1.523070258379393693e-01 9.269147339310382959e+05 -3.141592653589792672e+00 8.685113737513520000e+16 3.141592653589792672e+00 1.517828511589557339e-01 5.132221030869498104e+07 -1.000000000000000021e-03 1.757510624854796480e+17 8.215046824294101012e-04 1.287361623778863762e-01 1.499637914258087068e-01 -1.178610770701415088e-03 1.757510624854796480e+17 9.682342787294687591e-04 1.287361623778863762e-01 2.067899968728932336e-01 -1.389123348813385214e-03 1.757510624854796480e+17 1.141171368852042511e-03 1.287361623778863762e-01 2.888536101090978248e-01 -1.637235740744274635e-03 1.757510624854796480e+17 1.344996898273365625e-03 1.287361623778863762e-01 4.009636688707609031e-01 -1.929663678218512032e-03 1.757510624854796480e+17 1.585227882811642616e-03 1.287361623778863762e-01 5.597662593906066464e-01 -2.274322394979648009e-03 1.757510624854796480e+17 1.868366741746938170e-03 1.287361623778863762e-01 7.775660344548812608e-01 -2.680540870770453925e-03 1.757510624854796480e+17 2.202077304688383232e-03 1.287361623778863762e-01 1.080130372127935834e+00 -3.159314341595407215e-03 1.757510624854796480e+17 2.595392257199932110e-03 1.287361623778863762e-01 1.500939727191952899e+00 -3.723601911035797143e-03 1.757510624854796480e+17 3.058957641783058290e-03 1.287361623778863762e-01 2.087728851444092371e+00 -4.388677318151167420e-03 1.757510624854796480e+17 3.605321034826552539e-03 1.287361623778863762e-01 2.913236505078641958e+00 -5.172542356305966961e-03 1.757510624854796480e+17 4.249271204000093505e-03 1.287361623778863762e-01 4.044970408292854813e+00 -6.096414133051489617e-03 1.757510624854796480e+17 5.008238446747547735e-03 1.287361623778863762e-01 5.629416155495889029e+00 -7.185299359870824139e-03 1.757510624854796480e+17 5.902766457501922893e-03 1.287361623778863762e-01 7.833125921605518016e+00 -8.468671216257736209e-03 1.757510624854796480e+17 6.957068514685533188e-03 1.287361623778863762e-01 1.092209036843694392e+01 -9.981267109010422481e-03 1.757510624854796480e+17 8.199683072909583897e-03 1.287361623778863762e-01 1.517797234398838313e+01 -1.176402891992746509e-02 1.757510624854796480e+17 9.664246556127763232e-03 1.287361623778863762e-01 2.113152696579917489e+01 -1.386521119186945317e-02 1.757510624854796480e+17 1.139040435208395381e-02 1.287361623778863762e-01 2.944387734730782569e+01 -1.634168724878715118e-02 1.757510624854796480e+17 1.342488480196631084e-02 1.287361623778863762e-01 4.096015428264180969e+01 -1.926048860285451206e-02 1.757510624854796480e+17 1.582276547751805540e-02 1.287361623778863762e-01 5.684834672817780188e+01 -2.270061931629619237e-02 1.757510624854796480e+17 1.864896638416878305e-02 1.287361623778863762e-01 7.919052993276331165e+01 -2.675519442777928719e-02 1.757510624854796480e+17 2.198001110285212681e-02 1.287361623778863762e-01 1.099622209004366908e+02 -3.153396032479117289e-02 1.757510624854796480e+17 2.590610451506004247e-02 1.287361623778863762e-01 1.532762528075642194e+02 -3.716626528166998983e-02 1.757510624854796480e+17 3.053358494596352529e-02 1.287361623778863762e-01 2.128326219812284137e+02 -4.380456056772231294e-02 1.757510624854796480e+17 3.598781971175316063e-02 1.287361623778863762e-01 2.962013702960817341e+02 -5.162852689096004283e-02 1.757510624854796480e+17 4.243608789789492242e-02 1.287659553925141753e-01 4.115239006347152326e+02 -6.084993786913318187e-02 1.757510624854796480e+17 5.011770004576319992e-02 1.288970150639943968e-01 5.709003521673694195e+02 -7.171839216907228975e-02 1.757510624854796480e+17 5.924695352244419705e-02 1.290926244553131652e-01 7.993046728956352354e+02 -8.452806946785666742e-02 1.757510624854796480e+17 7.018861514546730074e-02 1.294347114441985191e-01 1.109449385861879364e+03 -9.962569310141336509e-02 1.757510624854796480e+17 8.191526493851984669e-02 1.287526006537384748e-01 1.541201923030354465e+03 -1.174199149279194637e-01 1.757510624854796480e+17 9.706489448716802693e-02 1.291003369482969232e-01 2.145112399550534519e+03 -1.383923764288897684e-01 1.757510624854796480e+17 1.138286005421395852e-01 1.287856493788788748e-01 2.978654915926936155e+03 -1.631107454420542835e-01 1.757510624854796480e+17 1.355304622720913954e-01 1.293398444341014586e-01 4.156687933882253674e+03 -1.922440813951419580e-01 1.757510624854796480e+17 1.597823191572068091e-01 1.293004860899218678e-01 5.796302220395328732e+03 -2.265809449359138250e-01 1.757510624854796480e+17 1.881191984563147790e-01 1.292356616283986959e-01 8.039414503217417405e+03 -2.670507421371726142e-01 1.757510624854796480e+17 2.221975588732348905e-01 1.292715505516371932e-01 1.120257621149485385e+04 -3.147488810066778608e-01 1.757510624854796480e+17 2.627644053451276829e-01 1.294792412058724806e-01 1.558616978394315083e+04 -3.709664212206886247e-01 1.757510624854796480e+17 3.088313686939538338e-01 1.290896061093817770e-01 2.195413796362008725e+04 -4.372250196192620786e-01 1.757510624854796480e+17 3.661848261188357934e-01 1.294225441940255461e-01 3.029344502715883209e+04 -5.153181173433998286e-01 1.757510624854796480e+17 4.310994507306719070e-01 1.291629020934401129e-01 4.219489107752487325e+04 -6.073594834385067642e-01 1.757510624854796480e+17 5.089388835284557322e-01 1.290850727827013988e-01 5.882999332526722719e+04 -7.158404288682718164e-01 1.757510624854796480e+17 6.023051391377728381e-01 1.290714159100949665e-01 8.214329369996811147e+04 -8.436972395676662906e-01 1.757510624854796480e+17 7.168420063613477611e-01 1.293674786978801783e-01 1.152206465280074772e+05 -9.943906537655036182e-01 1.757510624854796480e+17 8.510089971493949301e-01 1.294189067534085025e-01 1.617751243449039466e+05 -1.171999534812844468e+00 1.757510624854796480e+17 1.013224272034959128e+00 1.294204143446544553e-01 2.276737011460455251e+05 -1.381331274987467994e+00 1.757510624854796480e+17 1.210355559504435519e+00 1.294043411051858661e-01 3.232042362365339068e+05 -1.628051918606947979e+00 1.757510624854796480e+17 1.452348295283454105e+00 1.294714682127761085e-01 4.663494729812899604e+05 -1.918839526531252559e+00 1.757510624854796480e+17 1.748394347829155482e+00 1.293541514048850705e-01 6.897545899412047584e+05 -2.261564933217340645e+00 1.757510624854796480e+17 2.120497163770450832e+00 1.294387175567275061e-01 1.075006226049116114e+06 -2.665504788930584290e+00 1.757510624854796480e+17 2.580386781703250421e+00 1.294806682477922799e-01 1.902306307434005430e+06 -3.141592653589792672e+00 1.757510624854796480e+17 3.141592653589792672e+00 1.287361623778863762e-01 1.478375869750756919e+08 -1.000000000000000021e-03 3.556480306223150080e+17 6.660384044916530443e-04 9.580610458241708982e-02 2.984139106674642550e-01 -1.178610770701415088e-03 3.556480306223150080e+17 7.850000566907438951e-04 9.580610458241708982e-02 4.185328098973176147e-01 -1.389123348813385214e-03 3.556480306223150080e+17 9.252095536711462277e-04 9.580610458241708982e-02 5.816669660580235934e-01 -1.637235740744274635e-03 3.556480306223150080e+17 1.090461997265525403e-03 9.580610458241708982e-02 8.135374003922589692e-01 -1.929663678218512032e-03 3.556480306223150080e+17 1.285230340404267110e-03 9.580610458241708982e-02 1.128015850125431818e+00 -2.274322394979648009e-03 3.556480306223150080e+17 1.514786461830600625e-03 9.580610458241708982e-02 1.575404790848019321e+00 -2.680540870770453925e-03 3.556480306223150080e+17 1.785343868108303341e-03 9.580610458241708982e-02 2.188772310368896079e+00 -3.159314341595407215e-03 3.556480306223150080e+17 2.104225887092095459e-03 9.580610458241708982e-02 3.050868837979841430e+00 -3.723601911035797143e-03 3.556480306223150080e+17 2.480063908043206398e-03 9.580610458241708982e-02 4.239115988302263105e+00 -4.388677318151167420e-03 3.556480306223150080e+17 2.923031038537093635e-03 9.580610458241708982e-02 5.895047734712235865e+00 -5.172542356305966961e-03 3.556480306223150080e+17 3.445117509700409628e-03 9.580610458241708982e-02 8.200759985404788566e+00 -6.096414133051489617e-03 3.556480306223150080e+17 4.060455295839796377e-03 9.580610458241708982e-02 1.139274290552579671e+01 -7.185299359870824139e-03 3.556480306223150080e+17 4.785700754007741163e-03 9.580610458241708982e-02 1.587348693074063277e+01 -8.468671216257736209e-03 3.556480306223150080e+17 5.640485671582740577e-03 9.580610458241708982e-02 2.213954634141344968e+01 -9.981267109010422481e-03 3.556480306223150080e+17 6.647948981351712444e-03 9.580610458241708982e-02 3.080056636276240667e+01 -1.176402891992746509e-02 3.556480306223150080e+17 7.835363619437983249e-03 9.580610458241708982e-02 4.292543773021104414e+01 -1.386521119186945317e-02 3.556480306223150080e+17 9.234875629727634649e-03 9.580610458241708982e-02 5.982864045157806743e+01 -1.634168724878715118e-02 3.556480306223150080e+17 1.088437574351316592e-02 9.580610458241708982e-02 8.326086252070892613e+01 -1.926048860285451206e-02 3.556480306223150080e+17 1.282852739102620203e-02 9.580610458241708982e-02 1.158032389156490183e+02 -2.270061931629619237e-02 3.556480306223150080e+17 1.511997956853343081e-02 9.580610458241708982e-02 1.612532924565564372e+02 -2.675519442777928719e-02 3.556480306223150080e+17 1.782079836938727999e-02 9.580610458241708982e-02 2.245132240102627179e+02 -3.153396032479117289e-02 3.556480306223150080e+17 2.100415753012067205e-02 9.580610458241708982e-02 3.123309056549239244e+02 -3.716626528166998983e-02 3.556480306223150080e+17 2.475633637521375968e-02 9.580610458241708982e-02 4.340416442381504112e+02 -4.380456056772231294e-02 3.556480306223150080e+17 2.917908353729452980e-02 9.580610458241708982e-02 6.038497108210195847e+02 -5.162852689096004283e-02 3.556480306223150080e+17 3.450139142737952691e-02 9.592893700908036725e-02 8.366767347336120793e+02 -6.084993786913318187e-02 3.556480306223150080e+17 4.105300929599604853e-02 9.630224435681709882e-02 1.181076161869286807e+03 -7.171839216907228975e-02 3.556480306223150080e+17 4.796963889544519910e-02 9.595104758666729572e-02 1.627872283082240756e+03 -8.452806946785666742e-02 3.556480306223150080e+17 5.640940653503744018e-02 9.585025257676511867e-02 2.270618886034227671e+03 -9.962569310141336509e-02 3.556480306223150080e+17 6.734854822179982270e-02 9.635287422887429953e-02 3.176810375528910299e+03 -1.174199149279194637e-01 3.556480306223150080e+17 7.938788020547180024e-02 9.636894422896979950e-02 4.417317415852221529e+03 -1.383923764288897684e-01 3.556480306223150080e+17 9.340861597770180880e-02 9.630989636739370474e-02 6.150596470684939959e+03 -1.631107454420542835e-01 3.556480306223150080e+17 1.097856468494813054e-01 9.620096256919670463e-02 8.573260339534930608e+03 -1.922440813951419580e-01 3.556480306223150080e+17 1.299924704667224096e-01 9.637673105619380676e-02 1.188635457707741625e+04 -2.265809449359138250e-01 3.556480306223150080e+17 1.538757657460607109e-01 9.658870564129326541e-02 1.635129103210034918e+04 -2.670507421371726142e-01 3.556480306223150080e+17 1.809259195450531044e-01 9.625327658402750564e-02 2.314238055577177511e+04 -3.147488810066778608e-01 3.556480306223150080e+17 2.121551758359962458e-01 9.611740154551984272e-02 3.213004306586902021e+04 -3.709664212206886247e-01 3.556480306223150080e+17 2.530908800628615118e-01 9.644728265162712255e-02 4.451417379810090642e+04 -4.372250196192620786e-01 3.556480306223150080e+17 3.000521019245818155e-01 9.658744532871581245e-02 6.187571132443498209e+04 -5.153181173433998286e-01 3.556480306223150080e+17 3.523922556218354041e-01 9.615018642725443876e-02 8.761473871259370935e+04 -6.073594834385067642e-01 3.556480306223150080e+17 4.177652065998106456e-01 9.609072615513195026e-02 1.220761051053368428e+05 -7.158404288682718164e-01 3.556480306223150080e+17 4.978698732796429383e-01 9.618640185904557549e-02 1.704450319327105244e+05 -8.436972395676662906e-01 3.556480306223150080e+17 5.944982695849791998e-01 9.622041329470543136e-02 2.429177288965838670e+05 -9.943906537655036182e-01 3.556480306223150080e+17 7.130245523646672190e-01 9.610938168341405519e-02 3.400392995013838517e+05 -1.171999534812844468e+00 3.556480306223150080e+17 8.563570484499772872e-01 9.609027364265619597e-02 4.824980175937559106e+05 -1.381331274987467994e+00 3.556480306223150080e+17 1.047363690030389982e+00 9.637038696894970058e-02 7.112476147630392807e+05 -1.628051918606947979e+00 3.556480306223150080e+17 1.280429772043033987e+00 9.660058979410399149e-02 1.022408593413231894e+06 -1.918839526531252559e+00 3.556480306223150080e+17 1.583073285374616557e+00 9.651734327757001408e-02 1.580750708355851239e+06 -2.261564933217340645e+00 3.556480306223150080e+17 1.978708363841008122e+00 9.655565379191682895e-02 2.555463222732076887e+06 -2.665504788930584290e+00 3.556480306223150080e+17 2.490905321515977988e+00 9.652578949292922594e-02 4.723802034536653198e+06 -3.141592653589792672e+00 3.556480306223150080e+17 3.141592653589792228e+00 9.580610458241708982e-02 4.304215717182533145e+08 -1.000000000000000021e-03 7.196856730011528960e+17 6.079620608088031741e-04 6.898099527199953729e-02 7.503801175450293126e-01 -1.178610770701415088e-03 7.196856730011528960e+17 7.165506542667507374e-04 6.898099527199953729e-02 1.047668807460994778e+00 -1.389123348813385214e-03 7.196856730011528960e+17 8.445343536135377317e-04 6.898099527199953729e-02 1.459969671117914425e+00 -1.637235740744274635e-03 7.196856730011528960e+17 9.953773422764430629e-04 6.898099527199953729e-02 2.044956551763596142e+00 -1.929663678218512032e-03 7.196856730011528960e+17 1.173162549645425908e-03 6.898099527199953729e-02 2.862319544570820717e+00 -2.274322394979648009e-03 7.196856730011528960e+17 1.382702169265296417e-03 6.898099527199953729e-02 3.968979107900128867e+00 -2.680540870770453925e-03 7.196856730011528960e+17 1.629667918997053377e-03 6.898099527199953729e-02 5.531732908396360671e+00 -3.159314341595407215e-03 7.196856730011528960e+17 1.920744570697622243e-03 6.898099527199953729e-02 7.684063441172510167e+00 -3.723601911035797143e-03 7.196856730011528960e+17 2.263810907930636270e-03 6.898099527199953729e-02 1.066063750511484187e+01 -4.388677318151167420e-03 7.196856730011528960e+17 2.668153014458636476e-03 6.898099527199953729e-02 1.483163458294506754e+01 -5.172542356305966961e-03 7.196856730011528960e+17 3.144715674378225322e-03 6.898099527199953729e-02 2.064798852147172425e+01 -6.096414133051489617e-03 7.196856730011528960e+17 3.706398701256742416e-03 6.898099527199953729e-02 2.875048852813273115e+01 -7.185299359870824139e-03 7.196856730011528960e+17 4.368406237789277877e-03 6.898099527199953729e-02 3.992013536360642689e+01 -8.468671216257736209e-03 7.196856730011528960e+17 5.148658514446921228e-03 6.898099527199953729e-02 5.566120943884903483e+01 -9.981267109010422481e-03 7.196856730011528960e+17 6.068277267769345285e-03 6.898099527199953729e-02 7.738474860431449542e+01 -1.176402891992746509e-02 7.196856730011528960e+17 7.152158048063919638e-03 6.898099527199953729e-02 1.077645891878143800e+02 -1.386521119186945317e-02 7.196856730011528960e+17 8.430982968911820627e-03 6.898521257019958608e-02 1.496390960324497144e+02 -1.634168724878715118e-02 7.196856730011528960e+17 9.944498914512130486e-03 6.900555269995946317e-02 2.084483127273905438e+02 -1.926048860285451206e-02 7.196856730011528960e+17 1.172942253286822847e-02 6.902522016222170653e-02 2.901820894571272902e+02 -2.270061931629619237e-02 7.196856730011528960e+17 1.383439459659718644e-02 6.904423342085770632e-02 4.041356778986603331e+02 -2.675519442777928719e-02 7.196856730011528960e+17 1.629603485185351919e-02 6.898099527199953729e-02 5.634839159362164764e+02 -3.153396032479117289e-02 7.196856730011528960e+17 1.921450273992268698e-02 6.898099527199953729e-02 7.845726605728219738e+02 -3.716626528166998983e-02 7.196856730011528960e+17 2.266586001874642056e-02 6.899316872003637136e-02 1.093777947222938110e+03 -4.380456056772231294e-02 7.196856730011528960e+17 2.673509631980964391e-02 6.900650768997830531e-02 1.522425508318212223e+03 -5.162852689096004283e-02 7.196856730011528960e+17 3.151204951251656422e-02 6.900650768997830531e-02 2.116666754690156722e+03 -6.084993786913318187e-02 7.196856730011528960e+17 3.716314851839420258e-02 6.902078309861399419e-02 2.945044555884101101e+03 -7.171839216907228975e-02 7.196856730011528960e+17 4.383622749473722879e-02 6.903952679938600567e-02 4.094792553884516110e+03 -8.452806946785666742e-02 7.196856730011528960e+17 5.170828540208263074e-02 6.905758380213572467e-02 5.696121892533357823e+03 -9.962569310141336509e-02 7.196856730011528960e+17 6.099590651435358307e-02 6.907496369372416456e-02 7.925002500114783288e+03 -1.174199149279194637e-01 7.196856730011528960e+17 7.196944420169512635e-02 6.909685364704577781e-02 1.101865125207910751e+04 -1.383923764288897684e-01 7.196856730011528960e+17 8.496851105575363439e-02 6.913216234293552420e-02 1.533615171753170216e+04 -1.631107454420542835e-01 7.196856730011528960e+17 1.003724356449851446e-01 6.913804222269512301e-02 2.139701816606159991e+04 -1.922440813951419580e-01 7.196856730011528960e+17 1.195608085314821822e-01 6.923212686923949089e-02 3.003076493193713031e+04 -2.265809449359138250e-01 7.196856730011528960e+17 1.418649701770941796e-01 6.950429136266671193e-02 4.156306573602052231e+04 -2.670507421371726142e-01 7.196856730011528960e+17 1.654977085637863998e-01 6.938868385720374510e-02 5.718154715045139892e+04 -3.147488810066778608e-01 7.196856730011528960e+17 1.936997119434249737e-01 6.907137920280299881e-02 7.991107463759680104e+04 -3.709664212206886247e-01 7.196856730011528960e+17 2.323376929955265346e-01 6.937775074882723825e-02 1.120011196607948368e+05 -4.372250196192620786e-01 7.196856730011528960e+17 2.725136845973694655e-01 6.932877730180457554e-02 1.544889958099574433e+05 -5.153181173433998286e-01 7.196856730011528960e+17 3.275524944902548641e-01 6.951275110494407883e-02 2.186978851350694022e+05 -6.073594834385067642e-01 7.196856730011528960e+17 3.850281552609244318e-01 6.912368455025913461e-02 3.078124603021173389e+05 -7.158404288682718164e-01 7.196856730011528960e+17 4.628599855423414233e-01 6.944696524572507856e-02 4.315657852722679963e+05 -8.436972395676662906e-01 7.196856730011528960e+17 5.510315291765836010e-01 6.924265215879947533e-02 6.117713534841496730e+05 -9.943906537655036182e-01 7.196856730011528960e+17 6.622153625747554395e-01 6.928855490798578598e-02 8.666188531445161207e+05 -1.171999534812844468e+00 7.196856730011528960e+17 7.931447796251799298e-01 6.916862968976554560e-02 1.229234281686716480e+06 -1.381331274987467994e+00 7.196856730011528960e+17 9.826621096152610146e-01 6.954951276530935145e-02 1.802094854234751780e+06 -1.628051918606947979e+00 7.196856730011528960e+17 1.201072538869906614e+00 6.925406178156463810e-02 2.666510696736422833e+06 -1.918839526531252559e+00 7.196856730011528960e+17 1.504996469937691428e+00 6.920532758174537113e-02 4.121601850270697847e+06 -2.261564933217340645e+00 7.196856730011528960e+17 1.912370252093097189e+00 6.947445750464115166e-02 6.760156908077052794e+06 -2.665504788930584290e+00 7.196856730011528960e+17 2.450247144280959688e+00 6.929539898167325074e-02 1.304924639072978310e+07 -3.141592653589792672e+00 7.196856730011528960e+17 3.141592653589792228e+00 6.898099527199953729e-02 1.253460015288987637e+09 -1.000000000000000021e-03 1.456348477501238528e+18 5.910998457686778441e-04 4.947773434626388800e-02 2.044074771789011979e+00 -1.178610770701415088e-03 1.456348477501238528e+18 6.966766662060943282e-04 4.947773434626388800e-02 2.921215410949304481e+00 -1.389123348813385214e-03 1.456348477501238528e+18 8.211106575616660373e-04 4.947773434626388800e-02 4.044259570810489812e+00 -1.637235740744274635e-03 1.456348477501238528e+18 9.677699223656175288e-04 4.947773434626388800e-02 5.675722146252936362e+00 -1.929663678218512032e-03 1.456348477501238528e+18 1.140624148080443979e-03 4.947773434626388800e-02 7.903347818241764244e+00 -2.274322394979648009e-03 1.456348477501238528e+18 1.344352060181733992e-03 4.947773434626388800e-02 1.110566980378302304e+01 -2.680540870770453925e-03 1.456348477501238528e+18 1.584468069767816208e-03 4.947773434626388800e-02 1.535990637889390698e+01 -3.159314341595407215e-03 1.456348477501238528e+18 1.867471545481881557e-03 4.947773434626388800e-02 2.147697935772772482e+01 -3.723601911035797143e-03 1.456348477501238528e+18 2.201022753041361000e-03 4.947773434626388800e-02 2.988624249691705614e+01 -4.388677318151167420e-03 1.456348477501238528e+18 2.594150229341246443e-03 4.947773434626388800e-02 4.153531511717527991e+01 -5.172542356305966961e-03 1.456348477501238528e+18 3.057495211980428354e-03 4.947773434626388800e-02 5.779959664510927553e+01 -6.096414133051489617e-03 1.456348477501238528e+18 3.603599753015507886e-03 4.947773434626388800e-02 8.045090254755670856e+01 -7.185299359870824139e-03 1.456348477501238528e+18 4.247246336290984303e-03 4.947773434626388800e-02 1.117332255114961725e+02 -8.468671216257736209e-03 1.456348477501238528e+18 5.005858225067263620e-03 4.947773434626388800e-02 1.557152337204246351e+02 -9.981267109010422481e-03 1.456348477501238528e+18 5.899971432267052396e-03 4.947773434626388800e-02 2.165920776839745656e+02 -1.176402891992746509e-02 1.456348477501238528e+18 6.953791179970422211e-03 4.947773434626388800e-02 3.012512852530398391e+02 -1.386521119186945317e-02 1.456348477501238528e+18 8.195848060104950900e-03 4.947773434626388800e-02 4.191311224427139450e+02 -1.634168724878715118e-02 1.456348477501238528e+18 9.659771902561960222e-03 4.947773434626388800e-02 5.840902947173825623e+02 -1.926048860285451206e-02 1.456348477501238528e+18 1.138520469959404709e-02 4.947773434626388800e-02 8.131474541257662167e+02 -2.270061931629619237e-02 1.456348477501238528e+18 1.341887795562033379e-02 4.947773434626388800e-02 1.130245271288013100e+03 -2.675519442777928719e-02 1.456348477501238528e+18 1.581588470192109297e-02 4.947773434626388800e-02 1.574390865351175989e+03 -3.153396032479117289e-02 1.456348477501238528e+18 1.864118237211153523e-02 4.947773434626388800e-02 2.190574844615912752e+03 -3.716626528166998983e-02 1.456348477501238528e+18 2.197137010851668917e-02 4.947773434626388800e-02 3.045662441818349180e+03 -4.380456056772231294e-02 1.456348477501238528e+18 2.589679334054652629e-02 4.947773434626388800e-02 4.239872952345738668e+03 -5.162852689096004283e-02 1.456348477501238528e+18 3.052781359320485763e-02 4.948006185941360158e-02 5.901032773351848846e+03 -6.084993786913318187e-02 1.456348477501238528e+18 3.601105662133879254e-02 4.949457316642183469e-02 8.206058782712158063e+03 -7.171839216907228975e-02 1.456348477501238528e+18 4.247934772223731226e-02 4.950860104957093694e-02 1.141785785293154731e+04 -8.452806946785666742e-02 1.456348477501238528e+18 5.011033314133072486e-02 4.952215735469298052e-02 1.589028362549451413e+04 -9.962569310141336509e-02 1.456348477501238528e+18 5.896908643964167418e-02 4.947773434626388800e-02 2.211404724710699884e+04 -1.174199149279194637e-01 1.456348477501238528e+18 6.953160118227184883e-02 4.947773434626388800e-02 3.077560915679030222e+04 -1.383923764288897684e-01 1.456348477501238528e+18 8.202945024918588401e-02 4.948558097211467471e-02 4.281098760502801451e+04 -1.631107454420542835e-01 1.456348477501238528e+18 9.679870623721471834e-02 4.949591845674353868e-02 5.957831815348758391e+04 -1.922440813951419580e-01 1.456348477501238528e+18 1.141809083782947265e-01 4.949591845674353868e-02 8.288449528401142743e+04 -2.265809449359138250e-01 1.456348477501238528e+18 1.348448086943889179e-01 4.952133573409932266e-02 1.152973392839045555e+05 -2.670507421371726142e-01 1.456348477501238528e+18 1.599381605862005562e-01 4.962615375138536983e-02 1.602961655826833157e+05 -3.147488810066778608e-01 1.456348477501238528e+18 1.905759904885682421e-01 4.981074785968452739e-02 2.231143544901042478e+05 -3.709664212206886247e-01 1.456348477501238528e+18 2.230845449561695559e-01 4.962743675241628599e-02 3.107970870464664185e+05 -4.372250196192620786e-01 1.456348477501238528e+18 2.673031307007848190e-01 4.988362576790301289e-02 4.334482919910495984e+05 -5.153181173433998286e-01 1.456348477501238528e+18 3.152893412899428482e-01 4.979217737751464451e-02 6.055963941888544941e+05 -6.073594834385067642e-01 1.456348477501238528e+18 3.743040277341245781e-01 4.978679348614290651e-02 8.483451261408776045e+05 -7.158404288682718164e-01 1.456348477501238528e+18 4.432643908602297844e-01 4.966705361236944949e-02 1.192142499425881542e+06 -8.436972395676662906e-01 1.456348477501238528e+18 5.331519484673030718e-01 4.973162163772393285e-02 1.691389055833172984e+06 -9.943906537655036182e-01 1.456348477501238528e+18 6.462953401470151737e-01 4.993031434133261837e-02 2.401396079550821334e+06 -1.171999534812844468e+00 1.456348477501238528e+18 7.789160689236087620e-01 4.985541086918667680e-02 3.440243604550325312e+06 -1.381331274987467994e+00 1.456348477501238528e+18 9.508416825988236232e-01 4.981100662123852385e-02 5.019963007122945040e+06 -1.628051918606947979e+00 1.456348477501238528e+18 1.179072847859363504e+00 4.986337949400437147e-02 7.491405474812230095e+06 -1.918839526531252559e+00 1.456348477501238528e+18 1.482850470083376671e+00 4.991445692034922332e-02 1.160256771103955433e+07 -2.261564933217340645e+00 1.456348477501238528e+18 1.878848622111575217e+00 4.959510320641911940e-02 1.928470788260966539e+07 -2.665504788930584290e+00 1.456348477501238528e+18 2.429284911027566274e+00 4.956234208957677190e-02 3.750949343980741501e+07 -3.141592653589792672e+00 1.456348477501238528e+18 3.141592653589792228e+00 4.947773434626388800e-02 3.636112723693971634e+09 -1.000000000000000021e-03 2.947051702551809536e+18 5.865413965793383729e-04 3.561413203736756017e-02 6.116330230389126932e+00 -1.178610770701415088e-03 2.947051702551809536e+18 6.913040288894767554e-04 3.561413203736756017e-02 8.345326435028688650e+00 -1.389123348813385214e-03 2.947051702551809536e+18 8.147784093460785698e-04 3.561413203736756017e-02 1.193486915124555559e+01 -1.637235740744274635e-03 2.947051702551809536e+18 9.603066664042780778e-04 3.561413203736756017e-02 1.652041891608753232e+01 -1.929663678218512032e-03 2.947051702551809536e+18 1.131827874200754284e-03 3.561413203736756017e-02 2.304607015177209917e+01 -2.274322394979648009e-03 2.947051702551809536e+18 1.333984677013735952e-03 3.561413203736756017e-02 3.223925916672612146e+01 -2.680540870770453925e-03 2.947051702551809536e+18 1.572248960250689775e-03 3.561413203736756017e-02 4.478480085012035516e+01 -3.159314341595407215e-03 2.947051702551809536e+18 1.853069971312572414e-03 3.561413203736756017e-02 6.232291935753193712e+01 -3.723601911035797143e-03 2.947051702551809536e+18 2.184048902472764120e-03 3.561413203736756017e-02 8.675790651949843379e+01 -4.388677318151167420e-03 2.947051702551809536e+18 2.574144666015563444e-03 3.561413203736756017e-02 1.205157615340921922e+02 -5.172542356305966961e-03 2.947051702551809536e+18 3.033916439202067727e-03 3.561413203736756017e-02 1.678386751417183973e+02 -6.096414133051489617e-03 2.947051702551809536e+18 3.575809556855362274e-03 3.561413203736756017e-02 2.333019189361227745e+02 -7.185299359870824139e-03 2.947051702551809536e+18 4.214492510788619972e-03 3.561413203736756017e-02 3.247894382823052979e+02 -8.468671216257736209e-03 2.947051702551809536e+18 4.967254211931175674e-03 3.561413203736756017e-02 4.517102992167786510e+02 -9.981267109010422481e-03 2.947051702551809536e+18 5.854472323945532179e-03 3.561413203736756017e-02 6.292380566441786414e+02 -1.176402891992746509e-02 2.947051702551809536e+18 6.900165436514001799e-03 3.561413203736756017e-02 8.752069982153292358e+02 -1.386521119186945317e-02 2.947051702551809536e+18 8.132644174194110162e-03 3.561413203736756017e-02 1.216595266977317578e+03 -1.634168724878715118e-02 2.947051702551809536e+18 9.585279110287409782e-03 3.561413203736756017e-02 1.696610312395647270e+03 -1.926048860285451206e-02 2.947051702551809536e+18 1.129740667333140568e-02 3.561413203736756017e-02 2.361203412908377686e+03 -2.270061931629619237e-02 2.947051702551809536e+18 1.331539822525991922e-02 3.561413203736756017e-02 3.285760257842048759e+03 -2.675519442777928719e-02 2.947051702551809536e+18 1.569392232661965397e-02 3.561413203736756017e-02 4.571614302007269544e+03 -3.153396032479117289e-02 2.947051702551809536e+18 1.849743612051887864e-02 3.561413203736756017e-02 6.358299551272045392e+03 -3.716626528166998983e-02 2.947051702551809536e+18 2.180194909389294305e-02 3.561413203736756017e-02 8.845374607496572935e+03 -4.380456056772231294e-02 2.947051702551809536e+18 2.569711168978520283e-02 3.561413203736756017e-02 1.231238676366101026e+04 -5.162852689096004283e-02 2.947051702551809536e+18 3.028869305453301547e-02 3.561413203736756017e-02 1.714126339652791648e+04 -6.084993786913318187e-02 2.947051702551809536e+18 3.570152767796604121e-02 3.561413203736756017e-02 2.384311892701663237e+04 -7.171839216907228975e-02 2.947051702551809536e+18 4.208303146958189411e-02 3.561413203736756017e-02 3.313318480085066403e+04 -8.452806946785666742e-02 2.947051702551809536e+18 4.960741648385215419e-02 3.561413203736756017e-02 4.612492653544461791e+04 -9.962569310141336509e-02 2.947051702551809536e+18 5.848077413851528877e-02 3.561413203736756017e-02 6.418088295792854478e+04 -1.174199149279194637e-01 2.947051702551809536e+18 6.894725587270601752e-02 3.561413203736756017e-02 8.922241234238355537e+04 -1.383923764288897684e-01 2.947051702551809536e+18 8.129666825166076416e-02 3.561413203736756017e-02 1.241601248545542185e+05 -1.631107454420542835e-01 2.947051702551809536e+18 9.587393352547952941e-02 3.561413203736756017e-02 1.727191053457082598e+05 -1.922440813951419580e-01 2.947051702551809536e+18 1.130910742422653603e-01 3.561413203736756017e-02 2.402861492753436614e+05 -2.265809449359138250e-01 2.947051702551809536e+18 1.336049050526220694e-01 3.563653476245829538e-02 3.342877308255566168e+05 -2.670507421371726142e-01 2.947051702551809536e+18 1.585307521033828826e-01 3.571542116905063180e-02 4.647504991630791919e+05 -3.147488810066778608e-01 2.947051702551809536e+18 1.890084206369135045e-01 3.585545792100543888e-02 6.469521711243243190e+05 -3.709664212206886247e-01 2.947051702551809536e+18 2.205361505127728106e-01 3.567844950917104657e-02 9.015182535280602751e+05 -4.372250196192620786e-01 2.947051702551809536e+18 2.634482580105035332e-01 3.581379536376847611e-02 1.257521870028438745e+06 -5.153181173433998286e-01 2.947051702551809536e+18 3.119058177937887866e-01 3.580043223300534427e-02 1.757481799014218152e+06 -6.073594834385067642e-01 2.947051702551809536e+18 3.674258403243537696e-01 3.568491150768191011e-02 2.461822820516020991e+06 -7.158404288682718164e-01 2.947051702551809536e+18 4.382449553382581353e-01 3.570010282200841711e-02 3.461341934054750483e+06 -8.436972395676662906e-01 2.947051702551809536e+18 5.237956426185426118e-01 3.568461280221268267e-02 4.891279559105620719e+06 -9.943906537655036182e-01 2.947051702551809536e+18 6.306976832838423475e-01 3.569461504877481650e-02 6.954724984198747203e+06 -1.171999534812844468e+00 2.947051702551809536e+18 7.734069500486379090e-01 3.588690970705014915e-02 9.999519856133148074e+06 -1.381331274987467994e+00 2.947051702551809536e+18 9.436199536933397303e-01 3.583638728663475492e-02 1.459940186987659335e+07 -1.628051918606947979e+00 2.947051702551809536e+18 1.170993502122843699e+00 3.587205801756362944e-02 2.181316552916442975e+07 -1.918839526531252559e+00 2.947051702551809536e+18 1.474296234877655820e+00 3.588472963019526119e-02 3.389526012344788015e+07 -2.261564933217340645e+00 2.947051702551809536e+18 1.879834753866947539e+00 3.586888320276796632e-02 5.628521607828366756e+07 -2.665504788930584290e+00 2.947051702551809536e+18 2.433001298530069967e+00 3.593786119623763875e-02 1.097190699037502706e+08 -3.141592653589792672e+00 2.947051702551809536e+18 3.141592653589792228e+00 3.561413203736756017e-02 1.051004974024338531e+10 -1.000000000000000021e-03 5.963623316594661376e+18 5.848108290271318349e-04 2.562931616892390185e-02 1.757647458900202153e+01 -1.178610770701415088e-03 5.963623316594661376e+18 6.892643633373303621e-04 2.562931616892390185e-02 2.493639396644584494e+01 -1.389123348813385214e-03 5.963623316594661376e+18 8.123744375647474949e-04 2.562931616892390185e-02 3.404908475611104279e+01 -1.637235740744274635e-03 5.963623316594661376e+18 9.574733193818831629e-04 2.562931616892390185e-02 4.854981806837930947e+01 -1.929663678218512032e-03 5.963623316594661376e+18 1.128488460901935298e-03 2.562931616892390185e-02 6.823961064893322259e+01 -2.274322394979648009e-03 5.963623316594661376e+18 1.330048808562904472e-03 2.562931616892390185e-02 9.476271286289109241e+01 -2.680540870770453925e-03 5.963623316594661376e+18 1.567610103353173556e-03 2.562931616892390185e-02 1.319950569713997766e+02 -3.159314341595407215e-03 5.963623316594661376e+18 1.847602564692435445e-03 2.562931616892390185e-02 1.829272387702441449e+02 -3.723601911035797143e-03 5.963623316594661376e+18 2.177604958278380777e-03 2.562931616892390185e-02 2.544402080707000380e+02 -4.388677318151167420e-03 5.963623316594661376e+18 2.566549764204781054e-03 2.562931616892390185e-02 3.539408880543657574e+02 -5.172542356305966961e-03 5.963623316594661376e+18 3.024965006489784957e-03 2.562931616892390185e-02 4.925820884102494119e+02 -6.096414133051489617e-03 5.963623316594661376e+18 3.565259302444008082e-03 2.562931616892390185e-02 6.854976372252835972e+02 -7.185299359870824139e-03 5.963623316594661376e+18 4.202057868282522632e-03 2.562931616892390185e-02 9.529140489282864337e+02 -8.468671216257736209e-03 5.963623316594661376e+18 4.952598609942967557e-03 2.562931616892390185e-02 1.326881506641686883e+03 -9.981267109010422481e-03 5.963623316594661376e+18 5.837199076209912026e-03 2.562931616892390185e-02 1.844915245916870390e+03 -1.176402891992746509e-02 5.963623316594661376e+18 6.879807004976275404e-03 2.562931616892390185e-02 2.570493541715017273e+03 -1.386521119186945317e-02 5.963623316594661376e+18 8.108649514532113856e-03 2.562931616892390185e-02 3.572751038519783833e+03 -1.634168724878715118e-02 5.963623316594661376e+18 9.556998757473037995e-03 2.562931616892390185e-02 4.974734015445530531e+03 -1.926048860285451206e-02 5.963623316594661376e+18 1.126407516374698659e-02 2.562931616892390185e-02 6.929207967892510169e+03 -2.270061931629619237e-02 5.963623316594661376e+18 1.327611337993046467e-02 2.562931616892390185e-02 9.635190912527936234e+03 -2.675519442777928719e-02 5.963623316594661376e+18 1.564762083538043594e-02 2.562931616892390185e-02 1.342650948326283833e+04 -3.153396032479117289e-02 5.963623316594661376e+18 1.844286476718724060e-02 2.562931616892390185e-02 1.865767092902140575e+04 -3.716626528166998983e-02 5.963623316594661376e+18 2.173763084513671145e-02 2.562931616892390185e-02 2.596727718213570915e+04 -4.380456056772231294e-02 5.963623316594661376e+18 2.562130573237896350e-02 2.562931616892390185e-02 3.614786638247478550e+04 -5.162852689096004283e-02 5.963623316594661376e+18 3.019934770361749204e-02 2.562931616892390185e-02 5.029678124396521162e+04 -6.084993786913318187e-02 5.963623316594661376e+18 3.559622488888256053e-02 2.562931616892390185e-02 6.995195844948854938e+04 -7.171839216907228975e-02 5.963623316594661376e+18 4.195892146361290126e-02 2.562931616892390185e-02 9.734375335904507665e+04 -8.452806946785666742e-02 5.963623316594661376e+18 4.946114073937113442e-02 2.562931616892390185e-02 1.354578010245596815e+05 -9.962569310141336509e-02 5.963623316594661376e+18 5.830837469970201470e-02 2.562931616892390185e-02 1.883234597109558817e+05 -1.174199149279194637e-01 5.963623316594661376e+18 6.874406858592235769e-02 2.562931616892390185e-02 2.620288357137940475e+05 -1.383923764288897684e-01 5.963623316594661376e+18 8.105719715718857910e-02 2.562931616892390185e-02 3.644965108874435537e+05 -1.631107454420542835e-01 5.963623316594661376e+18 9.559170322282864452e-02 2.562931616892390185e-02 5.070380808258764446e+05 -1.922440813951419580e-01 5.963623316594661376e+18 1.127584566485463763e-01 2.562931616892390185e-02 7.054015687135814223e+05 -2.265809449359138250e-01 5.963623316594661376e+18 1.331926132203527513e-01 2.564363405037649313e-02 9.813692922726632096e+05 -2.670507421371726142e-01 5.963623316594661376e+18 1.579810149632591976e-01 2.569427332860216295e-02 1.364501581399993040e+06 -3.147488810066778608e-01 5.963623316594661376e+18 1.880289845705473417e-01 2.578120660857903881e-02 1.898701196906837635e+06 -3.709664212206886247e-01 5.963623316594661376e+18 2.199594765514358286e-01 2.567773734880805098e-02 2.644755737344630063e+06 -4.372250196192620786e-01 5.963623316594661376e+18 2.635020924283084098e-01 2.580940016012836513e-02 3.688334242544515058e+06 -5.153181173433998286e-01 5.963623316594661376e+18 3.105281951861795786e-01 2.574852561217170002e-02 5.157182727627324872e+06 -6.073594834385067642e-01 5.963623316594661376e+18 3.681479266258997907e-01 2.572868603129341639e-02 7.223049619232712314e+06 -7.158404288682718164e-01 5.963623316594661376e+18 4.374053284504588190e-01 2.570085015547833585e-02 1.015346246194797754e+07 -8.436972395676662906e-01 5.963623316594661376e+18 5.230919895536950692e-01 2.569649856275026470e-02 1.434917887203796953e+07 -9.943906537655036182e-01 5.963623316594661376e+18 6.294985115867550718e-01 2.569777658041121418e-02 2.040633454618506134e+07 -1.171999534812844468e+00 5.963623316594661376e+18 7.725951204613993317e-01 2.585031848336465446e-02 2.933534397149809450e+07 -1.381331274987467994e+00 5.963623316594661376e+18 9.412668551952163565e-01 2.579221180446322065e-02 4.283769028119889647e+07 -1.628051918606947979e+00 5.963623316594661376e+18 1.168813883006358578e+00 2.582523231529925203e-02 6.400458524944150448e+07 -1.918839526531252559e+00 5.963623316594661376e+18 1.460556709996264857e+00 2.570415440033851570e-02 9.923489978027327359e+07 -2.261564933217340645e+00 5.963623316594661376e+18 1.879453894054495366e+00 2.584887918361793158e-02 1.650990060226502419e+08 -2.665504788930584290e+00 5.963623316594661376e+18 2.422742523742351661e+00 2.566828068913352273e-02 3.215356378423981071e+08 -3.141592653589792672e+00 5.963623316594661376e+18 3.141592653589792228e+00 2.562931616892390185e-02 3.031663746483418274e+10 -1.000000000000000021e-03 1.206792640639336243e+19 5.958260473062494504e-04 1.845350306317413216e-02 5.140105097630240749e+01 -1.178610770701415088e-03 1.206792640639336243e+19 7.022470179181255611e-04 1.845350306317413216e-02 7.382843854120334015e+01 -1.389123348813385214e-03 1.206792640639336243e+19 8.276759335545205189e-04 1.845350306317413216e-02 1.019877890590210257e+02 -1.637235740744274635e-03 1.206792640639336243e+19 9.755078264931826186e-04 1.845350306317413216e-02 1.426510344152609662e+02 -1.929663678218512032e-03 1.206792640639336243e+19 1.149744123803018905e-03 1.845350306317413216e-02 1.987857827185234783e+02 -2.274322394979648009e-03 1.206792640639336243e+19 1.355100959464159739e-03 1.845350306317413216e-02 2.769970562593761656e+02 -2.680540870770453925e-03 1.206792640639336243e+19 1.597136834416029846e-03 1.845350306317413216e-02 3.852574761513386647e+02 -3.159314341595407215e-03 1.206792640639336243e+19 1.882403081694726445e-03 1.845350306317413216e-02 5.365846489536602348e+02 -3.723601911035797143e-03 1.206792640639336243e+19 2.218621212207309498e-03 1.845350306317413216e-02 7.466464149300040845e+02 -4.388677318151167420e-03 1.206792640639336243e+19 2.614891946100511566e-03 1.845350306317413216e-02 1.038388470354377432e+03 -5.172542356305966961e-03 1.206792640639336243e+19 3.081941595313288616e-03 1.845350306317413216e-02 1.446306225201255529e+03 -6.096414133051489617e-03 1.206792640639336243e+19 3.632412478786659852e-03 1.845350306317413216e-02 2.011291788122538264e+03 -7.185299359870824139e-03 1.206792640639336243e+19 4.281205251657710029e-03 1.845350306317413216e-02 2.792275239676202546e+03 -8.468671216257736209e-03 1.206792640639336243e+19 5.045882448044253406e-03 1.845350306317413216e-02 3.890436808207460672e+03 -9.981267109010422481e-03 1.206792640639336243e+19 5.947144215375486237e-03 1.845350306317413216e-02 5.413300109179030187e+03 -1.176402891992746509e-02 1.206792640639336243e+19 7.009389207394790995e-03 1.845350306317413216e-02 7.532418037404213464e+03 -1.386521119186945317e-02 1.206792640639336243e+19 8.261375965507839966e-03 1.845350306317413216e-02 1.047502134405022298e+04 -1.634168724878715118e-02 1.206792640639336243e+19 9.737002932295702254e-03 1.845350306317413216e-02 1.459529058181748405e+04 -1.926048860285451206e-02 1.206792640639336243e+19 1.147622860628830059e-02 1.845350306317413216e-02 2.030892460456990375e+04 -2.270061931629619237e-02 1.206792640639336243e+19 1.352615739285517246e-02 1.845350306317413216e-02 2.829374744734369597e+04 -2.675519442777928719e-02 1.206792640639336243e+19 1.594232160445766683e-02 1.845350306317413216e-02 3.935233243475381460e+04 -3.153396032479117289e-02 1.206792640639336243e+19 1.879019604968971274e-02 1.845350306317413216e-02 5.472733174409676576e+04 -3.716626528166998983e-02 1.206792640639336243e+19 2.214698905451113406e-02 1.845350306317413216e-02 7.620710579397487163e+04 -4.380456056772231294e-02 1.206792640639336243e+19 2.610376305633105298e-02 1.845350306317413216e-02 1.059962582977839193e+05 -5.162852689096004283e-02 1.206792640639336243e+19 3.076794980432793689e-02 1.845350306317413216e-02 1.474999584500351921e+05 -6.084993786913318187e-02 1.206792640639336243e+19 3.626634074749202769e-02 1.845350306317413216e-02 2.052143040046111855e+05 -7.171839216907228975e-02 1.206792640639336243e+19 4.274865402532723041e-02 1.845350306317413216e-02 2.854529922834440949e+05 -8.452806946785666742e-02 1.206792640639336243e+19 5.039180814039472683e-02 1.845350306317413216e-02 3.969707705306170974e+05 -9.962569310141336509e-02 1.206792640639336243e+19 5.940507291132351986e-02 1.845350306317413216e-02 5.524450555811453378e+05 -1.174199149279194637e-01 1.206792640639336243e+19 7.003632710465414191e-02 1.845350306317413216e-02 7.683412006195751019e+05 -1.383923764288897684e-01 1.206792640639336243e+19 8.257973956118004610e-02 1.845350306317413216e-02 1.069000420519863022e+06 -1.631107454420542835e-01 1.206792640639336243e+19 9.738532340102006024e-02 1.845350306317413216e-02 1.486629418864570791e+06 -1.922440813951419580e-01 1.206792640639336243e+19 1.148710182375543981e-01 1.845350306317413216e-02 2.069326401147764642e+06 -2.265809449359138250e-01 1.206792640639336243e+19 1.356858999101751284e-01 1.846614177173721422e-02 2.876836206635168754e+06 -2.670507421371726142e-01 1.206792640639336243e+19 1.608178745512983121e-01 1.850272809516247466e-02 4.001071195823345333e+06 -3.147488810066778608e-01 1.206792640639336243e+19 1.913119627880376650e-01 1.856308253699170616e-02 5.566185899110469967e+06 -3.709664212206886247e-01 1.206792640639336243e+19 2.242369460216130650e-01 1.850105687656503420e-02 7.757386663833843544e+06 -4.372250196192620786e-01 1.206792640639336243e+19 2.676863099360354825e-01 1.857329827125159261e-02 1.081594751387747377e+07 -5.153181173433998286e-01 1.206792640639336243e+19 3.166156493841544295e-01 1.855994039858151895e-02 1.511869614620774984e+07 -6.073594834385067642e-01 1.206792640639336243e+19 3.744729809003747301e-01 1.852858778986268828e-02 2.117265063132109493e+07 -7.158404288682718164e-01 1.206792640639336243e+19 4.505777295036262897e-01 1.861464821005214682e-02 2.977233838671162352e+07 -8.436972395676662906e-01 1.206792640639336243e+19 5.316125099883041161e-01 1.850115060206206433e-02 4.205817334337727726e+07 -9.943906537655036182e-01 1.206792640639336243e+19 6.389806531762555197e-01 1.849693738475106930e-02 5.981162105579133332e+07 -1.171999534812844468e+00 1.206792640639336243e+19 7.837870693191413274e-01 1.861605130680916986e-02 8.596574557456567883e+07 -1.381331274987467994e+00 1.206792640639336243e+19 9.505913658531730537e-01 1.853876742196785415e-02 1.254573630948073268e+08 -1.628051918606947979e+00 1.206792640639336243e+19 1.178404374463693394e+00 1.855778259183169313e-02 1.873401753633975685e+08 -1.918839526531252559e+00 1.206792640639336243e+19 1.474867643311637000e+00 1.851111035459565915e-02 2.902382943531225920e+08 -2.261564933217340645e+00 1.206792640639336243e+19 1.891183025531990580e+00 1.860952734768018396e-02 4.824351848517884016e+08 -2.665504788930584290e+00 1.206792640639336243e+19 2.432197082186309700e+00 1.850734025921307521e-02 9.381073060515662432e+08 -3.141592653589792672e+00 1.206792640639336243e+19 3.141592653589792228e+00 1.845350306317413216e-02 8.732266834352572632e+10 -1.000000000000000021e-03 2.442053094548654899e+19 5.897794246039925019e-04 1.299438459160889500e-02 1.507220120884596781e+02 -1.178610770701415088e-03 2.442053094548654899e+19 6.951204034625721884e-04 1.299438459160889500e-02 2.128149732917360950e+02 -1.389123348813385214e-03 2.442053094548654899e+19 8.192764293058664308e-04 1.299438459160889500e-02 2.991318432626742378e+02 -1.637235740744274635e-03 2.442053094548654899e+19 9.656080808202704676e-04 1.299438459160889500e-02 4.163848095164980805e+02 -1.929663678218512032e-03 2.442053094548654899e+19 1.138076177749457749e-03 1.299438459160889500e-02 5.836169361387968593e+02 -2.274322394979648009e-03 2.442053094548654899e+19 1.341348993922096989e-03 1.299438459160889500e-02 8.098599645437700474e+02 -2.680540870770453925e-03 2.442053094548654899e+19 1.580928621917839600e-03 1.299438459160889500e-02 1.126930676613748574e+03 -3.159314341595407215e-03 2.442053094548654899e+19 1.863299911485599356e-03 1.299438459160889500e-02 1.564514112622186076e+03 -3.723601911035797143e-03 2.442053094548654899e+19 2.196106015962957705e-03 1.299438459160889500e-02 2.181783210322862033e+03 -4.388677318151167420e-03 2.442053094548654899e+19 2.588355302992766810e-03 1.299438459160889500e-02 3.026339489853116902e+03 -5.172542356305966961e-03 2.442053094548654899e+19 3.050665237793577511e-03 1.299438459160889500e-02 4.207818238553534684e+03 -6.096414133051489617e-03 2.442053094548654899e+19 3.595549852920902709e-03 1.299438459160889500e-02 5.855816838012304288e+03 -7.185299359870824139e-03 2.442053094548654899e+19 4.237758606303758391e-03 1.299438459160889500e-02 8.139564077142495080e+03 -8.468671216257736209e-03 2.442053094548654899e+19 4.994675833507497033e-03 1.299438459160889500e-02 1.134150429989794429e+04 -9.981267109010422481e-03 2.442053094548654899e+19 5.886791661949754284e-03 1.299438459160889500e-02 1.579381165294447055e+04 -1.176402891992746509e-02 2.442053094548654899e+19 6.938257224531375889e-03 1.299438459160889500e-02 2.195049078898322841e+04 -1.386521119186945317e-02 2.442053094548654899e+19 8.177539349945974270e-03 1.299438459160889500e-02 3.053158437119497830e+04 -1.634168724878715118e-02 2.442053094548654899e+19 9.638192694532048480e-03 1.299438459160889500e-02 4.255766587443392200e+04 -1.926048860285451206e-02 2.442053094548654899e+19 1.135977061495529496e-02 1.299438459160889500e-02 5.915733384214193211e+04 -2.270061931629619237e-02 2.442053094548654899e+19 1.338890009111203504e-02 1.299438459160889500e-02 8.230159945834097744e+04 -2.675519442777928719e-02 2.442053094548654899e+19 1.578055086616248284e-02 1.299438459160889500e-02 1.146305110482940509e+05 -3.153396032479117289e-02 2.442053094548654899e+19 1.859953491052252286e-02 1.299438459160889500e-02 1.594905288382316648e+05 -3.716626528166998983e-02 2.442053094548654899e+19 2.192227966919529231e-02 1.299438459160889500e-02 2.219167676171153144e+05 -4.380456056772231294e-02 2.442053094548654899e+19 2.583892779358435907e-02 1.299438459160889500e-02 3.087815551513073151e+05 -5.162852689096004283e-02 2.442053094548654899e+19 3.045582789462817144e-02 1.299438459160889500e-02 4.294500592079605558e+05 -6.084993786913318187e-02 2.442053094548654899e+19 3.589849634873346768e-02 1.299438459160889500e-02 5.979989677020892268e+05 -7.171839216907228975e-02 2.442053094548654899e+19 4.231515098107041517e-02 1.299438459160889500e-02 8.312229935194000136e+05 -8.452806946785666742e-02 2.442053094548654899e+19 4.988094610474048257e-02 1.299438459160889500e-02 1.157814840764570283e+06 -9.962569310141336509e-02 2.442053094548654899e+19 5.880307896318706651e-02 1.299438459160889500e-02 1.609481026398176095e+06 -1.174199149279194637e-01 2.442053094548654899e+19 6.932699658323762670e-02 1.299438459160889500e-02 2.238768413282191847e+06 -1.383923764288897684e-01 2.442053094548654899e+19 8.174401982197888883e-02 1.299438459160889500e-02 3.113500214478770737e+06 -1.631107454420542835e-01 2.442053094548654899e+19 9.640083486588786610e-02 1.299438459160889500e-02 4.332408258585168980e+06 -1.922440813951419580e-01 2.442053094548654899e+19 1.137115090982022680e-01 1.299445878775781771e-02 6.023233564930730499e+06 -2.265809449359138250e-01 2.442053094548654899e+19 1.344146142820188961e-01 1.300877774370105128e-02 8.377818273175325245e+06 -2.670507421371726142e-01 2.442053094548654899e+19 1.594740170720383432e-01 1.304086646498470690e-02 1.164929813297185488e+07 -3.147488810066778608e-01 2.442053094548654899e+19 1.899326674788203995e-01 1.308850761052976139e-02 1.622648632693718933e+07 -3.709664212206886247e-01 2.442053094548654899e+19 2.224867294255886141e-01 1.304230319618914294e-02 2.259761897408460081e+07 -4.372250196192620786e-01 2.442053094548654899e+19 2.661816659730592560e-01 1.310417619233123117e-02 3.151033520655309781e+07 -5.153181173433998286e-01 2.442053094548654899e+19 3.147720078373633101e-01 1.309309787920642267e-02 4.403280201052051038e+07 -6.073594834385067642e-01 2.442053094548654899e+19 3.723329421006066342e-01 1.307162612690480202e-02 6.166620596991263330e+07 -7.158404288682718164e-01 2.442053094548654899e+19 4.421574518965112888e-01 1.305468406074527209e-02 8.667836703153681755e+07 -8.436972395676662906e-01 2.442053094548654899e+19 5.302907475079031707e-01 1.307012439884139461e-02 1.224733325321637541e+08 -9.943906537655036182e-01 2.442053094548654899e+19 6.370661650634683593e-01 1.306359588014227233e-02 1.741067806208697855e+08 -1.171999534812844468e+00 2.442053094548654899e+19 7.692550498246202295e-01 1.304033711909101390e-02 2.501741866739478111e+08 -1.381331274987467994e+00 2.442053094548654899e+19 9.477242751088303940e-01 1.308868155551388100e-02 3.649573577776350975e+08 -1.628051918606947979e+00 2.442053094548654899e+19 1.175582539215677125e+00 1.310399445055483031e-02 5.446651340870378017e+08 -1.918839526531252559e+00 2.442053094548654899e+19 1.470529902092121866e+00 1.306167157174150349e-02 8.429869784364429712e+08 -2.261564933217340645e+00 2.442053094548654899e+19 1.877287255177345182e+00 1.305158985748976035e-02 1.399599553872611046e+09 -2.665504788930584290e+00 2.442053094548654899e+19 2.428507144155055197e+00 1.304430454433832230e-02 2.713926381138812065e+09 -3.141592653589792672e+00 2.442053094548654899e+19 3.141592653589792228e+00 1.299438459160889500e-02 2.514966318469049377e+11 -1.000000000000000021e-03 4.941713361323818189e+19 5.951799229356008166e-04 9.173172958610588748e-03 4.415602561182845420e+02 -1.178610770701415088e-03 4.941713361323818189e+19 7.014854888202832518e-04 9.173172958610588748e-03 6.250011360837844450e+02 -1.389123348813385214e-03 4.941713361323818189e+19 8.267783872306458956e-04 9.173172958610588748e-03 8.657976304509563761e+02 -1.637235740744274635e-03 4.941713361323818189e+19 9.744499688482437727e-04 9.173172958610588748e-03 1.211285580813612114e+03 -1.929663678218512032e-03 4.941713361323818189e+19 1.148497321584650678e-03 9.173172958610588748e-03 1.667769447197694717e+03 -2.274322394979648009e-03 4.941713361323818189e+19 1.353631465261232857e-03 9.173172958610588748e-03 2.335512027903781018e+03 -2.680540870770453925e-03 4.941713361323818189e+19 1.595404873245827347e-03 9.173172958610588748e-03 3.251204284698896572e+03 -3.159314341595407215e-03 4.941713361323818189e+19 1.880361774464409585e-03 9.173172958610588748e-03 4.533340922842046893e+03 -3.723601911035797143e-03 4.941713361323818189e+19 2.216215306926244515e-03 9.173172958610588748e-03 6.292052898203720360e+03 -4.388677318151167420e-03 4.941713361323818189e+19 2.612056322526445408e-03 9.173172958610588748e-03 8.742185945310073294e+03 -5.172542356305966961e-03 4.941713361323818189e+19 3.078599502598508390e-03 9.173172958610588748e-03 1.216264768391978578e+04 -6.096414133051489617e-03 4.941713361323818189e+19 3.628473458490798827e-03 9.173172958610588748e-03 1.693954391542339727e+04 -7.185299359870824139e-03 4.941713361323818189e+19 4.276562690020082116e-03 9.173172958610588748e-03 2.359507391535526767e+04 -8.468671216257736209e-03 4.941713361323818189e+19 5.040410691445370087e-03 9.173172958610588748e-03 3.278115828709419293e+04 -9.981267109010422481e-03 4.941713361323818189e+19 5.940695171211094958e-03 9.173172958610588748e-03 4.562104977108515595e+04 -1.176402891992746509e-02 4.941713361323818189e+19 7.001788338847104998e-03 9.173172958610588748e-03 6.349815663125080027e+04 -1.386521119186945317e-02 4.941713361323818189e+19 8.252417572607162813e-03 9.173172958610588748e-03 8.845477824144011538e+04 -1.634168724878715118e-02 4.941713361323818189e+19 9.726444592856859847e-03 9.173172958610588748e-03 1.230144032257864164e+05 -1.926048860285451206e-02 4.941713361323818189e+19 1.146378462840753377e-02 9.173172958610588748e-03 1.713465515473695996e+05 -2.270061931629619237e-02 4.941713361323818189e+19 1.351149110526646095e-02 9.173172958610588748e-03 2.387292498422731587e+05 -2.675519442777928719e-02 4.941713361323818189e+19 1.592503628183918052e-02 9.173172958610588748e-03 3.317195870999184554e+05 -3.153396032479117289e-02 4.941713361323818189e+19 1.876982423673836248e-02 9.173172958610588748e-03 4.617658811113034026e+05 -3.716626528166998983e-02 4.941713361323818189e+19 2.212298001527772742e-02 9.173172958610588748e-03 6.429588798625863856e+05 -4.380456056772231294e-02 4.941713361323818189e+19 2.607546803441626940e-02 9.173172958610588748e-03 8.939028152131048264e+05 -5.162852689096004283e-02 4.941713361323818189e+19 3.073460473640362428e-02 9.173172958610588748e-03 1.243308358519309666e+06 -6.084993786913318187e-02 4.941713361323818189e+19 3.622704603006687146e-02 9.173172958610588748e-03 1.731781211795030627e+06 -7.171839216907228975e-02 4.941713361323818189e+19 4.270235089808552265e-02 9.173172958610588748e-03 2.407379617486537434e+06 -8.452806946785666742e-02 4.941713361323818189e+19 5.033725122849199568e-02 9.173172958610588748e-03 3.348179648299051914e+06 -9.962569310141336509e-02 4.941713361323818189e+19 5.934079848055742040e-02 9.173172958610588748e-03 4.659075889768764377e+06 -1.174199149279194637e-01 4.941713361323818189e+19 6.996061665626564230e-02 9.173172958610588748e-03 6.476768652121701278e+06 -1.383923764288897684e-01 4.941713361323818189e+19 8.249057857540063876e-02 9.173172958610588748e-03 9.017834416314467788e+06 -1.631107454420542835e-01 4.941713361323818189e+19 9.728035541094227912e-02 9.173172958610588748e-03 1.253691757438160293e+07 -1.922440813951419580e-01 4.941713361323818189e+19 1.147497687385261589e-01 9.173250111660652059e-03 1.743488527412649244e+07 -2.265809449359138250e-01 4.941713361323818189e+19 1.357158590655727637e-01 9.182476859505109626e-03 2.426890968204947934e+07 -2.670507421371726142e-01 4.941713361323818189e+19 1.611785318829545288e-01 9.206505102206712088e-03 3.372832550738780946e+07 -3.147488810066778608e-01 4.941713361323818189e+19 1.920081129868248526e-01 9.249711036947856971e-03 4.694473733248427510e+07 -3.709664212206886247e-01 4.941713361323818189e+19 2.242400816021952181e-01 9.192704248277235035e-03 6.540882177138137072e+07 -4.372250196192620786e-01 4.941713361323818189e+19 2.648108957966495147e-01 9.189530812830876833e-03 9.122656725248029828e+07 -5.153181173433998286e-01 4.941713361323818189e+19 3.167136324148219773e-01 9.232022168020513619e-03 1.274300321415242106e+08 -6.073594834385067642e-01 4.941713361323818189e+19 3.757604074902292646e-01 9.227160059203586354e-03 1.784906970720427334e+08 -7.158404288682718164e-01 4.941713361323818189e+19 4.476081386735143441e-01 9.228198321008601601e-03 2.508687105067280233e+08 -8.436972395676662906e-01 4.941713361323818189e+19 5.331990157611458114e-01 9.205343523864100916e-03 3.543912269904273152e+08 -9.943906537655036182e-01 4.941713361323818189e+19 6.405076536088499806e-01 9.202349026899135989e-03 5.036725347752199769e+08 -1.171999534812844468e+00 4.941713361323818189e+19 7.753837276806662127e-01 9.201598287318200550e-03 7.236579059567552805e+08 -1.381331274987467994e+00 4.941713361323818189e+19 9.474550939417578643e-01 9.200383779810996504e-03 1.055580515052214861e+09 -1.628051918606947979e+00 4.941713361323818189e+19 1.175680687199391450e+00 9.208143842721032077e-03 1.574604124677116394e+09 -1.918839526531252559e+00 4.941713361323818189e+19 1.478411335184413700e+00 9.216952010251792948e-03 2.435724087384643555e+09 -2.261564933217340645e+00 4.941713361323818189e+19 1.883955920268666651e+00 9.205934148653624818e-03 4.041463429084405422e+09 -2.665504788930584290e+00 4.941713361323818189e+19 2.432341373812368257e+00 9.193772752131734727e-03 7.836319145951244354e+09 -3.141592653589792672e+00 4.941713361323818189e+19 3.141592653589792228e+00 9.173172958610588748e-03 7.242312762256660156e+11 -1.000000000000000021e-03 1.000000000000000000e+20 5.992506165216246157e-04 6.465452278349664503e-03 1.275857003811685217e+03 -1.178610770701415088e-03 1.000000000000000000e+20 7.062832520137543070e-04 6.465452278349664503e-03 1.793661429340512996e+03 -1.389123348813385214e-03 1.000000000000000000e+20 8.324330824236235264e-04 6.465452278349664503e-03 2.480913836582528802e+03 -1.637235740744274635e-03 1.000000000000000000e+20 9.811146532095478111e-04 6.465452278349664503e-03 3.479238658035532353e+03 -1.929663678218512032e-03 1.000000000000000000e+20 1.156352389868008784e-03 6.465452278349664503e-03 4.821291099900554400e+03 -2.274322394979648009e-03 1.000000000000000000e+20 1.362889532545304020e-03 6.465452278349664503e-03 6.725804073941980278e+03 -2.680540870770453925e-03 1.000000000000000000e+20 1.606316529754091716e-03 6.465452278349664503e-03 9.399312961835516035e+03 -3.159314341595407215e-03 1.000000000000000000e+20 1.893222368208743404e-03 6.465452278349664503e-03 1.308201199025113965e+04 -3.723601911035797143e-03 1.000000000000000000e+20 2.231372937723116734e-03 6.465452278349664503e-03 1.813866899072968590e+04 -4.388677318151167420e-03 1.000000000000000000e+20 2.629921263698806189e-03 6.465452278349664503e-03 2.524508303590854848e+04 -5.172542356305966961e-03 1.000000000000000000e+20 3.099655305279353651e-03 6.465452278349664503e-03 3.510711348740623362e+04 -6.096414133051489617e-03 1.000000000000000000e+20 3.653290038921459815e-03 6.465452278349664503e-03 4.883963469409800018e+04 -7.185299359870824139e-03 1.000000000000000000e+20 4.305811753802714359e-03 6.465452278349664503e-03 6.801535718570469180e+04 -8.468671216257736209e-03 1.000000000000000000e+20 5.074883911785997917e-03 6.465452278349664503e-03 9.467503783379892411e+04 -9.981267109010422481e-03 1.000000000000000000e+20 5.981325612441822093e-03 6.465452278349664503e-03 1.317841804569776577e+05 -1.176402891992746509e-02 1.000000000000000000e+20 7.049675703881625767e-03 6.465452278349664503e-03 1.830538798731767747e+05 -1.386521119186945317e-02 1.000000000000000000e+20 8.308857955706676346e-03 6.465452278349664503e-03 2.548001270296421426e+05 -1.634168724878715118e-02 1.000000000000000000e+20 9.792965539754769355e-03 6.465452278349664503e-03 3.548190938349489588e+05 -1.926048860285451206e-02 1.000000000000000000e+20 1.154218644740466655e-02 6.465452278349664503e-03 4.937872334301301744e+05 -2.270061931629619237e-02 1.000000000000000000e+20 1.360389553868454789e-02 6.465452278349664503e-03 6.877621016367422417e+05 -2.675519442777928719e-02 1.000000000000000000e+20 1.603394384083708241e-02 6.465452278349664503e-03 9.564677771359275794e+05 -3.153396032479117289e-02 1.000000000000000000e+20 1.889818172780409131e-02 6.465452278349664503e-03 1.330589837582594948e+06 -3.716626528166998983e-02 1.000000000000000000e+20 2.227426004752303124e-02 6.465452278349664503e-03 1.854380811470693676e+06 -4.380456056772231294e-02 1.000000000000000000e+20 2.625376259642820884e-02 6.465452278349664503e-03 2.580195699189839419e+06 -5.162852689096004283e-02 1.000000000000000000e+20 3.094473527179749869e-02 6.465452278349664503e-03 3.587677393513715826e+06 -6.084993786913318187e-02 1.000000000000000000e+20 3.647469282114092215e-02 6.465452278349664503e-03 4.994010252608041279e+06 -7.171839216907228975e-02 1.000000000000000000e+20 4.299420498072466928e-02 6.465452278349664503e-03 6.940589827740605921e+06 -8.452806946785666742e-02 1.000000000000000000e+20 5.068119249242947905e-02 6.465452278349664503e-03 9.657561696847481653e+06 -9.962569310141336509e-02 1.000000000000000000e+20 5.974610402351028526e-02 6.465452278349664503e-03 1.343755885828080215e+07 -1.174199149279194637e-01 1.000000000000000000e+20 7.043820379401681542e-02 6.465452278349664503e-03 1.869037583321551606e+07 -1.383923764288897684e-01 1.000000000000000000e+20 8.305328704576349363e-02 6.465452278349664503e-03 2.599609396459338441e+07 -1.631107454420542835e-01 1.000000000000000000e+20 9.794327303962700737e-02 6.465452278349664503e-03 3.617451510796946287e+07 -1.922440813951419580e-01 1.000000000000000000e+20 1.155283301643652144e-01 6.465535674652842825e-03 5.029984525042033195e+07 -2.265809449359138250e-01 1.000000000000000000e+20 1.365750091551469758e-01 6.472709321580941665e-03 6.995829799459333718e+07 -2.670507421371726142e-01 1.000000000000000000e+20 1.620762397824055123e-01 6.489435830916530888e-03 9.728008177650098503e+07 -3.147488810066778608e-01 1.000000000000000000e+20 1.930343268146587909e-01 6.515590086537033539e-03 1.354205650888248086e+08 -3.709664212206886247e-01 1.000000000000000000e+20 2.258645933549819629e-01 6.487370533761852541e-03 1.885998142480415702e+08 -4.372250196192620786e-01 1.000000000000000000e+20 2.702914763736570802e-01 6.521787085116034256e-03 2.630371358829862475e+08 -5.153181173433998286e-01 1.000000000000000000e+20 3.192213966148587101e-01 6.512463913314839141e-03 3.674572197518440485e+08 -6.073594834385067642e-01 1.000000000000000000e+20 3.788044944027825212e-01 6.510865658415939186e-03 5.146752071755862832e+08 -7.158404288682718164e-01 1.000000000000000000e+20 4.483074694348193057e-01 6.492340824591379643e-03 7.234459352988386154e+08 -8.436972395676662906e-01 1.000000000000000000e+20 5.378467717667964054e-01 6.502789086101508007e-03 1.021916425176367044e+09 -9.943906537655036182e-01 1.000000000000000000e+20 6.460214727187342243e-01 6.500472058846564968e-03 1.452464122681991339e+09 -1.171999534812844468e+00 1.000000000000000000e+20 7.795792101853684652e-01 6.489333559115144714e-03 2.086531910278249264e+09 -1.381331274987467994e+00 1.000000000000000000e+20 9.607054735295599279e-01 6.514826235592610995e-03 3.050847384948250294e+09 -1.628051918606947979e+00 1.000000000000000000e+20 1.189381760814988809e+00 6.521977413129965116e-03 4.549914944629493713e+09 -1.918839526531252559e+00 1.000000000000000000e+20 1.482878442177612666e+00 6.498435480858754179e-03 7.020478349618900299e+09 -2.261564933217340645e+00 1.000000000000000000e+20 1.886180216016633882e+00 6.484689532031709565e-03 1.164719160155874634e+10 -2.665504788930584290e+00 1.000000000000000000e+20 2.435410120951213564e+00 6.487794289583349340e-03 2.255905642918011475e+10 -3.141592653589792672e+00 1.000000000000000000e+20 3.141592653589792228e+00 6.465452278349664503e-03 2.086358095200720703e+12 diff --git a/Documentation/RKcompare/ROS34PW2.dat b/Documentation/RKcompare/ROS34PW2.dat deleted file mode 100644 index e6367b8..0000000 --- a/Documentation/RKcompare/ROS34PW2.dat +++ /dev/null @@ -1,2500 +0,0 @@ -1.000000000000000021e-03 1.000000000000000000e+05 9.437716589607780208e-04 1.346947258965842487e+01 8.595451666552044357e-16 -1.178610770701415088e-03 1.000000000000000000e+05 1.112034767117121587e-03 1.346606233096978222e+01 1.199548354979117706e-15 -1.389123348813385214e-03 1.000000000000000000e+05 1.311056730164023324e-03 1.347307823006787864e+01 1.674230433221389546e-15 -1.637235740744274635e-03 1.000000000000000000e+05 1.546497643912856605e-03 1.348962559268903227e+01 2.322818453421916918e-15 -1.929663678218512032e-03 1.000000000000000000e+05 1.825055982407572950e-03 1.351509697558281253e+01 3.226509569349344490e-15 -2.274322394979648009e-03 1.000000000000000000e+05 2.147370079285235503e-03 1.348208110617437683e+01 4.496190730448402802e-15 -2.680540870770453925e-03 1.000000000000000000e+05 2.536519605346272341e-03 1.352525858316358764e+01 6.259494623284785483e-15 -3.159314341595407215e-03 1.000000000000000000e+05 2.988094361293907285e-03 1.351502418036575470e+01 8.683685413616335349e-15 -3.723601911035797143e-03 1.000000000000000000e+05 3.522048360206619586e-03 1.351582449828368304e+01 1.208486308384804214e-14 -4.388677318151167420e-03 1.000000000000000000e+05 4.153624611303298637e-03 1.352709051423771847e+01 1.679340985514171659e-14 -5.172542356305966961e-03 1.000000000000000000e+05 4.888315912747432171e-03 1.349696227535748605e+01 2.336387897070610142e-14 -6.096414133051489617e-03 1.000000000000000000e+05 5.770572034159993265e-03 1.352749655409880347e+01 3.250295310125941523e-14 -7.185299359870824139e-03 1.000000000000000000e+05 6.799184614968848198e-03 1.352021674526029571e+01 4.519120004842399275e-14 -8.468671216257736209e-03 1.000000000000000000e+05 8.015396856553197447e-03 1.352355893192024716e+01 6.271645338829447592e-14 -9.981267109010422481e-03 1.000000000000000000e+05 9.453794341805446533e-03 1.353685546110862781e+01 8.731641119454546523e-14 -1.176402891992746509e-02 1.000000000000000000e+05 1.113412284619649285e-02 1.352056889599318268e+01 1.215727057854688462e-13 -1.386521119186945317e-02 1.000000000000000000e+05 1.312057245333329326e-02 1.351585698678179526e+01 1.689970509996875797e-13 -1.634168724878715118e-02 1.000000000000000000e+05 1.546973708516747106e-02 1.352196319147451931e+01 2.345214110952575408e-13 -1.926048860285451206e-02 1.000000000000000000e+05 1.824770758939058338e-02 1.353733465960812410e+01 3.260790044514975467e-13 -2.270061931629619237e-02 1.000000000000000000e+05 2.150092056357366666e-02 1.353027530238799869e+01 4.538162437754846062e-13 -2.675519442777928719e-02 1.000000000000000000e+05 2.534755520240707452e-02 1.353409792272054091e+01 6.306211928343500130e-13 -3.153396032479117289e-02 1.000000000000000000e+05 2.985578101683479882e-02 1.351973071341500798e+01 8.767437335231583517e-13 -3.716626528166998983e-02 1.000000000000000000e+05 3.518545577976229383e-02 1.351678474933026841e+01 1.219236655545527321e-12 -4.380456056772231294e-02 1.000000000000000000e+05 4.148742771347949110e-02 1.352406826398165229e+01 1.692722882958881766e-12 -5.162852689096004283e-02 1.000000000000000000e+05 4.893923715140829911e-02 1.354033515377759223e+01 2.353829989174393971e-12 -6.084993786913318187e-02 1.000000000000000000e+05 5.762760740663178116e-02 1.352023027227307672e+01 3.273891320757157039e-12 -7.171839216907228975e-02 1.000000000000000000e+05 6.796704725212164566e-02 1.353293816478823075e+01 4.551580229388502542e-12 -8.452806946785666742e-02 1.000000000000000000e+05 8.011550398287724251e-02 1.353380748288169855e+01 6.329636417051089192e-12 -9.962569310141336509e-02 1.000000000000000000e+05 9.439236471287969221e-02 1.352517513773507218e+01 8.803236804351358298e-12 -1.174199149279194637e-01 1.000000000000000000e+05 1.112688541469122050e-01 1.352665234768107894e+01 1.224281796900858236e-11 -1.383923764288897684e-01 1.000000000000000000e+05 1.312209222400410047e-01 1.353710680030426694e+01 1.702807731623151306e-11 -1.631107454420542835e-01 1.000000000000000000e+05 1.546909881926939456e-01 1.353925818848977691e+01 2.368528559551111400e-11 -1.922440813951419580e-01 1.000000000000000000e+05 1.823003044880679158e-01 1.353420950609100082e+01 3.294305571323103292e-11 -2.265809449359138250e-01 1.000000000000000000e+05 2.149348078915861160e-01 1.353795035480950304e+01 4.583394623341915175e-11 -2.670507421371726142e-01 1.000000000000000000e+05 2.533437729006344230e-01 1.353512460419476149e+01 6.377338976732127532e-11 -3.147488810066778608e-01 1.000000000000000000e+05 2.987417282098553395e-01 1.353977565887837997e+01 8.877104219685311558e-11 -3.709664212206886247e-01 1.000000000000000000e+05 3.521928928739856413e-01 1.353760308242103783e+01 1.236384279529666359e-10 -4.372250196192620786e-01 1.000000000000000000e+05 4.151315925870381895e-01 1.352880600945485945e+01 1.723407690488168853e-10 -5.153181173433998286e-01 1.000000000000000000e+05 4.897833863521856013e-01 1.353667251524468718e+01 2.405241100499494769e-10 -6.073594834385067642e-01 1.000000000000000000e+05 5.777352814531859782e-01 1.353479938896743207e+01 3.362508912428639819e-10 -7.158404288682718164e-01 1.000000000000000000e+05 6.817014393693240359e-01 1.353285009426128660e+01 4.711849834682707794e-10 -8.436972395676662906e-01 1.000000000000000000e+05 8.049725544478710804e-01 1.353787907555175174e+01 6.625255625907613776e-10 -9.943906537655036182e-01 1.000000000000000000e+05 9.507189440242157508e-01 1.353379664823552986e+01 9.361782799707221047e-10 -1.171999534812844468e+00 1.000000000000000000e+05 1.123904535580067199e+00 1.353370016137536069e+01 1.332331871996551933e-09 -1.381331274987467994e+00 1.000000000000000000e+05 1.330015944549290507e+00 1.353532812560921172e+01 1.916550007996095210e-09 -1.628051918606947979e+00 1.000000000000000000e+05 1.575883345436213556e+00 1.353904080584125857e+01 2.803358244097070389e-09 -1.918839526531252559e+00 1.000000000000000000e+05 1.869207716982537848e+00 1.353216432443273298e+01 4.214011509438781027e-09 -2.261564933217340645e+00 1.000000000000000000e+05 2.220929622849070029e+00 1.353917741029568234e+01 6.659509249088322537e-09 -2.665504788930584290e+00 1.000000000000000000e+05 2.641124496026777013e+00 1.353534740863381636e+01 1.180422770520084100e-08 -3.141592653589792672e+00 1.000000000000000000e+05 3.141592653589792672e+00 1.340632022891379904e+01 4.505275455862940640e-07 -1.000000000000000021e-03 2.023589647725155519e+05 9.424085519013731746e-04 1.196685288380986556e+01 1.975673439160466799e-15 -1.178610770701415088e-03 2.023589647725155519e+05 1.110524470096864100e-03 1.196527235589170068e+01 2.730561381055710549e-15 -1.389123348813385214e-03 2.023589647725155519e+05 1.309411888498707459e-03 1.197302749189433513e+01 3.807190387137922876e-15 -1.637235740744274635e-03 2.023589647725155519e+05 1.544745917229530538e-03 1.198940795216109301e+01 5.290686587241875456e-15 -1.929663678218512032e-03 2.023589647725155519e+05 1.816478349549574024e-03 1.195196287183170725e+01 7.354591394170336848e-15 -2.274322394979648009e-03 2.023589647725155519e+05 2.145285212908696129e-03 1.198545680377015543e+01 1.024078009662737263e-14 -2.680540870770453925e-03 2.023589647725155519e+05 2.526120055148378674e-03 1.196987612888030839e+01 1.424785702250896589e-14 -3.159314341595407215e-03 2.023589647725155519e+05 2.976483432794864870e-03 1.196486918373950736e+01 1.982809355713685622e-14 -3.723601911035797143e-03 2.023589647725155519e+05 3.509286242358835173e-03 1.196975542148629579e+01 2.760637954903817859e-14 -4.388677318151167420e-03 2.023589647725155519e+05 4.139537465716093718e-03 1.198293861091210388e+01 3.834612469749013089e-14 -5.172542356305966961e-03 2.023589647725155519e+05 4.885170717300455455e-03 1.200393111824530479e+01 5.327401684562156088e-14 -6.096414133051489617e-03 2.023589647725155519e+05 5.753397762751966994e-03 1.199014842471179954e+01 7.403269237229419126e-14 -7.185299359870824139e-03 2.023589647725155519e+05 6.780009008258590028e-03 1.198661003373010381e+01 1.031426061603444488e-13 -8.468671216257736209e-03 2.023589647725155519e+05 7.994324589194195738e-03 1.199262449108693751e+01 1.431003370577362372e-13 -9.981267109010422481e-03 2.023589647725155519e+05 9.430662447188375985e-03 1.200697812866487801e+01 1.990314550079559416e-13 -1.176402891992746509e-02 2.023589647725155519e+05 1.110815348243872867e-02 1.199507377382566276e+01 2.773082445393490677e-13 -1.386521119186945317e-02 2.023589647725155519e+05 1.309198084657305951e-02 1.199363936531818453e+01 3.849199637910532595e-13 -1.634168724878715118e-02 2.023589647725155519e+05 1.543811548143970633e-02 1.200115082099116215e+01 5.362889902174979862e-13 -1.926048860285451206e-02 2.023589647725155519e+05 1.818314129911455246e-02 1.198827160677313231e+01 7.442241922452473245e-13 -2.270061931629619237e-02 2.023589647725155519e+05 2.142921160775767761e-02 1.198581229004160775e+01 1.035364804554319014e-12 -2.675519442777928719e-02 2.023589647725155519e+05 2.526801508980086250e-02 1.199234227991737711e+01 1.439975367397285697e-12 -3.153396032479117289e-02 2.023589647725155519e+05 2.980842346278568186e-02 1.200708734466619809e+01 2.001050635458111327e-12 -3.716626528166998983e-02 2.023589647725155519e+05 3.513315021757031781e-02 1.200626261360106994e+01 2.782447358620111170e-12 -4.380456056772231294e-02 2.023589647725155519e+05 4.137802819003043309e-02 1.199242294290118060e+01 3.862902787067866007e-12 -5.162852689096004283e-02 2.023589647725155519e+05 4.881931653460162834e-02 1.200940915840732615e+01 5.369660418178008243e-12 -6.084993786913318187e-02 2.023589647725155519e+05 5.749273717992708227e-02 1.199422856467143639e+01 7.468612225019859294e-12 -7.171839216907228975e-02 2.023589647725155519e+05 6.781820275183862712e-02 1.200764073144010169e+01 1.038544376616191118e-11 -8.452806946785666742e-02 2.023589647725155519e+05 7.995088094145162694e-02 1.201073156959313160e+01 1.444558525812147587e-11 -9.962569310141336509e-02 2.023589647725155519e+05 9.420815804919190073e-02 1.200513496318271756e+01 2.008615740751448373e-11 -1.174199149279194637e-01 2.023589647725155519e+05 1.110639420198929750e-01 1.200830145278169603e+01 2.793680611801254987e-11 -1.383923764288897684e-01 2.023589647725155519e+05 1.308839912196466948e-01 1.200430970579595957e+01 3.885325983411021576e-11 -1.631107454420542835e-01 2.023589647725155519e+05 1.543157909398729655e-01 1.200857307243511407e+01 5.403782924094595945e-11 -1.922440813951419580e-01 2.023589647725155519e+05 1.818806420584743733e-01 1.200638869617290183e+01 7.517396990623198334e-11 -2.265809449359138250e-01 2.023589647725155519e+05 2.143117341729430803e-01 1.199883778894906783e+01 1.045794254671031533e-10 -2.670507421371726142e-01 2.023589647725155519e+05 2.526467610511533013e-01 1.199889105620463248e+01 1.455106716164537179e-10 -3.147488810066778608e-01 2.023589647725155519e+05 2.979664307175314830e-01 1.200536090831416303e+01 2.025329629130448954e-10 -3.709664212206886247e-01 2.023589647725155519e+05 3.513283016160612671e-01 1.200574757981940621e+01 2.820791058879504868e-10 -4.372250196192620786e-01 2.023589647725155519e+05 4.144092283039421676e-01 1.201091892623874102e+01 3.932020463134775690e-10 -5.153181173433998286e-01 2.023589647725155519e+05 4.887096138470639617e-01 1.200883984542430127e+01 5.487434925163161439e-10 -6.073594834385067642e-01 2.023589647725155519e+05 5.765435343806761814e-01 1.200897432204172333e+01 7.670969393123492313e-10 -7.158404288682718164e-01 2.023589647725155519e+05 6.803846359681584577e-01 1.200888950934218791e+01 1.074836681398208079e-09 -8.436972395676662906e-01 2.023589647725155519e+05 8.031595560437889691e-01 1.200546627251308962e+01 1.511133837506036056e-09 -9.943906537655036182e-01 2.023589647725155519e+05 9.487461969465607048e-01 1.200350208281894027e+01 2.134851302681672320e-09 -1.171999534812844468e+00 2.023589647725155519e+05 1.121797760007920530e+00 1.200482692271264362e+01 3.037464825200726399e-09 -1.381331274987467994e+00 2.023589647725155519e+05 1.327825598628321613e+00 1.200746521642790654e+01 4.367808852737350007e-09 -1.628051918606947979e+00 2.023589647725155519e+05 1.573237978753900590e+00 1.200328952774986391e+01 6.384488118606754098e-09 -1.918839526531252559e+00 2.023589647725155519e+05 1.867135496462460686e+00 1.200585324869050119e+01 9.587899574058718319e-09 -2.261564933217340645e+00 2.023589647725155519e+05 2.218815147893291595e+00 1.200256212241110454e+01 1.512740435150388326e-08 -2.665504788930584290e+00 2.023589647725155519e+05 2.639941567427323665e+00 1.200261120083657218e+01 2.676159082212214174e-08 -3.141592653589792672e+00 2.023589647725155519e+05 3.141592653589792672e+00 1.189135925843710950e+01 1.023710843192008486e-06 -1.000000000000000021e-03 4.094915062380427262e+05 9.451661577434485083e-04 1.069661603399292638e+01 4.447080871202127301e-15 -1.178610770701415088e-03 4.094915062380427262e+05 1.113625958419269544e-03 1.069312158325710271e+01 6.198378566239893524e-15 -1.389123348813385214e-03 4.094915062380427262e+05 1.312892767053956125e-03 1.069834466373255033e+01 8.656284819861106283e-15 -1.637235740744274635e-03 4.094915062380427262e+05 1.548568223757905817e-03 1.071085616590487888e+01 1.201815690379737227e-14 -1.929663678218512032e-03 4.094915062380427262e+05 1.827407970551109392e-03 1.073076301220581996e+01 1.669916716581538089e-14 -2.274322394979648009e-03 4.094915062380427262e+05 2.157196747901598405e-03 1.075664406522340499e+01 2.325389893696647685e-14 -2.680540870770453925e-03 4.094915062380427262e+05 2.539591161402931715e-03 1.073777094899999618e+01 3.238828248066241729e-14 -3.159314341595407215e-03 4.094915062380427262e+05 2.991672695042088895e-03 1.072924560520856652e+01 4.494570913241825761e-14 -3.723601911035797143e-03 4.094915062380427262e+05 3.526165336219271116e-03 1.072943957292944006e+01 6.247472117992512430e-14 -4.388677318151167420e-03 4.094915062380427262e+05 4.158284420783424536e-03 1.073782632455024277e+01 8.692112592038132546e-14 -5.172542356305966961e-03 4.094915062380427262e+05 4.905862362362741792e-03 1.075345700374193214e+01 1.209504341200096642e-13 -6.096414133051489617e-03 4.094915062380427262e+05 5.776715150512998741e-03 1.073723944399602459e+01 1.681432211229596083e-13 -7.185299359870824139e-03 4.094915062380427262e+05 6.806287986340485256e-03 1.073103383551402423e+01 2.338578634353493240e-13 -8.468671216257736209e-03 4.094915062380427262e+05 8.023593793991879927e-03 1.073338563329550510e+01 3.244921795985331100e-13 -9.981267109010422481e-03 4.094915062380427262e+05 9.463009065930960001e-03 1.074336902797485394e+01 4.513672825659312331e-13 -1.176402891992746509e-02 4.094915062380427262e+05 1.114489286360407366e-02 1.073009309114866916e+01 6.288396318811831992e-13 -1.386521119186945317e-02 4.094915062380427262e+05 1.315601409309592566e-02 1.075491425789924627e+01 8.728772608645717875e-13 -1.634168724878715118e-02 4.094915062380427262e+05 1.550936000488284221e-02 1.075771500062244534e+01 1.215917180913841878e-12 -1.926048860285451206e-02 4.094915062380427262e+05 1.826386012586447491e-02 1.074231603521839240e+01 1.687956909512048582e-12 -2.270061931629619237e-02 4.094915062380427262e+05 2.151958925999719607e-02 1.073635206201298686e+01 2.346049822015374815e-12 -2.675519442777928719e-02 4.094915062380427262e+05 2.536878965408968442e-02 1.073894341153652654e+01 3.263369321741167357e-12 -3.153396032479117289e-02 4.094915062380427262e+05 2.992023933247886514e-02 1.074923912721252606e+01 4.538035754359202133e-12 -3.716626528166998983e-02 4.094915062380427262e+05 3.525827371273976274e-02 1.074533746308193116e+01 6.308668342472008448e-12 -4.380456056772231294e-02 4.094915062380427262e+05 4.156921885133452871e-02 1.074973995767985180e+01 8.757357222811683360e-12 -5.162852689096004283e-02 4.094915062380427262e+05 4.897639368380744818e-02 1.074270469489537128e+01 1.217461274493138166e-11 -6.084993786913318187e-02 4.094915062380427262e+05 5.773228033967979511e-02 1.074403481551275341e+01 1.693573649614685971e-11 -7.171839216907228975e-02 4.094915062380427262e+05 6.808454662688423475e-02 1.075303364679158946e+01 2.354586223971744997e-11 -8.452806946785666742e-02 4.094915062380427262e+05 8.024873052253633787e-02 1.075266039936986040e+01 3.274815310501966813e-11 -9.962569310141336509e-02 4.094915062380427262e+05 9.454328988900072284e-02 1.074453740693898496e+01 4.554185956540569700e-11 -1.174199149279194637e-01 4.094915062380427262e+05 1.114400243679607438e-01 1.074476148190253433e+01 6.333023457961426535e-11 -1.383923764288897684e-01 4.094915062380427262e+05 1.314138082786663053e-01 1.075218976352797640e+01 8.808500416801995149e-11 -1.631107454420542835e-01 4.094915062380427262e+05 1.549083728443303720e-01 1.075289119029996954e+01 1.225209305750288598e-10 -1.922440813951419580e-01 4.094915062380427262e+05 1.825483280451337953e-01 1.074806371804180571e+01 1.704085533391430893e-10 -2.265809449359138250e-01 4.094915062380427262e+05 2.152155133113499708e-01 1.075024918868435364e+01 2.370879524896384088e-10 -2.670507421371726142e-01 4.094915062380427262e+05 2.536617064123910525e-01 1.074715989618524503e+01 3.298797858251682641e-10 -3.147488810066778608e-01 4.094915062380427262e+05 2.991021040981621248e-01 1.075021432785364794e+01 4.591488156317517546e-10 -3.709664212206886247e-01 4.094915062380427262e+05 3.526022385794889136e-01 1.074782701238309102e+01 6.394774651551932760e-10 -4.372250196192620786e-01 4.094915062380427262e+05 4.158314732329843055e-01 1.074997859432322045e+01 8.913860934983720254e-10 -5.153181173433998286e-01 4.094915062380427262e+05 4.905673869186151226e-01 1.075530130461652334e+01 1.243981666282644820e-09 -6.073594834385067642e-01 4.094915062380427262e+05 5.786169906742661961e-01 1.075291758650883267e+01 1.738953515982678492e-09 -7.158404288682718164e-01 4.094915062380427262e+05 6.826870692709950950e-01 1.075051450033224754e+01 2.436532352272749443e-09 -8.436972395676662906e-01 4.094915062380427262e+05 8.060592781974736942e-01 1.075372571413612199e+01 3.425489274652687647e-09 -9.943906537655036182e-01 4.094915062380427262e+05 9.519118355037585744e-01 1.074974925635566692e+01 4.839227884491793916e-09 -1.171999534812844468e+00 4.094915062380427262e+05 1.125598270666571254e+00 1.075691662371317392e+01 6.885083002179907216e-09 -1.381331274987467994e+00 4.094915062380427262e+05 1.331782936387780003e+00 1.075739664152670194e+01 9.900480384723534399e-09 -1.628051918606947979e+00 4.094915062380427262e+05 1.577224288270564045e+00 1.075223208489704874e+01 1.447248813194813450e-08 -1.918839526531252559e+00 4.094915062380427262e+05 1.870886843533510868e+00 1.075409970121738112e+01 2.173669538270182387e-08 -2.261564933217340645e+00 4.094915062380427262e+05 2.221990704315413012e+00 1.075252533925565324e+01 3.430706732321520840e-08 -2.665504788930584290e+00 4.094915062380427262e+05 2.641820397495953987e+00 1.075160552342526188e+01 6.073586801392980719e-08 -3.141592653589792672e+00 4.094915062380427262e+05 3.141592653589792672e+00 1.065047636917520002e+01 2.330307141571356246e-06 -1.000000000000000021e-03 8.286427728546842700e+05 9.431853938290890539e-04 9.498211671018330193e+00 1.015644178418592266e-14 -1.178610770701415088e-03 8.286427728546842700e+05 1.111417674815738622e-03 9.496692803400341276e+00 1.410372686293106070e-14 -1.389123348813385214e-03 8.286427728546842700e+05 1.310404164544374042e-03 9.502275354836019261e+00 1.958108972428500378e-14 -1.637235740744274635e-03 8.286427728546842700e+05 1.545880610232874776e-03 9.514996867234868816e+00 2.721752007467521546e-14 -1.929663678218512032e-03 8.286427728546842700e+05 1.824432866069567154e-03 9.533427679960782442e+00 3.792512823724660619e-14 -2.274322394979648009e-03 8.286427728546842700e+05 2.146735348143191668e-03 9.511100321611111852e+00 5.263716371079079017e-14 -2.680540870770453925e-03 8.286427728546842700e+05 2.527785360141279053e-03 9.498512350213143662e+00 7.337928443512150259e-14 -3.159314341595407215e-03 8.286427728546842700e+05 2.987499491133111841e-03 9.535284891442858068e+00 1.019704102954861870e-13 -3.723601911035797143e-03 8.286427728546842700e+05 3.521549624633483946e-03 9.536613355887348931e+00 1.417748856448658540e-13 -4.388677318151167420e-03 8.286427728546842700e+05 4.141952539654139044e-03 9.507909862617120567e+00 1.972932799827994250e-13 -5.172542356305966961e-03 8.286427728546842700e+05 4.887846054379431891e-03 9.524089777839824578e+00 2.733718569815320347e-13 -6.096414133051489617e-03 8.286427728546842700e+05 5.756451736232012957e-03 9.512947186864348481e+00 3.817700127476435119e-13 -7.185299359870824139e-03 8.286427728546842700e+05 6.783490254551306775e-03 9.509919536665714546e+00 5.298289511409440674e-13 -8.468671216257736209e-03 8.286427728546842700e+05 7.998172180707214390e-03 9.514265502099748417e+00 7.381168041326893164e-13 -9.981267109010422481e-03 8.286427728546842700e+05 9.435043326371305578e-03 9.525408797066479138e+00 1.026871910973556460e-12 -1.176402891992746509e-02 8.286427728546842700e+05 1.111313530969725884e-02 9.515777273297070238e+00 1.424483365056694031e-12 -1.386521119186945317e-02 8.286427728546842700e+05 1.312138763770633737e-02 9.539462230838513079e+00 1.978692036538566407e-12 -1.634168724878715118e-02 8.286427728546842700e+05 1.544436091104255462e-02 9.520007901084319712e+00 2.753593913371731659e-12 -1.926048860285451206e-02 8.286427728546842700e+05 1.822003918406735201e-02 9.532113102469875088e+00 3.831543877460594806e-12 -2.270061931629619237e-02 8.286427728546842700e+05 2.147037345183981996e-02 9.528636453265049155e+00 5.324290965006916931e-12 -2.675519442777928719e-02 8.286427728546842700e+05 2.531395221749022789e-02 9.532546540728713325e+00 7.400324244807906591e-12 -3.153396032479117289e-02 8.286427728546842700e+05 2.981819687268177921e-02 9.523682932891052388e+00 1.029482351405700388e-11 -3.716626528166998983e-02 8.286427728546842700e+05 3.518989752283617489e-02 9.541046292378805305e+00 1.429214281331402381e-11 -4.380456056772231294e-02 8.286427728546842700e+05 4.144199189313682585e-02 9.528896089427352223e+00 1.987204166994644180e-11 -5.162852689096004283e-02 8.286427728546842700e+05 4.883278155464055442e-02 9.524819973494125236e+00 2.762554988659029630e-11 -6.084993786913318187e-02 8.286427728546842700e+05 5.757220781130611281e-02 9.528121201322500511e+00 3.842413060098025559e-11 -7.171839216907228975e-02 8.286427728546842700e+05 6.790658606945981779e-02 9.537838018824984943e+00 5.343517054932781630e-11 -8.452806946785666742e-02 8.286427728546842700e+05 8.004884876748366573e-02 9.539244512614303062e+00 7.429342586178036504e-11 -9.962569310141336509e-02 8.286427728546842700e+05 9.431809634886531568e-02 9.533943945435225942e+00 1.033483790811642269e-10 -1.174199149279194637e-01 8.286427728546842700e+05 1.111869069724135961e-01 9.535663503908576644e+00 1.437111545457569865e-10 -1.383923764288897684e-01 8.286427728546842700e+05 1.310205544554017276e-01 9.531589875335518158e+00 1.998753378012533103e-10 -1.631107454420542835e-01 8.286427728546842700e+05 1.544684462083497911e-01 9.534266680628594059e+00 2.779875183463086402e-10 -1.922440813951419580e-01 8.286427728546842700e+05 1.820514513755686625e-01 9.531843011999017179e+00 3.866833799335048268e-10 -2.265809449359138250e-01 8.286427728546842700e+05 2.146583323780195673e-01 9.535458695123246287e+00 5.379945213565196396e-10 -2.670507421371726142e-01 8.286427728546842700e+05 2.530349842765097779e-01 9.534437264112119337e+00 7.485550347673645075e-10 -3.147488810066778608e-01 8.286427728546842700e+05 2.983990698147772624e-01 9.538562371571918774e+00 1.041952343945140931e-09 -3.709664212206886247e-01 8.286427728546842700e+05 3.518098280485956741e-01 9.537835723795137000e+00 1.451179052043316702e-09 -4.372250196192620786e-01 8.286427728546842700e+05 4.149461119436463341e-01 9.541089338850381907e+00 2.022859422144782634e-09 -5.153181173433998286e-01 8.286427728546842700e+05 4.893091442656451462e-01 9.538634363384304038e+00 2.823055709905278811e-09 -6.073594834385067642e-01 8.286427728546842700e+05 5.772086999946028918e-01 9.537961195935487524e+00 3.946219230765768376e-09 -7.158404288682718164e-01 8.286427728546842700e+05 6.811186571949747748e-01 9.537165116627303263e+00 5.529643281594953605e-09 -8.436972395676662906e-01 8.286427728546842700e+05 8.043366066898676170e-01 9.541198138614634061e+00 7.774356341430758853e-09 -9.943906537655036182e-01 8.286427728546842700e+05 9.500278471506791167e-01 9.538836464173124696e+00 1.098351966054063105e-08 -1.171999534812844468e+00 8.286427728546842700e+05 1.123170112366043583e+00 9.539227037688529975e+00 1.562815428407902374e-08 -1.381331274987467994e+00 8.286427728546842700e+05 1.329254559420689041e+00 9.540731352574546520e+00 2.247508049218125585e-08 -1.628051918606947979e+00 8.286427728546842700e+05 1.574678942042681440e+00 9.537036075085802977e+00 3.285880733566907000e-08 -1.918839526531252559e+00 8.286427728546842700e+05 1.868495775774354994e+00 9.538983629649708362e+00 4.936151619332879186e-08 -2.261564933217340645e+00 8.286427728546842700e+05 2.219974958906156370e+00 9.536959390831478700e+00 7.792766342174187657e-08 -2.665504788930584290e+00 8.286427728546842700e+05 2.640721597847560886e+00 9.539612681174187259e+00 1.380043452565294374e-07 -3.141592653589792672e+00 8.286427728546842700e+05 3.141592653589792672e+00 9.446870563640469953e+00 5.293114607395156464e-06 -1.000000000000000021e-03 1.676832936811009888e+06 9.413534749453639867e-04 8.440306465526393964e+00 2.295775051042696650e-14 -1.178610770701415088e-03 1.676832936811009888e+06 1.109303412238448524e-03 8.439464305115716769e+00 3.194493689582212178e-14 -1.389123348813385214e-03 1.676832936811009888e+06 1.308029733476213843e-03 8.445307697046521511e+00 4.448310406769078465e-14 -1.637235740744274635e-03 1.676832936811009888e+06 1.543167098787497299e-03 8.456990744169921470e+00 6.184583496181843333e-14 -1.929663678218512032e-03 1.676832936811009888e+06 1.814634454558357616e-03 8.431248412506302969e+00 8.621071745712954307e-14 -2.274322394979648009e-03 1.676832936811009888e+06 2.143292467887357531e-03 8.455318400093389641e+00 1.199186762109617716e-13 -2.680540870770453925e-03 1.676832936811009888e+06 2.523848063624684925e-03 8.444885209682444938e+00 1.664302826072428761e-13 -3.159314341595407215e-03 1.676832936811009888e+06 2.974042207148534529e-03 8.442290018644692751e+00 2.319358592530563940e-13 -3.723601911035797143e-03 1.676832936811009888e+06 3.506563741407715904e-03 8.446165389066587537e+00 3.222039346921612413e-13 -4.388677318151167420e-03 1.676832936811009888e+06 4.136569034088445271e-03 8.455956209013358205e+00 4.466266961845723738e-13 -5.172542356305966961e-03 1.676832936811009888e+06 4.869121932033245413e-03 8.440496716425071710e+00 6.239479121829196069e-13 -6.096414133051489617e-03 1.676832936811009888e+06 5.749781787521679628e-03 8.461964906435110123e+00 8.677756608049355558e-13 -7.185299359870824139e-03 1.676832936811009888e+06 6.776041696332705914e-03 8.460004325747032539e+00 1.204902332171286925e-12 -8.468671216257736209e-03 1.676832936811009888e+06 7.989948192657692072e-03 8.464617895190805541e+00 1.676413735184837646e-12 -9.981267109010422481e-03 1.676832936811009888e+06 9.406070813019874396e-03 8.450156580884314650e+00 2.326488739878510387e-12 -1.176402891992746509e-02 1.676832936811009888e+06 1.110280640801592118e-02 8.467090278186640617e+00 3.241181714505618855e-12 -1.386521119186945317e-02 1.676832936811009888e+06 1.308593445177866701e-02 8.466321445436884474e+00 4.509356141575078908e-12 -1.634168724878715118e-02 1.676832936811009888e+06 1.540393837450993245e-02 8.450747284659545500e+00 6.255677187641229629e-12 -1.926048860285451206e-02 1.676832936811009888e+06 1.817557017887587098e-02 8.463116940547559253e+00 8.696556622680845595e-12 -2.270061931629619237e-02 1.676832936811009888e+06 2.142056143966093035e-02 8.461553483743799120e+00 1.210225194675348085e-11 -2.675519442777928719e-02 1.676832936811009888e+06 2.525826721549683657e-02 8.466314875289487674e+00 1.682110328543041245e-11 -3.153396032479117289e-02 1.676832936811009888e+06 2.975583374797149613e-02 8.459973538566236684e+00 2.339619802560576407e-11 -3.716626528166998983e-02 1.676832936811009888e+06 3.507411579086507081e-02 8.460397861907136274e+00 3.251628752013004802e-11 -4.380456056772231294e-02 1.676832936811009888e+06 4.136395283488973618e-02 8.466913396193845642e+00 4.515366221613178751e-11 -5.162852689096004283e-02 1.676832936811009888e+06 4.874561980093401747e-02 8.464553077719363827e+00 6.278055072373866177e-11 -6.084993786913318187e-02 1.676832936811009888e+06 5.740872117379781925e-02 8.454759284790650753e+00 8.729965293106187435e-11 -7.171839216907228975e-02 1.676832936811009888e+06 6.772519463101550619e-02 8.464981436234150891e+00 1.213936208670303515e-10 -8.452806946785666742e-02 1.676832936811009888e+06 7.976452775630676895e-02 8.455573547372155829e+00 1.688469201901327076e-10 -9.962569310141336509e-02 1.676832936811009888e+06 9.409015081092439448e-02 8.464671358645464494e+00 2.348056053599825959e-10 -1.174199149279194637e-01 1.676832936811009888e+06 1.108289649189494741e-01 8.456445737904738635e+00 3.265364703565310083e-10 -1.383923764288897684e-01 1.676832936811009888e+06 1.307341685897384920e-01 8.465375815084513533e+00 4.541865554076515300e-10 -1.631107454420542835e-01 1.676832936811009888e+06 1.540186648471771613e-01 8.458834381085337029e+00 6.316784079283297584e-10 -1.922440813951419580e-01 1.676832936811009888e+06 1.815459623341852680e-01 8.458334271672072191e+00 8.786601352168317751e-10 -2.265809449359138250e-01 1.676832936811009888e+06 2.140939598313590375e-01 8.463091676321511159e+00 1.222479217975115359e-09 -2.670507421371726142e-01 1.676832936811009888e+06 2.523999882572994236e-01 8.463565044310040975e+00 1.700934271495652805e-09 -3.147488810066778608e-01 1.676832936811009888e+06 2.974868733479737459e-01 8.460197050692219278e+00 2.367616470738886041e-09 -3.709664212206886247e-01 1.676832936811009888e+06 3.507875111885701003e-01 8.461192146194768782e+00 3.297493282386848771e-09 -4.372250196192620786e-01 1.676832936811009888e+06 4.138029749431267335e-01 8.465492376269425634e+00 4.596523972434656278e-09 -5.153181173433998286e-01 1.676832936811009888e+06 4.880261089428407084e-01 8.464658178211218242e+00 6.414519013370773639e-09 -6.073594834385067642e-01 1.676832936811009888e+06 5.757769069963818431e-01 8.465326270890729532e+00 8.967041600636408131e-09 -7.158404288682718164e-01 1.676832936811009888e+06 6.795289206772459067e-01 8.465797790683147639e+00 1.256519609297634158e-08 -8.436972395676662906e-01 1.676832936811009888e+06 8.022083567754528799e-01 8.463883862806925507e+00 1.766617752122743926e-08 -9.943906537655036182e-01 1.676832936811009888e+06 9.477031791419261442e-01 8.462958538813444065e+00 2.495906516712470542e-08 -1.171999534812844468e+00 1.676832936811009888e+06 1.120678609647845825e+00 8.464305891292402961e+00 3.551458106156064018e-08 -1.381331274987467994e+00 1.676832936811009888e+06 1.326660017212053511e+00 8.466546722764784150e+00 5.107588741310532096e-08 -1.628051918606947979e+00 1.676832936811009888e+06 1.572065756576496609e+00 8.463944065298241171e+00 7.467704779016912348e-08 -1.918839526531252559e+00 1.676832936811009888e+06 1.866040689123651619e+00 8.465940937805870092e+00 1.121887666836226342e-07 -2.261564933217340645e+00 1.676832936811009888e+06 2.217900204024929156e+00 8.463537596342138869e+00 1.771314268638686898e-07 -2.665504788930584290e+00 1.676832936811009888e+06 2.639349431688469139e+00 8.462428659340870851e+00 3.137031440131355549e-07 -3.141592653589792672e+00 1.676832936811009888e+06 3.141592653589792672e+00 8.383565128265413335e+00 1.202744978413728837e-05 -1.000000000000000021e-03 3.393221771895329468e+06 9.440193725385694805e-04 7.547376854044005157e+00 5.234273706359610483e-14 -1.178610770701415088e-03 3.393221771895329468e+06 1.112309024692185924e-03 7.545308784547018810e+00 7.264125941412482654e-14 -1.389123348813385214e-03 3.393221771895329468e+06 1.311371512666602724e-03 7.549171692587676397e+00 1.011962576961085197e-13 -1.637235740744274635e-03 3.393221771895329468e+06 1.546851734379701276e-03 7.558323806603306494e+00 1.408364101331223213e-13 -1.929663678218512032e-03 3.393221771895329468e+06 1.825467748001876472e-03 7.572549386783171244e+00 1.954691471354324303e-13 -2.274322394979648009e-03 3.393221771895329468e+06 2.147841437422085692e-03 7.554001743551211234e+00 2.718746094888445859e-13 -2.680540870770453925e-03 3.393221771895329468e+06 2.537078259500800525e-03 7.578179699696471872e+00 3.788998664263209233e-13 -3.159314341595407215e-03 3.393221771895329468e+06 2.988750000077413423e-03 7.572440528549083893e+00 5.264424212440559830e-13 -3.723601911035797143e-03 3.393221771895329468e+06 3.522807377010298609e-03 7.572846583882219207e+00 7.326766973090184723e-13 -4.388677318151167420e-03 3.393221771895329468e+06 4.154494381271227159e-03 7.579087192447922838e+00 1.019120882368311744e-12 -5.172542356305966961e-03 3.393221771895329468e+06 4.889278931946651301e-03 7.562094385583557177e+00 1.413414793893431092e-12 -6.096414133051489617e-03 3.393221771895329468e+06 5.771601084648161212e-03 7.578977345869247095e+00 1.965042018534592182e-12 -7.185299359870824139e-03 3.393221771895329468e+06 6.800357707395412142e-03 7.574841776044151764e+00 2.741836650069246127e-12 -8.468671216257736209e-03 3.393221771895329468e+06 8.016779276776677884e-03 7.576709541756651234e+00 3.811450389937667441e-12 -9.981267109010422481e-03 3.393221771895329468e+06 9.455523476036819738e-03 7.584261178395958147e+00 5.291046695059551781e-12 -1.176402891992746509e-02 3.393221771895329468e+06 1.113621752903361239e-02 7.575206935847414336e+00 7.362426622618741122e-12 -1.386521119186945317e-02 3.393221771895329468e+06 1.312314925655643297e-02 7.572661033315044143e+00 1.022606837837517573e-11 -1.634168724878715118e-02 3.393221771895329468e+06 1.547283598064646236e-02 7.576121356195688605e+00 1.422512137832242532e-11 -1.926048860285451206e-02 3.393221771895329468e+06 1.825143365513786503e-02 7.584767270007515272e+00 1.979105987546196968e-11 -2.270061931629619237e-02 3.393221771895329468e+06 2.150532766248490144e-02 7.580826288432859883e+00 2.751555113167845802e-11 -2.675519442777928719e-02 3.393221771895329468e+06 2.535272830077078474e-02 7.582956969107136125e+00 3.825009262148985396e-11 -3.153396032479117289e-02 3.393221771895329468e+06 2.986182273289494232e-02 7.574899149658790520e+00 5.317227333025834381e-11 -3.716626528166998983e-02 3.393221771895329468e+06 3.523741352078003930e-02 7.587866552038159185e+00 7.382899525090591649e-11 -4.380456056772231294e-02 3.393221771895329468e+06 4.149562417486638705e-02 7.577276394851296004e+00 1.026234222457948850e-10 -5.162852689096004283e-02 3.393221771895329468e+06 4.894882838729781166e-02 7.586362741288315448e+00 1.426996687154414086e-10 -6.084993786913318187e-02 3.393221771895329468e+06 5.770091101465722738e-02 7.587508910155471575e+00 1.984307507688557328e-10 -7.171839216907228975e-02 3.393221771895329468e+06 6.797958579461217676e-02 7.582098030421027701e+00 2.760122550011317138e-10 -8.452806946785666742e-02 3.393221771895329468e+06 8.012993496644393865e-02 7.582537512775929578e+00 3.838533077287261128e-10 -9.962569310141336509e-02 3.393221771895329468e+06 9.449539283487497221e-02 7.588273538775571758e+00 5.337785705400864159e-10 -1.174199149279194637e-01 3.393221771895329468e+06 1.113844683220511361e-01 7.588518625341283297e+00 7.422572090430776168e-10 -1.383923764288897684e-01 3.393221771895329468e+06 1.312417503828959275e-01 7.584147300813518733e+00 1.032429724799315267e-09 -1.631107454420542835e-01 3.393221771895329468e+06 1.547140744512023047e-01 7.585244725627597440e+00 1.435871675936146399e-09 -1.922440813951419580e-01 3.393221771895329468e+06 1.823263060603690089e-01 7.582351052342933606e+00 1.997356012283473468e-09 -2.265809449359138250e-01 3.393221771895329468e+06 2.149635639589249914e-01 7.584344980386026336e+00 2.779051194342479799e-09 -2.670507421371726142e-01 3.393221771895329468e+06 2.533749854958975978e-01 7.582649420843822874e+00 3.866465625351866543e-09 -3.147488810066778608e-01 3.393221771895329468e+06 2.987767703121984586e-01 7.585186996615956190e+00 5.381918633754753807e-09 -3.709664212206886247e-01 3.393221771895329468e+06 3.522307771965533796e-01 7.583868504850601155e+00 7.495682504551243147e-09 -4.372250196192620786e-01 3.393221771895329468e+06 4.154108193802862337e-01 7.585737886425794940e+00 1.044855309652592045e-08 -5.153181173433998286e-01 3.393221771895329468e+06 4.898264692913168461e-01 7.583141673337467026e+00 1.458182606205422790e-08 -6.073594834385067642e-01 3.393221771895329468e+06 5.780788566935417538e-01 7.588405052668601769e+00 2.038434544383023933e-08 -7.158404288682718164e-01 3.393221771895329468e+06 6.820796017856735061e-01 7.586978204009686699e+00 2.856387810592203356e-08 -8.436972395676662906e-01 3.393221771895329468e+06 8.053840241289768054e-01 7.589485915741231992e+00 4.015976288584663116e-08 -9.943906537655036182e-01 3.393221771895329468e+06 9.511645308996781178e-01 7.586928315508725262e+00 5.673852356709600896e-08 -1.171999534812844468e+00 3.393221771895329468e+06 1.124378793250408348e+00 7.586642104238664253e+00 8.073431679838339320e-08 -1.381331274987467994e+00 3.393221771895329468e+06 1.330506031258913202e+00 7.587334780672767565e+00 1.161101114857589604e-07 -1.628051918606947979e+00 3.393221771895329468e+06 1.576376850764056980e+00 7.589325290961827619e+00 1.697637218167625881e-07 -1.918839526531252559e+00 3.393221771895329468e+06 1.869681215307559485e+00 7.585513615638932450e+00 2.550416565267831947e-07 -2.261564933217340645e+00 3.393221771895329468e+06 2.220983723423448186e+00 7.584283539304523813e+00 4.026812548916474425e-07 -2.665504788930584290e+00 3.393221771895329468e+06 2.641406225145926712e+00 7.588492357666318355e+00 7.131805052357652845e-07 -3.141592653589792672e+00 3.393221771895329468e+06 3.141592653589792672e+00 7.514390788491691175e+00 2.738767027635735359e-05 -1.000000000000000021e-03 6.866488450042998418e+06 9.423950024675690693e-04 6.706710355706636761e+00 1.185961411976731456e-13 -1.178610770701415088e-03 6.866488450042998418e+06 1.110485537996508702e-03 6.705655385102512689e+00 1.660424272942915565e-13 -1.389123348813385214e-03 6.866488450042998418e+06 1.309324978740707352e-03 6.709710179534821961e+00 2.296595404713469504e-13 -1.637235740744274635e-03 6.866488450042998418e+06 1.544629806681582264e-03 6.718759639983919563e+00 3.208692656154742005e-13 -1.929663678218512032e-03 6.866488450042998418e+06 1.822988963161397205e-03 6.731839260746419029e+00 4.454606771249461013e-13 -2.274322394979648009e-03 6.866488450042998418e+06 2.145046618640702746e-03 6.716244009593088649e+00 6.200565228178612931e-13 -2.680540870770453925e-03 6.866488450042998418e+06 2.525800358760414959e-03 6.707438919100958685e+00 8.611377866172833164e-13 -3.159314341595407215e-03 6.866488450042998418e+06 2.985259078433231354e-03 6.733535649015653490e+00 1.199648957077222866e-12 -3.723601911035797143e-03 6.866488450042998418e+06 3.518993475975114131e-03 6.734692453594410821e+00 1.665115275618721179e-12 -4.388677318151167420e-03 6.866488450042998418e+06 4.138924599830536358e-03 6.714517050558364453e+00 2.316590073917727034e-12 -5.172542356305966961e-03 6.866488450042998418e+06 4.884443056840081718e-03 6.726184198955199811e+00 3.223623130325079941e-12 -6.096414133051489617e-03 6.866488450042998418e+06 5.752483292622298863e-03 6.718428121672189945e+00 4.480740169045648049e-12 -7.185299359870824139e-03 6.866488450042998418e+06 6.778894550798453440e-03 6.716411107669815195e+00 6.229907041431649999e-12 -8.468671216257736209e-03 6.866488450042998418e+06 7.992983632828798424e-03 6.719723812274137842e+00 8.664558744448652447e-12 -9.981267109010422481e-03 6.866488450042998418e+06 9.429123693375444926e-03 6.727745467263558155e+00 1.204635458679711224e-11 -1.176402891992746509e-02 6.866488450042998418e+06 1.110627720512249311e-02 6.721073834698965577e+00 1.672088787480294465e-11 -1.386521119186945317e-02 6.866488450042998418e+06 1.308975751891779463e-02 6.720267731602529437e+00 2.330920350097945341e-11 -1.634168724878715118e-02 6.866488450042998418e+06 1.543550257788870415e-02 6.724448120936270534e+00 3.232710650862862467e-11 -1.926048860285451206e-02 6.866488450042998418e+06 1.820987553099776002e-02 6.733104742003697574e+00 4.495576926738655894e-11 -2.270061931629619237e-02 6.866488450042998418e+06 2.145868861857716178e-02 6.730787109672190738e+00 6.253219312292735815e-11 -2.675519442777928719e-02 6.866488450042998418e+06 2.530037676844715255e-02 6.733609693555945519e+00 8.691415477918050489e-11 -3.153396032479117289e-02 6.866488450042998418e+06 2.980261322887054268e-02 6.727502522902293336e+00 1.208671367482677562e-10 -3.716626528166998983e-02 6.866488450042998418e+06 3.512636686575356521e-02 6.727061341575229392e+00 1.680955454586093527e-10 -4.380456056772231294e-02 6.866488450042998418e+06 4.142189653720251136e-02 6.731525949579729051e+00 2.334111741208966252e-10 -5.162852689096004283e-02 6.866488450042998418e+06 4.881048547196981807e-02 6.728925348364672487e+00 3.244437625082025591e-10 -6.084993786913318187e-02 6.866488450042998418e+06 5.754689988942408851e-02 6.731411314763455778e+00 4.511605483986885981e-10 -7.171839216907228975e-02 6.866488450042998418e+06 6.780617975535679909e-02 6.727976466929002974e+00 6.273390050982749919e-10 -8.452806946785666742e-02 6.866488450042998418e+06 7.993695301094545791e-02 6.729723147081370094e+00 8.725421876680676346e-10 -9.962569310141336509e-02 6.866488450042998418e+06 9.419154296746000410e-02 6.726591570725058311e+00 1.213476680896775585e-09 -1.174199149279194637e-01 6.866488450042998418e+06 1.110445325369404657e-01 6.728365619444820922e+00 1.687769722777280463e-09 -1.383923764288897684e-01 6.866488450042998418e+06 1.309731446187986648e-01 6.734593719363407338e+00 2.347133837633859044e-09 -1.631107454420542835e-01 6.866488450042998418e+06 1.542884736047992755e-01 6.728491147742453826e+00 3.264346120212558003e-09 -1.922440813951419580e-01 6.866488450042998418e+06 1.819885136157855521e-01 6.734917135721419257e+00 4.540891662341976588e-09 -2.265809449359138250e-01 6.866488450042998418e+06 2.144305330439398305e-01 6.730290254592916632e+00 6.317724422391718521e-09 -2.670507421371726142e-01 6.866488450042998418e+06 2.527770156068745999e-01 6.729955709508459449e+00 8.790303443586906344e-09 -3.147488810066778608e-01 6.866488450042998418e+06 2.981086010649429130e-01 6.733239764500823732e+00 1.223559581298074158e-08 -3.709664212206886247e-01 6.866488450042998418e+06 3.514830644635430490e-01 6.733119364598061374e+00 1.704104379538627201e-08 -4.372250196192620786e-01 6.866488450042998418e+06 4.143303847979569743e-01 6.729614221072221625e+00 2.375417179304768326e-08 -5.153181173433998286e-01 6.866488450042998418e+06 4.888926860811275699e-01 6.734274297736062564e+00 3.315080238014077660e-08 -6.073594834385067642e-01 6.866488450042998418e+06 5.767398009467877840e-01 6.734057896033107227e+00 4.634234340932358871e-08 -7.158404288682718164e-01 6.866488450042998418e+06 6.805948099205439972e-01 6.733758289271927211e+00 6.493499813088779080e-08 -8.436972395676662906e-01 6.866488450042998418e+06 8.033836648474047548e-01 6.731619597882814610e+00 9.129989830769974386e-08 -9.943906537655036182e-01 6.866488450042998418e+06 9.493901369716354344e-01 6.735362079974915872e+00 1.289900791390298317e-07 -1.171999534812844468e+00 6.866488450042998418e+06 1.122045231400470078e+00 6.730914237350366314e+00 1.835421594558796018e-07 -1.381331274987467994e+00 6.866488450042998418e+06 1.328079896924339476e+00 6.732278176897738220e+00 2.639655530711354308e-07 -1.628051918606947979e+00 6.866488450042998418e+06 1.573949659934179124e+00 6.734539603920516981e+00 3.859419703504598550e-07 -1.918839526531252559e+00 6.866488450042998418e+06 1.867380316951563923e+00 6.731345906454458294e+00 5.798137392486511929e-07 -2.261564933217340645e+00 6.866488450042998418e+06 2.219400150967806518e+00 6.734459574162687368e+00 9.154608063317495382e-07 -2.665504788930584290e+00 6.866488450042998418e+06 2.640108146485289797e+00 6.730491719421577201e+00 1.621361374065331561e-06 -3.141592653589792672e+00 6.866488450042998418e+06 3.141592653589792672e+00 6.669049072668335576e+00 6.222592679976874709e-05 -1.000000000000000021e-03 1.389495494373136014e+07 9.407578265034403052e-04 5.960114651822451926e+00 2.694843865084733694e-13 -1.178610770701415088e-03 1.389495494373136014e+07 1.108621918751224360e-03 5.959671480260529286e+00 3.752333160751243386e-13 -1.389123348813385214e-03 1.389495494373136014e+07 1.307299265922382252e-03 5.964186834706469931e+00 5.244091491464181674e-13 -1.637235740744274635e-03 1.389495494373136014e+07 1.542356518178654651e-03 5.972630512949932857e+00 7.281456996224952702e-13 -1.929663678218512032e-03 1.389495494373136014e+07 1.813699504593238067e-03 5.954674267189133730e+00 1.011968544982438676e-12 -2.274322394979648009e-03 1.389495494373136014e+07 2.142219513914553602e-03 5.971663701603257657e+00 1.407881863878293048e-12 -2.680540870770453925e-03 1.389495494373136014e+07 2.522553245048054626e-03 5.964263544563881858e+00 1.956720893495944963e-12 -3.159314341595407215e-03 1.389495494373136014e+07 2.972497506236074921e-03 5.962402620778759932e+00 2.722344931128537038e-12 -3.723601911035797143e-03 1.389495494373136014e+07 3.504742713308307746e-03 5.965124026035542038e+00 3.786501309664296443e-12 -4.388677318151167420e-03 1.389495494373136014e+07 4.134461202612509101e-03 5.972064978277061620e+00 5.268369423417108077e-12 -5.172542356305966961e-03 1.389495494373136014e+07 4.866612370043865536e-03 5.961189353226595600e+00 7.321869869998578149e-12 -6.096414133051489617e-03 1.389495494373136014e+07 5.746914659345632448e-03 5.976368379314628498e+00 1.016445041677811371e-11 -7.185299359870824139e-03 1.389495494373136014e+07 6.772714496941548666e-03 5.975057021808404478e+00 1.416730473387210370e-11 -8.468671216257736209e-03 1.389495494373136014e+07 7.986099899307279662e-03 5.978367740368250693e+00 1.966029843164020857e-11 -9.981267109010422481e-03 1.389495494373136014e+07 9.401521547241798241e-03 5.968214884049652724e+00 2.732279503207744397e-11 -1.176402891992746509e-02 1.389495494373136014e+07 1.107538879826486418e-02 5.963740970188605495e+00 3.800988865008721438e-11 -1.386521119186945317e-02 1.389495494373136014e+07 1.305512722250544606e-02 5.964134791581447992e+00 5.285318498753364543e-11 -1.634168724878715118e-02 1.389495494373136014e+07 1.539699453938764458e-02 5.968890834263492984e+00 7.350490786222062989e-11 -1.926048860285451206e-02 1.389495494373136014e+07 1.816774125038683740e-02 5.977729782757619681e+00 1.022301216706479301e-10 -2.270061931629619237e-02 1.389495494373136014e+07 2.141149015677416487e-02 5.976691452160758367e+00 1.421553515418226768e-10 -2.675519442777928719e-02 1.389495494373136014e+07 2.520963941230300667e-02 5.967559171328431056e+00 1.977572411141983850e-10 -3.153396032479117289e-02 1.389495494373136014e+07 2.974389871394979637e-02 5.975763922645837667e+00 2.747965508489276133e-10 -3.716626528166998983e-02 1.389495494373136014e+07 3.506038736643076609e-02 5.976140094381117152e+00 3.814437549856042198e-10 -4.380456056772231294e-02 1.389495494373136014e+07 4.129545081981758625e-02 5.970143251939655116e+00 5.306578775606591306e-10 -5.162852689096004283e-02 1.389495494373136014e+07 4.866845515079887274e-02 5.969115815079175213e+00 7.375748977003821434e-10 -6.084993786913318187e-02 1.389495494373136014e+07 5.738821729484092776e-02 5.972456850968871578e+00 1.025807091159054222e-09 -7.171839216907228975e-02 1.389495494373136014e+07 6.762804306955787215e-02 5.970615241083909730e+00 1.426174185034906172e-09 -8.452806946785666742e-02 1.389495494373136014e+07 7.973750754533924512e-02 5.973176377195084541e+00 1.983431289448280253e-09 -9.962569310141336509e-02 1.389495494373136014e+07 9.396642403681425282e-02 5.971371080753764105e+00 2.758823994178566125e-09 -1.174199149279194637e-01 1.389495494373136014e+07 1.107931342612437364e-01 5.973911739105249197e+00 3.836859968743497341e-09 -1.383923764288897684e-01 1.389495494373136014e+07 1.305775692459798243e-01 5.972806344439418602e+00 5.336045922132491488e-09 -1.631107454420542835e-01 1.389495494373136014e+07 1.539721778175185962e-01 5.975762014763602359e+00 7.421959406486507685e-09 -1.922440813951419580e-01 1.389495494373136014e+07 1.814942378611396068e-01 5.975546723086740286e+00 1.032341032454186077e-08 -2.265809449359138250e-01 1.389495494373136014e+07 2.138727704664191431e-01 5.972542041503815291e+00 1.436275987214150379e-08 -2.670507421371726142e-01 1.389495494373136014e+07 2.521518308283734466e-01 5.973259927408555825e+00 1.998385756088126208e-08 -3.147488810066778608e-01 1.389495494373136014e+07 2.974131595775482695e-01 5.977145551361100928e+00 2.781627407490506282e-08 -3.709664212206886247e-01 1.389495494373136014e+07 3.507036959176111912e-01 5.977907821290314949e+00 3.874089234636827068e-08 -4.372250196192620786e-01 1.389495494373136014e+07 4.134529925859089516e-01 5.975612822876796848e+00 5.400229820141479833e-08 -5.153181173433998286e-01 1.389495494373136014e+07 4.876356308818876606e-01 5.975340455188292488e+00 7.536790955207249482e-08 -6.073594834385067642e-01 1.389495494373136014e+07 5.753417530055435769e-01 5.976078586799984826e+00 1.053534254343050763e-07 -7.158404288682718164e-01 1.389495494373136014e+07 6.790453051000284734e-01 5.976645243161450516e+00 1.476272757156811334e-07 -8.436972395676662906e-01 1.389495494373136014e+07 8.016735799110458194e-01 5.975513113588117875e+00 2.075580898838224370e-07 -9.943906537655036182e-01 1.389495494373136014e+07 9.471199990058309925e-01 5.975066786102771310e+00 2.932529179960871371e-07 -1.171999534812844468e+00 1.389495494373136014e+07 1.120055703813290338e+00 5.976206959634755123e+00 4.172735152382033688e-07 -1.381331274987467994e+00 1.389495494373136014e+07 1.326008678023306686e+00 5.977918141367887905e+00 6.001118291292785184e-07 -1.628051918606947979e+00 1.389495494373136014e+07 1.571409606778535251e+00 5.976196010563385563e+00 8.774192770663688455e-07 -1.918839526531252559e+00 1.389495494373136014e+07 1.865426427987434188e+00 5.977673722842327564e+00 1.318179919514830264e-06 -2.261564933217340645e+00 1.389495494373136014e+07 2.217379314873748619e+00 5.975859741775653156e+00 2.081272731052295981e-06 -2.665504788930584290e+00 1.389495494373136014e+07 2.639004689851657481e+00 5.974498345496565221e+00 3.686174845524210141e-06 -3.141592653589792672e+00 1.389495494373136014e+07 3.141592653589792672e+00 5.919433049914739620e+00 1.414897860246890082e-04 -1.000000000000000021e-03 2.811768697974230722e+07 9.435400849846013694e-04 5.330452532578384250e+00 6.166674325518983425e-13 -1.178610770701415088e-03 2.811768697974230722e+07 1.111754096388365559e-03 5.329074841272107399e+00 8.566843839957521763e-13 -1.389123348813385214e-03 2.811768697974230722e+07 1.310728558857952473e-03 5.331845868371381414e+00 1.186173458955412494e-12 -1.637235740744274635e-03 2.811768697974230722e+07 1.546125374724054277e-03 5.338405288940042404e+00 1.649364833637818108e-12 -1.929663678218512032e-03 2.811768697974230722e+07 1.824641015593737566e-03 5.348491622343026997e+00 2.303417006088890402e-12 -2.274322394979648009e-03 2.811768697974230722e+07 2.146854471883791714e-03 5.335460823479808212e+00 3.194977578191170308e-12 -2.680540870770453925e-03 2.811768697974230722e+07 2.535978248841967795e-03 5.352586040691818425e+00 4.453373339559904235e-12 -3.159314341595407215e-03 2.811768697974230722e+07 2.987454764275983277e-03 5.348571179718925706e+00 6.185565322543796217e-12 -3.723601911035797143e-03 2.811768697974230722e+07 3.521327602664344521e-03 5.348957172055735398e+00 8.607200090075830298e-12 -4.388677318151167420e-03 2.811768697974230722e+07 4.152813503677244000e-03 5.353447671517646889e+00 1.197793141986292814e-11 -5.172542356305966961e-03 2.811768697974230722e+07 4.887320794122644932e-03 5.341571664496497895e+00 1.666640735420862180e-11 -6.096414133051489617e-03 2.811768697974230722e+07 5.769529078741126270e-03 5.353720401736175916e+00 2.316404165340172136e-11 -7.185299359870824139e-03 2.811768697974230722e+07 6.797966907171349230e-03 5.350878376814403481e+00 3.212395585990066894e-11 -8.468671216257736209e-03 2.811768697974230722e+07 8.014009012187158290e-03 5.352235980705665419e+00 4.477835672013042002e-11 -9.981267109010422481e-03 2.811768697974230722e+07 9.452293083519799216e-03 5.357564686618110805e+00 6.226298326424988724e-11 -1.176402891992746509e-02 2.811768697974230722e+07 1.113232841029924113e-02 5.351156563587440296e+00 8.639014662842746958e-11 -1.386521119186945317e-02 2.811768697974230722e+07 1.311852250834547040e-02 5.349346317352350333e+00 1.203857419058797660e-10 -1.634168724878715118e-02 2.811768697974230722e+07 1.546743032084906683e-02 5.351798445595494336e+00 1.671793849767660331e-10 -1.926048860285451206e-02 2.811768697974230722e+07 1.824515520402363380e-02 5.357904571659918957e+00 2.322926936873110437e-10 -2.270061931629619237e-02 2.811768697974230722e+07 2.149798461578619063e-02 5.355160655043084361e+00 3.231383338688302636e-10 -2.675519442777928719e-02 2.811768697974230722e+07 2.534419426918705504e-02 5.356693228612003921e+00 4.493682145349296739e-10 -3.153396032479117289e-02 2.811768697974230722e+07 2.985172575082443644e-02 5.351028927372826871e+00 6.246740425545874488e-10 -3.716626528166998983e-02 2.811768697974230722e+07 3.518077638413749653e-02 5.349895507097643943e+00 8.687457232397552162e-10 -4.380456056772231294e-02 2.811768697974230722e+07 4.148208816126734699e-02 5.352789203700210940e+00 1.206364595509957732e-09 -5.162852689096004283e-02 2.811768697974230722e+07 4.893329758771585575e-02 5.359234576367291503e+00 1.676779365677807550e-09 -6.084993786913318187e-02 2.811768697974230722e+07 5.768313304963424565e-02 5.360111807954798913e+00 2.332086217374867128e-09 -7.171839216907228975e-02 2.811768697974230722e+07 6.795878085677732605e-02 5.356329877501759817e+00 3.242734615156736263e-09 -8.452806946785666742e-02 2.811768697974230722e+07 8.010580268231060064e-02 5.356676042886490130e+00 4.509402406567377415e-09 -9.962569310141336509e-02 2.811768697974230722e+07 9.438059620950932371e-02 5.353258871761676474e+00 6.271894275668338421e-09 -1.174199149279194637e-01 2.811768697974230722e+07 1.112549712065609986e-01 5.353838306078834819e+00 8.723521843828686538e-09 -1.383923764288897684e-01 2.811768697974230722e+07 1.312048610713033581e-01 5.357961528607484425e+00 1.213149246737589182e-08 -1.631107454420542835e-01 2.811768697974230722e+07 1.546720672634507576e-01 5.358806432144922915e+00 1.687234963728830219e-08 -1.922440813951419580e-01 2.811768697974230722e+07 1.822775443666252992e-01 5.356803035042431382e+00 2.346886027816382485e-08 -2.265809449359138250e-01 2.811768697974230722e+07 2.149079154871643416e-01 5.358267684398827058e+00 3.265377771145252673e-08 -2.670507421371726142e-01 2.811768697974230722e+07 2.533113257847365851e-01 5.357131661230583042e+00 4.543312637648575113e-08 -3.147488810066778608e-01 2.811768697974230722e+07 2.987032038523053656e-01 5.358945853638689805e+00 6.323978998529932801e-08 -3.709664212206886247e-01 2.811768697974230722e+07 3.521452892588938233e-01 5.358035358128318215e+00 8.807644242709169642e-08 -4.372250196192620786e-01 2.811768697974230722e+07 4.153130140656454694e-01 5.359391485837391222e+00 1.227787110110531192e-07 -5.153181173433998286e-01 2.811768697974230722e+07 4.897136238211745596e-01 5.357585412667081215e+00 1.713457671735245788e-07 -6.073594834385067642e-01 2.811768697974230722e+07 5.776528117513642924e-01 5.356827220241194176e+00 2.395269961607665193e-07 -7.158404288682718164e-01 2.811768697974230722e+07 6.816046722140567393e-01 5.356039737086211616e+00 3.356239200393984827e-07 -8.436972395676662906e-01 2.811768697974230722e+07 8.048632548153124011e-01 5.358025909028823364e+00 4.718921773516719676e-07 -9.943906537655036182e-01 2.811768697974230722e+07 9.505948180037050443e-01 5.356413266275203533e+00 6.666962740086245336e-07 -1.171999534812844468e+00 2.811768697974230722e+07 1.123770096192759249e+00 5.356398699085224813e+00 9.486870730755306991e-07 -1.381331274987467994e+00 2.811768697974230722e+07 1.329874104947043723e+00 5.357055931937884097e+00 1.364378731131029057e-06 -1.628051918606947979e+00 2.811768697974230722e+07 1.575743947823644353e+00 5.358560231988822586e+00 1.994852887469602732e-06 -1.918839526531252559e+00 2.811768697974230722e+07 1.869497478303372651e+00 5.359598065505691622e+00 2.996965985514644959e-06 -2.261564933217340645e+00 2.811768697974230722e+07 2.220831235070415133e+00 5.358728531312877408e+00 4.731969282348073714e-06 -2.665504788930584290e+00 2.811768697974230722e+07 2.641071646141558649e+00 5.357331028882465596e+00 8.381086447807333960e-06 -3.141592653589792672e+00 2.811768697974230722e+07 3.141592653589792672e+00 5.307214035491937487e+00 3.219064385968143619e-04 -1.000000000000000021e-03 5.689866029018304497e+07 9.419740062667223204e-04 4.737905908191379467e+00 1.393551055674773289e-12 -1.178610770701415088e-03 5.689866029018304497e+07 1.109986406354410496e-03 4.737157275210091001e+00 1.939837298886909739e-12 -1.389123348813385214e-03 5.689866029018304497e+07 1.308740723045928112e-03 4.740022225071379935e+00 2.693549085845731516e-12 -1.637235740744274635e-03 5.689866029018304497e+07 1.543952645393969082e-03 4.746412549417750704e+00 3.762205089508024126e-12 -1.929663678218512032e-03 5.689866029018304497e+07 1.822210535091304488e-03 4.755648219030317314e+00 5.228543906480369283e-12 -2.274322394979648009e-03 5.689866029018304497e+07 2.144113541159504803e-03 4.744679529465245515e+00 7.278274879576769157e-12 -2.680540870770453925e-03 5.689866029018304497e+07 2.524689780004931838e-03 4.738486619304021374e+00 1.010217971037864717e-11 -3.159314341595407215e-03 5.689866029018304497e+07 2.984025782476803796e-03 4.756934333442019991e+00 1.406109447837383099e-11 -3.723601911035797143e-03 5.689866029018304497e+07 3.517554008594178747e-03 4.757772970576809257e+00 1.955565755415396583e-11 -4.388677318151167420e-03 5.689866029018304497e+07 4.137181896279107547e-03 4.743565376025734359e+00 2.715869332202143971e-11 -5.172542356305966961e-03 5.689866029018304497e+07 4.882471516794179706e-03 4.751850428663138892e+00 3.782783714871850383e-11 -6.096414133051489617e-03 5.689866029018304497e+07 5.750154421479563432e-03 4.746409578085655667e+00 5.258299807223960833e-11 -7.185299359870824139e-03 5.689866029018304497e+07 6.776172454485865186e-03 4.745017864269608587e+00 7.318604847925492889e-11 -8.468671216257736209e-03 5.689866029018304497e+07 7.989867991420202334e-03 4.747414699042171726e+00 1.015640304573021707e-10 -9.981267109010422481e-03 5.689866029018304497e+07 9.425535975149409648e-03 4.753096745342656249e+00 1.411162087122608315e-10 -1.176402891992746509e-02 5.689866029018304497e+07 1.110204837022206112e-02 4.748419357082127590e+00 1.966712304900186706e-10 -1.386521119186945317e-02 5.689866029018304497e+07 1.308482231253633825e-02 4.747878425015047199e+00 2.728424946913230374e-10 -1.634168724878715118e-02 5.689866029018304497e+07 1.542981300003535769e-02 4.750863281177545083e+00 3.795926149515171301e-10 -1.926048860285451206e-02 5.689866029018304497e+07 1.820354318712212247e-02 4.757070113864045879e+00 5.275558337799103977e-10 -2.270061931629619237e-02 5.689866029018304497e+07 2.145144223146058446e-02 4.755512029691399079e+00 7.338330255033409235e-10 -2.675519442777928719e-02 5.689866029018304497e+07 2.529212286021192621e-02 4.757568286318112349e+00 1.020719629678194247e-09 -3.153396032479117289e-02 5.689866029018304497e+07 2.979306757984148332e-02 4.753324049599658707e+00 1.419124212038198563e-09 -3.716626528166998983e-02 5.689866029018304497e+07 3.511512414260690301e-02 4.753015705252714440e+00 1.969926972229211204e-09 -4.380456056772231294e-02 5.689866029018304497e+07 4.140873455542858073e-02 4.756162659403035953e+00 2.739284546430782946e-09 -5.162852689096004283e-02 5.689866029018304497e+07 4.879477012346812581e-02 4.754309276274218732e+00 3.808405133138506570e-09 -6.084993786913318187e-02 5.689866029018304497e+07 5.752842507767317454e-02 4.756058497788912653e+00 5.296430221924546773e-09 -7.171839216907228975e-02 5.689866029018304497e+07 6.778430433761391261e-02 4.753637495723947559e+00 7.364421286769242061e-09 -8.452806946785666742e-02 5.689866029018304497e+07 7.991143311801719717e-02 4.754884317646577152e+00 1.024368875100149552e-08 -9.962569310141336509e-02 5.689866029018304497e+07 9.416142011968084424e-02 4.752682367711611455e+00 1.424530175611693006e-08 -1.174199149279194637e-01 5.689866029018304497e+07 1.110094560158088189e-01 4.753951610717619403e+00 1.980651220369847999e-08 -1.383923764288897684e-01 5.689866029018304497e+07 1.309326622036718901e-01 4.758364820013377461e+00 2.754928812900135089e-08 -1.631107454420542835e-01 5.689866029018304497e+07 1.542405075363415534e-01 4.754068164156522336e+00 3.831549553525476206e-08 -1.922440813951419580e-01 5.689866029018304497e+07 1.819336148892592431e-01 4.758636010185998799e+00 5.329398400089626889e-08 -2.265809449359138250e-01 5.689866029018304497e+07 2.143658696797382246e-01 4.755384991965052599e+00 7.415262437950346536e-08 -2.670507421371726142e-01 5.689866029018304497e+07 2.527016563778657909e-01 4.755166734394492778e+00 1.031761357357718314e-07 -3.147488810066778608e-01 5.689866029018304497e+07 2.980217946241697224e-01 4.757509695974984076e+00 1.436186238124660549e-07 -3.709664212206886247e-01 5.689866029018304497e+07 3.513827107431567454e-01 4.757451931033303438e+00 2.000296860584430211e-07 -4.372250196192620786e-01 5.689866029018304497e+07 4.142132088762859876e-01 4.754993169552324872e+00 2.788425684895860746e-07 -5.153181173433998286e-01 5.689866029018304497e+07 4.887586106140271447e-01 4.758300119542364648e+00 3.892143490738381143e-07 -6.073594834385067642e-01 5.689866029018304497e+07 5.765872040006184696e-01 4.758184800807600645e+00 5.441358487129240478e-07 -7.158404288682718164e-01 5.689866029018304497e+07 6.804217030347520234e-01 4.758004153051003549e+00 7.625575256773333793e-07 -8.436972395676662906e-01 5.689866029018304497e+07 8.031880024680870811e-01 4.756520920509636596e+00 1.072367677365407317e-06 -9.943906537655036182e-01 5.689866029018304497e+07 9.487654644091453315e-01 4.755637410204752058e+00 1.515585967770793804e-06 -1.171999534812844468e+00 5.689866029018304497e+07 1.121809061002396746e+00 4.756080904858767333e+00 2.157498320072726179e-06 -1.381331274987467994e+00 5.689866029018304497e+07 1.327832429967484185e+00 4.757080398990284564e+00 3.105038449460810436e-06 -1.628051918606947979e+00 5.689866029018304497e+07 1.573701901743344678e+00 4.758709033334550753e+00 4.543778367666465428e-06 -1.918839526531252559e+00 5.689866029018304497e+07 1.867148916166372796e+00 4.756495446477149613e+00 6.832070892822323367e-06 -2.261564933217340645e+00 5.689866029018304497e+07 2.219210190642971536e+00 4.758696605783753419e+00 1.078435192454632706e-05 -2.665504788930584290e+00 5.689866029018304497e+07 2.639991861733571810e+00 4.755874871818725147e+00 1.901815026839958429e-05 -3.141592653589792672e+00 5.689866029018304497e+07 3.141592653589792672e+00 4.712128940513527375e+00 7.415974006283412466e-04 -1.000000000000000021e-03 1.151395399326448143e+08 9.404126480432927013e-04 4.211835389485338865e+00 3.168928155642578269e-12 -1.178610770701415088e-03 1.151395399326448143e+08 1.108203108824387965e-03 4.211472930519579272e+00 4.384900684334189176e-12 -1.389123348813385214e-03 1.151395399326448143e+08 1.306789548865669752e-03 4.214579468438300225e+00 6.104679275321729819e-12 -1.637235740744274635e-03 1.151395399326448143e+08 1.541756214597979607e-03 4.220505425347312212e+00 8.490873690322531148e-12 -1.929663678218512032e-03 1.151395399326448143e+08 1.812946387793867723e-03 4.207786086627369748e+00 1.179861326684439237e-11 -2.274322394979648009e-03 1.151395399326448143e+08 2.141354673013770409e-03 4.219755150380889219e+00 1.644904533814149856e-11 -2.680540870770453925e-03 1.151395399326448143e+08 2.521509749446899408e-03 4.214518194367071757e+00 2.289709121952626480e-11 -3.159314341595407215e-03 1.151395399326448143e+08 2.971250576057755249e-03 4.213184768697233906e+00 3.178223880739556882e-11 -3.723601911035797143e-03 1.151395399326448143e+08 3.503276546481921393e-03 4.215098693005173480e+00 4.427623956600161196e-11 -4.388677318151167420e-03 1.151395399326448143e+08 4.132754705027965464e-03 4.219992642429784446e+00 6.158623668280819443e-11 -5.172542356305966961e-03 1.151395399326448143e+08 4.864555727532095773e-03 4.212320477581593892e+00 8.534738426170744447e-11 -6.096414133051489617e-03 1.151395399326448143e+08 5.744569410800697863e-03 4.223034083737150723e+00 1.189489544598228951e-10 -7.185299359870824139e-03 1.151395399326448143e+08 6.769958412972161207e-03 4.222121853752553555e+00 1.650894106789409326e-10 -8.468671216257736209e-03 1.151395399326448143e+08 7.982885329128296126e-03 4.224465973126036111e+00 2.302414347151422413e-10 -9.981267109010422481e-03 1.151395399326448143e+08 9.397668010962430263e-03 4.217311665773719298e+00 3.202375027547189088e-10 -1.176402891992746509e-02 1.151395399326448143e+08 1.109330742585385061e-02 4.225842302106892490e+00 4.443722565578483267e-10 -1.386521119186945317e-02 1.151395399326448143e+08 1.307484776891336756e-02 4.225511819741811337e+00 6.179879219982176123e-10 -1.634168724878715118e-02 1.151395399326448143e+08 1.539086078445970479e-02 4.217847848789050502e+00 8.591821659453031952e-10 -1.926048860285451206e-02 1.151395399326448143e+08 1.816069205594080319e-02 4.224099173247218175e+00 1.194798785491111104e-09 -2.270061931629619237e-02 1.151395399326448143e+08 2.140322296975900873e-02 4.223381737451332718e+00 1.662184948943605022e-09 -2.675519442777928719e-02 1.151395399326448143e+08 2.523848409867706852e-02 4.225872742743316479e+00 2.310250171836578869e-09 -3.153396032479117289e-02 1.151395399326448143e+08 2.973266489449906055e-02 4.222778439085661972e+00 3.212917517858856034e-09 -3.716626528166998983e-02 1.151395399326448143e+08 3.504724887255052101e-02 4.223058129973406238e+00 4.468130951630336849e-09 -4.380456056772231294e-02 1.151395399326448143e+08 4.127994061810268123e-02 4.218849396432005960e+00 6.202516298609588655e-09 -5.162852689096004283e-02 1.151395399326448143e+08 4.871012415823900571e-02 4.225318426733607247e+00 8.620844721924276582e-09 -6.084993786913318187e-02 1.151395399326448143e+08 5.736697394093763502e-02 4.220499815549053402e+00 1.199075038689434177e-08 -7.171839216907228975e-02 1.151395399326448143e+08 6.767809983388384243e-02 4.225716228074385405e+00 1.667814332411360182e-08 -8.452806946785666742e-02 1.151395399326448143e+08 7.970915014720030001e-02 4.221085283128003240e+00 2.318793742293963626e-08 -9.962569310141336509e-02 1.151395399326448143e+08 9.402679919316127288e-02 4.225686720415830600e+00 3.225002738075732361e-08 -1.174199149279194637e-01 1.151395399326448143e+08 1.107556212777840166e-01 4.221696215995693002e+00 4.485126496142891629e-08 -1.383923764288897684e-01 1.151395399326448143e+08 1.306499904408819357e-01 4.226198508470819348e+00 6.238600385636839967e-08 -1.631107454420542835e-01 1.151395399326448143e+08 1.539205851000379210e-01 4.223008880978900592e+00 8.677244277146596793e-08 -1.922440813951419580e-01 1.151395399326448143e+08 1.814332324405812935e-01 4.222847810430756077e+00 1.206824294166927392e-07 -2.265809449359138250e-01 1.151395399326448143e+08 2.139640653582233487e-01 4.225268821915028283e+00 1.679105424630269675e-07 -2.670507421371726142e-01 1.151395399326448143e+08 2.522501168829000551e-01 4.225566549415667339e+00 2.336408477167203645e-07 -3.147488810066778608e-01 1.151395399326448143e+08 2.973141005109165569e-01 4.223965271858801884e+00 3.251966817143946860e-07 -3.709664212206886247e-01 1.151395399326448143e+08 3.505879870983141244e-01 4.224505529421964667e+00 4.528940817917512442e-07 -4.372250196192620786e-01 1.151395399326448143e+08 4.133171948858183065e-01 4.222887282151023491e+00 6.313383914693973109e-07 -5.153181173433998286e-01 1.151395399326448143e+08 4.874781977303966896e-01 4.222705653249171576e+00 8.809914271236425022e-07 -6.073594834385067642e-01 1.151395399326448143e+08 5.751601772172740823e-01 4.223233912907429222e+00 1.231512698167985997e-06 -7.158404288682718164e-01 1.151395399326448143e+08 6.788372349764484337e-01 4.223641781016390873e+00 1.725640231104289214e-06 -8.436972395676662906e-01 1.151395399326448143e+08 8.018272015959048149e-01 4.226108534847378806e+00 2.426131103169135762e-06 -9.943906537655036182e-01 1.151395399326448143e+08 9.472806147181785930e-01 4.225700643598212736e+00 3.427919553982276500e-06 -1.171999534812844468e+00 1.151395399326448143e+08 1.119769105680157306e+00 4.223392286968573828e+00 4.878413988674338262e-06 -1.381331274987467994e+00 1.151395399326448143e+08 1.325706340567757380e+00 4.224623576502964717e+00 7.018853713852057504e-06 -1.628051918606947979e+00 1.151395399326448143e+08 1.571105682431477968e+00 4.223450286501426731e+00 1.027268548604813518e-05 -1.918839526531252559e+00 1.151395399326448143e+08 1.865143946631367511e+00 4.224527193031248018e+00 1.546731615312864287e-05 -2.261564933217340645e+00 1.151395399326448143e+08 2.217525275423874120e+00 4.226207649551350976e+00 2.453128336452323118e-05 -2.665504788930584290e+00 1.151395399326448143e+08 2.639119603233832212e+00 4.225597964771053761e+00 4.354341318284774475e-05 -3.141592653589792672e+00 1.151395399326448143e+08 3.141592653589792672e+00 4.184672566968505869e+00 1.723847718912652422e-03 -1.000000000000000021e-03 2.329951810515371859e+08 9.433312321526645490e-04 3.768371946991025734e+00 7.257892614967708957e-12 -1.178610770701415088e-03 2.329951810515371859e+08 1.116206612087279094e-03 3.790103366855840150e+00 1.012588140364818201e-11 -1.389123348813385214e-03 2.329951810515371859e+08 1.315635513372730723e-03 3.790781382401708921e+00 1.404043150905205660e-11 -1.637235740744274635e-03 2.329951810515371859e+08 1.545665572403674476e-03 3.773589785596207502e+00 1.959700397389975171e-11 -1.929663678218512032e-03 2.329951810515371859e+08 1.824091485302033059e-03 3.780650506861991111e+00 2.720715311647405175e-11 -2.274322394979648009e-03 2.329951810515371859e+08 2.153428059194851911e-03 3.789787754227439631e+00 3.795174192539464139e-11 -2.680540870770453925e-03 2.329951810515371859e+08 2.535149631756009481e-03 3.783392736281975921e+00 5.255276375057455738e-11 -3.159314341595407215e-03 2.329951810515371859e+08 2.986444801980445585e-03 3.780519088983573361e+00 7.318117254827645886e-11 -3.723601911035797143e-03 2.329951810515371859e+08 3.520093496943160847e-03 3.780725670868672950e+00 1.018129200449399221e-10 -4.388677318151167420e-03 2.329951810515371859e+08 4.151353309569531455e-03 3.783867589482240668e+00 1.410934196917388768e-10 -5.172542356305966961e-03 2.329951810515371859e+08 4.897938991180664572e-03 3.789456363372043946e+00 1.968190448228559468e-10 -6.096414133051489617e-03 2.329951810515371859e+08 5.767434890805236102e-03 3.783998264582226323e+00 2.738697351433825719e-10 -7.185299359870824139e-03 2.329951810515371859e+08 6.795462687763105525e-03 3.781977688010338401e+00 3.805876121990928792e-10 -8.468671216257736209e-03 2.329951810515371859e+08 8.011048903951949532e-03 3.782923245050541450e+00 5.283251287234519616e-10 -9.981267109010422481e-03 2.329951810515371859e+08 9.448818017727138655e-03 3.786665477860929219e+00 7.353375391582137226e-10 -1.176402891992746509e-02 2.329951810515371859e+08 1.112815566407205845e-02 3.782136529700055316e+00 1.024927317863272691e-09 -1.386521119186945317e-02 2.329951810515371859e+08 1.313715863119700906e-02 3.790962102563702363e+00 1.422372012230231319e-09 -1.634168724878715118e-02 2.329951810515371859e+08 1.546161797939848981e-02 3.782579608442303787e+00 1.975634142073972132e-09 -1.926048860285451206e-02 2.329951810515371859e+08 1.823840550418545647e-02 3.786888097224200056e+00 2.747471114557250676e-09 -2.270061931629619237e-02 2.329951810515371859e+08 2.148999199606853316e-02 3.784954978645851842e+00 3.819851682750775722e-09 -2.675519442777928719e-02 2.329951810515371859e+08 2.533482495866068093e-02 3.786039221152812217e+00 5.312617153697369667e-09 -3.153396032479117289e-02 2.329951810515371859e+08 2.988126315325172547e-02 3.789752917609869876e+00 7.385208796716344440e-09 -3.716626528166998983e-02 2.329951810515371859e+08 3.521317507629345700e-02 3.788551563099388009e+00 1.025319129016817160e-08 -4.380456056772231294e-02 2.329951810515371859e+08 4.151736010805110594e-02 3.790231136352519403e+00 1.425401323754936663e-08 -5.162852689096004283e-02 2.329951810515371859e+08 4.891556906873730654e-02 3.787856517075533169e+00 1.982263915353944447e-08 -6.084993786913318187e-02 2.329951810515371859e+08 5.766242896497814074e-02 3.788488837138823229e+00 2.756019919073092566e-08 -7.171839216907228975e-02 2.329951810515371859e+08 6.793424210996652779e-02 3.785825973550704049e+00 3.833276218487038700e-08 -8.452806946785666742e-02 2.329951810515371859e+08 8.007708148781747526e-02 3.786081258203755961e+00 5.328803881573065872e-08 -9.962569310141336509e-02 2.329951810515371859e+08 9.443481426320161909e-02 3.789003957828537938e+00 7.412914660705811247e-08 -1.174199149279194637e-01 2.329951810515371859e+08 1.113137371275488008e-01 3.789155487458265803e+00 1.031218830227591145e-07 -1.383923764288897684e-01 2.329951810515371859e+08 1.311590009235545085e-01 3.787026483980072022e+00 1.434307709656210226e-07 -1.631107454420542835e-01 2.329951810515371859e+08 1.546183355121512892e-01 3.787627472043550103e+00 1.995714430758540766e-07 -1.922440813951419580e-01 2.329951810515371859e+08 1.823515283342758975e-01 3.790574632885039819e+00 2.775022718201210919e-07 -2.265809449359138250e-01 2.329951810515371859e+08 2.148339716524872434e-01 3.787259556948520789e+00 3.860720580580442195e-07 -2.670507421371726142e-01 2.329951810515371859e+08 2.533968904178657278e-01 3.790425234989883041e+00 5.371932711716593416e-07 -3.147488810066778608e-01 2.329951810515371859e+08 2.986025631806173419e-01 3.787759333761544056e+00 7.479897837718189328e-07 -3.709664212206886247e-01 2.329951810515371859e+08 3.522444703433967317e-01 3.790757646851750984e+00 1.041910454966323293e-06 -4.372250196192620786e-01 2.329951810515371859e+08 4.151794956652393176e-01 3.788131767614975942e+00 1.452341178637950202e-06 -5.153181173433998286e-01 2.329951810515371859e+08 4.898280816817245920e-01 3.790185026614837582e+00 2.027650422779659547e-06 -6.073594834385067642e-01 2.329951810515371859e+08 5.777738157352729775e-01 3.789523331122419680e+00 2.834489394792998165e-06 -7.158404288682718164e-01 2.329951810515371859e+08 6.817313073403303836e-01 3.788848122082738357e+00 3.973860642433942956e-06 -8.436972395676662906e-01 2.329951810515371859e+08 8.049937888737850322e-01 3.790142187970707788e+00 5.590205985542074267e-06 -9.943906537655036182e-01 2.329951810515371859e+08 9.507290335824490901e-01 3.788908963705212685e+00 7.902530341273900799e-06 -1.171999534812844468e+00 2.329951810515371859e+08 1.123906399996410510e+00 3.788821906023462471e+00 1.124958490916307082e-05 -1.381331274987467994e+00 2.329951810515371859e+08 1.330011148910579699e+00 3.789232499564725298e+00 1.618989103153344183e-05 -1.628051918606947979e+00 2.329951810515371859e+08 1.575879944705150137e+00 3.790271785890523937e+00 2.368410906912420439e-05 -1.918839526531252559e+00 2.329951810515371859e+08 1.869629842307996892e+00 3.791026934712662833e+00 3.556206372081286966e-05 -2.261564933217340645e+00 2.329951810515371859e+08 2.220955248799006299e+00 3.790521944707623714e+00 5.586867973418990866e-05 -2.665504788930584290e+00 2.329951810515371859e+08 2.641173195572984689e+00 3.789875560833525281e+00 9.774642961371514947e-05 -3.141592653589792672e+00 2.329951810515371859e+08 3.141592653589792672e+00 3.754052849413867854e+00 3.908212038466128170e-03 -1.000000000000000021e-03 4.714866363457389474e+08 9.418864776670874848e-04 3.350999992297774455e+00 1.669926843954421138e-11 -1.178610770701415088e-03 4.714866363457389474e+08 1.109848863180980987e-03 3.350342788996231391e+00 2.323516116086709053e-11 -1.389123348813385214e-03 4.714866363457389474e+08 1.308528798684945428e-03 3.352198819680697994e+00 3.244090688960983923e-11 -1.637235740744274635e-03 4.714866363457389474e+08 1.543652122807666772e-03 3.356553437197887568e+00 4.495887665216133414e-11 -1.929663678218512032e-03 4.714866363457389474e+08 1.821830015423728244e-03 3.362984295587505557e+00 6.265901735561462715e-11 -2.274322394979648009e-03 4.714866363457389474e+08 2.143563241550600941e-03 3.355066628612675572e+00 8.702450733308859572e-11 -2.680540870770453925e-03 4.714866363457389474e+08 2.532312890367821243e-03 3.365935280711048971e+00 1.210863601400204661e-10 -3.159314341595407215e-03 4.714866363457389474e+08 2.983181531657933937e-03 3.363554888771046247e+00 1.683661311936130012e-10 -3.723601911035797143e-03 4.714866363457389474e+08 3.516488137363359742e-03 3.364051961234937771e+00 2.340768530840391659e-10 -4.388677318151167420e-03 4.714866363457389474e+08 4.147267401808645004e-03 3.366985494808325541e+00 3.249044490033566602e-10 -5.172542356305966961e-03 4.714866363457389474e+08 4.880807280409962638e-03 3.359725015503975065e+00 4.502604966852854104e-10 -6.096414133051489617e-03 4.714866363457389474e+08 5.762276245300441621e-03 3.367524711590567765e+00 6.273213175853426920e-10 -7.185299359870824139e-03 4.714866363457389474e+08 6.789539325889079428e-03 3.365864751052990211e+00 8.708914691538154419e-10 -8.468671216257736209e-03 4.714866363457389474e+08 8.004454678718542562e-03 3.366922329339664177e+00 1.217198840790716317e-09 -9.981267109010422481e-03 4.714866363457389474e+08 9.421997803690228615e-03 3.360438488637488952e+00 1.692315182488561952e-09 -1.176402891992746509e-02 4.714866363457389474e+08 1.111959648534920943e-02 3.366489781339179199e+00 2.345018539264946570e-09 -1.386521119186945317e-02 4.714866363457389474e+08 1.310405068769733387e-02 3.365568594635462318e+00 3.263130604242373890e-09 -1.634168724878715118e-02 4.714866363457389474e+08 1.545078697533876048e-02 3.367205824220012467e+00 4.539142353207962780e-09 -1.926048860285451206e-02 4.714866363457389474e+08 1.819637593892444241e-02 3.363132922318160301e+00 6.309599429211783680e-09 -2.270061931629619237e-02 4.714866363457389474e+08 2.144290858010325374e-02 3.362021551133423269e+00 8.759961453855651437e-09 -2.675519442777928719e-02 4.714866363457389474e+08 2.528207456262171124e-02 3.363462938253530599e+00 1.218803736374371756e-08 -3.153396032479117289e-02 4.714866363457389474e+08 2.982280172069775442e-02 3.367242762975474868e+00 1.692276545964786499e-08 -3.716626528166998983e-02 4.714866363457389474e+08 3.514754626070015764e-02 3.366660209298039330e+00 2.349652668393850326e-08 -4.380456056772231294e-02 4.714866363457389474e+08 4.144386097689026216e-02 3.368555163537122255e+00 3.268169434798396772e-08 -5.162852689096004283e-02 4.714866363457389474e+08 4.883301236120583116e-02 3.366912871288124443e+00 4.544816031183319672e-08 -6.084993786913318187e-02 4.714866363457389474e+08 5.756981305518828890e-02 3.367852846474536310e+00 6.319958747379316721e-08 -7.171839216907228975e-02 4.714866363457389474e+08 6.782926387615166586e-02 3.365848947493868870e+00 8.788550609930872848e-08 -8.452806946785666742e-02 4.714866363457389474e+08 7.995994819513260743e-02 3.366467619716022597e+00 1.223276522953603260e-07 -9.962569310141336509e-02 4.714866363457389474e+08 9.421387966781567813e-02 3.364654684423074027e+00 1.701271733793708279e-07 -1.174199149279194637e-01 4.714866363457389474e+08 1.110658523527201791e-01 3.365322835877259333e+00 2.364097360225866158e-07 -1.383923764288897684e-01 4.714866363457389474e+08 1.309928722570676551e-01 3.368232486404777237e+00 3.288332838610711003e-07 -1.631107454420542835e-01 4.714866363457389474e+08 1.543052255498350844e-01 3.364979501225699554e+00 4.572276805328638482e-07 -1.922440813951419580e-01 4.714866363457389474e+08 1.820024365207276451e-01 3.368028130977298584e+00 6.363473915873285323e-07 -2.265809449359138250e-01 4.714866363457389474e+08 2.144392231129270965e-01 3.365543765202481108e+00 8.845999577829448690e-07 -2.670507421371726142e-01 4.714866363457389474e+08 2.527792772997710657e-01 3.365221359691303871e+00 1.230946979106507611e-06 -3.147488810066778608e-01 4.714866363457389474e+08 2.981036854245844858e-01 3.366729925287470504e+00 1.713474684568425865e-06 -3.709664212206886247e-01 4.714866363457389474e+08 3.514685917812239158e-01 3.366545029967384917e+00 2.385333422185666827e-06 -4.372250196192620786e-01 4.714866363457389474e+08 4.145514578825232332e-01 3.367724721916441677e+00 3.324333005197663885e-06 -5.153181173433998286e-01 4.714866363457389474e+08 4.888513855220963933e-01 3.366891793777585296e+00 4.637231384311328407e-06 -6.073594834385067642e-01 4.714866363457389474e+08 5.766832807320259047e-01 3.366705647129743184e+00 6.485864793363625844e-06 -7.158404288682718164e-01 4.714866363457389474e+08 6.805196955843235695e-01 3.366477780306076806e+00 9.082644478831508380e-06 -8.436972395676662906e-01 4.714866363457389474e+08 8.036632910789643924e-01 3.367949021549669020e+00 1.275673841018744794e-05 -9.943906537655036182e-01 4.714866363457389474e+08 9.492747774957394080e-01 3.367158744681449711e+00 1.799898816815684533e-05 -1.171999534812844468e+00 4.714866363457389474e+08 1.122346104324967175e+00 3.367334809846144861e+00 2.558372302601686764e-05 -1.381331274987467994e+00 4.714866363457389474e+08 1.328385787529851925e+00 3.367932190390722003e+00 3.668772215091477393e-05 -1.628051918606947979e+00 4.714866363457389474e+08 1.573797826425534563e+00 3.366689775977066645e+00 5.342685861479890881e-05 -1.918839526531252559e+00 4.714866363457389474e+08 1.867675118878708407e+00 3.367452138355636837e+00 7.978401850388030646e-05 -2.261564933217340645e+00 4.714866363457389474e+08 2.219302780814790488e+00 3.366792836381730325e+00 1.248908027424896464e-04 -2.665504788930584290e+00 4.714866363457389474e+08 2.640318459506214133e+00 3.367716638885161373e+00 2.209767029999045796e-04 -3.141592653589792672e+00 4.714866363457389474e+08 3.141592653589792672e+00 3.335628017045612737e+00 8.856671296353825149e-03 -1.000000000000000021e-03 9.540954763499963284e+08 9.405099459373693046e-04 2.980645526857059302e+00 3.753677147534327213e-11 -1.178610770701415088e-03 9.540954763499963284e+08 1.108267753353885153e-03 2.980223161484225614e+00 5.208941362415973753e-11 -1.389123348813385214e-03 9.540954763499963284e+08 1.306761829283502362e-03 2.982121945982851852e+00 7.258647412649831262e-11 -1.637235740744274635e-03 9.540954763499963284e+08 1.541673489423559104e-03 2.986177744779351606e+00 1.006642428918953567e-10 -1.929663678218512032e-03 9.540954763499963284e+08 1.819604597994064913e-03 2.992017098772094652e+00 1.406296510087657836e-10 -2.274322394979648009e-03 9.540954763499963284e+08 2.141037010835593422e-03 2.985289563904539367e+00 1.952418119614762876e-10 -2.680540870770453925e-03 9.540954763499963284e+08 2.521054902964304026e-03 2.981483729145997241e+00 2.714875290286509251e-10 -3.159314341595407215e-03 9.540954763499963284e+08 2.980023302243041405e-03 2.993172961657279085e+00 3.768886615146384309e-10 -3.723601911035797143e-03 9.540954763499963284e+08 3.512907121208710612e-03 2.993771863979838521e+00 5.234506193557984163e-10 -4.388677318151167420e-03 9.540954763499963284e+08 4.131600889341035740e-03 2.984953616859490122e+00 7.302552807137783733e-10 -5.172542356305966961e-03 9.540954763499963284e+08 4.876200658540877017e-03 2.990290884478654654e+00 1.016403243034859580e-09 -6.096414133051489617e-03 9.540954763499963284e+08 5.742777326510763863e-03 2.986959247425291952e+00 1.412376514868719739e-09 -7.185299359870824139e-03 9.540954763499963284e+08 6.767651278589020304e-03 2.986205631532730109e+00 1.964817250503463269e-09 -8.468671216257736209e-03 9.540954763499963284e+08 7.980093111760191982e-03 2.987812890681967204e+00 2.725469292839212294e-09 -9.981267109010422481e-03 9.540954763499963284e+08 9.414336735412798945e-03 2.991445263934929599e+00 3.791672696437288465e-09 -1.176402891992746509e-02 9.540954763499963284e+08 1.108910916510681167e-02 2.988661443179589927e+00 5.283138460857373721e-09 -1.386521119186945317e-02 9.540954763499963284e+08 1.306978362776952361e-02 2.988393298106247986e+00 7.325720391887354109e-09 -1.634168724878715118e-02 9.540954763499963284e+08 1.541247916209076071e-02 2.990333287058944745e+00 1.019364495665309834e-08 -1.926048860285451206e-02 9.540954763499963284e+08 1.815323480814384771e-02 2.987308270233352658e+00 1.417263417520221855e-08 -2.270061931629619237e-02 9.540954763499963284e+08 2.142870551542707530e-02 2.993452417426317069e+00 1.971308779632019847e-08 -2.675519442777928719e-02 9.540954763499963284e+08 2.522778306878172006e-02 2.988493931224718292e+00 2.740513400715084331e-08 -3.153396032479117289e-02 9.540954763499963284e+08 2.976273713491370612e-02 2.992275564619420347e+00 3.808563290927615376e-08 -3.716626528166998983e-02 9.540954763499963284e+08 3.507987585446185885e-02 2.992143101471176792e+00 5.287633584788485135e-08 -4.380456056772231294e-02 9.540954763499963284e+08 4.131538029299201137e-02 2.988825857009326015e+00 7.357993103954775881e-08 -5.162852689096004283e-02 9.540954763499963284e+08 4.874806704441372179e-02 2.993131361526752521e+00 1.022869747796007929e-07 -6.084993786913318187e-02 9.540954763499963284e+08 5.740818719415841098e-02 2.989432948448915273e+00 1.422727867334203493e-07 -7.171839216907228975e-02 9.540954763499963284e+08 6.772198052260390566e-02 2.992870428771422286e+00 1.977109536399997556e-07 -8.452806946785666742e-02 9.540954763499963284e+08 7.983926236825181211e-02 2.993706022160548930e+00 2.749780486535805791e-07 -9.962569310141336509e-02 9.540954763499963284e+08 9.407704726509745485e-02 2.992373385675787922e+00 3.823980659010722248e-07 -1.174199149279194637e-01 9.540954763499963284e+08 1.109129667376308470e-01 2.993266580189196890e+00 5.317965032807386456e-07 -1.383923764288897684e-01 9.540954763499963284e+08 1.307068257550853541e-01 2.992323102789315570e+00 7.396482977873287171e-07 -1.631107454420542835e-01 9.540954763499963284e+08 1.541102852366613152e-01 2.993434032428340608e+00 1.028681471673018935e-06 -1.922440813951419580e-01 9.540954763499963284e+08 1.816417084398390114e-01 2.992973450031515270e+00 1.430783376389286571e-06 -2.265809449359138250e-01 9.540954763499963284e+08 2.140300323370273039e-01 2.991136310207748394e+00 1.991025885043127381e-06 -2.670507421371726142e-01 9.540954763499963284e+08 2.523185524400085034e-01 2.991194861392604487e+00 2.769388043710262583e-06 -3.147488810066778608e-01 9.540954763499963284e+08 2.975887752985031942e-01 2.992863470766787160e+00 3.855631789590666561e-06 -3.709664212206886247e-01 9.540954763499963284e+08 3.508884326210894855e-01 2.992987784150455965e+00 5.368648475241698649e-06 -4.372250196192620786e-01 9.540954763499963284e+08 4.136466842384788900e-01 2.991600335699692526e+00 7.483056415538093302e-06 -5.153181173433998286e-01 9.540954763499963284e+08 4.881224395399070271e-01 2.993839892863164209e+00 1.044510552983464954e-05 -6.073594834385067642e-01 9.540954763499963284e+08 5.758677884019621773e-01 2.993912134413319048e+00 1.459752556204449610e-05 -7.158404288682718164e-01 9.540954763499963284e+08 6.796111980824559584e-01 2.993925505237926554e+00 2.044854043507911902e-05 -8.436972395676662906e-01 9.540954763499963284e+08 8.022802274477259799e-01 2.993118553035515994e+00 2.875716256043614347e-05 -9.943906537655036182e-01 9.540954763499963284e+08 9.477639635723401623e-01 2.992685759762597097e+00 4.059628174290076750e-05 -1.171999534812844468e+00 9.540954763499963284e+08 1.120729979618192873e+00 2.993085641313413259e+00 5.773631912033776425e-05 -1.381331274987467994e+00 9.540954763499963284e+08 1.326699148756293356e+00 2.993804492247885030e+00 8.303676363411625027e-05 -1.628051918606947979e+00 9.540954763499963284e+08 1.572101752398740393e+00 2.992870351751658831e+00 1.213011113137599364e-04 -1.918839526531252559e+00 9.540954763499963284e+08 1.866084378780916486e+00 2.993618878292895413e+00 1.819191394477893931e-04 -2.261564933217340645e+00 9.540954763499963284e+08 2.217959105268032971e+00 2.992899668432388083e+00 2.866142459544115994e-04 -2.665504788930584290e+00 9.540954763499963284e+08 2.639434247922086474e+00 2.992968666521011567e+00 5.105312351699124555e-04 -3.141592653589792672e+00 9.540954763499963284e+08 3.141592653589792672e+00 2.964876798677569703e+00 1.993247778729934430e-02 -1.000000000000000021e-03 1.930697728883245707e+09 9.391891426918626620e-04 2.651905597971788708e+00 8.799333843749559254e-11 -1.178610770701415088e-03 1.930697728883245707e+09 1.106747261207424986e-03 2.651652439047644361e+00 1.196637411750728911e-10 -1.389123348813385214e-03 1.930697728883245707e+09 1.305073089709342295e-03 2.653570244900388175e+00 1.683657921532354767e-10 -1.637235740744274635e-03 1.930697728883245707e+09 1.539759215495701281e-03 2.657277271759662440e+00 2.359227316277642765e-10 -1.929663678218512032e-03 1.930697728883245707e+09 1.810511018841922488e-03 2.649315082840365765e+00 3.227194524111882433e-10 -2.274322394979648009e-03 1.930697728883245707e+09 2.138578458136672182e-03 2.656823940979933685e+00 4.526013095284444563e-10 -2.680540870770453925e-03 1.930697728883245707e+09 2.518204224759124088e-03 2.653563933967142408e+00 6.327680895607679724e-10 -3.159314341595407215e-03 1.930697728883245707e+09 2.967368415556425384e-03 2.652762411302190149e+00 8.767339303256846465e-10 -3.723601911035797143e-03 1.930697728883245707e+09 3.498747760734748601e-03 2.653986331257204956e+00 1.208079082396652082e-09 -4.388677318151167420e-03 1.930697728883245707e+09 4.127556344324510851e-03 2.657111539893226571e+00 1.692839663663124730e-09 -5.172542356305966961e-03 1.930697728883245707e+09 4.871660716518677603e-03 2.661949567096725477e+00 2.350250757276064775e-09 -6.096414133051489617e-03 1.930697728883245707e+09 5.737512486584591363e-03 2.659082983410409717e+00 3.257861506272098463e-09 -7.185299359870824139e-03 1.930697728883245707e+09 6.761763420717601010e-03 2.658584381491499116e+00 4.567919209903394896e-09 -8.468671216257736209e-03 1.930697728883245707e+09 7.973373826906963655e-03 2.660091372090401585e+00 6.314104728084344952e-09 -9.981267109010422481e-03 1.930697728883245707e+09 9.386439405519338489e-03 2.655680370306553684e+00 8.807519363794814976e-09 -1.176402891992746509e-02 1.930697728883245707e+09 1.108052489402089509e-02 2.661074195414230292e+00 1.214926247098275170e-08 -1.386521119186945317e-02 1.930697728883245707e+09 1.305992101542933354e-02 2.660907690066616649e+00 1.688820900051113065e-08 -1.634168724878715118e-02 1.930697728883245707e+09 1.537326827313879006e-02 2.656186005566548047e+00 2.368662466872858593e-08 -1.926048860285451206e-02 1.930697728883245707e+09 1.814052747857764283e-02 2.660146800708672377e+00 3.281200150184086903e-08 -2.270061931629619237e-02 1.930697728883245707e+09 2.137966282912304866e-02 2.659737788582797968e+00 4.572036876258451676e-08 -2.675519442777928719e-02 1.930697728883245707e+09 2.521150697142898744e-02 2.661383509617406773e+00 6.303760693415094618e-08 -3.153396032479117289e-02 1.930697728883245707e+09 2.970093843137102882e-02 2.659482784469580974e+00 8.845635721384640406e-08 -3.716626528166998983e-02 1.930697728883245707e+09 3.501048327850841968e-02 2.659717569954040517e+00 1.221893725150137494e-07 -4.380456056772231294e-02 1.930697728883245707e+09 4.129128033510019724e-02 2.661895925980266586e+00 1.709227195409204425e-07 -5.162852689096004283e-02 1.930697728883245707e+09 4.866075060558082421e-02 2.661233770199990190e+00 2.357456855900758356e-07 -6.084993786913318187e-02 1.930697728883245707e+09 5.730916454362940810e-02 2.658282164191258623e+00 3.297375060380320894e-07 -7.171839216907228975e-02 1.930697728883245707e+09 6.761177146216275358e-02 2.661595992790042775e+00 4.586182305475538061e-07 -8.452806946785666742e-02 1.930697728883245707e+09 7.963074287836671705e-02 2.658724267073321101e+00 6.350146694789074678e-07 -9.962569310141336509e-02 1.930697728883245707e+09 9.393752738636426680e-02 2.661683499417092591e+00 8.877795856080961259e-07 -1.174199149279194637e-01 1.930697728883245707e+09 1.106502439162859869e-01 2.659210332055551795e+00 1.227588850399424428e-06 -1.383923764288897684e-01 1.930697728883245707e+09 1.305286938667131469e-01 2.662068296595507810e+00 1.712000368113159938e-06 -1.631107454420542835e-01 1.930697728883245707e+09 1.537791578276388460e-01 2.660128855071539622e+00 2.378756943137942467e-06 -1.922440813951419580e-01 1.930697728883245707e+09 1.812681271809137573e-01 2.660054703012392441e+00 3.311656416546024402e-06 -2.265809449359138250e-01 1.930697728883245707e+09 2.137732674211381134e-01 2.661607738149139646e+00 4.598260686232054406e-06 -2.670507421371726142e-01 1.930697728883245707e+09 2.520296642365691397e-01 2.661845527798690103e+00 6.422155145473530725e-06 -3.147488810066778608e-01 1.930697728883245707e+09 2.970560872941403474e-01 2.660863392693707752e+00 8.916120998148499490e-06 -3.709664212206886247e-01 1.930697728883245707e+09 3.502887088951988637e-01 2.661228706938198130e+00 1.239308912393410329e-05 -4.372250196192620786e-01 1.930697728883245707e+09 4.129712895854527610e-01 2.660262722887611453e+00 1.731579312784471423e-05 -5.153181173433998286e-01 1.930697728883245707e+09 4.870779857359291420e-01 2.660171415136518114e+00 2.415322244850964570e-05 -6.073594834385067642e-01 1.930697728883245707e+09 5.747005146281527477e-01 2.660527607331814259e+00 3.383403279133471271e-05 -7.158404288682718164e-01 1.930697728883245707e+09 6.783130561934694880e-01 2.660811130275907210e+00 4.732317398926171953e-05 -8.436972395676662906e-01 1.930697728883245707e+09 8.008443194776105889e-01 2.660352886971574016e+00 6.679755476985058658e-05 -9.943906537655036182e-01 1.930697728883245707e+09 9.466265980310925032e-01 2.662175067229649361e+00 9.457869389769921621e-05 -1.171999534812844468e+00 1.930697728883245707e+09 1.119053519830519372e+00 2.660773739620387435e+00 1.345644791916526339e-04 -1.381331274987467994e+00 1.930697728883245707e+09 1.324956462631919907e+00 2.661602983245050069e+00 1.940945634258629197e-04 -1.628051918606947979e+00 1.930697728883245707e+09 1.570349230120118067e+00 2.660920477043878130e+00 2.846234113088058236e-04 -1.918839526531252559e+00 1.930697728883245707e+09 1.864438141734610088e+00 2.661638489333494118e+00 4.289686840546777600e-04 -2.261564933217340645e+00 1.930697728883245707e+09 2.216574153001136249e+00 2.660912996303971934e+00 6.787273461873198676e-04 -2.665504788930584290e+00 1.930697728883245707e+09 2.638520435591497293e+00 2.660313451775439209e+00 1.199053314228514357e-03 -3.141592653589792672e+00 1.930697728883245707e+09 3.141592653589792672e+00 2.636384768637771270e+00 4.487702249284716838e-02 -1.000000000000000021e-03 3.906939937054620743e+09 9.475621299578212975e-04 2.384113516595048221e+00 2.042798406832234262e-10 -1.178610770701415088e-03 3.906939937054620743e+09 1.116773491279378231e-03 2.387050337818624079e+00 2.836464815802396202e-10 -1.389123348813385214e-03 3.906939937054620743e+09 1.314138942326736241e-03 2.386196421917352151e+00 3.922545628009777532e-10 -1.637235740744274635e-03 3.906939937054620743e+09 1.549634258028889091e-03 2.388147527841720130e+00 5.433780849757507752e-10 -1.929663678218512032e-03 3.906939937054620743e+09 1.826027026178632861e-03 2.382937567835028858e+00 7.626023998205755016e-10 -2.274322394979648009e-03 3.906939937054620743e+09 2.152129318870380642e-03 2.382122218874281661e+00 1.060836426944079091e-09 -2.680540870770453925e-03 3.906939937054620743e+09 2.537001188468297058e-03 2.388324274885738063e+00 1.464049013333325345e-09 -3.159314341595407215e-03 3.906939937054620743e+09 2.991937652280686130e-03 2.385735001353676221e+00 2.041888059260457839e-09 -3.723601911035797143e-03 3.906939937054620743e+09 3.527563477292239638e-03 2.386100447298348914e+00 2.847203238619141712e-09 -4.388677318151167420e-03 3.906939937054620743e+09 4.162111021837018761e-03 2.390940628084514685e+00 3.969550172440901151e-09 -5.172542356305966961e-03 3.906939937054620743e+09 4.903251982988778880e-03 2.388635308011684444e+00 5.514435363990349306e-09 -6.096414133051489617e-03 3.906939937054620743e+09 5.777053486654264505e-03 2.389834830722256331e+00 7.642171973892386648e-09 -7.185299359870824139e-03 3.906939937054620743e+09 6.801791933176742216e-03 2.383931032769639025e+00 1.063772512097734740e-08 -8.468671216257736209e-03 3.906939937054620743e+09 8.023066736833022253e-03 2.391329052608803796e+00 1.468845024731708038e-08 -9.981267109010422481e-03 3.906939937054620743e+09 9.442028185362633108e-03 2.386069860994938896e+00 2.043252946996207654e-08 -1.176402891992746509e-02 3.906939937054620743e+09 1.113717972731797894e-02 2.384366216988950793e+00 2.858470102200678105e-08 -1.386521119186945317e-02 3.906939937054620743e+09 1.313591016317579817e-02 2.389653813471542154e+00 3.959978762841810330e-08 -1.634168724878715118e-02 3.906939937054620743e+09 1.547972131527180530e-02 2.387232918325949083e+00 5.516376385965957879e-08 -1.926048860285451206e-02 3.906939937054620743e+09 1.824017824787172587e-02 2.386382069137855666e+00 7.671556248011812307e-08 -2.270061931629619237e-02 3.906939937054620743e+09 2.151326192372362070e-02 2.390419346178676019e+00 1.062099653677913819e-07 -2.675519442777928719e-02 3.906939937054620743e+09 2.535937567935021494e-02 2.389511022304219079e+00 1.480210922595518478e-07 -3.153396032479117289e-02 3.906939937054620743e+09 2.990430463983910145e-02 2.391344622380523699e+00 2.058369969573445668e-07 -3.716626528166998983e-02 3.906939937054620743e+09 3.519320122007250223e-02 2.388066258919539830e+00 2.853674975923983723e-07 -4.380456056772231294e-02 3.906939937054620743e+09 4.151129900726956840e-02 2.389019668628703741e+00 3.977445286748046007e-07 -5.162852689096004283e-02 3.906939937054620743e+09 4.892546507591451210e-02 2.389578986578762887e+00 5.525225526915833100e-07 -6.084993786913318187e-02 3.906939937054620743e+09 5.767804850590332877e-02 2.388716271604150787e+00 7.699176805827012843e-07 -7.171839216907228975e-02 3.906939937054620743e+09 6.798178578543628836e-02 2.388729676718934769e+00 1.070307669586995654e-06 -8.452806946785666742e-02 3.906939937054620743e+09 8.014108945177574050e-02 2.390808900558909489e+00 1.485505493521549660e-06 -9.962569310141336509e-02 3.906939937054620743e+09 9.446188166483292237e-02 2.390316908457635670e+00 2.067290572558819176e-06 -1.174199149279194637e-01 3.906939937054620743e+09 1.113166627017771609e-01 2.388732940892162038e+00 2.878446260649741116e-06 -1.383923764288897684e-01 3.906939937054620743e+09 1.311470395741324291e-01 2.389021292911348127e+00 3.992045226978618254e-06 -1.631107454420542835e-01 3.906939937054620743e+09 1.546804218036610390e-01 2.389436424788342617e+00 5.565890504582300219e-06 -1.922440813951419580e-01 3.906939937054620743e+09 1.823783229835906350e-01 2.390243797314630658e+00 7.743686598150333902e-06 -2.265809449359138250e-01 3.906939937054620743e+09 2.148147932346456679e-01 2.388694771535067041e+00 1.075277728034476988e-05 -2.670507421371726142e-01 3.906939937054620743e+09 2.533616630493683575e-01 2.390516546062903203e+00 1.496120400456513416e-05 -3.147488810066778608e-01 3.906939937054620743e+09 2.987750095072642664e-01 2.390561146918653179e+00 2.085158995109607984e-05 -3.709664212206886247e-01 3.906939937054620743e+09 3.522916772163304233e-01 2.390786844500556008e+00 2.904276111196716007e-05 -4.372250196192620786e-01 3.906939937054620743e+09 4.152529012668275676e-01 2.390361224396305939e+00 4.042891032707009961e-05 -5.153181173433998286e-01 3.906939937054620743e+09 4.899407526973273974e-01 2.391324962235602314e+00 5.646076908477226533e-05 -6.073594834385067642e-01 3.906939937054620743e+09 5.778997301978510137e-01 2.390884478218058717e+00 7.893027491906523324e-05 -7.158404288682718164e-01 3.906939937054620743e+09 6.818165990751132721e-01 2.390170887051180415e+00 1.105928495491251138e-04 -8.436972395676662906e-01 3.906939937054620743e+09 8.050658253976861189e-01 2.390424890518183965e+00 1.555721350096645340e-04 -9.943906537655036182e-01 3.906939937054620743e+09 9.507220221534933291e-01 2.389580067614095249e+00 2.196909437318060598e-04 -1.171999534812844468e+00 3.906939937054620743e+09 1.124122443465476628e+00 2.390348258921496161e+00 3.125529998327646075e-04 -1.381331274987467994e+00 3.906939937054620743e+09 1.329836991241445832e+00 2.389971448080723260e+00 4.488165996622272029e-04 -1.628051918606947979e+00 3.906939937054620743e+09 1.575773623795421852e+00 2.390860675290163773e+00 6.554712003274320783e-04 -1.918839526531252559e+00 3.906939937054620743e+09 1.869392792900531619e+00 2.391148394997277826e+00 9.819440094991579732e-04 -2.261564933217340645e+00 3.906939937054620743e+09 2.221093131720872194e+00 2.391396193449372376e+00 1.543175311073134845e-03 -2.665504788930584290e+00 3.906939937054620743e+09 2.641258610617161828e+00 2.391329978216444552e+00 2.707913818496666437e-03 -3.141592653589792672e+00 3.906939937054620743e+09 3.141592653589792672e+00 2.368263023379246324e+00 1.015264047748904164e-01 -1.000000000000000021e-03 7.906043210907701492e+09 9.433592487844376633e-04 2.120548968359538211e+00 4.567106275676494890e-10 -1.178610770701415088e-03 7.906043210907701492e+09 1.112519238995715544e-03 2.122047289282656291e+00 6.350513171647891102e-10 -1.389123348813385214e-03 7.906043210907701492e+09 1.314089953224147241e-03 2.127512478494068215e+00 8.864002798407775197e-10 -1.637235740744274635e-03 7.906043210907701492e+09 1.546781994845153633e-03 2.123914666986276956e+00 1.235579520047299965e-09 -1.929663678218512032e-03 7.906043210907701492e+09 1.819823448574069526e-03 2.121699118916104521e+00 1.707200850756057060e-09 -2.274322394979648009e-03 7.906043210907701492e+09 2.143835302140064021e-03 2.122353808288319321e+00 2.377070808149259099e-09 -2.680540870770453925e-03 7.906043210907701492e+09 2.529198640960503286e-03 2.120361557457951296e+00 3.315679400095651118e-09 -3.159314341595407215e-03 7.906043210907701492e+09 2.977486995674218963e-03 2.120526002121123632e+00 4.604124307142590588e-09 -3.723601911035797143e-03 7.906043210907701492e+09 3.513609490749522619e-03 2.121309462392057643e+00 6.414016826440157393e-09 -4.388677318151167420e-03 7.906043210907701492e+09 4.138411214928873136e-03 2.121072806229718388e+00 8.904830362042387204e-09 -5.172542356305966961e-03 7.906043210907701492e+09 4.882119784510367995e-03 2.125530185278142525e+00 1.232836083840739425e-08 -6.096414133051489617e-03 7.906043210907701492e+09 5.749489934899348030e-03 2.123017781297214412e+00 1.719884796625844110e-08 -7.185299359870824139e-03 7.906043210907701492e+09 6.781798951234651283e-03 2.125013903426525186e+00 2.392294108249452688e-08 -8.468671216257736209e-03 7.906043210907701492e+09 8.003526605950925243e-03 2.125649437017330445e+00 3.335003544329113815e-08 -9.981267109010422481e-03 7.906043210907701492e+09 9.425583927385830854e-03 2.124323690088975702e+00 4.622192722173946971e-08 -1.176402891992746509e-02 7.906043210907701492e+09 1.112365447563446429e-02 2.127763161652191481e+00 6.430029586565000166e-08 -1.386521119186945317e-02 7.906043210907701492e+09 1.309307807520548005e-02 2.125701130529040306e+00 8.942852725858829730e-08 -1.634168724878715118e-02 7.906043210907701492e+09 1.544297978511051210e-02 2.126850832833908633e+00 1.241964380476294665e-07 -1.926048860285451206e-02 7.906043210907701492e+09 1.818896680731122567e-02 2.124690569446876953e+00 1.727314326384000424e-07 -2.270061931629619237e-02 7.906043210907701492e+09 2.144659256028473918e-02 2.125982289459079411e+00 2.400503395713832743e-07 -2.675519442777928719e-02 7.906043210907701492e+09 2.527522559609591407e-02 2.124725411039351641e+00 3.342619289127643807e-07 -3.153396032479117289e-02 7.906043210907701492e+09 2.982100303229184846e-02 2.126823551681197522e+00 4.649821482797716292e-07 -3.716626528166998983e-02 7.906043210907701492e+09 3.511412689594609060e-02 2.124685855179182958e+00 6.459715707148001300e-07 -4.380456056772231294e-02 7.906043210907701492e+09 4.144805370968417113e-02 2.128082706852614248e+00 8.988779666074840819e-07 -5.162852689096004283e-02 7.906043210907701492e+09 4.880386521233005120e-02 2.126139937684431214e+00 1.246753204332726975e-06 -6.084993786913318187e-02 7.906043210907701492e+09 5.753933897027034561e-02 2.126146170535556212e+00 1.734851345089286493e-06 -7.171839216907228975e-02 7.906043210907701492e+09 6.780768100099537898e-02 2.125563350630808479e+00 2.412281849805900481e-06 -8.452806946785666742e-02 7.906043210907701492e+09 7.990507031156099393e-02 2.125420853718495540e+00 3.352912928081142797e-06 -9.962569310141336509e-02 7.906043210907701492e+09 9.416615446557492775e-02 2.125757587451480468e+00 4.658577122482461899e-06 -1.174199149279194637e-01 7.906043210907701492e+09 1.110832147674596093e-01 2.128020017836663946e+00 6.479501310150626446e-06 -1.383923764288897684e-01 7.906043210907701492e+09 1.309235109900069860e-01 2.126862669169353293e+00 9.020091319943802861e-06 -1.631107454420542835e-01 7.906043210907701492e+09 1.543422310710956258e-01 2.128098517181642002e+00 1.253343218169165395e-05 -1.922440813951419580e-01 7.906043210907701492e+09 1.819040588848326312e-01 2.127301970118866237e+00 1.744071948624476150e-05 -2.265809449359138250e-01 7.906043210907701492e+09 2.143417022897168567e-01 2.126375353079585917e+00 2.425468969778137122e-05 -2.670507421371726142e-01 7.906043210907701492e+09 2.527000724784010388e-01 2.126167982524123978e+00 3.376368663653413156e-05 -3.147488810066778608e-01 7.906043210907701492e+09 2.980695283687819774e-01 2.127887356674701635e+00 4.698913799625875480e-05 -3.709664212206886247e-01 7.906043210907701492e+09 3.512623633528748068e-01 2.126902436581563194e+00 6.540996648180680013e-05 -4.372250196192620786e-01 7.906043210907701492e+09 4.143454361910651751e-01 2.127360805874399130e+00 9.123336432644067826e-05 -5.153181173433998286e-01 7.906043210907701492e+09 4.885849498424064130e-01 2.126921337870861795e+00 1.273056734203867845e-04 -6.073594834385067642e-01 7.906043210907701492e+09 5.764522200378597860e-01 2.127517342263502531e+00 1.779356540936133347e-04 -7.158404288682718164e-01 7.906043210907701492e+09 6.804423585632684013e-01 2.127922914665111076e+00 2.494580010104771118e-04 -8.436972395676662906e-01 7.906043210907701492e+09 8.031870862242288522e-01 2.127208790263036331e+00 3.508049795792832193e-04 -9.943906537655036182e-01 7.906043210907701492e+09 9.490524291070788765e-01 2.127675618074417407e+00 4.958835014607108687e-04 -1.171999534812844468e+00 7.906043210907701492e+09 1.121835353395255419e+00 2.127226742271865589e+00 7.056610676147750038e-04 -1.381331274987467994e+00 7.906043210907701492e+09 1.327920697292243712e+00 2.127422562146634277e+00 1.015557642222747253e-03 -1.628051918606947979e+00 7.906043210907701492e+09 1.573529226516200197e+00 2.127579764259927231e+00 1.484658020130886352e-03 -1.918839526531252559e+00 7.906043210907701492e+09 1.867175537393395812e+00 2.127422348008624731e+00 2.228419592902892727e-03 -2.261564933217340645e+00 7.906043210907701492e+09 2.218869606930765404e+00 2.127164405981484485e+00 3.504470739196723344e-03 -2.665504788930584290e+00 7.906043210907701492e+09 2.639992754373353012e+00 2.127043109180726255e+00 6.134359278645695746e-03 -3.141592653589792672e+00 7.906043210907701492e+09 3.141592653589792672e+00 2.107738326284115171e+00 2.306406339696827346e-01 -1.000000000000000021e-03 1.599858719606057358e+10 9.447295296765231831e-04 1.905413018390630153e+00 1.028241720872833712e-09 -1.178610770701415088e-03 1.599858719606057358e+10 1.113709303405325873e-03 1.906120435972886495e+00 1.431844918164157299e-09 -1.389123348813385214e-03 1.599858719606057358e+10 1.313593832864962596e-03 1.908140076547101271e+00 1.988205104133816698e-09 -1.637235740744274635e-03 1.599858719606057358e+10 1.549923717047917279e-03 1.911149503413553052e+00 2.774206680001896078e-09 -1.929663678218512032e-03 1.599858719606057358e+10 1.823008558939220522e-03 1.905713305628966125e+00 3.861357397136812321e-09 -2.274322394979648009e-03 1.599858719606057358e+10 2.153022203830582716e-03 1.911144854228770340e+00 5.370065137332968398e-09 -2.680540870770453925e-03 1.599858719606057358e+10 2.535319634887829663e-03 1.908716157947913716e+00 7.455599691970346540e-09 -3.159314341595407215e-03 1.599858719606057358e+10 2.988328115154864108e-03 1.908400865098243360e+00 1.038833530489417403e-08 -3.723601911035797143e-03 1.599858719606057358e+10 3.524835710306410946e-03 1.909998898577342841e+00 1.439974753035606816e-08 -4.388677318151167420e-03 1.599858719606057358e+10 4.158666832465347622e-03 1.912506111561280919e+00 2.009594643370350338e-08 -5.172542356305966961e-03 1.599858719606057358e+10 4.898270214903479268e-03 1.910225340924786019e+00 2.789157414842452033e-08 -6.096414133051489617e-03 1.599858719606057358e+10 5.767555984985885988e-03 1.907403881187775818e+00 3.888401935534813760e-08 -7.185299359870824139e-03 1.599858719606057358e+10 6.798608667052077024e-03 1.908113029007577177e+00 5.393173240418568960e-08 -8.468671216257736209e-03 1.599858719606057358e+10 8.024420552872868137e-03 1.912432689796009999e+00 7.499874730726915994e-08 -9.981267109010422481e-03 1.599858719606057358e+10 9.452223872034535776e-03 1.910722132948223795e+00 1.042837499547364013e-07 -1.176402891992746509e-02 1.599858719606057358e+10 1.115361691749796290e-02 1.913357203590172917e+00 1.451568446595998794e-07 -1.386521119186945317e-02 1.599858719606057358e+10 1.314174669870229323e-02 1.912828060517248518e+00 2.017494394601636120e-07 -1.634168724878715118e-02 1.599858719606057358e+10 1.548210568639601589e-02 1.911415115483008575e+00 2.805817189163679675e-07 -1.926048860285451206e-02 1.599858719606057358e+10 1.824557351905626429e-02 1.910612025915119583e+00 3.902918495839118170e-07 -2.270061931629619237e-02 1.599858719606057358e+10 2.151743644139593112e-02 1.911853620695954215e+00 5.425896261301887092e-07 -2.675519442777928719e-02 1.599858719606057358e+10 2.536526931716252126e-02 1.912241479147082979e+00 7.533319063062230191e-07 -3.153396032479117289e-02 1.599858719606057358e+10 2.988822176951862197e-02 1.911728396384734241e+00 1.047426318150686831e-06 -3.716626528166998983e-02 1.599858719606057358e+10 3.523053710408449724e-02 1.912499919144999616e+00 1.455679585138117033e-06 -4.380456056772231294e-02 1.599858719606057358e+10 4.154669180329807754e-02 1.913031707973748663e+00 2.025251233992200768e-06 -5.162852689096004283e-02 1.599858719606057358e+10 4.895889819733045822e-02 1.913213198453195263e+00 2.814472194234444367e-06 -6.084993786913318187e-02 1.599858719606057358e+10 5.771403743552796367e-02 1.913275729936559477e+00 3.915413526002377587e-06 -7.171839216907228975e-02 1.599858719606057358e+10 6.799416891187053114e-02 1.911944594254270546e+00 5.443805448768591494e-06 -8.452806946785666742e-02 1.599858719606057358e+10 8.013984352056297000e-02 1.912053445667027951e+00 7.569537729728641536e-06 -9.962569310141336509e-02 1.599858719606057358e+10 9.451789899974369358e-02 1.912955078402936104e+00 1.053544422102074486e-05 -1.174199149279194637e-01 1.599858719606057358e+10 1.114009815638078299e-01 1.913338782133469973e+00 1.464290256836212354e-05 -1.383923764288897684e-01 1.599858719606057358e+10 1.312213081195038600e-01 1.911258812525892914e+00 2.036728685009067081e-05 -1.631107454420542835e-01 1.599858719606057358e+10 1.546735616003431790e-01 1.911246301691927885e+00 2.832434379176473538e-05 -1.922440813951419580e-01 1.599858719606057358e+10 1.823494429429011188e-01 1.911818512008017557e+00 3.939086673288002752e-05 -2.265809449359138250e-01 1.599858719606057358e+10 2.149626238880520956e-01 1.911460517247503210e+00 5.483040133356921703e-05 -2.670507421371726142e-01 1.599858719606057358e+10 2.533879845420630161e-01 1.911745128931378712e+00 7.624408527040518161e-05 -3.147488810066778608e-01 1.599858719606057358e+10 2.987968094267505759e-01 1.912371822018845258e+00 1.061285606432345259e-04 -3.709664212206886247e-01 1.599858719606057358e+10 3.523414049066510567e-01 1.912797129004742303e+00 1.477979555014699326e-04 -4.372250196192620786e-01 1.599858719606057358e+10 4.153675534029035998e-01 1.911781441960071160e+00 2.060597329062168902e-04 -5.153181173433998286e-01 1.599858719606057358e+10 4.899662736950721742e-01 1.912559158029828010e+00 2.874652666270925694e-04 -6.073594834385067642e-01 1.599858719606057358e+10 5.780940116143394869e-01 1.913038177978362286e+00 4.018044196140185169e-04 -7.158404288682718164e-01 1.599858719606057358e+10 6.820696049666633565e-01 1.912467856992329018e+00 5.629581416775198809e-04 -8.436972395676662906e-01 1.599858719606057358e+10 8.052419973417787036e-01 1.912328435849458330e+00 7.914132919394991934e-04 -9.943906537655036182e-01 1.599858719606057358e+10 9.513972348391191991e-01 1.913337360338486448e+00 1.117389234418401673e-03 -1.171999534812844468e+00 1.599858719606057358e+10 1.124524229941654463e+00 1.912782526020036844e+00 1.589045691347588636e-03 -1.381331274987467994e+00 1.599858719606057358e+10 1.330326887401246827e+00 1.912305290324253226e+00 2.282301618405551628e-03 -1.628051918606947979e+00 1.599858719606057358e+10 1.576109514712461745e+00 1.912358206076781197e+00 3.332055272952615804e-03 -1.918839526531252559e+00 1.599858719606057358e+10 1.869821741363552947e+00 1.912414789368024781e+00 4.992676508042998007e-03 -2.261564933217340645e+00 1.599858719606057358e+10 2.221360347740479302e+00 1.913216856012442513e+00 7.844299102348946048e-03 -2.665504788930584290e+00 1.599858719606057358e+10 2.641408213384943249e+00 1.913140825718123716e+00 1.379120237885886856e-02 -3.141592653589792672e+00 1.599858719606057358e+10 3.141592653589792672e+00 1.895020335318271743e+00 5.193948716204590532e-01 -1.000000000000000021e-03 3.237457542817653275e+10 9.423824199521735855e-04 1.700515881685741082e+00 2.322471524404336709e-09 -1.178610770701415088e-03 3.237457542817653275e+10 1.110705318338118044e-03 1.700702123700747137e+00 3.230233734283885458e-09 -1.389123348813385214e-03 3.237457542817653275e+10 1.309822259536544149e-03 1.702086367813935075e+00 4.485343715834961329e-09 -1.637235740744274635e-03 3.237457542817653275e+10 1.545309118636905557e-03 1.704446353184243756e+00 6.247971922109229246e-09 -1.929663678218512032e-03 3.237457542817653275e+10 1.817139221533710380e-03 1.699311246050097646e+00 8.704477931078965494e-09 -2.274322394979648009e-03 3.237457542817653275e+10 2.146053725561725915e-03 1.703895833032508689e+00 1.210928981576930254e-08 -2.680540870770453925e-03 3.237457542817653275e+10 2.526954092409826845e-03 1.701702435143468195e+00 1.679935580684264781e-08 -3.159314341595407215e-03 3.237457542817653275e+10 2.977298705001112360e-03 1.700898506465576165e+00 2.341373151373475094e-08 -3.723601911035797143e-03 3.237457542817653275e+10 3.510112640966742917e-03 1.701485040763969225e+00 3.258073368527135621e-08 -4.388677318151167420e-03 3.237457542817653275e+10 4.141509867137477957e-03 1.703815031005998515e+00 4.530937328546536509e-08 -5.172542356305966961e-03 3.237457542817653275e+10 4.876152496212519775e-03 1.701295086464500450e+00 6.299219851369083632e-08 -6.096414133051489617e-03 3.237457542817653275e+10 5.744677270457154185e-03 1.700202296862620921e+00 8.761844966167902862e-08 -7.185299359870824139e-03 3.237457542817653275e+10 6.771730265973550586e-03 1.700379957239063433e+00 1.219045894327709141e-07 -8.468671216257736209e-03 3.237457542817653275e+10 7.986680053665328599e-03 1.701769748225816947e+00 1.690537346096852768e-07 -9.981267109010422481e-03 3.237457542817653275e+10 9.423568053112943085e-03 1.704151524251904526e+00 2.351674385500858588e-07 -1.176402891992746509e-02 3.237457542817653275e+10 1.110259158953210736e-02 1.703046431195977428e+00 3.276361871944524800e-07 -1.386521119186945317e-02 3.237457542817653275e+10 1.308791946345747546e-02 1.703261167039319401e+00 4.547096916029236807e-07 -1.634168724878715118e-02 3.237457542817653275e+10 1.541251125992840025e-02 1.701048077016400928e+00 6.337505572959049012e-07 -1.926048860285451206e-02 3.237457542817653275e+10 1.818934915559843740e-02 1.703886636958111156e+00 8.798097252829075716e-07 -2.270061931629619237e-02 3.237457542817653275e+10 2.141424512825037055e-02 1.701066351484431083e+00 1.225272608864353391e-06 -2.675519442777928719e-02 3.237457542817653275e+10 2.526553572341622839e-02 1.703364251284684272e+00 1.700337492967589769e-06 -3.153396032479117289e-02 3.237457542817653275e+10 2.977527921015458642e-02 1.703232175963903750e+00 2.364585009224514050e-06 -3.716626528166998983e-02 3.237457542817653275e+10 3.507843539297542113e-02 1.702263269203805773e+00 3.286666781916824549e-06 -4.380456056772231294e-02 3.237457542817653275e+10 4.137300112182490386e-02 1.703314496112340315e+00 4.571196814056053299e-06 -5.162852689096004283e-02 3.237457542817653275e+10 4.875957383037262532e-02 1.703351705772871760e+00 6.342840168201905217e-06 -6.084993786913318187e-02 3.237457542817653275e+10 5.749497844257691476e-02 1.704024336762715697e+00 8.823076921329103527e-06 -7.171839216907228975e-02 3.237457542817653275e+10 6.770505848594685072e-02 1.702059790151541074e+00 1.226893143251070163e-05 -8.452806946785666742e-02 3.237457542817653275e+10 7.984076504439130417e-02 1.703254232180794192e+00 1.705765788537423247e-05 -9.962569310141336509e-02 3.237457542817653275e+10 9.409294210344273934e-02 1.702865641568348298e+00 2.372606423519343067e-05 -1.174199149279194637e-01 3.237457542817653275e+10 1.109193971663383349e-01 1.703102765737087632e+00 3.299549340896374994e-05 -1.383923764288897684e-01 3.237457542817653275e+10 1.307800976143215776e-01 1.703550297179034390e+00 4.589612077823736896e-05 -1.631107454420542835e-01 3.237457542817653275e+10 1.541070327773914062e-01 1.702838222864276441e+00 6.383120215219219502e-05 -1.922440813951419580e-01 3.237457542817653275e+10 1.817214280171527696e-01 1.703824442492956504e+00 8.877092707884399645e-05 -2.265809449359138250e-01 3.237457542817653275e+10 2.142781797028939783e-01 1.704440098611810450e+00 1.235204407913421574e-04 -2.670507421371726142e-01 3.237457542817653275e+10 2.526020565877465374e-01 1.704286127834874209e+00 1.718816811427515258e-04 -3.147488810066778608e-01 3.237457542817653275e+10 2.977084242070011100e-01 1.703514848862558662e+00 2.392428209736289471e-04 -3.709664212206886247e-01 3.237457542817653275e+10 3.511498153094514407e-01 1.704469362515527164e+00 3.331682279776455565e-04 -4.372250196192620786e-01 3.237457542817653275e+10 4.139718311313694832e-01 1.703941649030719541e+00 4.643608484403485013e-04 -5.153181173433998286e-01 3.237457542817653275e+10 4.881780542955217461e-01 1.703339119358595388e+00 6.481752511529870458e-04 -6.073594834385067642e-01 3.237457542817653275e+10 5.760697974798851817e-01 1.704132281825766482e+00 9.058756158369449122e-04 -7.158404288682718164e-01 3.237457542817653275e+10 6.797497200956689190e-01 1.703669757435195109e+00 1.269363194221582091e-03 -8.436972395676662906e-01 3.237457542817653275e+10 8.024918959019576858e-01 1.703573331911711897e+00 1.784108497116679813e-03 -9.943906537655036182e-01 3.237457542817653275e+10 9.482996832051622249e-01 1.704023600357201573e+00 2.520435177771766181e-03 -1.171999534812844468e+00 3.237457542817653275e+10 1.121271771407903239e+00 1.704125640772111261e+00 3.584823955075564211e-03 -1.381331274987467994e+00 3.237457542817653275e+10 1.326785336378529578e+00 1.703417129711238376e+00 5.150745783460129214e-03 -1.628051918606947979e+00 3.237457542817653275e+10 1.572623976651182476e+00 1.703898643378098710e+00 7.518928116096327240e-03 -1.918839526531252559e+00 3.237457542817653275e+10 1.866552851476561026e+00 1.704293786639859087e+00 1.125666674789178867e-02 -2.261564933217340645e+00 3.237457542817653275e+10 2.218227518463721903e+00 1.703450926026874201e+00 1.764403352140650819e-02 -2.665504788930584290e+00 3.237457542817653275e+10 2.639761072969992739e+00 1.704387496386881029e+00 3.085173687883005500e-02 -3.141592653589792672e+00 3.237457542817653275e+10 3.141592653589792672e+00 1.688201373770812586e+00 1.178574886155390189e+00 -1.000000000000000021e-03 6.551285568595495605e+10 9.473313780362868858e-04 1.533331604229096312e+00 5.208164475778119821e-09 -1.178610770701415088e-03 6.551285568595495605e+10 1.116147623339569257e-03 1.532755905403970553e+00 7.268848489855955878e-09 -1.389123348813385214e-03 6.551285568595495605e+10 1.315835276096139015e-03 1.533429148200545544e+00 1.013602141548773351e-08 -1.637235740744274635e-03 6.551285568595495605e+10 1.546191652829551630e-03 1.527049048354894856e+00 1.404868412197126784e-08 -1.929663678218512032e-03 6.551285568595495605e+10 1.824711061269768467e-03 1.529823843719935628e+00 1.954894723705217077e-08 -2.274322394979648009e-03 6.551285568595495605e+10 2.153980693498750397e-03 1.533230597436745057e+00 2.722475059608559325e-08 -2.680540870770453925e-03 6.551285568595495605e+10 2.535511804235805397e-03 1.530484110619927840e+00 3.787191151195001344e-08 -3.159314341595407215e-03 6.551285568595495605e+10 2.986775794099175846e-03 1.529281791596594831e+00 5.285543845454666519e-08 -3.723601911035797143e-03 6.551285568595495605e+10 3.520702643641281451e-03 1.529480956152796445e+00 7.328525466158003894e-08 -4.388677318151167420e-03 6.551285568595495605e+10 4.152265137263342655e-03 1.530803189640112194e+00 1.021892371035582900e-07 -5.172542356305966961e-03 6.551285568595495605e+10 4.899246708704793098e-03 1.533086578468351613e+00 1.418862829988437984e-07 -6.096414133051489617e-03 6.551285568595495605e+10 5.769254764671546271e-03 1.531040076184804422e+00 1.974292046120336213e-07 -7.185299359870824139e-03 6.551285568595495605e+10 6.797568690015265772e-03 1.530226671691421902e+00 2.746083887837195349e-07 -8.468671216257736209e-03 6.551285568595495605e+10 8.013286857079686409e-03 1.530528611539078820e+00 3.823018271099560324e-07 -9.981267109010422481e-03 6.551285568595495605e+10 9.450894561669958421e-03 1.531866631219453545e+00 5.313774586347695360e-07 -1.176402891992746509e-02 6.551285568595495605e+10 1.113018031817749991e-02 1.530002509091969776e+00 7.386730795795274306e-07 -1.386521119186945317e-02 6.551285568595495605e+10 1.313850909931066520e-02 1.533285006947755491e+00 1.027020695174814128e-06 -1.634168724878715118e-02 6.551285568595495605e+10 1.548965555965723176e-02 1.533782766872422654e+00 1.428775591646460899e-06 -1.926048860285451206e-02 6.551285568595495605e+10 1.824347753513935397e-02 1.532059632978950425e+00 1.987009064728293800e-06 -2.270061931629619237e-02 6.551285568595495605e+10 2.149868951599218786e-02 1.531569329804913115e+00 2.762438633001533417e-06 -2.675519442777928719e-02 6.551285568595495605e+10 2.534691108303928700e-02 1.532150273137920182e+00 3.840961446842084007e-06 -3.153396032479117289e-02 6.551285568595495605e+10 2.989637509106692417e-02 1.533673171326269014e+00 5.341590971527678012e-06 -3.716626528166998983e-02 6.551285568595495605e+10 3.523294352945216534e-02 1.533321515415821290e+00 7.423874747099988175e-06 -4.380456056772231294e-02 6.551285568595495605e+10 4.149081163999283894e-02 1.531287894401546446e+00 1.030730501132144651e-05 -5.162852689096004283e-02 6.551285568595495605e+10 4.894661709805496475e-02 1.533180117814719967e+00 1.432815475390460744e-05 -6.084993786913318187e-02 6.551285568595495605e+10 5.770691684049455983e-02 1.533707306773982593e+00 1.993186507518256880e-05 -7.171839216907228975e-02 6.551285568595495605e+10 6.799169496727174022e-02 1.532806045917949778e+00 2.772060326163030183e-05 -8.452806946785666742e-02 6.551285568595495605e+10 8.016004087781126997e-02 1.533308847967943089e+00 3.855422920761739455e-05 -9.962569310141336509e-02 6.551285568595495605e+10 9.445261414732687710e-02 1.532540933611756806e+00 5.361580876385530566e-05 -1.174199149279194637e-01 6.551285568595495605e+10 1.113310119713921131e-01 1.532566565857506502e+00 7.456328024688954842e-05 -1.383923764288897684e-01 6.551285568595495605e+10 1.312371758862599658e-01 1.532770341203178122e+00 1.036881215168857878e-04 -1.631107454420542835e-01 6.551285568595495605e+10 1.547258218400998919e-01 1.533249012485315532e+00 1.442136192502747796e-04 -1.922440813951419580e-01 6.551285568595495605e+10 1.823567613303189727e-01 1.532845135526513802e+00 2.006139132307513948e-04 -2.265809449359138250e-01 6.551285568595495605e+10 2.149216968385683491e-01 1.532479097468157025e+00 2.790559524032339730e-04 -2.670507421371726142e-01 6.551285568595495605e+10 2.533471412264951539e-01 1.532306751965469394e+00 3.882844301426430461e-04 -3.147488810066778608e-01 6.551285568595495605e+10 2.987954047375647737e-01 1.533141488784784734e+00 5.404899738878437502e-04 -3.709664212206886247e-01 6.551285568595495605e+10 3.523332027053264759e-01 1.533436104952192069e+00 7.527199406662566945e-04 -4.372250196192620786e-01 6.551285568595495605e+10 4.153672527698000772e-01 1.532904741282892225e+00 1.049160727976103163e-03 -5.153181173433998286e-01 6.551285568595495605e+10 4.900577344819750381e-01 1.533761969077785281e+00 1.464098249071717076e-03 -6.073594834385067642e-01 6.551285568595495605e+10 5.780474892803993958e-01 1.533500686031600946e+00 2.046460873173248061e-03 -7.158404288682718164e-01 6.551285568595495605e+10 6.821262502898164382e-01 1.533533635411578500e+00 2.866968342485671020e-03 -8.436972395676662906e-01 6.551285568595495605e+10 8.050722952088301687e-01 1.532878154489734301e+00 4.029487116273832575e-03 -9.943906537655036182e-01 6.551285568595495605e+10 9.511145321487010085e-01 1.533251695216736765e+00 5.690146725379047719e-03 -1.171999534812844468e+00 6.551285568595495605e+10 1.124196122078901183e+00 1.532870472946176399e+00 8.089872686877807792e-03 -1.381331274987467994e+00 6.551285568595495605e+10 1.330448906887581328e+00 1.533292573672260239e+00 1.161763861425015899e-02 -1.628051918606947979e+00 6.551285568595495605e+10 1.575936662681205025e+00 1.532808377844954606e+00 1.694060284465308958e-02 -1.918839526531252559e+00 6.551285568595495605e+10 1.869860674436043535e+00 1.533577574920559572e+00 2.532422200615456684e-02 -2.261564933217340645e+00 6.551285568595495605e+10 2.221229118704796335e+00 1.533624765894445074e+00 3.962404916915166636e-02 -2.665504788930584290e+00 6.551285568595495605e+10 2.641288592389744228e+00 1.533079068534948020e+00 6.953289784605680424e-02 -3.141592653589792672e+00 6.551285568595495605e+10 3.141592653589792672e+00 1.519177524927246559e+00 2.682539639965069611e+00 -1.000000000000000021e-03 1.325711365590110931e+11 9.454699389953743994e-04 1.367006896660453830e+00 1.173720697262532877e-08 -1.178610770701415088e-03 1.325711365590110931e+11 1.113849922794938208e-03 1.366347485625739822e+00 1.635354517367777222e-08 -1.389123348813385214e-03 1.325711365590110931e+11 1.312954819699141103e-03 1.366720720503771469e+00 2.275465736150895767e-08 -1.637235740744274635e-03 1.325711365590110931e+11 1.542292876403408407e-03 1.360583758273787858e+00 3.162739299708234749e-08 -1.929663678218512032e-03 1.325711365590110931e+11 1.820051949601357230e-03 1.362951591173672261e+00 4.384432861118779075e-08 -2.274322394979648009e-03 1.325711365590110931e+11 2.148725931957177430e-03 1.366133258956414798e+00 6.132341509089089278e-08 -2.680540870770453925e-03 1.325711365590110931e+11 2.529363546994939545e-03 1.363777780663864236e+00 8.515364956250541510e-08 -3.159314341595407215e-03 1.325711365590110931e+11 2.979478279565726719e-03 1.362711750846219649e+00 1.186661115735662337e-07 -3.723601911035797143e-03 1.325711365590110931e+11 3.512148816825100706e-03 1.362918464354471393e+00 1.648573703292113695e-07 -4.388677318151167420e-03 1.325711365590110931e+11 4.142620912154091478e-03 1.364266585886475536e+00 2.293173208564415616e-07 -5.172542356305966961e-03 1.325711365590110931e+11 4.888728479505530071e-03 1.366586576386801921e+00 3.179968866361003512e-07 -6.096414133051489617e-03 1.325711365590110931e+11 5.757061140592850679e-03 1.364867518363857890e+00 4.434744542842523427e-07 -7.185299359870824139e-03 1.325711365590110931e+11 6.783648832342260848e-03 1.364285280686748036e+00 6.144663856670157199e-07 -8.468671216257736209e-03 1.325711365590110931e+11 7.997473747747868567e-03 1.364691473865710103e+00 8.577410943049212212e-07 -9.981267109010422481e-03 1.325711365590110931e+11 9.432721908653223658e-03 1.365959830764769567e+00 1.190310664610608472e-06 -1.176402891992746509e-02 1.325711365590110931e+11 1.110850988617625643e-02 1.364292196262240076e+00 1.658988163303258191e-06 -1.386521119186945317e-02 1.325711365590110931e+11 1.311538838797447412e-02 1.367520763441645748e+00 2.303458556073741905e-06 -1.634168724878715118e-02 1.325711365590110931e+11 1.543597398804546529e-02 1.364642469798389213e+00 3.201337997686568311e-06 -1.926048860285451206e-02 1.325711365590110931e+11 1.821010503750700171e-02 1.366322586854247678e+00 4.457685646290256516e-06 -2.270061931629619237e-02 1.325711365590110931e+11 2.145760099048422270e-02 1.365742316645211618e+00 6.188600753269166748e-06 -2.675519442777928719e-02 1.325711365590110931e+11 2.529738728682712559e-02 1.366171087837155795e+00 8.605391281187421121e-06 -3.153396032479117289e-02 1.325711365590110931e+11 2.983809684233747900e-02 1.367511191290212702e+00 1.196782976192488953e-05 -3.716626528166998983e-02 1.325711365590110931e+11 3.516202602012571954e-02 1.367082322976601816e+00 1.664560601728614853e-05 -4.380456056772231294e-02 1.325711365590110931e+11 4.140461534261393600e-02 1.365189751436071575e+00 2.313565749670070485e-05 -5.162852689096004283e-02 1.325711365590110931e+11 4.884317499227005394e-02 1.366789205412091146e+00 3.212603218827379901e-05 -6.084993786913318187e-02 1.325711365590110931e+11 5.757626346770314957e-02 1.366977513488557561e+00 4.467357649472964348e-05 -7.171839216907228975e-02 1.325711365590110931e+11 6.783636252028732438e-02 1.366165497882151580e+00 6.213568211767789382e-05 -8.452806946785666742e-02 1.325711365590110931e+11 7.997084727664002801e-02 1.366472971821165228e+00 8.640256835482733040e-05 -9.962569310141336509e-02 1.325711365590110931e+11 9.422729284702320574e-02 1.365763285977132702e+00 1.201685448786030851e-04 -1.174199149279194637e-01 1.325711365590110931e+11 1.110813642803386292e-01 1.366024603202833587e+00 1.670939725186214005e-04 -1.383923764288897684e-01 1.325711365590110931e+11 1.310097347254750022e-01 1.367162001814971717e+00 2.324157140994817256e-04 -1.631107454420542835e-01 1.325711365590110931e+11 1.544463832857514984e-01 1.367418179645025322e+00 3.232449345335764845e-04 -1.922440813951419580e-01 1.325711365590110931e+11 1.820105003108818120e-01 1.366916731325923395e+00 4.496341939167100804e-04 -2.265809449359138250e-01 1.325711365590110931e+11 2.146110243119876138e-01 1.367422599870831146e+00 6.256062789595665061e-04 -2.670507421371726142e-01 1.325711365590110931e+11 2.529840030129266726e-01 1.367309329808872542e+00 8.704523757768144708e-04 -3.147488810066778608e-01 1.325711365590110931e+11 2.981402571807579283e-01 1.366542794334226985e+00 1.211628227223681027e-03 -3.709664212206886247e-01 1.325711365590110931e+11 3.515470790538374746e-01 1.366667553169597316e+00 1.687593669967082282e-03 -4.372250196192620786e-01 1.325711365590110931e+11 4.145014620703370012e-01 1.366444046179216221e+00 2.352516420825550864e-03 -5.153181173433998286e-01 1.325711365590110931e+11 4.889180438889986768e-01 1.366647928301090165e+00 3.283305032846360865e-03 -6.073594834385067642e-01 1.325711365590110931e+11 5.769081749554836325e-01 1.367121809803665045e+00 4.589959078064926278e-03 -7.158404288682718164e-01 1.325711365590110931e+11 6.807633243401378653e-01 1.366991859531975884e+00 6.432306781573747176e-03 -8.436972395676662906e-01 1.325711365590110931e+11 8.036167900763016014e-01 1.366655379844136098e+00 9.045117626366042454e-03 -9.943906537655036182e-01 1.325711365590110931e+11 9.494074318919374367e-01 1.366812913559353193e+00 1.278144774085156199e-02 -1.171999534812844468e+00 1.325711365590110931e+11 1.122481635426865409e+00 1.366866927391152453e+00 1.819191670732015279e-02 -1.381331274987467994e+00 1.325711365590110931e+11 1.328627404535970280e+00 1.367283550461890096e+00 2.617204737363057823e-02 -1.628051918606947979e+00 1.325711365590110931e+11 1.574283739592863940e+00 1.367267663970052061e+00 3.827546067759322879e-02 -1.918839526531252559e+00 1.325711365590110931e+11 1.867900211759006224e+00 1.367084698932367059e+00 5.749287959404154880e-02 -2.261564933217340645e+00 1.325711365590110931e+11 2.219737549896966922e+00 1.367446099263646353e+00 9.065276547801699725e-02 -2.665504788930584290e+00 1.325711365590110931e+11 2.640530407430272675e+00 1.367600993260447373e+00 1.598980771048363336e-01 -3.141592653589792672e+00 1.325711365590110931e+11 3.141592653589792672e+00 1.354635868173480473e+00 6.145499916322886058e+00 -1.000000000000000021e-03 2.682695795279727173e+11 9.441665386066488367e-04 1.218574987896687611e+00 2.623400015507750367e-08 -1.178610770701415088e-03 2.682695795279727173e+11 1.112215758253379304e-03 1.217864016202746091e+00 3.648191203482118742e-08 -1.389123348813385214e-03 2.682695795279727173e+11 1.311104156107436875e-03 1.218282434296291017e+00 5.109116692542986729e-08 -1.637235740744274635e-03 2.682695795279727173e+11 1.546315651021618488e-03 1.219497399410234495e+00 7.098234753258467906e-08 -1.929663678218512032e-03 2.682695795279727173e+11 1.817748336130573569e-03 1.215209403679267997e+00 9.906741265042144155e-08 -2.274322394979648009e-03 2.682695795279727173e+11 2.145935047379952249e-03 1.217949454895106864e+00 1.378029739600873756e-07 -2.680540870770453925e-03 2.682695795279727173e+11 2.525754297045755027e-03 1.215686044506238517e+00 1.915546893798034132e-07 -3.159314341595407215e-03 2.682695795279727173e+11 2.984507816430529911e-03 1.219951277908596809e+00 2.653682794926678238e-07 -3.723601911035797143e-03 2.682695795279727173e+11 3.517686403220004164e-03 1.219952431118904945e+00 3.711076022072960961e-07 -4.388677318151167420e-03 2.682695795279727173e+11 4.136976555250396551e-03 1.216214917036327003e+00 5.156675500059631296e-07 -5.172542356305966961e-03 2.682695795279727173e+11 4.881824583386508258e-03 1.218166998791841316e+00 7.143766572627092984e-07 -6.096414133051489617e-03 2.682695795279727173e+11 5.748504094076706261e-03 1.216542286014435703e+00 9.972432873377863239e-07 -7.185299359870824139e-03 2.682695795279727173e+11 6.789018362696754537e-03 1.219887349055608805e+00 1.387560076101104053e-06 -8.468671216257736209e-03 2.682695795279727173e+11 8.002372201384269287e-03 1.219953635598085784e+00 1.922590209123530414e-06 -9.981267109010422481e-03 2.682695795279727173e+11 9.418155157098791544e-03 1.217399187725865861e+00 2.681795077921019715e-06 -1.176402891992746509e-02 2.682695795279727173e+11 1.111384970464331969e-02 1.219361174248950519e+00 3.728859501622636492e-06 -1.386521119186945317e-02 2.682695795279727173e+11 1.309589419818168489e-02 1.218853982801625824e+00 5.174839155134430733e-06 -1.634168724878715118e-02 2.682695795279727173e+11 1.544066624029584098e-02 1.219373236948254391e+00 7.195318818661701959e-06 -1.926048860285451206e-02 2.682695795279727173e+11 1.818445305369111378e-02 1.217929777695518023e+00 1.002106594385256777e-05 -2.270061931629619237e-02 2.682695795279727173e+11 2.142886451615347645e-02 1.217533499016683285e+00 1.391210542879285922e-05 -2.675519442777928719e-02 2.682695795279727173e+11 2.526524707393867919e-02 1.218021927271061067e+00 1.934542694074648103e-05 -3.153396032479117289e-02 2.682695795279727173e+11 2.980195724152883557e-02 1.219296713188953163e+00 2.689720664580758241e-05 -3.716626528166998983e-02 2.682695795279727173e+11 3.512007578172317290e-02 1.218948058447861138e+00 3.740704174503856077e-05 -4.380456056772231294e-02 2.682695795279727173e+11 4.140785925004833445e-02 1.219463508436266164e+00 5.201252973451575681e-05 -5.162852689096004283e-02 2.682695795279727173e+11 4.878693516642601535e-02 1.218755995715018470e+00 7.230033008427098776e-05 -6.084993786913318187e-02 2.682695795279727173e+11 5.751404243244889747e-02 1.219040088085285189e+00 1.003830641874587921e-04 -7.171839216907228975e-02 2.682695795279727173e+11 6.776224569788198704e-02 1.218301534600563230e+00 1.396219844125853936e-04 -8.452806946785666742e-02 2.682695795279727173e+11 7.987923854250281175e-02 1.218479470024671718e+00 1.941553199759883869e-04 -9.962569310141336509e-02 2.682695795279727173e+11 9.420721530795653220e-02 1.219465606941056546e+00 2.700218027932250260e-04 -1.174199149279194637e-01 2.682695795279727173e+11 1.110488488250467864e-01 1.219559552461258800e+00 3.755314162830015253e-04 -1.383923764288897684e-01 2.682695795279727173e+11 1.308474600569160262e-01 1.218915321956368203e+00 5.222459434805145923e-04 -1.631107454420542835e-01 2.682695795279727173e+11 1.542533212270135734e-01 1.219115891906885629e+00 7.264366692671536414e-04 -1.922440813951419580e-01 2.682695795279727173e+11 1.817834196236662037e-01 1.218673605443567176e+00 1.010365025861499188e-03 -2.265809449359138250e-01 2.682695795279727173e+11 2.143275418843890168e-01 1.218989714781046896e+00 1.405715820249128691e-03 -2.670507421371726142e-01 2.682695795279727173e+11 2.526321020982210119e-01 1.218764262093799955e+00 1.955854509607779512e-03 -3.147488810066778608e-01 2.682695795279727173e+11 2.979290650335792989e-01 1.219285068457572230e+00 2.722378518212101826e-03 -3.709664212206886247e-01 2.682695795279727173e+11 3.512625652730638759e-01 1.219211413551943624e+00 3.791457734708598894e-03 -4.372250196192620786e-01 2.682695795279727173e+11 4.143068513737525049e-01 1.219610796454550616e+00 5.284844573188183028e-03 -5.153181173433998286e-01 2.682695795279727173e+11 4.885562383106444306e-01 1.219277844638446462e+00 7.374657103578252486e-03 -6.073594834385067642e-01 2.682695795279727173e+11 5.763281090930686412e-01 1.219169936078831284e+00 1.030805639052749523e-02 -7.158404288682718164e-01 2.682695795279727173e+11 6.800903346745231781e-01 1.219032629318303140e+00 1.444183905539430345e-02 -8.436972395676662906e-01 2.682695795279727173e+11 8.031538750326198128e-01 1.219503234866978536e+00 2.030106486938096366e-02 -9.943906537655036182e-01 2.682695795279727173e+11 9.486967588195639456e-01 1.219212780109917293e+00 2.867547082392360100e-02 -1.171999534812844468e+00 2.682695795279727173e+11 1.121703467869022308e+00 1.219264837133124058e+00 4.079137244402177703e-02 -1.381331274987467994e+00 2.682695795279727173e+11 1.327690427535872075e+00 1.219462134421251065e+00 5.864603350809483029e-02 -1.628051918606947979e+00 2.682695795279727173e+11 1.573549420726211734e+00 1.219857644735759639e+00 8.573149497817320053e-02 -1.918839526531252559e+00 2.682695795279727173e+11 1.867024760007385265e+00 1.219339519549059725e+00 1.288611382776659597e-01 -2.261564933217340645e+00 2.682695795279727173e+11 2.218779058705707463e+00 1.219141054957281423e+00 2.039581084811165901e-01 -2.665504788930584290e+00 2.682695795279727173e+11 2.640055098054800098e+00 1.219660186693711346e+00 3.632697161733977609e-01 -3.141592653589792672e+00 2.682695795279727173e+11 3.141592653589792672e+00 1.208418073940777049e+00 1.405640511649532520e+01 -1.000000000000000021e-03 5.428675439323859253e+11 9.440021632344022242e-04 1.086986624127803447e+00 6.043536322856094000e-08 -1.178610770701415088e-03 5.428675439323859253e+11 1.111949088641819893e-03 1.086238505947576538e+00 8.415109947946912628e-08 -1.389123348813385214e-03 5.428675439323859253e+11 1.310663056978128051e-03 1.086482599103164359e+00 1.167386386513214000e-07 -1.637235740744274635e-03 5.428675439323859253e+11 1.545718768687954830e-03 1.087519072044298207e+00 1.621485643237707853e-07 -1.929663678218512032e-03 5.428675439323859253e+11 1.817042049842156276e-03 1.083612427045933080e+00 2.252800069532306674e-07 -2.274322394979648009e-03 5.428675439323859253e+11 2.145350567241060408e-03 1.086274795185580011e+00 3.132645860347462444e-07 -2.680540870770453925e-03 5.428675439323859253e+11 2.525257150186370220e-03 1.084324509684344129e+00 4.366962790526295331e-07 -3.159314341595407215e-03 5.428675439323859253e+11 2.983780139855449817e-03 1.088143928385970405e+00 6.080241853872025846e-07 -3.723601911035797143e-03 5.428675439323859253e+11 3.516123825408739526e-03 1.087849816644259615e+00 8.441290533657164622e-07 -4.388677318151167420e-03 5.428675439323859253e+11 4.146177569962867723e-03 1.088562121759637735e+00 1.172915638096008223e-06 -5.172542356305966961e-03 5.428675439323859253e+11 4.879114747753810627e-03 1.086075546302753825e+00 1.627747192953275210e-06 -6.096414133051489617e-03 5.428675439323859253e+11 5.759902727222438422e-03 1.088502834752292925e+00 2.268126679078219938e-06 -7.185299359870824139e-03 5.428675439323859253e+11 6.785939478259647543e-03 1.087785122048991582e+00 3.155960687953298897e-06 -8.468671216257736209e-03 5.428675439323859253e+11 7.998993153418102256e-03 1.087894133583002576e+00 4.378750456019409089e-06 -9.981267109010422481e-03 5.428675439323859253e+11 9.413176766230747783e-03 1.085434801714741937e+00 6.087605683548704057e-06 -1.176402891992746509e-02 5.428675439323859253e+11 1.110772591658441659e-02 1.087171078532924051e+00 8.462441244425621958e-06 -1.386521119186945317e-02 5.428675439323859253e+11 1.308897313551464318e-02 1.086750981841513530e+00 1.177288094153357970e-05 -1.634168724878715118e-02 5.428675439323859253e+11 1.543309046438428450e-02 1.087277771370682933e+00 1.636549897191336158e-05 -1.926048860285451206e-02 5.428675439323859253e+11 1.820553479450658096e-02 1.088543901629055899e+00 2.277787709427837333e-05 -2.270061931629619237e-02 5.428675439323859253e+11 2.145073467600424472e-02 1.087965242901938634e+00 3.166039125235106568e-05 -2.675519442777928719e-02 5.428675439323859253e+11 2.528765153326845150e-02 1.088211533914880347e+00 4.401548352711873949e-05 -3.153396032479117289e-02 5.428675439323859253e+11 2.978227099530729102e-02 1.086959658787162830e+00 6.112138178727636727e-05 -3.716626528166998983e-02 5.428675439323859253e+11 3.509688281283659950e-02 1.086649694261148769e+00 8.499308540373522202e-05 -4.380456056772231294e-02 5.428675439323859253e+11 4.138220986920436439e-02 1.087175071431428552e+00 1.181807452060300051e-04 -5.162852689096004283e-02 5.428675439323859253e+11 4.881669775798777589e-02 1.088462222265201840e+00 1.643241529950148852e-04 -6.084993786913318187e-02 5.428675439323859253e+11 5.747880274483938706e-02 1.086809267678923385e+00 2.285488395661348156e-04 -7.171839216907228975e-02 5.428675439323859253e+11 6.779639104147235085e-02 1.087884091398612307e+00 3.178448222534975640e-04 -8.452806946785666742e-02 5.428675439323859253e+11 7.991881265181738359e-02 1.088034717139636953e+00 4.419537200164469926e-04 -9.962569310141336509e-02 5.428675439323859253e+11 9.416019202524988918e-02 1.087367921320246733e+00 6.146768524518959453e-04 -1.174199149279194637e-01 5.428675439323859253e+11 1.109973875849799424e-01 1.087508138862032459e+00 8.548395790275493565e-04 -1.383923764288897684e-01 5.428675439323859253e+11 1.309055431418378324e-01 1.088356349160565673e+00 1.188746136621826556e-03 -1.631107454420542835e-01 5.428675439323859253e+11 1.543159268472912848e-01 1.088481036341117925e+00 1.653343305434479835e-03 -1.922440813951419580e-01 5.428675439323859253e+11 1.818498186070509892e-01 1.088016662511243959e+00 2.299923264311782255e-03 -2.265809449359138250e-01 5.428675439323859253e+11 2.144057141342906037e-01 1.088305703780815703e+00 3.199459582549083175e-03 -2.670507421371726142e-01 5.428675439323859253e+11 2.527207182594419788e-01 1.088081477398837205e+00 4.451452317158049662e-03 -3.147488810066778608e-01 5.428675439323859253e+11 2.980181538225239457e-01 1.088475520569738952e+00 6.196154240039315406e-03 -3.709664212206886247e-01 5.428675439323859253e+11 3.513450986142051535e-01 1.088309494443671976e+00 8.629032118028623355e-03 -4.372250196192620786e-01 5.428675439323859253e+11 4.143824786492215639e-01 1.088590327475382091e+00 1.202781976470570710e-02 -5.153181173433998286e-01 5.428675439323859253e+11 4.886195585796421215e-01 1.088206361411983014e+00 1.678374241825884502e-02 -6.073594834385067642e-01 5.428675439323859253e+11 5.763745538625683063e-01 1.088031501220467101e+00 2.345876137474240883e-02 -7.158404288682718164e-01 5.428675439323859253e+11 6.801218827187566207e-01 1.087853287155368553e+00 3.286492435477423452e-02 -8.436972395676662906e-01 5.428675439323859253e+11 8.031740967879255066e-01 1.088244114558371889e+00 4.619548930531339193e-02 -9.943906537655036182e-01 5.428675439323859253e+11 9.486752320353601942e-01 1.087897963977463967e+00 6.524022516651185877e-02 -1.171999534812844468e+00 5.428675439323859253e+11 1.121645504451356690e+00 1.087885777219271821e+00 9.278548918188279926e-02 -1.381331274987467994e+00 5.428675439323859253e+11 1.327613674216324258e+00 1.088040671654168401e+00 1.333518411844290541e-01 -1.628051918606947979e+00 5.428675439323859253e+11 1.573468552779112128e+00 1.088394255011533973e+00 1.948286265592707178e-01 -1.918839526531252559e+00 5.428675439323859253e+11 1.866943708943577640e+00 1.087922258081758242e+00 2.925324293163315548e-01 -2.261564933217340645e+00 5.428675439323859253e+11 2.219136099536093809e+00 1.088618330109796695e+00 4.622628610633447988e-01 -2.665504788930584290e+00 5.428675439323859253e+11 2.640092906464660771e+00 1.088478966775082935e+00 8.231772584691444683e-01 -3.141592653589792672e+00 5.428675439323859253e+11 3.141592653589792672e+00 1.078352031502729291e+00 3.222968344406785235e+01 -1.000000000000000021e-03 1.098541141987561768e+12 9.379175457093290964e-04 9.604988754936860662e-01 1.371880216750418162e-07 -1.178610770701415088e-03 1.098541141987561768e+12 1.104665728801242129e-03 9.598167591683490762e-01 1.909026431329876412e-07 -1.389123348813385214e-03 1.098541141987561768e+12 1.302694321931039409e-03 9.605662675463716438e-01 2.658641965444529267e-07 -1.637235740744274635e-03 1.098541141987561768e+12 1.536901898507810928e-03 9.618476044170836126e-01 3.692170433592854760e-07 -1.929663678218512032e-03 1.098541141987561768e+12 1.806504672164376468e-03 9.586290837573296919e-01 5.127751156076864547e-07 -2.274322394979648009e-03 1.098541141987561768e+12 2.133417808926989494e-03 9.610466441669046622e-01 7.157207379408514076e-07 -2.680540870770453925e-03 1.098541141987561768e+12 2.510930147725467902e-03 9.593632367192469479e-01 9.926447972480826199e-07 -3.159314341595407215e-03 1.098541141987561768e+12 2.957387794060421272e-03 9.585477520940182128e-01 1.382896612800423392e-06 -3.723601911035797143e-03 1.098541141987561768e+12 3.486319888596439362e-03 9.587573125519157635e-01 1.921776643266711662e-06 -4.388677318151167420e-03 1.098541141987561768e+12 4.112762281077399044e-03 9.597981162075093220e-01 2.670752706211919681e-06 -5.172542356305966961e-03 1.098541141987561768e+12 4.854463916372961721e-03 9.615289581484587345e-01 3.718777643202636729e-06 -6.096414133051489617e-03 1.098541141987561768e+12 5.716559197232427836e-03 9.603972533064910611e-01 5.172452937243285529e-06 -7.185299359870824139e-03 1.098541141987561768e+12 6.736495967901806776e-03 9.601253916081747830e-01 7.190330765503697573e-06 -8.468671216257736209e-03 1.098541141987561768e+12 7.943276972009546619e-03 9.605974445300521358e-01 9.996254850829882884e-06 -9.981267109010422481e-03 1.098541141987561768e+12 9.371378754472166686e-03 9.617510541001218494e-01 1.390507283107194982e-05 -1.176402891992746509e-02 1.098541141987561768e+12 1.103679097494704268e-02 9.607266223323408516e-01 1.933882264497622475e-05 -1.386521119186945317e-02 1.098541141987561768e+12 1.300648715342832794e-02 9.604950121187524337e-01 2.683326697066189828e-05 -1.634168724878715118e-02 1.098541141987561768e+12 1.533803909085691523e-02 9.610907054123284388e-01 3.732053194470201350e-05 -1.926048860285451206e-02 1.098541141987561768e+12 1.806457934196773960e-02 9.601177611959609282e-01 5.186849761871666471e-05 -2.270061931629619237e-02 1.098541141987561768e+12 2.132859442427681093e-02 9.622167960453951174e-01 7.215631916192768590e-05 -2.675519442777928719e-02 1.098541141987561768e+12 2.510762168995181801e-02 9.606155967106314586e-01 1.003187246914075885e-04 -3.153396032479117289e-02 1.098541141987561768e+12 2.962355117937287216e-02 9.618545763527931447e-01 1.394700102665993565e-04 -3.716626528166998983e-02 1.098541141987561768e+12 3.491446351860373609e-02 9.617646966804919151e-01 1.939296556478439521e-04 -4.380456056772231294e-02 1.098541141987561768e+12 4.111456696961642704e-02 9.605892794856552008e-01 2.691657697649078233e-04 -5.162852689096004283e-02 1.098541141987561768e+12 4.851568958853293145e-02 9.619915941858894204e-01 3.742924023035316071e-04 -6.084993786913318187e-02 1.098541141987561768e+12 5.713201218152429151e-02 9.608265911841721296e-01 5.205119226842522219e-04 -7.171839216907228975e-02 1.098541141987561768e+12 6.740539434152507947e-02 9.620229368922291746e-01 7.241013482642293022e-04 -8.452806946785666742e-02 1.098541141987561768e+12 7.938047356558633472e-02 9.609102435867794556e-01 1.006912105907050705e-03 -9.962569310141336509e-02 1.098541141987561768e+12 9.364325488605358683e-02 9.619459450216832908e-01 1.400483233688983422e-03 -1.174199149279194637e-01 1.098541141987561768e+12 1.104040507038839269e-01 9.622372140191132184e-01 1.947675332771593758e-03 -1.383923764288897684e-01 1.098541141987561768e+12 1.301031047422748499e-01 9.619084934074778603e-01 2.708505095216263633e-03 -1.631107454420542835e-01 1.098541141987561768e+12 1.534035737614825035e-01 9.622751607223121173e-01 3.766895364363460549e-03 -1.922440813951419580e-01 1.098541141987561768e+12 1.808078913275650568e-01 9.621192993040244001e-01 5.240523045165814200e-03 -2.265809449359138250e-01 1.098541141987561768e+12 2.130411381743912702e-01 9.615144125230761230e-01 7.290283796666041129e-03 -2.670507421371726142e-01 1.098541141987561768e+12 2.511634163404943831e-01 9.615650879301901321e-01 1.014378886340923033e-02 -3.147488810066778608e-01 1.098541141987561768e+12 2.962561530768449414e-01 9.621669533305494681e-01 1.411990503860590523e-02 -3.709664212206886247e-01 1.098541141987561768e+12 3.493437798229034330e-01 9.622653242817705843e-01 1.966576449893434400e-02 -4.372250196192620786e-01 1.098541141987561768e+12 4.118443162552978820e-01 9.618551522621530125e-01 2.741335222656662157e-02 -5.153181173433998286e-01 1.098541141987561768e+12 4.857440614712473792e-01 9.617656018493050407e-01 3.825634074881076319e-02 -6.073594834385067642e-01 1.098541141987561768e+12 5.731339505918873201e-01 9.618434650827094590e-01 5.348047380227117370e-02 -7.158404288682718164e-01 1.098541141987561768e+12 6.764825083012714346e-01 9.618897563972813591e-01 7.493845348313706023e-02 -8.436972395676662906e-01 1.098541141987561768e+12 7.987173265396877442e-01 9.616627581312948703e-01 1.053625535275541231e-01 -9.943906537655036182e-01 1.098541141987561768e+12 9.442456756272085139e-01 9.623212061069478240e-01 1.488595750165520037e-01 -1.171999534812844468e+00 1.098541141987561768e+12 1.116404288217351271e+00 9.618042380467866082e-01 2.118120018601971910e-01 -1.381331274987467994e+00 1.098541141987561768e+12 1.322158113817877068e+00 9.621505444042129929e-01 3.045918637690619435e-01 -1.628051918606947979e+00 1.098541141987561768e+12 1.567523950377357034e+00 9.619671506108390391e-01 4.452405171438005849e-01 -1.918839526531252559e+00 1.098541141987561768e+12 1.861843153517896754e+00 9.623420123227703904e-01 6.685582102612254163e-01 -2.261564933217340645e+00 1.098541141987561768e+12 2.214513146399347487e+00 9.622357213816277177e-01 1.054341052098815679e+00 -2.665504788930584290e+00 1.098541141987561768e+12 2.637393997669081447e+00 9.623344009460668147e-01 1.863343821686196833e+00 -3.141592653589792672e+00 1.098541141987561768e+12 3.141592653589792672e+00 9.532286046951663483e-01 7.392056755034776927e+01 -1.000000000000000021e-03 2.222996482526190918e+12 9.384790181366192523e-04 8.554196086534613386e-01 3.102820556567580465e-07 -1.178610770701415088e-03 2.222996482526190918e+12 1.105165962737950308e-03 8.546542013937767912e-01 4.317542383656808580e-07 -1.389123348813385214e-03 2.222996482526190918e+12 1.302518799351183891e-03 8.547265353391764187e-01 6.008283548503903465e-07 -1.637235740744274635e-03 2.222996482526190918e+12 1.536372418438422191e-03 8.556483984694878142e-01 8.385811542704732235e-07 -1.929663678218512032e-03 2.222996482526190918e+12 1.813201675915803975e-03 8.571681330394632647e-01 1.161866395579505651e-06 -2.274322394979648009e-03 2.222996482526190918e+12 2.132560739104540515e-03 8.548727540999362384e-01 1.616553596225520115e-06 -2.680540870770453925e-03 2.222996482526190918e+12 2.519164421722426897e-03 8.573908119685648144e-01 2.249696683445785571e-06 -3.159314341595407215e-03 2.222996482526190918e+12 2.966419152097560762e-03 8.563762018835173739e-01 3.112834837630280742e-06 -3.723601911035797143e-03 2.222996482526190918e+12 3.495049936577471466e-03 8.559865595697021545e-01 4.350525623659000512e-06 -4.388677318151167420e-03 2.222996482526190918e+12 4.120674135900994836e-03 8.563317058807029536e-01 6.044761151942147466e-06 -5.172542356305966961e-03 2.222996482526190918e+12 4.863465377638063157e-03 8.578485426079234255e-01 8.410049002851117801e-06 -6.096414133051489617e-03 2.222996482526190918e+12 5.726820253492439367e-03 8.567343966653869769e-01 1.170375311482192905e-05 -7.185299359870824139e-03 2.222996482526190918e+12 6.747707227044114769e-03 8.563377152259866731e-01 1.626971178327993287e-05 -8.468671216257736209e-03 2.222996482526190918e+12 7.954943903554164558e-03 8.565553531133788256e-01 2.261763295410586979e-05 -9.981267109010422481e-03 2.222996482526190918e+12 9.382576436520724192e-03 8.573073285821180001e-01 3.140989518028992460e-05 -1.176402891992746509e-02 2.222996482526190918e+12 1.107109818308928476e-02 8.585592041475057501e-01 4.367008869396702710e-05 -1.386521119186945317e-02 2.222996482526190918e+12 1.304388285713681608e-02 8.580741138531368106e-01 6.070626167012415156e-05 -1.634168724878715118e-02 2.222996482526190918e+12 1.537869219570914270e-02 8.583758387826904146e-01 8.446365822037185125e-05 -1.926048860285451206e-02 2.222996482526190918e+12 1.810888825040758016e-02 8.572403702884670018e-01 1.174381562047623507e-04 -2.270061931629619237e-02 2.222996482526190918e+12 2.133805516730512275e-02 8.568793826905969357e-01 1.633999188858784100e-04 -2.675519442777928719e-02 2.222996482526190918e+12 2.515798673188352971e-02 8.571972567462514681e-01 2.267166930153796905e-04 -3.153396032479117289e-02 2.222996482526190918e+12 2.967744659947100377e-02 8.581298058364785764e-01 3.153346482335106656e-04 -3.716626528166998983e-02 2.222996482526190918e+12 3.497358940182102027e-02 8.579009110142655770e-01 4.384391915823803798e-04 -4.380456056772231294e-02 2.222996482526190918e+12 4.123747856475008106e-02 8.583106912346236683e-01 6.098156750691232026e-04 -5.162852689096004283e-02 2.222996482526190918e+12 4.858379491881678613e-02 8.577750645296744469e-01 8.481066155610661505e-04 -6.084993786913318187e-02 2.222996482526190918e+12 5.727247058130536389e-02 8.579216904911850516e-01 1.179026371582702444e-03 -7.171839216907228975e-02 2.222996482526190918e+12 6.755285091915878837e-02 8.587232319640921707e-01 1.639815511120047307e-03 -8.452806946785666742e-02 2.222996482526190918e+12 7.954265192111319160e-02 8.575221869756727289e-01 2.280742525481470068e-03 -9.962569310141336509e-02 2.222996482526190918e+12 9.381772411368557996e-02 8.582738624681616191e-01 3.171635091412031496e-03 -1.174199149279194637e-01 2.222996482526190918e+12 1.105932704198992617e-01 8.583695603697534260e-01 4.411219504432185336e-03 -1.383923764288897684e-01 2.222996482526190918e+12 1.303096575887132957e-01 8.579204863675585768e-01 6.134925299912536920e-03 -1.631107454420542835e-01 2.222996482526190918e+12 1.536212349512963149e-01 8.580625637356116275e-01 8.532472653740205346e-03 -1.922440813951419580e-01 2.222996482526190918e+12 1.811904892201831041e-01 8.587461597254635315e-01 1.186914873601430109e-02 -2.265809449359138250e-01 2.222996482526190918e+12 2.134622106172330003e-01 8.580256644905164265e-01 1.651424891915737742e-02 -2.670507421371726142e-01 2.222996482526190918e+12 2.516245768245992664e-01 8.579146948548818097e-01 2.297858324892665741e-02 -3.147488810066778608e-01 2.222996482526190918e+12 2.967507837702568763e-01 8.582827978819347337e-01 3.198676838856841231e-02 -3.709664212206886247e-01 2.222996482526190918e+12 3.498730175691960320e-01 8.582006391394619849e-01 4.455510475167331202e-02 -4.372250196192620786e-01 2.222996482526190918e+12 4.126822374197997578e-01 8.584687313995891245e-01 6.211370919438643362e-02 -5.153181173433998286e-01 2.222996482526190918e+12 4.866502681190369439e-01 8.582089405464927712e-01 8.670166851409714937e-02 -6.073594834385067642e-01 2.222996482526190918e+12 5.741085045582221547e-01 8.581148045564200855e-01 1.212279341679418226e-01 -7.158404288682718164e-01 2.222996482526190918e+12 6.779125123155619326e-01 8.587406230937315588e-01 1.699225592373542204e-01 -8.436972395676662906e-01 2.222996482526190918e+12 8.002793681217180710e-01 8.584124741173247974e-01 2.390043151910604680e-01 -9.943906537655036182e-01 2.222996482526190918e+12 9.454610136175898294e-01 8.582187565324576051e-01 3.378820129841099140e-01 -1.171999534812844468e+00 2.222996482526190918e+12 1.118173007631858118e+00 8.583108672045975940e-01 4.811991005805182908e-01 -1.381331274987467994e+00 2.222996482526190918e+12 1.323982180701853695e+00 8.585407434131639981e-01 6.929089184070631458e-01 -1.628051918606947979e+00 2.222996482526190918e+12 1.569356231585558703e+00 8.583267703560488737e-01 1.014879044777769135e+00 -1.918839526531252559e+00 2.222996482526190918e+12 1.863577676985685549e+00 8.586650339124038966e-01 1.528280320546429483e+00 -2.261564933217340645e+00 2.222996482526190918e+12 2.216023132965891929e+00 8.586812224014354067e-01 2.419176947598165039e+00 -2.665504788930584290e+00 2.222996482526190918e+12 2.638201256042946863e+00 8.585167048639819054e-01 4.288914528062059972e+00 -3.141592653589792672e+00 2.222996482526190918e+12 3.141592653589792672e+00 8.507142256376261091e-01 1.704093173732500475e+02 -1.000000000000000021e-03 4.498432668969453125e+12 9.350297183373390292e-04 7.570513216269080248e-01 7.161576818968967516e-07 -1.178610770701415088e-03 4.498432668969453125e+12 1.101229051102386438e-03 7.565188971603222789e-01 9.942280959769274627e-07 -1.389123348813385214e-03 4.498432668969453125e+12 1.297884423627150736e-03 7.565967064949962184e-01 1.384286984123255187e-06 -1.637235740744274635e-03 4.498432668969453125e+12 1.530518567871119512e-03 7.571647289896176192e-01 1.934474748391664807e-06 -1.929663678218512032e-03 4.498432668969453125e+12 1.805933050011264678e-03 7.582711213470788580e-01 2.684763798904576422e-06 -2.274322394979648009e-03 4.498432668969453125e+12 2.123719643277502487e-03 7.562416711860476815e-01 3.734429458045072432e-06 -2.680540870770453925e-03 4.498432668969453125e+12 2.509763252078172930e-03 7.587186635871790985e-01 5.192331760677141266e-06 -3.159314341595407215e-03 4.498432668969453125e+12 2.956221458275776464e-03 7.581353200415213989e-01 7.206820690640324361e-06 -3.723601911035797143e-03 4.498432668969453125e+12 3.484417345066470259e-03 7.581655577790101797e-01 1.003886937409272110e-05 -4.388677318151167420e-03 4.498432668969453125e+12 4.109481212676735495e-03 7.587591088507694703e-01 1.396350165353370209e-05 -5.172542356305966961e-03 4.498432668969453125e+12 4.834634511924949460e-03 7.570139730604579231e-01 1.934647184530203460e-05 -6.096414133051489617e-03 4.498432668969453125e+12 5.709705971954270355e-03 7.588622349235827347e-01 2.697311630018759364e-05 -7.185299359870824139e-03 4.498432668969453125e+12 6.728025721743672964e-03 7.585953972319333660e-01 3.751149242617668532e-05 -8.468671216257736209e-03 4.498432668969453125e+12 7.932817178006626793e-03 7.589091205786556715e-01 5.210078141168196205e-05 -9.981267109010422481e-03 4.498432668969453125e+12 9.335441655136188233e-03 7.574083636339186132e-01 7.259881819573829197e-05 -1.176402891992746509e-02 4.498432668969453125e+12 1.101951576965055565e-02 7.587781440132803645e-01 1.009899795507286619e-04 -1.386521119186945317e-02 4.498432668969453125e+12 1.298382231467374269e-02 7.584327087750032392e-01 1.401242762396544305e-04 -1.634168724878715118e-02 4.498432668969453125e+12 1.530722731291644240e-02 7.586450882877090462e-01 1.948661557976889597e-04 -1.926048860285451206e-02 4.498432668969453125e+12 1.802717522966596972e-02 7.578349784815701096e-01 2.709313200132455832e-04 -2.270061931629619237e-02 4.498432668969453125e+12 2.128628305184980529e-02 7.595363486029838018e-01 3.766968725771384602e-04 -2.675519442777928719e-02 4.498432668969453125e+12 2.505655611324672516e-02 7.582508761240985828e-01 5.238016602415154939e-04 -3.153396032479117289e-02 4.498432668969453125e+12 2.956427589561177321e-02 7.592376985455853156e-01 7.285183438210233488e-04 -3.716626528166998983e-02 4.498432668969453125e+12 3.484379714329573219e-02 7.591450616056193423e-01 1.012885146676324993e-03 -4.380456056772231294e-02 4.498432668969453125e+12 4.108922000000038433e-02 7.596008588206539791e-01 1.408125400461701215e-03 -5.162852689096004283e-02 4.498432668969453125e+12 4.841217239793565302e-02 7.592122099249427603e-01 1.954631929935701437e-03 -6.084993786913318187e-02 4.498432668969453125e+12 5.707911468933401372e-02 7.594868348401193625e-01 2.718978781143112800e-03 -7.171839216907228975e-02 4.498432668969453125e+12 6.725353338751897947e-02 7.591182421194749841e-01 3.781387057330331224e-03 -8.452806946785666742e-02 4.498432668969453125e+12 7.929107091657412731e-02 7.593558243015232634e-01 5.258008498643067588e-03 -9.962569310141336509e-02 4.498432668969453125e+12 9.342983863180433224e-02 7.590298709987155501e-01 7.313912786757141744e-03 -1.174199149279194637e-01 4.498432668969453125e+12 1.101557377512955016e-01 7.592803454011919362e-01 1.017142781043164565e-02 -1.383923764288897684e-01 4.498432668969453125e+12 1.298117801506156466e-01 7.590343637775024410e-01 1.414653793493512134e-02 -1.631107454420542835e-01 4.498432668969453125e+12 1.530638741458102969e-01 7.593369457533297728e-01 1.967512514288460163e-02 -1.922440813951419580e-01 4.498432668969453125e+12 1.804058178431772741e-01 7.592033654458857361e-01 2.736927259722728503e-02 -2.265809449359138250e-01 4.498432668969453125e+12 2.127434602409186415e-01 7.595491966358590696e-01 3.808136536295095298e-02 -2.670507421371726142e-01 4.498432668969453125e+12 2.507959513186484579e-01 7.595183028237287859e-01 5.298615897009594650e-02 -3.147488810066778608e-01 4.498432668969453125e+12 2.955808696506639355e-01 7.591601751123391306e-01 7.375885893262343340e-02 -3.709664212206886247e-01 4.498432668969453125e+12 3.485504465237860283e-01 7.592291425733891375e-01 1.027353820444275451e-01 -4.372250196192620786e-01 4.498432668969453125e+12 4.111994570456951603e-01 7.596093778051250522e-01 1.432204790907147529e-01 -5.153181173433998286e-01 4.498432668969453125e+12 4.849771905421184637e-01 7.595064423187972702e-01 1.998901267285445038e-01 -6.073594834385067642e-01 4.498432668969453125e+12 5.722314459338230241e-01 7.595428175045709773e-01 2.794751767940815146e-01 -7.158404288682718164e-01 4.498432668969453125e+12 6.754313994408348565e-01 7.595609049118848821e-01 3.916819525698437832e-01 -8.436972395676662906e-01 4.498432668969453125e+12 7.975062052221528752e-01 7.593689442163281678e-01 5.508165570913167164e-01 -9.943906537655036182e-01 4.498432668969453125e+12 9.424195295682964435e-01 7.593082241593784865e-01 7.784498345012760279e-01 -1.171999534812844468e+00 4.498432668969453125e+12 1.114916408458805464e+00 7.595006322648998331e-01 1.108135936613015904e+00 -1.381331274987467994e+00 4.498432668969453125e+12 1.320068406224913060e+00 7.592542110234524744e-01 1.594448258744444402e+00 -1.628051918606947979e+00 4.498432668969453125e+12 1.565424527118122189e+00 7.591560430332734422e-01 2.332582901612421988e+00 -1.918839526531252559e+00 4.498432668969453125e+12 1.859904052173851907e+00 7.595061260027533567e-01 3.505629810776937916e+00 -2.261564933217340645e+00 4.498432668969453125e+12 2.212946163874473626e+00 7.594758164224973962e-01 5.532951159776828831e+00 -2.665504788930584290e+00 4.498432668969453125e+12 2.636486216277636796e+00 7.596240996981038496e-01 9.783772221595373964e+00 -3.141592653589792672e+00 4.498432668969453125e+12 3.141592653589792672e+00 7.525554588629501662e-01 3.947574486779784593e+02 -1.000000000000000021e-03 9.102981779915226562e+12 9.334122656168965335e-04 6.714712168213495813e-01 1.629915371216081933e-06 -1.178610770701415088e-03 9.102981779915226562e+12 1.099285303137830351e-03 6.709747156633265597e-01 2.268672760650360637e-06 -1.389123348813385214e-03 9.102981779915226562e+12 1.295464984937064060e-03 6.709662228487628388e-01 3.160663256269710312e-06 -1.637235740744274635e-03 9.102981779915226562e+12 1.527792257965051703e-03 6.715238831723771007e-01 4.394458998322805681e-06 -1.929663678218512032e-03 9.102981779915226562e+12 1.795287727749973793e-03 6.692137304934824282e-01 6.109458913638208035e-06 -2.274322394979648009e-03 9.102981779915226562e+12 2.120665451030014862e-03 6.709678840618040763e-01 8.496039996652946657e-06 -2.680540870770453925e-03 9.102981779915226562e+12 2.496474017833205227e-03 6.700320578996095122e-01 1.181127838303396172e-05 -3.159314341595407215e-03 9.102981779915226562e+12 2.941280275960765633e-03 6.697286917363557412e-01 1.645980619883695683e-05 -3.723601911035797143e-03 9.102981779915226562e+12 3.467929531122806129e-03 6.699964871870858207e-01 2.285163623053900541e-05 -4.388677318151167420e-03 9.102981779915226562e+12 4.091328664251697028e-03 6.707331109312421047e-01 3.172528724161467479e-05 -5.172542356305966961e-03 9.102981779915226562e+12 4.829192153140786890e-03 6.718797610510346408e-01 4.430023772510600466e-05 -6.096414133051489617e-03 9.102981779915226562e+12 5.686125251802777621e-03 6.710411417604538187e-01 6.158412047280421647e-05 -7.185299359870824139e-03 9.102981779915226562e+12 6.699965280406141449e-03 6.707842206927733253e-01 8.565378823930416526e-05 -8.468671216257736209e-03 9.102981779915226562e+12 7.900470804224886054e-03 6.711192061722498492e-01 1.190599423031693852e-04 -9.981267109010422481e-03 9.102981779915226562e+12 9.322544801869669939e-03 6.720166851020014098e-01 1.656665115419129098e-04 -1.176402891992746509e-02 9.102981779915226562e+12 1.098099827933435822e-02 6.714626765605220537e-01 2.303233991130014340e-04 -1.386521119186945317e-02 9.102981779915226562e+12 1.294362944902191677e-02 6.714836047163120769e-01 3.194005075293671774e-04 -1.634168724878715118e-02 9.102981779915226562e+12 1.526603864371742919e-02 6.719870419510988180e-01 4.455664024656105305e-04 -1.926048860285451206e-02 9.102981779915226562e+12 1.797947347731483625e-02 6.713252202144535108e-01 6.179464172916554086e-04 -2.270061931629619237e-02 9.102981779915226562e+12 2.119139176674753391e-02 6.712864796056411398e-01 8.597223438359802425e-04 -2.675519442777928719e-02 9.102981779915226562e+12 2.499410436506366989e-02 6.718030089092313917e-01 1.195636094404618809e-03 -3.153396032479117289e-02 9.102981779915226562e+12 2.944673334165547399e-02 6.714196616363363734e-01 1.662133413669257802e-03 -3.716626528166998983e-02 9.102981779915226562e+12 3.471458210317313747e-02 6.715555937816481968e-01 2.307060522994462508e-03 -4.380456056772231294e-02 9.102981779915226562e+12 4.094754576586451256e-02 6.721508252744170520e-01 3.207817019727078871e-03 -5.162852689096004283e-02 9.102981779915226562e+12 4.825550086363656482e-02 6.719928010945437347e-01 4.462400947142182439e-03 -6.084993786913318187e-02 9.102981779915226562e+12 5.689969971135384885e-02 6.723005709154048493e-01 6.206109191797501944e-03 -7.171839216907228975e-02 9.102981779915226562e+12 6.704514850468018539e-02 6.720217681267078857e-01 8.628448620158003443e-03 -8.452806946785666742e-02 9.102981779915226562e+12 7.906595045686576340e-02 6.724360043306923940e-01 1.200232558711398882e-02 -9.962569310141336509e-02 9.102981779915226562e+12 9.318422172971686790e-02 6.723289634247947566e-01 1.668997049174372749e-02 -1.174199149279194637e-01 9.102981779915226562e+12 1.097679799413311119e-01 6.717939402765631396e-01 2.321265686433886255e-02 -1.383923764288897684e-01 9.102981779915226562e+12 1.293815192407407055e-01 6.717512516158460345e-01 3.228248929187434169e-02 -1.631107454420542835e-01 9.102981779915226562e+12 1.525808751073261804e-01 6.721347473685711504e-01 4.490185312654097760e-02 -1.922440813951419580e-01 9.102981779915226562e+12 1.798609999492697675e-01 6.721284134602070193e-01 6.245967222797452895e-02 -2.265809449359138250e-01 9.102981779915226562e+12 2.119520796788296468e-01 6.718244413447947982e-01 8.690592790765119813e-02 -2.670507421371726142e-01 9.102981779915226562e+12 2.499186491939200394e-01 6.719725259171137610e-01 1.209261555871070926e-01 -3.147488810066778608e-01 9.102981779915226562e+12 2.948354795753714841e-01 6.724836317521744045e-01 1.683337602943955902e-01 -3.709664212206886247e-01 9.102981779915226562e+12 3.474600585261682917e-01 6.720071392983548719e-01 2.344655712801867464e-01 -4.372250196192620786e-01 9.102981779915226562e+12 4.099865891132827844e-01 6.724590844602442719e-01 3.268659567910859876e-01 -5.153181173433998286e-01 9.102981779915226562e+12 4.836323413803881865e-01 6.724936648785101445e-01 4.562339935978270145e-01 -6.073594834385067642e-01 9.102981779915226562e+12 5.703848229501661260e-01 6.720760063660706773e-01 6.379095760138741023e-01 -7.158404288682718164e-01 9.102981779915226562e+12 6.734046286237141965e-01 6.722265484407844438e-01 8.940882333511137592e-01 -8.436972395676662906e-01 9.102981779915226562e+12 7.952952745594162876e-01 6.721843014807421524e-01 1.257486930169024797e+00 -9.943906537655036182e-01 9.102981779915226562e+12 9.400167700335522181e-01 6.722242433717117160e-01 1.777481957964434089e+00 -1.171999534812844468e+00 9.102981779915226562e+12 1.112331422299497330e+00 6.724538238768621445e-01 2.530953353733037758e+00 -1.381331274987467994e+00 9.102981779915226562e+12 1.317351364719053342e+00 6.722931318487822550e-01 3.643138259152821856e+00 -1.628051918606947979e+00 9.102981779915226562e+12 1.562684682072567055e+00 6.722481875188172085e-01 5.332856109293897084e+00 -1.918839526531252559e+00 9.102981779915226562e+12 1.856812920271874612e+00 6.721043079160249345e-01 8.023397824419047808e+00 -2.261564933217340645e+00 9.102981779915226562e+12 2.210751369190687932e+00 6.724817099823440225e-01 1.268495504266185314e+01 -2.665504788930584290e+00 9.102981779915226562e+12 2.634973379572262520e+00 6.722533638140006929e-01 2.247122033215254433e+01 -3.141592653589792672e+00 9.102981779915226562e+12 3.141592653589792672e+00 6.662401431656831408e-01 9.147250297134262382e+02 -1.000000000000000021e-03 1.842069969326716406e+13 9.300549756375095121e-04 5.939440850702459862e-01 3.738440349278575378e-06 -1.178610770701415088e-03 1.842069969326716406e+13 1.095569300301302285e-03 5.936649217493052966e-01 5.198101990282448283e-06 -1.389123348813385214e-03 1.842069969326716406e+13 1.291586336194409284e-03 5.939107104610276133e-01 7.243410274884118349e-06 -1.637235740744274635e-03 1.842069969326716406e+13 1.523661626084625489e-03 5.945835449186080979e-01 1.002485130689176699e-05 -1.929663678218512032e-03 1.842069969326716406e+13 1.790303747760566173e-03 5.925507880448132036e-01 1.400105676789920092e-05 -2.274322394979648009e-03 1.842069969326716406e+13 2.115190337917599150e-03 5.941922177907791314e-01 1.946575536112032633e-05 -2.680540870770453925e-03 1.842069969326716406e+13 2.490057854046002269e-03 5.933961194924447513e-01 2.705731434149028506e-05 -3.159314341595407215e-03 1.842069969326716406e+13 2.933850893858308117e-03 5.931663636324634448e-01 3.765167373990229040e-05 -3.723601911035797143e-03 1.842069969326716406e+13 3.459230485314580394e-03 5.934124338463334647e-01 5.231109702985172442e-05 -4.388677318151167420e-03 1.842069969326716406e+13 4.081203043270279114e-03 5.940733523915081582e-01 7.285952300162093530e-05 -5.172542356305966961e-03 1.842069969326716406e+13 4.817399473039596196e-03 5.950872564328626435e-01 1.011877591007805848e-04 -6.096414133051489617e-03 1.842069969326716406e+13 5.671927277374128225e-03 5.943297484173121203e-01 1.403181367354480855e-04 -7.185299359870824139e-03 1.842069969326716406e+13 6.683870214413262928e-03 5.941734199077896017e-01 1.959427268574455720e-04 -8.468671216257736209e-03 1.842069969326716406e+13 7.882371936490516207e-03 5.945393403889067674e-01 2.717417286757424521e-04 -9.981267109010422481e-03 1.842069969326716406e+13 9.301832984992226133e-03 5.953636178437612392e-01 3.787481794002082167e-04 -1.176402891992746509e-02 1.842069969326716406e+13 1.095646862860808445e-02 5.948782918591490887e-01 5.254592949451212082e-04 -1.386521119186945317e-02 1.842069969326716406e+13 1.291509476389044592e-02 5.949179403918133380e-01 7.308061623157291855e-04 -1.634168724878715118e-02 1.842069969326716406e+13 1.523373798237396236e-02 5.954156555770695469e-01 1.016365852874083183e-03 -1.926048860285451206e-02 1.842069969326716406e+13 1.794212772721148416e-02 5.948712655123562509e-01 1.414083928916146267e-03 -2.270061931629619237e-02 1.842069969326716406e+13 2.114692406988300660e-02 5.948243853644888945e-01 1.965336287521599664e-03 -2.675519442777928719e-02 1.842069969326716406e+13 2.493959805278800346e-02 5.952146670982542132e-01 2.733699260004621590e-03 -3.153396032479117289e-02 1.842069969326716406e+13 2.937892323626522043e-02 5.948000425132298208e-01 3.794107820678333572e-03 -3.716626528166998983e-02 1.842069969326716406e+13 3.463533115478789615e-02 5.949315043534020297e-01 5.278767207275136472e-03 -4.380456056772231294e-02 1.842069969326716406e+13 4.085957678514633845e-02 5.955395008169606097e-01 7.338216991742373824e-03 -5.162852689096004283e-02 1.842069969326716406e+13 4.815777977881689764e-02 5.954903078489419688e-01 1.020478886576824985e-02 -6.084993786913318187e-02 1.842069969326716406e+13 5.671549077031225877e-02 5.948890150315456760e-01 1.419324473433268737e-02 -7.171839216907228975e-02 1.842069969326716406e+13 6.684066051312549661e-02 5.947832254958979048e-01 1.973491663685962919e-02 -8.452806946785666742e-02 1.842069969326716406e+13 7.882476596782790612e-02 5.951349562584696828e-01 2.744720172019861695e-02 -9.962569310141336509e-02 1.842069969326716406e+13 9.290294327547055087e-02 5.950658450117534137e-01 3.817102646983505654e-02 -1.174199149279194637e-01 1.842069969326716406e+13 1.095669732487314224e-01 5.954548789206827175e-01 5.308412091024408697e-02 -1.383923764288897684e-01 1.842069969326716406e+13 1.291505770143996645e-01 5.954500489024882048e-01 7.383165674156146052e-02 -1.631107454420542835e-01 1.842069969326716406e+13 1.521657390068541504e-01 5.951065714872261214e-01 1.026951336433766376e-01 -1.922440813951419580e-01 1.842069969326716406e+13 1.793910460601062518e-01 5.951750152112158521e-01 1.428402587153796977e-01 -2.265809449359138250e-01 1.842069969326716406e+13 2.114030932064018820e-01 5.949270572317985062e-01 1.987339877017002543e-01 -2.670507421371726142e-01 1.842069969326716406e+13 2.492717046025743344e-01 5.950490392773831738e-01 2.765423719598054664e-01 -3.147488810066778608e-01 1.842069969326716406e+13 2.940962100225940068e-01 5.955369125107470296e-01 3.849373489487536992e-01 -3.709664212206886247e-01 1.842069969326716406e+13 3.466189097478578618e-01 5.951806565054964526e-01 5.361592927613642035e-01 -4.372250196192620786e-01 1.842069969326716406e+13 4.087409614721647655e-01 5.950952101093115454e-01 7.474007606309146512e-01 -5.153181173433998286e-01 1.842069969326716406e+13 4.822301671798578382e-01 5.952006409775838502e-01 1.043167912010393605e+00 -6.073594834385067642e-01 1.842069969326716406e+13 5.691707668014820420e-01 5.953936338010437090e-01 1.458403896813437406e+00 -7.158404288682718164e-01 1.842069969326716406e+13 6.716052648427957017e-01 5.950599659801004693e-01 2.043796992553791547e+00 -8.436972395676662906e-01 1.842069969326716406e+13 7.937463103756920990e-01 5.955372905748829160e-01 2.874071763830434723e+00 -9.943906537655036182e-01 1.842069969326716406e+13 9.377949889500175606e-01 5.951426727911086623e-01 4.061549065065880093e+00 -1.171999534812844468e+00 1.842069969326716406e+13 1.109961451127189136e+00 5.954088175675705807e-01 5.781638138587030795e+00 -1.381331274987467994e+00 1.842069969326716406e+13 1.314871713867268754e+00 5.953205129049726763e-01 8.319259988507736736e+00 -1.628051918606947979e+00 1.842069969326716406e+13 1.560205137621436533e+00 5.953295963172361427e-01 1.217383634956962091e+01 -1.918839526531252559e+00 1.842069969326716406e+13 1.854489312260964473e+00 5.952345745961931112e-01 1.831363611324583118e+01 -2.261564933217340645e+00 1.842069969326716406e+13 2.208406563572610004e+00 5.951654714285679049e-01 2.898195989397375527e+01 -2.665504788930584290e+00 1.842069969326716406e+13 2.633783594706528675e+00 5.953126322293084138e-01 5.159540995438747757e+01 -3.141592653589792672e+00 1.842069969326716406e+13 3.141592653589792672e+00 5.900239646317324560e-01 2.128390868336916355e+03 -1.000000000000000021e-03 3.727593720314938281e+13 9.336125811718465469e-04 5.297567383667811658e-01 8.593972099828825885e-06 -1.178610770701415088e-03 3.727593720314938281e+13 1.104856685338326651e-03 5.325388518779612390e-01 1.197496465504488758e-05 -1.389123348813385214e-03 3.727593720314938281e+13 1.301782186398428402e-03 5.324008673085880439e-01 1.662878919353853339e-05 -1.637235740744274635e-03 3.727593720314938281e+13 1.534847317369194717e-03 5.327051722082036811e-01 2.319632673494058937e-05 -1.929663678218512032e-03 3.727593720314938281e+13 1.803068188572937982e-03 5.305593583680580094e-01 3.226053636427811215e-05 -2.274322394979648009e-03 3.727593720314938281e+13 2.128647521911133239e-03 5.316806625435426259e-01 4.462917179272655831e-05 -2.680540870770453925e-03 3.727593720314938281e+13 2.504357824234146671e-03 5.305170450246711189e-01 6.210910998438760259e-05 -3.159314341595407215e-03 3.727593720314938281e+13 2.959679591600536570e-03 5.323240819371459764e-01 8.671793591182658451e-05 -3.723601911035797143e-03 3.727593720314938281e+13 3.487544586307740179e-03 5.321647098033018830e-01 1.206731112548401267e-04 -4.388677318151167420e-03 3.727593720314938281e+13 4.112539201467957026e-03 5.324894513501311488e-01 1.678921204644874500e-04 -5.172542356305966961e-03 3.727593720314938281e+13 4.837650515726101344e-03 5.311498438102828512e-01 2.328533003868001386e-04 -6.096414133051489617e-03 3.727593720314938281e+13 5.711678753127506086e-03 5.322938497505235178e-01 3.247803283564053159e-04 -7.185299359870824139e-03 3.727593720314938281e+13 6.728242761335314834e-03 5.318940948407679947e-01 4.506456449082277922e-04 -8.468671216257736209e-03 3.727593720314938281e+13 7.931367033801607277e-03 5.319729821324225005e-01 6.282774740050433345e-04 -9.981267109010422481e-03 3.727593720314938281e+13 9.355420793335143814e-03 5.324732312701043746e-01 8.721520394681748839e-04 -1.176402891992746509e-02 3.727593720314938281e+13 1.101635978524776079e-02 5.318059922696370956e-01 1.212054259160521988e-03 -1.386521119186945317e-02 3.727593720314938281e+13 1.298101174113502378e-02 5.316048179707961729e-01 1.685379570671471754e-03 -1.634168724878715118e-02 3.727593720314938281e+13 1.530542440085697932e-02 5.318183915361563985e-01 2.345791457222706159e-03 -1.926048860285451206e-02 3.727593720314938281e+13 1.805593870020453726e-02 5.324094232775772317e-01 3.259953725190143942e-03 -2.270061931629619237e-02 3.727593720314938281e+13 2.127194219953248283e-02 5.320736221545591116e-01 4.535757553384518401e-03 -2.675519442777928719e-02 3.727593720314938281e+13 2.507747515676792688e-02 5.321952313564209947e-01 6.308462054959180360e-03 -3.153396032479117289e-02 3.727593720314938281e+13 2.958180386174498466e-02 5.327387408171354588e-01 8.770178115402985780e-03 -3.716626528166998983e-02 3.727593720314938281e+13 3.486019362264350385e-02 5.325868351912353971e-01 1.217163483780472552e-02 -4.380456056772231294e-02 3.727593720314938281e+13 4.104613185976692391e-02 5.318604908897385242e-01 1.691768439729401594e-02 -5.162852689096004283e-02 3.727593720314938281e+13 4.843049736508935749e-02 5.325687280664961332e-01 2.354547500486354333e-02 -6.084993786913318187e-02 3.727593720314938281e+13 5.709598795308467450e-02 5.327064940057422149e-01 3.273658685724749329e-02 -7.171839216907228975e-02 3.727593720314938281e+13 6.726541493640865454e-02 5.323609043461278167e-01 4.552225725733946571e-02 -8.452806946785666742e-02 3.727593720314938281e+13 7.929398990597212593e-02 5.324327260350341096e-01 6.331028201852967330e-02 -9.962569310141336509e-02 3.727593720314938281e+13 9.341930440207615871e-02 5.320980935214151275e-01 8.804054292460697373e-02 -1.174199149279194637e-01 3.727593720314938281e+13 1.101261397765051220e-01 5.321673324731099886e-01 1.224673211446587334e-01 -1.383923764288897684e-01 3.727593720314938281e+13 1.298943210273649784e-01 5.326221955238258365e-01 1.703181507257803262e-01 -1.631107454420542835e-01 3.727593720314938281e+13 1.529980166314370005e-01 5.320938896764229042e-01 2.368911897951762047e-01 -1.922440813951419580e-01 3.727593720314938281e+13 1.804865517574513190e-01 5.326114695409454036e-01 3.295287091290240444e-01 -2.265809449359138250e-01 3.727593720314938281e+13 2.126437620444799337e-01 5.322137855381469107e-01 4.584780361352434053e-01 -2.670507421371726142e-01 3.727593720314938281e+13 2.506710791031856456e-01 5.321699228160784445e-01 6.379825026673201505e-01 -3.147488810066778608e-01 3.727593720314938281e+13 2.956454735123326127e-01 5.324205673751339907e-01 8.881150833117135157e-01 -3.709664212206886247e-01 3.727593720314938281e+13 3.485909528619802744e-01 5.323974790822220138e-01 1.237036689544356527e+00 -4.372250196192620786e-01 3.727593720314938281e+13 4.112191649251026315e-01 5.326185116701569466e-01 1.724457069980021240e+00 -5.153181173433998286e-01 3.727593720314938281e+13 4.849828498401653198e-01 5.325191332471554961e-01 2.406979243739148178e+00 -6.073594834385067642e-01 3.727593720314938281e+13 5.722197375451396617e-01 5.325208874182240093e-01 3.365272953483246621e+00 -7.158404288682718164e-01 3.727593720314938281e+13 6.753978518851591062e-01 5.325108581615285441e-01 4.716429989318651650e+00 -8.436972395676662906e-01 3.727593720314938281e+13 7.974441164711940644e-01 5.323514971820525465e-01 6.633093529312953152e+00 -9.943906537655036182e-01 3.727593720314938281e+13 9.427852131840931404e-01 5.326901442275009391e-01 9.375065342542042046e+00 -1.171999534812844468e+00 3.727593720314938281e+13 1.114736857458509256e+00 5.323636757818438481e-01 1.334673325984357817e+01 -1.381331274987467994e+00 3.727593720314938281e+13 1.320356374334563876e+00 5.325441247744611140e-01 1.920634189783419643e+01 -1.628051918606947979e+00 3.727593720314938281e+13 1.565683652952608584e+00 5.324485667204862382e-01 2.810155662902537799e+01 -1.918839526531252559e+00 3.727593720314938281e+13 1.860157689617726762e+00 5.327033341437032998e-01 4.225362404252813064e+01 -2.261564933217340645e+00 3.727593720314938281e+13 2.213217112454874957e+00 5.327381862396312062e-01 6.678508636646778029e+01 -2.665504788930584290e+00 3.727593720314938281e+13 2.636428304754967922e+00 5.325070811447292218e-01 1.187926180424857705e+02 -3.141592653589792672e+00 3.727593720314938281e+13 3.141592653589792672e+00 5.278500060185991050e-01 5.044409228167171932e+03 -1.000000000000000021e-03 7.543120063354607812e+13 9.269886643725921060e-04 4.667177316879538296e-01 1.967297587867804511e-05 -1.178610770701415088e-03 7.543120063354607812e+13 1.091643291271364663e-03 4.663757121265886263e-01 2.758982944552641878e-05 -1.389123348813385214e-03 7.543120063354607812e+13 1.286765456533512644e-03 4.664913061152638485e-01 3.837597526371574412e-05 -1.637235740744274635e-03 7.543120063354607812e+13 1.518023933155143290e-03 4.670113268536414397e-01 5.313744625794334151e-05 -1.929663678218512032e-03 7.543120063354607812e+13 1.792041855786257474e-03 4.678734005388867634e-01 7.403882867753685344e-05 -2.274322394979648009e-03 7.543120063354607812e+13 2.107330491878162473e-03 4.667168062994593303e-01 1.029144136311145732e-04 -2.680540870770453925e-03 7.543120063354607812e+13 2.490932306560396815e-03 4.682280031687610089e-01 1.431663201201942596e-04 -3.159314341595407215e-03 7.543120063354607812e+13 2.933844192291887396e-03 4.678667734548197510e-01 1.992923047925536655e-04 -3.723601911035797143e-03 7.543120063354607812e+13 3.458000736412454590e-03 4.678796356082193242e-01 2.766854802051781775e-04 -4.388677318151167420e-03 7.543120063354607812e+13 4.078990499328253444e-03 4.682985860683915869e-01 3.839408208904365586e-04 -5.172542356305966961e-03 7.543120063354607812e+13 4.799023501932884496e-03 4.673399946869755683e-01 5.355597161150317618e-04 -6.096414133051489617e-03 7.543120063354607812e+13 5.651502629662187929e-03 4.668824448129709204e-01 7.453908566587041148e-04 -7.185299359870824139e-03 7.543120063354607812e+13 6.680429164379578406e-03 4.683851546668030275e-01 1.036016870121828819e-03 -8.468671216257736209e-03 7.543120063354607812e+13 7.855156824896099635e-03 4.671131854885757773e-01 1.441331806847159520e-03 -9.981267109010422481e-03 7.543120063354607812e+13 9.269483909539433589e-03 4.677161822168067196e-01 2.000431683526067775e-03 -1.176402891992746509e-02 7.543120063354607812e+13 1.091706440900484278e-02 4.672928557297601482e-01 2.781072618271656412e-03 -1.386521119186945317e-02 7.543120063354607812e+13 1.286838454461985450e-02 4.673114432764481907e-01 3.867452850322642983e-03 -1.634168724878715118e-02 7.543120063354607812e+13 1.517998910395053185e-02 4.677273996418362945e-01 5.376760778153040661e-03 -1.926048860285451206e-02 7.543120063354607812e+13 1.791768989202341400e-02 4.684747500711078927e-01 7.478742547729675880e-03 -2.270061931629619237e-02 7.543120063354607812e+13 2.111812571725988491e-02 4.684374161639151546e-01 1.039545904439887272e-02 -2.675519442777928719e-02 7.543120063354607812e+13 2.485959607941093386e-02 4.677413194320174661e-01 1.443679538457012627e-02 -3.153396032479117289e-02 7.543120063354607812e+13 2.934018451204184474e-02 4.684392597336905495e-01 2.008881017533048485e-02 -3.716626528166998983e-02 7.543120063354607812e+13 3.453013935722745731e-02 4.676161943396797138e-01 2.792531399510127244e-02 -4.380456056772231294e-02 7.543120063354607812e+13 4.073825500393379179e-02 4.681081123478282868e-01 3.880951098026997476e-02 -5.162852689096004283e-02 7.543120063354607812e+13 4.801647783604209158e-02 4.680888128490401368e-01 5.400124795904916869e-02 -6.084993786913318187e-02 7.543120063354607812e+13 5.663187351409031123e-02 4.684204594601801830e-01 7.509329662509757475e-02 -7.171839216907228975e-02 7.543120063354607812e+13 6.673997284734645152e-02 4.683208994421980687e-01 1.044436577021270879e-01 -8.452806946785666742e-02 7.543120063354607812e+13 7.859997132167587108e-02 4.678617038748419943e-01 1.452303758473626194e-01 -9.962569310141336509e-02 7.543120063354607812e+13 9.274748442524351211e-02 4.684458974134648179e-01 2.020102898016567505e-01 -1.174199149279194637e-01 7.543120063354607812e+13 1.092467552772843631e-01 4.680616396066211160e-01 2.809032259553094768e-01 -1.383923764288897684e-01 7.543120063354607812e+13 1.287735438153167489e-01 4.680576157026492545e-01 3.907405695397156431e-01 -1.631107454420542835e-01 7.543120063354607812e+13 1.518863597501163842e-01 4.683842276594583076e-01 5.434912974159571419e-01 -1.922440813951419580e-01 7.543120063354607812e+13 1.790665937582593958e-01 4.684491604215175187e-01 7.560515178460976982e-01 -2.265809449359138250e-01 7.543120063354607812e+13 2.110352672822168041e-01 4.682938607564139932e-01 1.051929999736191057e+00 -2.670507421371726142e-01 7.543120063354607812e+13 2.488600669439640922e-01 4.684322420658690311e-01 1.463829628744210520e+00 -3.147488810066778608e-01 7.543120063354607812e+13 2.933675109437066109e-01 4.683411816464884692e-01 2.037697488081407382e+00 -3.709664212206886247e-01 7.543120063354607812e+13 3.457431828123583295e-01 4.680356187314891891e-01 2.838402784504846288e+00 -4.372250196192620786e-01 7.543120063354607812e+13 4.080155500963598136e-01 4.683790703064553695e-01 3.957288032010235046e+00 -5.153181173433998286e-01 7.543120063354607812e+13 4.813560646114073416e-01 4.684255335545098320e-01 5.523734739152576623e+00 -6.073594834385067642e-01 7.543120063354607812e+13 5.677559028587422230e-01 4.681645677244963277e-01 7.723858806340272665e+00 -7.158404288682718164e-01 7.543120063354607812e+13 6.704392641368847050e-01 4.683194848607740712e-01 1.082734044176219257e+01 -8.436972395676662906e-01 7.543120063354607812e+13 7.919796196050102877e-01 4.683464607293274518e-01 1.523051625585499202e+01 -9.943906537655036182e-01 7.543120063354607812e+13 9.363698189078368816e-01 4.684341448459682367e-01 2.153483733802240963e+01 -1.171999534812844468e+00 7.543120063354607812e+13 1.107862971892397574e+00 4.683118466921420420e-01 3.067591467714763454e+01 -1.381331274987467994e+00 7.543120063354607812e+13 1.312662391351285818e+00 4.682696385839121289e-01 4.418889735751186265e+01 -1.628051918606947979e+00 7.543120063354607812e+13 1.557983248050732517e+00 4.683014511995341467e-01 6.476315839286165499e+01 -1.918839526531252559e+00 7.543120063354607812e+13 1.852413284294573970e+00 4.682519497852115631e-01 9.765580644979067415e+01 -2.261564933217340645e+00 7.543120063354607812e+13 2.206681690131241158e+00 4.681974768348439730e-01 1.550845913929980782e+02 -2.665504788930584290e+00 7.543120063354607812e+13 2.632733518583583177e+00 4.682940402752623910e-01 2.770492464237005379e+02 -3.141592653589792672e+00 7.543120063354607812e+13 3.141592653589792672e+00 4.642388361832548438e-01 1.215570924406249105e+04 -1.000000000000000021e-03 1.526417967175236562e+14 9.265809855482050935e-04 4.144878118117120147e-01 4.548609851929527229e-05 -1.178610770701415088e-03 1.526417967175236562e+14 1.091085786661590137e-03 4.141602069469847436e-01 6.346965113971221551e-05 -1.389123348813385214e-03 1.526417967175236562e+14 1.286052010969417417e-03 4.142445139381879526e-01 8.823086559817068302e-05 -1.637235740744274635e-03 1.526417967175236562e+14 1.517149046220579636e-03 4.146915940837380687e-01 1.228971296841402025e-04 -1.929663678218512032e-03 1.526417967175236562e+14 1.790916809994572319e-03 4.154248175395317544e-01 1.708725836028038595e-04 -2.274322394979648009e-03 1.526417967175236562e+14 2.115182776164953662e-03 4.164108746925724858e-01 2.366687632089714360e-04 -2.680540870770453925e-03 1.526417967175236562e+14 2.488863026382356815e-03 4.156483644120372301e-01 3.295248909277405836e-04 -3.159314341595407215e-03 1.526417967175236562e+14 2.930967909487359156e-03 4.152690632882343191e-01 4.582385552861480897e-04 -3.723601911035797143e-03 1.526417967175236562e+14 3.454539271798221043e-03 4.152721602121408617e-01 6.400837157029284040e-04 -4.388677318151167420e-03 1.526417967175236562e+14 4.074861110549842652e-03 4.156326129633894362e-01 8.864344236361317800e-04 -5.172542356305966961e-03 1.526417967175236562e+14 4.809767668383274457e-03 4.163059430220402146e-01 1.238711330631094530e-03 -6.096414133051489617e-03 1.526417967175236562e+14 5.662788281242211140e-03 4.157788216942451265e-01 1.717587052178893387e-03 -7.185299359870824139e-03 1.526417967175236562e+14 6.672647967592882853e-03 4.156413728252415507e-01 2.388533032862205554e-03 -8.468671216257736209e-03 1.526417967175236562e+14 7.868523397428855981e-03 4.158531511403187886e-01 3.320722887961969922e-03 -9.981267109010422481e-03 1.526417967175236562e+14 9.284558361647052629e-03 4.163640465228012899e-01 4.622266564318088661e-03 -1.176402891992746509e-02 1.526417967175236562e+14 1.093399729675220353e-02 4.159460599379147250e-01 6.425650199329881358e-03 -1.386521119186945317e-02 1.526417967175236562e+14 1.288627436286424177e-02 4.158888523008282823e-01 8.938988763799685100e-03 -1.634168724878715118e-02 1.526417967175236562e+14 1.519758631578563106e-02 4.161568058578425933e-01 1.243316948580516258e-02 -1.926048860285451206e-02 1.526417967175236562e+14 1.789756956456366177e-02 4.157396440905213875e-01 1.728295418451272075e-02 -2.270061931629619237e-02 1.526417967175236562e+14 2.109458643459975052e-02 4.157111698807903211e-01 2.405042918761213233e-02 -2.675519442777928719e-02 1.526417967175236562e+14 2.487969546899560999e-02 4.160059576686788718e-01 3.342019844906726073e-02 -3.153396032479117289e-02 1.526417967175236562e+14 2.930860541308614661e-02 4.157307785235329622e-01 4.639073258839192943e-02 -3.716626528166998983e-02 1.526417967175236562e+14 3.455019235982237369e-02 4.157880700400891083e-01 6.450734064683398550e-02 -4.380456056772231294e-02 1.526417967175236562e+14 4.075427773209286397e-02 4.161387276690902692e-01 8.970128139259779532e-02 -5.162852689096004283e-02 1.526417967175236562e+14 4.802830758184883225e-02 4.160523060477172019e-01 1.247408443091753971e-01 -6.084993786913318187e-02 1.526417967175236562e+14 5.664128808117283032e-02 4.163086817649424565e-01 1.735015962329065631e-01 -7.171839216907228975e-02 1.526417967175236562e+14 6.674918886329798962e-02 4.162069025627791463e-01 2.412898502557709601e-01 -8.452806946785666742e-02 1.526417967175236562e+14 7.861085979536154567e-02 4.157998052796064159e-01 3.356369468898683373e-01 -9.962569310141336509e-02 1.526417967175236562e+14 9.276200219464969532e-02 4.163264719274595294e-01 4.666710118325914092e-01 -1.174199149279194637e-01 1.526417967175236562e+14 1.092610411168248585e-01 4.159733584632664405e-01 6.492442440105653523e-01 -1.383923764288897684e-01 1.526417967175236562e+14 1.287853919100705180e-01 4.159514074471705181e-01 9.028344972416221248e-01 -1.631107454420542835e-01 1.526417967175236562e+14 1.518952653097575822e-01 4.162249213342678056e-01 1.255815794862054746e+00 -1.922440813951419580e-01 1.526417967175236562e+14 1.790725503663317952e-01 4.162702702468650262e-01 1.746962325361699486e+00 -2.265809449359138250e-01 1.526417967175236562e+14 2.110333473038133456e-01 4.161123664457103133e-01 2.430610163004690349e+00 -2.670507421371726142e-01 1.526417967175236562e+14 2.488471606850971851e-01 4.162141048831111689e-01 3.382319004857944122e+00 -3.147488810066778608e-01 1.526417967175236562e+14 2.933393582540089750e-01 4.161120103787069313e-01 4.708555637800252214e+00 -3.709664212206886247e-01 1.526417967175236562e+14 3.459765634251968924e-01 4.162196585287998296e-01 6.558376435531652504e+00 -4.372250196192620786e-01 1.526417967175236562e+14 4.079461390864552728e-01 4.161081918358844334e-01 9.143576965078537455e+00 -5.153181173433998286e-01 1.526417967175236562e+14 4.812749386387153439e-01 4.161490128384760512e-01 1.276283033542677003e+01 -6.073594834385067642e-01 1.526417967175236562e+14 5.680518839992730884e-01 4.162695263940035528e-01 1.784524372322480801e+01 -7.158404288682718164e-01 1.526417967175236562e+14 6.707534695787594758e-01 4.163867683472925463e-01 2.501385156103317087e+01 -8.436972395676662906e-01 1.526417967175236562e+14 7.923077274761555211e-01 4.163898231234561820e-01 3.518652465738126978e+01 -9.943906537655036182e-01 1.526417967175236562e+14 9.361920462829271816e-01 4.161339596117792916e-01 4.974619493887689003e+01 -1.171999534812844468e+00 1.526417967175236562e+14 1.108224261576289615e+00 4.163331536443345415e-01 7.085337685504788396e+01 -1.381331274987467994e+00 1.526417967175236562e+14 1.313030722007697548e+00 4.162857776928749476e-01 1.020545540339241484e+02 -1.628051918606947979e+00 1.526417967175236562e+14 1.558356657400016720e+00 4.163122038606075770e-01 1.495694299712160387e+02 -1.918839526531252559e+00 1.526417967175236562e+14 1.852774664832516294e+00 4.162716082603236112e-01 2.256160643505646419e+02 -2.261564933217340645e+00 1.526417967175236562e+14 2.207005884405117246e+00 4.162389098042725832e-01 3.588119965281123882e+02 -2.665504788930584290e+00 1.526417967175236562e+14 2.632978541689177110e+00 4.163783347711421667e-01 6.435220995812921956e+02 -3.141592653589792672e+00 1.526417967175236562e+14 3.141592653589792672e+00 4.126793323963950932e-01 2.788439120954661848e+04 -1.000000000000000021e-03 3.088843596477485000e+14 9.272137320590127752e-04 3.685924518254251048e-01 1.061154067555405820e-04 -1.178610770701415088e-03 3.088843596477485000e+14 1.091729681665650192e-03 3.682651116267946501e-01 1.477213099163553190e-04 -1.389123348813385214e-03 3.088843596477485000e+14 1.293367763082749243e-03 3.704258272459555190e-01 2.055486695549308719e-04 -1.637235740744274635e-03 3.088843596477485000e+14 1.517373985317902818e-03 3.685759661513791641e-01 2.863789235851877139e-04 -1.929663678218512032e-03 3.088843596477485000e+14 1.790960844172439061e-03 3.691810626364760983e-01 3.974290180280854595e-04 -2.274322394979648009e-03 3.088843596477485000e+14 2.115123726792518966e-03 3.700357154033104834e-01 5.531546423605163782e-04 -2.680540870770453925e-03 3.088843596477485000e+14 2.488744505454009576e-03 3.693524517329614953e-01 7.701059565696963781e-04 -3.159314341595407215e-03 3.088843596477485000e+14 2.931095748690129305e-03 3.690522792954696318e-01 1.069809278059536024e-03 -3.723601911035797143e-03 3.088843596477485000e+14 3.454741535631696003e-03 3.690616194920467441e-01 1.490111200013725760e-03 -4.388677318151167420e-03 3.088843596477485000e+14 4.075029197582131189e-03 3.693753064264641561e-01 2.071449203353982905e-03 -5.172542356305966961e-03 3.088843596477485000e+14 4.809913674643024467e-03 3.699685022525354694e-01 2.879767690765487002e-03 -6.096414133051489617e-03 3.088843596477485000e+14 5.662668548954637865e-03 3.694817042479974778e-01 3.993896333426057849e-03 -7.185299359870824139e-03 3.088843596477485000e+14 6.672349991082167017e-03 3.693515400911805968e-01 5.568512879096377578e-03 -8.468671216257736209e-03 3.088843596477485000e+14 7.867687375327864219e-03 3.695150088472922145e-01 7.725078221972293650e-03 -9.981267109010422481e-03 3.088843596477485000e+14 9.283208588317120105e-03 3.699512296604267059e-01 1.077259399123248716e-02 -1.176402891992746509e-02 3.088843596477485000e+14 1.093153000080277978e-02 3.695504000194850813e-01 1.494641349575380473e-02 -1.386521119186945317e-02 3.088843596477485000e+14 1.291326912932914787e-02 3.704816804429757471e-01 2.077720782660360047e-02 -1.634168724878715118e-02 3.088843596477485000e+14 1.519316770537339385e-02 3.697109692317926410e-01 2.890928642711298319e-02 -1.926048860285451206e-02 3.088843596477485000e+14 1.793006471564368917e-02 3.702293784254070963e-01 4.020725619479837559e-02 -2.270061931629619237e-02 3.088843596477485000e+14 2.112950154534713396e-02 3.701368651688248246e-01 5.589913191549680110e-02 -2.675519442777928719e-02 3.088843596477485000e+14 2.491743304629297218e-02 3.703461168036017992e-01 7.771234091762227458e-02 -3.153396032479117289e-02 3.088843596477485000e+14 2.935046063983738976e-02 3.700604362389737778e-01 1.079284000796231074e-01 -3.716626528166998983e-02 3.088843596477485000e+14 3.459710457796103672e-02 3.700830884614824678e-01 1.500726463705782665e-01 -4.380456056772231294e-02 3.088843596477485000e+14 4.080882766512021476e-02 3.703916615309419957e-01 2.086898853163361711e-01 -5.162852689096004283e-02 3.088843596477485000e+14 4.808943759582080812e-02 3.702863019179064019e-01 2.901885813660960434e-01 -6.084993786913318187e-02 3.088843596477485000e+14 5.670584778353734284e-02 3.704609405890225693e-01 4.034958366887288483e-01 -7.171839216907228975e-02 3.088843596477485000e+14 6.681699880802006997e-02 3.703171179633478194e-01 5.611497074432387766e-01 -8.452806946785666742e-02 3.088843596477485000e+14 7.878700117410922243e-02 3.704782365522650833e-01 7.805387636898608594e-01 -9.962569310141336509e-02 3.088843596477485000e+14 9.284436576753307691e-02 3.703706417277741747e-01 1.085542258608920063e+00 -1.174199149279194637e-01 3.088843596477485000e+14 1.093523996796583186e-01 3.700331009004869665e-01 1.509699370629806747e+00 -1.383923764288897684e-01 3.088843596477485000e+14 1.290275918572563463e-01 3.704645661434777804e-01 2.099695979797719492e+00 -1.631107454420542835e-01 3.088843596477485000e+14 1.519967687892893882e-01 3.701876552278362542e-01 2.920198365979129296e+00 -1.922440813951419580e-01 3.088843596477485000e+14 1.791720917624323173e-01 3.701806332639901997e-01 4.061969476214450481e+00 -2.265809449359138250e-01 3.088843596477485000e+14 2.113364188460174764e-01 3.704229084433671715e-01 5.651159326602435584e+00 -2.670507421371726142e-01 3.088843596477485000e+14 2.491847464983636407e-01 3.704823608272813651e-01 7.863797811978863628e+00 -3.147488810066778608e-01 3.088843596477485000e+14 2.937222919114384490e-01 3.703708521066968462e-01 1.094633114396442153e+01 -3.709664212206886247e-01 3.088843596477485000e+14 3.464154425000604554e-01 3.704554640384493669e-01 1.524607358307562421e+01 -4.372250196192620786e-01 3.088843596477485000e+14 4.084487386665365816e-01 3.703440342465141866e-01 2.125319963621447172e+01 -5.153181173433998286e-01 3.088843596477485000e+14 4.818364595889144120e-01 3.703584079781574445e-01 2.966265896184019013e+01 -6.073594834385067642e-01 3.088843596477485000e+14 5.686780351068876360e-01 3.704465508447453148e-01 4.146863919469795690e+01 -7.158404288682718164e-01 3.088843596477485000e+14 6.710079109885296322e-01 3.702235527456240738e-01 5.811401304949755797e+01 -8.436972395676662906e-01 3.088843596477485000e+14 7.925853075137634374e-01 3.702186020189563442e-01 8.172179112084015173e+01 -9.943906537655036182e-01 3.088843596477485000e+14 9.370142090259533374e-01 3.702676927635015214e-01 1.154856764203738635e+02 -1.171999534812844468e+00 3.088843596477485000e+14 1.109098308311505354e+00 3.704293746522926423e-01 1.643891557741967517e+02 -1.381331274987467994e+00 3.088843596477485000e+14 1.313932994353309569e+00 3.703707311286123516e-01 2.365692865877773556e+02 -1.628051918606947979e+00 3.088843596477485000e+14 1.559252186936884943e+00 3.703812958489983154e-01 3.463073221426262194e+02 -1.918839526531252559e+00 3.088843596477485000e+14 1.853612115399963622e+00 3.703383596956117407e-01 5.216705250577350625e+02 -2.261564933217340645e+00 3.088843596477485000e+14 2.207710400454358179e+00 3.703150239340115557e-01 8.291488729343665227e+02 -2.665504788930584290e+00 3.088843596477485000e+14 2.633441629617946589e+00 3.704774902215057786e-01 1.494510445282792034e+03 -3.141592653589792672e+00 3.088843596477485000e+14 3.141592653589792672e+00 3.671993178525144730e-01 6.308831987212814420e+04 -1.000000000000000021e-03 6.250551925273976250e+14 9.275373779469304591e-04 3.281089363876910081e-01 2.450791615127507540e-04 -1.178610770701415088e-03 6.250551925273976250e+14 1.097850668786668881e-03 3.297029835045346968e-01 3.403056026310754688e-04 -1.389123348813385214e-03 6.250551925273976250e+14 1.293190572548280105e-03 3.295402776431733405e-01 4.756561186492379778e-04 -1.637235740744274635e-03 6.250551925273976250e+14 1.524678014521144067e-03 3.297016058929957971e-01 6.594383373908840407e-04 -1.929663678218512032e-03 6.250551925273976250e+14 1.798971375770728022e-03 3.301393315811307905e-01 9.174131235093272840e-04 -2.274322394979648009e-03 6.250551925273976250e+14 2.114921147409931125e-03 3.292072570939837961e-01 1.273693987780580858e-03 -2.680540870770453925e-03 6.250551925273976250e+14 2.498697975236678116e-03 3.301179608496455642e-01 1.771537405378968135e-03 -3.159314341595407215e-03 6.250551925273976250e+14 2.942063981206474981e-03 3.297431928939584811e-01 2.463810758295034709e-03 -3.723601911035797143e-03 6.250551925273976250e+14 3.466800083643588933e-03 3.296578660713089248e-01 3.424639356780972976e-03 -4.388677318151167420e-03 6.250551925273976250e+14 4.088039821515678310e-03 3.298357542383117402e-01 4.748770949952743452e-03 -5.172542356305966961e-03 6.250551925273976250e+14 4.808097844519952993e-03 3.290395666487005988e-01 6.627217554546235671e-03 -6.096414133051489617e-03 6.250551925273976250e+14 5.677484750509541669e-03 3.297181320884294831e-01 9.216167730677878381e-03 -7.185299359870824139e-03 6.250551925273976250e+14 6.688145606337560396e-03 3.295066797431532857e-01 1.281492202366630445e-02 -8.468671216257736209e-03 6.250551925273976250e+14 7.884665724371497583e-03 3.295764799198881434e-01 1.782461126615741964e-02 -9.981267109010422481e-03 6.250551925273976250e+14 9.301218701670959169e-03 3.298889976703214266e-01 2.473542397196751633e-02 -1.176402891992746509e-02 6.250551925273976250e+14 1.095206780770669082e-02 3.295020386972615789e-01 3.438080825499026383e-02 -1.386521119186945317e-02 6.250551925273976250e+14 1.290583577956241554e-02 3.294058847811303092e-01 4.781564213144360448e-02 -1.634168724878715118e-02 6.250551925273976250e+14 1.521835624431941252e-02 3.295618878377309935e-01 6.644115809035916476e-02 -1.926048860285451206e-02 6.250551925273976250e+14 1.795652270952445909e-02 3.299590210106212451e-01 9.248351489614831111e-02 -2.270061931629619237e-02 6.250551925273976250e+14 2.115827562224779218e-02 3.298317217697642190e-01 1.285438014652732497e-01 -2.675519442777928719e-02 6.250551925273976250e+14 2.494809172301674580e-02 3.299686254274850072e-01 1.787093995939382507e-01 -3.153396032479117289e-02 6.250551925273976250e+14 2.938388622353863000e-02 3.296770508277860334e-01 2.482023235109040715e-01 -3.716626528166998983e-02 6.250551925273976250e+14 3.463268124072100412e-02 3.296547258803958491e-01 3.450199785420152154e-01 -4.380456056772231294e-02 6.250551925273976250e+14 4.084422657108943699e-02 3.298685162850131802e-01 4.799523255109754416e-01 -5.162852689096004283e-02 6.250551925273976250e+14 4.812556096069822015e-02 3.297296302149125280e-01 6.669934180087119246e-01 -6.084993786913318187e-02 6.250551925273976250e+14 5.674313993982726956e-02 3.298486375725451225e-01 9.277080014769736316e-01 -7.171839216907228975e-02 6.250551925273976250e+14 6.685666087393511703e-02 3.296955913477944700e-01 1.290194881772428914e+00 -8.452806946785666742e-02 6.250551925273976250e+14 7.882561948895505655e-02 3.297985529077141487e-01 1.794454032718077574e+00 -9.962569310141336509e-02 6.250551925273976250e+14 9.299243219031752550e-02 3.301301728149399484e-01 2.495238903170395428e+00 -1.174199149279194637e-01 6.250551925273976250e+14 1.095172387248157242e-01 3.297915788517604696e-01 3.470720820800268669e+00 -1.383923764288897684e-01 6.250551925273976250e+14 1.292038419713821551e-01 3.301256424854874805e-01 4.826486182043345785e+00 -1.631107454420542835e-01 6.250551925273976250e+14 1.521976460379245444e-01 3.298592579025438343e-01 6.712535888781024696e+00 -1.922440813951419580e-01 6.250551925273976250e+14 1.793966297966015921e-01 3.298268150572957746e-01 9.337393706416115435e+00 -2.265809449359138250e-01 6.250551925273976250e+14 2.115751206948647822e-01 3.299969473832628508e-01 1.299119839003953025e+01 -2.670507421371726142e-01 6.250551925273976250e+14 2.494360769168104952e-01 3.300038723239914762e-01 1.807611267161057711e+01 -3.147488810066778608e-01 6.250551925273976250e+14 2.939914293662115874e-01 3.298691317632970188e-01 2.516189861373566572e+01 -3.709664212206886247e-01 6.250551925273976250e+14 3.467033394853789030e-01 3.299129404721029557e-01 3.504766508171884709e+01 -4.372250196192620786e-01 6.250551925273976250e+14 4.090695563476009489e-01 3.300921386128552459e-01 4.885868228687009207e+01 -5.153181173433998286e-01 6.250551925273976250e+14 4.825201702856037889e-01 3.300711850809263104e-01 6.819794337086395331e+01 -6.073594834385067642e-01 6.250551925273976250e+14 5.694150384660052744e-01 3.301093405289485250e-01 9.535526572081212748e+01 -7.158404288682718164e-01 6.250551925273976250e+14 6.722281951001414235e-01 3.301428429809656340e-01 1.336546107513928234e+02 -8.436972395676662906e-01 6.250551925273976250e+14 7.938887255025632861e-01 3.300879607890395695e-01 1.880032667882433657e+02 -9.943906537655036182e-01 6.250551925273976250e+14 9.383941645249330721e-01 3.300882801569303693e-01 2.658108907542916199e+02 -1.171999534812844468e+00 6.250551925273976250e+14 1.110000514946783090e+00 3.299564238050203824e-01 3.786738324381299776e+02 -1.381331274987467994e+00 6.250551925273976250e+14 1.315424233920947428e+00 3.301200461038023004e-01 5.456690128109870557e+02 -1.628051918606947979e+00 6.250551925273976250e+14 1.560737987884476485e+00 3.301114512525709643e-01 8.007019017432829742e+02 -1.918839526531252559e+00 6.250551925273976250e+14 1.855015394148678665e+00 3.300678024576991776e-01 1.211445076905002907e+03 -2.261564933217340645e+00 6.250551925273976250e+14 2.208932035470530408e+00 3.300761542235905455e-01 1.942510807599664531e+03 -2.665504788930584290e+00 6.250551925273976250e+14 2.634023517165243078e+00 3.300927557721730632e-01 3.565013738705799369e+03 -3.141592653589792672e+00 6.250551925273976250e+14 3.141592653589792672e+00 3.272637817055232823e-01 1.402848404147985275e+05 -1.000000000000000021e-03 1.264855216855295750e+15 9.229440464905095537e-04 2.910006805658682527e-01 5.929737441589314189e-04 -1.178610770701415088e-03 1.264855216855295750e+15 1.086963411204899376e-03 2.908292394830420680e-01 8.271937874274007830e-04 -1.389123348813385214e-03 1.264855216855295750e+15 1.281208708186909765e-03 2.908865559539535184e-01 1.149413620596764470e-03 -1.637235740744274635e-03 1.264855216855295750e+15 1.511247598799427428e-03 2.911402711143510347e-01 1.598511600193399263e-03 -1.929663678218512032e-03 1.264855216855295750e+15 1.783861662467217668e-03 2.915971906876344555e-01 2.224131356562465169e-03 -2.274322394979648009e-03 1.264855216855295750e+15 2.106952301714272533e-03 2.922433757945930854e-01 3.091146292771435045e-03 -2.680540870770453925e-03 1.264855216855295750e+15 2.479372337160037822e-03 2.917747196886412708e-01 4.287560264195692389e-03 -3.159314341595407215e-03 1.264855216855295750e+15 2.920256700095030539e-03 2.915743659905414842e-01 5.984641265598598416e-03 -3.723601911035797143e-03 1.264855216855295750e+15 3.442369113619132143e-03 2.916126366915253731e-01 8.310148045009402296e-03 -4.388677318151167420e-03 1.264855216855295750e+15 4.060571393181515790e-03 2.918491832768521643e-01 1.156043233622902969e-02 -5.172542356305966961e-03 1.264855216855295750e+15 4.792737998351744196e-03 2.922730916113605026e-01 1.608470217544326342e-02 -6.096414133051489617e-03 1.264855216855295750e+15 5.642654805979659301e-03 2.919272154903261862e-01 2.231738473746379056e-02 -7.185299359870824139e-03 1.264855216855295750e+15 6.649273318850832705e-03 2.918523610171182003e-01 3.106574731770507178e-02 -8.468671216257736209e-03 1.264855216855295750e+15 7.841542097810655365e-03 2.920097255325105334e-01 4.308059466786085673e-02 -9.981267109010422481e-03 1.264855216855295750e+15 9.253575348096032896e-03 2.923664547303511108e-01 6.002370056366020112e-02 -1.176402891992746509e-02 1.264855216855295750e+15 1.089846139537104484e-02 2.921203867439041146e-01 8.331939184998876646e-02 -1.386521119186945317e-02 1.264855216855295750e+15 1.284523692602400693e-02 2.921015387495291549e-01 1.160878348178892988e-01 -1.634168724878715118e-02 1.264855216855295750e+15 1.515071102976900397e-02 2.923045064927304315e-01 1.613981982876765975e-01 -1.926048860285451206e-02 1.264855216855295750e+15 1.784277433831095785e-02 2.920388677289935675e-01 2.239103862798422495e-01 -2.270061931629619237e-02 1.264855216855295750e+15 2.102980066483143423e-02 2.920162064423942883e-01 3.115216218560949990e-01 -2.675519442777928719e-02 1.264855216855295750e+15 2.480352952701138369e-02 2.922096874333369176e-01 4.331643940879889021e-01 -3.153396032479117289e-02 1.264855216855295750e+15 2.921982844656035097e-02 2.920391589102214747e-01 6.024374768551088444e-01 -3.716626528166998983e-02 1.264855216855295750e+15 3.444862004775851166e-02 2.921022581125312101e-01 8.371502555324351613e-01 -4.380456056772231294e-02 1.264855216855295750e+15 4.063926337940117206e-02 2.923657716889855873e-01 1.164111381442813009e+00 -5.162852689096004283e-02 1.264855216855295750e+15 4.789743735500472110e-02 2.923381488938113226e-01 1.616456309464815666e+00 -6.084993786913318187e-02 1.264855216855295750e+15 5.640694496269996194e-02 2.920631210322962579e-01 2.248075006876127269e+00 -7.171839216907228975e-02 1.264855216855295750e+15 6.647879375677517855e-02 2.920230320368111254e-01 3.127265982216540063e+00 -8.452806946785666742e-02 1.264855216855295750e+15 7.840289244390966084e-02 2.921938180696157517e-01 4.348257658615250598e+00 -9.962569310141336509e-02 1.264855216855295750e+15 9.240673158332597670e-02 2.921647689721846852e-01 6.046500635550609459e+00 -1.174199149279194637e-01 1.264855216855295750e+15 1.089846523449785748e-01 2.923407404831344092e-01 8.410374698729349063e+00 -1.383923764288897684e-01 1.264855216855295750e+15 1.284659007464088176e-01 2.923400373942510178e-01 1.169694794689237050e+01 -1.631107454420542835e-01 1.264855216855295750e+15 1.513616633197920891e-01 2.921918099940469249e-01 1.627023586640893171e+01 -1.922440813951419580e-01 1.264855216855295750e+15 1.784535879918812129e-01 2.922360685495292709e-01 2.263380998977534730e+01 -2.265809449359138250e-01 1.264855216855295750e+15 2.103137228136970349e-01 2.921451990516448771e-01 3.149272320180161344e+01 -2.670507421371726142e-01 1.264855216855295750e+15 2.480191069581470509e-01 2.922327103343954624e-01 4.382642776383352157e+01 -3.147488810066778608e-01 1.264855216855295750e+15 2.923921868686852332e-01 2.921923050458145599e-01 6.102228949853049045e+01 -3.709664212206886247e-01 1.264855216855295750e+15 3.449032925914763958e-01 2.922954773001551487e-01 8.502603191655819614e+01 -4.372250196192620786e-01 1.264855216855295750e+15 4.067364338014168856e-01 2.922578313781726278e-01 1.185859353436966614e+02 -5.153181173433998286e-01 1.264855216855295750e+15 4.799059181876579872e-01 2.923115709462260070e-01 1.656265867364391511e+02 -6.073594834385067642e-01 1.264855216855295750e+15 5.661096359792888721e-01 2.921815482433093303e-01 2.317838919145685566e+02 -7.158404288682718164e-01 1.264855216855295750e+15 6.685727859872249157e-01 2.922864407675038190e-01 3.252636816548904903e+02 -8.436972395676662906e-01 1.264855216855295750e+15 7.898742263374475270e-01 2.923134997211193631e-01 4.582736302347941546e+02 -9.943906537655036182e-01 1.264855216855295750e+15 9.335030590345717583e-01 2.921684778591306930e-01 6.493592299885077637e+02 -1.171999534812844468e+00 1.264855216855295750e+15 1.105312240430713633e+00 2.923192031460292162e-01 9.277955928514879815e+02 -1.381331274987467994e+00 1.264855216855295750e+15 1.309973756225667696e+00 2.923115274013983744e-01 1.342112863405970984e+03 -1.628051918606947979e+00 1.264855216855295750e+15 1.555283630758210300e+00 2.923493441619670619e-01 1.978577130589424314e+03 -1.918839526531252559e+00 1.264855216855295750e+15 1.849901163154843653e+00 2.923407906433750370e-01 3.007217708642593607e+03 -2.261564933217340645e+00 1.264855216855295750e+15 2.204641183025127127e+00 2.923277990927550807e-01 4.824560213170359930e+03 -2.665504788930584290e+00 1.264855216855295750e+15 2.631478084913188908e+00 2.923651717207899070e-01 8.700740151881147540e+03 -3.141592653589792672e+00 1.264855216855295750e+15 3.141592653589792672e+00 2.898698608604159399e-01 3.048044283565113437e+05 -1.000000000000000021e-03 2.559547922699533000e+15 9.276088283649964019e-04 2.615385689030605976e-01 1.451653543108033387e-03 -1.178610770701415088e-03 2.559547922699533000e+15 1.092530681964136181e-03 2.613978989977795431e-01 2.020533947423879071e-03 -1.389123348813385214e-03 2.559547922699533000e+15 1.287721241504170746e-03 2.614361780765748766e-01 2.811483592051039742e-03 -1.637235740744274635e-03 2.559547922699533000e+15 1.518717280536324363e-03 2.616256422482439170e-01 3.927782523631038157e-03 -1.929663678218512032e-03 2.559547922699533000e+15 1.784324688312328034e-03 2.608411685593111096e-01 5.437612032794831608e-03 -2.274322394979648009e-03 2.559547922699533000e+15 2.107125059806036482e-03 2.613389481985538554e-01 7.559367213329247492e-03 -2.680540870770453925e-03 2.559547922699533000e+15 2.479883922625286934e-03 2.609757216670303137e-01 1.050984080927908591e-02 -3.159314341595407215e-03 2.559547922699533000e+15 2.932308629851306317e-03 2.618021291384189930e-01 1.464123157545494693e-02 -3.723601911035797143e-03 2.559547922699533000e+15 3.456651812708268993e-03 2.618396039552534083e-01 2.028815479499014238e-02 -4.388677318151167420e-03 2.559547922699533000e+15 4.063959252286583786e-03 2.611864255964195247e-01 2.832037339312763399e-02 -5.172542356305966961e-03 2.559547922699533000e+15 4.797507557885245279e-03 2.615844509292198361e-01 3.927132918490214286e-02 -6.096414133051489617e-03 2.559547922699533000e+15 5.649357512965614246e-03 2.613377528379139947e-01 5.473634337256914201e-02 -7.185299359870824139e-03 2.559547922699533000e+15 6.657645251899543121e-03 2.612909677324447011e-01 7.615068489098102134e-02 -8.468671216257736209e-03 2.559547922699533000e+15 7.851448194901770525e-03 2.614254790652436600e-01 1.058634192419108527e-01 -9.981267109010422481e-03 2.559547922699533000e+15 9.265010399112367026e-03 2.617221065395532453e-01 1.468910596034608829e-01 -1.176402891992746509e-02 2.559547922699533000e+15 1.091331247683670347e-02 2.615436770990142712e-01 2.042558717651021261e-01 -1.386521119186945317e-02 2.559547922699533000e+15 1.286430690537388247e-02 2.615579248906531595e-01 2.842582867544343750e-01 -1.634168724878715118e-02 2.559547922699533000e+15 1.517330600333937490e-02 2.617329301459667135e-01 3.953056573305048782e-01 -1.926048860285451206e-02 2.559547922699533000e+15 1.787167321540945528e-02 2.615374377763380331e-01 5.495312305574121536e-01 -2.270061931629619237e-02 2.559547922699533000e+15 2.106535173921022033e-02 2.615355309993619981e-01 7.644047900996814304e-01 -2.675519442777928719e-02 2.559547922699533000e+15 2.484658899646375457e-02 2.617131397738153287e-01 1.062921289556848725e+00 -3.153396032479117289e-02 2.559547922699533000e+15 2.927486553033116154e-02 2.616039675805000297e-01 1.474871017850125865e+00 -3.716626528166998983e-02 2.559547922699533000e+15 3.451631010360070584e-02 2.616791196172167377e-01 2.050691379109170764e+00 -4.380456056772231294e-02 2.559547922699533000e+15 4.071981955225010413e-02 2.619110044301963258e-01 2.851164398073048556e+00 -5.162852689096004283e-02 2.559547922699533000e+15 4.799512691968103872e-02 2.619019122009236811e-01 3.966151618935555234e+00 -6.084993786913318187e-02 2.559547922699533000e+15 5.652956947276108896e-02 2.616987565699970264e-01 5.516937026591773652e+00 -7.171839216907228975e-02 2.559547922699533000e+15 6.662751321419559114e-02 2.616803061793198104e-01 7.670743795896067141e+00 -8.452806946785666742e-02 2.559547922699533000e+15 7.857763981830280520e-02 2.618262158339612067e-01 1.066631537899746185e+01 -9.962569310141336509e-02 2.559547922699533000e+15 9.261587247050122318e-02 2.618100278267693204e-01 1.483440788048480563e+01 -1.174199149279194637e-01 2.559547922699533000e+15 1.091100102984313008e-01 2.616624916495940978e-01 2.062867365611213799e+01 -1.383923764288897684e-01 2.559547922699533000e+15 1.286264291839931406e-01 2.616881691014655287e-01 2.868515904179355047e+01 -1.631107454420542835e-01 2.559547922699533000e+15 1.517190705364234726e-01 2.618604528067244863e-01 3.989518561967720700e+01 -1.922440813951419580e-01 2.559547922699533000e+15 1.788836125853840442e-01 2.619128920041061126e-01 5.549208254036569343e+01 -2.265809449359138250e-01 2.559547922699533000e+15 2.108380466395647357e-01 2.618574578290525645e-01 7.718741270973059443e+01 -2.670507421371726142e-01 2.559547922699533000e+15 2.486414727236118949e-01 2.619402790576719764e-01 1.073976345922691706e+02 -3.147488810066778608e-01 2.559547922699533000e+15 2.931365661856925042e-01 2.619178474312487959e-01 1.494917040686930818e+02 -3.709664212206886247e-01 2.559547922699533000e+15 3.455173962403023102e-01 2.617994742022951571e-01 2.082049099449963308e+02 -4.372250196192620786e-01 2.559547922699533000e+15 4.074824024139650502e-01 2.617858101389017311e-01 2.902291326192680572e+02 -5.153181173433998286e-01 2.559547922699533000e+15 4.807944673299603400e-01 2.618432617692740272e-01 4.050436771275128649e+02 -6.073594834385067642e-01 2.559547922699533000e+15 5.675438584781276052e-01 2.619357489645213755e-01 5.662055068420897896e+02 -7.158404288682718164e-01 2.559547922699533000e+15 6.698041172433129020e-01 2.618399806952275699e-01 7.933615055423302920e+02 -8.436972395676662906e-01 2.559547922699533000e+15 7.912854221390543952e-01 2.618649965460970730e-01 1.115370433803131164e+03 -9.943906537655036182e-01 2.559547922699533000e+15 9.356055141923454999e-01 2.619146741209232854e-01 1.575579046535523503e+03 -1.171999534812844468e+00 2.559547922699533000e+15 1.107055238468946712e+00 2.618646216232828339e-01 2.241121827265377760e+03 -1.381331274987467994e+00 2.559547922699533000e+15 1.311813264947359725e+00 2.618484984859310027e-01 3.220824928811255631e+03 -1.628051918606947979e+00 2.559547922699533000e+15 1.557105128324140830e+00 2.618624711639870872e-01 4.702661103183427258e+03 -1.918839526531252559e+00 2.559547922699533000e+15 1.851552839161378916e+00 2.618306431863187123e-01 7.047564901915209703e+03 -2.261564933217340645e+00 2.559547922699533000e+15 2.206350209150382824e+00 2.619406875497991005e-01 1.108684790837118089e+04 -2.665504788930584290e+00 2.559547922699533000e+15 2.632433697929088989e+00 2.619309537651941522e-01 1.959314952308704596e+04 -3.141592653589792672e+00 2.559547922699533000e+15 3.141592653589792672e+00 2.598242821236437794e-01 6.543185663075079210e+05 -1.000000000000000021e-03 5.179474679231223000e+15 9.352086282530903743e-04 2.372244941681070918e-01 3.298210578150512912e-03 -1.178610770701415088e-03 5.179474679231223000e+15 1.101506577094540267e-03 2.370901217452046905e-01 4.590754642425469434e-03 -1.389123348813385214e-03 5.179474679231223000e+15 1.298129203583124397e-03 2.370964907822268042e-01 6.387018539187040884e-03 -1.637235740744274635e-03 5.179474679231223000e+15 1.530834518806171432e-03 2.372589298536555702e-01 8.885789826783670881e-03 -1.929663678218512032e-03 5.179474679231223000e+15 1.798706034009857173e-03 2.365066069482236466e-01 1.236593419134558725e-02 -2.274322394979648009e-03 5.179474679231223000e+15 2.124224041629748337e-03 2.370102605916130090e-01 1.719431978267126418e-02 -2.680540870770453925e-03 5.179474679231223000e+15 2.500122172318102083e-03 2.366651206180366840e-01 2.392679291649571841e-02 -3.159314341595407215e-03 5.179474679231223000e+15 2.955663641915669791e-03 2.374340051373441673e-01 3.325244831000975787e-02 -3.723601911035797143e-03 5.179474679231223000e+15 3.483489430867672040e-03 2.374239964267189085e-01 4.623184445647859214e-02 -4.388677318151167420e-03 5.179474679231223000e+15 4.094874347805319351e-03 2.367492367117562391e-01 6.432356362488299284e-02 -5.172542356305966961e-03 5.179474679231223000e+15 4.832757084964036699e-03 2.370779805597984513e-01 8.947222765965819058e-02 -6.096414133051489617e-03 5.179474679231223000e+15 5.706163253887298545e-03 2.375298102922840104e-01 1.243548827652226074e-01 -7.185299359870824139e-03 5.179474679231223000e+15 6.721951799312669319e-03 2.373863325823837855e-01 1.726326656014644245e-01 -8.468671216257736209e-03 5.179474679231223000e+15 7.923547495511397074e-03 2.374056598971063248e-01 2.401892917013073725e-01 -9.981267109010422481e-03 5.179474679231223000e+15 9.322988772747757211e-03 2.369570157470168859e-01 3.338417445005867346e-01 -1.176402891992746509e-02 5.179474679231223000e+15 1.100463266099509403e-02 2.373248264967244281e-01 4.642157364862827262e-01 -1.386521119186945317e-02 5.179474679231223000e+15 1.296847160968658472e-02 2.372736520953580286e-01 6.456846233025693715e-01 -1.634168724878715118e-02 5.179474679231223000e+15 1.529275940843897487e-02 2.373918655393034149e-01 8.978405363569038622e-01 -1.926048860285451206e-02 5.179474679231223000e+15 1.800891403093932142e-02 2.371539411117987162e-01 1.248752128205640410e+00 -2.270061931629619237e-02 5.179474679231223000e+15 2.122223095781461399e-02 2.370966121929325710e-01 1.732723376998287490e+00 -2.675519442777928719e-02 5.179474679231223000e+15 2.502496747249710607e-02 2.372047085753757056e-01 2.409313510524092816e+00 -3.153396032479117289e-02 5.179474679231223000e+15 2.952592469218950563e-02 2.374631150581945349e-01 3.350214742854102035e+00 -3.716626528166998983e-02 5.179474679231223000e+15 3.480032928271162979e-02 2.374508024249511740e-01 4.659837012016158297e+00 -4.380456056772231294e-02 5.179474679231223000e+15 4.098195574535665880e-02 2.372152117942222804e-01 6.479663541949187255e+00 -5.162852689096004283e-02 5.179474679231223000e+15 4.836206758270218675e-02 2.375242466328426338e-01 9.010721295153629740e+00 -6.084993786913318187e-02 5.179474679231223000e+15 5.694846567814126903e-02 2.372673039206116830e-01 1.253008819447395616e+01 -7.171839216907228975e-02 5.179474679231223000e+15 6.718858549101959510e-02 2.375164987602369215e-01 1.742461842551379902e+01 -8.452806946785666742e-02 5.179474679231223000e+15 7.912097754603931998e-02 2.372689467742925273e-01 2.422916129319541767e+01 -9.962569310141336509e-02 5.179474679231223000e+15 9.334221787675359150e-02 2.374992690522346184e-01 3.368680973836139003e+01 -1.174199149279194637e-01 5.179474679231223000e+15 1.099416993517960961e-01 2.373003543266049287e-01 4.684410829226521145e+01 -1.383923764288897684e-01 5.179474679231223000e+15 1.297092176244480644e-01 2.375388510332807346e-01 6.514126479861347718e+01 -1.631107454420542835e-01 5.179474679231223000e+15 1.528096483389099203e-01 2.373880980756791215e-01 9.058752511264246721e+01 -1.922440813951419580e-01 5.179474679231223000e+15 1.801328138483542507e-01 2.373901529400352928e-01 1.259797812684648619e+02 -2.265809449359138250e-01 5.179474679231223000e+15 2.124530433753637759e-01 2.375218603825689501e-01 1.752233606596329878e+02 -2.670507421371726142e-01 5.179474679231223000e+15 2.504860787350881024e-01 2.375469306862368901e-01 2.437839442655679818e+02 -3.147488810066778608e-01 5.179474679231223000e+15 2.952468056982349709e-01 2.374765723020916264e-01 3.393072217072898979e+02 -3.709664212206886247e-01 5.179474679231223000e+15 3.481860857896441619e-01 2.375162889887176276e-01 4.725275793863069111e+02 -4.372250196192620786e-01 5.179474679231223000e+15 4.105203911778322334e-01 2.374497180419315179e-01 6.585813817184646268e+02 -5.153181173433998286e-01 5.179474679231223000e+15 4.842476456023487863e-01 2.374571627247320793e-01 9.189334865586537262e+02 -6.073594834385067642e-01 5.179474679231223000e+15 5.714598561066541738e-01 2.375038305320318621e-01 1.284261598930332639e+03 -7.158404288682718164e-01 5.179474679231223000e+15 6.746279902261460570e-01 2.375457125605687503e-01 1.798892055781135014e+03 -8.436972395676662906e-01 5.179474679231223000e+15 7.966868065314798297e-01 2.375308276668446905e-01 2.527893572160258373e+03 -9.943906537655036182e-01 5.179474679231223000e+15 9.415797765297322375e-01 2.375427034799308113e-01 3.568834418822098542e+03 -1.171999534812844468e+00 5.179474679231223000e+15 1.113542941272527731e+00 2.374604804511953604e-01 5.072617919531561711e+03 -1.381331274987467994e+00 5.179474679231223000e+15 1.318654258874142116e+00 2.374116470847124905e-01 7.283189609733584803e+03 -1.628051918606947979e+00 5.179474679231223000e+15 1.564528379201808095e+00 2.375383858916622071e-01 1.062161502843590097e+04 -1.918839526531252559e+00 5.179474679231223000e+15 1.858522964315644455e+00 2.374815532755646108e-01 1.589392888354886236e+04 -2.261564933217340645e+00 5.179474679231223000e+15 2.211690139487365148e+00 2.374363176102364248e-01 2.494660520086962788e+04 -2.665504788930584290e+00 5.179474679231223000e+15 2.635786957023728228e+00 2.375102907596775281e-01 4.393663911290199030e+04 -3.141592653589792672e+00 5.179474679231223000e+15 3.141592653589792672e+00 2.356250043902215485e-01 1.365352243758860510e+06 -1.000000000000000021e-03 1.048113134154691600e+16 9.330575538169297561e-04 2.137430110525821159e-01 7.405901263238793934e-03 -1.178610770701415088e-03 1.048113134154691600e+16 1.098461660772172667e-03 2.135346051985888283e-01 1.029123475376722725e-02 -1.389123348813385214e-03 1.048113134154691600e+16 1.294273759659319688e-03 2.134991675654485110e-01 1.436290582034698698e-02 -1.637235740744274635e-03 1.048113134154691600e+16 1.526000211814232833e-03 2.135990909992875886e-01 2.002347365250766939e-02 -1.929663678218512032e-03 1.048113134154691600e+16 1.800775125152507400e-03 2.138798710620169186e-01 2.771223232446749438e-02 -2.274322394979648009e-03 1.048113134154691600e+16 2.117464575443601515e-03 2.133831467334418308e-01 3.868061115825927043e-02 -2.680540870770453925e-03 1.048113134154691600e+16 2.503112226551054437e-03 2.140289356641760510e-01 5.384662331035837413e-02 -3.159314341595407215e-03 1.048113134154691600e+16 2.948277203978399725e-03 2.138837001186024434e-01 7.489434473279961424e-02 -3.723601911035797143e-03 1.048113134154691600e+16 3.475010719989432822e-03 2.138886073329719917e-01 1.041540659571345145e-01 -4.388677318151167420e-03 1.048113134154691600e+16 4.098410304684795002e-03 2.140300781542287534e-01 1.445816983998975125e-01 -5.172542356305966961e-03 1.048113134154691600e+16 4.820062937691956158e-03 2.135526152072778627e-01 2.011593142689175606e-01 -6.096414133051489617e-03 1.048113134154691600e+16 5.691604566661022206e-03 2.139529029487251821e-01 2.796462586356008861e-01 -7.185299359870824139e-03 1.048113134154691600e+16 6.704230737463954745e-03 2.138125927906182056e-01 3.888506694861323942e-01 -8.468671216257736209e-03 1.048113134154691600e+16 7.903197814723098708e-03 2.138434547885812720e-01 5.409540517529456416e-01 -9.981267109010422481e-03 1.048113134154691600e+16 9.322570388218272275e-03 2.140165210322942380e-01 7.525929904512626001e-01 -1.176402891992746509e-02 1.048113134154691600e+16 1.097590160819527511e-02 2.137656944830923778e-01 1.046440765116481542e+00 -1.386521119186945317e-02 1.048113134154691600e+16 1.293276683458770455e-02 2.136918927098518106e-01 1.454538870200080769e+00 -1.634168724878715118e-02 1.048113134154691600e+16 1.524931239827761846e-02 2.137733554022082372e-01 2.023590292114122224e+00 -1.926048860285451206e-02 1.048113134154691600e+16 1.799198335245429797e-02 2.139938563286843953e-01 2.807903851088615177e+00 -2.270061931629619237e-02 1.048113134154691600e+16 2.119654576954469599e-02 2.138849802801999767e-01 3.904120728665067652e+00 -2.675519442777928719e-02 1.048113134154691600e+16 2.498946749106338225e-02 2.139332171704079466e-01 5.431131982162965777e+00 -3.153396032479117289e-02 1.048113134154691600e+16 2.942549668026764320e-02 2.137128884102741655e-01 7.552959822179976079e+00 -3.716626528166998983e-02 1.048113134154691600e+16 3.473378404832338368e-02 2.140364252825836533e-01 1.050375536756900807e+01 -4.380456056772231294e-02 1.048113134154691600e+16 4.088883587490382138e-02 2.137556813340646955e-01 1.460608569869379281e+01 -5.162852689096004283e-02 1.048113134154691600e+16 4.824871534686279301e-02 2.140034160249588979e-01 2.030794835908850260e+01 -6.084993786913318187e-02 1.048113134154691600e+16 5.688275798794999172e-02 2.140527692543030269e-01 2.824357331267891169e+01 -7.171839216907228975e-02 1.048113134154691600e+16 6.701064432999652432e-02 2.139292049040449895e-01 3.927085018783257908e+01 -8.452806946785666742e-02 1.048113134154691600e+16 7.899714125090358252e-02 2.139625126743694705e-01 5.460486635196416927e+01 -9.962569310141336509e-02 1.048113134154691600e+16 9.306803078918547689e-02 2.138502712049263899e-01 7.592661452577482351e+01 -1.174199149279194637e-01 1.048113134154691600e+16 1.097195404090698101e-01 2.138878152737513083e-01 1.055675511000754341e+02 -1.383923764288897684e-01 1.048113134154691600e+16 1.294293988220003577e-01 2.140607025734792002e-01 1.467957422724792309e+02 -1.631107454420542835e-01 1.048113134154691600e+16 1.524392823149062215e-01 2.138719237881054058e-01 2.041332508378968384e+02 -1.922440813951419580e-01 1.048113134154691600e+16 1.798420339269841961e-01 2.140574033219766192e-01 2.838698379000255727e+02 -2.265809449359138250e-01 1.048113134154691600e+16 2.118750955421329907e-01 2.139165586322937518e-01 3.948295186973510340e+02 -2.670507421371726142e-01 1.048113134154691600e+16 2.497691860838084366e-01 2.139037300787685614e-01 5.493161620176380211e+02 -3.147488810066778608e-01 1.048113134154691600e+16 2.946038146701469573e-01 2.139988692414206417e-01 7.645521147545183567e+02 -3.709664212206886247e-01 1.048113134154691600e+16 3.473766669840408494e-01 2.139957417739233037e-01 1.064732374175385758e+03 -4.372250196192620786e-01 1.048113134154691600e+16 4.095016134343740233e-01 2.138981551708798168e-01 1.483949760124802424e+03 -5.153181173433998286e-01 1.048113134154691600e+16 4.833582645450066329e-01 2.140504088069705158e-01 2.070574168674238990e+03 -6.073594834385067642e-01 1.048113134154691600e+16 5.703625975359764011e-01 2.140627969076938086e-01 2.893711509772047975e+03 -7.158404288682718164e-01 1.048113134154691600e+16 6.728639278913749466e-01 2.139155502120417551e-01 4.053220274700506707e+03 -8.436972395676662906e-01 1.048113134154691600e+16 7.951042354607430473e-01 2.140415138625618441e-01 5.695661027975488651e+03 -9.943906537655036182e-01 1.048113134154691600e+16 9.397532154227529189e-01 2.140393069855800745e-01 8.040720020681912501e+03 -1.171999534812844468e+00 1.048113134154691600e+16 1.111481511861102556e+00 2.139581061055329803e-01 1.142791044622093250e+04 -1.381331274987467994e+00 1.048113134154691600e+16 1.317032379610094672e+00 2.140581773966206136e-01 1.640525097948369148e+04 -1.628051918606947979e+00 1.048113134154691600e+16 1.562404902461719258e+00 2.140580386388360179e-01 2.391572007965522062e+04 -1.918839526531252559e+00 1.048113134154691600e+16 1.856636131450409399e+00 2.140418977056328942e-01 3.575344434035162703e+04 -2.261564933217340645e+00 1.048113134154691600e+16 2.210329589911914638e+00 2.140631207631344957e-01 5.597567262873824075e+04 -2.665504788930584290e+00 1.048113134154691600e+16 2.634627791899419869e+00 2.139556935570167961e-01 9.771319458713867061e+04 -3.141592653589792672e+00 1.048113134154691600e+16 3.141592653589792672e+00 2.123806299464757741e-01 2.832978284961101133e+06 -1.000000000000000021e-03 2.120950887920192400e+16 9.233678334634486725e-04 1.909506471494321345e-01 1.617095674489545457e-02 -1.178610770701415088e-03 2.120950887920192400e+16 1.093608283120946212e-03 1.918182050926638960e-01 2.253754286444622015e-02 -1.389123348813385214e-03 2.120950887920192400e+16 1.287660424989727805e-03 1.916778040469767075e-01 3.136108303046500345e-02 -1.637235740744274635e-03 2.120950887920192400e+16 1.517601280294469425e-03 1.916988411808536186e-01 4.376211449705611628e-02 -1.929663678218512032e-03 2.120950887920192400e+16 1.789911809155716755e-03 1.918434602495476538e-01 6.100422815812994032e-02 -2.274322394979648009e-03 2.120950887920192400e+16 2.101652756991565646e-03 1.912093591481824895e-01 8.466744588958806383e-02 -2.680540870770453925e-03 2.120950887920192400e+16 2.483209863493212807e-03 1.916457238351561287e-01 1.184376908594011041e-01 -3.159314341595407215e-03 2.120950887920192400e+16 2.922947889041275452e-03 1.914267570410594366e-01 1.641119869710780110e-01 -3.723601911035797143e-03 2.120950887920192400e+16 3.444537304062478440e-03 1.914030268297621795e-01 2.283096612087794630e-01 -4.388677318151167420e-03 2.120950887920192400e+16 4.062632413980239894e-03 1.915218828177599475e-01 3.175374738973950617e-01 -5.172542356305966961e-03 2.120950887920192400e+16 4.795058814796268262e-03 1.917654435801688373e-01 4.413685022329194019e-01 -6.096414133051489617e-03 2.120950887920192400e+16 5.642191646357313552e-03 1.914722025245728654e-01 6.160085494839364628e-01 -7.185299359870824139e-03 2.120950887920192400e+16 6.645573070775403872e-03 1.913521713032351190e-01 8.562898622911485624e-01 -8.468671216257736209e-03 2.120950887920192400e+16 7.835921295657476832e-03 1.914167544589895631e-01 1.188813249912374026e+00 -9.981267109010422481e-03 2.120950887920192400e+16 9.248000633591055633e-03 1.916408161421244150e-01 1.652645730398151214e+00 -1.176402891992746509e-02 2.120950887920192400e+16 1.088952360246301862e-02 1.914657035488511738e-01 2.297953361670309391e+00 -1.386521119186945317e-02 2.120950887920192400e+16 1.283348284156916180e-02 1.914407172617683395e-01 3.196441660265465501e+00 -1.634168724878715118e-02 2.120950887920192400e+16 1.513603197177210494e-02 1.915482047017025846e-01 4.444310867007916777e+00 -1.926048860285451206e-02 2.120950887920192400e+16 1.786327302037795869e-02 1.917716482106522347e-01 6.165498293908828309e+00 -2.270061931629619237e-02 2.120950887920192400e+16 2.104442816992755164e-02 1.916813219559276860e-01 8.577589332793905896e+00 -2.675519442777928719e-02 2.120950887920192400e+16 2.481248280442236234e-02 1.917365185186095389e-01 1.192766091559756525e+01 -3.153396032479117289e-02 2.120950887920192400e+16 2.921606688261924045e-02 1.915552209218718271e-01 1.658722794030401104e+01 -3.716626528166998983e-02 2.120950887920192400e+16 3.449991291953899419e-02 1.918812930905456349e-01 2.307276813089859147e+01 -4.380456056772231294e-02 2.120950887920192400e+16 4.060917573172604517e-02 1.916382115080652593e-01 3.208091091440575582e+01 -5.162852689096004283e-02 2.120950887920192400e+16 4.792927360773813206e-02 1.918753186210844786e-01 4.461208773367435043e+01 -6.084993786913318187e-02 2.120950887920192400e+16 5.650814928163404305e-02 1.919212344193617914e-01 6.202381704689638298e+01 -7.171839216907228975e-02 2.120950887920192400e+16 6.656278237665577691e-02 1.918047092337678561e-01 8.623895707351685758e+01 -8.452806946785666742e-02 2.120950887920192400e+16 7.846871172083035029e-02 1.918301511972650142e-01 1.199069877244811551e+02 -9.962569310141336509e-02 2.120950887920192400e+16 9.243639128008190875e-02 1.917226650937096100e-01 1.667098453358764800e+02 -1.174199149279194637e-01 2.120950887920192400e+16 1.089739683087167649e-01 1.917505592223035515e-01 2.317889291090804136e+02 -1.383923764288897684e-01 2.120950887920192400e+16 1.285566968092231865e-01 1.918971441474814077e-01 3.222758365572963726e+02 -1.631107454420542835e-01 2.120950887920192400e+16 1.513763562740855495e-01 1.917038677460760066e-01 4.481475147263025747e+02 -1.922440813951419580e-01 2.120950887920192400e+16 1.786059930447614907e-01 1.918675402114924100e-01 6.231674740453991035e+02 -2.265809449359138250e-01 2.120950887920192400e+16 2.103941372479311567e-01 1.917315014421384634e-01 8.666964573331225665e+02 -2.670507421371726142e-01 2.120950887920192400e+16 2.482874388412618649e-01 1.919110970030002139e-01 1.205709529736712966e+03 -3.147488810066778608e-01 2.120950887920192400e+16 2.925773950871908280e-01 1.918076133779305914e-01 1.677964850551329391e+03 -3.709664212206886247e-01 2.120950887920192400e+16 3.449978013334896176e-01 1.918029029450403211e-01 2.336424902355173344e+03 -4.372250196192620786e-01 2.120950887920192400e+16 4.070481012490620443e-01 1.918744454438328917e-01 3.255711352368913140e+03 -5.153181173433998286e-01 2.120950887920192400e+16 4.801006492352295485e-01 1.918402954226702817e-01 4.541529951011169032e+03 -6.073594834385067642e-01 2.120950887920192400e+16 5.665705825406416318e-01 1.918458960904836919e-01 6.344703774281091682e+03 -7.158404288682718164e-01 2.120950887920192400e+16 6.689351093002053883e-01 1.918577966807380186e-01 8.882734307651366180e+03 -8.436972395676662906e-01 2.120950887920192400e+16 7.901094227558155270e-01 1.918283122485259229e-01 1.247408822560860790e+04 -9.943906537655036182e-01 2.120950887920192400e+16 9.341630332309285301e-01 1.918355744861294510e-01 1.759488378782302607e+04 -1.171999534812844468e+00 2.120950887920192400e+16 1.105976738655742864e+00 1.919100652013773500e-01 2.497921106085842621e+04 -1.381331274987467994e+00 2.120950887920192400e+16 1.310619583311386949e+00 1.918931788469128707e-01 3.581043417254962696e+04 -1.628051918606947979e+00 2.120950887920192400e+16 1.555342304059675440e+00 1.918021302886187274e-01 5.212721844074068940e+04 -1.918839526531252559e+00 2.120950887920192400e+16 1.850139289145279697e+00 1.918331957226624973e-01 7.783561710043469793e+04 -2.261564933217340645e+00 2.120950887920192400e+16 2.205161118515035934e+00 1.919019926833560319e-01 1.218821714972099435e+05 -2.665504788930584290e+00 2.120950887920192400e+16 2.631635591230874205e+00 1.918605556337975027e-01 2.129604062843201100e+05 -3.141592653589792672e+00 2.120950887920192400e+16 3.141592653589792672e+00 1.905113839256973862e-01 6.898579608086556196e+06 -1.000000000000000021e-03 4.291934260128760800e+16 9.053076428634227032e-04 1.705543485541234361e-01 3.465148731909701435e-02 -1.178610770701415088e-03 4.291934260128760800e+16 1.071411151383059061e-03 1.710576717921065970e-01 4.831821933995125717e-02 -1.389123348813385214e-03 4.291934260128760800e+16 1.259803863332220695e-03 1.708275018402782564e-01 6.718895578378081268e-02 -1.637235740744274635e-03 4.291934260128760800e+16 1.483509456835588715e-03 1.707594087483705059e-01 9.350159700380901440e-02 -1.929663678218512032e-03 4.291934260128760800e+16 1.749227736962746371e-03 1.708318724319202730e-01 1.308858061438767095e-01 -2.274322394979648009e-03 4.291934260128760800e+16 2.065440410591290552e-03 1.710583971884396537e-01 1.821312803068048658e-01 -2.680540870770453925e-03 4.291934260128760800e+16 2.441784903631569539e-03 1.714280293121009102e-01 2.539168178511536644e-01 -3.159314341595407215e-03 4.291934260128760800e+16 2.871644488841931363e-03 1.711822378894277408e-01 3.532801360201849317e-01 -3.723601911035797143e-03 4.291934260128760800e+16 3.382487671361279064e-03 1.711177919658394553e-01 4.911862908608090050e-01 -4.388677318151167420e-03 4.291934260128760800e+16 3.989317628934291836e-03 1.711991139618934399e-01 6.827051067272533746e-01 -5.172542356305966961e-03 4.291934260128760800e+16 4.710060354415746171e-03 1.714056242843272349e-01 9.504538760283052223e-01 -6.096414133051489617e-03 4.291934260128760800e+16 5.537628730232614996e-03 1.711167284965660063e-01 1.322754526396251906e+00 -7.185299359870824139e-03 4.291934260128760800e+16 6.551113965407146487e-03 1.715558395963527050e-01 1.839251195714110665e+00 -8.468671216257736209e-03 4.291934260128760800e+16 7.719783020267292212e-03 1.715315897927857658e-01 2.557045510866008620e+00 -9.981267109010422481e-03 4.291934260128760800e+16 9.107090311166981048e-03 1.716412356986079246e-01 3.558474190254885094e+00 -1.176402891992746509e-02 4.291934260128760800e+16 1.071341958418687602e-02 1.714089761807648660e-01 4.950944698799928823e+00 -1.386521119186945317e-02 4.291934260128760800e+16 1.262185650011865209e-02 1.713555182617020056e-01 6.887777263515613591e+00 -1.634168724878715118e-02 4.291934260128760800e+16 1.488786596757670291e-02 1.714424432364432815e-01 9.573409134242719887e+00 -1.926048860285451206e-02 4.291934260128760800e+16 1.751819533411360513e-02 1.712414280016203161e-01 1.328478988908098302e+01 -2.270061931629619237e-02 4.291934260128760800e+16 2.070598477292867612e-02 1.715746546924287463e-01 1.847675647371664809e+01 -2.675519442777928719e-02 4.291934260128760800e+16 2.441656302807952358e-02 1.716291796012968385e-01 2.569683862265169338e+01 -3.153396032479117289e-02 4.291934260128760800e+16 2.874135527652266556e-02 1.714693680224644856e-01 3.573117069566786341e+01 -3.716626528166998983e-02 4.291934260128760800e+16 3.387812945416289467e-02 1.714735572111163731e-01 4.969619096256944601e+01 -4.380456056772231294e-02 4.291934260128760800e+16 3.997781376065361741e-02 1.716136773701585350e-01 6.911607769899279674e+01 -5.162852689096004283e-02 4.291934260128760800e+16 4.710243906639906275e-02 1.715648302324556396e-01 9.611488614741868730e+01 -6.084993786913318187e-02 4.291934260128760800e+16 5.555424738229999132e-02 1.716419602645603282e-01 1.336269004143374843e+02 -7.171839216907228975e-02 4.291934260128760800e+16 6.543880217541726829e-02 1.715622100995534138e-01 1.858186100752358811e+02 -8.452806946785666742e-02 4.291934260128760800e+16 7.716136384754788968e-02 1.716072276619619308e-01 2.583690219732703781e+02 -9.962569310141336509e-02 4.291934260128760800e+16 9.088662694796061092e-02 1.715205409879426990e-01 3.592309877321216618e+02 -1.174199149279194637e-01 4.291934260128760800e+16 1.071716409783635277e-01 1.715667105482458765e-01 4.994706532525495959e+02 -1.383923764288897684e-01 4.291934260128760800e+16 1.262686548801411623e-01 1.715080970484077483e-01 6.944802643568966687e+02 -1.631107454420542835e-01 4.291934260128760800e+16 1.489202905296392598e-01 1.715702614936540638e-01 9.657440177385917650e+02 -1.922440813951419580e-01 4.291934260128760800e+16 1.755090561553814821e-01 1.715393838064505072e-01 1.342934546487269245e+03 -2.265809449359138250e-01 4.291934260128760800e+16 2.070465380145623258e-01 1.716211571759929111e-01 1.867762217230975466e+03 -2.670507421371726142e-01 4.291934260128760800e+16 2.440960635377041610e-01 1.716149956484699368e-01 2.598376980031353924e+03 -3.147488810066778608e-01 4.291934260128760800e+16 2.876304843792585886e-01 1.715324106212426925e-01 3.616117265423768004e+03 -3.709664212206886247e-01 4.291934260128760800e+16 3.392367048476031544e-01 1.715427915370594247e-01 5.035165785466231682e+03 -4.372250196192620786e-01 4.291934260128760800e+16 4.004168287237245827e-01 1.716255920860142170e-01 7.016338506279232206e+03 -5.153181173433998286e-01 4.291934260128760800e+16 4.723947567985094520e-01 1.716087431130655094e-01 9.787361884980919058e+03 -6.073594834385067642e-01 4.291934260128760800e+16 5.577050780448843392e-01 1.716309154980581175e-01 1.367326516663177790e+04 -7.158404288682718164e-01 4.291934260128760800e+16 6.581410829214732194e-01 1.715240538885618449e-01 1.914287995556111855e+04 -8.436972395676662906e-01 4.291934260128760800e+16 7.779505846185563733e-01 1.715353676096160462e-01 2.688343247721299485e+04 -9.943906537655036182e-01 4.291934260128760800e+16 9.207840286245372319e-01 1.715934063446152569e-01 3.792085978117524064e+04 -1.171999534812844468e+00 4.291934260128760800e+16 1.090887560042453686e+00 1.716044780482165466e-01 5.383732521323306719e+04 -1.381331274987467994e+00 4.291934260128760800e+16 1.294110571478296556e+00 1.715553586573329847e-01 7.719347287159699772e+04 -1.628051918606947979e+00 4.291934260128760800e+16 1.538976518915901481e+00 1.715700136175165036e-01 1.123951377496357745e+05 -1.918839526531252559e+00 4.291934260128760800e+16 1.834513116761233187e+00 1.715887311240825164e-01 1.678785880432978738e+05 -2.261564933217340645e+00 4.291934260128760800e+16 2.192145497767037376e+00 1.716309434307506376e-01 2.626845284838565858e+05 -2.665504788930584290e+00 4.291934260128760800e+16 2.623901737319376704e+00 1.716299406091248148e-01 4.565500769731008913e+05 -3.141592653589792672e+00 4.291934260128760800e+16 3.141592653589792672e+00 1.705475629907835244e-01 1.837779901912439242e+07 -1.000000000000000021e-03 8.685113737513520000e+16 8.829095795106723862e-04 1.517828511589557339e-01 7.864094758905507132e-02 -1.178610770701415088e-03 8.685113737513520000e+16 1.040606748127409324e-03 1.517828511589557339e-01 1.093386432104083705e-01 -1.389123348813385214e-03 8.685113737513520000e+16 1.226470334768486490e-03 1.517828511589557339e-01 1.518221484967728907e-01 -1.637235740744274635e-03 8.685113737513520000e+16 1.445710365449762256e-03 1.517940628947793691e-01 2.116859243200207297e-01 -1.929663678218512032e-03 8.685113737513520000e+16 1.713191712734117361e-03 1.523221328804803820e-01 2.944160907060429100e-01 -2.274322394979648009e-03 8.685113737513520000e+16 2.017686384193207068e-03 1.522802625807095356e-01 4.093324160389884003e-01 -2.680540870770453925e-03 8.685113737513520000e+16 2.379772464739797477e-03 1.523789839501289989e-01 5.692725442545480963e-01 -3.159314341595407215e-03 8.685113737513520000e+16 2.811050927304806560e-03 1.526239100039017416e-01 7.926220661960331482e-01 -3.723601911035797143e-03 8.685113737513520000e+16 3.302474169121026766e-03 1.523151593536359316e-01 1.104128546972456215e+00 -4.388677318151167420e-03 8.685113737513520000e+16 3.890742317000088057e-03 1.522828001335499448e-01 1.536926280315991766e+00 -5.172542356305966961e-03 8.685113737513520000e+16 4.591247902799268192e-03 1.524086103944620185e-01 2.149172142000973729e+00 -6.096414133051489617e-03 8.685113737513520000e+16 5.425010637978107050e-03 1.526658186827126173e-01 2.976228675106753929e+00 -7.185299359870824139e-03 8.685113737513520000e+16 6.377654299373461746e-03 1.524115272673611243e-01 4.144380561166966181e+00 -8.468671216257736209e-03 8.685113737513520000e+16 7.510848688494455548e-03 1.523339680328864576e-01 5.782669515421875239e+00 -9.981267109010422481e-03 8.685113737513520000e+16 8.861502983893087063e-03 1.524345411711727216e-01 8.023226388140336951e+00 -1.176402891992746509e-02 8.685113737513520000e+16 1.047092755617928458e-02 1.526867938374455169e-01 1.116305838327186883e+01 -1.386521119186945317e-02 8.685113737513520000e+16 1.232728000080907105e-02 1.525701011584736644e-01 1.552981171915406833e+01 -1.634168724878715118e-02 8.685113737513520000e+16 1.453680413022486774e-02 1.526190402340263375e-01 2.161414650985813424e+01 -1.926048860285451206e-02 8.685113737513520000e+16 1.708739601108919676e-02 1.523488031189967340e-01 3.005672794311843887e+01 -2.270061931629619237e-02 8.685113737513520000e+16 2.020855818569326431e-02 1.526844761247341531e-01 4.181696690815815032e+01 -2.675519442777928719e-02 8.685113737513520000e+16 2.382612419319220937e-02 1.527133894569380757e-01 5.816469241913002719e+01 -3.153396032479117289e-02 8.685113737513520000e+16 2.802053481166776050e-02 1.524901130493258317e-01 8.089582286270298539e+01 -3.716626528166998983e-02 8.685113737513520000e+16 3.300554912365907811e-02 1.524255983676970627e-01 1.125379551138819352e+02 -4.380456056772231294e-02 8.685113737513520000e+16 3.893919303531948733e-02 1.525173272110055822e-01 1.565123756403342554e+02 -5.162852689096004283e-02 8.685113737513520000e+16 4.600774254860877377e-02 1.527578791117583379e-01 2.176672069704513603e+02 -6.084993786913318187e-02 8.685113737513520000e+16 5.408777440995150149e-02 1.524973370578774079e-01 3.026501423672128226e+02 -7.171839216907228975e-02 8.685113737513520000e+16 6.388276869358823495e-02 1.526991801356369916e-01 4.209019984739147162e+02 -8.452806946785666742e-02 8.685113737513520000e+16 7.532362806316274251e-02 1.527313854205038235e-01 5.852011798509360005e+02 -9.962569310141336509e-02 8.685113737513520000e+16 8.869230654536319758e-02 1.526254097671718712e-01 8.138272701701067717e+02 -1.174199149279194637e-01 8.685113737513520000e+16 1.045831587228113480e-01 1.526607287449375239e-01 1.131748377316888764e+03 -1.383923764288897684e-01 8.685113737513520000e+16 1.231962583589621407e-01 1.525921707898753310e-01 1.573783915559833076e+03 -1.631107454420542835e-01 8.685113737513520000e+16 1.453403164181669427e-01 1.526699084211220747e-01 2.188610663298806230e+03 -1.922440813951419580e-01 8.685113737513520000e+16 1.712954517005981780e-01 1.526437299473203668e-01 3.043865701314000489e+03 -2.265809449359138250e-01 8.685113737513520000e+16 2.021393570233807058e-01 1.527365261955635767e-01 4.233831658516682182e+03 -2.670507421371726142e-01 8.685113737513520000e+16 2.383274433839279449e-01 1.527307182038560585e-01 5.890582842252277260e+03 -3.147488810066778608e-01 8.685113737513520000e+16 2.807875453015626910e-01 1.526361327326408168e-01 8.198768594363589727e+03 -3.709664212206886247e-01 8.685113737513520000e+16 3.312130121620513457e-01 1.526440130701507414e-01 1.141756652546727310e+04 -4.372250196192620786e-01 8.685113737513520000e+16 3.911149849375583076e-01 1.527348588338824642e-01 1.591221815557087939e+04 -5.153181173433998286e-01 8.685113737513520000e+16 4.615608540154630401e-01 1.527236482462792089e-01 2.220011316378564516e+04 -6.073594834385067642e-01 8.685113737513520000e+16 5.452517749012645298e-01 1.527665246979523495e-01 3.101952589388433626e+04 -7.158404288682718164e-01 8.685113737513520000e+16 6.437731456350689330e-01 1.526779614132237339e-01 4.343509723524547735e+04 -8.436972395676662906e-01 8.685113737513520000e+16 7.617906773034439638e-01 1.527279138512796786e-01 6.100254360103575164e+04 -9.943906537655036182e-01 8.685113737513520000e+16 9.019825485424872724e-01 1.527045677776862065e-01 8.603984178049517504e+04 -1.171999534812844468e+00 8.685113737513520000e+16 1.069600591477117835e+00 1.526612884769130707e-01 1.220835005663809570e+05 -1.381331274987467994e+00 8.685113737513520000e+16 1.271990286321500019e+00 1.527085888707322148e-01 1.747351330630353186e+05 -1.628051918606947979e+00 8.685113737513520000e+16 1.516231323554994015e+00 1.527248624025797641e-01 2.532547698019093950e+05 -1.918839526531252559e+00 8.685113737513520000e+16 1.813004086071598797e+00 1.527666480684987393e-01 3.739731139648208627e+05 -2.261564933217340645e+00 8.685113737513520000e+16 2.173629550402796706e+00 1.527236827765447447e-01 5.691962199462674325e+05 -2.665504788930584290e+00 8.685113737513520000e+16 2.612483929462205090e+00 1.526707423391622798e-01 9.271884567112285877e+05 -3.141592653589792672e+00 8.685113737513520000e+16 3.141592653589792672e+00 1.517828511589557339e-01 5.151838230798675865e+07 -1.000000000000000021e-03 1.757510624854796480e+17 8.215049106543678053e-04 1.287361623778863762e-01 1.506321613064580400e-01 -1.178610770701415088e-03 1.757510624854796480e+17 9.682345477179373026e-04 1.287361623778863762e-01 2.100219260130808119e-01 -1.389123348813385214e-03 1.757510624854796480e+17 1.141171685884872621e-03 1.287361623778863762e-01 2.921648234501477148e-01 -1.637235740744274635e-03 1.757510624854796480e+17 1.344997271931879694e-03 1.287361623778863762e-01 4.058950086836351501e-01 -1.929663678218512032e-03 1.757510624854796480e+17 1.585228323209927946e-03 1.287361623778863762e-01 5.646526585519550112e-01 -2.274322394979648009e-03 1.757510624854796480e+17 1.868367260805635669e-03 1.287725460440571346e-01 7.857244274010225515e-01 -2.680540870770453925e-03 1.757510624854796480e+17 2.202912251480990992e-03 1.288377676039107467e-01 1.092618240606768376e+00 -3.159314341595407215e-03 1.757510624854796480e+17 2.602775088058695632e-03 1.290329140241380512e-01 1.517796732008131810e+00 -3.723601911035797143e-03 1.757510624854796480e+17 3.084056661611676419e-03 1.294086529596209789e-01 2.112694277024061762e+00 -4.388677318151167420e-03 1.757510624854796480e+17 3.632289468399910355e-03 1.293882875344952721e-01 2.937244739932810322e+00 -5.172542356305966961e-03 1.757510624854796480e+17 4.254494669260799715e-03 1.290077706801361357e-01 4.088004423386612629e+00 -6.096414133051489617e-03 1.757510624854796480e+17 5.058962756694867537e-03 1.295859902142655340e-01 5.685234673132598893e+00 -7.185299359870824139e-03 1.757510624854796480e+17 5.919092470089050949e-03 1.291184373528223295e-01 7.914455388662864799e+00 -8.468671216257736209e-03 1.757510624854796480e+17 7.013844984234809087e-03 1.294673159727406375e-01 1.101587700636696887e+01 -9.981267109010422481e-03 1.757510624854796480e+17 8.257077327804038941e-03 1.293925962142252473e-01 1.532563443934592051e+01 -1.176402891992746509e-02 1.757510624854796480e+17 9.747349800711985202e-03 1.294953906420469314e-01 2.132930484500862178e+01 -1.386521119186945317e-02 1.757510624854796480e+17 1.144876105341806685e-02 1.292660545548312834e-01 2.966386824577223891e+01 -1.634168724878715118e-02 1.757510624854796480e+17 1.349635464541235584e-02 1.292739358496845237e-01 4.127098857666541676e+01 -1.926048860285451206e-02 1.757510624854796480e+17 1.594963471769764510e-02 1.294445781816931096e-01 5.741643271465802201e+01 -2.270061931629619237e-02 1.757510624854796480e+17 1.876107775910592149e-02 1.293071965579766780e-01 7.986169062216110603e+01 -2.675519442777928719e-02 1.757510624854796480e+17 2.212123294323876943e-02 1.293282499595789781e-01 1.110399640403288828e+02 -3.153396032479117289e-02 1.757510624854796480e+17 2.613924656236847957e-02 1.294922001790709820e-01 1.544601690453054061e+02 -3.716626528166998983e-02 1.757510624854796480e+17 3.077868014310475298e-02 1.294216540811943261e-01 2.148934745524733785e+02 -4.380456056772231294e-02 1.757510624854796480e+17 3.633106231766713295e-02 1.295158802585711921e-01 2.987489930653075589e+02 -5.162852689096004283e-02 1.757510624854796480e+17 4.276342972591445912e-02 1.294189617694212202e-01 4.156385921930642553e+02 -6.084993786913318187e-02 1.757510624854796480e+17 5.045526700939959724e-02 1.294823637197740074e-01 5.778938535046013385e+02 -7.171839216907228975e-02 1.757510624854796480e+17 5.965083810854476115e-02 1.296830983587871355e-01 8.034859857854895608e+02 -8.452806946785666742e-02 1.757510624854796480e+17 7.004973122007962516e-02 1.294255590340986362e-01 1.117199951216175805e+03 -9.962569310141336509e-02 1.757510624854796480e+17 8.278742731948313116e-02 1.295996971703077538e-01 1.553700776911286766e+03 -1.174199149279194637e-01 1.757510624854796480e+17 9.763777825450005443e-02 1.296307444737213044e-01 2.160153536324855395e+03 -1.383923764288897684e-01 1.757510624854796480e+17 1.149447276476383978e-01 1.295354306399366662e-01 3.003455317803640810e+03 -1.631107454420542835e-01 1.757510624854796480e+17 1.355935369453988015e-01 1.295744999740681414e-01 4.175901596876117765e+03 -1.922440813951419580e-01 1.757510624854796480e+17 1.597340065631593087e-01 1.295142244045276170e-01 5.806770314063664955e+03 -2.265809449359138250e-01 1.757510624854796480e+17 1.885667054841474177e-01 1.295898691093172739e-01 8.075751380596888339e+03 -2.670507421371726142e-01 1.757510624854796480e+17 2.223174751995060372e-01 1.295654407373710015e-01 1.123296405749663245e+04 -3.147488810066778608e-01 1.757510624854796480e+17 2.625665862762757152e-01 1.296466736066556324e-01 1.562623244073939168e+04 -3.709664212206886247e-01 1.757510624854796480e+17 3.097214315838088261e-01 1.296202163288225628e-01 2.174499594060360687e+04 -4.372250196192620786e-01 1.757510624854796480e+17 3.659198525391172407e-01 1.296743577596644603e-01 3.027467073157737104e+04 -5.153181173433998286e-01 1.757510624854796480e+17 4.318364672163341189e-01 1.296066885252009915e-01 4.217588697611699172e+04 -6.073594834385067642e-01 1.757510624854796480e+17 5.104418921262903197e-01 1.295937884431330733e-01 5.882630745761775324e+04 -7.158404288682718164e-01 1.757510624854796480e+17 6.042186619663779679e-01 1.296030553595102497e-01 8.216246443066462234e+04 -8.436972395676662906e-01 1.757510624854796480e+17 7.160765618926082654e-01 1.295870149648591929e-01 1.150020139358657470e+05 -9.943906537655036182e-01 1.757510624854796480e+17 8.515537962349312151e-01 1.296805556242135449e-01 1.614819129818332731e+05 -1.171999534812844468e+00 1.757510624854796480e+17 1.013726218570444315e+00 1.296420100086459470e-01 2.278580798409377749e+05 -1.381331274987467994e+00 1.757510624854796480e+17 1.210977669485200581e+00 1.295940702125816246e-01 3.240412641712206532e+05 -1.628051918606947979e+00 1.757510624854796480e+17 1.453006098659205936e+00 1.295840290180201027e-01 4.669573756436741678e+05 -1.918839526531252559e+00 1.757510624854796480e+17 1.750662293489123389e+00 1.295330463922404474e-01 6.896405023960279068e+05 -2.261564933217340645e+00 1.757510624854796480e+17 2.122143494782991358e+00 1.296068941674305419e-01 1.071764612075904850e+06 -2.665504788930584290e+00 1.757510624854796480e+17 2.581273669089106271e+00 1.295874733874144147e-01 1.898971121620139340e+06 -3.141592653589792672e+00 1.757510624854796480e+17 3.141592653589792672e+00 1.287361623778863762e-01 1.483718943997898698e+08 -1.000000000000000021e-03 3.556480306223150080e+17 6.660383207271775453e-04 9.580610458241708982e-02 3.046478912766492075e-01 -1.178610770701415088e-03 3.556480306223150080e+17 7.849999579651059873e-04 9.580610458241708982e-02 4.235258806830910494e-01 -1.389123348813385214e-03 3.556480306223150080e+17 9.252094373121715802e-04 9.580610458241708982e-02 5.911178649572654820e-01 -1.637235740744274635e-03 3.556480306223150080e+17 1.090461860123782345e-03 9.580610458241708982e-02 8.229900553539117869e-01 -1.929663678218512032e-03 3.556480306223150080e+17 1.285230178767844981e-03 9.580610458241708982e-02 1.148421881945161926e+00 -2.274322394979648009e-03 3.556480306223150080e+17 1.514786271324697038e-03 9.580610458241708982e-02 1.600768289207562090e+00 -2.680540870770453925e-03 3.556480306223150080e+17 1.785343643576875602e-03 9.580610458241708982e-02 2.226788570833179381e+00 -3.159314341595407215e-03 3.556480306223150080e+17 2.104225622458353023e-03 9.580610458241708982e-02 3.094660725285216518e+00 -3.723601911035797143e-03 3.556480306223150080e+17 2.480063596145378520e-03 9.580610458241708982e-02 4.301834039991150327e+00 -4.388677318151167420e-03 3.556480306223150080e+17 2.923030670934760513e-03 9.580610458241708982e-02 5.963520158206679689e+00 -5.172542356305966961e-03 3.556480306223150080e+17 3.448834529497254216e-03 9.584778400324549252e-02 8.294350020359575026e+00 -6.096414133051489617e-03 3.556480306223150080e+17 4.087114863200646576e-03 9.606088788174602100e-02 1.156353451531160914e+01 -7.185299359870824139e-03 3.556480306223150080e+17 4.861976705132031382e-03 9.644609896352120126e-02 1.606277370051514453e+01 -8.468671216257736209e-03 3.556480306223150080e+17 5.713560664735019105e-03 9.628785197993051936e-02 2.244136304528569070e+01 -9.981267109010422481e-03 3.556480306223150080e+17 6.745596535343379406e-03 9.637291959776730921e-02 3.105382631738237720e+01 -1.176402891992746509e-02 3.556480306223150080e+17 8.012386035911232135e-03 9.663535144382809361e-02 4.340211676119145778e+01 -1.386521119186945317e-02 3.556480306223150080e+17 9.395696537622235181e-03 9.644875419233572833e-02 6.037696283520723739e+01 -1.634168724878715118e-02 3.556480306223150080e+17 1.097043400169310685e-02 9.607453640560612018e-02 8.420003475923469693e+01 -1.926048860285451206e-02 3.556480306223150080e+17 1.311162466627106837e-02 9.662514511810914308e-02 1.168800751645450759e+02 -2.270061931629619237e-02 3.556480306223150080e+17 1.531696796120510760e-02 9.628895267221880550e-02 1.624798410775020443e+02 -2.675519442777928719e-02 3.556480306223150080e+17 1.809009671337853675e-02 9.639163337006077803e-02 2.258112868579823385e+02 -3.153396032479117289e-02 3.556480306223150080e+17 2.136174797676532178e-02 9.635642455715873189e-02 3.158474659265491482e+02 -3.716626528166998983e-02 3.556480306223150080e+17 2.526216322805267464e-02 9.661018037301935535e-02 4.371267850898558436e+02 -4.380456056772231294e-02 3.556480306223150080e+17 2.976309035327293767e-02 9.659001294265198712e-02 6.060663137155488585e+02 -5.162852689096004283e-02 3.556480306223150080e+17 3.487953689150589953e-02 9.631176892308276893e-02 8.445399752285579780e+02 -6.084993786913318187e-02 3.556480306223150080e+17 4.108478094256225177e-02 9.630674260556267019e-02 1.177524368049708983e+03 -7.171839216907228975e-02 3.556480306223150080e+17 4.869693363793255875e-02 9.651685194731429718e-02 1.637659000807715984e+03 -8.452806946785666742e-02 3.556480306223150080e+17 5.727371772185435583e-02 9.648492581561812775e-02 2.265212243616592787e+03 -9.962569310141336509e-02 3.556480306223150080e+17 6.779762250892383546e-02 9.665101163305117593e-02 3.153651360453273810e+03 -1.174199149279194637e-01 3.556480306223150080e+17 7.973789304167933079e-02 9.660122607282645157e-02 4.384657016483193729e+03 -1.383923764288897684e-01 3.556480306223150080e+17 9.355849143174367610e-02 9.640749875344303832e-02 6.090659486191597352e+03 -1.631107454420542835e-01 3.556480306223150080e+17 1.102841417907804572e-01 9.639212855059954566e-02 8.475963353080982415e+03 -1.922440813951419580e-01 3.556480306223150080e+17 1.305382379627276490e-01 9.653321768679513915e-02 1.179827355976686340e+04 -2.265809449359138250e-01 3.556480306223150080e+17 1.539682794960196277e-01 9.652441515905318958e-02 1.639022041020210963e+04 -2.670507421371726142e-01 3.556480306223150080e+17 1.822611333726368577e-01 9.665080787997203104e-02 2.278434568487376964e+04 -3.147488810066778608e-01 3.556480306223150080e+17 2.150430423119579493e-01 9.662084257317933578e-02 3.181118938098131548e+04 -3.709664212206886247e-01 3.556480306223150080e+17 2.525993506410876277e-01 9.641661435524215285e-02 4.424010687988625432e+04 -4.372250196192620786e-01 3.556480306223150080e+17 2.998496597821122545e-01 9.656708488176576899e-02 6.172783067126006063e+04 -5.153181173433998286e-01 3.556480306223150080e+17 3.546941788530136308e-01 9.652430980778341219e-02 8.611885065438396123e+04 -6.073594834385067642e-01 3.556480306223150080e+17 4.205751715474486674e-01 9.650825168943170940e-02 1.203610879031912627e+05 -7.158404288682718164e-01 3.556480306223150080e+17 4.998695898756634892e-01 9.649075735913277552e-02 1.688071461976940627e+05 -8.436972395676662906e-01 3.556480306223150080e+17 5.957405620414923941e-01 9.644974394239341775e-02 2.379686567169276823e+05 -9.943906537655036182e-01 3.556480306223150080e+17 7.163824336840683982e-01 9.661773589740753343e-02 3.367564366837354610e+05 -1.171999534812844468e+00 3.556480306223150080e+17 8.630543537845180024e-01 9.663865900393081576e-02 4.811310622449599905e+05 -1.381331274987467994e+00 3.556480306223150080e+17 1.043853454358178334e+00 9.652474669630826953e-02 6.949466166998702101e+05 -1.628051918606947979e+00 3.556480306223150080e+17 1.279281652774024725e+00 9.664658420838805053e-02 1.024426126063734991e+06 -1.918839526531252559e+00 3.556480306223150080e+17 1.580659856056445545e+00 9.660244723146838020e-02 1.563574252422402846e+06 -2.261564933217340645e+00 3.556480306223150080e+17 1.975303090921659788e+00 9.655661193106397644e-02 2.536452470041420776e+06 -2.665504788930584290e+00 3.556480306223150080e+17 2.490518599764714569e+00 9.654291262050077038e-02 4.761292439687840641e+06 -3.141592653589792672e+00 3.556480306223150080e+17 3.141592653589792228e+00 9.580610458241708982e-02 4.321145938772758245e+08 -1.000000000000000021e-03 7.196856730011528960e+17 6.079618313117643967e-04 6.898099527199953729e-02 7.675941927123544062e-01 -1.178610770701415088e-03 7.196856730011528960e+17 7.165503837791338407e-04 6.898099527199953729e-02 1.070879813062041386e+00 -1.389123348813385214e-03 7.196856730011528960e+17 8.445340348140237090e-04 6.898099527199953729e-02 1.489145478004671563e+00 -1.637235740744274635e-03 7.196856730011528960e+17 9.953769665360906026e-04 6.898099527199953729e-02 2.074498653604558207e+00 -1.929663678218512032e-03 7.196856730011528960e+17 1.173162106794095431e-03 6.898099527199953729e-02 2.884039408972244534e+00 -2.274322394979648009e-03 7.196856730011528960e+17 1.382701647316414298e-03 6.898099527199953729e-02 4.024567961916466707e+00 -2.680540870770453925e-03 7.196856730011528960e+17 1.629667303823268418e-03 6.898099527199953729e-02 5.590264973266163118e+00 -3.159314341595407215e-03 7.196856730011528960e+17 1.920743845648475653e-03 6.898099527199953729e-02 7.777657964352206577e+00 -3.723601911035797143e-03 7.196856730011528960e+17 2.263810053382014735e-03 6.898099527199953729e-02 1.080369247345529615e+01 -4.388677318151167420e-03 7.196856730011528960e+17 2.668152007281887790e-03 6.898994911749595227e-02 1.501181813559514922e+01 -5.172542356305966961e-03 7.196856730011528960e+17 3.146577453168569738e-03 6.903442708174180320e-02 2.087336016366251457e+01 -6.096414133051489617e-03 7.196856730011528960e+17 3.715925587728716086e-03 6.911739911390106517e-02 2.901686975520212641e+01 -7.185299359870824139e-03 7.196856730011528960e+17 4.394259103230013265e-03 6.923560489206254109e-02 4.034814618112363149e+01 -8.468671216257736209e-03 7.196856730011528960e+17 5.201710031649418343e-03 6.938053798613795509e-02 5.609769360274929539e+01 -9.981267109010422481e-03 7.196856730011528960e+17 6.167370682626860563e-03 6.956880959202446646e-02 7.796033065219320690e+01 -1.176402891992746509e-02 7.196856730011528960e+17 7.213988430855318608e-03 6.938682084940571426e-02 1.083689375613117249e+02 -1.386521119186945317e-02 7.196856730011528960e+17 8.493003142084116011e-03 6.937658002590306461e-02 1.507004426455939097e+02 -1.634168724878715118e-02 7.196856730011528960e+17 1.008169548777109771e-02 6.958513521260335788e-02 2.096242363321474045e+02 -1.926048860285451206e-02 7.196856730011528960e+17 1.188773136871800959e-02 6.960685580208442191e-02 2.913547407485253302e+02 -2.270061931629619237e-02 7.196856730011528960e+17 1.393554299267543185e-02 6.942471086893131638e-02 4.060465771106619286e+02 -2.675519442777928719e-02 7.196856730011528960e+17 1.643288889344445350e-02 6.947963828859583801e-02 5.632642998615516490e+02 -3.153396032479117289e-02 7.196856730011528960e+17 1.925740402973294754e-02 6.932391124829924423e-02 7.832115393628974971e+02 -3.716626528166998983e-02 7.196856730011528960e+17 2.276698379908533715e-02 6.940346830396484923e-02 1.089437670837486621e+03 -4.380456056772231294e-02 7.196856730011528960e+17 2.698812270457943280e-02 6.952334873669162307e-02 1.517923305333149528e+03 -5.162852689096004283e-02 7.196856730011528960e+17 3.156118750954486213e-02 6.933729271719829557e-02 2.107260421967201182e+03 -6.084993786913318187e-02 7.196856730011528960e+17 3.741190680811071895e-02 6.944177528030576196e-02 2.938333241327754877e+03 -7.171839216907228975e-02 7.196856730011528960e+17 4.429258802855843419e-02 6.957101139068201656e-02 4.083242979313850810e+03 -8.452806946785666742e-02 7.196856730011528960e+17 5.197436897775079695e-02 6.939053032710433555e-02 5.694695394360554019e+03 -9.962569310141336509e-02 7.196856730011528960e+17 6.138877683740090463e-02 6.948400513772716447e-02 7.900240518549411718e+03 -1.174199149279194637e-01 7.196856730011528960e+17 7.249369049517122299e-02 6.950829936628444283e-02 1.099748963424912472e+04 -1.383923764288897684e-01 7.196856730011528960e+17 8.556757522909803904e-02 6.956735736761313071e-02 1.526767712117158953e+04 -1.631107454420542835e-01 7.196856730011528960e+17 1.012255440137025397e-01 6.961662343799686348e-02 2.128056793400966126e+04 -1.922440813951419580e-01 7.196856730011528960e+17 1.187690102312687485e-01 6.946848084631289388e-02 2.959915893716110077e+04 -2.265809449359138250e-01 7.196856730011528960e+17 1.405833427202756725e-01 6.954656622118794707e-02 4.121391183191165328e+04 -2.670507421371726142e-01 7.196856730011528960e+17 1.654296713883575964e-01 6.947802260477643765e-02 5.730721133806947182e+04 -3.147488810066778608e-01 7.196856730011528960e+17 1.958211121290397427e-01 6.953421162475824369e-02 7.984447649088011531e+04 -3.709664212206886247e-01 7.196856730011528960e+17 2.314078199950874715e-01 6.952097070391645428e-02 1.113277690806134924e+05 -4.372250196192620786e-01 7.196856730011528960e+17 2.744815125191850114e-01 6.956227970966209762e-02 1.555872694536449562e+05 -5.153181173433998286e-01 7.196856730011528960e+17 3.246539966483324435e-01 6.950842410902340063e-02 2.174381286792762985e+05 -6.073594834385067642e-01 7.196856730011528960e+17 3.859433786720299353e-01 6.950767712069408355e-02 3.051376310390103608e+05 -7.158404288682718164e-01 7.196856730011528960e+17 4.611023873369013426e-01 6.961672942690996790e-02 4.286058400470805936e+05 -8.436972395676662906e-01 7.196856730011528960e+17 5.495806270266788696e-01 6.950245580798479483e-02 6.059170592739551794e+05 -9.943906537655036182e-01 7.196856730011528960e+17 6.604536414273045608e-01 6.952064559730515569e-02 8.604612523625256727e+05 -1.171999534812844468e+00 7.196856730011528960e+17 8.017795067326373148e-01 6.961473665986678272e-02 1.236091218771910761e+06 -1.381331274987467994e+00 7.196856730011528960e+17 9.773715323006436639e-01 6.955070739426406912e-02 1.800747941590950359e+06 -1.628051918606947979e+00 7.196856730011528960e+17 1.203907193805681120e+00 6.946916865409370756e-02 2.684812959794625174e+06 -1.918839526531252559e+00 7.196856730011528960e+17 1.505470670252986531e+00 6.949039633509709879e-02 4.152091561829070561e+06 -2.261564933217340645e+00 7.196856730011528960e+17 1.910708661387917395e+00 6.955658157746898163e-02 6.863626765072409995e+06 -2.665504788930584290e+00 7.196856730011528960e+17 2.449931521186171857e+00 6.957224549829499338e-02 1.320338656412110478e+07 -3.141592653589792672e+00 7.196856730011528960e+17 3.141592653589792228e+00 6.898099527199953729e-02 1.258392790165115595e+09 -1.000000000000000021e-03 1.456348477501238528e+18 5.910996937040182602e-04 4.947773434626388800e-02 2.151192548167814245e+00 -1.178610770701415088e-03 1.456348477501238528e+18 6.966764869811067212e-04 4.947773434626388800e-02 2.992928800531460709e+00 -1.389123348813385214e-03 1.456348477501238528e+18 8.211104463252574641e-04 4.947773434626388800e-02 4.162669744617361722e+00 -1.637235740744274635e-03 1.456348477501238528e+18 9.677696734002752630e-04 4.947773434626388800e-02 5.805602916726766871e+00 -1.929663678218512032e-03 1.456348477501238528e+18 1.140623854647461639e-03 4.947773434626388800e-02 8.090122646563731479e+00 -2.274322394979648009e-03 1.456348477501238528e+18 1.344351714338891130e-03 4.947773434626388800e-02 1.124202031272584001e+01 -2.680540870770453925e-03 1.456348477501238528e+18 1.584467662154412674e-03 4.947773434626388800e-02 1.564937684083850300e+01 -3.159314341595407215e-03 1.456348477501238528e+18 1.867471065065483271e-03 4.947773434626388800e-02 2.174417205954317112e+01 -3.723601911035797143e-03 1.456348477501238528e+18 2.201022186819287865e-03 4.947773434626388800e-02 3.025071428246717886e+01 -4.388677318151167420e-03 1.456348477501238528e+18 2.594149561988869090e-03 4.948351379003815276e-02 4.202790155608624190e+01 -5.172542356305966961e-03 1.456348477501238528e+18 3.059272089959111807e-03 4.951478849848946900e-02 5.848123222306264779e+01 -6.096414133051489617e-03 1.456348477501238528e+18 3.612850674678693471e-03 4.957355897129298028e-02 8.130768567022640525e+01 -7.185299359870824139e-03 1.456348477501238528e+18 4.272496969826172254e-03 4.965748671957441462e-02 1.129699339455844154e+02 -8.468671216257736209e-03 1.456348477501238528e+18 5.058011975204677706e-03 4.976123659921266595e-02 1.571322150246795388e+02 -9.981267109010422481e-03 1.456348477501238528e+18 5.993198146418641029e-03 4.988183941915159264e-02 2.182784034001298892e+02 -1.176402891992746509e-02 1.456348477501238528e+18 6.984072115737353752e-03 4.968536732504859332e-02 3.033439932832744717e+02 -1.386521119186945317e-02 1.456348477501238528e+18 8.293915971718196153e-03 4.984482070094214262e-02 4.218012112672618059e+02 -1.634168724878715118e-02 1.456348477501238528e+18 9.730384668835188530e-03 4.977162079536470718e-02 5.862620300522909247e+02 -1.926048860285451206e-02 1.456348477501238528e+18 1.143407095414431841e-02 4.972198519148596924e-02 8.148333873390786266e+02 -2.270061931629619237e-02 1.456348477501238528e+18 1.357838994509732826e-02 4.986824660749331756e-02 1.133932345135222477e+03 -2.675519442777928719e-02 1.456348477501238528e+18 1.603996378811696141e-02 4.991203799579413403e-02 1.576645277988071257e+03 -3.153396032479117289e-02 1.456348477501238528e+18 1.886631629170689231e-02 4.987022974269405412e-02 2.192633641970713597e+03 -3.716626528166998983e-02 1.456348477501238528e+18 2.217650220491396151e-02 4.981363172256268040e-02 3.050524687433486633e+03 -4.380456056772231294e-02 1.456348477501238528e+18 2.620528315132037225e-02 4.985795057447264117e-02 4.244115608535837964e+03 -5.162852689096004283e-02 1.456348477501238528e+18 3.081837583791243243e-02 4.979997138879205254e-02 5.907160421314182713e+03 -6.084993786913318187e-02 1.456348477501238528e+18 3.639922538407552172e-02 4.983184269643876202e-02 8.217830376637728477e+03 -7.171839216907228975e-02 1.456348477501238528e+18 4.275890711667134497e-02 4.976160194771129391e-02 1.143111950521790277e+04 -8.452806946785666742e-02 1.456348477501238528e+18 5.041836754583965685e-02 4.977242487696711265e-02 1.588419492121206349e+04 -9.962569310141336509e-02 1.456348477501238528e+18 5.973411388573420661e-02 4.985422106077904564e-02 2.211495172149030623e+04 -1.174199149279194637e-01 1.456348477501238528e+18 7.050410533336660956e-02 4.988061683260204549e-02 3.073174728686965682e+04 -1.383923764288897684e-01 1.456348477501238528e+18 8.283185821193020382e-02 4.980524740816165419e-02 4.275514676530640281e+04 -1.631107454420542835e-01 1.456348477501238528e+18 9.835904779775790641e-02 4.992761335394650668e-02 5.952959470149013214e+04 -1.922440813951419580e-01 1.456348477501238528e+18 1.158872933903654645e-01 4.990819145207682495e-02 8.278142201189312618e+04 -2.265809449359138250e-01 1.456348477501238528e+18 1.367495174669710323e-01 4.990444394870600930e-02 1.152370733013801801e+05 -2.670507421371726142e-01 1.456348477501238528e+18 1.609758047998962049e-01 4.984432102722639868e-02 1.604831505915132002e+05 -3.147488810066778608e-01 1.456348477501238528e+18 1.905979372368591662e-01 4.988739126974900406e-02 2.236267157162204385e+05 -3.709664212206886247e-01 1.456348477501238528e+18 2.252583441216159110e-01 4.987797094390213071e-02 3.118674936754021910e+05 -4.372250196192620786e-01 1.456348477501238528e+18 2.663580194144926638e-01 4.985580704556005077e-02 4.354673036632863805e+05 -5.153181173433998286e-01 1.456348477501238528e+18 3.163353013267315994e-01 4.988432754195995522e-02 6.094316367788747884e+05 -6.073594834385067642e-01 1.456348477501238528e+18 3.754403447770286451e-01 4.986085134407534925e-02 8.545747350340635749e+05 -7.158404288682718164e-01 1.456348477501238528e+18 4.466650939042981494e-01 4.983292006591370088e-02 1.201703114777390379e+06 -8.436972395676662906e-01 1.456348477501238528e+18 5.351953391570255514e-01 4.985832606308227000e-02 1.699813111864164472e+06 -9.943906537655036182e-01 1.456348477501238528e+18 6.450675086003505587e-01 4.989550998079292365e-02 2.421488642840036191e+06 -1.171999534812844468e+00 1.456348477501238528e+18 7.796429589539565219e-01 4.983369050493242913e-02 3.483289476761471946e+06 -1.381331274987467994e+00 1.456348477501238528e+18 9.547737351946604667e-01 4.985631673787521007e-02 5.087059947116605006e+06 -1.628051918606947979e+00 1.456348477501238528e+18 1.181736734880398432e+00 4.985744821195075421e-02 7.611546226585464552e+06 -1.918839526531252559e+00 1.456348477501238528e+18 1.482014554960680464e+00 4.985315418104558499e-02 1.182928537612576224e+07 -2.261564933217340645e+00 1.456348477501238528e+18 1.890665765479391025e+00 4.993306185921140422e-02 1.967396256275372580e+07 -2.665504788930584290e+00 1.456348477501238528e+18 2.435703713089417466e+00 4.990476753472294219e-02 3.812235452925962210e+07 -3.141592653589792672e+00 1.456348477501238528e+18 3.141592653589792228e+00 4.947773434626388800e-02 3.650413210306333065e+09 -1.000000000000000021e-03 2.947051702551809536e+18 5.865412839184531947e-04 3.561413203736756017e-02 6.242068484759281333e+00 -1.178610770701415088e-03 2.947051702551809536e+18 6.913038961062023622e-04 3.561413203736756017e-02 8.685694755271388345e+00 -1.389123348813385214e-03 2.947051702551809536e+18 8.147782528463738813e-04 3.561413203736756017e-02 1.208986358001789441e+01 -1.637235740744274635e-03 2.947051702551809536e+18 9.603064819521930700e-04 3.561413203736756017e-02 1.686656136082520163e+01 -1.929663678218512032e-03 2.947051702551809536e+18 1.131827656803782115e-03 3.561413203736756017e-02 2.345376186937340179e+01 -2.274322394979648009e-03 2.947051702551809536e+18 1.333984420787735900e-03 3.561413203736756017e-02 3.264056318579641669e+01 -2.680540870770453925e-03 2.947051702551809536e+18 1.572248658260632466e-03 3.561413203736756017e-02 4.547201495521829884e+01 -3.159314341595407215e-03 2.947051702551809536e+18 1.853069615384937609e-03 3.561413203736756017e-02 6.318174157256214585e+01 -3.723601911035797143e-03 2.947051702551809536e+18 2.184048482974408362e-03 3.561413203736756017e-02 8.768065551651449141e+01 -4.388677318151167420e-03 2.947051702551809536e+18 2.574144171593210559e-03 3.561688407686708358e-02 1.220995236537293920e+02 -5.172542356305966961e-03 2.947051702551809536e+18 3.035371323445053542e-03 3.563755431819454200e-02 1.698203106932639912e+02 -6.096414133051489617e-03 2.947051702551809536e+18 3.583897189536533121e-03 3.567667697743805155e-02 2.359981814654173036e+02 -7.185299359870824139e-03 2.947051702551809536e+18 4.237588799467504816e-03 3.573431568595168695e-02 3.280722837351161161e+02 -8.468671216257736209e-03 2.947051702551809536e+18 5.016334121333697327e-03 3.580714002893105319e-02 4.560379835306627001e+02 -9.981267109010422481e-03 2.947051702551809536e+18 5.943350948053418778e-03 3.589176066522904024e-02 6.339843642722720460e+02 -1.176402891992746509e-02 2.947051702551809536e+18 6.925024100246424119e-03 3.575070960406171588e-02 8.813604328272807606e+02 -1.386521119186945317e-02 2.947051702551809536e+18 8.224702568170443387e-03 3.586538462416072326e-02 1.224100579504177176e+03 -1.634168724878715118e-02 2.947051702551809536e+18 9.640811387810300365e-03 3.580217561146857574e-02 1.702239855943462317e+03 -1.926048860285451206e-02 2.947051702551809536e+18 1.131996404327238401e-02 3.575691808986000003e-02 2.367460403140823473e+03 -2.270061931629619237e-02 2.947051702551809536e+18 1.343721548295030883e-02 3.585467658820386261e-02 3.293118916542197439e+03 -2.675519442777928719e-02 2.947051702551809536e+18 1.586736777802513418e-02 3.588065017861940403e-02 4.577924910072411876e+03 -3.153396032479117289e-02 2.947051702551809536e+18 1.865484325555650386e-02 3.584507932246971951e-02 6.366242848186586343e+03 -3.716626528166998983e-02 2.947051702551809536e+18 2.211032272197302473e-02 3.591863251814794711e-02 8.856158285184415945e+03 -4.380456056772231294e-02 2.947051702551809536e+18 2.604678255592350611e-02 3.590830777045359717e-02 1.232031679234054536e+04 -5.162852689096004283e-02 2.947051702551809536e+18 3.053152014623402091e-02 3.582917996209208922e-02 1.713235751981949215e+04 -6.084993786913318187e-02 2.947051702551809536e+18 3.600348226978591221e-02 3.583144498574793169e-02 2.382850801218732522e+04 -7.171839216907228975e-02 2.947051702551809536e+18 4.268553026900975822e-02 3.590722137436105216e-02 3.315526800000355433e+04 -8.452806946785666742e-02 2.947051702551809536e+18 5.038075330667118185e-02 3.592075241981362160e-02 4.610483527814552508e+04 -9.962569310141336509e-02 2.947051702551809536e+18 5.924722261093642167e-02 3.588288990064637807e-02 6.414929698228593043e+04 -1.174199149279194637e-01 2.947051702551809536e+18 7.004913241157148529e-02 3.591833458555866720e-02 8.923520675577691873e+04 -1.383923764288897684e-01 2.947051702551809536e+18 8.272248863332190560e-02 3.593576266868209884e-02 1.241509052810724243e+05 -1.631107454420542835e-01 2.947051702551809536e+18 9.730703489717491828e-02 3.589632691695655159e-02 1.727493393973110069e+05 -1.922440813951419580e-01 2.947051702551809536e+18 1.151284748186704593e-01 3.593492610268160525e-02 2.404138166965682467e+05 -2.265809449359138250e-01 2.947051702551809536e+18 1.359146568321671356e-01 3.593848417251439831e-02 3.346480871369202505e+05 -2.670507421371726142e-01 2.947051702551809536e+18 1.598550141290180082e-01 3.588338623051993970e-02 4.660878818040204351e+05 -3.147488810066778608e-01 2.947051702551809536e+18 1.888380659109064330e-01 3.587949384635591432e-02 6.496750064679337665e+05 -3.709664212206886247e-01 2.947051702551809536e+18 2.240057169178600316e-01 3.592536351315271659e-02 9.060378290364058921e+05 -4.372250196192620786e-01 2.947051702551809536e+18 2.650251518768252379e-01 3.591766824839235511e-02 1.265166471913808025e+06 -5.153181173433998286e-01 2.947051702551809536e+18 3.130581761488240855e-01 3.586418202701427416e-02 1.769729251327841310e+06 -6.073594834385067642e-01 2.947051702551809536e+18 3.722556496164110551e-01 3.587612533656452107e-02 2.481262616325874347e+06 -7.158404288682718164e-01 2.947051702551809536e+18 4.447753302683767895e-01 3.591401246968875527e-02 3.491893404409435112e+06 -8.436972395676662906e-01 2.947051702551809536e+18 5.322294898956865250e-01 3.591417354471972134e-02 4.938909678757043555e+06 -9.943906537655036182e-01 2.947051702551809536e+18 6.384154336484114678e-01 3.586231649593964177e-02 7.037274762567981146e+06 -1.171999534812844468e+00 2.947051702551809536e+18 7.760732814950827008e-01 3.590729458572220617e-02 1.013082124947994761e+07 -1.381331274987467994e+00 2.947051702551809536e+18 9.470213496611729065e-01 3.584872747993534531e-02 1.481039231397138536e+07 -1.628051918606947979e+00 2.947051702551809536e+18 1.175779432107224132e+00 3.590087771807298073e-02 2.217570569402753562e+07 -1.918839526531252559e+00 2.947051702551809536e+18 1.476271999468446339e+00 3.590914391541129985e-02 3.450360436268737912e+07 -2.261564933217340645e+00 2.947051702551809536e+18 1.883736138625601519e+00 3.592734315747169588e-02 5.749815119202743471e+07 -2.665504788930584290e+00 2.947051702551809536e+18 2.430747670249171488e+00 3.589127214305344593e-02 1.116316459519958049e+08 -3.141592653589792672e+00 2.947051702551809536e+18 3.141592653589792228e+00 3.561413203736756017e-02 1.055029612916412735e+10 -1.000000000000000021e-03 5.963623316594661376e+18 5.848107301051922932e-04 2.562931616892390185e-02 1.832023402442504434e+01 -1.178610770701415088e-03 5.963623316594661376e+18 6.892642467469244126e-04 2.562931616892390185e-02 2.558137032588276938e+01 -1.389123348813385214e-03 5.963623316594661376e+18 8.123743001501309170e-04 2.562931616892390185e-02 3.555057541484794825e+01 -1.637235740744274635e-03 5.963623316594661376e+18 9.574731574236971512e-04 2.562931616892390185e-02 4.947528786198130035e+01 -1.929663678218512032e-03 5.963623316594661376e+18 1.128488270016518883e-03 2.562931616892390185e-02 6.890219955402760377e+01 -2.274322394979648009e-03 5.963623316594661376e+18 1.330048583583697550e-03 2.562931616892390185e-02 9.584506408079460016e+01 -2.680540870770453925e-03 5.963623316594661376e+18 1.567609838190927880e-03 2.562931616892390185e-02 1.334098019800541124e+02 -3.159314341595407215e-03 5.963623316594661376e+18 1.847602252170450808e-03 2.562931616892390185e-02 1.853855112694004958e+02 -3.723601911035797143e-03 5.963623316594661376e+18 2.177604589938391625e-03 2.562931616892390185e-02 2.577734834116758407e+02 -4.388677318151167420e-03 5.963623316594661376e+18 2.566549330078242517e-03 2.563167486020317618e-02 3.586220333564365319e+02 -5.172542356305966961e-03 5.963623316594661376e+18 3.026438717414126154e-03 2.564679775258473654e-02 4.981461984761764370e+02 -6.096414133051489617e-03 5.963623316594661376e+18 3.573450731024308945e-03 2.567549909270161815e-02 6.928641399797611484e+02 -7.185299359870824139e-03 5.963623316594661376e+18 4.225246610836706079e-03 2.571736486136243227e-02 9.629324845430800224e+02 -8.468671216257736209e-03 5.963623316594661376e+18 5.001629694005935677e-03 2.577001007037231506e-02 1.339091260758435283e+03 -9.981267109010422481e-03 5.963623316594661376e+18 5.925853449315337564e-03 2.583121868361079598e-02 1.861370366490517426e+03 -1.176402891992746509e-02 5.963623316594661376e+18 6.903290136736918957e-03 2.572722647223416037e-02 2.588486159949645753e+03 -1.386521119186945317e-02 5.963623316594661376e+18 8.197201996854853318e-03 2.580831684275852050e-02 3.594591687953957717e+03 -1.634168724878715118e-02 5.963623316594661376e+18 9.620011265200635250e-03 2.577387514351721712e-02 4.998324335311312097e+03 -1.926048860285451206e-02 5.963623316594661376e+18 1.130350877886318259e-02 2.574766362157838995e-02 6.947128770130247176e+03 -2.270061931629619237e-02 5.963623316594661376e+18 1.342714447025823883e-02 2.582557041634317083e-02 9.662942829137651643e+03 -2.675519442777928719e-02 5.963623316594661376e+18 1.585825402622646416e-02 2.584621652258460578e-02 1.343397427485660955e+04 -3.153396032479117289e-02 5.963623316594661376e+18 1.864756934206283565e-02 2.582213301354868706e-02 1.869093526860191196e+04 -3.716626528166998983e-02 5.963623316594661376e+18 2.183965180181932086e-02 2.575776230965116931e-02 2.599647751436171529e+04 -4.380456056772231294e-02 5.963623316594661376e+18 2.574118973292007645e-02 2.575533125553348957e-02 3.615415941948178079e+04 -5.162852689096004283e-02 5.963623316594661376e+18 3.051484946971642215e-02 2.580917561197698315e-02 5.029177893925891112e+04 -6.084993786913318187e-02 5.963623316594661376e+18 3.598122953403498636e-02 2.581016280935877205e-02 6.995853261686787300e+04 -7.171839216907228975e-02 5.963623316594661376e+18 4.265686042931350619e-02 2.586489229970579881e-02 9.731086340526687854e+04 -8.452806946785666742e-02 5.963623316594661376e+18 4.988353753108857452e-02 2.578219547958687449e-02 1.353319013736541674e+05 -9.962569310141336509e-02 5.963623316594661376e+18 5.920005698971925190e-02 2.584598063038605342e-02 1.882645704285476531e+05 -1.174199149279194637e-01 5.963623316594661376e+18 6.940659116548078544e-02 2.578721185850704062e-02 2.618749332428190683e+05 -1.383923764288897684e-01 5.963623316594661376e+18 8.247490920232973532e-02 2.586227388411105679e-02 3.643465447630733834e+05 -1.631107454420542835e-01 5.963623316594661376e+18 9.693611766481789738e-02 2.582540397202571017e-02 5.069628493878023000e+05 -1.922440813951419580e-01 5.963623316594661376e+18 1.145167946736819209e-01 2.583797211163475771e-02 7.054703045017551631e+05 -2.265809449359138250e-01 5.963623316594661376e+18 1.349746554355362727e-01 2.582408842733600537e-02 9.821505268630804494e+05 -2.670507421371726142e-01 5.963623316594661376e+18 1.598447414238717279e-01 2.585420575401170887e-02 1.367806261037258897e+06 -3.147488810066778608e-01 5.963623316594661376e+18 1.889064294631099261e-01 2.585730479013546509e-02 1.906055874451641925e+06 -3.709664212206886247e-01 5.963623316594661376e+18 2.229071840802951399e-01 2.583592957701547760e-02 2.658278023572365288e+06 -4.372250196192620786e-01 5.963623316594661376e+18 2.642987571393488611e-01 2.585257821183201132e-02 3.712047733683120459e+06 -5.153181173433998286e-01 5.963623316594661376e+18 3.130593811801538062e-01 2.584225371066220869e-02 5.192735687817119993e+06 -6.073594834385067642e-01 5.963623316594661376e+18 3.712405285982408598e-01 2.582059879656295812e-02 7.282214676433522254e+06 -7.158404288682718164e-01 5.963623316594661376e+18 4.424247960081747477e-01 2.581950674051321920e-02 1.024858382701844350e+07 -8.436972395676662906e-01 5.963623316594661376e+18 5.314319768704318658e-01 2.586083193524120472e-02 1.449598507671760209e+07 -9.943906537655036182e-01 5.963623316594661376e+18 6.390524716482718359e-01 2.585266078952875440e-02 2.065332711529657245e+07 -1.171999534812844468e+00 5.963623316594661376e+18 7.744607958958008576e-01 2.584841337707990613e-02 2.973158552471916750e+07 -1.381331274987467994e+00 5.963623316594661376e+18 9.448111248102888382e-01 2.579913060361487334e-02 4.347529242208126932e+07 -1.628051918606947979e+00 5.963623316594661376e+18 1.173658450356057870e+00 2.584223185342036933e-02 6.509443134993976355e+07 -1.918839526531252559e+00 5.963623316594661376e+18 1.474166754308743998e+00 2.584952662569310264e-02 1.012696928701787591e+08 -2.261564933217340645e+00 5.963623316594661376e+18 1.881490872296520900e+00 2.585985646613158870e-02 1.686699371051936150e+08 -2.665504788930584290e+00 5.963623316594661376e+18 2.429264220504836924e+00 2.583421526507792207e-02 3.270858913433817625e+08 -3.141592653589792672e+00 5.963623316594661376e+18 3.141592653589792228e+00 2.562931616892390185e-02 3.043375562468286133e+10 -1.000000000000000021e-03 1.206792640639336243e+19 5.958259725205221433e-04 1.845350306317413216e-02 5.383046261061518578e+01 -1.178610770701415088e-03 1.206792640639336243e+19 7.022469297749182014e-04 1.845350306317413216e-02 7.477002540657915119e+01 -1.389123348813385214e-03 1.206792640639336243e+19 8.276758296680782100e-04 1.845350306317413216e-02 1.042111190341247777e+02 -1.637235740744274635e-03 1.206792640639336243e+19 9.755077040516488187e-04 1.845350306317413216e-02 1.450935177447624653e+02 -1.929663678218512032e-03 1.206792640639336243e+19 1.149743979492369320e-03 1.845350306317413216e-02 2.019589532755230721e+02 -2.274322394979648009e-03 1.206792640639336243e+19 1.355100789378477222e-03 1.845350306317413216e-02 2.812904721040972049e+02 -2.680540870770453925e-03 1.206792640639336243e+19 1.597136633951862662e-03 1.845350306317413216e-02 3.904416099342914208e+02 -3.159314341595407215e-03 1.206792640639336243e+19 1.882402845426603324e-03 1.845350306317413216e-02 5.433704604187753375e+02 -3.723601911035797143e-03 1.206792640639336243e+19 2.218620933740909386e-03 1.845350306317413216e-02 7.562826199761797170e+02 -4.388677318151167420e-03 1.206792640639336243e+19 2.614891617899948919e-03 1.845350306317413216e-02 1.051497175879836504e+03 -5.172542356305966961e-03 1.206792640639336243e+19 3.082018953166760535e-03 1.845933233114554345e-02 1.461222602678688418e+03 -6.096414133051489617e-03 1.206792640639336243e+19 3.636786209337814369e-03 1.847656149515396543e-02 2.031095017877336659e+03 -7.185299359870824139e-03 1.206792640639336243e+19 4.296743899182128498e-03 1.850288695272364614e-02 2.823564016488221569e+03 -8.468671216257736209e-03 1.206792640639336243e+19 5.081738901988977139e-03 1.853671373756403742e-02 3.924811735000794215e+03 -9.981267109010422481e-03 1.206792640639336243e+19 6.015418770359322147e-03 1.857702381314076806e-02 5.458004817673586331e+03 -1.176402891992746509e-02 1.206792640639336243e+19 7.125961683074883216e-03 1.862307858925091320e-02 7.588511276725847893e+03 -1.386521119186945317e-02 1.206792640639336243e+19 8.308384231308250586e-03 1.854799404758753975e-02 1.054248513363538223e+04 -1.634168724878715118e-02 1.206792640639336243e+19 9.770602784365678070e-03 1.853656405708772534e-02 1.465262155875278040e+04 -1.926048860285451206e-02 1.206792640639336243e+19 1.149396726769958549e-02 1.852500457432456824e-02 2.036932195703432080e+04 -2.270061931629619237e-02 1.206792640639336243e+19 1.365914783586427012e-02 1.858816804579267387e-02 2.834607207745216510e+04 -2.675519442777928719e-02 1.206792640639336243e+19 1.613726224684942576e-02 1.860651547566690225e-02 3.941863311017414526e+04 -3.153396032479117289e-02 1.206792640639336243e+19 1.898217198391511165e-02 1.859063212251745728e-02 5.480364225281815743e+04 -3.716626528166998983e-02 1.206792640639336243e+19 2.248860998415892071e-02 1.862900986793944794e-02 7.623451209264031786e+04 -4.380456056772231294e-02 1.206792640639336243e+19 2.647948873509299236e-02 1.861971201012770777e-02 1.060613959151979216e+05 -5.162852689096004283e-02 1.206792640639336243e+19 3.102498328782899578e-02 1.857212472600667033e-02 1.474912742371085915e+05 -6.084993786913318187e-02 1.206792640639336243e+19 3.656369768598032727e-02 1.856913291355583376e-02 2.051077361123633164e+05 -7.171839216907228975e-02 1.206792640639336243e+19 4.332973581020715254e-02 1.860830074045976765e-02 2.854070031040635658e+05 -8.452806946785666742e-02 1.206792640639336243e+19 5.111312705192345290e-02 1.861188691485858929e-02 3.969524326626358670e+05 -9.962569310141336509e-02 1.206792640639336243e+19 6.008242994483557753e-02 1.858759237035087497e-02 5.521461790935624158e+05 -1.174199149279194637e-01 1.206792640639336243e+19 7.099943082136817019e-02 1.860358105321506875e-02 7.680855388540936401e+05 -1.383923764288897684e-01 1.206792640639336243e+19 8.363646852035436230e-02 1.859424792853071190e-02 1.068542853988714283e+06 -1.631107454420542835e-01 1.206792640639336243e+19 9.900857915401473086e-02 1.862214555500113153e-02 1.486655564807973802e+06 -1.922440813951419580e-01 1.206792640639336243e+19 1.168898591183174379e-01 1.862730013473128804e-02 2.068954471669207327e+06 -2.265809449359138250e-01 1.206792640639336243e+19 1.376850997791096709e-01 1.861202916854360137e-02 2.880309537990803365e+06 -2.670507421371726142e-01 1.206792640639336243e+19 1.618843375704953069e-01 1.857914460533483317e-02 4.011253750849983655e+06 -3.147488810066778608e-01 1.206792640639336243e+19 1.924832117776039131e-01 1.863025243206440154e-02 5.589541088432684541e+06 -3.709664212206886247e-01 1.206792640639336243e+19 2.270151629593861187e-01 1.861064650361660133e-02 7.795257937464385293e+06 -4.372250196192620786e-01 1.206792640639336243e+19 2.690456813550862192e-01 1.862108638877790767e-02 1.088500289874964580e+07 -5.153181173433998286e-01 1.206792640639336243e+19 3.185437043898444731e-01 1.861119384249293809e-02 1.522610860532457940e+07 -6.073594834385067642e-01 1.206792640639336243e+19 3.791225189183399791e-01 1.862688531294704256e-02 2.135135164866527915e+07 -7.158404288682718164e-01 1.206792640639336243e+19 4.513494892579530959e-01 1.862103403065947654e-02 3.004613163293391466e+07 -8.436972395676662906e-01 1.206792640639336243e+19 5.382190796882945216e-01 1.859473313936373454e-02 4.249285065151771903e+07 -9.943906537655036182e-01 1.206792640639336243e+19 6.474616488433357908e-01 1.859706272445673172e-02 6.052751034810534120e+07 -1.171999534812844468e+00 1.206792640639336243e+19 7.842734440142108410e-01 1.859622248470548314e-02 8.711685198707213998e+07 -1.381331274987467994e+00 1.206792640639336243e+19 9.575357372604382800e-01 1.857883563020555628e-02 1.273327842995916605e+08 -1.628051918606947979e+00 1.206792640639336243e+19 1.185957961745356615e+00 1.860076850544617813e-02 1.905500359880422056e+08 -1.918839526531252559e+00 1.206792640639336243e+19 1.486935476697898162e+00 1.860836802968826240e-02 2.961999420322479010e+08 -2.261564933217340645e+00 1.206792640639336243e+19 1.893231627908976034e+00 1.861947917604064515e-02 4.927031016880060434e+08 -2.665504788930584290e+00 1.206792640639336243e+19 2.438292512878780904e+00 1.862621069400057644e-02 9.531925375569337606e+08 -3.141592653589792672e+00 1.206792640639336243e+19 3.141592653589792228e+00 1.845350306317413216e-02 8.766444744658219910e+10 -1.000000000000000021e-03 2.442053094548654899e+19 5.897793377326753959e-04 1.299438459160889500e-02 1.569297867959757014e+02 -1.178610770701415088e-03 2.442053094548654899e+19 6.951203010751581032e-04 1.299438459160889500e-02 2.179405761526555807e+02 -1.389123348813385214e-03 2.442053094548654899e+19 8.192763086310504792e-04 1.299438459160889500e-02 3.035605159977833978e+02 -1.637235740744274635e-03 2.442053094548654899e+19 9.656079385917963522e-04 1.299438459160889500e-02 4.231114484313023354e+02 -1.929663678218512032e-03 2.442053094548654899e+19 1.138076010117698147e-03 1.299438459160889500e-02 5.883662650224233630e+02 -2.274322394979648009e-03 2.442053094548654899e+19 1.341348796349913983e-03 1.299438459160889500e-02 8.181153586804189217e+02 -2.680540870770453925e-03 2.442053094548654899e+19 1.580928389057827078e-03 1.299438459160889500e-02 1.139211421759798213e+03 -3.159314341595407215e-03 2.442053094548654899e+19 1.863299637035410001e-03 1.299438459160889500e-02 1.585298160344250846e+03 -3.723601911035797143e-03 2.442053094548654899e+19 2.196105692494842998e-03 1.299438459160889500e-02 2.202874707216669776e+03 -4.388677318151167420e-03 2.442053094548654899e+19 2.588354921752788421e-03 1.299599284097089323e-02 3.062924914424931103e+03 -5.172542356305966961e-03 2.442053094548654899e+19 3.052363654215245123e-03 1.300466505422596085e-02 4.253495036415292816e+03 -6.096414133051489617e-03 2.442053094548654899e+19 3.604194797852464886e-03 1.302050825822649235e-02 5.919309229944445178e+03 -7.185299359870824139e-03 2.442053094548654899e+19 4.261557785894528293e-03 1.304331420767883450e-02 8.229776221908938169e+03 -8.468671216257736209e-03 2.442053094548654899e+19 5.043934513163860281e-03 1.307139005449622221e-02 1.142890415530116115e+04 -9.981267109010422481e-03 2.442053094548654899e+19 5.974835115263654045e-03 1.310388457164764903e-02 1.591461518393572442e+04 -1.176402891992746509e-02 2.442053094548654899e+19 6.960089416819417556e-03 1.304665120243514442e-02 2.210336577466045856e+04 -1.386521119186945317e-02 2.442053094548654899e+19 8.262880436042566862e-03 1.308987192289239390e-02 3.073084169813178596e+04 -1.634168724878715118e-02 2.442053094548654899e+19 9.747805508470534785e-03 1.309825180691402864e-02 4.269175749210758659e+04 -1.926048860285451206e-02 2.442053094548654899e+19 1.148642262678186213e-02 1.309874739082282115e-02 5.938592664387269906e+04 -2.270061931629619237e-02 2.442053094548654899e+19 1.347713049822387398e-02 1.307513626639618398e-02 8.256733519073658681e+04 -2.675519442777928719e-02 2.442053094548654899e+19 1.594895214290180385e-02 1.309687917560211842e-02 1.148512392569153744e+05 -3.153396032479117289e-02 2.442053094548654899e+19 1.879161468751988986e-02 1.309436493562858399e-02 1.596640324654500291e+05 -3.716626528166998983e-02 2.442053094548654899e+19 2.202550121154998181e-02 1.306333821005184644e-02 2.221603299691924476e+05 -4.380456056772231294e-02 2.442053094548654899e+19 2.598164608874458867e-02 1.306644995655486738e-02 3.090112885538323317e+05 -5.162852689096004283e-02 2.442053094548654899e+19 3.081269532278161499e-02 1.309833732041847457e-02 4.298616533220026758e+05 -6.084993786913318187e-02 2.442053094548654899e+19 3.635116530858083922e-02 1.310175995011490964e-02 5.978061292055736994e+05 -7.171839216907228975e-02 2.442053094548654899e+19 4.269582234994420689e-02 1.308081918513707975e-02 8.315960296682763146e+05 -8.452806946785666742e-02 2.442053094548654899e+19 5.043203862570893453e-02 1.309037192134938909e-02 1.156667119428235572e+06 -9.962569310141336509e-02 2.442053094548654899e+19 5.934588497981493210e-02 1.307904414562883859e-02 1.608934202221580083e+06 -1.174199149279194637e-01 2.442053094548654899e+19 7.020095315010817238e-02 1.309577372953488715e-02 2.237993158372449689e+06 -1.383923764288897684e-01 2.442053094548654899e+19 8.277317648841245323e-02 1.309418237388348602e-02 3.113397033725450747e+06 -1.631107454420542835e-01 2.442053094548654899e+19 9.807018417542973099e-02 1.311852704513992093e-02 4.331979041772708297e+06 -1.922440813951419580e-01 2.442053094548654899e+19 1.150426227762305492e-01 1.308644694515441638e-02 6.028539850072386675e+06 -2.265809449359138250e-01 2.442053094548654899e+19 1.365740952939151764e-01 1.311899138666531781e-02 8.391819061129115522e+06 -2.670507421371726142e-01 2.442053094548654899e+19 1.606874421920351792e-01 1.309920478417666255e-02 1.168651366346251033e+07 -3.147488810066778608e-01 2.442053094548654899e+19 1.899721311958894876e-01 1.310308951439451142e-02 1.628462253807693906e+07 -3.709664212206886247e-01 2.442053094548654899e+19 2.242309927378718093e-01 1.309330125853633460e-02 2.271004132347832620e+07 -4.372250196192620786e-01 2.442053094548654899e+19 2.659271546682382414e-01 1.310392043590350060e-02 3.170980178191770986e+07 -5.153181173433998286e-01 2.442053094548654899e+19 3.150578911633061252e-01 1.309995142216847236e-02 4.435354872974613309e+07 -6.073594834385067642e-01 2.442053094548654899e+19 3.751912360057842455e-01 1.311341509195326424e-02 6.219122909780056775e+07 -7.158404288682718164e-01 2.442053094548654899e+19 4.468807472198244590e-01 1.311077084313848340e-02 8.750699436529979110e+07 -8.436972395676662906e-01 2.442053094548654899e+19 5.331037614577368577e-01 1.309281524142898862e-02 1.237379115592408627e+08 -9.943906537655036182e-01 2.442053094548654899e+19 6.413755889888457240e-01 1.309258383629135526e-02 1.762159791545533836e+08 -1.171999534812844468e+00 2.442053094548654899e+19 7.805044676088512823e-01 1.311985719494727747e-02 2.535503175147565305e+08 -1.381331274987467994e+00 2.442053094548654899e+19 9.523019592745196604e-01 1.309900658803016087e-02 3.704405153005675673e+08 -1.628051918606947979e+00 2.442053094548654899e+19 1.180738685908508057e+00 1.311629499678444548e-02 5.540215733804483414e+08 -1.918839526531252559e+00 2.442053094548654899e+19 1.479565182175099025e+00 1.310678301539663221e-02 8.604649597081292868e+08 -2.261564933217340645e+00 2.442053094548654899e+19 1.885460074649182527e+00 1.310495764919796836e-02 1.429539690657436371e+09 -2.665504788930584290e+00 2.442053094548654899e+19 2.433699678017660961e+00 1.311477882120364903e-02 2.760470319309882164e+09 -3.141592653589792672e+00 2.442053094548654899e+19 3.141592653589792228e+00 1.299438459160889500e-02 2.524954599497030945e+11 -1.000000000000000021e-03 4.941713361323818189e+19 5.951798440582335053e-04 9.173172958610588748e-03 4.534615239516027145e+02 -1.178610770701415088e-03 4.941713361323818189e+19 7.014853958546257272e-04 9.173172958610588748e-03 6.311213428718838259e+02 -1.389123348813385214e-03 4.941713361323818189e+19 8.267782776604168122e-04 9.173172958610588748e-03 8.795506050002845768e+02 -1.637235740744274635e-03 4.941713361323818189e+19 9.744498397077540211e-04 9.173172958610588748e-03 1.223657640197951423e+03 -1.929663678218512032e-03 4.941713361323818189e+19 1.148497169378526889e-03 9.173172958610588748e-03 1.702909244607199071e+03 -2.274322394979648009e-03 4.941713361323818189e+19 1.353631285869874752e-03 9.173172958610588748e-03 2.372502516236482279e+03 -2.680540870770453925e-03 4.941713361323818189e+19 1.595404661813924329e-03 9.173172958610588748e-03 3.299971168608532935e+03 -3.159314341595407215e-03 4.941713361323818189e+19 1.880361525269633226e-03 9.173172958610588748e-03 4.585871528627565567e+03 -3.723601911035797143e-03 4.941713361323818189e+19 2.216215013224427308e-03 9.173172958610588748e-03 6.377872382829736125e+03 -4.388677318151167420e-03 4.941713361323818189e+19 2.612055976369316839e-03 9.173717151937850825e-03 8.865512003638083115e+03 -5.172542356305966961e-03 4.941713361323818189e+19 3.079489898361848377e-03 9.178714505008046809e-03 1.232415325606354418e+04 -6.096414133051489617e-03 4.941713361323818189e+19 3.635013150231174162e-03 9.188839119451041801e-03 1.711892642173179411e+04 -7.185299359870824139e-03 4.941713361323818189e+19 4.296069403543898400e-03 9.203577493089708933e-03 2.383740770830465408e+04 -8.468671216257736209e-03 4.941713361323818189e+19 5.082783945870481337e-03 9.222273238395082770e-03 3.310759061980182014e+04 -9.981267109010422481e-03 4.941713361323818189e+19 6.019179239509523695e-03 9.244489948949503877e-03 4.599907371348521701e+04 -1.176402891992746509e-02 4.941713361323818189e+19 7.011326022795230997e-03 9.203204073979724675e-03 6.393516287282384292e+04 -1.386521119186945317e-02 4.941713361323818189e+19 8.322876871912701646e-03 9.233865608473175446e-03 8.888418129098291683e+04 -1.634168724878715118e-02 4.941713361323818189e+19 9.823738618501626912e-03 9.241850807563997683e-03 1.235913079706874560e+05 -1.926048860285451206e-02 4.941713361323818189e+19 1.158216109947280553e-02 9.244276625041469159e-03 1.719199307740585064e+05 -2.270061931629619237e-02 4.941713361323818189e+19 1.358845230477631096e-02 9.227063825798133626e-03 2.390398570269716729e+05 -2.675519442777928719e-02 4.941713361323818189e+19 1.607717589156200388e-02 9.241899218867196536e-03 3.323883411308258655e+05 -3.153396032479117289e-02 4.941713361323818189e+19 1.894178541017052173e-02 9.239950947397693529e-03 4.623436043629662599e+05 -3.716626528166998983e-02 4.941713361323818189e+19 2.246759104643009791e-02 9.264157691558088867e-03 6.429854253322997829e+05 -4.380456056772231294e-02 4.941713361323818189e+19 2.648283642535768923e-02 9.263557809790441688e-03 8.943786469096251531e+05 -5.162852689096004283e-02 4.941713361323818189e+19 3.106149787151274780e-02 9.243254612529918507e-03 1.243826729924431769e+06 -6.084993786913318187e-02 4.941713361323818189e+19 3.663773041618878512e-02 9.245021594978117957e-03 1.730310264954048209e+06 -7.171839216907228975e-02 4.941713361323818189e+19 4.303329536573986119e-02 9.230074309243444658e-03 2.407107468121768441e+06 -8.452806946785666742e-02 4.941713361323818189e+19 5.082718920508427773e-02 9.236738811629962437e-03 3.347816679807349108e+06 -9.962569310141336509e-02 4.941713361323818189e+19 6.032262411887669845e-02 9.262338642217643817e-03 4.657292429346937686e+06 -1.174199149279194637e-01 4.941713361323818189e+19 7.073580418951487536e-02 9.239882042361469844e-03 6.477772667829633690e+06 -1.383923764288897684e-01 4.941713361323818189e+19 8.339710421762970560e-02 9.238470210324690318e-03 9.011957316667556763e+06 -1.631107454420542835e-01 4.941713361323818189e+19 9.880567504979852200e-02 9.255859959552093993e-03 1.253898448725715093e+07 -1.922440813951419580e-01 4.941713361323818189e+19 1.167258710814012695e-01 9.261056292989629235e-03 1.744953557880868390e+07 -2.265809449359138250e-01 4.941713361323818189e+19 1.375789806079745492e-01 9.255791563376204387e-03 2.428995432031864300e+07 -2.670507421371726142e-01 4.941713361323818189e+19 1.618426947357298751e-01 9.241021486848532279e-03 3.382856833768209815e+07 -3.147488810066778608e-01 4.941713361323818189e+19 1.913161222531390149e-01 9.243489475259101737e-03 4.713407888346563280e+07 -3.709664212206886247e-01 4.941713361323818189e+19 2.271722148859033896e-01 9.260974049231452190e-03 6.573034678103487194e+07 -4.372250196192620786e-01 4.941713361323818189e+19 2.677641025110971129e-01 9.243805399544178028e-03 9.177645616185104847e+07 -5.153181173433998286e-01 4.941713361323818189e+19 3.189834551905088578e-01 9.264161724030680820e-03 1.283657817082408518e+08 -6.073594834385067642e-01 4.941713361323818189e+19 3.776827848554867306e-01 9.250241641622154037e-03 1.799825242163156271e+08 -7.158404288682718164e-01 4.941713361323818189e+19 4.497940168250132986e-01 9.248402323659015573e-03 2.532286590048477650e+08 -8.436972395676662906e-01 4.941713361323818189e+19 5.391693078186816646e-01 9.257673975202085001e-03 3.580391663572335839e+08 -9.943906537655036182e-01 4.941713361323818189e+19 6.482920120844598566e-01 9.256906346173486219e-03 5.098181305362725854e+08 -1.171999534812844468e+00 4.941713361323818189e+19 7.846312346203097032e-01 9.252710019173484776e-03 7.334231116348916292e+08 -1.381331274987467994e+00 4.941713361323818189e+19 9.574345844074420020e-01 9.240775586816898576e-03 1.071270969485481977e+09 -1.628051918606947979e+00 4.941713361323818189e+19 1.186069870177920205e+00 9.252646776042918950e-03 1.601612962728900909e+09 -1.918839526531252559e+00 4.941713361323818189e+19 1.487398584573210947e+00 9.258323861356587345e-03 2.486338957455147743e+09 -2.261564933217340645e+00 4.941713361323818189e+19 1.893719797611683298e+00 9.264316008006593522e-03 4.128096335364397049e+09 -2.665504788930584290e+00 4.941713361323818189e+19 2.436980990083846166e+00 9.252556167152842237e-03 7.964587668872081757e+09 -3.141592653589792672e+00 4.941713361323818189e+19 3.141592653589792228e+00 9.173172958610588748e-03 7.271635885843306885e+11 -1.000000000000000021e-03 1.000000000000000000e+20 5.992505438697073644e-04 6.465452278349664503e-03 1.309519888440324166e+03 -1.178610770701415088e-03 1.000000000000000000e+20 7.062831663854818223e-04 6.465452278349664503e-03 1.818336846533270091e+03 -1.389123348813385214e-03 1.000000000000000000e+20 8.324329815013128703e-04 6.465452278349664503e-03 2.535342886250961328e+03 -1.637235740744274635e-03 1.000000000000000000e+20 9.811145342615793657e-04 6.465452278349664503e-03 3.538274002476583973e+03 -1.929663678218512032e-03 1.000000000000000000e+20 1.156352249674907082e-03 6.465452278349664503e-03 4.907354216321262356e+03 -2.274322394979648009e-03 1.000000000000000000e+20 1.362889367312625135e-03 6.465452278349664503e-03 6.836357665884447670e+03 -2.680540870770453925e-03 1.000000000000000000e+20 1.606316335009757776e-03 6.465452278349664503e-03 9.494809270617039147e+03 -3.159314341595407215e-03 1.000000000000000000e+20 1.893222138682090728e-03 6.465452278349664503e-03 1.323706620438982827e+04 -3.723601911035797143e-03 1.000000000000000000e+20 2.231372667202353825e-03 6.465452278349664503e-03 1.837399573981811045e+04 -4.388677318151167420e-03 1.000000000000000000e+20 2.629920944863126109e-03 6.465452278349664503e-03 2.555764382769310760e+04 -5.172542356305966961e-03 1.000000000000000000e+20 3.100142628042785922e-03 6.468407762451149762e-03 3.554653226776006341e+04 -6.096414133051489617e-03 1.000000000000000000e+20 3.658677988570935118e-03 6.475085625584071740e-03 4.941824903334675764e+04 -7.185299359870824139e-03 1.000000000000000000e+20 4.323117094976866234e-03 6.485032420519672852e-03 6.868241801461461000e+04 -8.468671216257736209e-03 1.000000000000000000e+20 5.113683783126665890e-03 6.497816947956504968e-03 9.555100785048010584e+04 -9.981267109010422481e-03 1.000000000000000000e+20 6.054176553228335193e-03 6.513016021611335929e-03 1.327158757228968898e+05 -1.176402891992746509e-02 1.000000000000000000e+20 7.172845449861200984e-03 6.530289030809090407e-03 1.844561249858483498e+05 -1.386521119186945317e-02 1.000000000000000000e+20 8.365372343945664743e-03 6.503439496088120851e-03 2.565008989164398226e+05 -1.634168724878715118e-02 1.000000000000000000e+20 9.870760828349615587e-03 6.508277449534114606e-03 3.564649981425270089e+05 -1.926048860285451206e-02 1.000000000000000000e+20 1.163403534396995238e-02 6.509169808360143993e-03 4.956692746668186155e+05 -2.270061931629619237e-02 1.000000000000000000e+20 1.364776733917326228e-02 6.496565657105347717e-03 6.893927659185710363e+05 -2.675519442777928719e-02 1.000000000000000000e+20 1.615476065517412393e-02 6.508395179790671219e-03 9.587210393979309592e+05 -3.153396032479117289e-02 1.000000000000000000e+20 1.902927157593008178e-02 6.506444986810766898e-03 1.333160798165093875e+06 -3.716626528166998983e-02 1.000000000000000000e+20 2.256907976336882879e-02 6.523447966598750619e-03 1.854603987601716770e+06 -4.380456056772231294e-02 1.000000000000000000e+20 2.660063341725981204e-02 6.522837489614193886e-03 2.579820826828490477e+06 -5.162852689096004283e-02 1.000000000000000000e+20 3.119415360086623054e-02 6.507873676197569249e-03 3.588355691617295146e+06 -6.084993786913318187e-02 1.000000000000000000e+20 3.679310869736372724e-02 6.509061162486706395e-03 4.990866253337032162e+06 -7.171839216907228975e-02 1.000000000000000000e+20 4.362567031549321322e-02 6.525017513205617903e-03 6.941971463185235858e+06 -8.452806946785666742e-02 1.000000000000000000e+20 5.149583776539624902e-02 6.528214122060890974e-03 9.655220895556047559e+06 -9.962569310141336509e-02 1.000000000000000000e+20 6.056765898996973457e-02 6.520947481159224471e-03 1.343097121992445178e+07 -1.174199149279194637e-01 1.000000000000000000e+20 7.160718665279112993e-02 6.528248055244591404e-03 1.868127658018256351e+07 -1.383923764288897684e-01 1.000000000000000000e+20 8.438440393604236534e-02 6.525923083030842932e-03 2.599191428282530978e+07 -1.631107454420542835e-01 1.000000000000000000e+20 9.918458380293750098e-02 6.515738381070074019e-03 3.616433814182977378e+07 -1.922440813951419580e-01 1.000000000000000000e+20 1.171727280864218179e-01 6.519447029157883836e-03 5.032312054672845453e+07 -2.265809449359138250e-01 1.000000000000000000e+20 1.380935198223403049e-01 6.515465568790660203e-03 7.005569777625328302e+07 -2.670507421371726142e-01 1.000000000000000000e+20 1.635124768285304009e-01 6.523780970963208130e-03 9.756602196958927810e+07 -3.147488810066778608e-01 1.000000000000000000e+20 1.932342829717939026e-01 6.524862639265239898e-03 1.359401113958661556e+08 -3.709664212206886247e-01 1.000000000000000000e+20 2.279865046351703395e-01 6.518856273554157581e-03 1.895723455475260317e+08 -4.372250196192620786e-01 1.000000000000000000e+20 2.702685596358958553e-01 6.523539544780476880e-03 2.646888770371130407e+08 -5.153181173433998286e-01 1.000000000000000000e+20 3.200681796905801013e-01 6.520763552573924718e-03 3.702092053555925488e+08 -6.073594834385067642e-01 1.000000000000000000e+20 3.809811208128224824e-01 6.527050887125664981e-03 5.190619242595094442e+08 -7.158404288682718164e-01 1.000000000000000000e+20 4.535772734153383223e-01 6.525292908432707775e-03 7.302810551737514734e+08 -8.436972395676662906e-01 1.000000000000000000e+20 5.408565858594120979e-01 6.515957047078558238e-03 1.032501516974987388e+09 -9.943906537655036182e-01 1.000000000000000000e+20 6.503880803059698401e-01 6.516162141639214936e-03 1.470121402230081797e+09 -1.171999534812844468e+00 1.000000000000000000e+20 7.873327091485826656e-01 6.514539066138439957e-03 2.114766508546290874e+09 -1.381331274987467994e+00 1.000000000000000000e+20 9.654160586415450052e-01 6.526099326838194145e-03 3.088628165045416832e+09 -1.628051918606947979e+00 1.000000000000000000e+20 1.188951687394800283e+00 6.513228216136965343e-03 4.617094553902939796e+09 -1.918839526531252559e+00 1.000000000000000000e+20 1.493206802004075184e+00 6.528028395720855345e-03 7.166381735669606209e+09 -2.261564933217340645e+00 1.000000000000000000e+20 1.897910772441658844e+00 6.528028665055515822e-03 1.189581142217249489e+10 -2.665504788930584290e+00 1.000000000000000000e+20 2.440856325871173294e+00 6.527409943456994462e-03 2.294483893898607635e+10 -3.141592653589792672e+00 1.000000000000000000e+20 3.141592653589792228e+00 6.465452278349664503e-03 2.094984678806713135e+12 diff --git a/Documentation/RKcompare/compare.ipynb b/Documentation/RKcompare/compare.ipynb deleted file mode 100644 index adbae3f..0000000 --- a/Documentation/RKcompare/compare.ipynb +++ /dev/null @@ -1,2146 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "import numpy as np\n", - "# import FT as FT\n", - "\n", - "\n", - "import matplotlib\n", - "#matplotlib.use('WebAgg')\n", - "#matplotlib.use('Qt4Cairo')\n", - "#matplotlib.use('Qt5Cairo')\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.FT import FT #easy tick formatting" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "DormandPrince=np.loadtxt('DormandPrince.dat')\n", - "RODASPR2=np.loadtxt('RODASPR2.dat')\n", - "ROS34PW2=np.loadtxt('ROS34PW2.dat')\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " \n", - " _ch=DormandPrince[:,0]==DormandPrince[0,0] \n", - " \n", - " sub.plot(DormandPrince[_ch][:,1],DormandPrince[_ch][:,4],linestyle='-',linewidth=2,alpha=1,c='xkcd:black',label=r\"DormandPrince\")\n", - " sub.plot(RODASPR2[_ch][:,1],RODASPR2[_ch][:,4],linestyle='--',linewidth=2,alpha=1,c='xkcd:red',label=r\"RODASPR2\")\n", - " sub.plot(ROS34PW2[_ch][:,1],ROS34PW2[_ch][:,4],linestyle=':',linewidth=2,alpha=1,c='xkcd:gray',label=r\"ROS34PW2\")\n", - " \n", - " \n", - " sub.set_xlabel(r'$f_\\alpha ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.12) \n", - " sub.set_ylabel(r'$ \\Omega h^2 $')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " \n", - " sub.legend(bbox_to_anchor=(0.02, 0.9),borderaxespad=0., \n", - " borderpad=0,ncol=1,loc='upper left',fontsize=10,framealpha=0)\n", - "\n", - " #set major ticks\n", - " _M_xticks=[ 10.**i for i in range(5,21,3) ]\n", - " _M_yticks=[ 10.**i for i in range(-15,4,3) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=1e5,xmax=1e20,ymin=1e-15,ymax=1e3,xscale='log',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - "# _ch=DormandPrince[:,0]==DormandPrince[-1,0] #theta_i = pi\n", - "# sub.text(1e6,9, r'$\\theta_i = \\pi$', fontsize=12) \n", - "\n", - " _ch=DormandPrince[:,0]==DormandPrince[0,0] #theta_i = 1e-3\n", - " sub.text(1e6,9, r'$\\theta_i = 10^{-3}$', fontsize=12) \n", - " \n", - " Y=np.abs((DormandPrince[:,4]-RODASPR2[:,4])/RODASPR2[:,4])*100.\n", - " sub.plot(DormandPrince[:,1][_ch],Y[_ch],linestyle='-',linewidth=2,alpha=1,c='xkcd:black',label=r\"Dormand Prince vs RODASPR2\")\n", - "# sub.scatter(DormandPrince[:,1],Y,marker='o',s=5,alpha=1,facecolor='xkcd:black',edgecolor='xkcd:black',label=r\"Dormand Prince vs RODASPR2\")\n", - " \n", - " Y=np.abs((ROS34PW2[:,4]-RODASPR2[:,4])/RODASPR2[:,4])*100.\n", - " sub.plot(ROS34PW2[:,1][_ch],Y[_ch],linestyle='-',linewidth=2,alpha=1,c='xkcd:red',label=r\"ROS34PW2 vs RODASPR2\")\n", - "# sub.scatter(ROS34PW2[:,1],Y,marker='o',s=5,alpha=0.5,facecolor='xkcd:white',edgecolor='xkcd:red',label=r\"ROS34PW2 vs RODASPR2\")\n", - " \n", - " \n", - " sub.set_xlabel(r'$f_\\alpha ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.1) \n", - " sub.set_ylabel(r'$\\left| \\dfrac{\\delta \\Omega}{\\Omega} \\right| \\%$')\n", - " sub.yaxis.set_label_coords(-0.12,0.5) \n", - " \n", - " sub.legend(bbox_to_anchor=(0.95, 0.95),borderaxespad=0., \n", - " borderpad=0,ncol=1,loc='upper right',fontsize=10,framealpha=0)\n", - "\n", - " #set major ticks\n", - " _M_xticks=[ 10.**i for i in range(5,21,3) ]\n", - " _M_yticks=[ i for i in range(0,11,2) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=1e5,xmax=1e20,ymin=0,ymax=1e1,xscale='log',yscale='linear')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " fig.savefig('Solvers_rel_diffs.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Documentation/Tex/JHEP.bst b/Documentation/Tex/JHEP.bst deleted file mode 100644 index 83a5a88..0000000 --- a/Documentation/Tex/JHEP.bst +++ /dev/null @@ -1,1107 +0,0 @@ -% UT Physics bibliographic style, ver. 1.2.1 Based on: -% -%X IEEE Transactions bibliography style (29-Jan-88 version) -%X numeric labels, order-of-reference, IEEE abbreviations, -%X quotes around article titles, commas separate all fields -%X except after book titles and before "notes". Otherwise, -%X much like the "plain" family, from which this is adapted. -%X -%X History -%X 9/30/85 (HWT) Original version, by Howard Trickey. -%X 1/29/88 (OP&HWT) Updated for BibTeX version 0.99a, Oren Patashnik; -%X THIS `ieeetr' VERSION DOES NOT WORK WITH BIBTEX 0.98i. -% -% Modifications: 1) added hypertex support and "archive" and "eprint" fields. -% 2) parentheses around dates, and no "pp." for article entries -% 3) "publisher, address" instead of "address: publisher" -% 4) added "report" field for article entries. -% 5) particle physics-oriented abbreviations, rather than ieee. -% 6) added "collaboration" field, as per -% Jonathan Flynn' suggestion. SPIRES now supports this field. -% 7) added support for new arXIv identifier format -% 8) minor corrections (mg 27/2/2012) -% 9) arXiv links point to arxiv.org and not to xxx.lanl.gov (08/2014) -% -% Modified by Jacques Distler, 7/97 -% History: ver 1.0 9/96 -% ver 1.1 10/96 - added "collaboration" field -% ver 1.2 7/97 - added a "\providecommand{\href}[2]{#2}" -% to handle case where \href is not defined -% -% HyperTeX Wizardry: -% -% The following are equivalent: -% archive = "hep-th" -% eprint = "9605023" -% and -% eprint = "hep-th/9605023" -% both produce -% \href{http://arxiv.org/abs/hep-th/9605023}{{\tt hep-th/9605023}} -% in the bibliographic output at the appropriate point. If you are using a -% hypertex macropackage, like hyperref.sty, this will create a link to Los -% Alamos. -% -% The bibtex output produced by SPIRES, while far from perfect, is pretty -% suitable for use with this style. Indeed, this style was designed with -% SPIRES in mind. - -ENTRY - { address - author - booktitle - chapter - edition - editor - howpublished - institution - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - volume - year - archive - eprint - report - collaboration - } - {} - { label } - -INTEGERS { output.state before.all mid.sentence after.quote after.sentence - after.quoted.block after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.quote := - #3 'after.sentence := - #4 'after.quoted.block := - #5 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.quote = - { " " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { output.state after.quoted.block = - { write$ - newline$ - "\newblock " write$ - } - { add.period$ " " * write$ } - if$ - } - if$ - } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem{" write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {blank.sep} -{ after.quote 'output.state := -} - -FUNCTION {fin.entry} -{ output.state after.quoted.block = - 'skip$ - 'add.period$ - if$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { output.state after.quote = - { after.quoted.block 'output.state := } - { after.block 'output.state := } - if$ - } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "{\em " swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - - -FUNCTION {format.eprint.newarXivid} -{ eprint #1 #6 substring$ "arXiv:" = -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%This produces wrong links if there if the arxiv code has 10 characters -% {"\href{http://arxiv.org/abs/" eprint #7 #9 substring$ * "}" * -% "{{\tt " * eprint #7 #9 substring$ * "}}" *} -% {"\href{http://arxiv.org/abs/" eprint #1 #9 substring$ * "}" * -% "{{\tt arXiv:" * eprint #1 #9 substring$ * "}}" *} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%I've used #10 instead of #9 and it works - {"\href{http://arxiv.org/abs/" eprint #7 #10 substring$ * "}" * - "{{\tt " * eprint #7 #10 substring$ * "}}" *} - {"\href{http://arxiv.org/abs/" eprint #1 #10 substring$ * "}" * - "{{\tt arXiv:" * eprint #1 #10 substring$ * "}}" *} - if$ -} - -FUNCTION {format.eprint.oldarXivid} -{ archive empty$ - {"\href{http://arxiv.org/abs/" eprint * "}" * - "{{\tt " * eprint * "}}" *} - {"\href{http://arxiv.org/abs/" archive * "/" * eprint * "}" * - "{{\tt " * archive * "/" * eprint * "}}" *} - if$ -} - - -FUNCTION {format.eprint} -{ eprint empty$ - { ""} - { eprint #1 #6 substring$ "arXiv:" = - eprint #5 #1 substring$ "." = - or - { format.eprint.newarXivid } - { format.eprint.oldarXivid } - if$ - } - if$ -} - - -FUNCTION {format.eprint.paren} -{ eprint missing$ { "" } { eprint empty$ { "" } {"[" format.eprint * "]" *} - if$ - } - if$ -} - - - -FUNCTION {format.report} -{ report empty$ - { ""} - { report} - if$ -} - - - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { ", eds." * } - { ", ed." * } - if$ - } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { "{\it " title "t" change.case$ * "}, " * } - if$ -} - -FUNCTION {format.title.p} -{ title empty$ - { "" } - { "``" title "t" change.case$ * ".''" * } - if$ -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.date} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { month empty$ - 'year - { month ", " * year * } - if$ - } - if$ -} - -FUNCTION {format.date.paren} -{ year empty$ - { month empty$ - { "" } - { "there's a month but no year in " cite$ * warning$ - month - } - if$ - } - { month empty$ - {"(" year * ")" *} - {"(" month * ", " * year * ")" *} - if$ - } - if$ -} - -FUNCTION {format.collaboration} -{ collaboration empty$ - { "" } - { "{\bf " collaboration * "} " * "Collaboration" * } - if$ -} - - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "vol.~" volume * - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "no.~" } - { "No.~" } - if$ - number * - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { edition "l" change.case$ "~ed." * } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp.~" pages n.dashify * } - { "p.~" pages * } - if$ - } - if$ -} - -FUNCTION {format.pages.nopp} -{ pages empty$ - { "" } - { pages multi.page.check - { pages n.dashify } - { pages } - if$ - } - if$ -} - - -FUNCTION {format.volume} -{ volume empty$ - { "" } - { "{\bf " volume * "}" * } - if$ -} - -FUNCTION {format.number} -{ number empty$ - { "" } - { "no.~" number * } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "ch.~" chapter * } - { type "l" change.case$ chapter tie.or.space.connect } - if$ - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { "in " booktitle emphasize * - editor empty$ - 'skip$ - { " (" * format.editors * ")" * } - if$ - } - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - output.state after.block = - { type "t" change.case$ } - { type "l" change.case$ } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Tech. Rep." } - 'type - if$ - number empty$ - { "l" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.paddress} -{ address empty$ - { "" } - { "(" address * ")" * } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "in {\em " journal * "\/}" * } - if$ - } - { "in " key * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.crossref.editor} -{ editor #1 "{vv~}{ll}" format.name$ - editor num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Vol.~" volume * - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { "{\em " * series * "\/}" * } - if$ - } - { key * } - if$ - } - { format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "in {\em " booktitle * "\/}" * } - if$ - } - { "in " key * } - if$ - } - { "in " format.crossref.editor * } - if$ - " \cite{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.collaboration output - format.authors "author" output.check - format.title "title" output.check - blank.sep - crossref missing$ - { journal missing$ - { format.eprint output } - { journal empty$ { format.eprint output } { - journal emphasize "journal" output.check - blank.sep - format.volume output - blank.sep - format.date.paren "year" output.check - month empty$ { format.number output } - 'skip$ if$ - blank.sep - format.pages.nopp output } - if$ - } - if$ - report missing$ - { journal empty$ {} { format.eprint.paren output} if$ } - {blank.sep format.report output format.eprint.paren output} - if$ - } - { format.article.crossref output.nonnull - format.pages output - format.eprint.paren output - } - if$ - new.sentence - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - format.collaboration output - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address output - } - { new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.collaboration output - format.authors output - title empty$ - { "empty title in " cite$ * warning$ - howpublished new.sentence.checka - } - { howpublished empty$ not - address empty$ month empty$ year empty$ and and - or - { format.title.p output.nonnull } - { format.title output.nonnull } - if$ - blank.sep - } - if$ - howpublished output - address output - format.date output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - format.collaboration output - author empty$ - { format.editors "author and editor" output.check } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.chapter.pages "chapter and pages" output.check - new.block - format.number.series output - new.block - publisher "publisher" output.check - address output - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check - new.block - format.eprint output - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.collaboration output - format.authors "author" output.check - format.title "title" output.check - blank.sep - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - format.chapter.pages output - new.block - publisher "publisher" output.check - address output - format.edition output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - new.block - format.eprint output - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.collaboration output - format.authors "author" output.check - format.title "title" output.check - blank.sep - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - format.paddress output - format.pages output - organization output - publisher output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - new.block - format.eprint output - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.collaboration output - author empty$ - { organization empty$ - 'skip$ - { organization output.nonnull - address output - } - if$ - } - { format.authors output.nonnull } - if$ - format.btitle "title" output.check - author empty$ - { organization empty$ - { address new.block.checka - address output - } - 'skip$ - if$ - } - { organization address new.block.checkb - organization output - address output - } - if$ - format.edition output - format.date output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - format.title "title" output.check - blank.sep - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.collaboration output - format.authors output - title empty$ - { howpublished new.sentence.checka } - { howpublished empty$ not - month empty$ year empty$ and - or - { format.title.p output.nonnull } - { format.title output.nonnull } - if$ - blank.sep - } - if$ - howpublished output - format.date output - new.block - note output - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - new.block - format.eprint output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - editor empty$ - { organization output } - { format.editors output.nonnull } - if$ - format.btitle "title" output.check - format.bvolume output - format.number.series output - format.paddress output - editor empty$ - 'skip$ - { organization output } - if$ - publisher output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.collaboration output - format.authors "author" output.check - format.title "title" output.check - blank.sep - format.tr.number output.nonnull - institution "institution" output.check - address output - format.date "year" output.check - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.collaboration output - format.authors "author" output.check - format.title.p "title" output.check - blank.sep - note "note" output.check - format.date output - fin.entry -} - -FUNCTION {default.type} { misc } - -MACRO {jan} {"Jan."} - -MACRO {feb} {"Feb."} - -MACRO {mar} {"Mar."} - -MACRO {apr} {"Apr."} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"Aug."} - -MACRO {sep} {"Sept."} - -MACRO {oct} {"Oct."} - -MACRO {nov} {"Nov."} - -MACRO {dec} {"Dec."} - -MACRO {nup} {"Nucl. Phys."} - -MACRO {cmp} {"Comm. Math. Phys."} - -MACRO {prl} {"Phys. Rev. Lett."} - -MACRO {pl} {"Phys. Lett."} - -MACRO {rmp} {"Rev. Mod. Phys."} - -MACRO {ijmp} {"Int. Jour. Mod. Phys."} - -MACRO {mpl} {"Mod. Phys. Lett."} - -MACRO {pr} {"Phys. Rev."} - -READ - -STRINGS { longest.label } - -INTEGERS { number.label longest.label.width } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #1 'number.label := - #0 'longest.label.width := -} - -FUNCTION {longest.label.pass} -{ number.label int.to.str$ 'label := - number.label #1 + 'number.label := - label width$ longest.label.width > - { label 'longest.label := - label width$ 'longest.label.width := - } - 'skip$ - if$ -} - -EXECUTE {initialize.longest.label} - -ITERATE {longest.label.pass} - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\providecommand{\href}[2]{#2}" - "\begingroup\raggedright\begin{thebibliography}{" * longest.label * - "}" * write$ newline$ } - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}\endgroup" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/Documentation/Tex/MiMeS.tex b/Documentation/Tex/MiMeS.tex deleted file mode 100644 index 07f7d50..0000000 --- a/Documentation/Tex/MiMeS.tex +++ /dev/null @@ -1,2374 +0,0 @@ -\documentclass[11pt,a4paper]{article} -\usepackage[utf8]{inputenc} -\usepackage{amsmath} -\usepackage{amsfonts} -\usepackage{amssymb} -\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} - - -\usepackage{slashed} -\usepackage{hyperref} -\usepackage{graphicx} -\usepackage{caption} -\usepackage{float} -\usepackage{subcaption} -\usepackage{multirow} -\usepackage[dvipsnames]{xcolor} -\usepackage{multicol} -\usepackage{authblk} - -\renewcommand{\theequation}{\arabic{section}.\arabic{equation}} - - - -\include{macros} - - - -%%%%%%%-----------------------Rules-----------------------%%%%%%% -% 1. Put any new macros in macros.tex. - -% 2. Section should start with: - %\section{This is a section}\label{sec:Intro} - %\setcounter{equation}{0} - -% 3. labels for Figs should start with fig:, for equations should start with eq:, for sections with sec:, etc. -%%%%%%%--------------------------------------------------%%%%%%% - - - - -\author[ ]{Karamitros Dimitrios} -\affil[ ]{\em School of Physics and Astronomy, The University of Manchester, - Manchester M13 9PL, United Kingdom} -\affil[ ]{\textit{E-mail: } \href{mailto:dimitrios.karamitros@manchester.ac.uk}{\color{blue}{dimitrios.karamitros@manchester.ac.uk}}} - - -\title{{\tt MiMeS}: Misalignment Mechanism Solver} -\begin{document} - -\maketitle - - -\begin{abstract} - We introduce a \CPP header-only library that solves the Axion equation of motion, \mimes. - \mimes makes no assumptions regarding the cosmology and the thermal mass of the axion, which allows the user - to consider various cosmological scenarios and axion-like models. - \mimes also includes a convenient \PY interface, which allows the user to use it without writing any code in \CPP, with minimum overhead. -\end{abstract} - - -%\newpage -\tableofcontents -%\newpage - - - - -\section{Introduction}\label{sec:intro} -\setcounter{equation}{0} -% -The axion is a hypothetical particle that was originally introduced in order to solve the strong CP-problem of the standard model (SM)~\cite{Peccei:1977hh,Weinberg:1977ma,Wilczek:1977pj}. Furthermore, the axion is assumed to acquire a non-zero vacuum expectation value (VEV), which results in the spontaneous breaking of a global symmetry, called Peccei-Quinn (PQ). That is the axion is a pseudo-Nambu-Goldstone boson. Moreover, it also appears to be a valid dark matter (DM) candidate~\cite{Preskill:1982cy,Dine:1982ah,Abbott:1982af}, as it is electrically neutral and long-lived. The axion starts, at very early time, with a VEV close to the PQ breaking scale (usually much higher than $100\GeV$), but due to the expansion of the Universe it eventually ends oscillating around zero. This oscillation results in an apparent constant number of axion particles (or constant energy of the axion field) today, which can account for the observed~\cite{Planck:2018vyg} DM relic abundance. -% -Apart form the axion, there are other hypothetical particles (for early examples of such particles see~\cite{Chikashige:1980ui,Georgi:1981pu}; and~\cite{Ringwald:2014vqa} for a review), called axion-like particles (ALPs), which are not related to the strong CP-problem. That is, these ALPs, interact with the SM in a different way than the axion. However, they can still account for the DM of the Universe. From the point of view of their DM abundance, both axions and ALPs, follow the same dynamics (similar EOM). The only difference between the two is their mass. The mass of the axion is dictated by QCD, while it is model-dependent for other ALPs. Therefore, the cosmological evolution of both axions and ALP is often discussed together(see, for example ref.~\cite{MARSH20161}). - -In this article, introduce a header-only \CPP library, \mimes,~\footnote{\mimes is distributed under the MIT license. A copy of this license should be available in the \mimes root directory. If you have not received one, you can find it at \href{https://github.com/dkaramit/MiMeS/blob/master/LICENSE}{github.com/dkaramit/MiMeS/blob/master/LICENSE}.} that solves the axion (or ALP) EOM, where both the mass and the underlying cosmological evolution are treated as user inputs. Therefore, \mimes can be used to compute the relic abundance of axions or ALPs, in a wide variety of cases. Moreover, one can use \mimes in python scripts, without having to write any \CPP code. - -This paper is organized as follows: -% -In section~\ref{sec:Physics}, we introduce the EOM and show how it can be solved approximately. Also, we introduce the notation that \mimes follows, we derive the ``adiabatic invariant" of the system, and discuss how it is used. -% -In the next section, we introduce \mimes, by showing how it can be downloaded, compiled, an ran for the first time. Also, we explain in detail all the parameters that \mimes as a user input at run-time. -% -In section~\ref{sec:assumptions}, we discuss the few assumption that \mimes makes, its default compile-time options and user input, and how the user can change them. Moreover, we provide a complete example in both \CPP and \PY. - -\section{Physics background}\label{sec:Physics} -\setcounter{equation}{0} -% -Although there are several works in the literature (such as~\cite{Chang:1998ys,MARSH20161}) that can provide a insight on the cosmological evolution of axions, in this section we define, derive, and discuss various quantities we need, in order to understand how \mimes works in detail. - -\paragraph{The EOM} -% -The axion field is usually expressed in terms of the so-called axion angle, $\theta$, as $A = \theta \ \fa$, with $\fa$ the scale at which the PQ symmetry breaks.~\footnote{If in a model under study, there is no $\fa$, this parameter is still expected by \mimes, but the user can set $\fa=1$.} -% -The axion angle follows the EOM -% -\begin{equation} - \lrb{\dfrac{d^2}{d t^2} + 3 H(t) \ \dfrac{d}{d t} } \theta(t) + \maT^2(t) \ \sin \theta(t) = 0 \; , - \label{eq:eom} -\end{equation} -% -with $H(t)$ the Hubble parameter (determined by the cosmology), and $\maT(t)$ the time (temperature) dependent mass of the axion. \mimes expects the mass to be of the form -\begin{equation} - \maT^2(T) = \dfrac{\chi(T)}{\fa^2}\;, - \label{eq:axion_mass_def} -\end{equation} -% -and $\chi$ a function of the temperature. For the QCD axion, this has been calculated using lattice simulations in~\cite{Borsanyi:2016ksw}.~\footnote{The data provided by ref.~\cite{Borsanyi:2016ksw} are used by \mimes out-of-the-box. However, the user is free to change them.} - - -\paragraph{Initial conditions} -% -\begin{figure}[h!] - \includegraphics[width=1\textwidth]{figs/axion_mass.pdf} - \caption{The mass of the axion as a function of the temperature for $\fa=10^{12}~\GeV$, using the data provided in ref.~\cite{Borsanyi:2016ksw}.} - \label{fig:axion_mass} -\end{figure} -% -Assuming that the PQ symmetry breaks before inflation, the initial conditions (\ie at some $t=0$, after inflation) for the EOM is random. However, we note that $\maT \to 0$ (see \Figs{fig:axion_mass}) -- \ie $\maT \ll H$ -- at very early times. Therefore, after inflation, the EOM is simply -% -\begin{equation} - \lrb{\dfrac{d^2}{d t^2} + 3 H(t) \ \dfrac{d}{d t} } \theta(t) = 0 \; , - \label{eq:massless_eom} -\end{equation} -% -which is solved by $\theta = \thetai + C \dint_{0}^t d t' \ \lrb{ \dfrac{a(t'=0)}{a(t')} }^3$, with $\thetai$ a constant and $a$ the scale factor of the Universe. That is, as the Universe expands, and as long as $\maT \ll H$, $\theta \to \thetai$. Since we would like to calculate the relic abundance of axions, we can integrate \eqs{eq:eom} from a time after inflation (call it $t = \ti$) such that $ \dot \theta |_{t=\ti} = 0$ and $\theta|_{t=\ti} = \thetai$. This is the most common case (there are exceptions to this; \eg~\cite{Co:2019jts}), and it is what \mimes uses. - - - -\subsection{The WKB approximation} -% -In order to solve analytically \eqs{eq:eom}, we assume $\theta \ll 1$, which results in the linearised EOM -% -\begin{equation} - \lrb{\dfrac{d^2}{d t^2} + 3 H(t) \ \dfrac{d}{d t} + \maT^2(t) } \theta(t) = 0 \; . - \label{eq:linear_eom} -\end{equation} - -Using a trial solution $\theta_{\rm trial} = \exp\lrsb{ i \dint d t \ \lrBigb{\psi(t) +3/2 \ i \ H(t)} }$, and defining $\Omega^2 = \maT^2 - \dfrac{9}{4} H^2 - \dfrac{3}{2} \dot H $ we can transform the \eqs{eq:linear_eom} to -% -\begin{equation} - \psi^2 = \Omega^2 + i \ \dot \psi \; , - \label{eq:eom_of_psi} -\end{equation} -% -which has a formal solution $\psi = \pm \sqrt{\Omega^2 + i \dot \psi}$. In the WKB approximation, we assume a slow time-dependence; that is $\dot \psi \ll \Omega^2$ and $\dot \Omega \ll \Omega^2$. Then we can approximate $\psi$ as -% -\begin{equation} - \psi \approx \pm \Omega + \dfrac{i}{2} \dfrac{d \log \Omega}{d t} \;, - \label{eq:u_approx} -\end{equation} -% -which results in the general solution of \eqs{eq:linear_eom} -% -\begin{equation} - \theta \approx \dfrac{1}{\sqrt{\Omega}} \exp\lrb{-\dfrac{3}{2} \int d t \ H} \lrsb{ A \cos\lrb{ \int d t \ \Omega} + B \sin\lrb{ \int d t \ \Omega} } \;. - \label{eq:general_solution_eom_approx} -\end{equation} - -Applying, then, the initial conditions $ \dot \theta |_{t=\ti} = 0$ and $\theta|_{t=\ti} \approx \thetai$, we arrive at -% -\begin{equation} -\theta(t) \approx \thetai \sqrt{ \dfrac{ \Omegai }{\Omega (t)} } \lrb{\dfrac{a}{\ai}}^{-3/2} \ \cos\lrb{ \int_{\ti}^t d t^\prime \ \Omega(t^\prime)} \;. -\label{eq:solution_eom_approx} -\end{equation} - - -In order to further simplify this approximate result, we note that $\theta$ deviates from $\thetai$ close to $t=\tosc$ -- corresponding to $T = \Tosc$, the so-called ``oscillation temperature" -- $\maT|_{t = \tosc} = 3 H|_{t = \tosc}$, which is defined as the point at which the axion begins to oscillate. -% -This observation allows us to set $\ti = \tosc$. Moreover, at $t > \tosc$, we approximate $\Omega \approx \maT$, as $H^2$ and $\dot H$ become much smaller than $\maT^2$ quickly after $t=\tosc$. Finally, the axion angle takes the form -% -\begin{equation} - \theta(t) \approx \thetaosc \lrb{\dfrac{3}{4}}^{1/4} \sqrt{ \dfrac{ \maT|_{t=\tosc} }{\maT (t)} } \lrb{\dfrac{a}{\aosc}}^{-3/2} \ \cos\lrb{ \int_{\tosc}^t d t^\prime \ \maT(t^\prime)} \;, - \label{eq:solution_eom_approx_theta_osc} -\end{equation} -% -where $\thetaosc = \theta|_{t=\tosc}$. This equation is further simplified if we assume that $\thetaosc \approx \thetai$, \ie -% -\begin{equation} - \theta(t) \approx \thetai \lrb{\dfrac{3}{4}}^{1/4} \sqrt{ \dfrac{ \maT|_{t=\tosc} }{\maT (t)} } \lrb{\dfrac{a}{\aosc}}^{-3/2} \ \cos\lrb{ \int_{\tosc}^t d t^\prime \ \maT(t^\prime)} \;. - \label{eq:solution_eom_approx_final} -\end{equation} -% -It is worth mentioning that the accuracy of this approximation depends, in general, on $\Tosc$; it determines the difference between $\thetai$ and $\thetaosc$, the deviation of $\dot \theta|_{t=\tosc}$ from $0$, and whether $\dot \Omega \ll \Omega^2$. - - -\paragraph{Axion energy density} -% -In the small angle approximation, the energy density of the axion is -% -\begin{eqnarray} - \rho_{a} = \dfrac{1}{2} \fa^2 \lrsb{ \dot{\theta}^2 + \maT^2 \theta^2 } \;. - \label{eq:rho_a_def} -\end{eqnarray} -% -For the relic abundance of axions, we need to calculate their energy density at very late times. That is, $\dot{\tilde{m}}_a = 0$, $\maT \gg H$ and $\dot H \ll H^2$. After some algebra, we obtain the approximate form of the energy density as a function of the scale factor ($a$) -% -\begin{eqnarray} - \rho_{a} \approx \dfrac{\ma }{2} \ \fa^2 \ \thetai^2 \ \maT(\aosc) \ \lrb{\dfrac{\aosc}{a}}^3 \;, - \label{eq:rho_a0} -\end{eqnarray} -% -which shows that the energy density of axions at late times scales as the energy density of matter; \ie the number of axion particles is conserved. If there is a period of entropy injection to the plasma for $T<\Tosc$, the axion energy density gets diluted, since -% -\begin{equation} - a^3 \ s = \gamma \ \aosc^3 \ s_{\rm osc} \Rightarrow \lrb{\dfrac{\aosc}{a}}^3 = \gamma^{-1} \dfrac{s}{s_{\rm osc}} \;, - \label{eq:WKB_gamma_def} -\end{equation} -% -with $\gamma$ the amount of entropy injection to the plasma between $\tosc$ and $t$. Therefore, the present (at $T=T_0$) energy density of the axion, becomes -% -\begin{eqnarray} - \rho_{a,0} = \gamma^{-1} \dfrac{s_0}{s_{\rm osc}} \ \dfrac{1 }{2} \ \fa^2 \ \ma \ \maT_{,{\rm osc}} \ \thetai^2 \;, - \label{eq:rho_a_approx} -\end{eqnarray} -with $\ma$ the mass of the axion at $T=T_0$. Notice that the explicit dependence on $\fa$ cancels, since $\maT \sim 1/\fa$. That is, $\fa$ only affects the energy density of the axions through its impact on $\Tosc$. -% - -\subsection{Notation}\label{sec:notation} -% -%The WKB approximation is very useful in order to understand the evolution of the axion field. However, it fails to explain how the oscillation begins before $\dot \Omega \ll \Omega^2$ is reached. In this section we will try to understand the evolution of the axion as generally as possible. -% -The EOM~(\ref{eq:eom}) depends on time, which is not very useful variable in cosmology. Therefore, we introduce -% -\begin{eqnarray} - u = \log \dfrac{a}{\ai} \;, - \label{eq:natation} -\end{eqnarray} -% -which results in -% -\begin{eqnarray} - &\dfrac{d F}{dt} &= H \dfrac{d F}{du} - \nonumber \\ - &\dfrac{d^2 F}{dt^2} &= H^2 \ \lrb{ \dfrac{d^2 F}{du^2} + \dfrac{1}{2} \dfrac{d \log H^2}{du} \dfrac{d F}{du} }\;. - \label{eq:deriv_u} -\end{eqnarray} -% -The EOM in terms of $u$, then, becomes -% -\begin{equation} - \dfrac{d^2 \theta}{du^2} + \lrsb{\dfrac{1}{2} \dfrac{d \log H^2}{du} + 3 } \dfrac{d \theta}{d u} + \ \lrb{\dfrac{\maT}{H}}^2 \ \sin \theta - =0 \;. - \label{eq:eom_u} -\end{equation} -% -Notice that in a radiation dominated Universe -% -$$ -\dfrac{d \log H^2}{du} = -\lrb{ \dfrac{d \log \geff}{d \log T} +4 } \delta_h^{-1}\;, -$$ -with $ \delta_h = 1+ \dfrac{1}{3} \dfrac{d \log \heff}{d \log T} $. -% -In a general cosmological setting, if the expansion rate is dominated by an energy density that scales as $\rho \sim a^{-c}$, $\dfrac{d \log H^2}{du} = -c$. -% -We notice that close to rapid particle annihilations and decays, the evolution of the energy densities change, and $\dfrac{d \log H^2}{du}$ can only be computed numerically. - -Moreover, it is worth mentioning that the EOM~\ref{eq:eom_u} with the initial condition $\theta(u=0)=\thetai$ and $d\theta/du (u=0)=0$ can be written as a system of first -order ordinary differential equations -% -\begin{eqnarray} -& \dfrac{d \zeta}{du} + \lrsb{\dfrac{1}{2} \dfrac{d \log H^2}{du} + 3 } \zeta + \ \lrb{\dfrac{\maT}{H}}^2 \ \sin \theta -=0 \;. \\ \nonumber -&\dfrac{d \theta}{d u} - \zeta=0 \;. -\label{eq:eom_sys} -\end{eqnarray} -% -This form of the EOM is what \mimes uses, as it is suitable for integration via Runge-Kutta methods -- which are briefly discussed in Appendix~\ref{app:RK}. - - - -\subsection{Adiabatic invariant and the anharmonic factor}\label{sec:an_fac} -% -The small angle approximation does not allow us to solve the EOM~\ref{eq:eom} analytically. Moreover, even for $\theta\ll1$, the WKB approximation fails to capture the dynamics before the adiabatic conditions are met, and result in an inaccurate axion relic abundance. Therefore, a numerical integration should be preferred. Furthermore, in order to reduce the computation time, the numerical integration needs to stop as soon as the axion begins to evolve adiabatically. After this point, we can correlate its energy density at later times, using an ``adiabatic invariant", which can be defined for oscillatory systems with varying period. - -\paragraph{Definition of the adiabatic invariant} -% -Given a system with Hamiltonian $\mathcal{H}(\theta,p;t)$, the equations of motion are -% -\begin{equation} - \dot p = - \dfrac{\partial \mathcal{H}}{\partial \theta} \;, \;\; - \dot \theta = \dfrac{\partial \mathcal{H}}{\partial p} \;. - \label{eq:hamiltonian_eoms} -\end{equation} -% -Moreover, we note that -% -\begin{equation} - d \Ham = \dot \theta \ d p - \dot p \ d \theta + \dfrac{\partial \Ham}{\partial t} \ d t \;. - \label{eq:total_dH} -\end{equation} -% -If this system exhibits closed orbits (\eg if it oscillates), we define -% -\begin{equation} - J \equiv C \ \oint p \ d \theta \;, - \label{eq:adiabatic_inv_def} -\end{equation} -% -where the integral is over a closed path (\eg a period, $T$), and $C$ indicates that $J$ can always be rescaled with a constant. This quantity is the adiabatic invariant of the system, if the Hamiltonian varies slowly during a cycle. That is, -% -\[ -\dfrac{d J}{d t} = C \ \oint \lrBigb{\dot p \ d \theta + p \ d \dot \theta} = C \ \dint_{t}^{t+T} \dfrac{\partial \Ham}{\partial t^\prime} \ d t^\prime \approx T \ \dfrac{\partial \Ham(t^{\prime})}{\partial t^{\prime}}\Big|_{t^{\prime}=t} \approx 0 -\;. -\] -% - - - - -\paragraph{Application to the axion} -% -The Hamiltonian that results in the EOM of \eqs{eq:eom} is -% -\begin{equation} - \Ham = \dfrac{1}{2} \dfrac{p^2}{\fa^2 \ a^3} + V(\theta) \ a^3\;, - \label{eq:axion_H} -\end{equation} -% -with -% -\begin{eqnarray} - & p = \fa^2 \ a^3 \ \dot \theta \\ - \label{eq:momentum} - & V(\theta) = \maT^2 \fa^2 (1-\cos \theta) \;. - \label{eq:potential} -\end{eqnarray} - -Notice that the Hamiltonian varies slowly if $\dot {\tilde{m}}_{a}(T)/\maT \ll \maT$ and $H \ll \maT$, which are the adiabatic conditions. When these conditions are met, the adiabatic invariant for this system becomes -% -\begin{equation} - J = \dfrac{\oint p \ d \theta}{\pi \fa^2} = \dfrac{1}{\pi \fa^2} \oint \sqrt{ 2\lrb{ \Ham(\theta) - V(\theta) \ a^3} \ \fa^2 a^3 \ } \ d \theta = - \dfrac{2}{\pi \fa^2} \int_{-\thetamax}^{\thetamax} \sqrt{ 2\lrb{ \Ham(\thetamax) - V(\theta) \ a^3} \ \fa^2 a^3 \ } d \theta \;, - \label{eq:J_axion_definition} -\end{equation} -% -where we note that $\thetamax$ denotes the maximum of $\theta$ -- the peak of the oscillation, which corresponds to $p=0$. That is, $\Ham(\thetamax) = V(\thetamax) \ a^3$. Therefore, the adiabatic invariant, takes the form - -\begin{eqnarray} - J=& \dfrac{2 \sqrt{2} }{\pi \fa} \int_{- \thetamax} ^{\thetamax} \sqrt{ V(\thetamax) - V(\theta) } a^{3} d \theta = - \dfrac{2 \sqrt{2} }{\pi} \ \maT \, a^3 \ \dint_{- \thetamax}^{\thetamax} \sqrt{\cos \theta - \cos \thetamax} \ d \theta - \;, - \label{eq:J_axion_derivation} -\end{eqnarray} -% -where, for the last equality. we have used the adiabatic conditions, \ie negligible change of $\maT$ and $a$ during one period. Usually, the adiabatic invariant is written as~\cite{Lyth:1991ub,Bae:2008ue} -% -\begin{equation} - J = a^3 \ \maT \ \thetamax^2 \, f(\thetamax) \;, - \label{eq:J_axion_final_form} -\end{equation} -% -where -\begin{equation} - f(\thetamax) =\dfrac{ 2 \sqrt{2}}{\pi \thetamax^2 } \dint_{- \thetamax}^{\thetamax} d \theta \sqrt{ \cos \theta - \cos \thetamax } \;, - \label{eq:anharmonic_f} -\end{equation} -% -is called the anharmonic factor, with $ 0.5 \lesssim f(\thetamax) \leq 1$ (see \Figs{fig:anharmonic_factor}). - - -\begin{figure}[t] - \includegraphics[width=1\textwidth]{figs/anharmonic_factor.pdf} - \caption{The anharmonic factor for $0 \leq \thetamax < \pi $.} - \label{fig:anharmonic_factor} -\end{figure} - - - -\paragraph{The role of the adiabatic invariant in the axion relic energy density} -% -The adiabatic invariant allows us to calculate the maximum value of the angle $\theta$ at late times from its corresponding value at some point just after the adiabatic conditions where fulfilled. - -In order to do this, we can numerically integrate \eqs{eq:eom}, and identify the maxima of $\theta$.~\footnote{\mimes identifies the maxima in real time, so it stops as soon as the system becomes adiabatic.} Once the adiabatic conditions are fulfilled, we can stop the integration at a peak, $\thetamax_{,*}$ -- which corresponds to $T=T_{*}$ and $a=a_{*}$. Then, the value of the maximum angle today ($\thetamax_{,0} \ll 1$) is related to $\thetamax_{,*}$ via -% -\begin{eqnarray} - \thetamax_{,0}^2 &= \lrb{\dfrac{a_*}{a_0}}^3 \ \dfrac{\maT_{,*}}{\ma} \ f(\thetamax_{,*}) \ \thetamax_{,*}^2 = - \gamma^{-1} \ \dfrac{s_0}{s_*} \ \dfrac{\maT_{,*}}{\ma} \ f(\thetamax_{,*}) \ \thetamax_{,*}^2 - \; . - \label{eq:theta_relation} -\end{eqnarray} -% -Plugging this into \eqs{eq:rho_a_def} (with $\dot \theta=0$, \ie at today's peak), we arrive at the energy density today -% -\begin{equation} - \rho_{a,0} = \gamma^{-1} \ \dfrac{s_0}{s_*} \ \ma \ \maT_{,*} \ \dfrac{1}{2} \ \fa^2 \ \thetamax_{,*}^2 \; \ f(\thetamax_{,*}) \;, - \label{eq:rho_axion_exact} -\end{equation} -% -where $\gamma$ is the entropy injection coefficient between $T_{*}$ and $T_0$, defined from -% -\begin{equation} - a^3(T_0) \ s(T_0) = \gamma \ a^3(T_*) \ s(T_*) \; - \label{eq:entropy_injection_gamma} -\end{equation} - -Notice that \eqs{eq:rho_axion_exact} is similar to the corresponding WKB result~(\ref{eq:rho_a_approx}) at $\tosc \to t_*$, multiplied by the anharmonic factor $f(\thetamax_{,*})$. So, the numerical integration is needed in order to correctly identify $T_{*}$ and $\thetamax_{,*}$, which are greatly affected by the underlying cosmology (especially in cases where entropy injection is active close to $\Tosc$) and whether $\thetai \gtrsim 1$~\cite{Bae:2008ue,Arias:2021rer}. - - - -\section{\mimes usage}\label{sec:first_steps} -\setcounter{equation}{0} -% -\mimes is available in \href{https:/github.com/dkaramit/MiMeS}{github.com/dkaramit/MiMeS}. In order to get started with \mimes, one needs to run the following commands:~\footnote{Instructions on how {\tt git} can be installed can be found in \href{https://github.com/git-guides/install-git}{https://github.com/git-guides/install-git}. } -% -\begin{lstlisting} - git clone https://github.com/dkaramit/MiMeS.git - cd MiMeS - git submodule init - git submodule update --remote -\end{lstlisting} -% -This downloads \mimes, and the submodules {\tt NaBBODES}~\cite{NaBBODES} {\tt SimpleSplines}~\cite{SimpleSplines}, which are necessary components of the library. - - -Once everything is downloaded successfully, we can go inside the \mimes directory, and run \run{bash configure.sh} and \run{make}. The {\tt bash} script {\tt configure.sh}, just writes some paths to some files, formats the data files provided in an acceptable format (in section~\ref{sec:input} the format is explained), and makes some directories. -% -The {\tt makefile} is responsible for compiling some examples and checks, as well as the shared libraries that needed for the \PY interface. If everything runs successfully, there should be two new directories {\tt exec} and {\tt lib}. Inside {\tt exec}, there are several executables that ready to run, in order to ensure that the code runs (\eg no segmentation fault occurs). For example, {\tt exec/AxionSolve\_check.run}, should print the values of the parameters $\thetai$ and $\fa$, the oscillation temperature and the corresponding value of $\theta$, the evolution of the axion (\eg temperature, $\theta$, $\rho_{a}$, etc.), and the values of various quantities on the peaks of the oscillation. In the directory {\tt lib}, there are several shared libraries for the \PY interface. - -Although there are various options available at compile-time, we first discuss how \mimes can be used, in order for the role of these options to be clear. - - -\subsection{First steps}\label{sec:First_examples} -% -There are several examples in \CPP ({\tt MiMeS/UserSpace/Cpp}) and \PY ({\tt MiMeS/UserSpace/Python}), as well as \JUPY notebooks ({\tt MiMeS/UserSpace/JupyterNotebooks}), that show in detail how \mimes can be used. Here, we discuss the various functions one may use as it will provide some insight for the following discussions. - -\subsubsection{Using \mimes in \CPP}\label{sec:cpp_first_example} -% -The class that is responsible for the solution of the EOM is \cppin{mimes::Axion}, located in {\tt MiMeS/src/Axion}. However, in order to use it, we have to define the mass of the axion as a function of the temperature and $\fa$. The axion mass is defined as an instance of the \cppin{mimes::AxionMass}, which is defined in the header file {\tt \mimes/src/AxionMass/AxionMass.hpp}. We should note that {\tt LD} is the numerical type we use (\eg { \tt long double}). The other template arguments are related to the differential equation solver, and their role will be explained in later sections. - -Therefore, at the top of the main {\tt .cpp} file, we need to include -% -\begin{cpp} - #include "src/AxionMass/AxionMass.hpp" - #include "src/Axion/AxionSolve.hpp" -\end{cpp} -% -Notice that if the this {\tt .cpp} file is not in the root directory of \mimes, we need to compile it using the flag {\tt -Ipath-to-root}, "path-to-root" the relative path to the root directory of \mimes; \eg if the {\tt .cpp} is in the {\tt MiMeS/UserSpace/Cpp/Axion} directory, this flag should be {\tt -I../../../}. - -The mass of the axion can be defined in two ways; either via a data file or as a user defined function. - -\paragraph{Axion mass form data file} -In many cases, axion mass cannot be written in a closed form. In these cases, the user may provide a data file. Then, the axion mass can be defined via this file as -% -\begin{cpp} - mimes::AxionMass axionMass(chi_PATH, minT, maxT); -\end{cpp} -% -The template parameter \cppin{LD} can be a numeric type (\eg \cppin{double} or \cppin{long double}). The argument {\tt chi\_PATH} is a (relative or absolute) path to a file with two columns; $T$ (in $\GeV$) and $\chi$ (in $\GeV^4$), with increasing $T$. In this case, the axion mass is interpolated between the temperatures {\tt minT} and {\tt maxT}. These two parameters are just suggestions, and the actual interpolation limits, {\tt TMin} and {\tt TMax}, are chosen as the closest temperatures in the data file. That is, in general, {\tt TMin} $\geq$ {\tt minT} and {\tt TMax} $\leq$ {\tt maxT}. Beyond these limits, the mass is assumed to constant by default. However, one can change this by using -% -\begin{cpp} - axionMass.set_ma2_MAX(ma2_MAX); - axionMass.set_ma2_MIN(ma2_MIN); -\end{cpp} -% -with {\tt ma2\_MAX} and {\tt ma2\_MIN} the axion mass squared as functions (or any other callable objects) with signatures {\tt LD ma2\_MAX(LD T, LD fa)} and {\tt LD ma2\_MIN(LD T, LD fa)}. These functions are called for $T\geq${\tt TMax} and $T\leq${\tt TMin}, respectively. Usually, in order to ensure continuity of the axion mass, one needs to know {\tt TMin}, {\tt TMax}, $\chi(${\tt TMin}$)$, and $\chi(${\tt TMax}$)$; which can be found by calling {\tt axionMass.getTMin()}, {\tt axionMass.getTMax()}, {\tt axionMass.getChiMin()}, and {\tt axionMass.getChiMax()}, respectively. - -\paragraph{Axion mass function} -In some cases, the dependence of the axion mass on the temperature is known. If this is the case, the user can define the axion mass via -% -\begin{cpp} - mimes::AxionMass axionMass(ma2); -\end{cpp} -% -with {\tt ma2} the axion mass squared as a callable object with signature {\tt LD ma2(LD T, LD fa)}. - -\paragraph{The EOM solver} -Once the axion mass is defined, we can declare a variable that will be used to solve the EOM, as -% -\begin{cpp} - mimes::Axion ax(theta_i, fa, umax, TSTOP, ratio_ini, - N_convergence_max, convergence_lim, inputFile, &axionMass, initial_step_size, - minimum_step_size, maximum_step_size, absolute_tolerance, relative_tolerance, - beta, fac_max, fac_min, maximum_No_steps); -\end{cpp} -% -Here, \cppin{LD} should be the numeric type to be used; it is recommended to use \cppin{long double}, but other choices are also available as we discuss later. Moreover \cppin{Solver} and \cppin{Method} depend on the type of Runge-Kutta (RK) the user chooses. The available choices are shown in table\ref{tab:template-arguments}. A discussion on RK methods is given in Appendix~\ref{app:RK}. - -The various parameters are as follows: -% -\begin{enumerate} - \item {\tt theta\_i}: initial angle. - \item {\tt fa}: the PQ scale. - \item {\tt umax }: if $u>${\tt umax} the integration stops (remember that $u=\log(a/a_i)$). Typically, this should be a large number ($\sim 1000$), in order to avoid stopping the integration before the axion begins to evolve adiabatically. - \item {\tt TSTOP}: if the temperature drops below this, integration stops. In most cases this should be around - $10^{-4}~\GeV$, in order to be sure that any entropy injection has stopped before integration stops (since BBN bounds~\cite{Kolb:206230,Peebles:1993} should not be violated). - \item {\tt ratio\_ini}: integration starts when $3H/\maT \approx${\tt ratio\_ini} (the exact point depends on the file ``{\tt inputFile}", which we will see later). - \item {\tt N\_convergence\_max} and {\tt convergence\_lim}: integration stops when the relative difference - between two consecutive peaks is less than {\tt convergence\_lim} for {\tt N\_convergence\_max} - consecutive peaks. - \item {\tt inputFile}: relative (or absolute) path to a file that describes the cosmology. the columns should be: $u$ $T ~[\GeV]$ $\log H$, sorted so that $u$ increases.~\footnote{One can run \run{bash MiMeS/src/FormatFile.sh inputFile} in order to sort it and remove any unwanted duplicates. See Appendix~\ref{app:util} for details of {\tt MiMeS/src/FormatFile.sh}.} - % - It is important to remember that \mimes assumes that the entropy injection has stopped before the lowest temperature of given in {\tt inputFile}. Since \mimes is unable to guess the cosmology beyond what is given in this file, the user has to make sure that there are data between the initial temperature (which corresponds to {\tt ratio\_ini}, and {\tt TSTOP}). - - \item {\tt axionMass}: an instance of the \cppin{mimes::AxionMass} class, passed by pointer. - - \item {\tt initial\_stepsize} (optional): initial step the solver takes. - - \item {\tt maximum\_stepsize} (optional): This limits the step-size to an upper limit. - \item {\tt minimum\_stepsize} (optional): This limits the step-size to a lower limit. - - \item {\tt absolute\_tolerance} (optional): absolute tolerance of the RK solver - - \item {\tt relative\_tolerance} (optional): relative tolerance of the RK solver. - % - Generally, both absolute and relative tolerances should be $10^{-8}$. - In some cases, however, one may need more accurate result (\eg if {\tt f\_a} is extremely high, - the oscillations happen violently, and the system destabilizes). Whatever the case, if the - tolerances are below $10^{-8}$, long doubles have be used. \mimes by default uses {long double} variables, - in order to change it see the options available in section~\ref{sec:input}. - - \item {\tt beta} (optional): controls how agreesive the adaptation is. Generally, it should be around but less than 1. - - \item {\tt fac\_max}, {\tt fac\_min} (optional): the stepsize does not increase more than fac\_max, and less than fac\_min. - This ensures a better stability. Ideally, {\tt fac\_max}$=\infty$ and {\tt fac\_min}$=0$, but in reality one must - tweak them in order to avoid instabilities. - - \item {\tt maximum\_No\_steps} (optional): maximum steps the solver can take Quits if this number is reached even if integration - is not finished. -\end{enumerate} -% -In order to understand the role of the optional parameters, some basic techniques of Runge-Kutta methods are discussed in Appendix~\ref{app:RK}. - -The EOM~(\ref{eq:eom_u}), then can be solved using -% -\begin{cpp} - ax.solveAxion(); -\end{cpp} -% -Once the EOM is solved, we can access $\Tosc$, $\thetaosc$, and $\Omega h^2$ via {\tt ax.T\_osc}, {\tt ax.theta\_osc}, and {\tt ax.relic}. The entire evolution (the points the integrator took) of the axion angle is stored in {\tt ax.points}, which is a two-dimensional \cppin{std::vector}, with the columns corresponding to $a$, $T~[\GeV]$, -$\theta$, $d\theta/du$, $\rho_a$. Moreover, the peaks of he oscillation are stored in another two-dimensional \cppin{std::vector}, with the columns corresponding to $a$, $T~[\GeV]$, $\thetamax$, $d\theta/du=0$, $\rho_a$, $J$. We should note that the peaks are identified using linear interpolation between integration points, in order to ensure that $d\theta/du = 0$. That is, the values stored in {\tt ax.peaks} do not exist in {\tt ax.points}. Finally, the local errors (see Appendix~\ref{app:RK}) of the integration points of $\theta$ and $\zeta$ are stored in {\tt ax.dtheta} and {\tt ax.dzeta}. - - -\paragraph{Changing axion mass definition} -% -The axion mass definiton can change at any time by changing the data file (or {\tt ma2\_MIN} and {\tt ma2\_MAX}) or using using -% -\begin{cpp} - ax.set_ma2(ma2); -\end{cpp} -% -with {\tt ma2} a callable object with signature {\tt LD ma2(LD T, LD fa)}. - -However, since integration starts at a temperature determined by {\tt ratio\_ini}, if the mass changes (including the definitions beyond the interpolation limits), we have to remake the interpolation of the underlying cosmology described by the parameter {\tt inputFile}. Thus, if we change the definition of the mass, we need to call -% -\begin{cpp} - ax.restart(); -\end{cpp} -% -This function remakes the interpolations, clears all vector, and sets all variables to $0$. - - -\paragraph{Changing initial condition} -% -The final member function is \cppin{mimes::Axion::setTheta_i}, which allows the user to set a different $\thetai$ without generating another instance.~\footnote{Since the interpolations of the data of {\tt inputFile} are made inside the constructor of the \cppin{mimes::Axion} class, \cppin{mimes::Axion::setTheta\_i} is a faster choice if ones needs to solve the EOM for a different initial condition.} This function is used as -% -\begin{cpp} - ax.setTeta_i(new_theta_ini); -\end{cpp} -% -where {\tt new\_theta\_ini} is the new value of $\thetai$. Running this function resets all variables to $0$ (except {\tt T\_osc} and {\tt a\_osc}, since they should not change), and clears all \cppin{std::vector} variables, which allows the user to simply run \run{ax.solveAxion();} as if {\tt ax} was a freshly defined instance. - - - -\subsubsection{Using \mimes in \PY}\label{sec:begin_py} -% -The modules for the \PY interface are located in {\tt MiMeS/src/interfacePy}. Although the usage of the {\tt AxionMass} and {\tt Axion} classes is similar to the \CPP case, it is worth showing explicitly how the \PY interface works. One should keep in mind that the various template arguments discussed in the \CPP case have to be chosen at compile-time. That is, for the \PY interface, one needs to choose the numeric type, and RK method to be used when the shared libraries are compiled. This is done by assigning the relevant variable in {\mimes/Definitions.mk} before running \run{make}. The various options are discussed in section~\ref{sec:options}, and outlined in table~\ref{tab:compile_time-options}. - - -The two relevant classes are defined in the modules {\tt interfacePy.AxionMass} and {\tt interfacePy.Axion}, and can be loaded in a \PY script as -% -\begin{py} - from sys import path as sysPath - from os import path as osPath - sysPath.append(osPath.join(osPath.dirname(__file__), 'path_to_src')) - from interfacePy.AxionMass import AxionMass - from interfacePy.Axion import Axion -\end{py} -% -It is important that {\tt 'path\_to\_src'} provides the relative path to the {\tt MiMeS/src} directory. For example, if the script is located in {\tt MiMeS/UserSpace/Python}, {\tt 'path\_to\_src'} should be {\tt '../../src'}. - -\paragraph{Axion mass definition via a data file} -As before, we first need to define the axion mass. Similarly to the previous case, in order to define the axion mass via a file, we use -% -\begin{py} - AxionMass axionMass(chi_PATH, minT, maxT) -\end{py} -% -Here, the constructor requires the same parameters as in \CPP. Moreover, the axion mass beyond the interpolation limits can be changed via -% -\begin{py} - axionMass.set_ma2_MAX(ma2_MAX) - axionMass.set_ma2_MIN(ma2_MIN) -\end{py} -% -Although the naming is the same as in the \CPP case, there is an important difference. Namely, {\tt ma2\_MAX} and {\tt ma2\_MIN} have to be functions (that take $T$ and $\fa$ as arguments and return $\maT^2$), and cannot be any other callable object. The reason is that \mimes uses the {\tt ctypes} module, which only works with objects compatible with {\tt C}. -% -Moreover, the values of {\tt TMin}, {\tt TMax}, $\chi(${\tt TMin}$)$, and $\chi(${\tt TMax}$)$ can be obtained by {\tt axionMass.getTMin()}, {\tt axionMass.getTMax()}, {\tt axionMass.getChiMin()}, and {\tt axionMass.getChiMax()}, respectively. - -\paragraph{Axion mass definition via a function} -% -Again this can be done as -% -\begin{py} - AxionMass axionMass(ma2) -\end{py} -% -with {\tt ma2} the axion mass squared, which should be a function (not any callable object) of $T$ and $\fa$. - -\paragraph{Importand note} Once an \pyin{AxionMass} is no longer required, to call the destructor. In this case, we can run -% -\begin{py} - del axionMass -\end{py} -% -The reason is that \mimes constructs a pointer for every instance of the class, which needs to be deleted manually. - -\paragraph{The EOM solver} -% -We can define an {\tt Axion} instance as follows -% -\begin{py} - ax=Axion(theta_i, fa, umax, TSTOP, ratio_ini, N_convergence_max, convergence_lim, - inputFile, axionMass, initial_step_size, minimum_step_size, maximum_step_size, - absolute_tolerance, relative_tolerance, beta, fac_max, fac_min, maximum_No_steps) -\end{py} -% -Here the input parameters are the same as in the \CPP case (the usage of the class can be found by running {\tt ?Axion} after loading the module). The only slight difference compared to the \CPP case is that the \pyin{axionMass} instance is not passed as a pointer; it is done internally using {\tt ctypes}. - - -Using the defined variable ({\tt ax} in this example), we can simply run -% -\begin{py} - ax.solveAxion() -\end{py} -% -in order to solve the EOM of the axion. In contrast to the \CPP implementation, this only gives us access to $\Tosc$, $\thetaosc$, and $\Omega h^2$; the corresponding variables are {\tt ax.T\_osc}, {\tt ax.theta\_osc}, and {\tt ax.relic}. In order to get the evolution of the axion field, we need to run -% -\begin{py} - ax.getPoints() -\end{py} -% -This will make \pyin{numpy} arrays that contain the scale factor ({\tt ax.a}), temperature ({\tt ax.T}), $\theta$ ({\tt ax.theta}), its derivative with respect to $u$ ({\tt ax.zeta}), and the energy density of the axion ({\tt ax.rho\_axion}). - -Moreover, in order to get the various quantities on the peaks of the oscillation, we can run -% -\begin{py} - ax.getPeaks() -\end{py} -% -This makes \pyin{numpy} arrays that contain the scale factor ({\tt ax.a\_peak}), temperature ({\tt ax.T\_peak}), $\theta$ ({\tt ax.theta\_peak}), its derivative with respect to $u$ ({\tt ax.zeta\_peak}, which should be equal to $0$), the energy density of the axion ({\tt ax.rho\_axion\_peak}), and the values of the adiabatic invariant on the peaks ({\tt ax.adiabatic\_invariant}). - -Moreover, we can run the following -% -\begin{py} - ax.getErrors() -\end{py} -% -in order to store the local errors (see Appendix~\ref{app:RK}) of $\theta$ and $\zeta$ in {\tt ax.dtheta} and {\tt ax.dzeta}, respectively. - -\paragraph{Changing axion mass definition} -% -We can change the axion mass by changing the file, {\tt ma2\_MIN} and {\tt ma2\_MAX}, or using -% -\begin{cpp} - ax.set_ma2(ma2) -\end{cpp} -% -with {\tt ma2} a function that takes $T$ and $\fa$, and returns the $\maT^2$. As in the \CPP case, if the definition of the mass of the axion changes (including the definitions beyond the interpolation limits), we have to call -% -\begin{cpp} - ax.restart() -\end{cpp} -% -in order to remake the interpolation of cosmological quantities and reset the various variables. - -\paragraph{Changing the initial condition} -% -The initial condition $\thetai$ can be changed using -% -\begin{py} - ax.setTeta_i(new_theta_ini) -\end{py} -% -which is faster than running the constructor again, since all the interpolations are reused. However, running this function, erases all the arrays, and resets all variables to $0$ (except {\tt T\_osc} and {\tt a\_osc}, as they should not change). - -\paragraph{Importand note} The {\tt Axion} class constructs a pointer to an instance of the underlying \cppin{mimes::Axion} class, which has to be manually deleted. Therefore, once {\tt ax} is used it must be deleted, \ie we need to run -% -\begin{py} - del ax -\end{py} -% -We should note that this must run even if we assign another instance to the same variable {\tt ax}, otherwise we risk running out of memory. - - -\section{Assumptions and user input}\label{sec:assumptions} -\setcounter{equation}{0} -% -\mimes only makes a few, fairly general, assumptions. First of all, it is assumed that the axion energy density is always subdominant compared to radiation or any other component of the Universe, and that decays and annihilations of particles have a negligible effect on the axion energy density. Moreover, the initial condition is always assumed to be $\theta_{t=\ti} = \thetai$ and $\dot \theta|_{t=\ti}=0$. -% -Furthermore, it is also assumed that $3H/\maT$ increases monotonically at high temperatures. -% -Also, it is assumed that the entropy of the plasma is resumes its conserved status at a temperature higher than the minimum temperature of {\tt inputFile} (which is required by the constructor of the \cppin{mimes::Axion} class). -% -Finally, \mimes does not try to predict anything regarding the cosmology. Therefore, the temperatures in {\tt inputFile} {\em must} cover the entire region of integration; \ie the maximum temperature has to be larger than the one required to reach {\tt ratio\_ini}, while the minimum one should be lower than {\tt TSTOP}. - -\subsection{Options at Compile-time}\label{sec:options} -% -The user has a number of options regarding different aspects for the code. If \mimes is used without using the available makefiles, then they must use the correct values for the various template arguments, explained in Appendix~\ref{app:classes}. The various choices we for the shared libraries used by the \PY interface are given in {\tt \mimes/Definitions.mk} while the corresponding options for the \CPP examples are in the {\tt Definitions.mk} files in the directories inside the subdirectories of {\tt \mimes/UserSpace/Cpp}. The options correspond to different variables, which are -% -\begin{enumerate} - \item {\tt rootDir}: the relative path of root directory of \mimes. - % - \item {\tt LONG}: this should be either {\tt long} or omitted. If omitted, the type of the numeric values is {\tt double} (double precision). On the other hand, if {\tt LONG=long}, the type is {\tt long double}. Generally, using {\tt double} should be enough. For the sake of numerical stability, however, it is advised to always use {\tt LONG=long}, as it a safer option. The reason is that the axion angle redshifts, and can become very small, which introduces ``rounding errors". Moreover, if the parameters {\tt absolute\_tolerance} or {\tt absolute\_tolerance} are chosen to be below $\sim 10^{-8}$, then double precision numbers may not be enough, and {\tt LONG=long} is preferable. This choice comes at the cost of speed; double precision operations are usually preformed much faster. It is important to note that {\tt LONG} defines a macro with the same name (in the \CPP examples), which then defines the macro (again in the \CPP examples) as {\tt \#define LD LONG double}. The macro {\tt LD}, then is used as the corresponding template argument in the various classes. We point out again that if one chooses not to use the {\tt makefile} files, the template arguments need to be known at compile-time. So the user has to define them in the code. - % - \item {\tt LONGpy}: the same as {\tt LONG}, but for the \PY interface. One should keep in mind thtat this cannot be changed inside \PY scripts. It just instructs \pyin{ctypes} what numeric type to use. Since the preferred way to compiled the shared libraries is via running \run{make} in the root directory of \mimes, this variable needs to be defined inside {\tt \mimes/Definitions.mk}. By default, this variable is set to \cppin{long}, since this is the most stable choice in general. - % - \item {\tt SOLVER}: \mimes uses the ordinary differential equation (ODE) integrators of ref.~\cite{NaBBODES}. Currently, there are two available choices; {\tt Rosenbrock} and {\tt RKF}. The former is a general embedded Rosenbrock implementation and it is used if {\tt SOLVER=1}, while the latter is a general explicit embedded Runge-Kutta implementation and can be chosen by using {\tt SOLVER=2} (a brief description of how these algorithms are implemented can be found in Appendix~\ref{app:RK}). By default \mimes uses is {\tt SOLVER=1}, because the axion EOM tends to oscillate rapidly. However, in some cases, a high order explicit method may also work. Note that this variable defines a macro that is then used as the second template argument of the \cppin{mimes::Axion} class. The preferred way to do it in the shared libraries is via the {\tt \mimes/Definitions.mk} file, however, the user if free to compile everything in a different way. In this case, the various {\tt Definitions.mk} files, are not being used, and the user must define the relevant arguments in the code where \mimes is used. - % - \item {\tt METHOD}: Depending on the type of solver is chosen, there are some available methods.~\footnote{It is worth mentioning that {\tt NaBBODES} is built in order to be a template for all possible Rosenbrock and explicit Runge-Kutta embedded methods, and one can provide their own Butcher tableau if they want to use another method, as shown in Appendix~\ref{app:RK}.} - \begin{itemize} - \item For {\tt SOLVER=1}, the available methods are - {\tt METHOD=RODASPR2} and {\tt METHOD=ROS34PW2}. The {\tt RODASPR2} choice is a fourth order Rosenbrock-Wanner method (more information can be found in ref.~\cite{RANG2015128}). The {ROS34PW2} choice corresponds to a third order Rosenbrock-Wanner method~\cite{RangAngermann2005}. - % - \item For {\tt SOLVER=2}, the only reliable method available in {\tt NaBBODES} is the Dormand-Prince~\cite{DORMAND198019} chosen if {\tt METHOD=DormandPrince}, which is an explicit Runge-Kutta method of seventh order. - \end{itemize} - This variable defines a macro (with the same name) that is passed as the third template parameter of \cppin{mimes::Axion} (\ie {\tt METHOD} in the place of {\tt Method}). - % - If the compilation is not done via the {\tt makefile} files, the user must define the relevant template arguments in the code. - % - \item {\tt CC}: the \CPP compiler that one chooses to use. The default option is {\tt CC=g++}, which is the {\tt GNU} \CPP compiler, and is available for all systems. Another option is to use the {\tt clang} compiler, which is chosen by {\tt CC=clang -lstdc++}. \mimes is mostly tested using {\tt g++}, but {\tt clang} also seems to work (and the resulting executables are sometimes faster), but the user has to make sure that their version of the compiler of choice supports the \CPP17 standard, otherwise \mimes probably will not work. - % - \item {\tt OPT}: Optimization level of the compiler. By default, this is {\tt OPT=O3}, which produces executables that are marginally faster than {\tt OPT=O1} and {\tt OPT=O2}, but significantly faster than {\tt OPT=O0}. There is another choice, {\tt OPT=Ofast}, but it can cause various numerical instabilities, and is generally considered dangerous -- although we have not observed any problems when running \mimes. -\end{enumerate} -% -It is important to note, once again, that the variables that correspond to template arguments must be known at compile time. Thus, if the compilation is done without the help of the various {\tt makefile} files, the template arguments must be given, otherwise compilation will fail.~\footnote{In \CPP the template arguments are part of the definition of a class; if the template arguments are not known, the class is not even constructed.} For example, the choice {\tt LONG=long}, {\tt SOLVER=1}, and {\tt METHOD=RODASPR2} will be used to compile the shared libraries (and \CPP example in {\tt \mimes/UserSpace/Cpp/Axion}) with \cppin{mimes::Axion>}. In order to fully understand the template arguments, the signatures of all classes and functions are given in Appendix~\ref{app:classes}. - - -\subsection{User input}\label{sec:input} -% -\subsubsection{Compile-time input}\label{sec:compile_time_input} -% -\paragraph{Files} \mimes requires files that provide data for the relativistic degrees of freedom (RDOF) of the plasma, and the anharmonic factor. Although \mimes is shipped with the standard model RDOF found in~\cite{Saikawa:2020swg}, and a few points for $f(\thetamax)$ introduced in \eqs{eq:anharmonic_f}, the user is free change them via the corresponding variables in {\tt Paths.mk} (in the root directory of \mimes). Moreover, there is a set of data for the QCD axion mass as calculated in ref.\cite{Borsanyi:2016ksw}. -% -The variables pointing to these data files are {\tt cosmoDat}, {\tt axMDat}, and {\tt anFDat}, for the RDOF, axion mass, and the anharmonic factor; respectively. - -The format of the files has to be the following: -% -\begin{itemize} - \item The RDOF data must be given in three columns; $T$ (in $\GeV$), $\heff$, and $\geff$. - % - \item The axion mass data must be given in two columns; $T$ (in $\GeV$), $\chi$ (in $\GeV^4$). Here, $\chi$ is defined as in \eqs{eq:axion_mass_def}. - The user can provide a function instead of data for the axion mass, by leaving the {\tt axMDat} variable empty. - % - \item The data for the anharmonic factor must be give in two columns $\thetamax$ $f(\thetamax)$; with increasing $\thetamax$. -\end{itemize} -% -The paths to these files should be given at compile time. That is, once {\tt Paths.mk} changes, \run{bash configure.sh} and then \run{\tt make} must be ran. The user can change the content of the data files (without changing their paths), in order to use them without compiling \mimes again. However, the user has to make sure that all the files are sorted so that the values of first column increase (with no duplicates or empty lines). In order to ensure this, it is advised to run \run{bash FormatFile.sh path-to-file} (in Appendix~\ref{app:util} there are some details on {\tt MiMeS/src/FormatFile.sh}), in order to format the file (that should exist in \run{path-to-file}) so that it complies with the requirements of \mimes. - -These paths are stored as strings in {\tt \mimes/src/misc\_dir/path.hpp} at compile-time (they are defined as {\tt constexpr}), and can be accessed once this header file is included. The corresponding variables are {\tt cosmo\_PATH}, {\tt chi\_PATH}, and {\tt anharmonic\_PATH}, for the path to data file of the plasma quantities, $\chi(T)$, and $f(\thetamax)$; respectively. Although, the axion mass data file may be omitted -- since the axion mass is defined by the user, the variable {\tt chi\_PATH} is still useful if the axion mass is defined via a data file, as it is automatically converted to an absolute path.~\footnote{Absolute paths have the advantage to be accessible from everywhere else in the system. Thus, executables that seek the corresponding files can be called and copied easily.} - - - - -\subsubsection{Run-time input}\label{sec:run_time_input} -% -The run-time user input is described in sec.~\ref{sec:first_steps}. The user has to provide at least the parameters that describe the axion evolution, $\thetai$ and $\fa$. - -Moreover, the maximum allowed value of $u$ and the minimum value of $T$, allow the user to decide when the integration has to stop even if the axion has not reached its adiabatic evolution. Ideally, {\tt umax}$=\infty$ and {\tt TSTOP}$=0$, but \mimes is designed to be as general as possible and there may be cases where one needs to stop the integration abruptly.~\footnote{These two variables are not optional, because the user must be aware of them, in order to choose them according to their needs.} - -Furthermore, {\tt ratio\_ini} allows the user to choose a desired point at which the interpolation of the data in {\tt inputFile} begins. This can save valuable computation time as well as memory, as only the necessary data are stored and searched. Generally, for {\tt ratio\_ini}$>10^{3}$, the relic abundance becomes -independent from {\tt ratio\_ini}, but one has to choose it carefully, in order to find a balance between accuracy and computation time. - -Finally, the convergence conditions -- \ie~{\tt N\_convergence\_max} and {\tt convergence\_lim} -- allow the user to decide when the adiabatic evolution of the axion begins. Generally, the relic abundance does not have a strong dependence on these parameters as long as {\tt N\_convergence\_max}$>3$ and {\tt convergence\_lim}$<10^{-1}$ (\ie the adiabatic invariant does not vary more that $10\%$ for three consecutive peaks of the oscillation). -% -However, we should note that greedy choices (\eg~{\tt N\_convergence\_max}$=100$ and {\tt convergence\_lim}$=10^{-5}$) are dangerous, as $\theta$ tends to oscillate rapidly and destabilize the differential equation solver. Therefore, these parameters should be chosen carefully, in order to ensure that integration stops when axion has reached its adiabatic evolution, without destabilising the EOM. - -\subsection{Complete Examples}\label{sec:complete_examples} -% -Although one can modify the examples provided in {\tt \mimes/UserSpace}, in this section we show a complete example in both \CPP and \PY. -% -The underlying cosmology is assumed to be an EMD scenario.~\footnote{In terms of the parametrisation introduced in ref.~\cite{Arias:2019uol,Arias:2020qty}, the early matter dominated case is defined via $T_{\rm end}=10^{-2} ~\GeV,\; c=3, \; T_{\rm ini}=10^{12} ~\GeV, \; \text{and}\; r=0.1$.}. -% -and the evolution of the energy densities of the plasma and a fluid $\Phi$ is shown in \Figs{fig:energy_densities}. -% -\begin{figure}[t] - \includegraphics[width=1\textwidth]{figs/energy_densities.pdf} - \caption{The energy densities of the plasma and a hypothetical decaying fluid. The parameters of the cosmological scenario $T_{\rm END}=10^{-2}~\GeV$, $c=3$, $T_{\rm ini}=10^{12}~\GeV$, and $r=0.1$; the parameters follow the definitions in ref.~\cite{Arias:2020qty}. } - \label{fig:energy_densities} -\end{figure} -% -The various regime changes are indicated as $T_{{\rm E}_{1,2}}$ -- corresponding to the first and second time where $\rho_{\Phi} = \rho_{\rm R}$, and $T_{{\rm D}_{1,2}}$ -- which correspond to the start and end of entropy injection (for more precise definition see~\cite{Arias:2020qty}). Regarding the axion, this cosmological scenario alters its evolution, since both the Hubble parameter and the entropy of the plasma change significantly. This results in a shift in the oscillation temperature, and the dilution of the axion energy density. - -Moreover, we will use the QCD axion mass of ref.~\cite{Borsanyi:2016ksw}. For the axion mass beyond the minimum and maximum temperatures, $T_{\rm min, \, max}$, in the corresponding data file, we will take -% -\begin{equation} - \maT = \Bigg\{ - \begin{matrix} - \dfrac{\chi(T_{\rm min})}{\fa^2} & \text{for } TT_{\rm max} - \end{matrix} \;. - \label{eq:axM-limits} -\end{equation} - - -\subsubsection{complete example in \CPP}\label{sec:cpp_example} -% -In order to write a \CPP program that uses \mimes in order to solve the EOM~\ref{eq:eom_sys}, we must include the header files {\tt src/AxionMass/AxionMss.hpp} and {\tt src/Axion/AxionSolve.hpp}. In the example at hand, the {\tt main} function should contain the definition of the axion mass -% -\begin{cpp} - // use chi_PATH to interpolate the axion mass. - mimes::AxionMass axionMass(chi_PATH,0,mimes::Cosmo::mP); - - /* This is the axion mass squared beyond the interpolation limits - for the current data. If you don't specify them, the axion mass - is taken to be constant beyond these limits */ - - /*set ma2 for T>TMax*/ - long double TMax=axionMass.getTMax(); - long double chiMax=axionMass.getChiMax(); - axionMass.set_ma2_MAX( - [&chiMax,&TMax](long double T, long double fa){ - return chiMax/fa/fa*std::pow(T/TMax,-8.16); - } - ); - - /*set ma2 for T::mP}, which is the Planck mass, as a static member of the {\tt Cosmo} class (described in Appendix~\ref{app:classes}), in order to interpolate the mass up to $T=m_P$, \ie the entire possible mass range. - -Following, the axion EOM can be solve as -% -\begin{cpp} - std::string inputFile = std::string(rootDir)+ - std::string("/UserSpace/InputExamples/MatterInput.dat"); - - mimes::Axion > - ax(0.1, 1e16, 500, 1e-4, 1e3, 15, 1e-2, inputFile, &axionMAss, - 1e-1, 1e-8, 1e-1, 1e-11, 1e-11, 0.9, 1.2, 0.8, int(1e7)); - - ax.solveAxion(); -\end{cpp} -% -This program should solve the axion EOM. However, one needs to print anything that they need. For example, the relic abundance is printed by adding \cppin{ std::cout<}, in order to be able to use \cppin{std::cout}. - - -\paragraph{Parameter choice} -% -It should be noted that the string that is assigned to the variable {\tt inputFile}, is the path of file that exists in {\tt \mimes/UserSpace/InputExamples}. Also, {\tt rootDir} is a constant static ({\tt char[]}) variable that is defined in {\tt \mimes/src/path.hpp}, and it is automatically generated when {\tt bash configure.sh} is executed. Moreover, the other parameters used in the constructor are: -% -\begin{itemize} - \begin{minipage}{0.3\linewidth} - \item {\tt theta\_i}$=0.1$ - \item {\tt fa}$=10^{16}~\GeV$ - \item {\tt umax }$=500$ - \item {\tt TSTOP}$=10^{-4}~\GeV$ - \item {\tt ratio\_ini}$=10^3$ - \item {\tt N\_convergence\_max}$=15$ - \end{minipage} - \begin{minipage}{0.35\linewidth} - \item {\tt convergence\_lim}$=10^{-2}$ - \item {\tt initial\_stepsize}$=10^{-1}$ - \item {\tt maximum\_stepsize}$=10^{-1}$ - \item {\tt minimum\_stepsize}$=10^{-8}$ - \item {\tt absolute\_tolerance}$=10^{-11}$ - \item {\tt relative\_tolerance}$=10^{-11}$ - \end{minipage} - \begin{minipage}{0.3\linewidth} - \item {\tt beta}$=0.9$ - \item {\tt fac\_max}$=1.2$ - \item {\tt fac\_min}$=0.8$ - \item {\tt maximum\_No\_steps}$=10^7$ - \item[]{\vfill} \item[]{\vfill} \item[]{\vfill} - \end{minipage} -\end{itemize} - -\paragraph{Template arguments} -% -Furthermore, The first template parameter is \cppin{long double}, which means that all the numeric types (apart from integers like {\tt maximum\_No\_steps}) have ``long double" precision. which is useful when considering low tolerances as in this example. The second and third template parameters are responsible for the Runge-Kutta method we use. That is, n this case, the second template parameter -- $1$ -- means that we use a Rosenbrock method, with the method being {\tt RODASPR2}. Notice that the method also needs a template parameter that is used to declare all member variables of the {\tt RODASPR2} class as \cppin{long double}. - -\paragraph{Compilation} -% -Before we compile, we have to make sure that we have already executed {\tt bash configure.sh}. Assuming that we name the file that contains the code {\tt axionExample.cpp}, and it is located in {\tt \mimes/UserSpace}, an executable can be produced as -% -\begin{pseudo} - g++ -O3 -std=c++17 -lm -I../ -o axion axionExample.cpp -\end{pseudo} -% -or -% -\begin{pseudo} - clang -lstdc++ -O3 -std=c++17 -lm -I../ -o axion axionExample.cpp -\end{pseudo} - -Both of these commands should create an executable that solves the axion EOM. That is, assuming we have a terminal open in {\tt \mimes/UserSpace}, we can run {\tt ./axion}, and get the results we chose. It should be noted that all paths that \mimes uses by default are written as absolute paths when we run {bash ./configure.sh}. Therefore, if the {\tt inputFile} variable is also an absolute path, the executable can be copied and used in any other directory of the same system. However, it should be preferred that executables are kept under the \mimes directory, in order to be able to compile them with different data file paths if needed. - - - -\paragraph{The entire code} -% -This example consists of only a few lines of code, which, including the change in the axion mass beyond the interpolation limit, is -% -\begin{cpp} - #include - //include everything you need from MiMeS - #include"src/Axion/AxionSolve.hpp" - #include"src/AxionMass/AxionMass.hpp" - #include"src/Cosmo/Cosmo.hpp" - #include"src/misc_dir/path.hpp" - - int main(){ - // use chi_PATH to interpolate the axion mass. - mimes::AxionMass axionMass(chi_PATH,0,mimes::Cosmo::mP); - - /*set ?$\maT^2$? for ?$T\geq T_{\rm max}$?*/ - long double TMax=axionMass.getTMax(); - long double chiMax=axionMass.getChiMax(); - axionMass.set_ma2_MAX( - [&chiMax,&TMax](long double T, long double fa){ - return chiMax/fa/fa*std::pow(T/TMax,-8.16); - } - ); - - /*set ?$\maT^2$? for ?$T\leq T_{\rm min}$?*/ - long double TMin=axionMass.getTMin(); - long double chiMin=axionMass.getChiMin(); - axionMass.set_ma2_MIN( - [&chiMin,&TMin](long double T, long double fa){ - return chiMin/fa/fa; - } - ); - - - std::string inputFile = std::string(rootDir)+ - std::string("/UserSpace/InputExamples/MatterInput.dat"); - - mimes::Axion > - ax(0.1, 1e16, 500, 1e-4, 1e3, 15, 1e-2, inputFile, &axionMass, - 1e-1, 1e-8, 1e-1, 1e-11, 1e-11, 0.9, 1.2, 0.8, int(1e7)); - - ax.solveAxion(); - - std::cout< axionMass(ma2); -\end{cpp} - - -\subsubsection{complete example in \PY} -% -In order to be able use the \pyin{AxionMass} and \pyin{Axion} classes in \PY, we need to import the corresponding modules from {\tt \mimes/src/interfacePy}. That is, assuming that the script from which we intend to import {\tt \mimes/src/interfacePy/Axion/Axion.py} and {\tt \mimes/src/interfacePy/Axion/AxionMass.py} is in {\tt \mimes/UserSpace}, we can import the classs by writing the following -% -\begin{py} - #add the relative path for MiMeS/src - from sys import path as sysPath - from os import path as osPath - sysPath.append(osPath.join(osPath.dirname(__file__), '../src')) - - - from interfacePy.AxionMass import AxionMass #import the AxionMass class - from interfacePy.Axion import Axion #import the Axion class - from interfacePy.Cosmo import mP #import the Planck mass -\end{py} -% -Once everything we need is imported, we can simply follow the steps outlined in section~\ref{sec:begin_py}. For the example at hand, we can create an instance of the \pyin{AxionMass} class as -% -\begin{py} - # AxionMass instance - axionMass = AxionMass(r'../src/data/chi.dat',0,mP) - - # This is the axion mass squared beyond the interpolation limits for the current data. - # If you don't specify them, the axion mass is taken to be constant beyond these limits - TMax=axionMass.getTMax() - chiMax=axionMass.getChiMax() - TMin=axionMass.getTMin() - chiMin=axionMass.getChiMin() - - axionMass.set_ma2_MAX( lambda T,fa: chiMax/fa/fa*pow(T/TMax,-8.16) ) - axionMass.set_ma2_MIN( lambda T,fa: chiMin/fa/fa ) -\end{py} -% - -Then we can simply create an instance of the \pyin{Axion} class as -% -\begin{py} - #in python it is more convenient to use relative paths - inputFile = "./InputExamples/MatterInput.dat" - - ax = Axion(0.1, 1e16, 500, 1e-4, 1e3, 15, 1e-2, inputFile, axionMass, - 1e-1, 1e-8, 1e-1, 1e-11, 1e-11, 0.9, 1.2, 0.8, int(1e7)) -\end{py} -% -Again, the parameters for the constructor are the same as in the \CPP example. The axion EOM, then, is solved using -% -\begin{py} - ax.solveAxion() -\end{py} -% -In contrast to the \CPP usage of this function, this only stores the $\thetai$, $\fa$, $\thetaosc$, $\Tosc$, and $\Omega h^2$ in the variables {\tt ax.theta\_i}, {\tt ax.fa}, {\tt ax.theta\_osc}, {\tt ax.T\_osc}, and {\tt ax.relic}; respectively. Therefore, we can print the relic abundance by calling \pyin{print(ax.relic)}. In order to get the integration points (\ie the evolution of the angle and the other quantities), the quantities at the peaks, and the local integration errors, we need to call -% -\begin{py} - #this gives you all the points of integration - ax.getPoints() - - #this gives you the peaks of the oscillation - ax.getPeaks() - - #this gives you local integration errors - ax.getErrors() -\end{py} -% -The documentation of any \PY function can be read directly inside the script using {\tt ?} as a prefix. For example, in order to see what the functionality and usage of the {\tt getPeaks} function, we can call \run{?ax.getPeaks}, and its documentation will be printed. - -As already mentioned, it is important to always delete any instance of the \pyin{AxionMass} and \pyin{Axion} classes once they are not needed. In this case this is done by calling -% -\begin{py} - del ax - del axionMass -\end{py} - - -\paragraph{Compilation of the shared library} -% -As described in section~\ref{sec:compile_time_input}, we may need to change the default data file paths, or the various compilation options. This is done through the variables in {\tt \mimes/Definitions.mk} and {\tt \mimes/Paths.mk} described in section~\ref{sec:options}. - -Once we have chosen everything according to our needs, the library can be created by opening a terminal inside the root directory of \mimes and running -% -\begin{py} - bash configure.sh - make lib/Axion_py.so -\end{py} -% - -\paragraph{The entire code} -% -As in the \CPP example, this example consists of only a few lines of code. The script we described here is -% -\begin{py} - #add the relative path for MiMeS/src - from sys import path as sysPath - from os import path as osPath - sysPath.append(osPath.join(osPath.dirname(__file__), '../src')) - - from interfacePy.AxionMass import AxionMass #import the AxionMass class - from interfacePy.Axion import Axion #import the Axion class - from interfacePy.Cosmo import mP #import the Planck mass - - # AxionMass instance - axionMass = AxionMass(r'../src/data/chi.dat',0,mP) - - # define ?$\maT^2$? for ?$T\leq T_{\rm min}$? - TMin=axionMass.getTMin() - chiMin=axionMass.getChiMin() - axionMass.set_ma2_MIN( lambda T,fa: chiMin/fa/fa ) - - # define ?$\maT^2$? for ?$T\geq T_{\rm max}$? - TMax=axionMass.getTMax() - chiMax=axionMass.getChiMax() - axionMass.set_ma2_MAX( lambda T,fa: chiMax/fa/fa*pow(TMax/T),8.16) ) - - #in python it is more convenient to use relative paths - inputFile = inputFile="./InputExamples/MatterInput.dat" - - ax = Axion(0.1, 1e16, 500, 1e-4, 1e3, 15, 1e-2, inputFile, axionMass, - 1e-1, 1e-8, 1e-1, 1e-11, 1e-11, 0.9, 1.2, 0.8, int(1e7)) - - ax.solveAxion() - - print(ax.relic) - - #once we are done we should run the destructor - del ax - del axionMass -\end{py} - - -One can find a complete example, including the option to create several plots, in the script {\tt \mimes/UserSpace/Python/Axion.py}. Also, the same example can be used interactively, in jupyter notebook environment, that can be found in {\tt \mimes/UserSpace/JupyterNotebooks/Axion.ipynb}. One can read the comments, and change all different parameters, in order to examine how the results are affected. - -\paragraph{Alternative axion mass definition} -% -In order to use the approximate axion mass as defined in \eqs{eq:axM_approx}, we could replace the definition of the {\tt axionMass} variable (lines $10$-$21$) with -% -\begin{py} - def ma2(T,fa): - TQCD=150*1e-3 - ma20=3.1575e-05/fa/fa - if T<=TQCD: - return ma20; - return ma20*(TQCD/T)**8.16 - axionMass = AxionMass(ma2) -\end{py} - -\subsubsection{Results} -% -\begin{figure}[h] - \begin{subfigure}[]{0.5\textwidth} - \includegraphics[width=1\textwidth]{figs/theta_evolution-EMD.pdf} - \caption{} - \label{fig:theta_evolution-EMD} - \end{subfigure} - \begin{subfigure}[]{0.5\textwidth} - \includegraphics[width=1\textwidth]{figs/theta_evolution-RD.pdf} - \caption{} - \label{fig:theta_evolution-RD} - \end{subfigure} - \caption{The evolution of the axion angle, $\theta$, with the temperature in early matter dominated (a) and radiation dominated (b) cases. For the EMD case, the $\thetai$ is chosen so that $\Omega h^2 = 0.12$.} - \label{fig:results} -\end{figure} -% -In \Figs{fig:theta_evolution-EMD} we show the evolution of $\theta$ for temperatures $T \in [0.025,0.15]~\GeV$, where the vertical line indicates $\Tosc$, while the horizontal one the corresponding value of $\theta$, $\thetaosc$. Also, the blue curve connects the peaks of the oscillation. For comparison, in \Figs{fig:theta_evolution-RD} we also show the evolution of the angle in a radiation dominated Universe with constant entropy (\ie standard cosmological scenario). From these figures, we can see that the effect of an early matter domination reduces the amplitude of oscillation -- due to the injection of entropy -- as well the oscillation temperature -- due to the increase of the Hubble parameter. Furthermore, the angle at $T=\Tosc$ in the EMD scenario is much smaller that the corresponding value in the standard cosmological case, since the entropy injection causes the scale factor to be larger compared to the scale factor at the same temperature. -% -Moreover, in \Figs{fig:RK_response}, we show the relative local error of integration as well as a histogram of the number of integration steps for $0.025~\GeV < T < 0.15 ~\GeV$. -% -\begin{figure}[h] - \begin{subfigure}[]{0.5\textwidth} - \includegraphics[width=1\textwidth]{figs/local_errors-EMD.pdf} - \caption{} - \label{fig:local_errors-EMD} - \end{subfigure} - \begin{subfigure}[]{0.5\textwidth} - \includegraphics[width=1\textwidth]{figs/histogram-EMD.pdf} - \caption{} - \label{fig:histogram-EMD} - \end{subfigure} - \caption{(a) Local relative errors of $\theta$ and $\zeta$ for the temperature range $0.025\GeV \leq T \leq 0.15\GeV$. - (b) Histogram of number of points in the same temperature range.} - \label{fig:RK_response} -\end{figure} -% -The local relative errors, defined in Appendix~\ref{app:RK}, are shown in \Figs{fig:local_errors-EMD}. The black and red lines correspond to $\delta \theta/\theta$ and $\delta \zeta/\zeta$, respectively. This figure indicates that the local errors are relatively well behaved for $T>\Tosc$, and they only start to oscillate violently once the oscillations start. However, the adaptation of the integration step seems to work, as the errors are kept below $\sim 10^{-7}$ (the relative error of $zeta$ is large because $\zeta \approx 0$ before the $\Tosc$). In order to examine how the step-size is adapted to the difficulty of the problem, we also show a histogram which show how many integration steps are taken for fixed temperature intervals.~\footnote{More precisely, the histogram is made by dividing the the temperature range $0.025~\GeV\lesssim T\lesssim 0.15~\GeV$ to $30$ bins of equal size.} -% -In this figure, we see that the number of integration steps increases rapidly for temperatures below the oscillation temperature. -% -This is expected, since integration becomes more difficult as the frequency of the oscillation increases -- $\maT/H$ increases rapidly for $T<\Tosc$. That is, the local integration error tends to increase. Thus, in order to reduce the local error, the embedded RK method we employ, reduces the step-size. This means that for $T \lesssim \Tosc$ the number of integration steps increase drastically. -% -This is the general picture of how adaptation happens. However, one has to experiment with all the available parameters, in order to solve the axion EOM as accurately and fast as possible. - -\section{Acknowledgements} -% -The author acknowledges support by the Lancaster–Manchester–Sheffield Consortium for Fundamental Physics, under STFC research grant ST/T001038/1. - - -\section{Summary} -% -We have introduced \mimes; a header-only library written \CPP that is used to compute the axion (or ALP) relic abundance, by solving the corresponding EOM, in a user defined underlying cosmology. \mimes makes only a few assumptions, which allows the user to explore a wide range ALP and cosmological scenarios. - -In this manuscript, we have provided a detailed explanation on how to use \mimes, by showing examples in both \CPP and \PY (paragraphs~\refs{sec:First_examples,sec:complete_examples}). We have described the user input that is expected, and the various options available (sections~\refs{sec:first_steps,sec:assumptions}). Moreover, in the Appendix, we provide a detailed review of all the internal components that comprise \mimes. We briefly discuss the Runge-Kutta methods that \mimes uses, and show how the user can implement their own. We explain the functionality of all the classes, modules, and utilities. Also, we provide a detailed input and option guide. - -In the future, \mimes will be extended in several ways. First, we should implement new functionality that will allow the user to automatically compare against various experimental data (although, there is already an available module~\cite{2020-AxionLimits} that can be used for this goal). This is going to be helpful, as the user will only need to use one program (or script) to compute what is needed. We also aim to supplement \mimes with the option to produce ALPs via interactions of the plasma (\eg freeze-out/in), which may be useful in certain cases. Moreover, a later version of \mimes may allow the user to define different initial condition for $\zeta$ as well, since there are cases where this is needed (\eg~\cite{Co:2019jts}). Finally, \mimes will continue to improve by correcting mistakes, or implementing suggestions by the community. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% APPENDICES -%\pagebreak -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\setcounter{section}{0} -\section*{Appendix} -\appendix - -\renewcommand{\theequation}{\Alph{section}.\arabic{equation}} -\setcounter{equation}{0} % reset counter -%%%%%%%%%%%%%%%%%%%%%%% - -\section{Basics of embedded Runge-Kutta Mehtods}\label{app:RK} -\setcounter{equation}{0} -% -Runge-Kutta (RK) methods are employed in order to solve an ordinary differential equation (ODE), or a system of ODEs of first order.~\footnote{Boundary value problems, and higher order differential equations are expressed as first order ODEs, and then solved. Similarly to \eqs{eq:eom_sys}.} Although there are some very insightful sources in the literature (\eg~\cite{Hairer,hairer2010solving,10.5555/1403886}) we give a brief overview of them in order to help the user to make appropriate decisions when using \mimes. - -The general form of a system of first order of ODEs is -% -\begin{equation} - \dfrac{d\vec{y}}{dt}=\vec{f}(\vec{y},t) \;, - \label{eq:ODE_definition} -\end{equation} -% -with given initial condition $\vec{y}(0)$. Also, the components of $\vec{y}$ denote the unknown functions. Note that we can always shift $t$ to start at $0$, which simplifies the notation. In order to solve the the system of \eqs{eq:ODE_definition}, an RK method uses an iteration of the form -% -\begin{equation} - \vec{y}_{n+1}=\vec{y}_{n}+ h\sum_{i=1}^{s} b_i \ \vec{k}_i \;, - \label{eq:RK_iter} -\end{equation} -% -with $n$ denoting the iteration number, $h$ the ``step-size" that is used to progress $t$; $t_{n+1}=t_{n}+h$. Moreover, $s$, $b_i$ and $\vec{k}_i$ define the corresponding RK method. For example, -the classic Euler method is an RK method with $s=1$, $b=1$, and $\vec{k}_1 = \vec{f}(\vec{y_n , t_n})$. Methods with $\vec{k}$ that depends on previous step (\ie $\vec{k} =\vec{k}\lrsb{y_{n},t_{n}}$), are called explicit, while the ones that try to also predict next step (\ie $\vec{k} =\vec{k}\lrsb{y_{n},t_{n}; y_{n+1},t_{n+1}}$) are called implicit.~\footnote{Generally, by substituting implicit methods $y_{n+1}$ as in \eqs{eq:RK_iter}, we end up with a system of equations that need to be solved in order to compute $\vec{k}$.} - -\subsection{Embedded RK methods} -% -A large category of RK methods are the so-called embedded RK methods. These methods make two estimates for the same step simultaneously -- without evaluating $\vec{k}$ many times within the same iteration. Therefore, together with the iteration of \eqs{eq:RK_iter}, a second estimate is given by -% -\begin{equation} - \vec{y}_{n+1}^{*}=\vec{y}_{n}+ h\sum_{i=1}^{s} b_i^{*} \vec{k}_i \;, - \label{eq:RK_Embedded_iter} -\end{equation} -% -with $b_i^{*}$ is an extra parameter that characterise the ``embedded" method of different order (typically, one order higher that the estimate~\ref{eq:RK_iter}). The local (for the step $t_{n+1}$) error divided by the scale of the solution, then, estimated as -% -\begin{equation} - \Delta \equiv \sqrt{\frac{1}{N}\sum_{d=1}^{N}\lrb{\frac{y_{n+1 ,d}-y^{*}_{n+1,d}}{ \Lambda_d }}^{2}} \;, - \label{eq:error_estimate} -\end{equation} -% -where $n$ the iteration number, $N$ the number of ODEs, $d$ the component of $\vec{y}$, and $\Lambda_d$ defined as -% -\begin{equation} - \Lambda_d = {\tt Atol} + \max\lrb{|y_{n+1, d}|,|y^{*}_{n+1 ,d}|} \; {\tt Rtol} \;, - \label{eq:RK_scale} -\end{equation} -% -with {\tt Atol} and {\tt Rtol} the absolute and relative tolerances that characterise the desirable accuracy we want to achieve; user defined values, typically {\tt Atol}$=${\tt Rtol}$\ll 1$. With these definitions, the desirable error is reached when $\Delta \lesssim 1$. - -\paragraph{Step-control} The definition~\ref{eq:error_estimate}, allows us to adjust the step-size $h$ in such way that $\Delta \approx 1$. That is, we take trial steps, and $h$ is adapted until $\Delta \approx 1$. A simple adaptive strategy adjusts step-size, using -% -\begin{eqnarray} - h \to \beta \; h \; {\rm max} \lrsb{f_{\rm min}, {\rm min} \lrb{\Delta^{-\frac{1}{p+1}}, f_{\rm max}}} \;, - \label{eq:step-control} -\end{eqnarray} -% -with $p$ the order of the RK method ($p+1$ is the order of the embedded one), $\beta$ a bias factor of the adaptive strategy (typically $\beta$ is close but below $1$), used to adjust the tendency of $h$ to be somewhat smaller than what the step-control predicts. Also, $f_{min}$ and $f_{max}$ are the minimum and maximum allowed factors, respectively, that can multiply $\beta \ h$, used in order to avoid large fluctuations that can destabilise the process. All these parameters are chosen by the user, in order to make the step-control process as aggressive or safe as needed. - -\paragraph{Correspondence between \mimes parameters and RK ones} -% -The various parameters that \mimes are described in section~\ref{sec:input}. The correspondence between them and the RK parameters is given in table~\ref{tab:RK_mimes_params}. -% -\begin{table}[t!] - \centering - \begin{tabular}{|c|c|} - \mimes & Runge-Kutta \\ - \hline - {\tt absolute\_tolerance } & {\tt Atol} \\ - \hline - {\tt relative\_tolerance } & {\tt Rtol} \\ - \hline - {\tt b} & $\beta$ \\ - \hline - {\tt fac\_min} & $f_{\rm min}$ \\ - \hline - {\tt fac\_max} & $f_{\rm max}$ \\ - \hline - \end{tabular} - \caption{Correspondence between the user \mimes user input and the RK parameters described in the text.} - \label{tab:RK_mimes_params} -\end{table} - -\subsection{Explicit embedded RK methods} -% -Explicit methods use only the information of the previous step in order to compute $\vec{k}_i$ from -% -\begin{equation} - \vec{k}_{i}=\vec f\lrBiggb{ \vec{y}_{n}+h \lrBigb{ \sum_{j=1}^{i-1}a_{ij}\vec{k}_{j} }, t_{n}+ c_{i} \; h}\;, \quad \forall i=1,2,\dots, s\;, - \label{eq:explicit_RK_k} -\end{equation} -% -with $a_{ij}$, $c_i$, together with $b_i$ and $b_i^{*}$, consist the so-called Butcher tableau of the corresponding method. For explicit methods this is usually presented as -% -\begin{equation} - \begin{array}{c|cccccc} - 0 & 0 & 0 & 0& \dots & 0& 0\\ - c_2 & a_{21} & 0 & 0 & \dots & 0& 0\\ - c_3 & a_{31} & a_{32}& 0& \dots & 0& 0\\ - \vdots & \vdots & \vdots& \vdots&\ddots &\ddots& \vdots\\ - c_s & a_{s1} & a_{s2}& a_{s3}& \dots & a_{s s-1}& 0 \\ - \hline - p & b_1 & b_2 & b_3 & \dots & b_{s-1} & b_s \\ - p+1 & b_1^{\star} & b_2^{\star} & b_3^{\star} & \dots & b_{s-1}^{\star} & b_s^{\star} - \end{array} - \label{eq:Butcher} -\end{equation} -% -It should be noted that $c_i = \displaystyle\sum_{j=1}^{s} a_{ij} $. - -\subsection{Rosenbrock methods} -% -Explicit RK methods, encounter instabilities when a system is ``stiff"~\footnote{A definition of stiffness can be found in~\cite{hairer2010solving,Hairer}.}; \eg when it oscillates rapidly, or has different elements at different scales. These problems are somewhat resolved by trying to predict the next step inside $\vec{k}$; \ie in implicit methods. However, then one has to solve a non-linear set of equations in order to compute $\vec{y}_{n+1}$, which is generally a slow process, as the Newton method (or some variation) needs to be applied. However, there exist another way, a compromise between explicit and implicit methods. Linearly implicit RK methods, usually called Rosenbrock methods -- with popular improvements as Rosenbrock-Wanner methods, introduce parameters in the diagonal of the Butcher tableau~\ref{eq:Butcher} and linearise the system of non-linear equations (for details, see~\cite{hairer2010solving}). In these methods, $\vec{k}$ is determined by -% -\begin{equation} - \left(\hat I - \gamma h \hat{J}\right)\cdot \vec{k}_{i}= - h \vec{f}\Big(\vec{y}_n+\sum_{j=1}^{i-1}a_{ij}\vec{k}_{j},t_n + c_{i}h \Big)+ - h^2 \left(\gamma + \sum_{j=1}^{i-1}\gamma_{ij}\right)\dfrac{\partial \vec{f} }{\partial t}+ - h \hat J \cdot \sum_{j=1}^{i-1}\gamma_{ij} \vec{k}_{j}\; , - \label{eq:Ros_k} -\end{equation} -% -which is written in such a way that everything is evaluated at $t = t_{n}$. In \eqs{eq:Ros_k}, $\hat J = \dfrac{\partial \vec f}{ \partial \vec y}$ the Jacobian of the system of ODEs, $\hat I$ the unit matrix with dimension equal to the number of ODEs. Moreover, $\gamma$ and $\gamma_{ij}$ are parameters that characterise the method (along with $a_{ij}$, $c_i$, $b_i$, and $b_i^{*}$). - -\paragraph{Implementing a new Butcher tableau in {\tt NaBBODES}} As already mentioned, \mimes uses {\tt NaBBODES}, which supports the implementation of new Butcher tableaux. This is done by adding a new class (or struct) inside the header file {\tt METHOD.hpp} that can be found in {\tt \mimes/src/NaBBODES/RKF} for the explicit RK and {\tt \mimes/src/NaBBODES/Rosenbrock} for the Rosenbrock embedded methods. All the new parameters must be {\tt public}, {\tt constexpr static} variables, of a type that is the template parameter of the method. For example, the Heun-Euler method can be implemented by adding the following code in {\tt \mimes/src/NaBBODES/RKF/METHOD.hpp} -% -\begin{cpp} - /*-----Implementation of the Heun-Euler method-----*/ - /*-----It shouldn't be used for MiMeS, since it is likely to fail-----*/ - - //LD is the numeric type (\ie double, or long double). - template - //use struct because its variables are public by default. - struct HeunEuler{ - static constexpr unsigned int s=2; // HeunEuler is a 2-stage RK - static constexpr unsigned int p=1; // first order, with embedded ?$p+1=2$? - - //these are aliases for the arrays - using arr=std::array; - using arr2=std::array,s>; - - static constexpr arr b={0.5,0.5}; // this is ?$b_i$? - static constexpr arr bstar={0.5,0.5}; // this is ?$b_i^{*}$? - static constexpr arr c={0,1}; // remember that ?$c_i = \displaystyle\sum_{j=1}^{s} a_{ij}$? - - // this is ?$a_{ij}$? - static constexpr arr2 a={ - arr{0,0}, - arr{1,0} - }; - }; -\end{cpp} - -In order to implement the ROS3w~\cite{RangAngermann2005} method, one can add the following code in the header file {\tt \mimes/src/NaBBODES/Rosenbrock/METHOD.hpp} -% -\begin{cpp} - /*-----Implementation of the ROS3w method-----*/ - /*-----It shouldn't be used, since it is likely to fail to produce a result-----*/ - - - //LD is the numeric type (?\ie? double, or long double). - template - struct ROS3w{ - static constexpr unsigned int s=3; // 3-stage - static constexpr unsigned int p=2; // second order (embedded order is ?$p+1$?) - - //aliases for the arrays - using arr=std::array; - using arr2=std::array,s>; - - static constexpr arr b={0.25,0.25,0.5 }; // this is ?$b_i$? - // this is ?$b_i^{*}$? - static constexpr arr bstar={ 0.746704703274,0.1144064078371,0.1388888888888}; - - static constexpr arr c={0,2/3.,4/3.}; // remember that ?$c_i = \displaystyle\sum_{j=1}^{s} a_{ij}$? - static constexpr LD gamma=0.4358665215084; // this is ?$\gamma$? - - // this is ?$a_{ij}$? - static constexpr arr2 a={ - arr{0,0,0}, - arr{2/3.,0,0}, - arr{2/3.,2/3.,0} - }; - - // this is ?$\gamma_{ij}$? - static constexpr arr2 g={ - arr{0,0,0}, - arr{0.3635068368900,0,0}, - arr{-0.8996866791992,-0.1537997822626,0} - }; - }; -\end{cpp} - -\paragraph{How to compile \mimes in order to use the newly implemented method} Once a new Butcher tableau is implemented, the \cppin{mimes::Axion} class can use it. This class, just needs the name of method assigned to the corresponding template argument; {\tt Method}. A convenient way to do this, is to define a macro using the {\tt -D} flag of the compiler, and use macro as the corresponding template parameter of the \cppin{mimes::Axion} class. Alternatively, if one uses the {\tt makefile} files, a method can be chosen by adding it in the corresponding {\tt Definitions.mk} file; \eg as {\tt METHOD=ROS3w} for the {\tt ROW3} method.~\footnote{One needs to make sure to use the correct \cppin{Solver} template argument (or \cppin{SOLVER} variable in the {\tt Definitions.mk} files), otherwise compilation will fail.} - - -\section{\CPP classes}\label{app:classes} -\setcounter{equation}{0} -% -\mimes is designed as an object-oriented header-only library. That is, all the basic components of the library are defined as classes inside header files. All the classes relevant to the use of \mimes are under the namespace {\tt mimes}. - -\subsection{{\tt Cosmo} class} -% -The \cppin{mimes::Cosmo} class is responsible for interpolation of the various quantities of the plasma. Its header file is {\tt \mimes.src/Cosmo/Cosmo.hpp}, and needs to be included in order to use this class. The template parameter {\tt LD} is the numeric type that will be used, \eg \cppin{double}. The constructor of this class is -% -\begin{cpp} - template - mimes::Cosmo(std::string cosmo_PATH, LD minT=0, LD maxT=mimes::Cosmo::mP) -\end{cpp} -% -The argument {\tt cosmo\_PATH} is the path of the data file that contains $T$ (in $\GeV$), $\heff$, $\geff$, with increasing $T$. The parameters {\tt minT} and {\tt maxT} are minimum and maximum interpolation temperatures. These temperatures are just limits, and the action interpolation is done between the closest temperatures in the data file. Moreover, beyond the interpolation temperatures, both $\heff$ and $\geff$ are assumed to be constants. - -Interpolation of the RDOF, allows us to define various quantities related to the plasma; \eg the entropy density is defined as $s = \dfrac{2\pi^2}{45} \heff T^3$. These quantities are given as the member functions: -% -\begin{itemize} - \item \cppin{ template LD mimes::Cosmo::heff(LD T)}: $\heff$ as a function of $T$. - \item \cppin{ template LD mimes::Cosmo::geff(LD T)}: $\geff$ as a function of $T$. - % - \item \cppin{ template LD mimes::Cosmo::dheffdT(LD T)}: $d\heff/dT$ as a function of $T$. - \item \cppin{ template LD mimes::Cosmo::dgeffdT(LD T)}: $d\geff/dT$ as a function of $T$. - % - \item \cppin{ template LD mimes::Cosmo::dh(LD T)}: $\delta_h = 1 + \frac{1}{3} \frac{d\log \heff}{d\log T}$ as a function of $T$. - % - \item \cppin{ template LD mimes::Cosmo::s(LD T)}: The entropy density of the plasma as a function of $T$. - \item \cppin{ template LD mimes::Cosmo::rhoR(LD T)}: The energy density of the plasma as a function of $T$. - \item \cppin{ template LD mimes::Cosmo::Hubble(LD T)}: The Hubble parameter assuming radiation dominated expansion as a function of $T$. -\end{itemize} - -Moreover, there are several cosmological quantities are given as members variables: -% -\begin{itemize} - \item \cppin{template constexpr static LD mimes::Cosmo::T0}: CMB temperature today~\cite{Zyla:2020zbs} in $\GeV$. - \item \cppin{ template constexpr static LD mimes::Cosmo::h_hub}: Dimensionless Hubble constant~\cite{Zyla:2020zbs}. - \item \cppin{ template constexpr static LD mimes::Cosmo::rho_crit}: Critical density~\cite{Zyla:2020zbs} in $\GeV^3$. - \item \cppin{ template constexpr static LD mimes::Cosmo::relicDM_obs}: Central value of the measured DM relic abundance~\cite{Planck:2018vyg}. - \item \cppin{ template constexpr static LD mimes::Cosmo::mP}: Planck mass~\cite{Zyla:2020zbs} in $\GeV$. -\end{itemize} - - -\subsection{{\tt AnharmonicFactor} class} -% -The class \cppin{mimes::AnharmonicFactor} is responsible interpolating the anharmonic factor as defined in \eqs{eq:anharmonic_f}. The corresponding header file is {\tt \mimes/src/AnharmonicFactor/AnharmonicFactor.hpp}. - -The constructor of this class is -% -\begin{cpp} - template - mimes::AnharmonicFactor(std::string anharmonic_PATH) -\end{cpp} -% -Again, the template argument {\tt LD} is a numeric type, and the {\tt anharmonic\_PATH} string is the path of the data file with data for $\thetamax$ (which should be in increasing order) and $f(\thetamax)$. - -The member function that \mimes uses is the overloaded call operator -% -\begin{cpp} - template LD mimes::AnharmonicFactor::operator()(LD theta_peak) -\end{cpp} -% -This function returns the value of the anharmonic factor at $\thetamax=${\tt theta\_peak}. Although, there is no need to call this function beyond the interpolation limits (as long as the data file contains $0\leq \thetamax \leq \pi$), it is important to note that the anharmonic factor is taken to be constant beyond these limits. - - -\subsection{{\tt AxionMass} class} -% -The \cppin{mimes::AxionMass} class is responsible for the definition of the axion mass. The header file of this class is {\tt \mimes/src/AxionMass/AxionMass.hpp}. Its usage and member functions are described in the examples given in sections~\refs{sec:First_examples,sec:complete_examples}. However, it would be helpful to outline them here. - -The class has two constructors. The first one is -% -\begin{cpp} - template - mimes::AxionMass(std::string chi_PATH, LD minT=0, LD maxT=mimes::Cosmo::mP) -\end{cpp} -% -The first argument, {\tt chi\_PATH}, is the path to a data file that contains two columns; $T$ (in $\GeV$) and $\chi$ (in $\GeV^4$), with increasing $T$. The arguments {\tt minT} and {\tt maxT} are the interpolation limits. These limits are used in order to stop the interpolation in the closest temperatures that exist in the data file. That is the actual interpolation limits are $T_{\min}\geq${\tt minT} and $T_{\max}\leq${\tt maxT}. Beyond these limits, by default, the axion mass is assumed to be constant. However, this can be changed by using the member functions -% -\begin{cpp} - void set_ma2_MIN(std::function ma2_MIN) - void set_ma2_MAX(std::function ma2_MAX) -\end{cpp} -% -Here, {\tt ma2\_MIN} and {\tt ma2\_MAX} are functors that define the axion mass squared beyond the interpolation limits. In order to ensure that the axion mass is continuous, usually we need $T_{\min}$, $T_{\max}$, $\chi(T_{\rm min})$, and $\chi(T_{\rm max})$. These values can be obtained using the member functions -% -\begin{itemize} - \item \cppin{template LD mimes::AxionMass::getTMin()}: This function returns the minimum interpolation temperature, $T_{\rm min}$. - \item \cppin{template LD mimes::AxionMass::getTMax()}: This function returns the maximum interpolation temperature, $T_{\rm max}$. - \item \cppin{template LD mimes::AxionMass::getChiMin()}: This function returns $\chi(T_{\rm min})$. - \item \cppin{template LD mimes::AxionMass::getChiMax()}: This function returns $\chi(T_{\rm max})$. -\end{itemize} - -An alternative way to define the axion mass is via the constructor -% -\begin{cpp} - template - mimes::AxionMass(std::function ma2) -\end{cpp} -% -Here, the only argument is the axion mass squared, $\maT$, defined as a callable object. - - -Once an instance of the class is defined, we can get $\maT^2$ using the member function -% -\begin{cpp} - template LD mimes::AxionMass::ma2(LD T, LD fa) -\end{cpp} -% -We should note that {\tt ma2} is a public {\tt std::function} member variable. Therefore, it can be assigned using the assignment operator. However, in order to change its definition, we can also use the following member function: -% -\begin{cpp} - template void mimes::AxionMass::set_ma2(std::function ma2) -\end{cpp} - - -\subsection{{\tt AxionEOM} class} -% -The \cppin{mimes::AxionEOM} class is not useful for the user. However, it is responsible for the interpolation of the underlying cosmology, and the definition of the axion EOM~\ref{eq:eom_sys}, which is passed to the ODE solver of {\tt NaBBODES}. - -The constructor of the class is -% -\begin{cpp} - template - mimes::AxionEOM(LD fa, LD ratio_ini, std::string inputFile, AxionMass *axionMass) -\end{cpp} -% -The role of the arguments are discussed in section~\refs{sec:cpp_first_example,sec:run_time_input} as well as in table~\ref{tab:run_time-input}. One the instance is created, the interpolations are constructed by calling the member function -% -\begin{cpp} - template void mimes::AxionEOM::makeInt() -\end{cpp} -% -Then, the temperature as a function of $u=\log a/\ai$, is given via the member function -% -\begin{cpp} - template LD mimes::AxionEOM::Temperature(LD u) -\end{cpp} -% -Another useful member function is -% -\begin{cpp} - template LD mimes::AxionEOM::logH2(LD u) -\end{cpp} -% -This function returns $\log H^2$ as a function of $u$. Moreover, its derivative, $\frac{d \log H^2}{du}$, is computed using -% -\begin{cpp} - template LD mimes::AxionEOM::dlogH2du(LD u) -\end{cpp} -% -It should be noted that the highest interpolation temperature is determined by {\tt ratio\_ini} while the lower interpolation temperature is the one given in the data file {\tt inputFile}. Beyond these limits, all functions are assumed to be constant. Therefore, one should be careful, and choose an appropriate {\tt ratio\_ini}, and provide a lower temperature at which any entropy injection has stopped and the axion has reached its adiabatic evolution. - - -Finally, the actual EOM is given an overloaded call operator -% -\begin{cpp} - template - void mimes::AxionMass::operator()(std::array &lhs, std::array &y, LD u) -\end{cpp} -% -Here, the inputs are $u=\log a/\ai$, {\tt y[0]}$=\theta$, and {\tt y[1]}$=\zeta$; which are used to calculate the components of the EOM, with {\tt lhs[0]}$=\frac{d \theta}{d u}$ and {\tt lhs[1]}$=\frac{d \zeta}{d u}$. - - - -\subsection{{\tt Axion} class} -% -The \cppin{mimes::Axion} class is the class that combines all the others, and actually solves the axion EOM~\ref{eq:eom_sys}. Its header file is {\tt \mimes/src/Axion/AxionSolve.hpp}, and its constructor is -% -\begin{cpp} - template - mimes::Axion< LD, Solver, Method >(LD theta_i, LD fa, LD umax, LD TSTOP, - LD ratio_ini, unsigned int N_convergence_max, LD convergence_lim, - std::string inputFile, AxionMass *axionMass, LD initial_step_size=1e-2, - LD minimum_step_size=1e-8, LD maximum_step_size=1e-2, LD absolute_tolerance=1e-8, - LD relative_tolerance=1e-8, LD beta=0.9, LD fac_max=1.2, LD fac_min=0.8, - unsigned int maximum_No_steps=10000000) -\end{cpp} -% -The various arguments are discussed in section~\refs{sec:cpp_first_example,sec:run_time_input}; and outlined in table~\ref{tab:run_time-input}. -% - -The member function responsible for solving the EOM is -% -\begin{cpp} - template - void mimes::Axion< LD, Solver, Method >::solveAxion() -\end{cpp} -% -Once this function finishes, the results are stored in several member variables. - -The quantities $a/\ai, \ T, \ \theta, \ \zeta, \rho_a$, at the integration steps are stored in -% -\begin{cpp} - template - std::vector< std::vector > mimes::Axion< LD, Solver, Method >::points -\end{cpp} -% - -The quantities $a/\ai, \ T, \ \theta, \ \zeta, \rho_a, \ J$, at the peaks of the oscillation are stored in -% -\begin{cpp} - template - std::vector< std::vector > mimes::Axion< LD, Solver, Method >::peaks -\end{cpp} -% -Note that these points are computed using linear interpolation between two integration points with a change in the sign of $\zeta$. - - -The local integration errors for $\theta$ and $\zeta$ are stored in -% -\begin{cpp} - template - std::vector mimes::Axion< LD, Solver, Method >::dtheta - - template - std::vector mimes::Axion< LD, Solver, Method >::dzeta -\end{cpp} -% -Moreover, the oscillation temperature, $\Tosc$, and the corresponding values of $a/\ai$ and $\theta$ are given in -% -\begin{cpp} - template - LD mimes::Axion< LD, Solver, Method >::T_osc - - template - LD mimes::Axion< LD, Solver, Method >::a_osc - - template - LD mimes::Axion< LD, Solver, Method >::theta_osc -\end{cpp} -% -Also, the entropy injection between the last peak ($T=T_{\rm peak}$) and today ($T=T_0$), $\gamma$ (defined as in \eqs{eq:entropy_injection_gamma}), is given in -% -\begin{cpp} - template - LD mimes::Axion< LD, Solver, Method >::gamma -\end{cpp} -% -The relic abundance is stored in the following member variable -% -\begin{cpp} - template - LD mimes::Axion< LD, Solver, Method >::relic -\end{cpp} - - - -We can set another initial condition, $\thetai$, using -% -\begin{cpp} - template - void mimes::Axion< LD, Solver, Method >::setTheta_i(LD theta_i) -\end{cpp} -% -We should note that running this function all variables are cleared. So we lose all information about the last time {\tt axionSolve()} ran. - -In case the mass of the axion is changed, we also need to remake the interpolation (\ie run \cppin{mimes::AxionEOM::makeInt()}). This is done using -% -\begin{cpp} - template - void mimes::Axion< LD, Solver, Method >::restart() -\end{cpp} -% -Again, this function clears all member variables. So it should be used with caution. - - -Finally, there is static \cppin{mimes::Cosmo} member variable -% -\begin{cpp} - template - static mimes::Cosmo mimes::Axion< LD, Solver, Method >::plasma -\end{cpp} -% -This variable can be used without an instance of the \cppin{mimes::Axion} class. - -\section{\PY interface}\label{app:modules} -\setcounter{equation}{0} - -The various \PY modules, classes, and functions are designed to work exactly in the same way as the ones in \CPP. All the modules are located in \pyin{src/interfacePY}, so it is helpful to add the {\tt \mimes/src} path to the system path at the top of every script that uses \mimes. This is done by adding -% -\begin{py} - from sys import path as sysPath - sysPath.append('path_to_src') -\end{py} - -The available models are {\tt Cosmo}, {\tt AxionMass}, and {\tt Axion}, each defines a class with the same name. - -\subsection{{\tt Cosmo} class} -% -The {\tt Cosmo} module defines the \pyin{Cosmo} class, which contains information about the plasma. The relevant shared library ({\tt lib/libCosmo.so}) is obtained by compiling {\tt \mimes/src/Cosmo/Cosmo.cpp} using {\tt make lib/libCosmo.so}. -% - -The class can be imported by running -% -\begin{py} - from interfacePy.Cosmo import Cosmo -\end{py} -% -Its constructor is -% -\begin{py} - Cosmo(cosmo_PATH, minT=0, maxT=mP) -\end{py} -% -The argument {\tt cosmo\_PATH} is the path (a string) of a data file that contains $T$ (in $\GeV$), $\heff$, $\geff$, with accenting $T$. The second and third arguments, {\tt minT} and {\tt maxT}, are minimum and maximum interpolation temperatures, with the interpolation being between the closest temperatures in the data file. Moreover, beyond these limits, both $\heff$ and $\geff$ are assumed to be constants. It is important to note that the class creates a \cppin{void} pointer that gets recasted to \cppin{mimes::Cosmo} in order to call the various member functions. This means that once an instance of \pyin{Cosmo} is no longer needed, it must be deleted, in order to free the memory that it occupies. An instance, say {\tt cosmo}, is deleted using -% -\begin{py} - del cosmo -\end{py} - -The member functions of this class are: -% -\begin{itemize} - \item \pyin{Cosmo.heff(T)}: $\heff$ as a function of $T$. - \item \pyin{Cosmo.geff(T)}: $\geff$ as a function of $T$. - % - \item \pyin{Cosmo.dheffdT(T)}: $d\heff/dT$ as a function of $T$. - \item \pyin{Cosmo.dgeffdT(T)}: $d\geff/dT$ as a function of $T$. - % - \item \pyin{Cosmo.dh(T)}: $\delta_h = 1 + \frac{1}{3} \frac{d\log \heff}{d\log T}$ as a function of $T$. - % - \item \pyin{Cosmo.s(T)}: The entropy density of the plasma as a function of $T$. - \item \pyin{Cosmo.rhoR(T)}: The energy density of the plasma as a function of $T$. - \item \pyin{Cosmo.Hubble(T)}: The Hubble parameter assuming radiation dominated expansion as a function of $T$. -\end{itemize} - -The several cosmological quantities are given as members variables: -% -\begin{itemize} - \item \pyin{Cosmo.T0}: CMB temperature today~\cite{Zyla:2020zbs} in $\GeV$. - \item \pyin{Cosmo.h_hub}: Dimensionless Hubble constant~\cite{Zyla:2020zbs}. - \item \pyin{Cosmo.rho_crit}: Critical density~\cite{Zyla:2020zbs} in $\GeV^3$. - \item \pyin{Cosmo.relicDM_obs}: Central value of the measured DM relic abundance~\cite{Planck:2018vyg}. - \item \pyin{Cosmo.mP}: Planck mass~\cite{Zyla:2020zbs} in $\GeV$. -\end{itemize} - -Note that these values can be directly imported from the module, without declaring an instance of the class, as -% -\begin{py} - from interfacePy.Cosmo import T0, h_hub, rho_crit, relicDM_obs, mP -\end{py} - -\subsection{{\tt AxionMass} class} -% -The \pyin{AxionMass} class is defined in the module with the same name that can be found in the directory {\tt \mimes/src/interfacePy/AxionMass}. This class is responsible for the definition of the axion mass. This module loads the corresponding shared library from {\tt \mimes/lib/libma.so}, which is created by compiling {\tt \mimes/src/AxionMass/AxionMass.cpp} using \run{make lib/libma.so}. -% -Its usage is described in the examples given in sections~\refs{sec:First_examples,sec:complete_examples}. Moreover, this class is used in the same way as \cppin{mimes::AxionMass}. However, we should append in this section the definition of its member functions in \PY. - -The class is imported using -% -\begin{py} - from interfacePy.AxionMass import AxionMass -\end{py} - -The constructor is -% -\begin{py} - AxionMass(*args) -\end{py} -% -and can be used in two different ways. - -First, one can pass three arguments, \ie -% -\begin{py} - AxionMass(chi_PAT, minT, maxT) -\end{py} -% -The first argument is the path to a data file that contains two columns; $T$ (in $\GeV$) and $chi$ (in $\GeV^4$), with increasing $T$. The arguments {\tt minT} and {\tt maxT} are the interpolation limits. These limits are used in order to stop the interpolation in the closest temperatures in {\tt chi\_PATH}. That is the actual interpolation limits are $T_{\min}\geq${\tt minT} and $T_{\max}\leq${\tt maxT}. Beyond these limits, by default, the axion mass is assumed to be constant. However, this can be changed by using the member functions -% -\begin{py} - AxionMass.set_ma2_MIN(ma2_MIN) - AxionMass.set_ma2_MAX(ma2_MAX) -\end{py} -% -Here, {\tt ma2\_MIN(T,fa)} and {\tt ma2\_MAX(T,fa)}, are functions (not any callable object), should take as arguments {\tt T} and {\tt fa}, and return the axion mass squared beyond the interpolation limits. In order to ensure that the axion mass is continuous, usually we need $T_{\min}$, $T_{\max}$, $\chi(T_{\rm min})$, and $\chi(T_{\rm max})$. These values can be obtained using the member functions -% -\begin{itemize} - \item \pyin{AxionMass.getTMin()}: This function returns the minimum interpolation temperature, $T_{\rm min}$. - \item \pyin{AxionMass.getTMax()}: This function returns the maximum interpolation temperature, $T_{\rm max}$. - \item \pyin{AxionMass.getChiMin()}: This function returns $\chi(T_{\rm min})$. - \item \pyin{AxionMass.getChiMax()}: This function returns $\chi(T_{\rm max})$. -\end{itemize} - -An alternative way to define the axion mass is via the constructor -% -\begin{cpp} - AxionMass(ma2) -\end{cpp} -% -Here, {\tt ma2(T,fa)} is a function (not any callable object) that takes $T$ (in $\GeV$) and $f_a$, and returns $m_a^2(T)$ (in $\GeV$). As in the other \PY classes, once the instances of this class are no longer needed, they must be deleted using the destructor, \pyin{del}. - - -The member function that returns $\maT^2$ is -% -\begin{py} - AxionMassma2(T,fa) -\end{py} -% -We should note that another {\tt ma2} can be changed using the following member function: -% -\begin{py} - AxionMass.set_ma2(ma2) -\end{py} -% -Again, {\tt ma2(T,fa)} is a function (not any callable object) that takes $T$ (in $\GeV$) and $f_a$, and returns $m_a^2(T)$ (in $\GeV$). - - - - -\subsection{{\tt Axion} class} -% -The class \pyin{Axion}, solves the axion EOM~\ref{eq:eom_sys}. This class is defined in {\tt \mimes/interfacePy/Axion/Axion.py}, and imports the corresponding shared library. This library is compiled by running {\tt make lib/Axion\_py.so}, and its source file is {\tt \mimes/src/Axion/Axion-py.cpp}. As in the previous classes, its usage is similar to the \CPP version. - -Its constructor is -% -\begin{py} - Axion(theta_i, fa, umax, TSTOP, - ratio_ini, unsigned int N_convergence_max, convergence_lim, - inputFile, axionMass, initial_step_size=1e-2, - minimum_step_size=1e-8, maximum_step_size=1e-2, absolute_tolerance=1e-8, - relative_tolerance=1e-8, beta=0.9, fac_max=1.2, fac_min=0.8, - unsigned int maximum_No_steps=10000000) -\end{py} -% -Again, the various arguments are discussed in section~\refs{sec:cpp_first_example,sec:run_time_input}; and can also be found in table~\ref{tab:run_time-input}. Notice one important difference between this and the \CPP verison of this class; the instance of \pyin{AxionMass}, {\tt axionMass}, is passed by value (there are no pointers in \PY). However, internally, the constructor converts this instance to a pointer, which is then passed to the underlying {\tt C} function responsible for creating the relevant instance. -% - -The member function responsible for solving the EOM is -% -\begin{py} - Axion.solveAxion() -\end{py} -% -Once this function is finished, the following member funcions are available -\begin{itemize} - \item \pyin{Axion.T_osc}: the oscillation temperature, $\Tosc$, in $\GeV$. - \item \pyin{Axion.a_osc}: $\dfrac{a}{\ai}$ at the oscillation temperature. - \item \pyin{Axion.theta_osc}: $\thetaosc$, \ie $\theta$ at $\Tosc$. - \item \pyin{Axion.gamma}: the entropy injection between the last peak ($T=T_{\rm peak}$) and today ($T=T_0$), $\gamma$ (defined as in \eqs{eq:entropy_injection_gamma}). - \item \pyin{Axion.relic} The relic abundance of the axion. -\end{itemize} - -The evolution of $a/\ai, \ T, \ \theta, \ \zeta, \rho_a$ at the integration steps, is not automatically accessible to user, but they can be made so using -% -\begin{py} - Axion.getPoints() -\end{py} -% -Then, the following member variables are filled -% -\begin{itemize} - \item \pyin{Axion.a}: The scale factor over its initial value, $\dfrac{a}{\ai}$. - \item \pyin{Axion.T}: The temperature in $\GeV$. - \item \pyin{Axion.theta}: The axion angle, $\theta$. - \item \pyin{Axion.zeta}: The derivative of $\theta$, $\zeta \equiv \dfrac{d \theta}{d \log (a/\ai)}$. - \item \pyin{Axion.rho_axion}: The axion energy density in $\GeV^4$. -\end{itemize} - -Moreover, the function -% -\begin{py} - Axion.getPeaks() -\end{py} -% -fills the (\pyin{numpy}) arrays \pyin{Axion.a_peak}, \pyin{Axion.T_peak}, \pyin{Axion.theta_peak}, \pyin{Axion.zeta_peak}, \pyin{Axion.rho_axion_peak}, and \pyin{Axion.adiabatic_invariant} with the quantities $a/\ai, \ T, \ \theta, \ \zeta, \rho_a, \ J$, at the peaks of the oscillation. These points are computed using linear interpolation between two integration points with a change in the sign of $\zeta$. - - -The local integration errors for $\theta$ and $\zeta$ are stored in \pyin{Axion.dtheta} and \pyin{Axion.dzeta}, after the following function is run -% -\begin{py} - Axion.getErrors() -\end{py} -% - - - -Another initial condition, $\thetai$, can be used without declaring a new instance using -% -\begin{py} - Axion.setTheta_i(theta_i) -\end{py} -% -We should note that running this function all variables are cleared. - -As in the previous \PY classes, once an instance of the \pyin{Axion} class is no longer needed, it needs to be deleted, by calling the destructor, \pyin{del}. - -\paragraph{Important difference between the \CPP version} Since the axion mass is passed by value in the constructor, a change of the \pyin{AxionMass} instance has no effect on the \pyin{Axion} instance that uses it. Therefore, if the definition of the axion mass changes, one has to declare a new instance of the \pyin{Axion} class. The new instance can be named using the name of the previous one, if the latter is deleted by running its destructor. - -\section{{\tt WKB} module}\label{app:ScanScript} -% -The {\tt WKB} module can be used to calculate the axion relic abundance using the WKB approximation discussed in section~\ref{sec:Physics}. The module can be imported using -% -\begin{py} - from interfacePy import WKB -\end{py} -% -It contains the definition of a function that returns the relic abundance using the WKB approximation, which is -% -\begin{py} - WKB.relic(Tosc, theta_osc ,ma2, gamma=1, - cosmo=Cosmo(_PATH_+r'/src/data/eos2020.dat',0,Cosmo.mP)) -\end{py} -% -Here, {\tt Tosc} is the oscillation temperate, {\tt ma2(T,fa)} is $\ma^2(T)$ as a function that takes $T$ and $f_a$ as arguments, {\tt cosmo} an instance of the \pyin{Cosmo} class, and {\tt gamma} the entropy injection (as defined in \eqs{eq:WKB_gamma_def}). - -Moreover, there is a function that helps to determine $\Tosc$ and $\gamma$, which is -% -\begin{py} - WKB.getPoints(fa, ma2, inputFile, cosmo=Cosmo(_PATH_+r'/src/data/eos2020.dat',0,Cosmo.mP)) -\end{py} -% -The arguments {\tt fa}, {\tt inputFile},$\fa$, and {\tt cosmo} the path to a file that describes the cosmology (described in table~\ref{tab:run_time-input}), $\fa$ (in $GeV$), an instance of the \pyin{Cosmo} class, respectively. -% -This function returns $\gamma$ (the entropy injection between {\tt Tosc} and today) and $\Tosc$. - - -\section{The {\tt ScanScript} module}\label{app:ScanScript} -% -The \PY interface of \mimes has two simple classes that help to scan over $\thetai$ and $\fa$, in parallel. These two classes can be imported from the module \pyin{ScanScript}. - -Tis module is based on the \pyin{bash} script {\tt \mimes/src/util/parallel\_scan.sh}, which automatically performs scans in parallel. This script is used as -% -\begin{py} - bash src/util/parallel_scan.sh executable cpus inputFile -\end{py} -% -Here, {\tt executable} is the path to an executable, {\tt cpus} the number of instances of the {\tt executable} to launch simultaneously, and {\tt inputFile} a file that contains the arguments the {\tt executable} expects. This file should contain arguments for the {\tt executable} in each line. This script, then, separates all in arguments in the {\tt inputFile} in batches of size {\tt cpus}, and runs one batch at a time. - - -\subsection{The {\tt Scan} class}\label{app:Scan} -% -The \pyin{Scan} class writes a time-coded file (so it would be unique) with columns that correspond to $\thetai$, $\fa$ ($\GeV$), $\thetaosc$, $\Tosc$ (in $\GeV$), and $\Omega h^2$, for every combination of $\thetai$ and $\fa$ that are passed as input. - -This class is imported using -% -\begin{py} - from interfacePy.ScanScript import Scan -\end{py} - -Its constructor is -% -\begin{py} - ScanScript.Scan(cpus,table_fa,table_theta_i,umax,TSTOP,ratio_ini, - N_convergence_max,convergence_lim,inputFile, - PathToCppExecutable, break_after=5*60,break_time=5,break_command='', - initial_step_size=1e-2, minimum_step_size=1e-8, maximum_step_size=1e-2, - absolute_tolerance=1e-8, relative_tolerance=1e-8, - beta=0.9, fac_max=1.2, fac_min=0.8, maximum_No_steps=int(1e7)) -\end{py} -% -Some arguments are the same as in the \pyin{Axion} class, and their definition can be found in table~\ref{tab:run_time-input}. The other arguments are -% -\begin{itemize} - \item {\tt cpus}: number of points to run simultaneously (number of cpus available). - \item {\tt table\_fa}: table of $\fa$ to scan. - \item {\tt table\_theta\_i}: table of $\thetai$ to scan - \item {\tt PathToCppExecutable}: path to an executable that takes {\tt theta\_i}, {\tt fa}, {\tt umax}, {\tt TSTOP}, {\tt ratio\_ini}, {\tt N\_convergence\_max}, {\tt convergence\_lim}, and {\tt inputFile}; and prints {\tt theta\_i}, {\tt fa}, {\tt theta\_osc}, {\tt T\_osc}, and {\tt relic}. - \item {\tt break\_after}, {\tt break\_time}: take a break after {\tt break\_after} seconds for {\tt break\_time} seconds. - \item {\tt break\_command} (optional): before it takes a break, run this system command (this may be a script to send the results - via e-mail, or back them up). -\end{itemize} -% -The scan runs using the method -% -\begin{py} - Scan.run() -\end{py} -% -For every value of $\fa$, this method calls another one \pyin{Scan.run_batch()}, which in turn calls the \pyin{bash} script {\tt \mimes/src/util/parallel\_scan.sh} with arguments {\tt PathToCppExecutable}, {\tt cpus}, and a file that contains all the inputs for {\tt PathToCppExecutable} for all values in \pyin{table_theta}. - - -As the scan runs, it prints the number of batches that have been evaluated, the mean time it takes to evaluate one batch, and an estimate of the remaining time. It should be noted that if the scan exits before it finishes, the next run will continue from the point at which it was stopped even if the inputs have changed. In order to start from the beginning, the user must delete the file {\tt count.\_mimes\_}. - -\subsection{The {\tt ScanObs} class}\label{app:ScanObs} -% -The \pyin{ScanObs} class scans for different values of $\fa$ (given as a table) and finds the value of $\thetai$ closer to the observed DM relic abundance. The result file is a time-coded file with columns correspond that to $\thetai$, $\fa$ (in $\GeV$), $\thetaosc$, $\Tosc$ (in $\GeV$), and $\Omega h^2$. -% -It is imported using -% -\begin{py} - from interfacePy.ScanScript import ScanObs -\end{py} -% -Its constructor is -% -\begin{py} - ScanScript.ScanObs(cpus,table_fa,len_theta,umax,TSTOP,ratio_ini, - N_convergence_max,convergence_lim,inputFile,axionMass, - PathToCppExecutable, relic_obs,relic_err_up,relic_err_low, - cosmo=Cosmo(_PATH_+r'/src/data/eos2020.dat',0,Cosmo.mP), - break_after=5*60,break_time=5,break_command='', - initial_step_size=1e-2, minimum_step_size=1e-8, maximum_step_size=1e-2, - absolute_tolerance=1e-8, relative_tolerance=1e-8, - beta=0.9, fac_max=1.2, fac_min=0.8, maximum_No_steps=int(1e7) -\end{py} -% -Here, {\tt len\_theta} is the number of different values of $\theta$ to be used in the search of a value closer to the central value of the observed DM relic abunance. The arguments {\tt relic\_obs}, {\tt relic\_err\_up}, {\tt relic\_err\_low} are the central value of $\Omega h^2$, and its upper and lower error; respectively. All the other arguments have already been defined previously. - -The scan runs using the method -% -\begin{py} - ScanObs.run() -\end{py} -% -For every value of $\fa$, this method first calculates the relic abundance for $\thetai \ll 1$, and finds the value of $\thetai$ that would result in $\Omega h^2 = ${\tt relic\_obs}; $\thetai^{\rm (approx)}$. This is easy to do, since for $\thetai \ll 1$, the EOM becomes independent of $\thetai$. - -Then, it creates an array, {\tt table\_theta}, of size {\tt len\_theta} that contains values of $\thetai$ between $Min(0.85 \ \thetai^{\rm (approx)},1)$ and -$Max(1.2 \ \thetai^{\rm (approx)},\pi)$. Then it calls \pyin{ScanObs.run_batch()}, which works as \pyin{Scan.run_batch()}. - - - -Similarly to the \pyin{Scan} class, if the scan exits before it finishes, the next run will continue from the point at which it was stopped. -In order to start from the beginning, delete the file {\tt count.\_mimes\_}. - - - -\subsection{\tt FT class} -% -The {\tt FT} class, defined in {\tt FT} module that can be found in {\tt src/interfacePy/FT}, is used to format the ticks when plotting using {\tt matplotlib}~\cite{Hunter:2007}. -% -The class can be imported using -% -\begin{py} - from interfacePy.FT import FT -\end{py} -% -The constructor of the class is -% -\begin{py} - FT(_M_xticks,_M_yticks, _M_xticks_exception,_M_yticks_exception, _m_xticks,_m_yticks, - xmin,xmax,ymin,ymax,xscale,yscale) -\end{py} -% -The various arguments are -% -\begin{itemize} - \item \pyin{_M_xticks},\pyin{_M_yticks}: A list for the major ticks in the x and y axes, respectively. - \item \pyin{_M_xticks},\pyin{_M_yticks}: A list for the major ticks in the x and y axes, respectively, for which no number is printed. - \item \pyin{_m_xticks},\pyin{_m_yticks}: A list for the minor ticks in the x and y axes, respectively. - \item \pyin{xmin}, \pyin{xmax} (\pyin{ymin},\pyin{ymax}): Minimum and maximum of the x (y) axes, respectively. - \item \pyin{xscale}, \pyin{yscale}: The scale of the x and y axes, respectively. The available values are \pyin{"linear"}, \pyin{"log"}, and \pyin{"symlog"}. -\end{itemize} - - -Instances of {\tt FT} should be defined after subplots have been defined, because the code seems clearer. Once this is done, we can format the ticks of a subplot, \pyin{sub}, using -% -\begin{py} - FT.format_ticks(plt,sub) -\end{py} -% -It is important to not that \pyin{plt} is the {\tt matplotlib.pyplot} module that is usually imported as -% -\begin{py} - import matplotlib.pyplot as plt -\end{py} - -\subsubsection*{Example of {\tt FT}} -% -Consider as an example the plot of $f(x) = e^{-\frac{1}{2}x^2}$ for $-5 \leq x \leq 5$. In order to do this, we need to run -% -\begin{py} - import numpy as np#you usually need numpy - - #---these are for plots---# - import matplotlib.pyplot as plt - - #load the FT module - from sys import path as sysPath - sysPath.append('../../src') - from interfacePy.FT import FT - - fig=plt.figure(figsize=(9,4)) - fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0) - sub = fig.add_subplot(1,1,1) - - x=np.linspace(-5,5,500) - sub.plot(x,np.exp(-1/2. * x**2)) -\end{py} - -Now we can format the ticks using \pyin{FT}. For the shake of this example, for the x-axis, we choose as major ticks all integrs except $3$ and $-3$, and minor ticks the halves of each major tick. Also, for the y-axis, we choose to only show major ticks for every $0.1$ in the interval of interest. Finally, we set the plot limits as $x \in [-5,5]$ ad $y \in [0,1]$, usng linear scale for both. This can be done as - -\begin{py} - #set major ticks - _M_xticks=[i for i in range(-5,6)] - _M_yticks=[i/10. for i in range(0,11)] - - #set major ticks that will not have a label - _M_xticks_exception=[-3,3] - _M_yticks_exception=[] - - _m_xticks=[i+j/2. for i in range(-5,6) for j in [0,1]] - _m_yticks=[] - ft=FT(_M_xticks, _M_yticks, _M_xticks_exception, _M_yticks_exception, _m_xticks, _m_yticks, - xmin=-5, xmax=5, ymin=0, ymax=1, xscale='linear', yscale='linear') - - ft.format_ticks(plt,sub) -\end{py} -% -\begin{figure}[t] - \centering - \includegraphics[width=0.65\textwidth]{figs/FT_example.pdf} - \caption{Example plot obtained by using the \pyin{FT} class.} - \label{fig:FT_example} -\end{figure} -% -The resulting plot is shown in \Figs{fig:FT_example}. - - - -\section{Utilities}\label{app:util} -\setcounter{equation}{0} -% -There are various utilities, that can be found {\tt \mimes/src/util}, which can be used to make the use of \mimes easier. In this section we will show how they work, and when they should be used. - -\subsection{\tt FormatFile.sh} -% -This is a {\tt bash} script that formats a data file so that it is compatible with the interpolation assumptions. It takes a path to a file as an arguments, and it returns the same file, sorted (in ascenting order) with respect to the first column, removes duplicate and empty lines, and it removes the last "new line" (\ie \cppin{\n}). The script is called as -% -\begin{cpp} - bash MiMeS/src/util/FormatFile.sh path_to_dat_file -\end{cpp} -% -Here {\tt path\_to\_dat\_file} is a path to the data file we would like to replace with the formatted one. Notice that {\tt FormatFile.sh} must be ran in order to ensure that the cosmological input needed by the \cppin{mimes::Axion>} class, is acceptable. - -Moreover, note that {\tt FormatFile.sh} is ran every time {\tt configure.sh} is called, in order to format the data files for the RDOFs, $\chi(T)$, and the anharmonic factor, in order to ensure that they comply with what \mimes expects. - - -\subsection{\tt timeit.sh} -% -This script takes two arguments. The first should be a path to an executable, the second a file that contains arguments to passed to the executable. The script, then, runs the executable, and prints in \cppin{stderr} the time it took (is seconds) to run it. It is important to note that each argument of the executable should be in a different line of the file.~\footnote{For example , if we have an executable that takes two arguments, let's assume the first is $3$ and the second is "foo", the file should read: \\ -\pyin{3}\\ -\pyin{foo} -} - -The script is called as -% -\begin{cpp} - bash MiMeS/src/util/timeit.sh path_to_executable path_to_dat_file -\end{cpp} -% -This script is useflul for running the example code in {\tt \mimes/UserSpace/Cpp/Axion/Axion.cpp}, which is compiled by calling \run{make examples} in the root directory of \mimes. The executable that results from the compilation of this source, {\tt Axion.run}, expects the same arguments as the constructor of the \cppin{mimes::Axion>} class (see section~\ref{app:classes}). This means that we can write a file (call it {\tt INPUT}) that contains all these arguments in each line, and simply run -% -\begin{cpp} - bash MiMeS/src/util/timeit.sh MiMeS/UserSpace/Cpp/Axion/Axion.run INPUT -\end{cpp} -% -The files {\tt KinationInputs}, {\tt MatterInputs}, and {\tt RDInputs}; in {\tt \mimes/UserSpace/Cpp/Axion}, show these files should look like in different cases. - - -\subsection{{\tt Timer} \CPP class} -% -The class \cppin{mimes::util::Timer}, defined in {\tt \mimes/src/util/timeit.hpp}, can be used in order to time processes in \CPP. An instance of this class prints its life-time -- \ie time from the moment it was created until it went out of scope -- in \cppin{stderr}. Instances of this class are intended to be used inside a scope in order to count te time it took to run a block of code. For example the time it takes to compute $\sum_{i=0}^{10^4} \ i$ can be determined as -% -\begin{cpp} - #include "src/util/timeit.hpp" - - int main(){ - auto sum = 0; - { - Timer _timer_; - for(auto i=0; i<=10000; ++i){ ++sum;} - } - - return 0; - } -\end{cpp} - -\subsection{{\tt linspace} function} -% -The function {\tt linspace}, defined in {\tt \mimes/src/util/linspace.hpp}, is used to generate linearly spaced numbers between some boundary. This function is overloaded; there are two functions with the same name and different signature. The first one is -% -\begin{cpp} - /*linspace where the list is pushed in a vector that is pass by reference*/ - template - void mimes::util::linspace(LD min, LD max, unsigned int length, std::vector &X) -\end{cpp} -% -Here, {\tt X} is cleared, and gets filled with {\tt lenght} linearly spaced numbers {\tt min} and {\tt max}. - -The overloaded version of this function is -% -\begin{cpp} - /*linspace where the list returned as a vector*/ - template - std::vector mimes::util::linspace(LD min, LD max, unsigned int length) -\end{cpp} -% -This function does not get a reference to a {\tt std::vector}, instead it return one. - -\subsection{{\tt logspace} function} -% -The function {\tt logspace}, defined in {\tt \mimes/src/util/logspace.hpp}, is used to generate $\log_{10}$ spaced points between a given boundary. The signatures of this function are -% -\begin{cpp} - /*logspace where the list is pushed in a vector that is pass by reference*/ - template - void mimes::util::logspace(LD min, LD max, unsigned int length, std::vector &X) - - /*logspace where the list returned as a vector*/ - template - std::vector mimes::util::logspace(LD min, LD max, unsigned int length) -\end{cpp} -% -Both of these functions work as \cppin{linspace}. - -\subsection{{\tt map} function} -% -The function {\tt map}, defined in {\tt \mimes/src/util/map.hpp}, applys a function of an \cppin{std::vector}, and fills anther \cppin{std::vector} with the result. The signatures of this function are - -\begin{cpp} - /*The list is pushed in a vector that is pass by reference*/ - template - void map(const std::vector &X, std::function func, std::vector &Y ) - - /*The list returned as a vector*/ - template - std::vector map(const std::vector &X, std::function func) -\end{cpp} -% -Both of these functions evaluate \cppin{func} (a callable object) for every element of \cppin{X}. If another \cppin{std::vector} is given, then it is cleared and filled with the results, otherwise the function returns a \cppin{std::vector} with the values of \cppin{func}$($\cppin{X}$)$. - - -\section{Quick guide to the user input}\label{app:usr_input} -\setcounter{equation}{0} -We present tables~\refs{tab:run_time-input,tab:input,tab:template-arguments}, with the various available run-time inputs, required files, and template arguments. In table~\ref{tab:compile_time-options} we show the available compile-time options, that can be used when compiling using the various {\tt makefile} files. -% -\begin{table}[h!] - \centering - \begin{tabular}{l l} - \hline\\[-0.4cm] - \multicolumn{2}{c}{\bf User run-time input.} \\ - \hline\\[-0.4cm] - - {\tt theta\_i} & Initial angle. \\ - \hline\\[-0.4cm] - - {\tt fa} & The PQ scale.\\ - \hline\\[-0.4cm] - - {\tt umax } & Once $u=\log a/a_i>${\tt umax}, the integration stops. Typical value: $\sim 500$.\\ - \hline\\[-0.4cm] - - {\tt TSTOP} & Once $T<${\tt TSTOP}, integration stops. Typical value: $10^{-4}~\GeV$.\\ - \hline\\[-0.4cm] - - {\tt ratio\_ini}& Integration starts at $u$ with $3H/\maT \approx${\tt ratio\_ini}. Typical value: $\sim 10^{3}$.\\ - \hline\\[-0.4cm] - - \multirow{1}{4cm}{{\tt N\_convergence\_max} {\tt convergence\_lim}} & \multirow{1}{12cm}{Integration stops when the relative difference - between two consecutive peaks is less than {\tt convergence\_lim} for {\tt N\_convergence\_max} - consecutive peaks. } \\ \\ \\ - \hline\\[-0.4cm] - - {\tt inputFile} & \multirow{1}{12cm}{Relative (or absolute) path to a file that describes the cosmology. The columns should be: $u$ $T ~[\GeV]$ $\log H$, with acceding $u$. Entropy injection should have stopped before the lowest temperature of given in {\tt inputFile}.} \\ \\ \\ \\ - \hline\\[-0.4cm] - - {\tt axionMass} &\multirow{1}{12cm}{Instance of \cppin{mimes::AxionMass} class. In \CPP this instance is passed as a pointer to the constructor - of the \cppin{mimes::Axion} class, while in \PY it is simply passed as a variable.}\\ \\ \\ \\ - \hline\\[-0.4cm] - - {\tt initial\_stepsize} & Initial step-size of the solver. Default value: $10^{-2}$.\\ - \hline\\[-0.4cm] - - {\tt minimum\_stepsize} & Lower limit of the step-size. Default value: $10^{-8}$.\\ - \hline\\[-0.4cm] - - {\tt maximum\_stepsize} & Upper limit of the step-size. Default value: $10^{-2}$.\\ - \hline\\[-0.4cm] - - {\tt absolute\_tolerance} & \multirow{1}{12cm}{Absolute tolerance of the RK solver (see also table~\ref{tab:RK_mimes_params}). Default value: $10^{-8}$.}\\\\ - \hline\\[-0.4cm] - - {\tt relative\_tolerance} & \multirow{1}{12cm}{Relative tolerance of the RK solver (see also table~\ref{tab:RK_mimes_params}). Default value: $10^{-8}$.}\\\\ - \hline\\[-0.4cm] - - {\tt beta} & \multirow{1}{12cm}{Aggressiveness of the adaptation strategy (see also table~\ref{tab:RK_mimes_params}). Default value: $0.9$.}\\\\ - \hline\\[-0.4cm] - - {\tt fac\_max}, {\tt fac\_min} &\multirow{1}{12cm}{The step-size does not change more than {\tt fac\_max} and less than {\tt fac\_min} within a trial step (see also table~\ref{tab:RK_mimes_params}). Default values: $1.2$ and $0.8$, respectively.} \\ \\ \\ - \hline\\[-0.4cm] - - {\tt maximum\_No\_steps} & \multirow{1}{12cm}{If integration needs more than {\tt maximum\_No\_steps} integration stops. Default value: $10^7$.}\\\\ - \hline\\[-0.4cm] - \end{tabular} - \caption{Table of run-time user input.} - \label{tab:run_time-input} -\end{table} - -\begin{table}[h!] - \centering - \begin{tabular}{l l} - \multicolumn{2}{c}{\bf Required data files, with corresponding variables in {\tt \mimes/Paths.mk}.} \\ - \hline\\[-0.4cm] - - {\tt cosmoDat}& \multirow{1}{12cm}{Relative path to data file with $T$ (in $\GeV$), $\heff$, $\geff$. If the path changes one must run - {\tt bash configure.sh} and {\tt make}.}\\\\ - \hline\\[-0.4cm] - - {\tt axMDat}& \multirow{1}{12cm}{Relative path to data file with $T$ (in $\GeV$), $\chi$ (defined from \eqs{eq:axion_mass_def}). If the path changes one must run {\tt bash configure.sh} and {\tt make}. This variable can be omitted, since the user can define an AxionMass instance using any path.}\\\\\\\\ - \hline\\[-0.4cm] - - {\tt anFDat}& \multirow{1}{12cm}{Relative path to data file with $\thetamax$, $f(\thetamax)$. If the path changes one must run - {\tt bash configure.sh} and {\tt make}.}\\\\ - \hline\\[-0.4cm] - - - - \end{tabular} - \caption{Paths to the required data files.} -\label{tab:input} -\end{table} - - -\begin{table}[h!] - \centering - \begin{tabular}{l l} - \multicolumn{2}{c}{\bf Template arguments.} \\ - \hline\\[-0.4cm] - - {\tt LD}& \multirow{1}{12cm}{This template argument appears in all classes of \mimes. The preferred choice should be either \cppin{long double}. However, in many cases \cppin{double} can be used. The user should be careful, as the later can lead to a inaccurate result; especially for low tolerances, and small values of $\theta$.}\\\\\\\\ - \hline\\[-0.4cm] - - {\tt Solver}& \multirow{1}{12cm}{This is the second template argument of the \cppin{mimes::Axion} class. The available choices are {\tt Solver}=$1$ for Rosenbrock method, and {\tt Solver}=$2$ for explicit RK method.}\\\\\\\\ - \hline\\[-0.4cm] - - {\tt Method}& \multirow{1}{12cm}{The third template argument of the \cppin{mimes::Axion} class. Its value depends on the choice of \cppin{Solver}; For {\tt Solver}=$1$, {\tt Method} can be either \cppin{RODASPR2} (fourth order) or \cppin{ROS34PW2} (third order). For {\tt Solver}=$2$, {\tt Method} can only be \cppin{DormandPrince} (seventh order). Notice that the definitions of the various method classes, also need a template argument,\cppin{LD}, that must be the same as thi first template argument of the \cppin{mimes::Axion} class. If one defines their own Butcher table (see Appendix~\ref{app:RK}), then they would have to follow their definitions and assumptions.}\\\\\\\\\\\\\\\\\\ - \hline - \end{tabular} - \caption{Template arguments of the various \mimes classes.} - \label{tab:template-arguments} -\end{table} - - - - -\begin{table}[h!] - \centering - \begin{tabular}{l l} - \multicolumn{2}{c}{\bf User compile-time options. Variables in the various {\tt Definitions.mk} files.} \\ - \hline\\[-0.4cm] - - {\tt rootDir}& \multirow{1}{12cm}{The relative path of root directory of \mimes. Relevant only when compiling using {\tt make}. Available in all {\tt Definitions.mk}.}\\\\ - \hline\\[-0.4cm] - - {\tt LONG}& \multirow{1}{12cm}{{\tt long} for \cppin{long double} or empty for \cppin{double}. This is defines a macro in the source files of the various \CPP examples. Available in {\tt Definitions.mk} inside the various subdirectories of {\tt \mimes/UserSpace/Cpp}.}\\\\\\\\ - \hline\\[-0.4cm] - - {\tt LONGpy}& \multirow{1}{12cm}{{\tt long} or empty. Same as {\tt LONG}, applies in the \PY modules. Available in {\tt \mimes/Definitions.mk}.}\\\\ - \hline\\[-0.4cm] - - {\tt SOLVER}& \multirow{1}{12cm}{In order to use a Rosenbrock method {\tt SOLVER}=$1$. For explicit RK method, {\tt SOLVER}=$2$. This defines a macro that is passes as the second template argument of \cppin{mimes::Axion}. The corresponding variable in {\tt \mimes/Definitions.mk} applies to the \PY modules. The variable in {\tt \mimes/UserSpace/Cpp/Axion/Definitions.mk} applies to the example in the same directory.}\\\\\\\\\\\\\\ - \hline\\[-0.4cm] - - {\tt METHOD}& \multirow{1}{12cm}{Depending of the solver, this macro should name one of its available methods. For {\tt SOLVER}=$1$, {\tt METHOD}=RODASPR2 (fourth order) or ROS34PW2 (third order). For {\tt SOLVER}=$2$, {\tt METHOD}=DormandPrince (seventh order). There is a macro ({\tt METHOD}) used by the shared library {\tt \mimes/lib/Axion\_py.so}. The corresponding variable in {\tt \mimes/Definitions.mk} applies to the \PY modules. The variable in {\tt \mimes/UserSpace/Cpp/Axion/Definitions.mk} applies to the examples in the that directory.}\\\\\\\\\\\\\\\\ - - \hline\\[-0.4cm] - - \multicolumn{2}{c}{\bf Compiler options} \\ - \hline\\[-0.4cm] - - {\tt CC} & \multirow{1}{12cm}{The preferred \CPP compiler ({\tt g++} by default). Corresponding variable in all {\tt Definitions.mk} files.} \\\\ - \hline\\[-0.4cm] - - {\tt OPT} & \multirow{1}{12cm}{Optimization level of the compiler. Available options {\tt OPT}={\tt O1}, {\tt O2}, {\tt O3} (be default). By Corresponding variable in all {\tt Definitions.mk} files.} \\\\ - \hline\\[-0.4cm] - - \end{tabular} - \caption{User compile-time input. These are available in the various {\tt Definitions.mk} files, which are used when compiling using {\tt make}.} - \label{tab:compile_time-options} -\end{table} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\pagebreak -\bibliography{refs}{} -\bibliographystyle{JHEP} - -\end{document} diff --git a/Documentation/Tex/figs/FT_example.pdf b/Documentation/Tex/figs/FT_example.pdf deleted file mode 100644 index c4bcc67..0000000 Binary files a/Documentation/Tex/figs/FT_example.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/RD_fa_vs_theta_i_check.pdf b/Documentation/Tex/figs/RD_fa_vs_theta_i_check.pdf deleted file mode 100644 index 7fd7293..0000000 Binary files a/Documentation/Tex/figs/RD_fa_vs_theta_i_check.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/anharmonic_factor.pdf b/Documentation/Tex/figs/anharmonic_factor.pdf deleted file mode 100644 index 33f4cef..0000000 Binary files a/Documentation/Tex/figs/anharmonic_factor.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/axion_energy_density.pdf b/Documentation/Tex/figs/axion_energy_density.pdf deleted file mode 100644 index 9eff383..0000000 Binary files a/Documentation/Tex/figs/axion_energy_density.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/axion_mass.pdf b/Documentation/Tex/figs/axion_mass.pdf deleted file mode 100644 index 101ea7f..0000000 Binary files a/Documentation/Tex/figs/axion_mass.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/energy_densities.pdf b/Documentation/Tex/figs/energy_densities.pdf deleted file mode 100644 index e795146..0000000 Binary files a/Documentation/Tex/figs/energy_densities.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/histogram-EMD.pdf b/Documentation/Tex/figs/histogram-EMD.pdf deleted file mode 100644 index 195cdb6..0000000 Binary files a/Documentation/Tex/figs/histogram-EMD.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/local_errors-EMD.pdf b/Documentation/Tex/figs/local_errors-EMD.pdf deleted file mode 100644 index 9dd4860..0000000 Binary files a/Documentation/Tex/figs/local_errors-EMD.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/theta_evolution-EMD.pdf b/Documentation/Tex/figs/theta_evolution-EMD.pdf deleted file mode 100644 index 739d174..0000000 Binary files a/Documentation/Tex/figs/theta_evolution-EMD.pdf and /dev/null differ diff --git a/Documentation/Tex/figs/theta_evolution-RD.pdf b/Documentation/Tex/figs/theta_evolution-RD.pdf deleted file mode 100644 index ed15962..0000000 Binary files a/Documentation/Tex/figs/theta_evolution-RD.pdf and /dev/null differ diff --git a/Documentation/Tex/macros.tex b/Documentation/Tex/macros.tex deleted file mode 100644 index 9d451b4..0000000 --- a/Documentation/Tex/macros.tex +++ /dev/null @@ -1,209 +0,0 @@ -\usepackage{ifthen} -\usepackage{tikz} -\usepackage{xspace} -%\usepackage{minted} -\usepackage{listings} -\usepackage[T1]{fontenc} - - - - - - -%Define color environments: - -\newenvironment{DK}[1]{{\color{gray}Commend from D: #1}} - -\newenvironment{DKnew}[1]{{\color{blue}NEW from D: #1}} - -\newenvironment{DKres}[1]{{\color{BrickRed}RESTRUCTURED from D: #1}} - - -\definecolor{mediumjunglegreen}{rgb}{0.11, 0.21, 0.18} -\definecolor{bg}{HTML}{282828} - -\lstset{ - escapeinside={?}{?}, - basicstyle=\small\ttfamily,% - columns=fullflexible,% - keywordstyle={\color{blue!80!black}}, - keywordstyle=[3]{\color{yellow!50!black}},% - numbers=left, % where to put the line-numbers; possible values are (none, left, right) - numbersep=5pt, % how far the line-numbers are from the code - numberstyle=\tiny, % the style that is used for the line-number - commentstyle=\fontfamily{palatino}\color{purple!40!black}, - breaklines=false, - frame=tb, - tabsize=3 -} -% - -%add more keywords and styles -\lstset{ - emphstyle={\color{blue!80!black}}, emph={include, std, ,string,constexpr,array,vector}, - emph=[2]{mimes,Axion,AxionEOM,Cosmo,AxionMass,AnharmonicFactor,Scan,ScanObs}, emphstyle=[2]{\color{red!80!black}}, - emph=[3]{Solver,Method,LD,METHOD,SOLVER}, emphstyle=[3]{\color{green!80!black}} -} - - -\newcommand*\cppin{\lstinline[language=c++]} - -\newcommand*\pyin{\lstinline[language=c++]} - -\lstnewenvironment{cpp} -{\lstset{language=c++}} -{} - -\lstnewenvironment{py} -{\lstset{language=Python}} -{} - -\lstnewenvironment{bash} -{\lstset{language=Python}} -{} - -\lstnewenvironment{pseudo} -{\lstset{language=Python}} -{} - - -%\newenvironment{cpp}{\usemintedstyle{xcode}\VerbatimEnvironment\begin{minted}[frame=lines,framesep=5mm,baselinestretch=1.2,fontsize=\footnotesize,linenos,mathescape,escapeinside=??]{cpp}}{\end{minted}} - -%\newenvironment{py}{\usemintedstyle{xcode}\VerbatimEnvironment\begin{minted}[frame=lines,framesep=5mm,baselinestretch=1.2,fontsize=\footnotesize,linenos,mathescape,escapeinside=??]{py}}{\end{minted}} - -%\newenvironment{bash}{\usemintedstyle{xcode}\VerbatimEnvironment\begin{minted}[frame=lines,framesep=5mm,baselinestretch=1.2,fontsize=\footnotesize,linenos,mathescape]{bash}}{\end{minted}} - -%in order to writ maths outside of comments put them inside ?$$?. Theta is for x^2, write ?$x^2$?. -%\newenvironment{pseudo}{\usemintedstyle{xcode}\VerbatimEnvironment\begin{minted}[frame=lines,framesep=5mm,baselinestretch=1.2,fontsize=\footnotesize,linenos,escapeinside=??,mathescape=true]{python}}{\end{minted}} - -\newenvironment{run}[1]{``{\tt #1}"\xspace} - - -\newcommand{\dint}{ \displaystyle \int } -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\ie}{{\em i.e.}\xspace} -\newcommand{\eg}{{\em e.g.}\xspace} -\newcommand{\GeV}{{\rm GeV}\xspace} -\newcommand{\TeV}{{\rm TeV}\xspace} -\newcommand{\MeV}{{\rm MeV}\xspace} -\newcommand{\keV}{{\rm keV}\xspace} - -\def\mimes{{\tt MiMeS}\xspace} - -\newcommand{\axion}{\mathit{a}} - -\newcommand{\CPP}{{\tt C++}\xspace} - -\newcommand{\PY}{{\tt python}\xspace} - -\newcommand{\JUPY}{{\tt jupyter}\xspace} - -\newcommand{\rhs}{RHS\xspace} -\newcommand{\lhs}{LHS\xspace} - - -\newcommand{\geff}{ g_{\rm eff}{}\xspace} -\newcommand{\heff}{ h_{\rm eff}{}\xspace} - -\newcommand{\Ham}{ \mathcal{H}\xspace} - -\newcommand{\thetamax}{ \theta_{\rm peak}{}\xspace} - - -\newcommand{\thetai}{ \theta_{\rm ini}{}\xspace} - -\newcommand{\fa}{ f_{a}{}\xspace} - - -\newcommand{\Ti}{ T_{\rm ini}{}\xspace} - -\newcommand{\ti}{ t_{\rm ini}{}\xspace} - -\newcommand{\ui}{ u_{\rm ini}{}\xspace} - -\newcommand{\ai}{ a_{\rm ini}{}\xspace} - -\newcommand{\thetaosc}{ \theta_{\rm osc}{}\xspace} - -\newcommand{\Tosc}{ T_{\rm osc}{}\xspace} - -\newcommand{\tosc}{ t_{\rm osc}{}\xspace} - - -\newcommand{\uosc}{ u_{\rm osc}{}\xspace} - -\newcommand{\aosc}{ a_{\rm osc}{}\xspace} - -\newcommand{\Omegai}{ \Omega_{\rm ini}\xspace} - -\newcommand{\ma}{ m_{a}{}\xspace} -\newcommand{\maT}{ \tilde m_{a}{}\xspace} -\newcommand{\Lint}{ \mathcal{L}_{\rm int}\xspace} - - - -\newcommand{\vev}[1]{\langle #1 \rangle} -\newcommand{\Bvev}[1]{\Bigg\langle #1 \Bigg\rangle} -\newcommand{\bvev}[1]{\Big\langle #1 \Big\rangle} - - - - -\newcommand{\lrb}[1]{\left( #1 \right)} -\newcommand{\lrsb}[1]{\left[ #1 \right]} -\newcommand{\lrBigb}[1]{\Big( #1 \Big)} -\newcommand{\lrBigsb}[1]{\Big[ #1 \Big]} -\newcommand{\lrBiggb}[1]{\Bigg( #1 \Bigg)} -\newcommand{\lrBiggsb}[1]{\Bigg[ #1 \Bigg]} - -\newcommand{\lrBigcb}[1]{\Big\{ #1 \Big\}} -\newcommand{\lrBiggcb}[1]{\Bigg\{ #1 \Bigg\}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--Begin_refs--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcounter{NumArgs} - -%Define reference to an arbitrary number of equations (\eqs{label_1,label_2....,label_n} will show eqs. ref_1, ref_2, ..., and ref_n) -\newcommand{\eqs}[1]{\setcounter{NumArgs}{0}\foreach\i in{#1}{\stepcounter{NumArgs}}% - \ifthenelse{\equal{\theNumArgs}{1}}{eq.~(\ref{#1})}% - {\ifthenelse{\equal{\theNumArgs}{2}}% - {eqs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i})~}}}% - {eqs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i}),~}}}}} - - -%Define reference to an arbitrary number of equations (\Eqs{label_1,label_2....,label_n} will show Eqs. ref_1, ref_2, ..., and ref_n) -\newcommand{\Eqs}[1]{\setcounter{NumArgs}{0}\foreach\i in{#1}{\stepcounter{NumArgs}}% - \ifthenelse{\equal{\theNumArgs}{1}}{Eq.~(\ref{#1})}% - {\ifthenelse{\equal{\theNumArgs}{2}}% - {Eqs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i})~}}}% - {Eqs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i}),~}}}}} - - -%Define reference to an arbitrary number of labels (\REF{label_1,label_2....,label_n} will show ref_1, ref_2, ..., and ref_n) -\newcommand{\refs}[1]{\setcounter{NumArgs}{0}\foreach\i in{#1}{\stepcounter{NumArgs}}% - \ifthenelse{\equal{\theNumArgs}{1}}{(\ref{#1})}% - {\ifthenelse{\equal{\theNumArgs}{2}}% - {\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i})~}}}% - {\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i}),~}}}}} - - - -%Define reference to an arbitrary number of figs (\Figs{label_1,label_2....,label_n} will show ref_1, ref_2, ..., and ref_n) -\newcommand{\Figs}[1]{\setcounter{NumArgs}{0}\foreach\i in{#1}{\stepcounter{NumArgs}}% - \ifthenelse{\equal{\theNumArgs}{1}}{Fig.~(\ref{#1})}% - {\ifthenelse{\equal{\theNumArgs}{2}}% - {Figs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i})~}}}% - {Figs.~\foreach\i[count=\q]in{#1}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i}),~}}}}} - - - - -%Define reference to an arbitrary number of "general reference" (\Gen{message}{label_1,label_2....,label_n} will show message.(ref_1), (ref_2), ..., and (ref_n) -\newcommand{\Gen}[2]{\setcounter{NumArgs}{0}\foreach\i in{#2}{\stepcounter{NumArgs}}% - \ifthenelse{\equal{\theNumArgs}{1}}{#1.~(\ref{#2})}% - {\ifthenelse{\equal{\theNumArgs}{2}}% - {#1.~\foreach\i[count=\q]in{#2}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i})~}}}% - {#1.~\foreach\i[count=\q]in{#2}{\ifthenelse{\equal{\q}{\theNumArgs}}{and (\ref{\i})}{(\ref{\i}),~}}}}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%--End_refs--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ No newline at end of file diff --git a/Documentation/Tex/makefile b/Documentation/Tex/makefile deleted file mode 100644 index bd64877..0000000 --- a/Documentation/Tex/makefile +++ /dev/null @@ -1,35 +0,0 @@ -TEX=pdflatex -BIB=bibtex - -FLG=-shell-escape - -figs = $(wildcard figs/*.pdf) - -#make the pdf -all: MiMeS.pdf - -#run pdflatex and bibtex (runs only if you update something in pdfs or in the tex file) -MiMeS.pdf: MiMeS.tex $(figs) refs.bib - $(TEX) $(FLG) $< - $(TEX) $(FLG) $< - $(BIB) MiMeS || true - $(TEX) $(FLG) $< - $(TEX) $(FLG) $< - - #remove all output except the pdf file - rm -f *.aux - rm -f *.log - rm -f *.out - rm -f *.bbl - rm -f *.blg - rm -rf _minted-MiMeS -clean: - rm -f MiMeS.pdf - rm -f MiMeS.pdf - rm -f *.aux - rm -f *.log - rm -f *.out - rm -f *.bbl - rm -f *.blg - rm -rf _minted-MiMeS - diff --git a/Documentation/Tex/refs.bib b/Documentation/Tex/refs.bib deleted file mode 100644 index c69c69f..0000000 --- a/Documentation/Tex/refs.bib +++ /dev/null @@ -1,402 +0,0 @@ -@article{MARSH20161, - title = {Axion cosmology}, - journal = {Physics Reports}, - volume = {643}, - pages = {1-79}, - year = {2016}, - note = {Axion cosmology}, - issn = {0370-1573}, - doi = {https://doi.org/10.1016/j.physrep.2016.06.005}, - url = {https://www.sciencedirect.com/science/article/pii/S0370157316301557}, - author = {David J.E. Marsh} -} -@article{Co:2019jts, - author = "Co, Raymond T. and Hall, Lawrence J. and Harigaya, Keisuke", - title = "{Axion Kinetic Misalignment Mechanism}", - eprint = "1910.14152", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - reportNumber = "LCTP-19-28", - doi = "10.1103/PhysRevLett.124.251802", - journal = "Phys. Rev. Lett.", - volume = "124", - number = "25", - pages = "251802", - year = "2020" -} -@article{Arias:2021rer, - author = "Arias, Paola and Bernal, Nicol\'as and Karamitros, Dimitrios and Maldonado, Carlos and Roszkowski, Leszek and Venegas, Moira", - title = "{New opportunities for axion dark matter searches in nonstandard cosmological models}", - eprint = "2107.13588", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - month = "7", - year = "2021" -} -@article{Bae:2008ue, - author = "Bae, Kyu Jung and Huh, Ji-Haeng and Kim, Jihn E.", - title = "{Update of axion CDM energy}", - eprint = "0806.0497", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - doi = "10.1088/1475-7516/2008/09/005", - journal = "JCAP", - volume = "09", - pages = "005", - year = "2008" -} - -@article{Peccei:1977hh, - author = "Peccei, R. D. and Quinn, Helen R.", - title = "{CP Conservation in the Presence of Instantons}", - reportNumber = "ITP-568-STANFORD", - doi = "10.1103/PhysRevLett.38.1440", - journal = "Phys. Rev. Lett.", - volume = "38", - pages = "1440--1443", - year = "1977" -} -@article{Weinberg:1977ma, - author = "Weinberg, Steven", - title = "{A New Light Boson?}", - reportNumber = "HUTP-77/A074", - doi = "10.1103/PhysRevLett.40.223", - journal = "Phys. Rev. Lett.", - volume = "40", - pages = "223--226", - year = "1978" -} -@article{Wilczek:1977pj, - author = "Wilczek, Frank", - title = "{Problem of Strong $P$ and $T$ Invariance in the Presence of Instantons}", - reportNumber = "Print-77-0939 (COLUMBIA)", - doi = "10.1103/PhysRevLett.40.279", - journal = "Phys. Rev. Lett.", - volume = "40", - pages = "279--282", - year = "1978" -} -@article{Preskill:1982cy, - author = "Preskill, John and Wise, Mark B. and Wilczek, Frank", - editor = "Srednicki, M. A.", - title = "{Cosmology of the Invisible Axion}", - reportNumber = "HUTP-82-A048, NSF-ITP-82-103", - doi = "10.1016/0370-2693(83)90637-8", - journal = "Phys. Lett. B", - volume = "120", - pages = "127--132", - year = "1983" -} -@article{Dine:1982ah, - author = "Dine, Michael and Fischler, Willy", - editor = "Srednicki, M. A.", - title = "{The Not So Harmless Axion}", - reportNumber = "UPR-0201T", - doi = "10.1016/0370-2693(83)90639-1", - journal = "Phys. Lett. B", - volume = "120", - pages = "137--141", - year = "1983" -} -@article{Abbott:1982af, - author = "Abbott, L. F. and Sikivie, P.", - editor = "Srednicki, M. A.", - title = "{A Cosmological Bound on the Invisible Axion}", - reportNumber = "PRINT-82-0695 (BRANDEIS)", - doi = "10.1016/0370-2693(83)90638-X", - journal = "Phys. Lett. B", - volume = "120", - pages = "133--136", - year = "1983" -} -@article{Chikashige:1980ui, - author = "Chikashige, Y. and Mohapatra, Rabindra N. and Peccei, R. D.", - title = "{Are There Real Goldstone Bosons Associated with Broken Lepton Number?}", - reportNumber = "MPI-PAE-PTH-36-80", - doi = "10.1016/0370-2693(81)90011-3", - journal = "Phys. Lett. B", - volume = "98", - pages = "265--268", - year = "1981" -} -@article{Georgi:1981pu, - author = "Georgi, Howard M. and Hall, Lawrence J. and Wise, Mark B.", - title = "{Grand Unified Models With an Automatic {Peccei-Quinn} Symmetry}", - reportNumber = "HUTP-81/A031", - doi = "10.1016/0550-3213(81)90433-8", - journal = "Nucl. Phys. B", - volume = "192", - pages = "409--416", - year = "1981" -} -@inproceedings{Ringwald:2014vqa, - author = "Ringwald, A.", - title = "{Axions and Axion-Like Particles}", - booktitle = "{49th Rencontres de Moriond on Electroweak Interactions and Unified Theories}", - eprint = "1407.0546", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - reportNumber = "DESY-14-108", - pages = "223--230", - year = "2014" -} - @article{2020-AxionLimits, title={cajohare/AxionLimits: AxionLimits}, DOI={10.5281/zenodo.3932430}, abstractNote={

First release on zenodo. Limits up to date as of July 2020. Check github page for future updates. https://cajohare.github.io/AxionLimits/

}, publisher={Zenodo}, author={Ciaran O\'HARE}, year={2020}, month={Jul} } - - -@article{Planck:2018vyg, - author = "Aghanim, N. and others", - collaboration = "Planck", - title = "{Planck 2018 results. VI. Cosmological parameters}", - eprint = "1807.06209", - archivePrefix = "arXiv", - primaryClass = "astro-ph.CO", - doi = "10.1051/0004-6361/201833910", - journal = "Astron. Astrophys.", - volume = "641", - pages = "A6", - year = "2020" -} - -@Article{Hunter:2007, - Author = {Hunter, J. D.}, - Title = {Matplotlib: A 2D graphics environment}, - Journal = {Computing in Science \& Engineering}, - Volume = {9}, - Number = {3}, - Pages = {90--95}, - abstract = {Matplotlib is a 2D graphics package used for Python for - application development, interactive scripting, and publication-quality - image generation across user interfaces and operating systems.}, - publisher = {IEEE COMPUTER SOC}, - doi = {10.1109/MCSE.2007.55}, - year = 2007 -} - -@article{Zyla:2020zbs, - author = "Zyla, P.A. and others", - collaboration = "Particle Data Group", - title = "{Review of Particle Physics}", - doi = "10.1093/ptep/ptaa104", - journal = "PTEP", - volume = "2020", - number = "8", - pages = "083C01", - year = "2020" -} -@article{Arias:2020qty, - author = "Arias, Paola and Karamitros, Dimitrios and Roszkowski, Leszek", - title = "{Frozen-in fermionic singlet dark matter in non-standard cosmology with a decaying fluid}", - eprint = "2012.07202", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - doi = "10.1088/1475-7516/2021/05/041", - journal = "JCAP", - volume = "05", - pages = "041", - year = "2021" -} - - -@article{Saikawa:2020swg, - author = "Saikawa, Ken'ichi and Shirai, Satoshi", - title = "{Precise WIMP Dark Matter Abundance and Standard Model Thermodynamics}", - eprint = "2005.03544", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - reportNumber = "IPMU20-0047, KANAZAWA-20-03, MPP-2020-62", - doi = "10.1088/1475-7516/2020/08/011", - journal = "JCAP", - volume = "08", - pages = "011", - year = "2020" -} - -@book{10.5555/1403886, - author = {Press, William H. and Teukolsky, Saul A. and Vetterling, William T. and Flannery, Brian P.}, - title = {Numerical Recipes 3rd Edition: The Art of Scientific Computing}, - year = {2007}, - isbn = {0521880688}, - publisher = {Cambridge University Press}, - address = {USA}, - edition = {3} -} -@book{Hairer, - added-at = {2010-10-02T18:22:22.000+0200}, - address = {Berlin}, - author = {Hairer, E. and N{\o}rsett, S.P. and Wanner, G.}, - biburl = {https://www.bibsonomy.org/bibtex/26bfd1a0356243229b8d30cb296e19f48/brouder}, - edition = {Second}, - interhash = {e4299d1b8f9819d82d6653a13cb75c5b}, - intrahash = {6bfd1a0356243229b8d30cb296e19f48}, - keywords = {imported}, - publisher = {Springer}, - timestamp = {2010-10-02T18:22:26.000+0200}, - title = {Solving Ordinary Differential - Equations {I} Nonstiff problems}, - year = 2000 -} - -@book{hairer2010solving, - title={Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems}, - author={Hairer, E. and Wanner, G.}, - isbn={9783642052217}, - series={Springer Series in Computational Mathematics}, - url={https://books.google.pl/books?id=g-jvCAAAQBAJ}, - year={2010}, - publisher={Springer Berlin Heidelberg} -} - -@book{Kolb:206230, - author = "Kolb, Edward W and Turner, Michael Stanley", - title = "{The early universe}", - publisher = "Westview Press", - address = "Boulder, CO", - series = "Frontiers in Physics", - year = "1990", - url = "https://cds.cern.ch/record/206230", - doi = "10.1201/9780429492860", -} -@article{RANG2015128, - title = {Improved traditional Rosenbrock–Wanner methods for stiff ODEs and DAEs}, - journal = {Journal of Computational and Applied Mathematics}, - volume = {286}, - pages = {128-144}, - year = {2015}, - issn = {0377-0427}, - doi = {https://doi.org/10.1016/j.cam.2015.03.010}, - url = {https://www.sciencedirect.com/science/article/pii/S0377042715001569}, - author = {Joachim Rang} -} - -@article{DORMAND198019, - title = {A family of embedded Runge-Kutta formulae}, - journal = {Journal of Computational and Applied Mathematics}, - volume = {6}, - number = {1}, - pages = {19-26}, - year = {1980}, - issn = {0377-0427}, - doi = {https://doi.org/10.1016/0771-050X(80)90013-3}, - url = {https://www.sciencedirect.com/science/article/pii/0771050X80900133}, - author = {J.R. Dormand and P.J. Prince}, - abstract = {A family of embedded Runge-Kutta formulae RK5 (4) are derived. From these are presented formulae which have (a) ‘small’ principal truncation terms in the fifth order and (b) extended regions of absolute stability.} -} - -@article{RangAngermann2005, - title = {New Rosenbrock W-Methods of Order 3 for Partial Differential Algebraic Equations of Index 1}, - journal = {BIT Numerical Mathematics}, - volume = {45}, - pages = {761–787}, - year = {2005}, - doi = {https://doi.org/10.1007/s10543-005-0035-y, - url = {https://link.springer.com/article/10.1007%2Fs10543-005-0035-y}, - author = {Rang, J., Angermann, L.} -} - - -@book{Peebles:1993, - added-at = {2010-07-23T07:14:55.000+0200}, - author = {Peebles, Phillip James Edwin}, - biburl = {https://www.bibsonomy.org/bibtex/28305ce245adcdc1ee482c5f1c82d7d8f/richterek}, - interhash = {afbba371867d6e12d6e8c5b554174cd5}, - intrahash = {8305ce245adcdc1ee482c5f1c82d7d8f}, - keywords = {astrophysics}, - mendeley-tags = {astrophysics}, - publisher = {Princeton University Press}, - timestamp = {2010-07-23T07:15:04.000+0200}, - title = {{Principles of physical cosmology}}, - type = {Book}, - year = 1993 -} - -@Misc{NaBBODES, - author ={Dimitrios Karamitros}, - title ={\href{https://github.com/dkaramit/NaBBODES}{NaBBODES}: Not a Black Box Ordinary Differential Equation Solver in {C++}}, - year = {2019--}, - url = "https://github.com/dkaramit/NaBBODES" -} -@Misc{SimpleSplines, - author ={Dimitrios Karamitros}, - title ={\href{https://github.com/dkaramit/SimpleSplines}{SimpleSplines}: A header only library for linear and cubic spline interpolation in {C++}.}, - year = {2021--}, - url = "https://github.com/dkaramit/SimpleSplines" -} - -@article{Arias:2019uol, - author = "Arias, Paola and Bernal, Nicol\'as and Herrera, Alan and Maldonado, Carlos", - title = "{Reconstructing Non-standard Cosmologies with Dark Matter}", - eprint = "1906.04183", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - reportNumber = "PI/UAN-2019-649FT", - doi = "10.1088/1475-7516/2019/10/047", - journal = "JCAP", - volume = "10", - pages = "047", - year = "2019" -} - - -@article{Arias:2020qty, - author = "Arias, Paola and Karamitros, Dimitrios and Roszkowski, Leszek", - title = "{Frozen-in fermionic singlet dark matter in non-standard cosmology with a decaying fluid}", - eprint = "2012.07202", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - doi = "10.1088/1475-7516/2021/05/041", - journal = "JCAP", - volume = "05", - pages = "041", - year = "2021" -} - - -@article{Borsanyi:2016ksw, - author = "Borsanyi, Sz. and others", - title = "{Calculation of the axion mass based on high-temperature lattice quantum chromodynamics}", - eprint = "1606.07494", - archivePrefix = "arXiv", - primaryClass = "hep-lat", - reportNumber = "DESY-16-105", - doi = "10.1038/nature20115", - journal = "Nature", - volume = "539", - number = "7627", - pages = "69--71", - year = "2016" -} - -@inproceedings{Chang:1998ys, - author = "Chang, Sanghyeon and Hagmann, C. and Sikivie, P.", - title = "{The Cold axion populations}", - booktitle = "{2nd International Heidelberg Conference on Dark Matter in Astro and Particle Physics}", - eprint = "hep-ph/9812327", - archivePrefix = "arXiv", - reportNumber = "UFIFT-HEP-98-37", - month = "7", - year = "1998" -} - -@article{Bae:2008ue, - author = "Bae, Kyu Jung and Huh, Ji-Haeng and Kim, Jihn E.", - title = "{Update of axion CDM energy}", - eprint = "0806.0497", - archivePrefix = "arXiv", - primaryClass = "hep-ph", - doi = "10.1088/1475-7516/2008/09/005", - journal = "JCAP", - volume = "09", - pages = "005", - year = "2008" -} - -@article{Lyth:1991ub, - author = "Lyth, D. H.", - title = "{Axions and inflation: Sitting in the vacuum}", - reportNumber = "LANC-TH-91-02-REV-2, LANC-TH-91-02", - doi = "10.1103/PhysRevD.45.3394", - journal = "Phys. Rev. D", - volume = "45", - pages = "3394--3404", - year = "1992" -} diff --git a/Documentation/check/0910.1066/theta_vs_fa.dat b/Documentation/check/0910.1066/theta_vs_fa.dat deleted file mode 100644 index 612b6e7..0000000 --- a/Documentation/check/0910.1066/theta_vs_fa.dat +++ /dev/null @@ -1,115 +0,0 @@ -3.13903008e+0 1.91839136e+10 -3.09319602e+0 4.03687261e+10 -2.91187541e+0 7.16461335e+10 -2.79302932e+0 8.64600365e+10 -2.49813676e+0 1.26170458e+11 -2.36252457e+0 1.51456573e+11 -2.06835829e+0 2.09055939e+11 -1.92408251e+0 2.50050813e+11 -1.71838455e+0 3.15649050e+11 -1.55193911e+0 3.86461121e+11 -1.39741997e+0 4.77741434e+11 -1.26344491e+0 5.76052705e+11 -1.13730781e+0 7.04704103e+11 -1.02846359e+0 8.33087296e+11 -9.27915490e-1 1.00383155e+12 -8.27055589e-1 1.22679278e+12 -7.48312060e-1 1.47981125e+12 -6.73213459e-1 1.75836890e+12 -6.09088846e-1 2.09478246e+12 -5.47966234e-1 2.49387291e+12 -4.95758682e-1 2.95032544e+12 -4.46457186e-1 3.57226782e+12 -4.03537370e-1 4.21658758e+12 -3.65097975e-1 5.01652481e+12 -3.28451776e-1 5.93202363e+12 -2.96338704e-1 7.13574513e+12 -2.67860721e-1 8.51006839e+12 -2.41202956e-1 1.00784429e+13 -2.17618003e-1 1.20894566e+13 -1.96325573e-1 1.42346749e+13 -1.77631912e-1 1.71289517e+13 -1.59809012e-1 2.04820883e+13 -1.44182014e-1 2.45330505e+13 -1.30201409e-1 2.91297805e+13 -1.17356158e-1 3.46619059e+13 -1.05382893e-1 4.14939840e+13 -9.55226862e-2 4.91494784e+13 -8.60910203e-2 5.87209009e+13 -7.77471242e-2 6.87178881e+13 -7.01443792e-2 8.22440809e+13 -6.31042130e-2 9.74507539e+13 -5.70953614e-2 1.17146175e+14 -5.15098383e-2 1.38556170e+14 -4.64713220e-2 1.64433904e+14 -4.19268025e-2 1.96578930e+14 -3.78240749e-2 2.30680029e+14 -3.41266935e-2 2.79056851e+14 -3.07302288e-2 3.30076730e+14 -2.77771997e-2 3.94136631e+14 -2.50596019e-2 4.65121124e+14 -2.26085475e-2 5.53235518e+14 -2.03977431e-2 6.62505556e+14 -1.84023508e-2 7.84470341e+14 -1.66033433e-2 9.46849003e+14 -1.49786940e-2 1.11235395e+15 -1.35139273e-2 1.33055621e+15 -1.21925539e-2 1.59694953e+15 -1.10003179e-2 1.91365749e+15 -9.92511434e-3 2.32124560e+15 -8.95400994e-3 2.73313991e+15 -8.07883893e-3 3.31751041e+15 -7.28883980e-3 3.97275484e+15 -6.57614702e-3 4.76814802e+15 -5.94979399e-3 5.68936256e+15 -5.26100067e-3 7.47936863e+15 -4.78606508e-3 9.08236261e+15 -4.31843531e-3 1.11365966e+16 -3.89580769e-3 1.30244016e+16 -3.51504359e-3 1.58269582e+16 -2.91524447e-3 2.19619245e+16 -2.70490152e-3 2.47112391e+16 -2.44045589e-3 2.97758968e+16 -2.20121100e-3 3.31392966e+16 -1.80816860e-3 4.38345195e+16 -1.66176439e-3 4.76300153e+16 -1.41066003e-3 6.15784803e+16 -1.30253364e-3 6.65559655e+16 -1.12147418e-3 8.67606991e+16 -1.05020641e-3 9.28974962e+16 -8.54675032e-4 1.25827177e+17 -8.03412499e-4 1.36100161e+17 -6.51617894e-4 2.03938021e+17 -5.48061933e-4 2.75814004e+17 -5.15750639e-4 3.10272005e+17 -4.33877439e-4 4.43751233e+17 -4.04529923e-4 5.18900044e+17 -3.48310457e-4 6.82933410e+17 -3.26249334e-4 7.76665517e+17 -2.75684708e-4 1.03862715e+18 -2.58213926e-4 1.16948230e+18 -2.17138651e-4 1.50629862e+18 -2.02419970e-4 1.68971804e+18 -1.69417465e-4 2.16568499e+18 -1.57195510e-4 2.44504668e+18 -1.32178393e-4 3.07791458e+18 -1.23212844e-4 3.40890525e+18 -1.02634245e-4 4.30537819e+18 -9.56745625e-5 4.79395105e+18 -8.00679561e-5 5.98515213e+18 -7.49886059e-5 6.61386105e+18 -6.24621345e-5 8.27745255e+18 -5.82270544e-5 9.23843169e+18 -4.85025480e-5 1.16926235e+19 -4.52123205e-5 1.29239053e+19 -3.76605943e-5 1.62629786e+19 -3.51062065e-5 1.80253880e+19 -2.92430282e-5 2.27956399e+19 -2.72593932e-5 2.52209638e+19 -2.28128081e-5 3.14937820e+19 -2.13661187e-5 3.50249149e+19 -1.73854533e-5 4.55491513e+19 -1.58605837e-5 5.18072231e+19 -1.40151251e-5 6.07122388e+19 -1.28818797e-5 6.81076223e+19 -1.09331594e-5 8.34807396e+19 \ No newline at end of file diff --git a/Documentation/check/0912.0015/RDline.dat b/Documentation/check/0912.0015/RDline.dat deleted file mode 100644 index 8721c4d..0000000 --- a/Documentation/check/0912.0015/RDline.dat +++ /dev/null @@ -1,44 +0,0 @@ -8.79911948e+9 9.97345612e-1 -1.24815907e+10 9.94903230e-1 -1.75704271e+10 9.85198037e-1 -2.17439818e+10 9.64651356e-1 -2.58765681e+10 9.44317357e-1 -2.98304275e+10 9.23545371e-1 -3.38446559e+10 9.01742402e-1 -3.77950023e+10 8.80877347e-1 -4.15445947e+10 8.62171784e-1 -4.56628797e+10 8.41741640e-1 -5.01833639e+10 8.18437193e-1 -5.49054223e+10 7.96858403e-1 -5.98526496e+10 7.74763100e-1 -6.55768326e+10 7.54276223e-1 -7.20709063e+10 7.31690351e-1 -7.92057036e+10 7.08385904e-1 -8.70468237e+10 6.85081457e-1 -9.56641906e+10 6.61777009e-1 -1.05134650e+11 6.38472562e-1 -1.15542656e+11 6.15168115e-1 -1.26981787e+11 5.92007383e-1 -1.39556793e+11 5.69421511e-1 -1.53375256e+11 5.46548209e-1 -1.68566037e+11 5.24249768e-1 -1.85264709e+11 5.02382472e-1 -2.05931484e+11 4.79219051e-1 -2.27356459e+11 4.56775818e-1 -2.49901961e+11 4.37092993e-1 -2.83524513e+11 4.14758278e-1 -3.11645101e+11 3.95477855e-1 -3.48019253e+11 3.74540942e-1 -3.94819500e+11 3.50797818e-1 -4.47937531e+11 3.28348131e-1 -5.08234060e+11 3.07407453e-1 -5.76662683e+11 2.87113493e-1 -6.54334081e+11 2.67897396e-1 -7.54336101e+11 2.47815244e-1 -8.83518301e+11 2.26737691e-1 -1.03491304e+12 2.07729636e-1 -1.23163175e+12 1.87913011e-1 -1.48924251e+12 1.68322565e-1 -1.82964158e+12 1.49426399e-1 -2.32039000e+12 1.29845187e-1 -3.03790091e+12 1.10858679e-1 diff --git a/Documentation/check/0912.0015/ThetaLTR.pdf b/Documentation/check/0912.0015/ThetaLTR.pdf deleted file mode 100644 index 1962045..0000000 Binary files a/Documentation/check/0912.0015/ThetaLTR.pdf and /dev/null differ diff --git a/Documentation/check/1606.07494/fa_vs_theta.dat b/Documentation/check/1606.07494/fa_vs_theta.dat deleted file mode 100644 index 77d5619..0000000 --- a/Documentation/check/1606.07494/fa_vs_theta.dat +++ /dev/null @@ -1,1256 +0,0 @@ -7.888601176185548306e+08 3.147748314101315614e+00 -7.998342550070292950e+08 3.235936569296282705e+00 -8.203515443298176527e+08 3.147748314101315614e+00 -8.433347577642756701e+08 3.235936569296282705e+00 -8.669618757582178116e+08 3.147748314101315614e+00 -8.912509381337441206e+08 3.235936569296282705e+00 -9.162204901219992638e+08 3.147748314101315614e+00 -9.418895965228418112e+08 3.235936569296282705e+00 -9.682778562612506151e+08 3.147748314101315614e+00 -9.931160484209334850e+08 3.235936569296282705e+00 -1.020939483707680702e+09 3.147748314101315614e+00 -1.049542428652324200e+09 3.235936569296282705e+00 -1.078946722229827404e+09 3.147748314101315614e+00 -1.109174815262400866e+09 3.235936569296282705e+00 -1.140249787561169624e+09 3.147748314101315614e+00 -1.172195365548132658e+09 3.235936569296282705e+00 -1.205035940371796131e+09 3.147748314101315614e+00 -1.235947433444511890e+09 3.235936569296282705e+00 -1.270574105208539248e+09 3.147748314101315614e+00 -1.306170888131840467e+09 3.235936569296282705e+00 -1.342764961137864113e+09 3.147748314101315614e+00 -1.380384264602886677e+09 3.235936569296282705e+00 -1.419057521689089775e+09 3.147748314101315614e+00 -1.458814260275347471e+09 3.235936569296282705e+00 -1.499684835502373934e+09 3.147748314101315614e+00 -1.538154640303032637e+09 3.235936569296282705e+00 -1.581248039270382643e+09 3.147748314101315614e+00 -1.625548755750485182e+09 3.235936569296282705e+00 -1.671090614310710430e+09 3.147748314101315614e+00 -1.717908387157585859e+09 3.235936569296282705e+00 -1.766037820686163902e+09 3.147748314101315614e+00 -1.815515662773137093e+09 3.235936569296282705e+00 -1.866379690834673166e+09 3.147748314101315614e+00 -1.914255925021085978e+09 3.235936569296282705e+00 -1.967886289706846952e+09 3.147748314101315614e+00 -2.023019178678267717e+09 3.235936569296282705e+00 -2.079696687103693724e+09 3.147748314101315614e+00 -2.137962089502232552e+09 3.235936569296282705e+00 -2.197859872784827709e+09 3.147748314101315614e+00 -2.259435770220973492e+09 3.235936569296282705e+00 -2.322736796357105255e+09 3.147748314101315614e+00 -2.382319469358694077e+09 3.235936569296282705e+00 -2.449063241844741821e+09 3.147748314101315614e+00 -2.517676927758854389e+09 3.235936569296282705e+00 -2.588212915153092861e+09 3.147748314101315614e+00 -2.660725059798813820e+09 3.235936569296282705e+00 -2.735268726306708336e+09 3.147748314101315614e+00 -2.811900830398939610e+09 3.235936569296282705e+00 -2.890679882365477562e+09 3.147748314101315614e+00 -2.964831389524339199e+09 3.235936569296282705e+00 -3.047894989627983093e+09 3.147748314101315614e+00 -3.133285724315588951e+09 3.235936569296282705e+00 -3.221068791283428192e+09 3.147748314101315614e+00 -3.311311214825907707e+09 3.235936569296282705e+00 -3.404081897010009289e+09 3.147748314101315614e+00 -3.499451670283576488e+09 3.235936569296282705e+00 -3.597493351557415962e+09 3.147748314101315614e+00 -3.689775985701504707e+09 3.235936569296282705e+00 -3.793149849736824512e+09 3.147748314101315614e+00 -3.899419866765428066e+09 3.235936569296282705e+00 -4.008667176273025990e+09 3.147748314101315614e+00 -4.120975190973304272e+09 3.235936569296282705e+00 -4.236429660495417595e+09 3.147748314101315614e+00 -4.355118736855679512e+09 3.235936569296282705e+00 -4.466835921509634972e+09 3.147748314101315614e+00 -4.591980128368694305e+09 3.235936569296282705e+00 -4.720630412635899544e+09 3.147748314101315614e+00 -4.852885001621210098e+09 3.235936569296282705e+00 -4.988844874600126266e+09 3.147748314101315614e+00 -5.128613839913659096e+09 3.235936569296282705e+00 -5.272298614228221893e+09 3.147748314101315614e+00 -5.420008904016238213e+09 3.235936569296282705e+00 -5.559042572704026222e+09 3.147748314101315614e+00 -5.714786366718666077e+09 3.235936569296282705e+00 -5.874893525297768593e+09 3.147748314101315614e+00 -6.039486293763806343e+09 3.235936569296282705e+00 -6.208690342300624847e+09 3.147748314101315614e+00 -6.382634861905482292e+09 3.235936569296282705e+00 -6.561452663029056549e+09 3.147748314101315614e+00 -6.745280276979228973e+09 3.235936569296282705e+00 -6.918309709189362526e+09 3.147748314101315614e+00 -7.112135136533295631e+09 3.235936569296282705e+00 -7.311390834834187508e+09 3.147748314101315614e+00 -7.516228940182044983e+09 3.235936569296282705e+00 -7.726805850957021713e+09 3.147748314101315614e+00 -7.943282347242821693e+09 3.235936569296282705e+00 -8.165823713585939407e+09 3.147748314101315614e+00 -8.394599865193964005e+09 3.235936569296282705e+00 -8.609937521846015930e+09 3.147748314101315614e+00 -8.851156098308338165e+09 3.235936569296282705e+00 -9.099132726322507858e+09 3.147748314101315614e+00 -9.354056741475521088e+09 3.235936569296282705e+00 -9.616122783836658478e+09 3.147748314101315614e+00 -9.885530946569370270e+09 3.235936569296282705e+00 -1.016248692870694923e+10 3.147748314101315614e+00 -1.044720219220800400e+10 3.235936569296282705e+00 -1.071519305237604904e+10 3.147748314101315614e+00 -1.101539309541414452e+10 3.235936569296282705e+00 -1.132400363235557747e+10 3.147748314101315614e+00 -1.164126029410493279e+10 3.235936569296282705e+00 -1.196740531307241821e+10 3.147748314101315614e+00 -1.230268770812381172e+10 3.235936569296282705e+00 -1.264736347471152306e+10 3.147748314101315614e+00 -1.300169578033292580e+10 3.235936569296282705e+00 -1.333521432163323975e+10 3.147748314101315614e+00 -1.370881766164855003e+10 3.235936569296282705e+00 -1.409288798421871948e+10 3.147748314101315614e+00 -1.448771853544760132e+10 3.235936569296282705e+00 -1.489361077710915375e+10 3.147748314101315614e+00 -1.531087461682031822e+10 3.235936569296282705e+00 -1.573982864466216469e+10 3.147748314101315614e+00 -1.618080037643064499e+10 3.235936569296282705e+00 -1.659586907437563133e+10 3.147748314101315614e+00 -1.706082389003120804e+10 3.235936569296282705e+00 -1.753880501841760254e+10 3.147748314101315614e+00 -1.803017740859569931e+10 3.235936569296282705e+00 -1.853531623414814377e+10 3.147748314101315614e+00 -1.905460717963244247e+10 3.235936569296282705e+00 -1.958844673505989075e+10 3.147748314101315614e+00 -1.986094917357371521e+10 3.061963433690677139e+00 -2.009092812608731842e+10 3.235936569296282705e+00 -2.065380155810527039e+10 3.147748314101315614e+00 -2.065380155810527039e+10 3.061963433690677139e+00 -2.123244462000219345e+10 3.235936569296282705e+00 -2.182729911843003464e+10 3.147748314101315614e+00 -2.182729911843003464e+10 3.061963433690677139e+00 -2.243881923782770920e+10 3.235936569296282705e+00 -2.306747188720066833e+10 3.147748314101315614e+00 -2.306747188720066833e+10 3.061963433690677139e+00 -2.371373705661655426e+10 3.235936569296282705e+00 -2.437810818368754959e+10 3.147748314101315614e+00 -2.437810818368754959e+10 3.061963433690677139e+00 -2.500345361696429443e+10 3.235936569296282705e+00 -2.570395782768864822e+10 3.147748314101315614e+00 -2.570395782768864822e+10 3.061963433690677139e+00 -2.642408757321950150e+10 3.235936569296282705e+00 -2.716439268839078140e+10 3.147748314101315614e+00 -2.716439268839078140e+10 3.061963433690677139e+00 -2.792543841237336349e+10 3.235936569296282705e+00 -2.870780582024692154e+10 3.147748314101315614e+00 -2.870780582024692154e+10 3.061963433690677139e+00 -2.951209226666390228e+10 3.235936569296282705e+00 -3.033891184194265747e+10 3.147748314101315614e+00 -3.033891184194265747e+10 3.061963433690677139e+00 -3.111716337106019974e+10 3.235936569296282705e+00 -3.198895109691403580e+10 3.147748314101315614e+00 -3.198895109691403580e+10 3.061963433690677139e+00 -3.288516308759826279e+10 3.235936569296282705e+00 -3.380648362059815216e+10 3.147748314101315614e+00 -3.380648362059815216e+10 3.061963433690677139e+00 -3.475361614432061005e+10 3.235936569296282705e+00 -3.572728381519295502e+10 3.147748314101315614e+00 -3.572728381519295502e+10 3.061963433690677139e+00 -3.672823004980842590e+10 3.235936569296282705e+00 -3.775721909254160309e+10 3.147748314101315614e+00 -3.775721909254160309e+10 3.061963433690677139e+00 -3.981071705534969330e+10 3.147748314101315614e+00 -3.981071705534969330e+10 3.061963433690677139e+00 -4.207266283844446564e+10 3.147748314101315614e+00 -4.207266283844446564e+10 3.061963433690677139e+00 -4.446312674691083527e+10 3.147748314101315614e+00 -4.446312674691083527e+10 3.061963433690677139e+00 -4.698941086052160645e+10 3.147748314101315614e+00 -4.698941086052160645e+10 3.061963433690677139e+00 -4.954501908047905731e+10 3.147748314101315614e+00 -4.954501908047905731e+10 3.061963433690677139e+00 -5.164163692720700073e+10 2.978516429429189483e+00 -5.236004365857495117e+10 3.147748314101315614e+00 -5.236004365857495117e+10 3.061963433690677139e+00 -5.382697825162881470e+10 2.978516429429189483e+00 -5.533501092157370758e+10 3.147748314101315614e+00 -5.533501092157370758e+10 3.061963433690677139e+00 -5.688529308438424683e+10 2.978516429429189483e+00 -5.847900841444799805e+10 3.061963433690677139e+00 -5.997910762555100250e+10 2.978516429429189483e+00 -6.165950018614809418e+10 3.061963433690677139e+00 -6.338697112569263458e+10 2.978516429429189483e+00 -6.516283940608427429e+10 3.061963433690677139e+00 -6.606934480075964355e+10 2.897343587701323386e+00 -6.698846094165271759e+10 2.978516429429189483e+00 -6.886522963442747498e+10 3.061963433690677139e+00 -6.886522963442747498e+10 2.897343587701323386e+00 -7.079457843841372681e+10 2.978516429429189483e+00 -7.261059574351557922e+10 2.897343587701323386e+00 -7.464487584100653076e+10 2.978516429429189483e+00 -7.673614893618185425e+10 2.897343587701323386e+00 -7.780365510398040771e+10 2.818382931264453717e+00 -7.888601176185548401e+10 2.978516429429189483e+00 -8.109610578538420105e+10 2.897343587701323386e+00 -8.109610578538420105e+10 2.818382931264453717e+00 -8.570378452303692627e+10 2.897343587701323386e+00 -8.570378452303692627e+10 2.818382931264453717e+00 -9.036494737223004150e+10 2.897343587701323386e+00 -9.036494737223004150e+10 2.818382931264453717e+00 -9.036494737223004150e+10 2.741574171927882553e+00 -9.549925860214369202e+10 2.818382931264453717e+00 -9.549925860214369202e+10 2.741574171927882553e+00 -1.009252886076683350e+11 2.818382931264453717e+00 -1.009252886076683350e+11 2.741574171927882553e+00 -1.037528415818012695e+11 2.666858664521479572e+00 -1.066596121230258942e+11 2.741574171927882553e+00 -1.096478196143182831e+11 2.666858664521479572e+00 -1.124604973966926880e+11 2.741574171927882553e+00 -1.124604973966926880e+11 2.594179362118814058e+00 -1.156112242192100525e+11 2.666858664521479572e+00 -1.188502227437016449e+11 2.594179362118814058e+00 -1.221799660164871063e+11 2.666858664521479572e+00 -1.221799660164871063e+11 2.523480772480574785e+00 -1.256029963694875488e+11 2.594179362118814058e+00 -1.291219273613536072e+11 2.523480772480574785e+00 -1.327394457729737396e+11 2.594179362118814058e+00 -1.345860354055946960e+11 2.454708915685030579e+00 -1.364583136588923798e+11 2.523480772480574785e+00 -1.399587322572620544e+11 2.454708915685030579e+00 -1.438798578255843811e+11 2.523480772480574785e+00 -1.458814260275347290e+11 2.387811282913177457e+00 -1.479108388168207092e+11 2.454708915685030579e+00 -1.520547529732496948e+11 2.387811282913177457e+00 -1.563147642640957031e+11 2.454708915685030579e+00 -1.584893192461110840e+11 2.322736796357106837e+00 -1.606941253012875671e+11 2.387811282913177457e+00 -1.651961798229014893e+11 2.322736796357106837e+00 -1.674942876026438293e+11 2.259435770220977524e+00 -1.698243652461745911e+11 2.387811282913177457e+00 -1.741806873391612854e+11 2.322736796357106837e+00 -1.741806873391612854e+11 2.259435770220977524e+00 -1.840772001468958130e+11 2.322736796357106837e+00 -1.840772001468958130e+11 2.259435770220977524e+00 -1.840772001468958130e+11 2.197859872784825086e+00 -1.945360081622661438e+11 2.259435770220977524e+00 -1.972422736114853516e+11 2.197859872784825086e+00 -1.972422736114853516e+11 2.137962089502232210e+00 -2.055890595984144592e+11 2.197859872784825086e+00 -2.055890595984144592e+11 2.137962089502232210e+00 -2.084490883097292786e+11 2.079696687103695485e+00 -2.167704104819696350e+11 2.079696687103695485e+00 -2.197859872784827576e+11 2.023019178678271413e+00 -2.228435149270307617e+11 2.137962089502232210e+00 -2.290867652767770081e+11 2.079696687103695485e+00 -2.290867652767770081e+11 2.023019178678271413e+00 -2.421029046736180115e+11 2.079696687103695485e+00 -2.421029046736180115e+11 2.023019178678271413e+00 -2.421029046736180115e+11 1.967886289706844760e+00 -2.558585886905642700e+11 2.023019178678271413e+00 -2.558585886905642700e+11 1.967886289706844760e+00 -2.558585886905642700e+11 1.914255925021085547e+00 -2.697739432444915161e+11 1.967886289706844760e+00 -2.697739432444915161e+11 1.914255925021085547e+00 -2.697739432444915161e+11 1.862087136662867515e+00 -2.851018267503909912e+11 1.914255925021085547e+00 -2.851018267503909912e+11 1.862087136662867515e+00 -2.890679882365477905e+11 1.811340092619602604e+00 -3.013006024186115723e+11 1.862087136662867515e+00 -3.013006024186115723e+11 1.811340092619602604e+00 -3.097419299216577759e+11 1.761976046411629193e+00 -3.184197521726125488e+11 1.811340092619602604e+00 -3.265878321723353271e+11 1.761976046411629193e+00 -3.265878321723353271e+11 1.713957307508425343e+00 -3.451437393358564453e+11 1.761976046411629193e+00 -3.451437393358564453e+11 1.713957307508425343e+00 -3.451437393358564453e+11 1.667247212551062896e+00 -3.647539469256072998e+11 1.713957307508425343e+00 -3.647539469256072998e+11 1.667247212551062896e+00 -3.647539469256072998e+11 1.621810097358930003e+00 -3.854783576657720947e+11 1.667247212551062896e+00 -3.854783576657720947e+11 1.621810097358930003e+00 -3.854783576657720947e+11 1.577611269699348728e+00 -4.064433291652127686e+11 1.621810097358930003e+00 -4.064433291652127686e+11 1.577611269699348728e+00 -4.064433291652127686e+11 1.534616982799294371e+00 -4.295364267648864136e+11 1.577611269699348728e+00 -4.295364267648864136e+11 1.534616982799294371e+00 -4.355118736855679321e+11 1.492794409578996007e+00 -4.539416166502031860e+11 1.534616982799294371e+00 -4.539416166502031860e+11 1.492794409578996007e+00 -4.602565735813562622e+11 1.452111617587742209e+00 -4.797334486366881714e+11 1.492794409578996007e+00 -4.797334486366881714e+11 1.452111617587742209e+00 -4.864072056914608765e+11 1.412537544622754382e+00 -5.058246620031148071e+11 1.452111617587742209e+00 -5.058246620031148071e+11 1.412537544622754382e+00 -5.199959965335151367e+11 1.377209468893946465e+00 -5.272298614228221436e+11 1.339676687425935153e+00 -5.345643593969713745e+11 1.412537544622754382e+00 -5.495408738576248169e+11 1.377209468893946465e+00 -5.495408738576248169e+11 1.339676687425935153e+00 -5.571857489319304199e+11 1.303166778452299335e+00 -5.807644175213111572e+11 1.339676687425935153e+00 -5.807644175213111572e+11 1.303166778452299335e+00 -5.888436553555883789e+11 1.267651865857845506e+00 -6.137620051647945557e+11 1.303166778452299335e+00 -6.137620051647945557e+11 1.267651865857845506e+00 -6.208690342300625000e+11 1.233104833228908959e+00 -6.471426157485831299e+11 1.267651865857845506e+00 -6.471426157485831299e+11 1.233104833228908959e+00 -6.561452663029056396e+11 1.199499303149378804e+00 -6.839116472814306641e+11 1.233104833228908959e+00 -6.839116472814306641e+11 1.199499303149378804e+00 -6.934258060165679932e+11 1.166809617060962534e+00 -7.227698036021702881e+11 1.199499303149378804e+00 -7.227698036021702881e+11 1.166809617060962534e+00 -7.328245331389044189e+11 1.135010815672315099e+00 -7.638357835776892090e+11 1.166809617060962534e+00 -7.638357835776892090e+11 1.135010815672315099e+00 -7.726805850957021484e+11 1.104078619902073122e+00 -8.053784411990677490e+11 1.135010815672315099e+00 -8.053784411990677490e+11 1.104078619902073122e+00 -8.165823713585938721e+11 1.073989412341244787e+00 -8.511380382023758545e+11 1.104078619902073122e+00 -8.511380382023758545e+11 1.073989412341244787e+00 -8.511380382023758545e+11 1.044720219220800050e+00 -8.871560120379616699e+11 1.016248692870695525e+00 -8.994975815300364990e+11 1.073989412341244787e+00 -8.994975815300364990e+11 1.044720219220800050e+00 -9.246981739382210693e+11 1.016248692870695525e+00 -9.375620069258792725e+11 9.885530946569388577e-01 -9.506047936562808838e+11 1.044720219220800050e+00 -9.749896377173886719e+11 1.016248692870695525e+00 -9.749896377173886719e+11 9.885530946569388577e-01 -9.885530946569370117e+11 9.616122783836646981e-01 -1.030386120441615845e+12 9.885530946569388577e-01 -1.030386120441615845e+12 9.616122783836646981e-01 -1.044720219220800415e+12 9.354056741475519354e-01 -1.088930093333435425e+12 9.616122783836646981e-01 -1.088930093333435425e+12 9.354056741475519354e-01 -1.119437883467150146e+12 9.099132726322515241e-01 -1.135010815672314209e+12 8.851156098308354814e-01 -1.150800388944435547e+12 9.354056741475519354e-01 -1.180320635651727295e+12 9.099132726322515241e-01 -1.180320635651727295e+12 8.851156098308354814e-01 -1.196740531307241943e+12 8.609937521846006137e-01 -1.247383514242943359e+12 8.851156098308354814e-01 -1.247383514242943359e+12 8.609937521846006137e-01 -1.264736347471152344e+12 8.375292821268826016e-01 -1.318256738556404785e+12 8.609937521846006137e-01 -1.318256738556404785e+12 8.375292821268826016e-01 -1.336595516546440430e+12 8.147042840208396086e-01 -1.374041975012514893e+12 7.925013304804717773e-01 -1.393156802945303467e+12 8.375292821268826016e-01 -1.393156802945303467e+12 8.147042840208396086e-01 -1.432187899273545410e+12 7.925013304804717773e-01 -1.452111617587744873e+12 7.709034690644300802e-01 -1.468926277643866211e+12 8.147042840208396086e-01 -1.510080154164149414e+12 7.925013304804717773e-01 -1.510080154164149414e+12 7.709034690644300802e-01 -1.531087461682031982e+12 7.498942093324558744e-01 -1.595879147236730469e+12 7.709034690644300802e-01 -1.595879147236730469e+12 7.498942093324558744e-01 -1.618080037643064453e+12 7.294575102545687306e-01 -1.663412650370169678e+12 7.095777679633887836e-01 -1.686553025388742432e+12 7.498942093324558744e-01 -1.686553025388742432e+12 7.294575102545687306e-01 -1.733803997754141113e+12 7.095777679633887836e-01 -1.757923613958689453e+12 6.902398038402419722e-01 -1.782378767448087158e+12 7.294575102545687306e-01 -1.828100216142744629e+12 7.095777679633887836e-01 -1.828100216142744629e+12 6.902398038402419722e-01 -1.853531623414814209e+12 6.714288529259523353e-01 -1.931968317016922119e+12 6.902398038402419722e-01 -1.931968317016922119e+12 6.714288529259523353e-01 -1.958844673505989014e+12 6.531305526474723289e-01 -2.041737944669531738e+12 6.714288529259523353e-01 -2.041737944669531738e+12 6.531305526474723289e-01 -2.098939883623520264e+12 6.353309318517437188e-01 -2.128139045982708984e+12 6.180164001384158556e-01 -2.157744409152664551e+12 6.531305526474723289e-01 -2.218196419800219238e+12 6.353309318517437188e-01 -2.218196419800219238e+12 6.180164001384158556e-01 -2.249054605835782715e+12 6.025595860743577781e-01 -2.338837238659353516e+12 6.180164001384158556e-01 -2.338837238659353516e+12 6.025595860743577781e-01 -2.371373705661655273e+12 5.861381645140286700e-01 -2.471724145016134277e+12 6.025595860743577781e-01 -2.471724145016134277e+12 5.861381645140286700e-01 -2.540972705549301270e+12 5.701642722807475083e-01 -2.576321157002572754e+12 5.546257129579107437e-01 -2.612161354399205078e+12 5.861381645140286700e-01 -2.685344445658508789e+12 5.701642722807475083e-01 -2.685344445658508789e+12 5.546257129579107437e-01 -2.722701308077915527e+12 5.395106225151276025e-01 -2.831391995799378906e+12 5.546257129579107437e-01 -2.831391995799378906e+12 5.395106225151276025e-01 -2.870780582024691895e+12 5.248074602497725394e-01 -2.992264636608195312e+12 5.395106225151276025e-01 -2.992264636608195312e+12 5.248074602497725394e-01 -3.033891184194265625e+12 5.105049999754063261e-01 -3.118889584093935547e+12 4.965923214503361049e-01 -3.162277660168379395e+12 5.248074602497725394e-01 -3.162277660168379395e+12 5.105049999754063261e-01 -3.250872973854347168e+12 4.965923214503361049e-01 -3.296097121774583008e+12 4.830588020397726390e-01 -3.341950400261135742e+12 5.105049999754063261e-01 -3.435579478998743164e+12 4.965923214503361049e-01 -3.435579478998743164e+12 4.830588020397726390e-01 -3.475361614432061035e+12 4.698941086052154104e-01 -3.572728381519295898e+12 4.570881896148750179e-01 -3.622429984166979980e+12 4.830588020397726390e-01 -3.622429984166979980e+12 4.698941086052154104e-01 -3.723917062545683105e+12 4.570881896148750179e-01 -3.775721909254160156e+12 4.446312674691086930e-01 -3.828247433168228027e+12 4.698941086052154104e-01 -3.935500754557780273e+12 4.570881896148750179e-01 -3.935500754557780273e+12 4.446312674691086930e-01 -3.990249023621428711e+12 4.325138310350087334e-01 -4.159106104940218750e+12 4.446312674691086930e-01 -4.159106104940218750e+12 4.325138310350087334e-01 -4.216965034285822266e+12 4.207266283844440791e-01 -4.325138310350079590e+12 4.092606597300108562e-01 -4.385306977749851562e+12 4.325138310350087334e-01 -4.385306977749851562e+12 4.207266283844440791e-01 -4.508167045414600586e+12 4.092606597300108562e-01 -4.570881896148751953e+12 3.981071705534972027e-01 -4.634469197362883789e+12 4.207266283844440791e-01 -4.764309868054166016e+12 4.092606597300108562e-01 -4.764309868054166016e+12 3.981071705534972027e-01 -4.830588020397718750e+12 3.872576449216172390e-01 -5.035006087879047852e+12 3.981071705534972027e-01 -5.035006087879047852e+12 3.872576449216172390e-01 -5.176068319505681641e+12 3.767037989839088774e-01 -5.308844442309878906e+12 3.872576449216172390e-01 -5.457578610912710938e+12 3.767037989839088774e-01 -5.457578610912710938e+12 3.664375746478332752e-01 -5.533501092157371094e+12 3.564511334262442377e-01 -5.767664633922497070e+12 3.664375746478332752e-01 -5.767664633922497070e+12 3.564511334262442377e-01 -5.847900841444799805e+12 3.467368504525316086e-01 -6.095368972401693359e+12 3.564511334262442377e-01 -6.095368972401693359e+12 3.467368504525316086e-01 -6.266138646723362305e+12 3.372873086588689118e-01 -6.353309318517449219e+12 3.280952931131190242e-01 -6.441692655151761719e+12 3.467368504525316086e-01 -6.606934480075964844e+12 3.372873086588689118e-01 -6.606934480075964844e+12 3.280952931131190242e-01 -6.698846094165272461e+12 3.191537855100761711e-01 -6.982324040771704102e+12 3.280952931131190242e-01 -6.982324040771704102e+12 3.191537855100761711e-01 -7.177942912713615234e+12 3.104559588128355530e-01 -7.379042301291015625e+12 3.191537855100761711e-01 -7.585775750291851562e+12 3.104559588128355530e-01 -7.585775750291851562e+12 3.019951720402015982e-01 -7.691304402866083008e+12 2.937649651961530828e-01 -8.016780633876790039e+12 3.019951720402015982e-01 -8.016780633876790039e+12 2.937649651961530828e-01 -8.128305161640995117e+12 2.857590543374946557e-01 -8.452788451602891602e+12 2.937649651961530828e-01 -8.452788451602891602e+12 2.857590543374946557e-01 -8.689604292863019531e+12 2.779713267759288398e-01 -8.810488730080146484e+12 2.703958364108843826e-01 -8.933054837332962891e+12 2.857590543374946557e-01 -9.183325964835791016e+12 2.779713267759288398e-01 -9.183325964835791016e+12 2.703958364108843826e-01 -9.311078754678291016e+12 2.630267991895381963e-01 -9.705099672454898438e+12 2.703958364108843826e-01 -9.705099672454898438e+12 2.630267991895381963e-01 -9.840111057611345703e+12 2.564484036517717391e-01 -1.009252886076683398e+13 2.494594726942954699e-01 -1.023292992280753711e+13 2.630267991895381963e-01 -1.023292992280753711e+13 2.564484036517717391e-01 -1.051961873823223438e+13 2.494594726942954699e-01 -1.066596121230258984e+13 2.426610095082415430e-01 -1.081433951297939844e+13 2.564484036517717391e-01 -1.111731727281589648e+13 2.494594726942954699e-01 -1.111731727281589648e+13 2.426610095082415430e-01 -1.127197456175509375e+13 2.360478233180577090e-01 -1.174897554939530273e+13 2.426610095082415430e-01 -1.174897554939530273e+13 2.360478233180577090e-01 -1.207813835106782227e+13 2.296148648112361912e-01 -1.224616199265046484e+13 2.233572222830531584e-01 -1.241652307592409375e+13 2.360478233180577090e-01 -1.273503081016662891e+13 2.296148648112361912e-01 -1.273503081016662891e+13 2.233572222830531584e-01 -1.291219273613536133e+13 2.172701178863744309e-01 -1.345860354055946875e+13 2.233572222830531584e-01 -1.345860354055946875e+13 2.172701178863744309e-01 -1.364583136588923828e+13 2.113489039836646544e-01 -1.402813704561958984e+13 2.055890595984141422e-01 -1.422328787122821289e+13 2.172701178863744309e-01 -1.422328787122821289e+13 2.113489039836646544e-01 -1.462177174456715234e+13 2.055890595984141422e-01 -1.482518085145951367e+13 1.999861869632744427e-01 -1.503141966090020898e+13 2.113489039836646544e-01 -1.545254439538414062e+13 2.055890595984141422e-01 -1.545254439538414062e+13 1.999861869632744427e-01 -1.563147642640957031e+13 1.945360081622662940e-01 -1.629296032639721484e+13 1.999861869632744427e-01 -1.629296032639721484e+13 1.945360081622662940e-01 -1.674942876026438086e+13 1.892343618644975467e-01 -1.698243652461746094e+13 1.840772001468955754e-01 -1.721868574986009570e+13 1.945360081622662940e-01 -1.770108958317418359e+13 1.892343618644975467e-01 -1.770108958317418359e+13 1.840772001468955754e-01 -1.794733626832524609e+13 1.790605854035294264e-01 -1.870682140365801562e+13 1.840772001468955754e-01 -1.870682140365801562e+13 1.790605854035294264e-01 -1.923091728910161328e+13 1.741806873391614219e-01 -1.945360081622661328e+13 1.694337800447328346e-01 -1.972422736114853516e+13 1.790605854035294264e-01 -2.027682719521283984e+13 1.741806873391614219e-01 -2.027682719521283984e+13 1.694337800447328346e-01 -2.055890595984144531e+13 1.648162391525508086e-01 -2.142890601120056250e+13 1.694337800447328346e-01 -2.142890601120056250e+13 1.648162391525508086e-01 -2.172701178863743359e+13 1.603245390690041239e-01 -2.233572222830532812e+13 1.559552502826953568e-01 -2.264644307593061719e+13 1.648162391525508086e-01 -2.264644307593061719e+13 1.603245390690041239e-01 -2.328091257665012891e+13 1.559552502826953568e-01 -2.360478233180573438e+13 1.517050367459336913e-01 -2.387811282913178125e+13 1.603245390690041239e-01 -2.454708915685033594e+13 1.559552502826953568e-01 -2.454708915685033594e+13 1.517050367459336913e-01 -2.488857318282395312e+13 1.475706533275894516e-01 -2.558585886905642578e+13 1.435489433353656086e-01 -2.594179362118812500e+13 1.517050367459336913e-01 -2.594179362118812500e+13 1.475706533275894516e-01 -2.666858664521480859e+13 1.435489433353656086e-01 -2.703958364108846094e+13 1.396368361055937701e-01 -2.741574171927886328e+13 1.475706533275894516e-01 -2.818382931264449219e+13 1.435489433353656086e-01 -2.818382931264449219e+13 1.396368361055937701e-01 -2.857590543374943750e+13 1.358313446587154083e-01 -2.971666031738031250e+13 1.396368361055937701e-01 -2.971666031738031250e+13 1.358313446587154083e-01 -3.054921113215509375e+13 1.321295634186575030e-01 -3.097419299216577734e+13 1.285286659943615517e-01 -3.140508693876216406e+13 1.358313446587154083e-01 -3.228494121712637891e+13 1.321295634186575030e-01 -3.228494121712637891e+13 1.285286659943615517e-01 -3.273406948788386328e+13 1.250259030217719947e-01 -3.411929116219281250e+13 1.285286659943615517e-01 -3.411929116219281250e+13 1.250259030217719947e-01 -3.507518739525679297e+13 1.216186000646367893e-01 -3.556313185689854688e+13 1.183041555725164590e-01 -3.605786430216427344e+13 1.250259030217719947e-01 -3.698281797802658594e+13 1.216186000646367893e-01 -3.698281797802658594e+13 1.183041555725164590e-01 -3.749730022454833594e+13 1.150800388944435981e-01 -3.908408957924025000e+13 1.183041555725164590e-01 -3.908408957924025000e+13 1.150800388944435981e-01 -4.017908108489392188e+13 1.122018454301963591e-01 -4.073802778041121875e+13 1.091440336448756543e-01 -4.130475019901610156e+13 1.150800388944435981e-01 -4.246195639463129688e+13 1.122018454301963591e-01 -4.246195639463129688e+13 1.091440336448756543e-01 -4.365158322401665625e+13 1.061695557198724660e-01 -4.487453899331314062e+13 1.091440336448756543e-01 -4.602565735813562500e+13 1.061695557198724660e-01 -4.602565735813562500e+13 1.032761405761397494e-01 -4.666593803142891406e+13 1.004615790278395177e-01 -4.864072056914609375e+13 1.032761405761397494e-01 -4.864072056914609375e+13 1.004615790278395177e-01 -4.931738039549354688e+13 9.772372209558106981e-02 -5.140436515824264062e+13 1.004615790278395177e-01 -5.140436515824264062e+13 9.772372209558106981e-02 -5.284452517751813281e+13 9.506047936562814216e-02 -5.357966575133406250e+13 9.246981739382224841e-02 -5.432503314924325000e+13 9.772372209558106981e-02 -5.584701947368306250e+13 9.506047936562814216e-02 -5.584701947368306250e+13 9.246981739382224841e-02 -5.649369748123034375e+13 8.994975815300350341e-02 -5.888436553555883594e+13 9.246981739382224841e-02 -5.888436553555883594e+13 8.994975815300350341e-02 -5.970352865838365625e+13 8.749837752274360059e-02 -6.223002851691601562e+13 8.994975815300350341e-02 -6.223002851691601562e+13 8.749837752274360059e-02 -6.397348354826468750e+13 8.511380382023762958e-02 -6.486344335482375000e+13 8.279421637123340894e-02 -6.576578373554199219e+13 8.749837752274360059e-02 -6.760829753919818750e+13 8.511380382023762958e-02 -6.760829753919818750e+13 8.279421637123340894e-02 -6.854882264526620312e+13 8.053784411990665137e-02 -7.128530301265190625e+13 8.279421637123340894e-02 -7.128530301265190625e+13 8.053784411990665137e-02 -7.227698036021703125e+13 7.834296427662115758e-02 -7.533555637337185938e+13 8.053784411990665137e-02 -7.533555637337185938e+13 7.834296427662115758e-02 -7.638357835776892188e+13 7.620790100254118404e-02 -7.852356346100709375e+13 7.413102413009177438e-02 -7.961593504173184375e+13 7.834296427662115758e-02 -7.961593504173184375e+13 7.620790100254118404e-02 -8.184647881347903125e+13 7.413102413009177438e-02 -8.298507675144234375e+13 7.211074791828997466e-02 -8.413951416451964062e+13 7.620790100254118404e-02 -8.629785477669701562e+13 7.413102413009177438e-02 -8.629785477669701562e+13 7.211074791828997466e-02 -8.749837752274364062e+13 7.014552984199713681e-02 -9.120108393559115625e+13 7.211074791828997466e-02 -9.120108393559115625e+13 7.014552984199713681e-02 -9.246981739382210938e+13 6.823386941416696716e-02 -9.638290236239704688e+13 7.014552984199713681e-02 -9.638290236239704688e+13 6.823386941416696716e-02 -9.772372209558110938e+13 6.637430704019089966e-02 -1.004615790278396719e+14 6.456542290346556356e-02 -1.018591388054114844e+14 6.823386941416696716e-02 -1.018591388054114844e+14 6.637430704019089966e-02 -1.047128548050898438e+14 6.456542290346556356e-02 -1.061695557198724219e+14 6.280583588133180351e-02 -1.073989412341246250e+14 6.637430704019089966e-02 -1.104078619902071250e+14 6.456542290346556356e-02 -1.104078619902071250e+14 6.280583588133180351e-02 -1.119437883467150156e+14 6.109420249055720620e-02 -1.150800388944435625e+14 5.942921586155727048e-02 -1.166809617060962969e+14 6.280583588133180351e-02 -1.166809617060962969e+14 6.109420249055720620e-02 -1.199499303149380625e+14 5.942921586155727048e-02 -1.216186000646370312e+14 5.780960474057181275e-02 -1.233104833228907031e+14 6.109420249055720620e-02 -1.267651865857844844e+14 5.942921586155727048e-02 -1.267651865857844844e+14 5.780960474057181275e-02 -1.285286659943615469e+14 5.623413251903491145e-02 -1.336595516546440469e+14 5.780960474057181275e-02 -1.336595516546440469e+14 5.623413251903491145e-02 -1.374041975012514844e+14 5.470159628939715718e-02 -1.393156802945303594e+14 5.321082592667942396e-02 -1.412537544622755312e+14 5.623413251903491145e-02 -1.452111617587745000e+14 5.470159628939715718e-02 -1.452111617587745000e+14 5.321082592667942396e-02 -1.472312502432716250e+14 5.176068319505676418e-02 -1.534616982799294062e+14 5.321082592667942396e-02 -1.534616982799294062e+14 5.176068319505676418e-02 -1.577611269699350000e+14 5.035006087879047298e-02 -1.599558028614671250e+14 4.897788193684461666e-02 -1.621810097358933125e+14 5.176068319505676418e-02 -1.663412650370169688e+14 5.035006087879047298e-02 -1.663412650370169688e+14 4.897788193684461666e-02 -1.710015315090289688e+14 4.775292736576908920e-02 -1.733803997754140938e+14 4.645152752227494491e-02 -1.757923613958689375e+14 4.897788193684461666e-02 -1.807174126010925625e+14 4.775292736576908920e-02 -1.807174126010925625e+14 4.645152752227494491e-02 -1.857804455091699062e+14 4.518559443749223942e-02 -1.883649089489802188e+14 4.395416154378245510e-02 -1.909853258566240625e+14 4.645152752227494491e-02 -1.963360276836043438e+14 4.518559443749223942e-02 -1.963360276836043438e+14 4.395416154378245510e-02 -2.018366363681559688e+14 4.275628861515862189e-02 -2.070141348791045625e+14 4.395416154378245510e-02 -2.128139045982709062e+14 4.275628861515862189e-02 -2.128139045982709062e+14 4.159106104940221010e-02 -2.157744409152664688e+14 4.045758916974426245e-02 -2.249054605835782812e+14 4.159106104940221010e-02 -2.249054605835782812e+14 4.045758916974426245e-02 -2.312064790175598750e+14 3.935500754557774705e-02 -2.344228815319917812e+14 3.828247433168226188e-02 -2.376840286624873438e+14 4.045758916974426245e-02 -2.443430552693971250e+14 3.935500754557774705e-02 -2.443430552693971250e+14 3.828247433168226188e-02 -2.511886431509582188e+14 3.723917062545684803e-02 -2.576321157002572812e+14 3.828247433168226188e-02 -2.648500138606700938e+14 3.723917062545684803e-02 -2.648500138606700938e+14 3.622429984166986028e-02 -2.685344445658509062e+14 3.523708710424870716e-02 -2.798981319634357188e+14 3.622429984166986028e-02 -2.798981319634357188e+14 3.523708710424870716e-02 -2.877398414735666875e+14 3.427677865464502649e-02 -2.917427014001165625e+14 3.334264127632349112e-02 -2.958012466551546250e+14 3.523708710424870716e-02 -3.040885025676283125e+14 3.427677865464502649e-02 -3.040885025676283125e+14 3.334264127632349112e-02 -3.083187950249360000e+14 3.243396173493491574e-02 -3.206269324505467500e+14 3.334264127632349112e-02 -3.206269324505467500e+14 3.243396173493491574e-02 -3.250872973854346875e+14 3.155004623374627754e-02 -3.388441561392020625e+14 3.243396173493491574e-02 -3.388441561392020625e+14 3.155004623374627754e-02 -3.435579478998743125e+14 3.069021988391158057e-02 -3.580964371026362500e+14 3.155004623374627754e-02 -3.580964371026362500e+14 3.069021988391158057e-02 -3.630780547701017500e+14 2.985382618917960251e-02 -3.784425847170928125e+14 3.069021988391158057e-02 -3.784425847170928125e+14 2.985382618917960251e-02 -3.837072454922784375e+14 2.904022654464451236e-02 -3.990249023621428750e+14 2.985382618917960251e-02 -3.990249023621428750e+14 2.904022654464451236e-02 -4.102041029866063750e+14 2.824879974915707470e-02 -4.216965034285822500e+14 2.904022654464451236e-02 -4.335108783875293125e+14 2.824879974915707470e-02 -4.335108783875293125e+14 2.747894153102397458e-02 -4.581418867145330000e+14 2.824879974915707470e-02 -4.581418867145330000e+14 2.747894153102397458e-02 -4.581418867145330000e+14 2.673006408663311517e-02 -4.775292736576911875e+14 2.600159563165272206e-02 -4.830588020397718750e+14 2.747894153102397458e-02 -4.830588020397718750e+14 2.673006408663311517e-02 -4.965923214503357500e+14 2.600159563165272206e-02 -5.035006087879047500e+14 2.529297996446144836e-02 -5.105049999754065000e+14 2.673006408663311517e-02 -5.248074602497733750e+14 2.600159563165272206e-02 -5.248074602497733750e+14 2.529297996446144836e-02 -5.321082592667953125e+14 2.460367604147627521e-02 -5.546257129579104375e+14 2.529297996446144836e-02 -5.546257129579104375e+14 2.460367604147627521e-02 -5.701642722807477500e+14 2.393315756405387656e-02 -5.780960474057187500e+14 2.328091257665007921e-02 -5.861381645140296250e+14 2.460367604147627521e-02 -6.011737374832778750e+14 2.393315756405387656e-02 -6.011737374832778750e+14 2.328091257665007921e-02 -6.180164001384163750e+14 2.264644307593059389e-02 -6.266138646723362500e+14 2.202926463053456185e-02 -6.353309318517448750e+14 2.328091257665007921e-02 -6.531305526474716250e+14 2.264644307593059389e-02 -6.531305526474716250e+14 2.202926463053456185e-02 -6.714288529259522500e+14 2.142890601120058316e-02 -6.807693586937417500e+14 2.089296130854039618e-02 -6.902398038402426250e+14 2.202926463053456185e-02 -7.095777679633902500e+14 2.142890601120058316e-02 -7.095777679633902500e+14 2.089296130854039618e-02 -7.294575102545680000e+14 2.032357010936221980e-02 -7.379042301291015000e+14 1.976969640111861035e-02 -7.481695005111552500e+14 2.089296130854039618e-02 -7.691304402866082500e+14 2.032357010936221980e-02 -7.691304402866082500e+14 1.976969640111861035e-02 -7.906786279998245000e+14 1.923091728910158657e-02 -8.016780633876790000e+14 1.870682140365800480e-02 -8.128305161640995000e+14 1.976969640111861035e-02 -8.356030182312491250e+14 1.923091728910158657e-02 -8.356030182312491250e+14 1.870682140365800480e-02 -8.590135215053942500e+14 1.819700858609983596e-02 -8.709635899560796250e+14 1.770108958317421002e-02 -8.830799004185622500e+14 1.870682140365800480e-02 -9.078205301781861250e+14 1.819700858609983596e-02 -9.078205301781861250e+14 1.770108958317421002e-02 -9.311078754678291250e+14 1.721868574986007080e-02 -9.440608762859226250e+14 1.674942876026437252e-02 -9.571940712948441250e+14 1.770108958317421002e-02 -9.840111057611345000e+14 1.721868574986007080e-02 -9.840111057611345000e+14 1.674942876026437252e-02 -1.011579454259900375e+15 1.629296032639722391e-02 -1.025651926251405750e+15 1.584893192461113431e-02 -1.039920165829057875e+15 1.674942876026437252e-02 -1.069054879222657750e+15 1.629296032639722391e-02 -1.069054879222657750e+15 1.584893192461113431e-02 -1.099005839432522000e+15 1.541700452949559125e-02 -1.114294533591731500e+15 1.499684835502373276e-02 -1.129795914672800000e+15 1.584893192461113431e-02 -1.158777356155126250e+15 1.541700452949559125e-02 -1.158777356155126250e+15 1.499684835502373276e-02 -1.191242008027376250e+15 1.458814260275348093e-02 -1.224616199265046500e+15 1.499684835502373276e-02 -1.224616199265046500e+15 1.419057521689091883e-02 -1.258925411794166250e+15 1.458814260275348093e-02 -1.294195841449986250e+15 1.419057521689091883e-02 -1.294195841449986250e+15 1.380384264602884520e-02 -1.330454417978092750e+15 1.342764961137863505e-02 -1.367728825595846750e+15 1.380384264602884520e-02 -1.402813704561959000e+15 1.342764961137863505e-02 -1.402813704561959000e+15 1.306170888131841755e-02 -1.442115351524871000e+15 1.270574105208541887e-02 -1.482518085145951500e+15 1.306170888131841755e-02 -1.524052753797290750e+15 1.270574105208541887e-02 -1.524052753797290750e+15 1.235947433444510753e-02 -1.566751070108150250e+15 1.202264434617413176e-02 -1.610645635178273250e+15 1.235947433444510753e-02 -1.655769963469526000e+15 1.202264434617413176e-02 -1.655769963469526000e+15 1.169499391019871229e-02 -1.702158508394950000e+15 1.137627285823430978e-02 -1.725837891990204000e+15 1.106623783977666448e-02 -1.745822152920507500e+15 1.169499391019871229e-02 -1.794733626832524750e+15 1.137627285823430978e-02 -1.794733626832524750e+15 1.106623783977666448e-02 -1.845015419179473750e+15 1.076465213629834890e-02 -1.870682140365801500e+15 1.047128548050899575e-02 -1.896705921211148250e+15 1.106623783977666448e-02 -1.949844599758041500e+15 1.076465213629834890e-02 -1.949844599758041500e+15 1.047128548050899575e-02 -1.976969640111858000e+15 1.018591388054116906e-02 -2.060629913270000500e+15 1.047128548050899575e-02 -2.060629913270000500e+15 1.018591388054116906e-02 -2.118361135248504250e+15 9.908319448927675049e-03 -2.147830474130537500e+15 9.638290236239705627e-03 -2.172701178863743250e+15 1.018591388054116906e-02 -2.233572222830532750e+15 9.908319448927675049e-03 -2.233572222830532750e+15 9.638290236239705627e-03 -2.264644307593062000e+15 9.375620069258801259e-03 -2.360478233180573500e+15 9.638290236239705627e-03 -2.360478233180573500e+15 9.375620069258801259e-03 -2.426610095082414500e+15 9.120108393559096804e-03 -2.460367604147627500e+15 8.892011178579481076e-03 -2.494594726942956000e+15 9.375620069258801259e-03 -2.564484036517721500e+15 9.120108393559096804e-03 -2.564484036517721500e+15 8.892011178579481076e-03 -2.600159563165267000e+15 8.649679187756930190e-03 -2.703958364108846000e+15 8.892011178579481076e-03 -2.703958364108846000e+15 8.649679187756930190e-03 -2.779713267759294000e+15 8.413951416451946955e-03 -2.818382931264449000e+15 8.184647881347895462e-03 -2.857590543374943500e+15 8.649679187756930190e-03 -2.937649651961530500e+15 8.413951416451946955e-03 -2.937649651961530500e+15 8.184647881347895462e-03 -2.978516429429191000e+15 7.961593504173183553e-03 -3.104559588128362000e+15 8.184647881347895462e-03 -3.104559588128362000e+15 7.961593504173183553e-03 -3.191537855100758500e+15 7.744617978025183924e-03 -3.235936569296281000e+15 7.533555637337169958e-03 -3.280952931131190500e+15 7.961593504173183553e-03 -3.365115693754901500e+15 7.744617978025183924e-03 -3.365115693754901500e+15 7.533555637337169958e-03 -3.411929116219281000e+15 7.328245331389044402e-03 -3.556313185689854500e+15 7.533555637337169958e-03 -3.556313185689854500e+15 7.328245331389044402e-03 -3.605786430216427500e+15 7.128530301265198661e-03 -3.706807217825767500e+15 6.934258060165694043e-03 -3.758374042884435500e+15 7.328245331389044402e-03 -3.758374042884435500e+15 7.128530301265198661e-03 -3.863669770540689500e+15 6.934258060165694043e-03 -3.917418771077830500e+15 6.745280276979222743e-03 -3.971915494694405000e+15 7.128530301265198661e-03 -4.083193863326927500e+15 6.934258060165694043e-03 -4.083193863326927500e+15 6.745280276979222743e-03 -4.130475019901610500e+15 6.561452663029056741e-03 -4.246195639463130000e+15 6.382634861905489565e-03 -4.305266104917110000e+15 6.745280276979222743e-03 -4.305266104917110000e+15 6.561452663029056741e-03 -4.425883723626273500e+15 6.382634861905489565e-03 -4.487453899331314000e+15 6.208690342300637703e-03 -4.549880601500480000e+15 6.561452663029056741e-03 -4.677351412871981000e+15 6.382634861905489565e-03 -4.677351412871981000e+15 6.208690342300637703e-03 -4.742419852602448000e+15 6.039486293763799904e-03 -4.943106869868364000e+15 6.208690342300637703e-03 -4.943106869868364000e+15 6.039486293763799904e-03 -5.081594425605600000e+15 5.874893525297768780e-03 -5.140436515824264000e+15 5.714786366718672267e-03 -5.211947111050811000e+15 6.039486293763799904e-03 -5.357966575133406000e+15 5.874893525297768780e-03 -5.357966575133406000e+15 5.714786366718672267e-03 -5.432503314924325000e+15 5.559042572704037122e-03 -5.662392890382535000e+15 5.714786366718672267e-03 -5.662392890382535000e+15 5.559042572704037122e-03 -5.741164622073280000e+15 5.407543229455809286e-03 -5.984115950603186000e+15 5.559042572704037122e-03 -5.984115950603186000e+15 5.407543229455809286e-03 -6.151768727098677000e+15 5.260172663907062597e-03 -6.237348354824191000e+15 5.116818355403078035e-03 -6.309573444801943000e+15 5.407543229455809286e-03 -6.486344335482375000e+15 5.260172663907062597e-03 -6.486344335482375000e+15 5.116818355403078035e-03 -6.576578373554199000e+15 4.977370849789360466e-03 -6.854882264526620000e+15 5.116818355403078035e-03 -6.854882264526620000e+15 4.977370849789360466e-03 -6.950243175887976000e+15 4.841723675840994313e-03 -7.244359600749891000e+15 4.977370849789360466e-03 -7.244359600749891000e+15 4.841723675840994313e-03 -7.345138681571144000e+15 4.709773263969528959e-03 -7.550922276654341000e+15 4.581418867145335000e-03 -7.655966069112569000e+15 4.841723675840994313e-03 -7.655966069112569000e+15 4.709773263969528959e-03 -7.852356346100710000e+15 4.581418867145335000e-03 -7.961593504173184000e+15 4.456562483975032643e-03 -8.072350302488382000e+15 4.709773263969528959e-03 -8.298507675144234000e+15 4.581418867145335000e-03 -8.298507675144234000e+15 4.456562483975032643e-03 -8.413951416451965000e+15 4.335108783875289175e-03 -8.770008211436340000e+15 4.456562483975032643e-03 -8.770008211436340000e+15 4.335108783875289175e-03 -8.892011178579481000e+15 4.216965034285822915e-03 -9.141132414702508000e+15 4.102041029866067799e-03 -9.268298233793504000e+15 4.335108783875289175e-03 -9.268298233793504000e+15 4.216965034285822915e-03 -9.527961640236502000e+15 4.102041029866067799e-03 -9.660508789898122000e+15 3.990249023621420324e-03 -9.772372209558112000e+15 4.216965034285822915e-03 -1.004615790278392600e+16 4.102041029866067799e-03 -1.004615790278392600e+16 3.990249023621420324e-03 -1.018591388054114800e+16 3.890451449942804868e-03 -1.061695557198724200e+16 3.990249023621420324e-03 -1.061695557198724200e+16 3.890451449942804868e-03 -1.076465213629835000e+16 3.784425847170931612e-03 -1.106623783977667600e+16 3.681289736425313007e-03 -1.122018454301965200e+16 3.890451449942804868e-03 -1.122018454301965200e+16 3.784425847170931612e-03 -1.153453257821095400e+16 3.681289736425313007e-03 -1.169499391019874800e+16 3.580964371026358790e-03 -1.185768748167164400e+16 3.784425847170931612e-03 -1.216186000646370400e+16 3.681289736425313007e-03 -1.216186000646370400e+16 3.580964371026358790e-03 -1.233104833228912200e+16 3.483373150360116396e-03 -1.285286659943620600e+16 3.580964371026358790e-03 -1.285286659943620600e+16 3.483373150360116396e-03 -1.303166778452294600e+16 3.388441561392023862e-03 -1.358313446587151400e+16 3.483373150360116396e-03 -1.358313446587151400e+16 3.388441561392023862e-03 -1.377209468893944400e+16 3.296097121774576102e-03 -1.435489433353656000e+16 3.388441561392023862e-03 -1.435489433353656000e+16 3.296097121774576102e-03 -1.455459080581966800e+16 3.206269324505464039e-03 -1.513561248436207200e+16 3.296097121774576102e-03 -1.513561248436207200e+16 3.206269324505464039e-03 -1.513561248436207200e+16 3.118889584093938704e-03 -1.599558028614671200e+16 3.206269324505464039e-03 -1.599558028614671200e+16 3.118889584093938704e-03 -1.599558028614671200e+16 3.033891184194271746e-03 -1.667247212551067800e+16 2.951209226666386826e-03 -1.690440931643270200e+16 3.118889584093938704e-03 -1.690440931643270200e+16 3.033891184194271746e-03 -1.737800828749369200e+16 2.951209226666386826e-03 -1.761976046411623800e+16 2.870780582024692190e-03 -1.786487574852046200e+16 3.033891184194271746e-03 -1.836538343348343600e+16 2.951209226666386826e-03 -1.836538343348343600e+16 2.870780582024692190e-03 -1.857804455091691200e+16 2.792543841237339099e-03 -1.936421963946602800e+16 2.870780582024692190e-03 -1.936421963946602800e+16 2.792543841237339099e-03 -1.963360276836043200e+16 2.716439268839083553e-03 -2.046444636724674000e+16 2.792543841237339099e-03 -2.046444636724674000e+16 2.716439268839083553e-03 -2.074913517454910800e+16 2.642408757321947511e-03 -2.162718523727024400e+16 2.716439268839083553e-03 -2.162718523727024400e+16 2.642408757321947511e-03 -2.192804935350454000e+16 2.570395782768864542e-03 -2.280342072000420800e+16 2.642408757321947511e-03 -2.280342072000420800e+16 2.570395782768864542e-03 -2.344228815319927600e+16 2.500345361696432091e-03 -2.376840286624883200e+16 2.432204009073815794e-03 -2.409905428686602800e+16 2.570395782768864542e-03 -2.477422057633276000e+16 2.500345361696432091e-03 -2.477422057633276000e+16 2.432204009073815794e-03 -2.511886431509572000e+16 2.365919697485759001e-03 -2.618183008218980800e+16 2.432204009073815794e-03 -2.618183008218980800e+16 2.365919697485759001e-03 -2.654605561975536400e+16 2.301441817408508925e-03 -2.766941645411512800e+16 2.365919697485759001e-03 -2.766941645411512800e+16 2.301441817408508925e-03 -2.805433637951716000e+16 2.238721138568339902e-03 -2.877398414735666800e+16 2.177709772353159188e-03 -2.917427014001166000e+16 2.301441817408508925e-03 -2.917427014001166000e+16 2.238721138568339902e-03 -2.999162518987653200e+16 2.177709772353159188e-03 -3.040885025676283200e+16 2.118361135248502097e-03 -3.083187950249359600e+16 2.238721138568339902e-03 -3.169567463043500000e+16 2.177709772353159188e-03 -3.169567463043500000e+16 2.118361135248502097e-03 -3.213660538640328000e+16 2.060629913270000443e-03 -3.349654391578265600e+16 2.118361135248502097e-03 -3.349654391578265600e+16 2.060629913270000443e-03 -3.396252725904074800e+16 2.004472027365161550e-03 -3.531831697919555600e+16 2.060629913270000443e-03 -3.531831697919555600e+16 2.004472027365161550e-03 -3.580964371026347600e+16 1.949844599758045584e-03 -3.732501577957198400e+16 2.004472027365161550e-03 -3.732501577957198400e+16 1.949844599758045584e-03 -3.784425847170928000e+16 1.896705921211146477e-03 -3.944573020752784800e+16 1.949844599758045584e-03 -3.944573020752784800e+16 1.896705921211146477e-03 -4.055085354483843200e+16 1.845015419179473664e-03 -4.111497211045229600e+16 1.794733626832526602e-03 -4.168693834703363200e+16 1.896705921211146477e-03 -4.285485203974409600e+16 1.845015419179473664e-03 -4.285485203974409600e+16 1.794733626832526602e-03 -4.345102241715732000e+16 1.745822152920503906e-03 -4.518559443749235200e+16 1.794733626832526602e-03 -4.518559443749235200e+16 1.745822152920503906e-03 -4.581418867145348800e+16 1.698243652461744243e-03 -4.775292736576892000e+16 1.745822152920503906e-03 -4.775292736576892000e+16 1.698243652461744243e-03 -4.841723675840979200e+16 1.655769963469527544e-03 -5.046612975635276800e+16 1.698243652461744243e-03 -5.046612975635276800e+16 1.655769963469527544e-03 -5.116818355403072800e+16 1.610645635178269966e-03 -5.333348954876213600e+16 1.655769963469527544e-03 -5.333348954876213600e+16 1.610645635178269966e-03 -5.395106225151268000e+16 1.566751070108148578e-03 -5.623413251903491200e+16 1.610645635178269966e-03 -5.623413251903491200e+16 1.566751070108148578e-03 -5.701642722807478400e+16 1.524052753797290561e-03 -5.942921586155739200e+16 1.566751070108148578e-03 -5.942921586155739200e+16 1.524052753797290561e-03 -6.025595860743593600e+16 1.482518085145952949e-03 -6.280583588133154400e+16 1.524052753797290561e-03 -6.280583588133154400e+16 1.482518085145952949e-03 -6.367955209079136000e+16 1.442115351524868132e-03 -6.546361740672733600e+16 1.402813704561957538e-03 -6.637430704019076000e+16 1.482518085145952949e-03 -6.637430704019076000e+16 1.442115351524868132e-03 -6.807693586937389600e+16 1.402813704561957538e-03 -6.998419960022716800e+16 1.442115351524868132e-03 -6.998419960022716800e+16 1.364583136588923924e-03 -7.194489780036983200e+16 1.402813704561957538e-03 -7.396052750582374400e+16 1.364583136588923924e-03 -7.396052750582374400e+16 1.327394457729740148e-03 -7.603262769401822400e+16 1.291219273613534741e-03 -7.709034690644308800e+16 1.256029963694875505e-03 -7.816278045883308800e+16 1.327394457729740148e-03 -8.035261221856193600e+16 1.291219273613534741e-03 -8.035261221856193600e+16 1.256029963694875505e-03 -8.260379495771817600e+16 1.221799660164872396e-03 -8.472274141405980800e+16 1.256029963694875505e-03 -8.472274141405980800e+16 1.188502227437019006e-03 -8.709635899560832000e+16 1.221799660164872396e-03 -8.953647655495974400e+16 1.188502227437019006e-03 -8.953647655495974400e+16 1.156112242192099213e-03 -9.078205301781824000e+16 1.124604973966926826e-03 -9.332543007969886400e+16 1.093956366272094130e-03 -9.462371613657910400e+16 1.156112242192099213e-03 -9.462371613657910400e+16 1.124604973966926826e-03 -9.727472237769641600e+16 1.093956366272094130e-03 -1.000000000000000000e+17 1.124604973966926826e-03 -1.025651926251405760e+17 1.093956366272094130e-03 -1.025651926251405760e+17 1.064143018224316404e-03 -1.083926914021203840e+17 1.093956366272094130e-03 -1.083926914021203840e+17 1.064143018224316404e-03 -1.083926914021203840e+17 1.035142166679344118e-03 -1.145512941445538400e+17 1.064143018224316404e-03 -1.145512941445538400e+17 1.035142166679344118e-03 -1.177605973520811520e+17 1.006931668851804426e-03 -1.210598133550477920e+17 1.035142166679344118e-03 -1.244514611771381760e+17 1.006931668851804426e-03 -1.244514611771381760e+17 9.794899854086991375e-04 -1.294195841449980960e+17 9.527961640236520856e-04 -1.312199899019198720e+17 1.006931668851804426e-03 -1.312199899019198720e+17 9.794899854086991375e-04 -1.348962882591650560e+17 9.527961640236520856e-04 -1.386755828871886720e+17 9.794899854086991375e-04 -1.425607593602187840e+17 9.527961640236520856e-04 -1.425607593602187840e+17 9.268298233793494014e-04 -1.506607066186744960e+17 9.527961640236520856e-04 -1.506607066186744960e+17 9.268298233793494014e-04 -1.506607066186744960e+17 9.015711376059570023e-04 -1.588546748597780800e+17 9.268298233793494014e-04 -1.588546748597780800e+17 9.015711376059570023e-04 -1.588546748597780800e+17 8.770008211436348174e-04 -1.678804018122565760e+17 9.015711376059570023e-04 -1.678804018122565760e+17 8.770008211436348174e-04 -1.725837891990196800e+17 8.531001140175895059e-04 -1.774189480890160640e+17 8.770008211436348174e-04 -1.823895702319634560e+17 8.531001140175895059e-04 -1.823895702319634560e+17 8.298507675144226005e-04 -1.927524913190936640e+17 8.531001140175895059e-04 -1.927524913190936640e+17 8.298507675144226005e-04 -1.927524913190936640e+17 8.072350302488382704e-04 -2.032357010936220800e+17 8.298507675144226005e-04 -2.032357010936220800e+17 8.072350302488382704e-04 -2.089296130854040960e+17 7.852356346100718620e-04 -2.147830474130537600e+17 8.072350302488382704e-04 -2.208004733018905920e+17 7.852356346100718620e-04 -2.208004733018905920e+17 7.638357835776907233e-04 -2.333458062280994880e+17 7.852356346100718620e-04 -2.333458062280994880e+17 7.638357835776907233e-04 -2.333458062280994880e+17 7.430191378967013639e-04 -2.460367604147617280e+17 7.638357835776907233e-04 -2.460367604147617280e+17 7.430191378967013639e-04 -2.460367604147617280e+17 7.244359600749898306e-04 -2.600159563165266880e+17 7.430191378967013639e-04 -2.600159563165266880e+17 7.244359600749898306e-04 -2.636331385825376000e+17 7.046930689671467149e-04 -2.747894153102397440e+17 7.244359600749898306e-04 -2.747894153102397440e+17 7.046930689671467149e-04 -2.786121168629772160e+17 6.854882264526613580e-04 -2.904022654464456960e+17 7.046930689671467149e-04 -2.904022654464456960e+17 6.854882264526613580e-04 -2.985382618917969280e+17 6.668067692136218742e-04 -3.019951720402019200e+17 6.486344335482381466e-04 -3.061963433690681600e+17 6.854882264526613580e-04 -3.147748314101323520e+17 6.668067692136218742e-04 -3.147748314101323520e+17 6.486344335482381466e-04 -3.191537855100771200e+17 6.309573444801929842e-04 -3.326595532940033280e+17 6.486344335482381466e-04 -3.326595532940033280e+17 6.309573444801929842e-04 -3.372873086588678400e+17 6.137620051647939496e-04 -3.515604405282976000e+17 6.309573444801929842e-04 -3.515604405282976000e+17 6.137620051647939496e-04 -3.564511334262439040e+17 5.970352865838366233e-04 -3.664375746478333440e+17 5.807644175213117930e-04 -3.715352290971728000e+17 6.137620051647939496e-04 -3.715352290971728000e+17 5.970352865838366233e-04 -3.810658233937726080e+17 5.807644175213117930e-04 -3.863669770540689280e+17 5.649369748123022087e-04 -3.917418771077830400e+17 5.970352865838366233e-04 -4.027170343254595200e+17 5.807644175213117930e-04 -4.027170343254595200e+17 5.649369748123022087e-04 -4.139996748197312640e+17 5.495408738576247707e-04 -4.197589839910085760e+17 5.345643593969718861e-04 -4.255984131337443840e+17 5.649369748123022087e-04 -4.375221051582503040e+17 5.495408738576247707e-04 -4.375221051582503040e+17 5.345643593969718861e-04 -4.436086439314309760e+17 5.199959965335161725e-04 -4.613175745603809920e+17 5.345643593969718861e-04 -4.613175745603809920e+17 5.199959965335161725e-04 -4.742419852602428800e+17 5.058246620031143148e-04 -4.808393484497269760e+17 4.920395356814511248e-04 -4.875284901033850240e+17 5.199959965335161725e-04 -5.011872336272714880e+17 5.058246620031143148e-04 -5.011872336272714880e+17 4.920395356814511248e-04 -5.152286445817561600e+17 4.786300923226385375e-04 -5.223961889991197440e+17 4.655860935229591091e-04 -5.296634438916580480e+17 4.920395356814511248e-04 -5.445026528424220160e+17 4.786300923226385375e-04 -5.445026528424220160e+17 4.655860935229591091e-04 -5.597576014951116160e+17 4.528975799036209023e-04 -5.675446054085488640e+17 4.405548635065534356e-04 -5.741164622073280000e+17 4.655860935229591091e-04 -5.902010801718453760e+17 4.528975799036209023e-04 -5.902010801718453760e+17 4.405548635065534356e-04 -6.067363295885071360e+17 4.285485203974396628e-04 -6.237348354824216320e+17 4.405548635065534356e-04 -6.237348354824216320e+17 4.168693834703355054e-04 -6.412095765851595520e+17 4.285485203974396628e-04 -6.591738952443198720e+17 4.168693834703355054e-04 -6.591738952443198720e+17 4.055085354483839357e-04 -6.776415076106743040e+17 3.944573020752784953e-04 -6.966265141107686400e+17 4.055085354483839357e-04 -7.144963260755120640e+17 3.944573020752784953e-04 -7.144963260755120640e+17 3.837072454922788533e-04 -7.345138681571143680e+17 3.732501577957206555e-04 -7.550922276654341120e+17 3.837072454922788533e-04 -7.762471166286927360e+17 3.732501577957206555e-04 -7.762471166286927360e+17 3.630780547701014001e-04 -7.979946872679784960e+17 3.531831697919569934e-04 -8.203515443298210560e+17 3.630780547701014001e-04 -8.203515443298210560e+17 3.435579478998746720e-04 -8.433347577642722560e+17 3.531831697919569934e-04 -8.669618757582142720e+17 3.435579478998746720e-04 -8.669618757582142720e+17 3.341950400261142805e-04 -8.892011178579517440e+17 3.250872973854343657e-04 -9.015711376059534080e+17 3.162277660168379394e-04 -9.141132414702471680e+17 3.341950400261142805e-04 -9.397233105646356480e+17 3.250872973854343657e-04 -9.397233105646356480e+17 3.162277660168379394e-04 -9.660508789898120960e+17 3.083187950249353416e-04 -9.931160484209335040e+17 3.162277660168379394e-04 -9.931160484209335040e+17 2.999162518987649826e-04 -1.006931668851804416e+18 2.917427014001165893e-04 -1.020939483707680768e+18 3.083187950249353416e-04 -1.049542428652324224e+18 2.999162518987649826e-04 -1.049542428652324224e+18 2.917427014001165893e-04 -1.078946722229831936e+18 2.837919028441555371e-04 -1.106623783977667584e+18 2.917427014001165893e-04 -1.106623783977667584e+18 2.760577856220344578e-04 -1.137627285823433344e+18 2.837919028441555371e-04 -1.169499391019874816e+18 2.760577856220344578e-04 -1.169499391019874816e+18 2.685344445658506183e-04 -1.202264434617408256e+18 2.612161354399204966e-04 -1.218989598924862464e+18 2.540972705549304051e-04 -1.235947433444506880e+18 2.685344445658506183e-04 -1.270574105208539392e+18 2.612161354399204966e-04 -1.270574105208539392e+18 2.540972705549304051e-04 -1.306170888131840512e+18 2.471724145016129218e-04 -1.342764961137864192e+18 2.540972705549304051e-04 -1.342764961137864192e+18 2.404362800006932177e-04 -1.377209468893944576e+18 2.471724145016129218e-04 -1.415793779957080832e+18 2.404362800006932177e-04 -1.415793779957080832e+18 2.338837238659356135e-04 -1.455459080581966848e+18 2.275097430772071673e-04 -1.496235656094435840e+18 2.338837238659356135e-04 -1.496235656094435840e+18 2.213094709605638603e-04 -1.538154640303038976e+18 2.275097430772071673e-04 -1.581248039270388992e+18 2.213094709605638603e-04 -1.581248039270388992e+18 2.152781734724373776e-04 -1.625548755750478336e+18 2.094112455850893515e-04 -1.667247212551067904e+18 2.152781734724373776e-04 -1.667247212551067904e+18 2.037042077705719060e-04 -1.713957307508432384e+18 2.094112455850893515e-04 -1.737800828749369088e+18 1.981527025805099069e-04 -1.761976046411623680e+18 2.037042077705719060e-04 -1.811340092619598848e+18 1.981527025805099069e-04 -1.811340092619598848e+18 1.927524913190936727e-04 -1.862087136662865664e+18 1.874994508067419135e-04 -1.914255925021085952e+18 1.927524913190936727e-04 -1.940885877592779264e+18 1.823895702319638392e-04 -1.967886289706846976e+18 1.874994508067419135e-04 -2.023019178678276096e+18 1.823895702319638392e-04 -2.023019178678276096e+18 1.774189480890166247e-04 -2.074913517454910720e+18 1.725837891990203952e-04 -2.133044913146579456e+18 1.774189480890166247e-04 -2.133044913146579456e+18 1.678804018122560739e-04 -2.192804935350454272e+18 1.725837891990203952e-04 -2.254239212152437248e+18 1.678804018122560739e-04 -2.254239212152437248e+18 1.633051947894334532e-04 -2.317394649968470016e+18 1.588546748597779177e-04 -2.382319469358684160e+18 1.633051947894334532e-04 -2.382319469358684160e+18 1.545254439538414103e-04 -2.415460834444935680e+18 1.503141966090022427e-04 -2.449063241844741632e+18 1.588546748597779177e-04 -2.517676927758854144e+18 1.545254439538414103e-04 -2.517676927758854144e+18 1.503141966090022427e-04 -2.582260190634590208e+18 1.462177174456718274e-04 -2.654605561975536128e+18 1.503141966090022427e-04 -2.654605561975536128e+18 1.422328787122819770e-04 -2.728977782808040448e+18 1.462177174456718274e-04 -2.728977782808040448e+18 1.383566378971781013e-04 -2.805433637951716352e+18 1.422328787122819770e-04 -2.884031503126611456e+18 1.383566378971781013e-04 -2.884031503126611456e+18 1.348962882591653344e-04 -2.964831389524351488e+18 1.312199899019202728e-04 -3.047894989627995648e+18 1.348962882591653344e-04 -3.047894989627995648e+18 1.276438808811343494e-04 -3.133285724315575808e+18 1.312199899019202728e-04 -3.213660538640328192e+18 1.276438808811343494e-04 -3.213660538640328192e+18 1.241652307592410625e-04 -3.303695410368135168e+18 1.207813835106779754e-04 -3.396252725904074752e+18 1.241652307592410625e-04 -3.396252725904074752e+18 1.174897554939529059e-04 -3.491403154785855488e+18 1.207813835106779754e-04 -3.589219346450050048e+18 1.174897554939529059e-04 -3.589219346450050048e+18 1.142878334789771186e-04 -3.689775985701504512e+18 1.111731727281590879e-04 -3.793149849736824832e+18 1.142878334789771186e-04 -3.793149849736824832e+18 1.081433951297937503e-04 -3.899419866765444096e+18 1.111731727281590879e-04 -3.899419866765444096e+18 1.051961873823222378e-04 -3.999447497610977792e+18 1.081433951297937503e-04 -4.111497211045229568e+18 1.051961873823222378e-04 -4.111497211045229568e+18 1.023292992280753577e-04 -4.226686142656041472e+18 9.954054173515274842e-05 -4.345102241715731968e+18 1.023292992280753577e-04 -4.345102241715731968e+18 9.682778562612486450e-05 -4.466835921509616640e+18 9.954054173515274842e-05 -4.591980128368675840e+18 9.682778562612486450e-05 -4.591980128368675840e+18 9.418895965228417909e-05 -4.720630412635899904e+18 9.162204901219992261e-05 -4.852885001621210112e+18 9.418895965228417909e-05 -4.852885001621210112e+18 8.912509381337458780e-05 -4.977370849789350912e+18 9.162204901219992261e-05 -5.116818355403073536e+18 8.912509381337458780e-05 -5.116818355403073536e+18 8.669618757582161312e-05 -5.260172663907062784e+18 8.433347577642756707e-05 -5.407543229455815680e+18 8.669618757582161312e-05 -5.407543229455815680e+18 8.203515443298176632e-05 -5.559042572704048128e+18 8.433347577642756707e-05 -5.714786366718689280e+18 8.203515443298176632e-05 -5.714786366718689280e+18 7.979946872679769074e-05 -5.874893525297744896e+18 7.762471166286911170e-05 -6.039486293763781632e+18 7.979946872679769074e-05 -6.039486293763781632e+18 7.550922276654340988e-05 -6.194410750767837184e+18 7.762471166286911170e-05 -6.367955209079136256e+18 7.550922276654340988e-05 -6.367955209079136256e+18 7.345138681571143191e-05 -6.546361740672734208e+18 7.144963260755134442e-05 -6.729766562843167744e+18 7.345138681571143191e-05 -6.729766562843167744e+18 6.950243175887962498e-05 -6.918309709189362688e+18 7.144963260755134442e-05 -7.112135136533295104e+18 6.950243175887962498e-05 -7.112135136533295104e+18 6.760829753919818874e-05 -7.311390834834187264e+18 6.576578373554199154e-05 -7.498942093324558336e+18 6.760829753919818874e-05 -7.498942093324558336e+18 6.397348354826481640e-05 -7.709034690644308992e+18 6.576578373554199154e-05 -7.925013304804733952e+18 6.397348354826481640e-05 -7.925013304804733952e+18 6.223002851691588505e-05 -8.147042840208420864e+18 6.053408747539135794e-05 -8.375292821268792320e+18 6.223002851691588505e-05 -8.375292821268792320e+18 5.888436553555884004e-05 -8.609937521845981184e+18 6.053408747539135794e-05 -8.851156098308337664e+18 5.888436553555884004e-05 -8.851156098308337664e+18 5.741164622073279840e-05 -9.099132726322507776e+18 5.584701947368306491e-05 -9.332543007969886208e+18 5.741164622073279840e-05 -9.332543007969886208e+18 5.432503314924335916e-05 -9.594006315159316480e+18 5.584701947368306491e-05 -9.862794856312098816e+18 5.432503314924335916e-05 -9.862794856312098816e+18 5.284452517751802127e-05 -1.013911385736680038e+19 5.140436515824264396e-05 -1.028016298126474650e+19 5.000345349769783158e-05 -1.042317429393305805e+19 5.284452517751802127e-05 -1.071519305237609267e+19 5.140436515824264396e-05 -1.071519305237609267e+19 5.000345349769783158e-05 diff --git a/Documentation/check/MiMeS/RDAxion.dat b/Documentation/check/MiMeS/RDAxion.dat deleted file mode 100644 index 87e6150..0000000 --- a/Documentation/check/MiMeS/RDAxion.dat +++ /dev/null @@ -1,143 +0,0 @@ -3.132991879880597352e+00 2.949841340341698074e+10 3.132534070113986768e+00 1.735919170042424353e+00 1.229592241702874705e-01 -3.124391106171401145e+00 3.442807589518614197e+10 3.123419963816675970e+00 1.686601964796221376e+00 1.256240682185325030e-01 -3.098588785043813409e+00 4.018156480603807831e+10 3.096319921898636807e+00 1.654811580000479676e+00 1.179409665751692260e-01 -3.072786463916225230e+00 4.689655486926543427e+10 3.068953086924508966e+00 1.608442534360796428e+00 1.221098324156194709e-01 -3.021181821661049760e+00 5.473372849520150757e+10 3.014936805764628858e+00 1.578354284221002324e+00 1.196023506894175609e-01 -2.960976405696678082e+00 6.388062072657205200e+10 2.951034508331297435e+00 1.532823824768408505e+00 1.211645150235935581e-01 -2.874968668604718225e+00 7.455610674814379883e+10 2.859587634778240073e+00 1.489531369084483359e+00 1.197607022180929293e-01 -2.780360157803563048e+00 8.701563933188906860e+10 2.761190502256134494e+00 1.461889771631765811e+00 1.199253857054091155e-01 -2.677150873293211220e+00 1.015573615440415955e+11 2.651421370974594183e+00 1.420035869263614581e+00 1.203703273489676456e-01 -2.556740041364467864e+00 1.185292409844701843e+11 2.527401253017195426e+00 1.393839214103909319e+00 1.196369523701688586e-01 -2.427728435726528744e+00 1.383373962729619446e+11 2.390929853201190447e+00 1.353830991693333541e+00 1.193010285872547482e-01 -2.298716830088589624e+00 1.614558150261838074e+11 2.254823519378837293e+00 1.315968906574903619e+00 1.196794054273689206e-01 -2.168819949414079851e+00 1.884376958659309692e+11 2.123847308300875536e+00 1.291545337418978034e+00 1.199168417764491928e-01 -2.037190895577652761e+00 2.199286858606032410e+11 1.986225733949692041e+00 1.255016938365212997e+00 1.199861531401786585e-01 -1.903666919922857304e+00 2.566823301574694519e+11 1.847123043348667837e+00 1.219352694642616308e+00 1.200615746356995389e-01 -1.772641536931798045e+00 2.995781034986433105e+11 1.718632644281756550e+00 1.196988563850850396e+00 1.204352867229774859e-01 -1.640298282746822656e+00 3.496424550953136597e+11 1.582774287975589056e+00 1.163186897730493330e+00 1.201380395121923461e-01 -1.516827221562843553e+00 4.080733704412147217e+11 1.456754150025810102e+00 1.130442618879233363e+00 1.199938495908133979e-01 -1.405579814661431781e+00 4.762690378027993774e+11 1.350434736472863051e+00 1.108577279830577078e+00 1.200721426581838475e-01 -1.298676500546828816e+00 5.558613053440590820e+11 1.243112463928729650e+00 1.078170151896170381e+00 1.197548323433424711e-01 -1.197068570872588555e+00 6.487547294786302490e+11 1.141121917514005935e+00 1.047801657774938944e+00 1.200152663415532950e-01 -1.098693438765447894e+00 7.571721488337399902e+11 1.049151279439213713e+00 1.028308914838505395e+00 1.198807282426013476e-01 -1.010845557638733405e+00 8.837078743614584961e+11 9.616874132199909608e-01 9.990933611219727783e-01 1.200968930848486382e-01 -9.276819953073335290e-01 1.031389768378722168e+12 8.794891920549198217e-01 9.709866656272143626e-01 1.198362569141993433e-01 -8.516564749534767387e-01 1.203751698020067139e+12 8.049641787347672217e-01 9.440914045507091679e-01 1.200965071811249396e-01 -7.817743850673037898e-01 1.404918096835460693e+12 7.413360281770101645e-01 9.263340904764949535e-01 1.198799833814095522e-01 -7.192807992958433205e-01 1.639702658000205322e+12 6.799764562784186284e-01 8.999709223519547496e-01 1.199646852559351079e-01 -6.587458266162639076e-01 1.913723520758250488e+12 6.209614044935292121e-01 8.747918181198807153e-01 1.199721573883107822e-01 -6.010104649134676569e-01 2.233537706385123535e+12 5.688508952530584306e-01 8.585538428705203895e-01 1.198507692576313843e-01 -5.496254014842126834e-01 2.606798020576928223e+12 5.188979515272817977e-01 8.344052755645032793e-01 1.200118692312584362e-01 -5.021771439507474177e-01 3.042436176769003418e+12 4.729761494831388191e-01 8.111094105549516708e-01 1.198470032619215198e-01 -4.592924119896468760e-01 3.550876522326109863e+12 4.315623261710123115e-01 7.884542280395542280e-01 1.199519133737034920e-01 -4.196738749283049907e-01 4.144285481839422852e+12 3.935021082161461736e-01 7.667015258259425314e-01 1.201533668184328191e-01 -3.829659104397103442e-01 4.836862686437170898e+12 3.607888226361329886e-01 7.521961781203493347e-01 1.200726817229981758e-01 -3.505982637254030365e-01 5.645180755516974609e+12 3.296575752612515564e-01 7.313633580091446484e-01 1.201146396224601759e-01 -3.207844811323742884e-01 6.588581861506814453e+12 3.010229514961727526e-01 7.110133798526455662e-01 1.198346382617679617e-01 -2.934627208886283478e-01 7.689640567018700195e+12 2.749011822142964911e-01 6.914657008908458025e-01 1.201552400506847723e-01 -2.673569744369929668e-01 8.974704009584349609e+12 2.517565330096308562e-01 6.785655651074536943e-01 1.199690544934388647e-01 -2.442172907111311020e-01 1.047452236000632031e+13 2.295240127233188210e-01 6.595628999783929025e-01 1.201359746515747312e-01 -2.230391144847828078e-01 1.222498464050784375e+13 2.093388177936655881e-01 6.416529475930342619e-01 1.200292030799144094e-01 -2.038815599745076312e-01 1.426797751000857227e+13 1.909523370232157624e-01 6.236083271178347598e-01 1.200390836879490358e-01 -1.863779139038636290e-01 1.665238756632528516e+13 1.742807464883721624e-01 6.064610256458869975e-01 1.201455047953996075e-01 -1.701397470817390678e-01 1.943527114929826562e+13 1.587871284809939665e-01 5.895328361506967374e-01 1.200311454707989334e-01 -1.556224111195894377e-01 2.268321963696043359e+13 1.461060347742611787e-01 5.787621175506244553e-01 1.201550240188932611e-01 -1.421184469265870387e-01 2.647395290480230859e+13 1.332606266023085850e-01 5.630185343761618944e-01 1.201496171733087426e-01 -1.294552732943899109e-01 3.089817907788013281e+13 1.211713610490430248e-01 5.473469041099671140e-01 1.201130264228043310e-01 -1.180028332500495242e-01 3.606176507761233594e+13 1.102936746189309564e-01 5.323522717634555645e-01 1.201219721955358033e-01 -1.078245359453396113e-01 4.208826990208889062e+13 1.006297451659039222e-01 5.178054613348404001e-01 1.200868081277447763e-01 -9.857230936750342731e-02 4.912190125853860938e+13 9.190800329966695992e-02 5.039902535958231677e-01 1.201107224504449761e-01 -8.995555329331060557e-02 5.733096629695032812e+13 8.372474083217326668e-02 4.900476260190979039e-01 1.201118802395487323e-01 -8.197789274343660060e-02 6.691189901715621875e+13 7.681953536473647148e-02 4.814264833776802921e-01 1.199768404793594978e-01 -7.482329084514487139e-02 7.809396072084504688e+13 7.002017173477172174e-02 4.682774972074187914e-01 1.199871618339960477e-01 -6.809391582062114534e-02 9.114472598521175000e+13 6.362954068730915236e-02 4.555116487589438989e-01 1.198640889795687392e-01 -6.207492323593541417e-02 1.063764854316314062e+14 5.793550512169268890e-02 4.432450918081684565e-01 1.201280161613096226e-01 -5.668114929525053247e-02 1.241537185006410625e+14 5.288004932732712216e-02 4.317381728452738265e-01 1.199334708183433934e-01 -5.184525206916299617e-02 1.449018150486195000e+14 4.827750238211982875e-02 4.197757519008376015e-01 1.200441813089842824e-01 -4.730197009117403234e-02 1.691172544644806875e+14 4.400211344422812892e-02 4.085687091878338895e-01 1.200578119948938205e-01 -4.305864229800231147e-02 1.973794858815772812e+14 4.003112698050067392e-02 3.978757095171550073e-01 1.200489529871879985e-01 -3.914232644976242681e-02 2.303647937653694688e+14 3.661824992564398362e-02 3.905505781332371806e-01 1.201915213144296030e-01 -3.567064554164766504e-02 2.688624806652938438e+14 3.334484279733584966e-02 3.802007674592451925e-01 1.199772951681791905e-01 -3.269001708006062656e-02 3.137937543664827500e+14 3.055190225472154478e-02 3.704673213319367164e-01 1.200739271123777152e-01 -2.981373840055891872e-02 3.662337713903369375e+14 2.783886130789200997e-02 3.607028921828099310e-01 1.198934385084751975e-01 -2.710349480760404148e-02 4.274373643209663125e+14 2.528203926832908732e-02 3.511445950007098249e-01 1.201332448207326625e-01 -2.470702156775080038e-02 4.988690685844117500e+14 2.302550274815154049e-02 3.419036973851882766e-01 1.201467275680446756e-01 -2.261714909938169343e-02 5.822381671888648750e+14 2.105151871326244387e-02 3.327773479064804474e-01 1.198277644673224479e-01 -2.072848630432173878e-02 6.795395920083763750e+14 1.927542020897817301e-02 3.240698446062320048e-01 1.201095597711294982e-01 -1.882276154546044800e-02 7.931016603333076250e+14 1.749678908545997114e-02 3.158080625371205707e-01 1.199235727582956546e-01 -1.706706595645277394e-02 9.256417889712791250e+14 1.584976024713571560e-02 3.076127014505952162e-01 1.200761683755020154e-01 -1.545245998314229499e-02 1.080331519076466500e+15 1.434081833328476434e-02 2.997711875619554767e-01 1.200274824272429403e-01 -1.399871726509761827e-02 1.260872407680677000e+15 1.297999824646757158e-02 2.920753319218707955e-01 1.200082346661238419e-01 -1.264395768970326753e-02 1.471584601928055750e+15 1.181710206966457913e-02 2.873905535939560441e-01 1.199443214062997781e-01 -1.140560331595254391e-02 1.717510215498501750e+15 1.065131369705759300e-02 2.800349276284334055e-01 1.198755477227743255e-01 -1.033371402574778317e-02 2.004533980905239750e+15 9.635991229731176791e-03 2.726994419365792455e-01 1.199803025646756366e-01 -9.405284204396400713e-03 2.339524064744821000e+15 8.767980661439345874e-03 2.661161514729429300e-01 1.200203445355836618e-01 -8.599325424256221845e-03 2.730496415455325500e+15 8.010429931712198179e-03 2.596652003792540575e-01 1.200155304459265132e-01 -7.868941966682578559e-03 3.186806576245907000e+15 7.379593003977222461e-03 2.555709267361053749e-01 1.198566683219920437e-01 -7.193519001355842303e-03 3.719373553072647500e+15 6.741376137293596076e-03 2.494076956503832043e-01 1.201011492256969515e-01 -6.554444638668403302e-03 4.340941094577660500e+15 6.129961305570537367e-03 2.431652619967104578e-01 1.198775242155612625e-01 -6.002663530078186302e-03 5.066382636136639000e+15 5.650574692959166832e-03 2.394534951547062918e-01 1.201696401020431459e-01 -5.503883025514029470e-03 5.913057204993993000e+15 5.170923931339978241e-03 2.335419139142696776e-01 1.198572634206488408e-01 -5.048154709120416909e-03 6.901224802908548000e+15 4.731168192010083186e-03 2.277330303196587191e-01 1.198243134299057794e-01 -4.610327461505198642e-03 8.054531205964939000e+15 4.319372951133782119e-03 2.226459629104571569e-01 1.200880826938639789e-01 -4.205261415977891958e-03 9.400573782282964000e+15 3.928120171539598721e-03 2.171268885518999880e-01 1.201384857090951469e-01 -3.852432426863199120e-03 1.097156186702723800e+16 3.597511350870480091e-03 2.123025837924688297e-01 1.201158213523579044e-01 -3.532380187678739198e-03 1.280508749677337800e+16 3.294790173248616106e-03 2.073139714007301015e-01 1.201440420918729185e-01 -3.224382505104717196e-03 1.494502494606527000e+16 3.001235985991077080e-03 2.022068483024093144e-01 1.199691174127742316e-01 -2.963030364519445188e-03 1.744258059109661600e+16 2.758276002962332246e-03 1.977427229351071958e-01 1.200769975436025011e-01 -2.726692396653576916e-03 2.035751822261104000e+16 2.532441006635742162e-03 1.930030322816087829e-01 1.200892945628018044e-01 -2.504323723229300806e-03 2.375958912842755600e+16 2.309197241030061607e-03 1.876557862489962036e-01 1.197971512271627931e-01 -2.288920863074377435e-03 2.773020116591049600e+16 2.107710172238618385e-03 1.834229802760150851e-01 1.199214640567963508e-01 -2.091721137344951763e-03 3.236436676347362800e+16 1.932008721776676870e-03 1.799339415470745385e-01 1.198886112881923371e-01 -1.942838465316669644e-03 3.777297646467454400e+16 1.780303870469893655e-03 1.750189926196820123e-01 1.199082510390121620e-01 -1.787097890401167588e-03 4.408545241834111200e+16 1.624358237688560899e-03 1.704691694167226046e-01 1.199651781081899349e-01 -1.643723381345348023e-03 5.145284530985874400e+16 1.498085115771485409e-03 1.672858323574904216e-01 1.198933555696554548e-01 -1.514158536772161915e-03 6.005144883981774400e+16 1.370364419270433259e-03 1.628651927920895803e-01 1.200334637288609507e-01 -1.377577086371041233e-03 7.008701824056906400e+16 1.239191038740049093e-03 1.585710944722001359e-01 1.199864520022222159e-01 -1.249671023721968775e-03 8.179969377519467200e+16 1.106971495776604012e-03 1.533643099865866499e-01 1.200395742999765397e-01 -1.136518653840139790e-03 9.546974703287496000e+16 1.002634734510382715e-03 1.492549475919993651e-01 1.201130163312584265e-01 -1.044892863056385863e-03 1.114242875232505280e+17 9.135599582809287699e-04 1.447006542265370510e-01 1.199618929566211994e-01 -9.746185855588453475e-04 1.300450900512900480e+17 8.412353928872722680e-04 1.397079533049570832e-01 1.200000012225596602e-01 -9.184506454961107900e-04 1.517777301732271360e+17 7.855422705185836300e-04 1.350877893880862990e-01 1.200000037131512126e-01 -8.629060483246316039e-04 1.771422463351081600e+17 7.237804454007048562e-04 1.294989507876823376e-01 1.200000059147260378e-01 -8.071467629815269303e-04 2.067455838273141440e+17 6.518392540960709844e-04 1.228523480724955791e-01 1.200000079168686701e-01 -7.499700389412511338e-04 2.412961183253616960e+17 5.712580786615177814e-04 1.148044845803997127e-01 1.200000098263853815e-01 -6.928553000325676173e-04 2.816206065495399040e+17 4.988883477266125438e-04 1.071019488791378621e-01 1.200000116191700938e-01 -6.373442965623973356e-04 3.286839696542054400e+17 4.385436201908289827e-04 9.977288162312313025e-02 1.200000132683640558e-01 -5.776034663440703402e-04 3.836123827417527040e+17 3.860988615485317103e-04 9.282091746080889383e-02 1.200000151646427038e-01 -5.251561609137450409e-04 4.477202230082111360e+17 3.467302676167223572e-04 8.665766063774044126e-02 1.200000166750453540e-01 -4.768809545891612993e-04 5.225415213602968960e+17 3.034324856015524225e-04 8.030676100417769026e-02 1.200000179962935482e-01 -4.302442729503068702e-04 6.098666701068888320e+17 2.692749044309372718e-04 7.475616183166797213e-02 1.200000193210347538e-01 -3.861840132208126022e-04 7.117852651001310720e+17 2.431464527499632722e-04 7.001623836511233767e-02 1.200000206280664727e-01 -3.474806043450744727e-04 8.307361074919334400e+17 2.162957330361961169e-04 6.518878164278119058e-02 1.200000216809190556e-01 -3.116053849692207900e-04 9.695655615935955200e+17 1.918075879702036410e-04 6.059233484592117108e-02 1.200000226940613895e-01 -2.782284803643760365e-04 1.131595665278609024e+18 1.688739421502098118e-04 5.613529175026484019e-02 1.200000237139808579e-01 -2.489868648213697136e-04 1.320703622736631040e+18 1.489997850169375775e-04 5.209235057137635849e-02 1.200000245320624465e-01 -2.211100574008112386e-04 1.541414581753642240e+18 1.318094316452332669e-04 4.837513652250306079e-02 1.200000254924469406e-01 -1.975071456727537581e-04 1.799009915577825792e+18 1.168374225668594398e-04 4.497192681482574395e-02 1.200000261798195161e-01 -1.756463149111136028e-04 2.099653600438433024e+18 1.037406622857304410e-04 4.183568163392314271e-02 1.200000269148068788e-01 -1.564697896966635662e-04 2.450539712794259968e+18 9.150012439626005857e-05 3.881820336912833458e-02 1.200000275286545737e-01 -1.391163867161296060e-04 2.860064575760391168e+18 8.364191235691353682e-05 3.653298956374508022e-02 1.200000281265368590e-01 -1.234030752538254803e-04 3.338027673990321152e+18 7.413079330721002657e-05 3.396156467372690724e-02 1.200000287484516842e-01 -1.097587523624954533e-04 3.895866144687576064e+18 6.584137458749076809e-05 3.160961500023561077e-02 1.200000292214168929e-01 -9.763581129583935668e-05 4.546928455862420480e+18 5.842006276554955271e-05 2.940566360485408204e-02 1.200000296441707665e-01 -8.681783198778292700e-05 5.306793820656120832e+18 5.111291825781021780e-05 2.719548894538181827e-02 1.200000300446513041e-01 -7.714404111231863302e-05 6.193644990970605568e+18 4.521633702718677329e-05 2.525298154760681132e-02 1.200000304232297504e-01 -6.848739637236880243e-05 7.228703350949551104e+18 4.009750177655578394e-05 2.346729019625480583e-02 1.200000308030472057e-01 -6.080943359222368950e-05 8.436736721624808448e+18 3.681314287335245967e-05 2.208736156178596130e-02 1.200000311377505541e-01 -5.397124175447912218e-05 9.846652027941251072e+18 3.254129953108361712e-05 2.047059639348698321e-02 1.200000314729530310e-01 -4.796728611825819901e-05 1.149218701003699814e+19 2.887839875608399652e-05 1.898901556216579800e-02 1.200000317280898177e-01 -4.270265852382887665e-05 1.341271753067895603e+19 2.526562964927355295e-05 1.751353460171517842e-02 1.200000319181109554e-01 -3.794351231615085272e-05 1.565419979684135731e+19 2.316186728839615057e-05 1.643186031511699799e-02 1.200000321458701280e-01 -3.373529904012240502e-05 1.827027004176545178e+19 2.026680672063104410e-05 1.512394173756570828e-02 1.200000323357145737e-01 -3.005740651487688589e-05 2.132352798169763430e+19 1.801346254998452924e-05 1.401614911796835242e-02 1.200000324403511093e-01 -2.675809408634778963e-05 2.488703475902785126e+19 1.589354613299574187e-05 1.294133811237911137e-02 1.200000325684003333e-01 -2.375950715488766641e-05 2.904606121598040064e+19 1.434813877355844442e-05 1.205310434565804237e-02 1.200000327618253038e-01 -2.112216863138112862e-05 3.390012833314485043e+19 1.276658765639040171e-05 1.115326860245283158e-02 1.200000328959641982e-01 -1.879417434550141131e-05 3.956538865832244019e+19 1.129672435213673485e-05 1.030103682308549512e-02 1.200000330106225921e-01 -1.671629145695870648e-05 4.617740571069106586e+19 1.003285607752462587e-05 9.525222369365798220e-03 1.200000331144502053e-01 -1.490256330049249599e-05 5.389439786840595661e+19 9.074363878516270327e-06 8.874840829884614313e-03 1.200000331484401273e-01 -1.329007318282907114e-05 6.290102436234491494e+19 8.049029870945354490e-06 8.204315893309055419e-03 1.200000331505465118e-01 -1.179107101022568022e-05 7.341280397070145946e+19 7.131093888720861527e-06 7.567020826317071014e-03 1.200000333279871989e-01 -1.050461492776976217e-05 8.568127214899499827e+19 6.323951666527963829e-06 6.994324392061021349e-03 1.200000333581083406e-01 -9.383929404255103026e-06 1.000000000000000000e+20 5.672812994061010560e-06 6.498157770490465765e-03 1.200000332927717156e-01 diff --git a/Documentation/check/RDcheck.ipynb b/Documentation/check/RDcheck.ipynb deleted file mode 100644 index ec7c899..0000000 --- a/Documentation/check/RDcheck.ipynb +++ /dev/null @@ -1,1126 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "os.chdir('..')\n", - "\n", - "import numpy as np\n", - "# import FT as FT\n", - "\n", - "\n", - "import matplotlib\n", - "#matplotlib.use('WebAgg')\n", - "#matplotlib.use('Qt4Cairo')\n", - "#matplotlib.use('Qt5Cairo')\n", - "matplotlib.use('nbAgg')\n", - "import matplotlib.pyplot as plt\n", - "\n", - "plt.rcParams['font.size']=16\n", - "plt.rcParams['font.family']='dejavu sans'\n", - "\n", - "plt.rcParams['mathtext.fontset']='stix'\n", - "plt.rcParams['mathtext.rm']='custom'\n", - "plt.rcParams['mathtext.it']='stix:italic'\n", - "plt.rcParams['mathtext.bf']='stix:bold'\n", - "#-------------------------#\n", - "os.chdir('check')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "#load the module\n", - "from sys import path as sysPath\n", - "from os import path as osPath\n", - "sysPath.append(osPath.join(osPath.dirname('./'), '../../src'))\n", - "\n", - "from interfacePy.FT import FT #easy tick formatting" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "Lattice_theta=np.loadtxt('./1606.07494/fa_vs_theta.dat')#data from 1606.07494\n", - "\n", - "AxionCosmoRev=np.loadtxt('./0910.1066/theta_vs_fa.dat')#data from 0910.1066 \n", - "\n", - "GonVis=np.loadtxt('./0912.0015/RDline.dat')#data from 0912.0015 \n", - "\n", - "MiMeS=np.loadtxt('./MiMeS/RDAxion.dat')\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "/* global mpl */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function () {\n", - " if (typeof WebSocket !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof MozWebSocket !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert(\n", - " 'Your browser does not have WebSocket support. ' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.'\n", - " );\n", - " }\n", - "};\n", - "\n", - "mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = this.ws.binaryType !== undefined;\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById('mpl-warnings');\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent =\n", - " 'This browser does not support binary websocket messages. ' +\n", - " 'Performance may be slow.';\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = document.createElement('div');\n", - " this.root.setAttribute('style', 'display: inline-block');\n", - " this._root_extra_style(this.root);\n", - "\n", - " parent_element.appendChild(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message('supports_binary', { value: fig.supports_binary });\n", - " fig.send_message('send_image_mode', {});\n", - " if (fig.ratio !== 1) {\n", - " fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n", - " }\n", - " fig.send_message('refresh', {});\n", - " };\n", - "\n", - " this.imageObj.onload = function () {\n", - " if (fig.image_mode === 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function () {\n", - " fig.ws.close();\n", - " };\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "};\n", - "\n", - "mpl.figure.prototype._init_header = function () {\n", - " var titlebar = document.createElement('div');\n", - " titlebar.classList =\n", - " 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n", - " var titletext = document.createElement('div');\n", - " titletext.classList = 'ui-dialog-title';\n", - " titletext.setAttribute(\n", - " 'style',\n", - " 'width: 100%; text-align: center; padding: 3px;'\n", - " );\n", - " titlebar.appendChild(titletext);\n", - " this.root.appendChild(titlebar);\n", - " this.header = titletext;\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n", - "\n", - "mpl.figure.prototype._init_canvas = function () {\n", - " var fig = this;\n", - "\n", - " var canvas_div = (this.canvas_div = document.createElement('div'));\n", - " canvas_div.setAttribute(\n", - " 'style',\n", - " 'border: 1px solid #ddd;' +\n", - " 'box-sizing: content-box;' +\n", - " 'clear: both;' +\n", - " 'min-height: 1px;' +\n", - " 'min-width: 1px;' +\n", - " 'outline: 0;' +\n", - " 'overflow: hidden;' +\n", - " 'position: relative;' +\n", - " 'resize: both;'\n", - " );\n", - "\n", - " function on_keyboard_event_closure(name) {\n", - " return function (event) {\n", - " return fig.key_event(event, name);\n", - " };\n", - " }\n", - "\n", - " canvas_div.addEventListener(\n", - " 'keydown',\n", - " on_keyboard_event_closure('key_press')\n", - " );\n", - " canvas_div.addEventListener(\n", - " 'keyup',\n", - " on_keyboard_event_closure('key_release')\n", - " );\n", - "\n", - " this._canvas_extra_style(canvas_div);\n", - " this.root.appendChild(canvas_div);\n", - "\n", - " var canvas = (this.canvas = document.createElement('canvas'));\n", - " canvas.classList.add('mpl-canvas');\n", - " canvas.setAttribute('style', 'box-sizing: content-box;');\n", - "\n", - " this.context = canvas.getContext('2d');\n", - "\n", - " var backingStore =\n", - " this.context.backingStorePixelRatio ||\n", - " this.context.webkitBackingStorePixelRatio ||\n", - " this.context.mozBackingStorePixelRatio ||\n", - " this.context.msBackingStorePixelRatio ||\n", - " this.context.oBackingStorePixelRatio ||\n", - " this.context.backingStorePixelRatio ||\n", - " 1;\n", - "\n", - " this.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n", - " 'canvas'\n", - " ));\n", - " rubberband_canvas.setAttribute(\n", - " 'style',\n", - " 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n", - " );\n", - "\n", - " // Apply a ponyfill if ResizeObserver is not implemented by browser.\n", - " if (this.ResizeObserver === undefined) {\n", - " if (window.ResizeObserver !== undefined) {\n", - " this.ResizeObserver = window.ResizeObserver;\n", - " } else {\n", - " var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n", - " this.ResizeObserver = obs.ResizeObserver;\n", - " }\n", - " }\n", - "\n", - " this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n", - " var nentries = entries.length;\n", - " for (var i = 0; i < nentries; i++) {\n", - " var entry = entries[i];\n", - " var width, height;\n", - " if (entry.contentBoxSize) {\n", - " if (entry.contentBoxSize instanceof Array) {\n", - " // Chrome 84 implements new version of spec.\n", - " width = entry.contentBoxSize[0].inlineSize;\n", - " height = entry.contentBoxSize[0].blockSize;\n", - " } else {\n", - " // Firefox implements old version of spec.\n", - " width = entry.contentBoxSize.inlineSize;\n", - " height = entry.contentBoxSize.blockSize;\n", - " }\n", - " } else {\n", - " // Chrome <84 implements even older version of spec.\n", - " width = entry.contentRect.width;\n", - " height = entry.contentRect.height;\n", - " }\n", - "\n", - " // Keep the size of the canvas and rubber band canvas in sync with\n", - " // the canvas container.\n", - " if (entry.devicePixelContentBoxSize) {\n", - " // Chrome 84 implements new version of spec.\n", - " canvas.setAttribute(\n", - " 'width',\n", - " entry.devicePixelContentBoxSize[0].inlineSize\n", - " );\n", - " canvas.setAttribute(\n", - " 'height',\n", - " entry.devicePixelContentBoxSize[0].blockSize\n", - " );\n", - " } else {\n", - " canvas.setAttribute('width', width * fig.ratio);\n", - " canvas.setAttribute('height', height * fig.ratio);\n", - " }\n", - " canvas.setAttribute(\n", - " 'style',\n", - " 'width: ' + width + 'px; height: ' + height + 'px;'\n", - " );\n", - "\n", - " rubberband_canvas.setAttribute('width', width);\n", - " rubberband_canvas.setAttribute('height', height);\n", - "\n", - " // And update the size in Python. We ignore the initial 0/0 size\n", - " // that occurs as the element is placed into the DOM, which should\n", - " // otherwise not happen due to the minimum size styling.\n", - " if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n", - " fig.request_resize(width, height);\n", - " }\n", - " }\n", - " });\n", - " this.resizeObserverInstance.observe(canvas_div);\n", - "\n", - " function on_mouse_event_closure(name) {\n", - " return function (event) {\n", - " return fig.mouse_event(event, name);\n", - " };\n", - " }\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mousedown',\n", - " on_mouse_event_closure('button_press')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseup',\n", - " on_mouse_event_closure('button_release')\n", - " );\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband_canvas.addEventListener(\n", - " 'mousemove',\n", - " on_mouse_event_closure('motion_notify')\n", - " );\n", - "\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseenter',\n", - " on_mouse_event_closure('figure_enter')\n", - " );\n", - " rubberband_canvas.addEventListener(\n", - " 'mouseleave',\n", - " on_mouse_event_closure('figure_leave')\n", - " );\n", - "\n", - " canvas_div.addEventListener('wheel', function (event) {\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " on_mouse_event_closure('scroll')(event);\n", - " });\n", - "\n", - " canvas_div.appendChild(canvas);\n", - " canvas_div.appendChild(rubberband_canvas);\n", - "\n", - " this.rubberband_context = rubberband_canvas.getContext('2d');\n", - " this.rubberband_context.strokeStyle = '#000000';\n", - "\n", - " this._resize_canvas = function (width, height, forward) {\n", - " if (forward) {\n", - " canvas_div.style.width = width + 'px';\n", - " canvas_div.style.height = height + 'px';\n", - " }\n", - " };\n", - "\n", - " // Disable right mouse context menu.\n", - " this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n", - " event.preventDefault();\n", - " return false;\n", - " });\n", - "\n", - " function set_focus() {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'mpl-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'mpl-button-group';\n", - " continue;\n", - " }\n", - "\n", - " var button = (fig.buttons[name] = document.createElement('button'));\n", - " button.classList = 'mpl-widget';\n", - " button.setAttribute('role', 'button');\n", - " button.setAttribute('aria-disabled', 'false');\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - "\n", - " var icon_img = document.createElement('img');\n", - " icon_img.src = '_images/' + image + '.png';\n", - " icon_img.srcset = '_images/' + image + '_large.png 2x';\n", - " icon_img.alt = tooltip;\n", - " button.appendChild(icon_img);\n", - "\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " var fmt_picker = document.createElement('select');\n", - " fmt_picker.classList = 'mpl-widget';\n", - " toolbar.appendChild(fmt_picker);\n", - " this.format_dropdown = fmt_picker;\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = document.createElement('option');\n", - " option.selected = fmt === mpl.default_extension;\n", - " option.innerHTML = fmt;\n", - " fmt_picker.appendChild(option);\n", - " }\n", - "\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "};\n", - "\n", - "mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', { width: x_pixels, height: y_pixels });\n", - "};\n", - "\n", - "mpl.figure.prototype.send_message = function (type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "};\n", - "\n", - "mpl.figure.prototype.send_draw_message = function () {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_resize = function (fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1], msg['forward']);\n", - " fig.send_message('refresh', {});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n", - " var x0 = msg['x0'] / fig.ratio;\n", - " var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n", - " var x1 = msg['x1'] / fig.ratio;\n", - " var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0,\n", - " 0,\n", - " fig.canvas.width / fig.ratio,\n", - " fig.canvas.height / fig.ratio\n", - " );\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_cursor = function (fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch (cursor) {\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.handle_history_buttons = function (fig, msg) {\n", - " for (var key in msg) {\n", - " if (!(key in fig.buttons)) {\n", - " continue;\n", - " }\n", - " fig.buttons[key].disabled = !msg[key];\n", - " fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n", - " if (msg['mode'] === 'PAN') {\n", - " fig.buttons['Pan'].classList.add('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " } else if (msg['mode'] === 'ZOOM') {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.add('active');\n", - " } else {\n", - " fig.buttons['Pan'].classList.remove('active');\n", - " fig.buttons['Zoom'].classList.remove('active');\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message('ack', {});\n", - "};\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function (fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* 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", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data\n", - " );\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " } else if (\n", - " typeof evt.data === 'string' &&\n", - " evt.data.slice(0, 21) === 'data:image/png;base64'\n", - " ) {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig['handle_' + msg_type];\n", - " } catch (e) {\n", - " console.log(\n", - " \"No handler for the '\" + msg_type + \"' message type: \",\n", - " msg\n", - " );\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\n", - " \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n", - " e,\n", - " e.stack,\n", - " msg\n", - " );\n", - " }\n", - " }\n", - " };\n", - "};\n", - "\n", - "// from 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", - " }\n", - " if (e.target) {\n", - " targ = e.target;\n", - " } else if (e.srcElement) {\n", - " targ = e.srcElement;\n", - " }\n", - " if (targ.nodeType === 3) {\n", - " // defeat Safari bug\n", - " targ = targ.parentNode;\n", - " }\n", - "\n", - " // pageX,Y are the mouse positions relative to the document\n", - " var boundingRect = targ.getBoundingClientRect();\n", - " var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n", - " var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n", - "\n", - " return { x: x, y: y };\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * 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", - " }\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function (event, name) {\n", - " var canvas_pos = mpl.findpos(event);\n", - "\n", - " if (name === 'button_press') {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x * this.ratio;\n", - " var y = canvas_pos.y * this.ratio;\n", - "\n", - " this.send_message(name, {\n", - " x: x,\n", - " y: y,\n", - " button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event),\n", - " });\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (_event, _name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "};\n", - "\n", - "mpl.figure.prototype.key_event = function (event, name) {\n", - " // Prevent repeat events\n", - " if (name === 'key_press') {\n", - " if (event.which === this._key) {\n", - " return;\n", - " } else {\n", - " this._key = event.which;\n", - " }\n", - " }\n", - " if (name === 'key_release') {\n", - " this._key = null;\n", - " }\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which !== 17) {\n", - " value += 'ctrl+';\n", - " }\n", - " if (event.altKey && event.which !== 18) {\n", - " value += 'alt+';\n", - " }\n", - " if (event.shiftKey && event.which !== 16) {\n", - " value += 'shift+';\n", - " }\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, guiEvent: simpleKeys(event) });\n", - " return false;\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function (name) {\n", - " if (name === 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message('toolbar_button', { name: name });\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "\n", - "///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n", - "// prettier-ignore\n", - "var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n", - "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"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\";/* global mpl */\n", - "\n", - "var comm_websocket_adapter = function (comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.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 overridden (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 = document.getElementById(id);\n", - " var ws_proxy = comm_websocket_adapter(comm);\n", - "\n", - " function ondownload(figure, _format) {\n", - " window.open(figure.canvas.toDataURL());\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element;\n", - " fig.cell_info = mpl.find_output_cell(\"
\");\n", - " if (!fig.cell_info) {\n", - " console.error('Failed to find cell for figure', id, fig);\n", - " return;\n", - " }\n", - " fig.cell_info[0].output_area.element.on(\n", - " 'cleared',\n", - " { fig: fig },\n", - " fig._remove_fig_handler\n", - " );\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function (fig, msg) {\n", - " var width = fig.canvas.width / fig.ratio;\n", - " fig.cell_info[0].output_area.element.off(\n", - " 'cleared',\n", - " fig._remove_fig_handler\n", - " );\n", - " fig.resizeObserverInstance.unobserve(fig.canvas_div);\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable();\n", - " fig.parent_element.innerHTML =\n", - " '';\n", - " fig.close_ws(fig, msg);\n", - "};\n", - "\n", - "mpl.figure.prototype.close_ws = function (fig, msg) {\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "};\n", - "\n", - "mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var width = this.canvas.width / this.ratio;\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] =\n", - " '';\n", - "};\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function () {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message('ack', {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () {\n", - " fig.push_to_output();\n", - " }, 1000);\n", - "};\n", - "\n", - "mpl.figure.prototype._init_toolbar = function () {\n", - " var fig = this;\n", - "\n", - " var toolbar = document.createElement('div');\n", - " toolbar.classList = 'btn-toolbar';\n", - " this.root.appendChild(toolbar);\n", - "\n", - " function on_click_closure(name) {\n", - " return function (_event) {\n", - " return fig.toolbar_button_onclick(name);\n", - " };\n", - " }\n", - "\n", - " function on_mouseover_closure(tooltip) {\n", - " return function (event) {\n", - " if (!event.currentTarget.disabled) {\n", - " return fig.toolbar_button_onmouseover(tooltip);\n", - " }\n", - " };\n", - " }\n", - "\n", - " fig.buttons = {};\n", - " var buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " var button;\n", - " for (var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " /* Instead of a spacer, we start a new button group. */\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - " buttonGroup = document.createElement('div');\n", - " buttonGroup.classList = 'btn-group';\n", - " continue;\n", - " }\n", - "\n", - " button = fig.buttons[name] = document.createElement('button');\n", - " button.classList = 'btn btn-default';\n", - " button.href = '#';\n", - " button.title = name;\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', on_click_closure(method_name));\n", - " button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n", - " buttonGroup.appendChild(button);\n", - " }\n", - "\n", - " if (buttonGroup.hasChildNodes()) {\n", - " toolbar.appendChild(buttonGroup);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = document.createElement('span');\n", - " status_bar.classList = 'mpl-message pull-right';\n", - " toolbar.appendChild(status_bar);\n", - " this.message = status_bar;\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = document.createElement('div');\n", - " buttongrp.classList = 'btn-group inline pull-right';\n", - " button = document.createElement('button');\n", - " button.classList = 'btn btn-mini btn-primary';\n", - " button.href = '#';\n", - " button.title = 'Stop Interaction';\n", - " button.innerHTML = '';\n", - " button.addEventListener('click', function (_evt) {\n", - " fig.handle_close(fig, {});\n", - " });\n", - " button.addEventListener(\n", - " 'mouseover',\n", - " on_mouseover_closure('Stop Interaction')\n", - " );\n", - " buttongrp.appendChild(button);\n", - " var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n", - " titlebar.insertBefore(buttongrp, titlebar.firstChild);\n", - "};\n", - "\n", - "mpl.figure.prototype._remove_fig_handler = function (event) {\n", - " var fig = event.data.fig;\n", - " if (event.target !== this) {\n", - " // Ignore bubbled events from children.\n", - " return;\n", - " }\n", - " fig.close_ws(fig, {});\n", - "};\n", - "\n", - "mpl.figure.prototype._root_extra_style = function (el) {\n", - " el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n", - "};\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function (el) {\n", - " // this is important to make the div 'focusable\n", - " el.setAttribute('tabindex', 0);\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " } else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype._key_event_extra = function (event, _name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager) {\n", - " manager = IPython.keyboard_manager;\n", - " }\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which === 13) {\n", - " this.canvas_div.blur();\n", - " // select the cell after this one\n", - " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", - " IPython.notebook.select(index + 1);\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_save = function (fig, _msg) {\n", - " fig.ondownload(fig, null);\n", - "};\n", - "\n", - "mpl.find_output_cell = function (html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i = 0; i < ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code') {\n", - " for (var j = 0; j < cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] === html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "};\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel !== null) {\n", - " IPython.notebook.kernel.comm_manager.register_target(\n", - " 'matplotlib',\n", - " mpl.mpl_figure_comm\n", - " );\n", - "}\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if True:\n", - " fig=plt.figure(figsize=(9,4))\n", - " fig.subplots_adjust(bottom=0.15, left=0.15, top = 0.95, right=0.9,wspace=0.0,hspace=0.0)\n", - " sub = fig.add_subplot(1,1,1)\n", - " \n", - " sub.plot(MiMeS[:,1],MiMeS[:,0],linestyle='-',linewidth=2.5,alpha=1,c='xkcd:red',label=r\"MiMeS\")\n", - " \n", - " sub.plot(Lattice_theta[:,0],Lattice_theta[:,1],linestyle=(1,(2,5)),linewidth=2,alpha=1,c='xkcd:black',label=r\"1606.07494\")\n", - "\n", - " sub.plot(AxionCosmoRev[:,1],AxionCosmoRev[:,0],linewidth=2,alpha=1,linestyle=(1,(4,10)),c='xkcd:blue',label=r\"0910.1066\")\n", - " \n", - " sub.plot(GonVis[:,0],GonVis[:,1]*np.pi,linewidth=2,alpha=1,linestyle=(1,(4,10)),c='xkcd:gray',label=r\"0912.0015\")\n", - " \n", - " \n", - " sub.set_xlabel(r'$f_\\alpha ~[{\\rm GeV}]$')\n", - " sub.xaxis.set_label_coords(0.5, -0.15) \n", - " sub.set_ylabel(r'$ \\theta_{\\rm ini}$')\n", - " sub.yaxis.set_label_coords(-0.1,0.5) \n", - " sub.set_yscale('log')\n", - " sub.set_xscale('log')\n", - " \n", - " sub.set_xlim(1e10,1e20)\n", - " sub.set_ylim(1e-5,10)\n", - "\n", - " sub.legend(bbox_to_anchor=(0.02, 0.02),borderaxespad=0., \n", - " borderpad=0,ncol=1,loc='lower left',fontsize=10,framealpha=0)\n", - " #set major ticks\n", - " _M_xticks=[ 10.**i for i in range(9,21) ]\n", - " _M_yticks=[ 10.**i for i in range(-5,2) ]\n", - "\n", - " #set major ticks that will not have a label\n", - " _M_xticks_exception=[]\n", - " _M_yticks_exception=[]\n", - "\n", - " _m_xticks=[]\n", - " _m_yticks=[] \n", - " ft=FT(_M_xticks,_M_yticks,\n", - " _M_xticks_exception,_M_yticks_exception,\n", - " _m_xticks,_m_yticks,\n", - " xmin=1e10,xmax=1e20,ymin=1e-5,ymax=10,xscale='log',yscale='log')\n", - "\n", - " ft.format_ticks(plt,sub) \n", - "\n", - " \n", - " fig.savefig('RD_fa_vs_theta_i_check.pdf',bbox_inches='tight')\n", - "\n", - " fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.10" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/makefile b/makefile index c6ea07d..9903708 100644 --- a/makefile +++ b/makefile @@ -1,122 +1,118 @@ -include Definitions.mk #c++ std STD=c++17 #you can inlude more things here PATH_INCLUDE= -I$(rootDir) FLG= -$(OPT) -std=$(STD) -lm $(PATH_INCLUDE) -Wall Ros_Headers= $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/*.hpp) $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/LU/*.hpp) $(wildcard $(rootDir)src/NaBBODES/Rosenbrock/Jacobian/*.hpp) RKF_Headers= $(wildcard $(rootDir)src/NaBBODES/RKF/*.hpp) SPLINE_Headers=$(wildcard $(rootDir)src/SimpleSplines/*.hpp) Cosmo_Headers= $(wildcard $(rootDir)src/Cosmo/Cosmo.hpp) Cosmo_Cpp= $(wildcard $(rootDir)src/Cosmo/Cosmo.cpp) AxionMass_Headers= $(wildcard $(rootDir)src/AxionMass/AxionMass.hpp) AxionAnF_Headers= $(wildcard $(rootDir)src/AnharmonicFactor/AnharmonicFactor.hpp) AxionMass_Cpp= $(wildcard $(rootDir)src/AxionMass/AxionMass.cpp) AxionAnF_Cpp= $(wildcard $(rootDir)src/AnharmonicFactor/AnharmonicFactor.cpp) AxionSolve_Headers= $(wildcard $(rootDir)src/Axion/AxionSolve.hpp) AxionEOM_Headers= $(wildcard $(rootDir)src/Axion/AxionEOM.hpp) PathHead=src/misc_dir/path.hpp all: lib exec examples lib: lib/libCosmo.so lib/libma.so lib/libanfac.so lib/Axion_py.so exec: check #shared libraries that can be used from python lib/libCosmo.so: $(Cosmo_Cpp)\ $(Cosmo_Headers) $(SPLINE_Headers) $(PathHead) $(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy) lib/libma.so: $(AxionMass_Cpp)\ $(AxionMass_Headers) $(SPLINE_Headers) $(PathHead) $(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy) lib/libanfac.so: $(AxionAnF_Cpp)\ $(AxionAnF_Headers) $(SPLINE_Headers) $(PathHead) $(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy) #shared library for the evolution of the axion that can be used from python Axion_py=$(wildcard $(rootDir)src/Axion/Axion-py.cpp) lib/Axion_py.so: $(Axion_py)\ $(Cosmo_Headers) $(AxionAnF_Headers) $(AxionMass_Headers)\ $(AxionEOM_Headers) $(AxionSolve_Headers)\ $(Ros_Headers) $(RKF_Headers) $(SPLINE_Headers)\ $(PathHead) $(CC) -o $@ $< -fPIC -shared $(FLG) -DLONGpy=$(LONGpy) -DMETHOD=$(METHOD) -DSOLVER=$(SOLVER) # make the examples in UserSpace/Cpp examples: cd UserSpace/Cpp && $(MAKE) #cleans whatever make all created clean: rm -rf $(wildcard lib/*) rm -rf $(wildcard exec/*) rm -rf $(wildcard UserSpace/Python/*_examplePlot.pdf) cd UserSpace/Cpp && $(MAKE) clean - cd Documentation/Tex && $(MAKE) clean + #deletes directories that configure.sh made deepClean: clean rm -f $(wildcard UserSpace/scan/*.xtx) rm -rf lib rm -rf exec rm -rf $(rootDir)src/misc_dir ##--------------------------------make checks----------------------------------------## check: exec/AxionEOM_check.run exec/AxionSolve_check.run exec/AnharmonicFactor_check.run exec/AxionMass_check.run exec/Cosmo_check.run Cosmo_check_cpp=$(wildcard $(rootDir)src/Cosmo/checks/Cosmo_check.cpp) # check anharmonic factor interpolation exec/Cosmo_check.run: $(Cosmo_check_cpp) $(Cosmo_Headers) $(PathHead) $(SPLINE_Headers) $(CC) -o $@ $< $(FLG) -DLONG=$(LONG) AnFac_check_cpp=$(wildcard $(rootDir)src/AnharmonicFactor/checks/AnharmonicFactor_check.cpp) # check anharmonic factor interpolation exec/AnharmonicFactor_check.run: $(AnFac_check_cpp) $(AxionAnF_Headers)\ $(SPLINE_Headers) $(PathHead) $(CC) -o $@ $< $(FLG) -DLONG=$(LONG) AxM_check_cpp=$(wildcard $(rootDir)src/AxionMass/checks/AxionMass_check.cpp) # check axion mass interpolation exec/AxionMass_check.run: $(AxM_check_cpp) $(AxionMass_Headers)\ $(SPLINE_Headers) $(PathHead) $(CC) -o $@ $< $(FLG) -DLONG=$(LONG) AxionEOM_check_cpp=$(wildcard $(rootDir)src/Axion/checks/AxionEOM_check.cpp) # check interpolations of the Axion_eom class exec/AxionEOM_check.run: $(AxionEOM_check_cpp) $(AxionEOM_Headers)\ $(Cosmo_Headers) $(AxionAnF_Headers) $(AxionMass_Headers)\ $(PathHead) $(SPLINE_Headers) $(CC) -o $@ $< $(FLG) -DLONG=$(LONG) AxionSolve_check_cpp=$(wildcard $(rootDir)src/Axion/checks/AxionSolve_check.cpp) # check interpolations of the Axion_eom class exec/AxionSolve_check.run: $(AxionSolve_check_cpp) $(AxionSolve_Headers) $(AxionEOM_Headers)\ $(Cosmo_Headers) $(AxionAnF_Headers) $(AxionMass_Headers)\ $(PathHead)\ $(Ros_Headers) $(RKF_Headers) $(SPLINE_Headers) $(CC) -o $@ $< $(FLG) -DLONG=$(LONG) -DMETHOD=$(METHOD) -DSOLVER=$(SOLVER) - -# produce the documentation pdf -doc: - cd Documentation/Tex && $(MAKE) \ No newline at end of file