From fd1083dbc14545a9cfc6d1ab0d6f9e5c09e72305 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 30 Apr 2019 17:27:43 -0400 Subject: [PATCH 01/11] lint --- src/plots/cartesian/axes.js | 1 - src/plots/cartesian/clean_ticks.js | 1 - src/traces/bar/defaults.js | 2 +- src/traces/heatmap/calc.js | 2 -- src/traces/histogram/calc.js | 10 +--------- src/traces/histogram2d/calc.js | 12 +++++------- src/traces/histogram2d/cross_trace_defaults.js | 2 -- src/traces/histogram2d/defaults.js | 4 +--- test/jasmine/tests/bar_test.js | 2 +- test/jasmine/tests/plot_api_test.js | 10 ++++------ 10 files changed, 13 insertions(+), 33 deletions(-) diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index e56537802dc..bd13eee4275 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -368,7 +368,6 @@ axes.autoBin = function(data, ax, nbins, is2d, calendar, size) { axes.autoTicks(dummyAx, size0); } - var finalSize = dummyAx.dtick; var binStart = axes.tickIncrement( axes.tickFirst(dummyAx), finalSize, 'reverse', calendar); diff --git a/src/plots/cartesian/clean_ticks.js b/src/plots/cartesian/clean_ticks.js index 4466bc04e5c..333ddd961b6 100644 --- a/src/plots/cartesian/clean_ticks.js +++ b/src/plots/cartesian/clean_ticks.js @@ -6,7 +6,6 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var isNumeric = require('fast-isnumeric'); diff --git a/src/traces/bar/defaults.js b/src/traces/bar/defaults.js index e8e83ac35f0..fba83d5a1e5 100644 --- a/src/traces/bar/defaults.js +++ b/src/traces/bar/defaults.js @@ -55,7 +55,7 @@ function supplyDefaults(traceIn, traceOut, defaultColor, layout) { function handleGroupingDefaults(traceIn, traceOut, fullLayout, coerce) { var orientation = traceOut.orientation; - // N.B. grouping is done across all trace trace types that support it + // N.B. grouping is done across all trace types that support it var posAxId = traceOut[{v: 'x', h: 'y'}[orientation] + 'axis']; var groupId = getAxisGroup(fullLayout, posAxId) + orientation; diff --git a/src/traces/heatmap/calc.js b/src/traces/heatmap/calc.js index 5cd2243920f..5b8164a17fb 100644 --- a/src/traces/heatmap/calc.js +++ b/src/traces/heatmap/calc.js @@ -6,7 +6,6 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var Registry = require('../../registry'); @@ -21,7 +20,6 @@ var interp2d = require('./interp2d'); var findEmpties = require('./find_empties'); var makeBoundArray = require('./make_bound_array'); - module.exports = function calc(gd, trace) { // prepare the raw data // run makeCalcdata on x and y even for heatmaps, in case of category mappings diff --git a/src/traces/histogram/calc.js b/src/traces/histogram/calc.js index c4388db82e2..aaa123b630a 100644 --- a/src/traces/histogram/calc.js +++ b/src/traces/histogram/calc.js @@ -6,7 +6,6 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var isNumeric = require('fast-isnumeric'); @@ -21,15 +20,9 @@ var doAvg = require('./average'); var getBinSpanLabelRound = require('./bin_label_vals'); module.exports = function calc(gd, trace) { - // ignore as much processing as possible (and including in autorange) if not visible - if(trace.visible !== true) return; - - // depending on orientation, set position and size axes and data ranges - // note: this logic for choosing orientation is duplicated in graph_obj->setstyles var pos = []; var size = []; - var pa = Axes.getFromId(gd, trace.orientation === 'h' ? - (trace.yaxis || 'y') : (trace.xaxis || 'x')); + var pa = Axes.getFromId(gd, trace.orientation === 'h' ? trace.yaxis : trace.xaxis); var mainData = trace.orientation === 'h' ? 'y' : 'x'; var counterData = {x: 'y', y: 'x'}[mainData]; var calendar = trace[mainData + 'calendar']; @@ -143,7 +136,6 @@ module.exports = function calc(gd, trace) { // after all normalization etc, now we can accumulate if desired if(cumulativeSpec.enabled) cdf(size, cumulativeSpec.direction, cumulativeSpec.currentbin); - var seriesLen = Math.min(pos.length, size.length); var cd = []; var firstNonzero = 0; diff --git a/src/traces/histogram2d/calc.js b/src/traces/histogram2d/calc.js index 4ca78cee96c..cdb24b95f6e 100644 --- a/src/traces/histogram2d/calc.js +++ b/src/traces/histogram2d/calc.js @@ -6,7 +6,6 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var Lib = require('../../lib'); @@ -17,7 +16,6 @@ var normFunctions = require('../histogram/norm_functions'); var doAvg = require('../histogram/average'); var getBinSpanLabelRound = require('../histogram/bin_label_vals'); - module.exports = function calc(gd, trace) { var xa = Axes.getFromId(gd, trace.xaxis || 'x'); var x = trace.x ? xa.makeCalcdata(trace, 'x') : []; @@ -44,8 +42,8 @@ module.exports = function calc(gd, trace) { var z = []; var onecol = []; var zerocol = []; - var nonuniformBinsX = (typeof(trace.xbins.size) === 'string'); - var nonuniformBinsY = (typeof(trace.ybins.size) === 'string'); + var nonuniformBinsX = typeof trace.xbins.size === 'string'; + var nonuniformBinsY = typeof trace.ybins.size === 'string'; var xEdges = []; var yEdges = []; var xbins = nonuniformBinsX ? xEdges : trace.xbins; @@ -55,9 +53,9 @@ module.exports = function calc(gd, trace) { var inputPoints = []; var norm = trace.histnorm; var func = trace.histfunc; - var densitynorm = (norm.indexOf('density') !== -1); - var extremefunc = (func === 'max' || func === 'min'); - var sizeinit = (extremefunc ? null : 0); + var densitynorm = norm.indexOf('density') !== -1; + var extremefunc = func === 'max' || func === 'min'; + var sizeinit = extremefunc ? null : 0; var binfunc = binFunctions.count; var normfunc = normFunctions[norm]; var doavg = false; diff --git a/src/traces/histogram2d/cross_trace_defaults.js b/src/traces/histogram2d/cross_trace_defaults.js index 24b78826a0b..8fa17c955b1 100644 --- a/src/traces/histogram2d/cross_trace_defaults.js +++ b/src/traces/histogram2d/cross_trace_defaults.js @@ -6,10 +6,8 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; - var isNumeric = require('fast-isnumeric'); var BADNUM = require('../../constants/numerical').BADNUM; diff --git a/src/traces/histogram2d/defaults.js b/src/traces/histogram2d/defaults.js index 3f0ea3f206c..afc31dcf5ce 100644 --- a/src/traces/histogram2d/defaults.js +++ b/src/traces/histogram2d/defaults.js @@ -26,8 +26,6 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout if(traceOut.visible === false) return; handleStyleDefaults(traceIn, traceOut, coerce, layout); - colorscaleDefaults( - traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'} - ); + colorscaleDefaults(traceIn, traceOut, layout, coerce, {prefix: '', cLetter: 'z'}); coerce('hovertemplate'); }; diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 51deb89951f..1d4f10c86e7 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -211,7 +211,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.ycalendar).toBe('ethiopian'); }); - it('should not include alignementgroup/offsetgroup when barmode is not *group*', function() { + it('should not include alignmentgroup/offsetgroup when barmode is not *group*', function() { var gd = { data: [{type: 'bar', y: [1], alignmentgroup: 'a', offsetgroup: '1'}], layout: {barmode: 'group'} diff --git a/test/jasmine/tests/plot_api_test.js b/test/jasmine/tests/plot_api_test.js index b3220ac1126..4f948e21502 100644 --- a/test/jasmine/tests/plot_api_test.js +++ b/test/jasmine/tests/plot_api_test.js @@ -1297,19 +1297,17 @@ describe('Test plot api', function() { ]) .then(function() { check(true, 'initial'); - return Plotly.restyle(gd, 'xbins.start', start0, [0]); - }) - .then(function() { - return Plotly.restyle(gd, {'xbins.end': end1, 'ybins.size': size1}, null, [1]); }) + .then(function() { return Plotly.restyle(gd, 'xbins.start', start0, [0]); }) + .then(function() { return Plotly.restyle(gd, {'xbins.end': end1, 'ybins.size': size1}, null, [1]); }) .then(function() { check(false, 'set start/end/size'); - return Plotly.restyle(gd, {autobinx: true, autobiny: true}); }) + .then(function() { return Plotly.restyle(gd, {autobinx: true, autobiny: true}); }) .then(function() { check(true, 'reset'); - return Queue.undo(gd); }) + .then(function() { return Queue.undo(gd); }) .then(function() { check(false, 'undo'); }) From 54c91839b55405de07c57227aa1871ae676e70c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:09:58 -0400 Subject: [PATCH 02/11] :hocho: old Histogram & Histogra2d crossTraceDefaults --- src/traces/histogram/cross_trace_defaults.js | 116 ------------------ .../histogram2d/cross_trace_defaults.js | 89 -------------- 2 files changed, 205 deletions(-) delete mode 100644 src/traces/histogram/cross_trace_defaults.js delete mode 100644 src/traces/histogram2d/cross_trace_defaults.js diff --git a/src/traces/histogram/cross_trace_defaults.js b/src/traces/histogram/cross_trace_defaults.js deleted file mode 100644 index 0a7663cc43d..00000000000 --- a/src/traces/histogram/cross_trace_defaults.js +++ /dev/null @@ -1,116 +0,0 @@ -/** -* Copyright 2012-2019, Plotly, Inc. -* All rights reserved. -* -* This source code is licensed under the MIT license found in the -* LICENSE file in the root directory of this source tree. -*/ - -'use strict'; - -var Lib = require('../../lib'); -var nestedProperty = Lib.nestedProperty; - -var handleGroupingDefaults = require('../bar/defaults').handleGroupingDefaults; -var getAxisGroup = require('../../plots/cartesian/axis_ids').getAxisGroup; -var attributes = require('./attributes'); - -var BINATTRS = { - x: [ - {aStr: 'xbins.start', name: 'start'}, - {aStr: 'xbins.end', name: 'end'}, - {aStr: 'xbins.size', name: 'size'}, - {aStr: 'nbinsx', name: 'nbins'} - ], - y: [ - {aStr: 'ybins.start', name: 'start'}, - {aStr: 'ybins.end', name: 'end'}, - {aStr: 'ybins.size', name: 'size'}, - {aStr: 'nbinsy', name: 'nbins'} - ] -}; - -// handle bin attrs and relink auto-determined values so fullData is complete -module.exports = function crossTraceDefaults(fullData, fullLayout) { - var allBinOpts = fullLayout._histogramBinOpts = {}; - var isOverlay = fullLayout.barmode === 'overlay'; - var i, j, traceOut, traceIn, binDirection, group, binOpts; - - function coerce(attr) { - return Lib.coerce(traceOut._input, traceOut, attributes, attr); - } - - for(i = 0; i < fullData.length; i++) { - traceOut = fullData[i]; - if(traceOut.type !== 'histogram') continue; - - // TODO: this shouldn't be relinked as it's only used within calc - // https://github.com/plotly/plotly.js/issues/749 - delete traceOut._autoBinFinished; - - binDirection = traceOut.orientation === 'v' ? 'x' : 'y'; - // in overlay mode make a separate group for each trace - // otherwise collect all traces of the same subplot & orientation - group = traceOut._groupName = isOverlay ? traceOut.uid : ( - getAxisGroup(fullLayout, traceOut.xaxis) + - getAxisGroup(fullLayout, traceOut.yaxis) + - binDirection - ); - binOpts = allBinOpts[group]; - - if(binOpts) { - binOpts.traces.push(traceOut); - } else { - binOpts = allBinOpts[group] = { - traces: [traceOut], - direction: binDirection - }; - } - - handleGroupingDefaults(traceOut._input, traceOut, fullLayout, coerce); - } - - for(group in allBinOpts) { - binOpts = allBinOpts[group]; - binDirection = binOpts.direction; - var attrs = BINATTRS[binDirection]; - for(j = 0; j < attrs.length; j++) { - var attrSpec = attrs[j]; - var attr = attrSpec.name; - - // nbins(x|y) is moot if we have a size. This depends on - // nbins coming after size in binAttrs. - if(attr === 'nbins' && binOpts.sizeFound) continue; - - var aStr = attrSpec.aStr; - for(i = 0; i < binOpts.traces.length; i++) { - traceOut = binOpts.traces[i]; - traceIn = traceOut._input; - if(nestedProperty(traceIn, aStr).get() !== undefined) { - binOpts[attr] = coerce(aStr); - binOpts[attr + 'Found'] = true; - break; - } - var autoVals = traceOut._autoBin; - if(autoVals && autoVals[attr]) { - // if this is the *first* autoval - nestedProperty(traceOut, aStr).set(autoVals[attr]); - } - } - // start and end we need to coerce anyway, after having collected the - // first of each into binOpts, in case a trace wants to restrict its - // data to a certain range - if(attr === 'start' || attr === 'end') { - for(; i < binOpts.traces.length; i++) { - traceOut = binOpts.traces[i]; - coerce(aStr, (traceOut._autoBin || {})[attr]); - } - } - - if(attr === 'nbins' && !binOpts.sizeFound && !binOpts.nbinsFound) { - traceOut = binOpts.traces[0]; - binOpts[attr] = coerce(aStr); - } - } - } -}; diff --git a/src/traces/histogram2d/cross_trace_defaults.js b/src/traces/histogram2d/cross_trace_defaults.js deleted file mode 100644 index 8fa17c955b1..00000000000 --- a/src/traces/histogram2d/cross_trace_defaults.js +++ /dev/null @@ -1,89 +0,0 @@ -/** -* Copyright 2012-2019, Plotly, Inc. -* All rights reserved. -* -* This source code is licensed under the MIT license found in the -* LICENSE file in the root directory of this source tree. -*/ - -'use strict'; - -var isNumeric = require('fast-isnumeric'); - -var BADNUM = require('../../constants/numerical').BADNUM; -var axisIds = require('../../plots/cartesian/axis_ids'); -var Lib = require('../../lib'); - -var attributes = require('./attributes'); - -var BINDIRECTIONS = ['x', 'y']; - -// Handle bin attrs and relink auto-determined values so fullData is complete -// does not have cross-trace coupling, but moved out here so we have axis types -// and relinked trace._autoBin -module.exports = function crossTraceDefaults(fullData, fullLayout) { - var i, j, traceOut, binDirection; - - function coerce(attr) { - return Lib.coerce(traceOut._input, traceOut, attributes, attr); - } - - for(i = 0; i < fullData.length; i++) { - traceOut = fullData[i]; - var type = traceOut.type; - if(type !== 'histogram2d' && type !== 'histogram2dcontour') continue; - - for(j = 0; j < BINDIRECTIONS.length; j++) { - binDirection = BINDIRECTIONS[j]; - var binAttr = binDirection + 'bins'; - var autoBins = (traceOut._autoBin || {})[binDirection] || {}; - coerce(binAttr + '.start', autoBins.start); - coerce(binAttr + '.end', autoBins.end); - coerce(binAttr + '.size', autoBins.size); - - cleanBins(traceOut, binDirection, fullLayout, autoBins); - - if(!(traceOut[binAttr] || {}).size) coerce('nbins' + binDirection); - } - } -}; - -function cleanBins(trace, binDirection, fullLayout, autoBins) { - var ax = fullLayout[axisIds.id2name(trace[binDirection + 'axis'])]; - var axType = ax.type; - var binAttr = binDirection + 'bins'; - var bins = trace[binAttr]; - var calendar = trace[binDirection + 'calendar']; - - if(!bins) bins = trace[binAttr] = {}; - - var cleanBound = (axType === 'date') ? - function(v, dflt) { return (v || v === 0) ? Lib.cleanDate(v, BADNUM, calendar) : dflt; } : - function(v, dflt) { return isNumeric(v) ? Number(v) : dflt; }; - - bins.start = cleanBound(bins.start, autoBins.start); - bins.end = cleanBound(bins.end, autoBins.end); - - // logic for bin size is very similar to dtick (cartesian/tick_value_defaults) - // but without the extra string options for log axes - // ie the only strings we accept are M for months - var sizeDflt = autoBins.size; - var binSize = bins.size; - - if(isNumeric(binSize)) { - bins.size = (binSize > 0) ? Number(binSize) : sizeDflt; - } else if(typeof binSize !== 'string') { - bins.size = sizeDflt; - } else { - // date special case: "M" gives bins every (integer) n months - var prefix = binSize.charAt(0); - var sizeNum = binSize.substr(1); - - sizeNum = isNumeric(sizeNum) ? Number(sizeNum) : 0; - if((sizeNum <= 0) || !( - axType === 'date' && prefix === 'M' && sizeNum === Math.round(sizeNum) - )) { - bins.size = sizeDflt; - } - } -} From deeabdd9876c3e99b819c1b75af69cd35914db6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:15:41 -0400 Subject: [PATCH 03/11] introduce new Histogram.crossTraceDefaults - design to work for histogram AND histogram2d* traces! - design to work with bingroup! - fills in fullLayout._histogramBinOpts for all histogram* traces - replace `binDir` field in histogramBinOpts[i] by `dirs` (an array) to handle cases where x and y bins are in same bingroup --- src/traces/histogram/cross_trace_defaults.js | 242 +++++++++++++++++++ src/traces/histogram2d/index.js | 2 +- src/traces/histogram2dcontour/index.js | 2 +- 3 files changed, 244 insertions(+), 2 deletions(-) create mode 100644 src/traces/histogram/cross_trace_defaults.js diff --git a/src/traces/histogram/cross_trace_defaults.js b/src/traces/histogram/cross_trace_defaults.js new file mode 100644 index 00000000000..27827b5f12a --- /dev/null +++ b/src/traces/histogram/cross_trace_defaults.js @@ -0,0 +1,242 @@ +/** +* Copyright 2012-2019, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +var Lib = require('../../lib'); +var axisIds = require('../../plots/cartesian/axis_ids'); + +var traceIs = require('../../registry').traceIs; +var handleGroupingDefaults = require('../bar/defaults').handleGroupingDefaults; + +var nestedProperty = Lib.nestedProperty; + +var BINATTRS = [ + {aStr: {x: 'xbins.start', y: 'ybins.start'}, name: 'start'}, + {aStr: {x: 'xbins.end', y: 'ybins.end'}, name: 'end'}, + {aStr: {x: 'xbins.size', y: 'ybins.size'}, name: 'size'}, + {aStr: {x: 'nbinsx', y: 'nbinsy'}, name: 'nbins'} +]; + +var BINDIRECTIONS = ['x', 'y']; + +// handle bin attrs and relink auto-determined values so fullData is complete +module.exports = function crossTraceDefaults(fullData, fullLayout) { + var allBinOpts = fullLayout._histogramBinOpts = {}; + var isOverlay = fullLayout.barmode === 'overlay'; + + var histTraces = []; + var mustMatchTracesLookup = {}; + var otherTracesList = []; + + var traceOut, traces, groupName, binDir; + var i, j, k; + + function coerce(attr, dflt) { + return Lib.coerce(traceOut._input, traceOut, traceOut._module.attributes, attr, dflt); + } + + function orientation2binDir(traceOut) { + return traceOut.orientation === 'v' ? 'x' : 'y'; + } + + function getAxisType(traceOut, binDir) { + var ax = axisIds.getFromTrace({_fullLayout: fullLayout}, traceOut, binDir); + return ax.type; + } + + function fillBinOpts(traceOut, groupName, binDir) { + // N.B. group traces that don't have a bingroup with themselves + var fallbackGroupName = traceOut.uid + '__' + binDir; + if(!groupName) groupName = fallbackGroupName; + + var axType = getAxisType(traceOut, binDir); + var binOpts = allBinOpts[groupName]; + + if(binOpts) { + if(axType === binOpts.axType) { + binOpts.traces.push(traceOut); + binOpts.dirs.push(binDir); + } else { + groupName = fallbackGroupName; + allBinOpts[groupName] = { + traces: [traceOut], + dirs: [binDir], + axType: axType + }; + Lib.warn([ + 'Attempted to group the bins of trace', traceOut.index, + 'set on a', 'type:' + axType, 'axis', + 'with bins on', 'type:' + binOpts.axType, 'axis.' + ].join(' ')); + } + } else { + binOpts = allBinOpts[groupName] = { + traces: [traceOut], + dirs: [binDir], + axType: axType + }; + } + + traceOut['_' + binDir + 'bingroup'] = groupName; + } + + for(i = 0; i < fullData.length; i++) { + traceOut = fullData[i]; + + if(traceIs(traceOut, 'histogram')) { + histTraces.push(traceOut); + + // TODO: this shouldn't be relinked as it's only used within calc + // https://github.com/plotly/plotly.js/issues/749 + delete traceOut._autoBinFinished; + + // N.B. need to coerce *alignmentgroup* before *bingroup*, as traces + // in same alignmentgroup "have to match" + if(!traceIs(traceOut, '2dMap')) { + handleGroupingDefaults(traceOut._input, traceOut, fullLayout, coerce); + } + } + } + + // Look for traces that "have to match", that is: + // - 1d histogram traces on the same subplot with same orientation under barmode:stack, + // - 1d histogram traces on the same subplot with same orientation under barmode:group + for(i = 0; i < histTraces.length; i++) { + traceOut = histTraces[i]; + + if(!isOverlay && !traceIs(traceOut, '2dMap')) { + groupName = ( + axisIds.getAxisGroup(fullLayout, traceOut.xaxis) + + axisIds.getAxisGroup(fullLayout, traceOut.yaxis) + + orientation2binDir(traceOut) + ); + + if(!mustMatchTracesLookup[groupName]) { + mustMatchTracesLookup[groupName] = []; + } + mustMatchTracesLookup[groupName].push(traceOut); + } else { + otherTracesList.push(traceOut); + } + } + + // Setup binOpts for traces that have to match, + // if the traces have a valid bingroup, use that + // if not use axis+binDir groupName + for(groupName in mustMatchTracesLookup) { + traces = mustMatchTracesLookup[groupName]; + + // no need to 'force' anything when a single + // trace is detected as "must match" + if(traces.length === 1) { + otherTracesList.push(traces[0]); + continue; + } + + var binGroupFound = false; + for(i = 0; i < traces.length; i++) { + traceOut = traces[i]; + binGroupFound = coerce('bingroup'); + break; + } + + groupName = binGroupFound || groupName; + + for(i = 0; i < traces.length; i++) { + traceOut = traces[i]; + var bingroupIn = traceOut._input.bingroup; + if(bingroupIn && bingroupIn !== groupName) { + Lib.warn([ + 'Trace', traceOut.index, 'must match', + 'within bingroup', groupName + '.', + 'Ignoring its bingroup:', bingroupIn, 'setting.' + ].join(' ')); + } + traceOut.bingroup = groupName; + + // N.B. no need to worry about 2dMap case + // (where both bin direction are set in each trace) + // as 2dMap trace never "have to match" + fillBinOpts(traceOut, groupName, orientation2binDir(traceOut)); + } + } + + // setup binOpts for traces that can but don't have to match, + // notice that these traces can be matched with traces that have to match + for(i = 0; i < otherTracesList.length; i++) { + traceOut = otherTracesList[i]; + + var binGroup = coerce('bingroup'); + + if(traceIs(traceOut, '2dMap')) { + for(k = 0; k < 2; k++) { + binDir = BINDIRECTIONS[k]; + var binGroupInDir = coerce(binDir + 'bingroup', + binGroup ? binGroup + '__' + binDir : null + ); + fillBinOpts(traceOut, binGroupInDir, binDir); + } + } else { + fillBinOpts(traceOut, binGroup, orientation2binDir(traceOut)); + } + } + + // coerce bin attrs! + for(groupName in allBinOpts) { + var binOpts = allBinOpts[groupName]; + traces = binOpts.traces; + + for(j = 0; j < BINATTRS.length; j++) { + var attrSpec = BINATTRS[j]; + var attr = attrSpec.name; + var aStr; + var autoVals; + + // nbins(x|y) is moot if we have a size. This depends on + // nbins coming after size in binAttrs. + if(attr === 'nbins' && binOpts.sizeFound) continue; + + for(i = 0; i < traces.length; i++) { + traceOut = traces[i]; + binDir = binOpts.dirs[i]; + aStr = attrSpec.aStr[binDir]; + + if(nestedProperty(traceOut._input, aStr).get() !== undefined) { + binOpts[attr] = coerce(aStr); + binOpts[attr + 'Found'] = true; + break; + } + + autoVals = (traceOut._autoBin || {})[binDir] || {}; + if(autoVals[attr]) { + // if this is the *first* autoval + nestedProperty(traceOut, aStr).set(autoVals[attr]); + } + } + + // start and end we need to coerce anyway, after having collected the + // first of each into binOpts, in case a trace wants to restrict its + // data to a certain range + if(attr === 'start' || attr === 'end') { + for(; i < traces.length; i++) { + traceOut = traces[i]; + if(traceOut['_' + binDir + 'bingroup']) { + autoVals = (traceOut._autoBin || {})[binDir] || {}; + coerce(aStr, autoVals[attr]); + } + } + } + + if(attr === 'nbins' && !binOpts.sizeFound && !binOpts.nbinsFound) { + traceOut = traces[0]; + binOpts[attr] = coerce(aStr); + } + } + } +}; diff --git a/src/traces/histogram2d/index.js b/src/traces/histogram2d/index.js index 8b37378820e..16e37189051 100644 --- a/src/traces/histogram2d/index.js +++ b/src/traces/histogram2d/index.js @@ -12,7 +12,7 @@ module.exports = { attributes: require('./attributes'), supplyDefaults: require('./defaults'), - crossTraceDefaults: require('./cross_trace_defaults'), + crossTraceDefaults: require('../histogram/cross_trace_defaults'), calc: require('../heatmap/calc'), plot: require('../heatmap/plot'), layerName: 'heatmaplayer', diff --git a/src/traces/histogram2dcontour/index.js b/src/traces/histogram2dcontour/index.js index 46d6cfc60be..ba495ed5efa 100644 --- a/src/traces/histogram2dcontour/index.js +++ b/src/traces/histogram2dcontour/index.js @@ -11,7 +11,7 @@ module.exports = { attributes: require('./attributes'), supplyDefaults: require('./defaults'), - crossTraceDefaults: require('../histogram2d/cross_trace_defaults'), + crossTraceDefaults: require('../histogram/cross_trace_defaults'), calc: require('../contour/calc'), plot: require('../contour/plot').plot, layerName: 'contourlayer', From e0d9765a7c354a51ee3545e1d9a614b327f2b0e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:26:05 -0400 Subject: [PATCH 04/11] adapt calcAllAutoBins for new histogramBinOpts struct --- src/traces/histogram/calc.js | 71 ++++++++++++++++------------ src/traces/histogram/index.js | 2 +- test/jasmine/tests/histogram_test.js | 2 +- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/src/traces/histogram/calc.js b/src/traces/histogram/calc.js index aaa123b630a..6daf0b1568c 100644 --- a/src/traces/histogram/calc.js +++ b/src/traces/histogram/calc.js @@ -19,7 +19,7 @@ var normFunctions = require('./norm_functions'); var doAvg = require('./average'); var getBinSpanLabelRound = require('./bin_label_vals'); -module.exports = function calc(gd, trace) { +function calc(gd, trace) { var pos = []; var size = []; var pa = Axes.getFromId(gd, trace.orientation === 'h' ? trace.yaxis : trace.xaxis); @@ -193,23 +193,30 @@ module.exports = function calc(gd, trace) { } return cd; -}; +} /* - * calcAllAutoBins: we want all histograms on the same axes to share bin specs - * if they're grouped or stacked. If the user has explicitly specified differing + * calcAllAutoBins: we want all histograms inside the same bingroup + * (see logic in Histogram.crossTraceDefaults) to share bin specs + * + * If the user has explicitly specified differing * bin specs, there's nothing we can do, but if possible we will try to use the - * smallest bins of any of the auto values for all histograms grouped/stacked - * together. + * smallest bins of any of the auto values for all histograms inside the same + * bingroup. */ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { var binAttr = mainData + 'bins'; var fullLayout = gd._fullLayout; + var groupName = trace['_' + mainData + 'bingroup']; + var binOpts = fullLayout._histogramBinOpts[groupName]; var isOverlay = fullLayout.barmode === 'overlay'; var i, traces, tracei, calendar, pos0, autoVals, cumulativeSpec; - var cleanBound = (pa.type === 'date') ? - function(v) { return (v || v === 0) ? Lib.cleanDate(v, null, pa.calendar) : null; } : + var r2c = function(v) { return pa.r2c(v, 0, calendar); }; + var c2r = function(v) { return pa.c2r(v, 0, calendar); }; + + var cleanBound = pa.type === 'date' ? + function(v) { return (v || v === 0) ? Lib.cleanDate(v, null, calendar) : null; } : function(v) { return isNumeric(v) ? Number(v) : null; }; function setBound(attr, bins, newBins) { @@ -222,17 +229,14 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { } } - var binOpts = fullLayout._histogramBinOpts[trace._groupName]; - // all but the first trace in this group has already been marked finished // clear this flag, so next time we run calc we will run autobin again if(trace._autoBinFinished) { delete trace._autoBinFinished; } else { traces = binOpts.traces; - var sizeFound = binOpts.sizeFound; var allPos = []; - autoVals = traces[0]._autoBin = {}; + // Note: we're including `legendonly` traces here for autobin purposes, // so that showing & hiding from the legend won't affect bins. // But this complicates things a bit since those traces don't `calc`, @@ -240,10 +244,14 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { var isFirstVisible = true; for(i = 0; i < traces.length; i++) { tracei = traces[i]; + if(tracei.visible) { - pos0 = tracei._pos0 = pa.makeCalcdata(tracei, mainData); + var mainDatai = binOpts.dirs[i]; + pos0 = tracei['_' + mainDatai + 'pos0'] = pa.makeCalcdata(tracei, mainDatai); + allPos = Lib.concat(allPos, pos0); delete tracei._autoBinFinished; + if(trace.visible === true) { if(isFirstVisible) { isFirstVisible = false; @@ -254,10 +262,15 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { } } } + calendar = traces[0][mainData + 'calendar']; - var newBinSpec = Axes.autoBin( - allPos, pa, binOpts.nbins, false, calendar, sizeFound && binOpts.size); + var newBinSpec = Axes.autoBin(allPos, pa, binOpts.nbins, false, calendar, binOpts.sizeFound && binOpts.size); + + var autoBin = traces[0]._autoBin = {}; + autoVals = autoBin[binOpts.dirs[0]] = {}; + // TODO how does work with bingroup ???? + // // Edge case: single-valued histogram overlaying others // Use them all together to calculate the bin size for the single-valued one if(isOverlay && newBinSpec._dataSpan === 0 && @@ -274,20 +287,16 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { cumulativeSpec = tracei.cumulative; if(cumulativeSpec.enabled && (cumulativeSpec.currentbin !== 'include')) { if(cumulativeSpec.direction === 'decreasing') { - newBinSpec.start = pa.c2r(Axes.tickIncrement( - pa.r2c(newBinSpec.start, 0, calendar), - newBinSpec.size, true, calendar - )); + newBinSpec.start = c2r(Axes.tickIncrement( + r2c(newBinSpec.start), newBinSpec.size, true, calendar)); } else { - newBinSpec.end = pa.c2r(Axes.tickIncrement( - pa.r2c(newBinSpec.end, 0, calendar), - newBinSpec.size, false, calendar - )); + newBinSpec.end = c2r(Axes.tickIncrement( + r2c(newBinSpec.end), newBinSpec.size, false, calendar)); } } binOpts.size = newBinSpec.size; - if(!sizeFound) { + if(!binOpts.sizeFound) { autoVals.size = newBinSpec.size; Lib.nestedProperty(traces[0], binAttr + '.size').set(newBinSpec.size); } @@ -296,8 +305,8 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { setBound('end', binOpts, newBinSpec); } - pos0 = trace._pos0; - delete trace._pos0; + pos0 = trace['_' + mainData + 'pos0']; + delete trace['_' + mainData + 'pos0']; // Each trace can specify its own start/end, or if omitted // we ensure they're beyond the bounds of this trace's data, @@ -390,7 +399,7 @@ function handleSingleValueOverlays(gd, trace, pa, mainData, binAttr) { // so we can use this result when we get to tracei in the normal // course of events, mark it as done and put _pos0 back tracei._autoBinFinished = 1; - tracei._pos0 = resulti[1]; + tracei['_' + mainData + 'pos0'] = resulti[1]; if(isSingleValued) { singleValuedTraces.push(tracei); @@ -404,7 +413,7 @@ function handleSingleValueOverlays(gd, trace, pa, mainData, binAttr) { // hunt through pos0 for the first valid value var dataVals = new Array(singleValuedTraces.length); for(i = 0; i < singleValuedTraces.length; i++) { - var pos0 = singleValuedTraces[i]._pos0; + var pos0 = singleValuedTraces[i]['_' + mainData + 'pos0']; for(var j = 0; j < pos0.length; j++) { if(pos0[j] !== undefined) { dataVals[i] = pos0[j]; @@ -462,7 +471,6 @@ function getConnectedHistograms(gd, trace) { return out; } - function cdf(size, direction, currentBin) { var i, vi, prevSum; @@ -510,3 +518,8 @@ function cdf(size, direction, currentBin) { } } } + +module.exports = { + calc: calc, + calcAllAutoBins: calcAllAutoBins +}; diff --git a/src/traces/histogram/index.js b/src/traces/histogram/index.js index 71861c67a46..97392908926 100644 --- a/src/traces/histogram/index.js +++ b/src/traces/histogram/index.js @@ -27,7 +27,7 @@ module.exports = { supplyDefaults: require('./defaults'), crossTraceDefaults: require('./cross_trace_defaults'), supplyLayoutDefaults: require('../bar/layout_defaults'), - calc: require('./calc'), + calc: require('./calc').calc, crossTraceCalc: require('../bar/cross_trace_calc').crossTraceCalc, plot: require('../bar/plot'), layerName: 'barlayer', diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index ec0bc331ded..ed3635a0c5e 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -5,7 +5,7 @@ var setConvert = require('@src/plots/cartesian/set_convert'); var supplyDefaults = require('@src/traces/histogram/defaults'); var supplyDefaults2D = require('@src/traces/histogram2d/defaults'); var supplyDefaults2DC = require('@src/traces/histogram2dcontour/defaults'); -var calc = require('@src/traces/histogram/calc'); +var calc = require('@src/traces/histogram/calc').calc; var getBinSpanLabelRound = require('@src/traces/histogram/bin_label_vals'); var createGraphDiv = require('../assets/create_graph_div'); From 6093d3458b441e374f25609b5d67ba9f924b077f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:34:38 -0400 Subject: [PATCH 05/11] use calcAllAutoBins in Histogram2d.calc --- src/traces/histogram/calc.js | 28 +++++++- src/traces/histogram2d/calc.js | 116 ++++++++++----------------------- 2 files changed, 61 insertions(+), 83 deletions(-) diff --git a/src/traces/histogram/calc.js b/src/traces/histogram/calc.js index 6daf0b1568c..7bb56f057a1 100644 --- a/src/traces/histogram/calc.js +++ b/src/traces/histogram/calc.js @@ -11,6 +11,7 @@ var isNumeric = require('fast-isnumeric'); var Lib = require('../../lib'); +var Registry = require('../../registry'); var Axes = require('../../plots/cartesian/axes'); var arraysToCalcdata = require('../bar/arrays_to_calcdata'); @@ -242,6 +243,8 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { // But this complicates things a bit since those traces don't `calc`, // hence `isFirstVisible`. var isFirstVisible = true; + var has2dMap = false; + var hasHist2dContour = false; for(i = 0; i < traces.length; i++) { tracei = traces[i]; @@ -259,21 +262,40 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { delete tracei._autoBin; tracei._autoBinFinished = 1; } + if(Registry.traceIs(tracei, '2dMap')) { + has2dMap = true; + } + if(tracei.type === 'histogram2dcontour') { + hasHist2dContour = true; + } } } } calendar = traces[0][mainData + 'calendar']; - var newBinSpec = Axes.autoBin(allPos, pa, binOpts.nbins, false, calendar, binOpts.sizeFound && binOpts.size); + var newBinSpec = Axes.autoBin(allPos, pa, binOpts.nbins, has2dMap, calendar, binOpts.sizeFound && binOpts.size); var autoBin = traces[0]._autoBin = {}; autoVals = autoBin[binOpts.dirs[0]] = {}; + if(hasHist2dContour) { + // the "true" 2nd argument reverses the tick direction (which we can't + // just do with a minus sign because of month bins) + if(!binOpts.size) { + newBinSpec.start = c2r(Axes.tickIncrement( + r2c(newBinSpec.start), newBinSpec.size, true, calendar)); + } + if(binOpts.end === undefined) { + newBinSpec.end = c2r(Axes.tickIncrement( + r2c(newBinSpec.end), newBinSpec.size, false, calendar)); + } + } + // TODO how does work with bingroup ???? // // Edge case: single-valued histogram overlaying others // Use them all together to calculate the bin size for the single-valued one - if(isOverlay && newBinSpec._dataSpan === 0 && + if(isOverlay && !Registry.traceIs(trace, '2dMap') && newBinSpec._dataSpan === 0 && pa.type !== 'category' && pa.type !== 'multicategory') { // Several single-valued histograms! Stop infinite recursion, // just return an extra flag that tells handleSingleValueOverlays @@ -284,7 +306,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { } // adjust for CDF edge cases - cumulativeSpec = tracei.cumulative; + cumulativeSpec = tracei.cumulative || {}; if(cumulativeSpec.enabled && (cumulativeSpec.currentbin !== 'include')) { if(cumulativeSpec.direction === 'decreasing') { newBinSpec.start = c2r(Axes.tickIncrement( diff --git a/src/traces/histogram2d/calc.js b/src/traces/histogram2d/calc.js index cdb24b95f6e..c1d08ae2f27 100644 --- a/src/traces/histogram2d/calc.js +++ b/src/traces/histogram2d/calc.js @@ -15,12 +15,12 @@ var binFunctions = require('../histogram/bin_functions'); var normFunctions = require('../histogram/norm_functions'); var doAvg = require('../histogram/average'); var getBinSpanLabelRound = require('../histogram/bin_label_vals'); +var calcAllAutoBins = require('../histogram/calc').calcAllAutoBins; module.exports = function calc(gd, trace) { - var xa = Axes.getFromId(gd, trace.xaxis || 'x'); - var x = trace.x ? xa.makeCalcdata(trace, 'x') : []; - var ya = Axes.getFromId(gd, trace.yaxis || 'y'); - var y = trace.y ? ya.makeCalcdata(trace, 'y') : []; + var xa = Axes.getFromId(gd, trace.xaxis); + var ya = Axes.getFromId(gd, trace.yaxis); + var xcalendar = trace.xcalendar; var ycalendar = trace.ycalendar; var xr2c = function(v) { return xa.r2c(v, 0, xcalendar); }; @@ -30,24 +30,28 @@ module.exports = function calc(gd, trace) { var i, j, n, m; - var serieslen = trace._length; - if(x.length > serieslen) x.splice(serieslen, x.length - serieslen); - if(y.length > serieslen) y.splice(serieslen, y.length - serieslen); - // calculate the bins - doAutoBin(trace, 'x', x, xa, xr2c, xc2r, xcalendar); - doAutoBin(trace, 'y', y, ya, yr2c, yc2r, ycalendar); + var xBinsAndPos = calcAllAutoBins(gd, trace, xa, 'x'); + var xBinSpec = xBinsAndPos[0]; + var xPos0 = xBinsAndPos[1]; + var yBinsAndPos = calcAllAutoBins(gd, trace, ya, 'y'); + var yBinSpec = yBinsAndPos[0]; + var yPos0 = yBinsAndPos[1]; + + var serieslen = trace._length; + if(xPos0.length > serieslen) xPos0.splice(serieslen, xPos0.length - serieslen); + if(yPos0.length > serieslen) yPos0.splice(serieslen, yPos0.length - serieslen); // make the empty bin array & scale the map var z = []; var onecol = []; var zerocol = []; - var nonuniformBinsX = typeof trace.xbins.size === 'string'; - var nonuniformBinsY = typeof trace.ybins.size === 'string'; + var nonuniformBinsX = typeof xBinSpec.size === 'string'; + var nonuniformBinsY = typeof yBinSpec.size === 'string'; var xEdges = []; var yEdges = []; - var xbins = nonuniformBinsX ? xEdges : trace.xbins; - var ybins = nonuniformBinsY ? yEdges : trace.ybins; + var xbins = nonuniformBinsX ? xEdges : xBinSpec; + var ybins = nonuniformBinsY ? yEdges : yBinSpec; var total = 0; var counts = []; var inputPoints = []; @@ -77,12 +81,12 @@ module.exports = function calc(gd, trace) { } // decrease end a little in case of rounding errors - var binSpec = trace.xbins; - var binStart = xr2c(binSpec.start); - var binEnd = xr2c(binSpec.end) + - (binStart - Axes.tickIncrement(binStart, binSpec.size, false, xcalendar)) / 1e6; + var xBinSize = xBinSpec.size; + var xBinStart = xr2c(xBinSpec.start); + var xBinEnd = xr2c(xBinSpec.end) + + (xBinStart - Axes.tickIncrement(xBinStart, xBinSize, false, xcalendar)) / 1e6; - for(i = binStart; i < binEnd; i = Axes.tickIncrement(i, binSpec.size, false, xcalendar)) { + for(i = xBinStart; i < xBinEnd; i = Axes.tickIncrement(i, xBinSize, false, xcalendar)) { onecol.push(sizeinit); xEdges.push(i); if(doavg) zerocol.push(0); @@ -90,16 +94,15 @@ module.exports = function calc(gd, trace) { xEdges.push(i); var nx = onecol.length; - var x0c = xr2c(trace.xbins.start); - var dx = (i - x0c) / nx; - var x0 = xc2r(x0c + dx / 2); + var dx = (i - xBinStart) / nx; + var x0 = xc2r(xBinStart + dx / 2); - binSpec = trace.ybins; - binStart = yr2c(binSpec.start); - binEnd = yr2c(binSpec.end) + - (binStart - Axes.tickIncrement(binStart, binSpec.size, false, ycalendar)) / 1e6; + var yBinSize = yBinSpec.size; + var yBinStart = yr2c(yBinSpec.start); + var yBinEnd = yr2c(yBinSpec.end) + + (yBinStart - Axes.tickIncrement(yBinStart, yBinSize, false, ycalendar)) / 1e6; - for(i = binStart; i < binEnd; i = Axes.tickIncrement(i, binSpec.size, false, ycalendar)) { + for(i = yBinStart; i < yBinEnd; i = Axes.tickIncrement(i, yBinSize, false, ycalendar)) { z.push(onecol.slice()); yEdges.push(i); var ipCol = new Array(nx); @@ -110,9 +113,8 @@ module.exports = function calc(gd, trace) { yEdges.push(i); var ny = z.length; - var y0c = yr2c(trace.ybins.start); - var dy = (i - y0c) / ny; - var y0 = yc2r(y0c + dy / 2); + var dy = (i - yBinStart) / ny; + var y0 = yc2r(yBinStart + dy / 2); if(densitynorm) { xinc = makeIncrements(onecol.length, xbins, dx, nonuniformBinsX); @@ -134,8 +136,8 @@ module.exports = function calc(gd, trace) { var yGapLow = Infinity; var yGapHigh = Infinity; for(i = 0; i < serieslen; i++) { - var xi = x[i]; - var yi = y[i]; + var xi = xPos0[i]; + var yi = yPos0[i]; n = Lib.findBin(xi, xbins); m = Lib.findBin(yi, ybins); if(n >= 0 && n < nx && m >= 0 && m < ny) { @@ -166,11 +168,11 @@ module.exports = function calc(gd, trace) { } return { - x: x, + x: xPos0, xRanges: getRanges(xEdges, uniqueValsPerX && xVals, xGapLow, xGapHigh, xa, xcalendar), x0: x0, dx: dx, - y: y, + y: yPos0, yRanges: getRanges(yEdges, uniqueValsPerY && yVals, yGapLow, yGapHigh, ya, ycalendar), y0: y0, dy: dy, @@ -179,52 +181,6 @@ module.exports = function calc(gd, trace) { }; }; -function doAutoBin(trace, axLetter, data, ax, r2c, c2r, calendar) { - var binAttr = axLetter + 'bins'; - var binSpec = trace[binAttr]; - if(!binSpec) binSpec = trace[binAttr] = {}; - var inputBinSpec = trace._input[binAttr] || {}; - var autoBin = trace._autoBin = {}; - - // clear out any previously added autobin info - if(!inputBinSpec.size) delete binSpec.size; - if(inputBinSpec.start === undefined) delete binSpec.start; - if(inputBinSpec.end === undefined) delete binSpec.end; - - var autoSize = !binSpec.size; - var autoStart = binSpec.start === undefined; - var autoEnd = binSpec.end === undefined; - - if(autoSize || autoStart || autoEnd) { - var newBinSpec = Axes.autoBin(data, ax, trace['nbins' + axLetter], '2d', calendar, binSpec.size); - if(trace.type === 'histogram2dcontour') { - // the "true" 2nd argument reverses the tick direction (which we can't - // just do with a minus sign because of month bins) - if(autoStart) { - newBinSpec.start = c2r(Axes.tickIncrement( - r2c(newBinSpec.start), newBinSpec.size, true, calendar)); - } - if(autoEnd) { - newBinSpec.end = c2r(Axes.tickIncrement( - r2c(newBinSpec.end), newBinSpec.size, false, calendar)); - } - } - if(autoSize) binSpec.size = autoBin.size = newBinSpec.size; - if(autoStart) binSpec.start = autoBin.start = newBinSpec.start; - if(autoEnd) binSpec.end = autoBin.end = newBinSpec.end; - } - - // Backward compatibility for one-time autobinning. - // autobin: true is handled in cleanData, but autobin: false - // needs to be here where we have determined the values. - var autoBinAttr = 'autobin' + axLetter; - if(trace._input[autoBinAttr] === false) { - trace._input[binAttr] = Lib.extendFlat({}, binSpec); - delete trace._input[autoBinAttr]; - delete trace[autoBinAttr]; - } -} - function makeIncrements(len, bins, dv, nonuniform) { var out = new Array(len); var i; From 359fbbc9267fa2f241062dc63cbadb4d1130b3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:28:56 -0400 Subject: [PATCH 06/11] add bingroup attrs (!) --- src/traces/histogram/attributes.js | 15 ++ src/traces/histogram2d/attributes.js | 24 ++ src/traces/histogram2dcontour/attributes.js | 4 + test/jasmine/tests/histogram_test.js | 274 ++++++++++++++++++++ 4 files changed, 317 insertions(+) diff --git a/src/traces/histogram/attributes.js b/src/traces/histogram/attributes.js index 4837eb3b40e..4869e9b02fc 100644 --- a/src/traces/histogram/attributes.js +++ b/src/traces/histogram/attributes.js @@ -193,6 +193,21 @@ module.exports = { ].join(' ') }, + bingroup: { + valType: 'string', + role: 'info', + dflt: '', + editType: 'calc', + description: [ + 'Set a group of histogram traces which will have compatible bin settings.', + 'Note that traces on the same subplot and with the same *orientation*', + 'under `barmode` *stack*, *relative* and *group* are forced into the same bingroup,', + 'Using `bingroup`, traces under `barmode` *overlay* and on different axes', + '(of the same axis type) can have compatible bin settings.', + 'Note that histogram and histogram2d* trace can share the same `bingroup`' + ].join(' ') + }, + hovertemplate: hovertemplateAttrs({}, { keys: constants.eventDataKeys }), diff --git a/src/traces/histogram2d/attributes.js b/src/traces/histogram2d/attributes.js index ae4648c929f..d4a6c6de48a 100644 --- a/src/traces/histogram2d/attributes.js +++ b/src/traces/histogram2d/attributes.js @@ -44,6 +44,30 @@ module.exports = extendFlat( autobinx: histogramAttrs.autobinx, autobiny: histogramAttrs.autobiny, + bingroup: extendFlat({}, histogramAttrs.bingroup, { + description: [ + 'Set the `xbingroup` and `ybingroup` default prefix', + 'For example, setting a `bingroup` of *1* on two histogram2d traces', + 'will make them their x-bins and y-bins match separately.' + ].join(' ') + }), + xbingroup: extendFlat({}, histogramAttrs.bingroup, { + description: [ + 'Set a group of histogram traces which will have compatible x-bin settings.', + 'Using `xbingroup`, histogram2d and histogram2dcontour traces ', + '(on axes of the same axis type) can have compatible x-bin settings.', + 'Note that the same `xbingroup` value can be used to set (1D) histogram `bingroup`' + ].join(' ') + }), + ybingroup: extendFlat({}, histogramAttrs.bingroup, { + description: [ + 'Set a group of histogram traces which will have compatible y-bin settings.', + 'Using `ybingroup`, histogram2d and histogram2dcontour traces ', + '(on axes of the same axis type) can have compatible y-bin settings.', + 'Note that the same `ybingroup` value can be used to set (1D) histogram `bingroup`' + ].join(' ') + }), + xgap: heatmapAttrs.xgap, ygap: heatmapAttrs.ygap, zsmooth: heatmapAttrs.zsmooth, diff --git a/src/traces/histogram2dcontour/attributes.js b/src/traces/histogram2dcontour/attributes.js index 19c4db142bf..1133f9c32bb 100644 --- a/src/traces/histogram2dcontour/attributes.js +++ b/src/traces/histogram2dcontour/attributes.js @@ -29,6 +29,10 @@ module.exports = extendFlat({ autobinx: histogram2dAttrs.autobinx, autobiny: histogram2dAttrs.autobiny, + bingroup: histogram2dAttrs.bingroup, + xbingroup: histogram2dAttrs.xbingroup, + ybingroup: histogram2dAttrs.ybingroup, + autocontour: contourAttrs.autocontour, ncontours: contourAttrs.ncontours, contours: contourAttrs.contours, diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index ed3635a0c5e..4379d3f1d3b 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -186,6 +186,280 @@ describe('Test histogram', function() { }); }); + describe('cross-trace bingroup logic:', function() { + var gd; + + beforeEach(function() { + spyOn(Lib, 'warn'); + }); + + function _assert(msg, exp, warnMsg) { + var allBinOpts = gd._fullLayout._histogramBinOpts; + var groups = Object.keys(allBinOpts); + + expect(groups.length).toBe(exp.length, 'same # of bin groups| ' + msg); + + var eGroups = exp.map(function(expi) { return expi[0]; }); + expect(groups).toEqual(eGroups, 'same bin groups| ' + msg); + + exp.forEach(function(expi) { + var k = expi[0]; + var binOpts = allBinOpts[k]; + + if(!binOpts) { + return fail('bingroup ' + k + ' does NOT exist| ' + msg); + } + + var traces = binOpts.traces || []; + + if(!traces.length) { + return fail('traces list for bingroup ' + k + ' is empty| ' + msg); + } + + expect(traces.length).toBe(expi[1].length, 'same # of tracked traces|' + msg); + + traces.forEach(function(t, i) { + expect(t.index) + .toBe(expi[1][i], 'tracks same traces[' + i + ']|' + msg); + expect(t['_' + binOpts.dirs[i] + 'bingroup']) + .toBe(k, '_(x|y)bingroup key in trace' + i + '| ' + msg); + }); + }); + + if(warnMsg) { + expect(Lib.warn).toHaveBeenCalledWith(warnMsg); + } else { + expect(Lib.warn).toHaveBeenCalledTimes(0); + } + } + + it('should group traces w/ same axes and w/ same orientation', function() { + var barModes = ['group', 'stack']; + + barModes.forEach(function(mode) { + gd = { + data: [ + {type: 'histogram', y: [1]}, + {type: 'histogram', y: [2]}, + + {type: 'histogram', y: [1], xaxis: 'x2'}, + {type: 'histogram', y: [3], xaxis: 'x2'}, + + {type: 'histogram', y: [3]}, + {type: 'histogram', y: [2], xaxis: 'x2'}, + + {type: 'histogram', x: [1]}, + {uid: 'solo', type: 'histogram', x: [2], yaxis: 'y2'}, + {type: 'histogram', x: [2]} + ], + layout: {barmode: mode} + }; + supplyAllDefaults(gd); + _assert('under barmode:' + mode, [ + ['xyy', [0, 1, 4]], + ['x2yy', [2, 3, 5]], + ['xyx', [6, 8]], + ['solo__x', [7]] + ]); + }); + }); + + it('should group traces on matching axes and w/ same orientation', function() { + var barModes = ['group', 'stack']; + + barModes.forEach(function(mode) { + gd = { + data: [ + {type: 'histogram', y: [1]}, + {type: 'histogram', y: [2], xaxis: 'x2'}, + {type: 'histogram', x: [1], yaxis: 'y2'}, + {type: 'histogram', x: [2], yaxis: 'y2'}, + ], + layout: { + barmode: mode, + xaxis2: {matches: 'x'}, + yaxis2: {matches: 'x'} + } + }; + supplyAllDefaults(gd); + _assert('under barmode:' + mode, [ + ['g0yy', [0, 1]], + ['g0g0x', [2, 3]] + ]); + }); + }); + + it('should not group traces by default under barmode:overlay ', function() { + gd = { + data: [ + {uid: 'a', type: 'histogram', y: [1]}, + {uid: 'b', type: 'histogram', y: [2]}, + + {uid: 'c', type: 'histogram', y: [1], xaxis: 'x2'}, + {uid: 'd', type: 'histogram', y: [3], xaxis: 'x2'}, + + {uid: 'e', type: 'histogram', y: [3]}, + {uid: 'f', type: 'histogram', y: [2], xaxis: 'x2'}, + + {uid: 'g', type: 'histogram', x: [1]}, + {uid: 'h', type: 'histogram', x: [2], yaxis: 'y2'}, + {uid: 'i', type: 'histogram', x: [2]} + ], + layout: {barmode: 'overlay'} + }; + supplyAllDefaults(gd); + _assert('', [ + ['a__y', [0]], ['b__y', [1]], ['c__y', [2]], + ['d__y', [3]], ['e__y', [4]], ['f__y', [5]], + ['g__x', [6]], ['h__x', [7]], ['i__x', [8]] + ]); + }); + + it('should not group histogram2d* traces by default', function() { + gd = { + data: [ + {uid: 'a', type: 'histogram2d', x: [1], y: [1]}, + {uid: 'b', type: 'histogram2d', x: [2], y: [2]}, + {uid: 'c', type: 'histogram2dcontour', x: [1], y: [1], xaxis: 'x2', yaxis: 'y2'}, + {uid: 'd', type: 'histogram2dcontour', x: [2], y: [2], xaxis: 'x2', yaxis: 'y2'}, + ], + layout: {} + }; + supplyAllDefaults(gd); + _assert('N.B. one bingroup for x, one bingroup for y for each trace', [ + ['a__x', [0]], ['a__y', [0]], + ['b__x', [1]], ['b__y', [1]], + ['c__x', [2]], ['c__y', [2]], + ['d__x', [3]], ['d__y', [3]] + ]); + }); + + it('should be able to group traces by *bingroup* under barmode:overlay ', function() { + gd = { + data: [ + {bingroup: '1', type: 'histogram', y: [1]}, + {uid: 'b', type: 'histogram', y: [2]}, + {bingroup: '2', type: 'histogram', y: [1], xaxis: 'x2'}, + {bingroup: '1', type: 'histogram', y: [3], xaxis: 'x2'}, + {bingroup: '2', type: 'histogram', y: [3]}, + {uid: 'f', type: 'histogram', y: [2], xaxis: 'x2'}, + {bingroup: '3', type: 'histogram', x: [1]}, + {bingroup: '1', type: 'histogram', x: [2], yaxis: 'y2'}, + {bingroup: '3', type: 'histogram', x: [2]} + ], + layout: {barmode: 'overlay'} + }; + supplyAllDefaults(gd); + _assert('', [ + ['1', [0, 3, 7]], + ['2', [2, 4]], + ['3', [6, 8]], + ['b__y', [1]], + ['f__y', [5]] + ]); + }); + + it('should be able to group histogram2d traces by *bingroup*', function() { + gd = { + data: [ + {uid: 'a', type: 'histogram2d', x: [1], y: [1]}, + {uid: 'b', type: 'histogram2d', x: [1], y: [1]}, + {bingroup: '1', type: 'histogram2d', x: [1], y: [1]}, + {bingroup: '1', type: 'histogram2d', x: [1], y: [1]}, + {uid: 'e', type: 'histogram2d', x: [1], y: [1]}, + ] + }; + supplyAllDefaults(gd); + _assert('', [ + ['a__x', [0]], ['a__y', [0]], + ['b__x', [1]], ['b__y', [1]], + ['1__x', [2, 3]], ['1__y', [2, 3]], + ['e__x', [4]], ['e__y', [4]] + ]); + }); + + // TODO figure out what to do in this case! + it('should be able to group histogram and histogram2d* traces together', function() { + gd = { + data: [ + {bingroup: '1', type: 'histogram', y: [1]}, + {bingroup: '1', type: 'histogram', y: [3], xaxis: 'x2'}, + {bingroup: '1', type: 'histogram2d', x: [1], y: [3]}, + {bingroup: '1', type: 'histogram2dcontour', x: [1], y: [3]} + ], + layout: {barmode: 'overlay'} + }; + supplyAllDefaults(gd); + _assert('N.B. histogram2d* indices show up twice, once for x-bins, once for y-bins', [ + ['1', [0, 1]], + ['1__x', [2, 3]], + ['1__y', [2, 3]] + ]); + }); + + it('should not group traces across axes of different types', function() { + gd = { + data: [ + {uid: 'a', bingroup: '1', type: 'histogram', y: [1]}, + {uid: 'b', bingroup: '1', type: 'histogram', y: ['cats'], yaxis: 'y2'}, + ], + layout: {barmode: 'overlay'} + }; + supplyAllDefaults(gd); + + _assert('', [ + ['1', [0]], + ['b__y', [1]] + ], + 'Attempted to group the bins of trace 1 set on a type:category axis ' + + 'with bins on type:linear axis.' + ); + }); + + it('should force traces that "have to match" to have same bingroup (stack case)', function() { + gd = { + data: [ + // these 3 traces "have to match" + {bingroup: '1', type: 'histogram', y: [1]}, + {type: 'histogram', y: [1]}, + {bingroup: '2', type: 'histogram', y: [2]} + ], + layout: {barmode: 'stack'} + }; + supplyAllDefaults(gd); + + _assert('used first valid bingroup to identify bin opts', [ + ['1', [0, 1, 2]] + ], + 'Trace 2 must match within bingroup 1.' + + ' Ignoring its bingroup: 2 setting.' + ); + }); + + it('traces that "have to match" can be grouped with traces that do not have to match using *bingroup*', function() { + gd = { + data: [ + // these 2 traces "have to match" + {bingroup: '1', type: 'histogram', y: [1]}, + {type: 'histogram', y: [1]}, + // this one does not have to match with the above two, + // (it's on another subplot), but it can be grouped + {bingroup: '1', type: 'histogram', y: [2], xaxis: 'x2', yaxis: 'y2'}, + // this one does not have to match either + // (it's a histogram2d* traces), but it can be grouped + // TODO should this be just "bingroup"??? + {xbingroup: '1', ybingroup: '1', type: 'histogram2d', x: [3], y: [3]} + ], + layout: {} + }; + supplyAllDefaults(gd); + + _assert('', [ + // N.B ordering in *binOpts.traces* does not matter + ['1', [0, 1, 3, 3, 2]] + ]); + }); + }); describe('calc', function() { function _calc(opts, extraTraces, layout, prependExtras) { From 79d78ab7b1251294e7795054294859574d7020b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 11:29:15 -0400 Subject: [PATCH 07/11] add a few bingroup mocks --- .../2dhistogram_contour_subplots_bingroup.png | Bin 0 -> 66224 bytes test/image/baselines/histogram2d_bingroup.png | Bin 0 -> 34402 bytes .../baselines/histogram_overlay-bingroup.png | Bin 0 -> 18064 bytes ...2dhistogram_contour_subplots_bingroup.json | 12081 ++++++++++++++++ test/image/mocks/histogram2d_bingroup.json | 103 + .../mocks/histogram_overlay-bingroup.json | 132 + 6 files changed, 12316 insertions(+) create mode 100644 test/image/baselines/2dhistogram_contour_subplots_bingroup.png create mode 100644 test/image/baselines/histogram2d_bingroup.png create mode 100644 test/image/baselines/histogram_overlay-bingroup.png create mode 100644 test/image/mocks/2dhistogram_contour_subplots_bingroup.json create mode 100644 test/image/mocks/histogram2d_bingroup.json create mode 100644 test/image/mocks/histogram_overlay-bingroup.json diff --git a/test/image/baselines/2dhistogram_contour_subplots_bingroup.png b/test/image/baselines/2dhistogram_contour_subplots_bingroup.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc41b868e0afad245dffb34f7a0aff2e7de5fe7 GIT binary patch literal 66224 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�i>wD0b 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

FwfT&^FUY^DOPSYmA(^ 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 literal 0 HcmV?d00001 diff --git a/test/image/baselines/histogram2d_bingroup.png b/test/image/baselines/histogram2d_bingroup.png new file mode 100644 index 0000000000000000000000000000000000000000..04d68485d01eb4c9addd17dfc0c80ed22f546f32 GIT binary patch literal 34402 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/2dhistogram_contour_subplots_bingroup.json b/test/image/mocks/2dhistogram_contour_subplots_bingroup.json new file mode 100644 index 00000000000..4327b105277 --- /dev/null +++ b/test/image/mocks/2dhistogram_contour_subplots_bingroup.json @@ -0,0 +1,12081 @@ +{ + "data": [ + { + "x": [ + -1.19135367378, + -0.80989540227, + -0.925158804666, + -0.87760783274, + -0.51146935321, + -1.17957514063, + -0.401418220261, + -1.16183935054, + -1.11475081154, + -1.22853581376, + -0.592529542681, + -0.43889541224, + -0.602495595365, + -0.990669110038, + -0.544050558932, + -0.966319543401, + -0.742404606095, + -0.761971981579, + -1.20675028294, + -1.00477577758, + -0.481383102169, + -1.06112704596, + -0.757674558511, + -1.49815569515, + -0.970093584719, + -1.45254984021, + -0.576371884233, + -0.763406941577, + -0.780284124171, + -0.806043909481, + -1.55782557842, + -1.06434375708, + -1.31581468891, + -0.934525295676, + -0.888735643704, + -1.00872731608, + -1.3438472338, + -0.852218952389, + -0.371683097125, + -1.40320542743, + -1.0832056523, + -0.891090334561, + -0.798498677304, + -1.18624151422, + -0.938598836322, + -0.539133240628, + -0.913480647128, + -1.12361851539, + -0.910415167429, + -1.02319461744, + -1.07471542573, + -1.16720777925, + -0.993295733365, + -1.00852358867, + -0.818434616344, + -0.744391767723, + -1.12507674596, + -0.742197235594, + -0.81451542008, + -1.49006940204, + -0.457370819133, + -0.332094332449, + -1.1176381713, + -0.685073127085, + -0.786926212385, + -1.20598896074, + -0.713407846539, + -0.742377006164, + -0.62141792276, + -0.981492851317, + -0.770923853817, + -0.348012810767, + -0.998069394961, + -0.958035962316, + -0.665111325933, + -0.747991979091, + -0.446744435998, + -0.762137062821, + -0.643478406408, + -0.210678336658, + -0.328454834705, + -0.252863408144, + -0.775271437295, + -0.781159325916, + -0.878817686305, + -0.857326243909, + -0.431976934937, + -1.34450897918, + -1.10682503725, + -0.711020187579, + -0.842150840212, + -0.53066253457, + -0.417785420417, + -0.698471751472, + -0.605532341444, + -0.956364519927, + -0.757959473357, + -0.98731611084, + -0.362915429005, + -0.626373224718, + -0.381295921657, + -0.669227367462, + -1.35162201428, + -0.500320375896, + -0.92894912864, + -0.9470084272, + -0.951280704712, + -0.947229481546, + -0.865023951433, + -0.593243938738, + -0.547410115313, + -0.862082117158, + -0.96987866046, + -0.905987087726, + -0.404605638525, + -0.405332881411, + -0.572658386496, + -0.205625468925, + -0.872193534078, + -0.37744247924, + -0.613315924488, + -0.338737903404, + -0.74501079892, + -1.34221517759, + -0.154504118159, + -0.468062988679, + -0.56336122959, + -0.48157694381, + -0.143151817852, + -0.869588824529, + -0.579557514387, + -1.11592789851, + -0.876362802868, + -0.53320364861, + -0.340498919317, + -0.917659492801, + -0.499263733892, + -0.3104747395, + -0.534825842355, + -0.79168687442, + -1.04395586496, + -0.727757579127, + -1.29392901746, + -0.856085080792, + -0.389288678763, + -0.232567176757, + -0.812366222494, + -0.303510509979, + -0.180606944397, + -0.421086935007, + -1.20177040951, + -0.696555010949, + -0.6045892542, + -0.0531746343099, + -0.838611087964, + -0.375927824162, + -0.707820635893, + -0.472547901815, + -0.497928976328, + -1.01478101156, + -0.645511105508, + -0.587394982864, + -0.816969998617, + -0.573377638698, + -0.306091691779, + -0.445022339908, + -0.187125918025, + -0.991538036615, + -0.42926181917, + -0.0836789188442, + -0.193013270333, + -0.748006934716, + -0.606028707226, + -0.625166716385, + -0.238888014557, + -0.737029641206, + -0.814333080667, + -0.91690961036, + 0.125202292842, + -0.598522430464, + -0.363273877468, + -0.265005904528, + -0.55023851096, + -0.590315786584, + -0.742558086661, + -0.347205651014, + -0.315542648542, + -0.0511501712559, + -0.375678609587, + -0.44848027679, + -0.480506735012, + -0.634513449279, + -0.499436042048, + -0.377372400729, + -0.979504245361, + -0.228850821502, + -0.177322269152, + -0.993243529345, + -0.0834706631689, + -0.178292652993, + -0.423336614399, + -0.437489594692, + -0.387867078964, + 0.0359032544345, + -0.768400323361, + -0.880436293083, + -0.113434009833, + -0.156985461632, + -0.474975508261, + -0.534973518655, + -0.134487878512, + 0.256187865309, + -0.0953085265153, + -0.555594766333, + -0.837272447995, + -0.409021752419, + -0.760281212606, + -0.797614414686, + -0.431258146069, + -0.908206739304, + -0.359746353402, + -0.0697050500641, + -0.0169458943088, + -0.249397303667, + -0.186916145075, + -0.49546600706, + -0.626011000651, + -0.209598082338, + -0.611755095467, + -0.701846867205, + -0.588528378346, + -0.739044784952, + -0.743195020912, + -0.648526254769, + -0.0939483521405, + -0.328064660955, + -0.802859403674, + -0.670122188743, + -0.0788047108045, + -0.115589159147, + -0.0412229069184, + -0.129879658969, + -0.150322176973, + -0.457673152061, + -0.58282986866, + -0.128431856528, + -0.280004806329, + -0.147760442915, + -0.125994645226, + -0.351319127648, + -0.916986960238, + -0.0682023283687, + -0.369887858856, + -0.310110916539, + -0.417303598907, + -0.401821425308, + -0.0654416767524, + 0.0837918851735, + -0.298760158278, + -0.461214719893, + 0.0409868012426, + -0.179163337758, + -0.480056286711, + -0.214327607809, + 0.0666088918964, + -0.0642578583873, + -0.588495024071, + -0.333334771365, + -0.732590956163, + 0.0646945023666, + -0.452521277814, + 0.00187401454126, + -0.431848482619, + -0.52705814528, + -0.50805102327, + -0.188526523792, + -0.387118866173, + -0.218075835362, + -0.521755687113, + -0.487507541963, + 0.29333099797, + -0.652457885382, + -0.503657873063, + -0.0593586418365, + -0.507547871741, + -0.346414799302, + -0.199616570882, + 0.043799436223, + -0.249310266621, + -0.0696223049976, + 0.216258615773, + 0.179590046404, + -0.268291470073, + -0.0726955234052, + -0.266086636369, + -0.45321832241, + -0.380589204893, + 0.0849131342107, + -0.267797909958, + 0.0643343240858, + -0.66964184137, + -0.515411428621, + 0.0684760613136, + -0.146478678563, + -0.416205681858, + -0.83098834909, + -0.725868612635, + 0.119365847099, + -0.0954378087244, + 0.0920794028818, + -0.0392517721198, + 0.0445528273561, + -0.414402497179, + -0.258815616515, + -0.478076131055, + -0.49710114898, + -0.318258703027, + -0.240497642309, + -0.147983756068, + -0.292952083077, + -0.410054376636, + 0.169142127399, + -0.699050261513, + -0.200237281792, + 0.197956462189, + -0.15202393118, + -0.722133735535, + -0.465721105987, + -0.285254489895, + -0.496592731249, + -0.344438874787, + -0.182172671133, + -0.222715500031, + -0.23273380159, + -0.10581486955, + -0.567800633852, + -0.269075930778, + -0.192718803442, + -0.703425114984, + 0.00149398546997, + -0.659867123557, + -0.472730872244, + -0.516057526798, + -0.421011682873, + -0.760942799303, + -0.0992656221964, + -0.681315761021, + -0.0601557252497, + -0.486645256605, + -0.655160021725, + -0.273061296311, + -0.176444193885, + 0.157325706089, + -0.148781341998, + 0.047790898396, + -0.098647803393, + -0.179633408155, + -0.538101159545, + 0.470759769586, + 0.00697928358721, + 0.282091559658, + -0.290912826109, + 0.153999006273, + -0.278279476158, + -0.452187088574, + 0.0818493913191, + -0.392381375946, + 0.00786063447283, + -0.354022952017, + -0.15875369511, + 0.0595993118041, + -0.149106224832, + -0.946526026507, + -0.147262595371, + 0.0188733279786, + -0.486012986434, + 0.468892419733, + -0.0255097586154, + 0.167727012362, + -0.0634299114357, + -0.141436098323, + -0.0343921491763, + -0.0144164665342, + 0.118361021003, + -0.394661349125, + -0.475782241563, + -0.337388130346, + 0.185511362969, + -0.241866098332, + 0.255421706515, + -0.152430994918, + -0.708539265764, + 0.0947223382126, + 0.0765117661216, + -0.357792879549, + -0.352146670158, + -0.210204123446, + -0.751706432018, + 0.303672190883, + 0.00050174509462, + -0.513495867459, + -0.0682437606033, + -0.0135104540718, + 0.0631202188709, + 0.08167607506, + 0.0192124724736, + -0.215758248082, + -0.392485804018, + -0.51959779115, + -0.723237932736, + -0.299522971408, + 0.227338090169, + 0.123793659909, + -0.0573294976281, + -0.289504566444, + -0.341724591535, + -0.116585276423, + -0.341705274087, + -0.380633967224, + 0.0273683325878, + -0.305979550523, + -0.0820969766266, + -0.158350207107, + 0.132538481499, + -0.0243086219284, + 0.0866660948003, + -0.285908910484, + -0.165308626059, + -0.207671046831, + 0.0428814927132, + -0.752145091757, + -0.837324041459, + -0.274435578823, + -0.528294104662, + -0.239734165383, + 0.24880804911, + -0.0762859216464, + -0.357203583315, + -0.0973632551199, + -0.530197503041, + -0.0636309860897, + -0.382219599884, + -0.359867911142, + 0.676109523542, + -0.732849891257, + -0.315582479856, + -0.119894362467, + 0.367229600453, + -0.349632890692, + -0.394222965779, + 0.062733115263, + 0.095347541381, + 0.358739592031, + -0.347205689436, + -0.455756869216, + -0.21455941705, + -0.018355190646, + -0.117181313624, + -0.12936444109, + 0.218450994811, + -0.0266384643863, + -0.126250405431, + -0.32352931943, + 0.119914647848, + -0.635663219347, + 0.446417977493, + 0.322889539183, + -0.32341595554, + -0.159694741723, + -0.000920684658562, + -0.18515448334, + -0.529224184143, + -0.30920100643, + -0.0807547496362, + 0.0083411150766, + 0.093036841578, + -0.56276561686, + 0.415094706323, + -0.427866381473, + 0.0867371191597, + -0.425319185365, + -0.117917745028, + -0.200432749888, + -0.184199306974, + 0.0466752392136, + -0.37923770405, + -0.264388865231, + 0.114831869293, + 0.606838233269, + -0.0840846691926, + -0.171458058636, + -0.217417244561, + 0.211396562645, + -0.115220714293, + -0.225410413316, + -0.236539403577, + -0.431712655117, + -0.40043309762, + -0.167843469574, + -0.278920139837, + -0.273743304997, + -0.0129005279734, + -0.0480228435703, + -0.30669902063, + -0.124184779236, + -0.43987145949, + 0.441109325734, + -0.381071561808, + -0.010256882341, + 0.257523528461, + -0.625025420995, + 0.246134478623, + -0.114346964225, + 0.132064676675, + -0.0333069273585, + -0.0962803011569, + 0.323702769148, + -0.219676814751, + -0.435541800416, + -0.282350612921, + 0.0945698261817, + -0.146723683563, + -0.305066494512, + -0.247480208963, + -0.193653529159, + -0.1647221428, + 0.146549925264, + -0.160683500042, + 0.236707508024, + -0.34583351183, + -0.232016296133, + -0.320764763893, + -0.192817053495, + -0.339810153259, + -0.23473225583, + -0.0793945449217, + -0.0828887080015, + 0.0385788966512, + -0.80684119366, + -0.210169618061, + -0.316840014073, + 0.200830533799, + -0.131113014899, + -0.66111337767, + -0.0173465601361, + -0.292357430889, + 0.0627152801907, + 0.479810068942, + -0.55096114455, + -0.398627836838, + 0.139260233217, + -0.151048302899, + -0.224802643594, + -0.614935519577, + -0.316709027695, + 0.484400512569, + 0.150520666689, + 0.335240972167, + 0.133289167759, + 0.341902548673, + -0.0484056680416, + 0.0275021664581, + 0.123151627609, + -0.228032134566, + 0.0144223601186, + -0.154960086559, + -0.305249623632, + -0.291721269332, + -0.41855277202, + -0.326252721105, + 0.175611917491, + -0.564700962124, + -0.163840043891, + -0.222211867876, + -0.152585039264, + 0.510753591373, + -0.211351596819, + 0.288908919139, + 0.115697853351, + -0.273753140125, + -0.0604490543128, + 0.0965428271609, + -1.0039116105, + -0.286264917357, + 0.070103472738, + 0.303178930022, + -0.202704131932, + 0.0251795325152, + 0.409689480989, + -0.258780166004, + 0.261138124434, + 0.00901456124037, + -0.104063587425, + 0.317363181144, + -0.455572141893, + -0.53436692428, + 0.112482030583, + -0.579337050673, + -0.270255915433, + -0.197006054342, + -0.678363951146, + -0.375823549518, + 0.0996542613761, + 0.0579399608972, + -0.291986960898, + -0.332394202862, + 0.0248556566456, + 0.0781675939344, + 0.00543640168091, + 0.241408254884, + -0.0116647695811, + -0.436155422587, + -0.141685842047, + -0.0556084898602, + -0.541790715567, + 0.330534481002, + 0.150075717805, + -0.291867998496, + 0.0388547687461, + 0.066174485449, + -0.195600723385, + -0.0478082264031, + 0.0580312179716, + 0.0000849638101149, + 0.210862125531, + 0.176483853277, + -0.189242551585, + -0.616887540776, + -0.5130666759, + 0.580687834058, + 0.436337687656, + -0.155555921104, + -0.0507910982818, + -0.462026629076, + -0.061209771324, + 0.13714088749, + -0.243400685872, + -0.0728598538998, + -0.0455896053393, + 0.236724767056, + -0.271748525513, + 0.363351708765, + 0.00321539324397, + -0.393579952457, + 0.00111930238007, + 0.044751746023, + -0.331739271561, + 0.0546314980786, + -0.262427693426, + -0.387379137482, + -0.598872528347, + -0.00208209147732, + 0.20867255083, + 0.342661720147, + -0.123812258102, + -0.347497502803, + 0.211690518537, + -0.0369538805502, + -0.101642513344, + -0.514351417759, + 0.25946587855, + 0.337155209667, + 0.0353093142018, + 0.254171734868, + -0.00885172335769, + 0.00667283486279, + 0.0985896253693, + -0.459496439621, + -0.186750765445, + -0.169047076532, + 0.0486291034378, + 0.280323305652, + 0.345825938655, + 0.398011528234, + 0.110409892018, + -0.401082095829, + -0.200763578573, + -0.506140115094, + -0.0853994928239, + -0.124972532982, + -0.0722483067074, + 0.108349380919, + -0.0308624552808, + 0.265662632283, + -0.275173157869, + -0.298687997797, + -0.248975984442, + 0.314155814452, + -0.156797479108, + 0.588937914051, + 0.00913339818521, + 0.231051775406, + 0.0759203741183, + 0.128593397038, + 0.217338711025, + 0.305047000719, + 0.0750524610939, + 0.103742650734, + 0.238970021357, + -0.526813737125, + -0.0968849039039, + 0.223394122561, + -0.585511535454, + 0.136863516373, + -0.0671048868047, + 0.270008215096, + -0.0978533804993, + -0.100505946012, + 0.324510815626, + -0.0136994830976, + -0.151695646832, + 0.33735762683, + -0.525500886485, + 0.234405616641, + 0.141631244156, + -0.238247513507, + 0.0154845130683, + -0.545778083975, + -0.262350689114, + -0.0895612576352, + 0.555609133354, + -0.103049446692, + -0.116495095349, + 0.445974315123, + -0.283613853956, + -0.11284964095, + -0.43510334591, + -0.0307632060173, + 0.227351442264, + -0.133682588731, + -0.130166313296, + -0.189781540487, + -0.336892797674, + -0.561341544105, + 0.468575416458, + -0.52785476207, + 0.0836719781697, + -0.187430911798, + 0.297294009792, + 0.202290452653, + 0.118980719079, + 0.422397346159, + 0.410544874459, + 0.83899288922, + -0.140417107808, + 0.0325785903962, + 0.0231557933716, + 0.185284717282, + 0.137094210787, + -0.296208530477, + -0.401116505279, + 0.244160743332, + 0.0159801016478, + 0.0653760476988, + -0.233105300989, + -0.019979141975, + -0.400259526, + 0.379735283518, + 0.138779753555, + 0.329509814932, + 0.582887989653, + -0.425053379924, + 0.250684405386, + 0.122280365022, + -0.350310307869, + 0.249770890486, + -0.368483401823, + 0.0838904984214, + 0.1559845851, + -0.302336453024, + -0.813298778244, + 0.505582726337, + 0.439775606116, + 0.757681422666, + 0.32037421082, + -0.499453248206, + -0.0807282965582, + -0.11499441908, + -0.28127951713, + -0.336393953653, + 0.152591431207, + -0.134206118719, + 0.356826176621, + -0.0711225676897, + -0.0231414190216, + -0.838846530246, + 0.194394489854, + 0.210848814286, + -0.284100211897, + -0.154704273285, + 0.128038904044, + 0.117654917275, + 0.143051953626, + -0.137693822142, + 0.0401470831961, + -0.0836702464699, + -0.559557494709, + -0.429624750811, + 0.226258343562, + -0.129615995069, + 0.12589719058, + 0.0163146913938, + -0.180664458083, + 0.318585247497, + 0.171999731099, + -0.293944242925, + 0.685187283697, + 0.0910195788297, + -0.612089557562, + 0.102540460265, + -0.0332360409378, + -0.611924043575, + -0.090061815255, + 0.197422125894, + -0.437780453076, + 0.0100196221381, + 0.79548843861, + -0.167184871467, + 0.0907830884498, + -0.272475735432, + 0.256327762144, + -0.0944207729951, + 0.356999691317, + -0.292595815835, + 0.450172790429, + -0.0879719035327, + -0.463215510637, + -0.17210461229, + 0.0755485147146, + -0.0196942804073, + 0.129312377011, + -0.203875329709, + 0.162368868391, + -0.00340445556973, + -0.171968385786, + -0.104917932493, + 0.19003579863, + 0.803390871168, + 0.140797222948, + -0.113667716743, + -0.225648212174, + -0.41658060355, + 0.148496177866, + -0.245223409681, + -0.212045037634, + -0.273715306554, + 0.0586326027761, + -0.209186669154, + -0.307024292504, + -0.128614158982, + -0.12958725156, + 0.197018467819, + 0.0762195243649, + -0.282688324249, + 0.510296307573, + 0.17942223049, + 0.0383683570954, + 0.0962041484363, + 0.00875315270551, + -0.155332966454, + -0.0297246533167, + 0.157746283923, + -0.168464667464, + 0.170879478843, + 0.477431192049, + -0.0952240888658, + 0.208116037147, + 0.316909347673, + -0.27632218974, + 0.0530365658804, + -0.0236717633168, + -0.328514201592, + 0.0969486898694, + 0.312906865288, + -0.34255621396, + 0.176150047021, + -0.228577138372, + 0.287942669864, + -0.640328276618, + -0.161695908841, + -0.312108100275, + -0.00558865872818, + 0.18511896352, + -0.0255537664455, + 0.0731308235112, + -0.0921654980273, + 0.177329974819, + 0.147534854912, + -0.073194283383, + 0.190977353506, + -0.101759595819, + 0.10172207452, + 0.0676630933452, + -0.529779772547, + 0.0211788458584, + -0.0592627292774, + -0.00410965148025, + 0.489616981085, + -0.660998522068, + -0.0483173520289, + 0.0527836656231, + -0.335968021967, + -0.278093867206, + 0.0955757085784, + -0.0828714659638, + -0.250671647361, + 0.499255341743, + 0.177223079624, + 0.113621125514, + -0.169726671856, + 0.192193096101, + -0.737188986318, + 0.234889972003, + 0.265548448408, + -0.223080846034, + 0.322786906627, + 0.164117217437, + 0.043929815193, + 0.125433623586, + 0.118513689462, + 0.294041814848, + -0.256669274552, + 0.135587036437, + 0.574639757137, + -0.0406343402632, + -0.130136234502, + 0.225531550217, + -0.134127263765, + -0.917875059147, + -0.158508958819, + -0.0275205685044, + -0.0475982623286, + 0.697997906371, + -0.709213889168, + 0.226496864801, + 0.321008847288, + -0.208185155977, + 0.0439335031534, + 0.296880790602, + 0.198523123676, + 0.113044378791, + -0.475140358636, + -0.0539969184274, + -0.194506994113, + 0.118542515101, + -0.0835159869162, + 0.440623091287, + -0.519977307968, + -0.0962711284438, + 0.13764103895, + 0.0941191249761, + 0.436001369777, + -0.238717199103, + 0.0607881510739, + 0.131443899458, + -0.365125196586, + -0.32007395013, + -0.202347619026, + 0.442922671754, + 0.11735469862, + 0.241674463338, + 0.427937344678, + -0.241747763743, + 0.0456843303988, + 0.156565192694, + 0.0739776199681, + -0.257470936337, + 0.0276603820499, + -0.26864371662, + -0.0612444179423, + 0.0155906308716, + 0.111907849882, + 0.442422035681, + 0.234070487245, + -0.117221275614, + 0.171927520854, + 0.114133060263, + -0.111428582758, + -0.573340823559, + -0.149734923157, + -0.302474093389, + 0.217749343355, + 0.458911814024, + 0.282510448805, + -0.330308346164, + 0.210990788921, + -0.224447866977, + 0.0343429651954, + 0.119434430628, + -0.173730940073, + 0.29994643864, + 0.249636971158, + 0.325063958604, + 0.0281502285555, + -0.345387810533, + -0.0366964494252, + -0.0163079411626, + -0.0673124930164, + 0.373689593844, + 0.054399547869, + -0.281250135196, + 0.0732683878375, + -0.201729414513, + -0.019880974051, + -0.0643202341666, + -0.237868186507, + -0.335117032503, + -0.106678581186, + 0.181335294188, + 0.215940716362, + 0.0132612792814, + 0.247980996895, + 0.307049178831, + 0.442555685549, + -0.0731032181992, + 0.27593297332, + -0.358924711633, + -0.436083438032, + -0.339564169995, + 0.00197384390122, + 0.0390397433053, + 0.266213125588, + 0.58365871518, + 0.285815577065, + -0.0185020020416, + 0.0681939719893, + 0.195648121923, + -0.197338050297, + 0.0765331792103, + -0.128958764661, + 0.119086176053, + 0.00282454321406, + -0.312947206315, + -0.695964401167, + 0.553239774023, + -0.0376879201897, + 0.0746397518185, + -0.176950259932, + -0.539628816011, + 0.516822108129, + -0.0622217985455, + 0.150926764091, + 0.0105252148421, + -0.0399099182141, + 0.241303517604, + 0.149541831072, + -0.10893577126, + 0.290634236282, + 0.241512343063, + 0.12203163533, + 0.0542806812104, + -0.502567942781, + -0.454161777539, + -0.199479307882, + 0.438411665049, + -0.0641438807352, + 0.00594461911697, + 0.239920358582, + -0.41998733054, + 0.371973299782, + 0.588003757256, + -0.262176941033, + 0.173621192572, + -0.25766576834, + -0.00965134256269, + -0.223307469429, + -0.356565589984, + -0.547550930495, + -0.143957201672, + 0.200328892021, + 0.500515827125, + 0.139532730512, + -0.543648406397, + 0.107904823323, + -0.0356731632355, + -0.0708056100558, + -0.511627016889, + 0.165933002149, + 0.619878225607, + 0.116931235693, + 0.345863463859, + 0.0517921868435, + -0.227110996032, + -0.332289758136, + -0.437738102645, + 0.00408070682058, + -0.210225019182, + -0.706774085568, + 0.266253898061, + 0.307942412599, + -0.339109940764, + -0.752690007293, + 0.177559825543, + 0.14747008255, + -0.0425676491291, + 0.157885178461, + 0.104164775971, + 0.387627860985, + -0.707867528286, + 0.334999096451, + -0.189684258708, + 0.572253554318, + -0.137323556885, + -0.19114713855, + -0.0688812083589, + 0.23351459852, + 0.392166474454, + 0.336396189118, + -0.380858373114, + 0.20508502413, + -0.25853384522, + 0.0530446418702, + 0.0681919588066, + 0.148177885756, + 0.240202152085, + 0.185186218601, + -0.213638399254, + -0.342717973358, + 0.152967439734, + -0.514902498319, + 0.243831772953, + -0.314853254444, + 0.149778402644, + 0.0466057025477, + -0.0481525976904, + -0.108658987573, + -0.419283102067, + 0.396228113786, + 0.198734513953, + -0.314060288959, + 0.0204589878278, + 0.0390433530684, + -0.163529556693, + -0.0248469139999, + 0.0827430352635, + -0.385160839068, + 0.190355620369, + 0.734164602564, + 0.385362784494, + -0.0745966822104, + 0.445076205239, + 0.0321274976509, + 0.0612078853499, + -0.0221726101469, + -0.195237127187, + 0.109911393427, + -0.212841741942, + 0.0791356462832, + -0.209871066639, + -0.123012301344, + -0.00477279105379, + -0.0361132859132, + -0.5366574356, + 0.0617332497372, + 0.204923416937, + 0.199909195072, + 0.130106472837, + 0.0637009544758, + 0.0990587525174, + 0.125143769129, + -0.231967013973, + -0.756104944965, + 0.411061327646, + -0.00120166481615, + 0.0178389817873, + -0.0198600319551, + -0.119465104176, + 0.294216946987, + -0.196086458215, + 0.378339666513, + -0.332729311165, + -0.302519191423, + 0.166620706661, + -0.28641018466, + 0.10831007804, + 0.24896644621, + 0.452718429403, + 0.231927473009, + -0.478445403976, + -0.256712872314, + -0.430090235381, + 0.0376316359898, + -0.28381847539, + -0.367661611668, + 0.0877064333425, + 0.376750784251, + -0.265560654647, + 0.501181497381, + 0.108032149009, + 0.889711415547, + -0.137525983149, + 0.134708662242, + -0.119213498324, + -0.137377924061, + 0.19946584583, + 0.20501999232, + 0.575311534307, + 0.307794811402, + 0.139171914562, + 0.356485953565, + -0.315761592406, + -0.210584241272, + 0.392558448326, + 0.241199260719, + -0.147875910219, + 0.112497602132, + 0.179914814888, + -0.0229983132652, + -0.397803354683, + 0.0671250322881, + -0.331323687431, + -0.00912602706332, + 0.334527896269, + 0.205953475887, + -0.0234617894485, + -0.253416488078, + 0.00583198173737, + 0.451965496671, + 0.165643675439, + 0.281642160743, + 0.0748306941871, + 0.702511267951, + 0.350164048778, + -0.0207171017099, + 0.35984049302, + -0.0726923355015, + 0.0302373164135, + 0.0401325474357, + -0.0379731780604, + -0.255532767225, + -0.278660772664, + -0.139171356288, + 0.343988609434, + 0.400045852442, + 0.0391050092126, + 0.0869111313014, + 0.122449955787, + 0.150959641768, + -0.15990891272, + 0.0160108959812, + -0.148992391859, + -0.0107758097286, + 0.326746851849, + 0.0460898055773, + -0.745788977551, + -0.32524348583, + -0.327433874558, + 0.130470876216, + -0.329628459927, + -0.330464310425, + -0.198990335733, + -0.158585846199, + 0.0226292641789, + 0.169445490883, + -0.103529163554, + 0.207200055765, + 0.0611726352167, + -0.0913039242659, + 0.343145918842, + 0.0119649160912, + 0.150188551554, + 0.219424706567, + 0.154683380898, + -0.0283950822091, + 0.625517112525, + -0.111131025284, + 0.131077324556, + 0.384626572335, + 0.040990805625, + 0.244877888818, + -0.472381432844, + -0.157368813469, + 0.055396454516, + 0.390699709925, + 0.165143065213, + 0.184998840495, + 0.287459019165, + 0.336639465269, + 0.333387087283, + 0.0528129607628, + 0.240339309265, + -0.262063296851, + -0.283110443776, + 0.0136420406289, + 0.167731809827, + 0.356346996689, + -0.0765016359879, + 0.391493953251, + -0.0630058956113, + 0.0745304449461, + 0.596222608149, + -0.243341219837, + -0.200244421222, + 0.0236231142023, + -0.0380332736732, + -0.136528905352, + 0.849841716491, + 0.483117275117, + 0.483071903054, + 0.236816725832, + -0.0877016097925, + -0.198849713175, + 0.0466306531206, + -0.0301779519697, + -0.669582112462, + 0.604692440069, + 0.337833454047, + 0.0795558977701, + -0.0870327641076, + -0.0171336296122, + 0.0762582953265, + 0.398458247808, + 0.144000961383, + -0.129076290781, + 0.654224951592, + 0.946824064275, + 0.00883670493073, + 0.0723593417974, + -0.00926134842245, + -0.149870621907, + 0.149386511946, + 0.0371237757845, + 0.657029499902, + 0.493098299946, + 0.0587914474409, + -0.405821759181, + -0.182329954439, + -0.216274308297, + 0.569920240556, + 0.293891122521, + 0.0451597236263, + -0.27085159243, + 0.212511374238, + 0.325038666916, + 0.161286614271, + -0.138355560198, + 0.0313363280993, + 0.290431694104, + 0.171537284357, + -0.193279249717, + 0.298074938405, + 0.378722826511, + 0.0827504635306, + -0.16688630569, + 0.0102853021697, + 0.362829335614, + 0.24220061619, + 0.449517326386, + 0.170559248039, + 0.490123827701, + 0.250879258179, + 0.285932030997, + -0.0739778740296, + 0.102257802629, + -0.32459096433, + 0.270067477768, + -0.161672119435, + -0.0966975672494, + -0.00139797947837, + 0.0688232304139, + 0.171232534373, + 0.362531827399, + -0.0493624909231, + -0.582594813359, + -0.184499259733, + -0.0580714142616, + 0.274822457899, + 0.461765536712, + -0.0942197152278, + -0.0740275694596, + 0.464980895012, + 0.3744176828, + -0.297899143985, + 0.278340883023, + 0.166263046813, + -0.123518461853, + -0.241375644537, + 0.700138624804, + -0.207351570172, + 0.54262199023, + 0.0504709608346, + 0.177050121803, + 0.0768182557539, + 0.270115367083, + 0.702981235552, + 0.0458715929153, + 0.50781491875, + -0.17987227472, + 0.243046525929, + 0.344830890972, + -0.327152937323, + -0.0163151262048, + -0.204070623997, + 0.167383101548, + 0.0520900117659, + -0.289746089936, + 0.370835347612, + -0.22106626109, + 0.71349926576, + 0.298336035023, + 0.340857605676, + 0.169403522413, + 0.441908759225, + 0.0388038442397, + 0.072783783723, + 0.696843369097, + 0.546458528808, + 0.547175674341, + 0.761523294965, + -0.0938650877598, + 0.0918351189311, + 0.599514199765, + -0.181457858582, + 0.538509640706, + -0.355421241481, + 0.136713674944, + 0.508328627754, + -0.476262398017, + 0.22593294104, + -0.220834461505, + 0.361612427822, + -0.204115546657, + 0.420050760489, + 0.138319966911, + 0.272335399297, + 0.177680623374, + 0.311499042797, + -0.017826721055, + 0.388055452832, + 0.603236701294, + 0.116836461312, + 0.160522605245, + -0.514190645612, + 0.300956472986, + -0.137887647125, + 0.441411988539, + -0.0066129626654, + 0.487800083166, + 0.0909370291456, + 0.527284160093, + 0.105079630996, + 0.0617405085786, + -0.195843373329, + -0.118960693362, + 0.249640844802, + 0.796865076978, + -0.0330337923031, + -0.104212489171, + 0.257292502696, + 0.558313672984, + 0.219054734464, + -0.0561029237627, + 0.659262100888, + 0.0339585263205, + 0.550715213607, + 0.312441834183, + -0.306097659683, + 0.519345366615, + 0.148227250176, + 0.322224963362, + -0.184292571206, + 0.254347252911, + 0.248586000224, + 0.174216377853, + 0.251486381611, + 0.209387150177, + 0.693914444904, + -0.0498059636847, + 0.280546423054, + -0.0979564011935, + 0.381982732182, + 0.264122597126, + 0.563390400357, + 0.31512988223, + 0.422172658101, + -0.0158852986109, + -0.00932571597003, + 0.16482826548, + 0.24710507505, + 0.432082044492, + 0.378007551706, + -0.118945421588, + 0.444658580642, + 0.219907873818, + 0.886122548269, + 1.10953721601, + -0.453075551421, + -0.028687335687, + 0.399694963446, + 0.624948061864, + 0.176653396316, + 0.414213479212, + 0.354364114871, + 0.154644372851, + 0.129284565006, + 0.597048571661, + -0.0985434720048, + -0.21580778762, + -0.110298465877, + 0.497898879023, + 0.0290393132821, + 0.242449981961, + 0.163441128326, + 0.347325731566, + 1.17799903007, + 0.156185241978, + 0.601482106279, + 0.352871145956, + 0.0468123060371, + 0.481458075834, + -0.278398675214, + -0.245019663736, + 0.67237970864, + 0.331479952036, + 0.0494138271299, + -0.362297663396, + 0.733395012527, + 0.477535282366, + 0.206681234505, + 0.240857542086, + 0.549164304819, + 0.536978276837, + 0.443112205231, + 0.756129359431, + 0.924050894485, + 0.285098087199, + 0.115270680623, + 0.157000312225, + 0.452880880575, + 0.0170567762705, + 0.268932123755, + 0.36843948358, + -0.450676457022, + 0.860323423916, + 0.091322050349, + -0.0637040030499, + 0.318506961762, + 0.43391951377, + 0.436554996882, + 0.233038729, + 0.501325920865, + 0.228223560073, + 0.251881058691, + 0.248429087063, + 0.473598261663, + 0.392715755593, + 0.147755534034, + -0.268630674588, + 0.72540126066, + 0.425750816551, + 0.657509261484, + 0.384841406971, + 0.0192592705212, + 0.386054741553, + 0.346773045855, + 0.576407790785, + 0.0488951930226, + 0.0555852598323, + 0.315092869311, + 0.618047548558, + 0.784124042259, + 0.430086062059, + -0.0701380984036, + 0.433178928013, + 0.344378455015, + -0.0286496915042, + 0.364301102306, + 0.484912905208, + 0.824468678568, + 0.307437414102, + 0.108759185533, + 0.190474749389, + 0.548242041113, + 0.276722424459, + 0.701758620157, + 0.30541292431, + 0.32101754489, + 1.08365020507, + 0.740749547082, + 0.640744498656, + 0.795630741761, + 0.765137138556, + 0.256660943679, + 0.0906429933848, + 0.356284659497, + 1.44521617714, + 0.151774969644, + 0.676471712029, + 1.01135404929, + 0.345252516335, + 0.519366777595, + 0.541388158704, + 0.373607478697, + 0.171804998959, + 0.163623938073, + 0.578772194587, + 0.853212066894, + 0.729925969659, + 0.477194529646, + 1.14879775942, + 0.286671774202, + 0.487017197952, + -0.151756399147, + 0.011162145632, + 0.0242201403285, + 0.19486189468, + 0.146677217959, + 0.941538591988, + 0.480452112006, + 0.98938462865, + 0.485268463107, + 0.885613965288, + 0.466887106232, + -0.0123987300925, + 0.966306771319, + 0.351899040244, + 0.347773584249, + 0.509239005689, + 0.596878613203, + 0.149425688966, + 0.324788797106, + 0.0729090183224, + 0.491741772434, + 0.51252904314, + 0.0381160561583, + 0.267352751905, + 0.348484842162, + 0.442371637055, + 0.589408666005, + 0.575937937527, + 0.60131735028, + -0.354144152664, + 0.931537065157, + 0.241814017504, + 0.683093286271, + 0.187683593789, + 0.807608198902, + 1.0989055685, + 0.269008766803, + 0.529974207757, + 0.517324980167, + 0.96121601012, + 0.577925934342, + 0.748228052265, + 0.772267464828, + 0.512694627835, + 0.798084693337, + 0.804367971235, + -0.0209476922623, + 0.0552848803472, + 0.86721428767, + 0.371502321177, + 0.990960709781, + 0.547789006763, + 0.797843508832, + 0.852936291051, + 0.568996365556, + 0.519905414674, + 0.776886211867, + -0.0508252917084, + 0.406816881954, + 0.622308430896, + 0.369363003748, + 0.880194285992, + 0.692844402758, + 1.31742621633, + 0.471492897365, + -0.0197746714894, + -0.18903987504, + 0.407894939264, + 0.085408350746, + 0.689369451715, + 0.565132557183, + -0.11771936782, + 0.684910420288, + 0.932235891875, + 0.57600416727, + 0.117623583739, + 0.314806191307, + 0.332681512165, + 0.474178800481, + 0.890747110179, + 0.319609347441, + 0.255622385693, + 0.674694630558, + 0.503290578697, + 0.452697886849, + 0.811715674304, + 0.663228362069, + 0.714378186964, + 0.437137008263, + 0.749964067784, + 0.561800588263, + 0.416577472948, + 0.591946647762, + 0.591970512269, + 0.765361052995, + 1.06202577403, + 0.256355123962, + 0.666657778147, + 0.978625915106, + 0.235944473101, + 0.72285388076, + 0.531229633232, + 1.21876420579, + 0.975581782093, + 0.893261359176, + 0.474058131282, + 0.309775017257, + 0.909727622684, + 0.782760283514, + 0.0512693950018, + 1.19949424388, + 0.637982607341, + 0.97843506165, + 0.880492471707, + 1.08218168782, + 0.395267647614, + 0.607737025959, + 0.353190784993, + 0.604590667762, + 0.828543192226, + 1.04899631186, + 1.03900721803, + 0.219341618423, + 0.0919975396421, + 0.811317242676, + 0.727220971223, + 0.635227363761, + 0.821927300839, + 0.217714244774, + 0.942378736373, + 0.844825516236, + 1.00660895354, + 1.0184454016, + 1.36583996227, + 0.630158321793, + 0.954670857035, + 0.493324490109, + 0.606812403726, + 1.69023554401, + 0.860347965511, + 0.296146773694, + 0.873827016382, + 0.98936019584, + 1.0033117667, + 0.507165544186, + 0.695225477996, + 0.487200167231, + 1.12032242293, + 0.418330308095, + 0.284917123511, + 0.537745504926, + 0.878594024249, + 1.10485507812, + 1.10835679114, + 1.07079287644, + 0.742837639257, + 1.11032104605, + -0.0417423866991, + 0.253587857657, + 1.03173495618, + 0.759650286052, + 0.442889920403, + 0.960426169527, + 0.602524490308, + 0.415789534153, + 1.15306843611, + 0.439187039404, + 1.16738339081, + 0.657176390519, + 1.10868380295, + 1.09291556013, + 0.617471881828, + 0.856628336456, + 1.2614821652, + 0.684101208507, + 1.28966590338, + 0.747829769068, + 0.581463795549, + 0.196454499801, + 1.06324618055, + 0.629887978425, + 0.428857547891, + 0.624782401251, + 0.942719384636, + 0.661986862651, + 0.440975959628, + 1.20838089135, + 0.930608624773, + 0.939691222391, + 0.544457804274, + 1.41093796385, + 1.17988108494, + 1.04156810148, + 0.447135217489, + 0.967830103448, + 0.965960709317, + 0.750353992493, + 0.986505580759, + 1.2682786205, + 0.440898965113, + 1.21047804622, + 1.03390652665, + 1.23902236568, + 0.970766089445, + 1.22997991073, + 1.2403789256, + 0.714690158222, + 1.06517991737, + 0.898279267435, + 0.670027145929, + 1.28628586971, + 0.970225356617, + 1.36592073771, + 0.684773994386, + 0.526669723478, + 1.01250218142, + 0.763529561366, + 0.614285288095, + 0.770552432244, + 0.675108430848, + 1.01562026235, + 1.20481774993, + 1.14659802013, + 1.0692771944, + 1.05045697098, + 0.826206553319, + 0.974710691408, + 1.15625063318, + 0.780868973885, + 0.610608035552, + 1.30820774069, + 0.435758957449, + 0.538460050728, + 1.03594485497, + 1.01977721181, + 1.13317701751, + 0.86664676005, + 1.42232692379, + 0.838036574122, + 1.27208055898, + 0.991768940106, + 0.603616701918, + 1.03568923701, + 1.05342205299, + 0.886953274991, + 1.16479542788, + 0.889010298031, + 0.708090605132, + 1.14134209432, + 1.12678213347, + 1.06671667798, + 1.2791999104, + 1.20725671385, + 1.3105256506, + 1.84670135381, + 1.30069848063, + 1.22155213787, + 0.573368090917, + 1.06863209614, + 1.79292067497, + 1.06916237679, + 0.564074090489, + 1.02214184179, + 1.31453583845, + 0.89798666227, + 1.01240018125, + 1.31509636468, + 1.10481437329, + 1.05391268573, + 0.77191429933, + 0.77364971407, + 1.20397816594, + 1.08539463053, + 1.21292806105, + 1.08160100776, + 1.13578790124, + 1.40025929521, + 1.31436726374, + 1.52562935386, + 1.26489254693, + 1.40784254535, + 0.460307581457, + 1.60269919953, + 1.28350437992, + 1.4182003379, + 1.79217900313, + 1.2623303146, + 1.14124648059, + 1.57776038788, + 1.0054063068, + 1.3223316351, + 1.39747272582, + 1.16590837316, + 0.848852692096, + 1.16037322747, + 1.22336736517, + 0.883875742433, + 1.35896704021, + 0.876340035498, + 1.40071302548, + 1.43191692184, + 1.12207292027, + 1.23251106213, + 1.1943043139, + 1.24257365053, + 1.21031556947, + 1.6126504847, + 1.10115651514, + 0.917164641737, + 1.18842001484, + 1.09449803329, + 1.34802684538, + 1.53362095858, + 1.37824425425, + 1.55505879773, + 1.73755159173, + 1.04994805678, + 1.45006304064, + 1.56779855685, + 1.43204221002, + 1.69923271791, + 1.73649130676, + 1.20220247636, + 1.72675055145, + 1.33152784655, + 1.24485060146, + 1.29894553416, + 1.5597844907, + 1.46210412777, + 1.65290669252, + 1.07462892827, + 1.55034616171, + 1.39516848313, + 1.81364173179, + 1.47280778826, + 1.01479673003, + 1.42995534678, + 1.5576974764, + 1.07986390006, + 0.993401863796, + 1.02911178573, + 1.0222286939, + 1.06545779964, + 1.41959811122, + 1.56336506978, + 2.04437653184, + 1.13441124506, + 1.65405380758, + 2.03013140141, + 1.46863130582, + 1.45916948892, + 1.67241973534, + 1.34899612369, + 1.40300491542, + 1.3755913638, + 1.08980775603, + 1.59640072865, + 1.62443438417, + 1.6791568736, + 1.30454240649, + 1.71185783476, + 1.36035036931, + 1.33208582091, + 1.59543437272, + 1.77485766298, + 1.73863034238, + 1.56210777704, + 1.51531869303, + 1.62656104925, + 1.2767920387, + 1.19706480425, + 1.52383830413, + 1.78501775339, + 0.910281841391, + 1.69239636565, + 1.17207568884, + 1.26152308245, + 1.02401539056, + 1.56980664127, + 1.67543275807, + 1.91069537189, + 1.39867804561, + 1.46924040054, + 1.81578661083, + 2.12195211522, + 1.71697221172, + 1.6451170945, + 1.71229009241, + 1.96000396893, + 1.54114561869, + 1.38800832314, + 1.92248570169, + 1.86015323414, + 2.30746654784, + 1.87976294874, + 1.41766968511, + 2.5534658542, + 1.52466863949 + ], + "y": [ + 1.13132349623, + 0.879209230381, + 0.991989834632, + 1.36499103015, + 1.10227196058, + 0.540155311898, + 1.02344387239, + 1.18831592903, + 0.684126894679, + 1.20660237657, + 0.761032442186, + 0.302706638882, + 0.749726191277, + 1.10887573528, + 1.20220715172, + 1.80284252956, + 0.537494163232, + 0.592649809975, + 0.931926196208, + 0.87633097161, + 0.749048323812, + 1.14141474454, + 0.842526971143, + 0.094527659013, + 0.879743254354, + 0.947252290146, + 0.980375831968, + 1.38908509126, + 0.690005042312, + 0.423396489369, + 0.737691768675, + 0.938838072948, + 0.860536047205, + 0.964743351319, + 0.842672173885, + 0.86343516617, + 1.21361940398, + 1.06688311524, + 0.670924322975, + 0.513100262536, + 0.69521511993, + 0.77638303877, + 0.697392937568, + 1.05230488088, + 0.950375789849, + 0.629573129092, + 0.822474252111, + 0.730201242832, + 0.842346036485, + 0.576052835309, + 1.0134304435, + 0.516047404986, + 0.970761216653, + 0.696872898504, + 1.03520580953, + 0.615463334244, + 0.663187212916, + 0.659484157455, + 1.11531799505, + 0.0963762837696, + 0.495910812925, + 0.862756283073, + 0.161714728382, + 0.715401683735, + 0.638380800424, + 0.358986546939, + 0.310580326025, + 0.520808678683, + 0.621706114079, + 0.635999353172, + 0.00804482201345, + 0.639945925999, + 0.515907059974, + 0.423192222083, + 0.873069625702, + 0.086528318229, + 0.870151991407, + 0.300575532161, + 0.607242532049, + 0.766541437079, + 0.940853074577, + 0.368336365398, + 0.355235314665, + 0.516230728523, + 0.281174635168, + 0.221294308529, + 1.06971960611, + 0.995515766136, + 0.418150259075, + 0.493312949824, + 0.737374985093, + 0.247532938521, + 0.921395134817, + 0.190573432651, + 0.202565278349, + 0.738867195662, + 1.19704976751, + 0.324019206034, + 0.235748931696, + 0.595399564031, + -0.328040398356, + 0.122396384213, + -0.0914813013625, + 0.0394026942882, + 0.46506045267, + 0.280422710572, + 0.216856937401, + 0.751597641225, + 0.529946956081, + -0.104085422448, + 0.4306029547, + 0.226041275941, + 0.398741853076, + -0.0990500116451, + 0.320550121033, + 0.440367526397, + 0.0717450661852, + 0.476259727512, + 0.668824405801, + 0.110703388873, + 0.689603860463, + 0.776330990195, + 0.619669617174, + 0.522859672033, + 0.458417381922, + 0.260645278501, + 0.850189371266, + 0.14789383759, + 0.526734598751, + 0.432572117062, + 0.611929734392, + 0.472715893907, + 0.362583773703, + 0.638458440739, + 0.28713821682, + 0.293713020932, + 0.172347134781, + 0.357445931516, + 0.247380406781, + 0.637459588723, + 0.109194544793, + 0.42878764343, + 0.269352386247, + 0.201132826669, + 0.147058651319, + 0.337877750187, + -0.0795859247348, + 0.00293068034537, + -0.292271046023, + 0.186580139128, + 0.839673598682, + 0.386843793091, + 0.19368468524, + -0.0700330447528, + 0.0379415730558, + 0.710007451434, + -0.408995911309, + 0.459511195941, + 0.383484554131, + 0.122043410766, + 0.324625930598, + -0.0636105314506, + -0.156425762515, + -0.0503877125144, + 0.225850698001, + 0.179232474594, + -0.201365709381, + 0.551058135099, + 0.316684147314, + 0.243904039117, + -0.0499496584091, + 0.768743010479, + 0.198700208056, + -0.0505469803388, + 0.300997200604, + -0.383327311181, + 0.855691686816, + 0.946481177705, + 0.234511753183, + 0.56015316598, + 0.417653983227, + 0.476381533875, + -0.129623049283, + 0.39876166655, + 0.192514689108, + -0.352669595151, + -0.0392876707369, + 0.0524365913501, + 0.419523404916, + 0.287728583634, + -0.0664135854605, + -0.0463523510117, + 0.604769025646, + 0.437602223771, + 0.0744860247681, + 0.448805369256, + 0.35650335712, + 0.120226119657, + -0.125968837039, + -0.0734850284241, + 0.189226550749, + 0.362817051918, + -0.0122572771932, + 0.192143726493, + 0.9986576973, + -0.0602251774773, + 0.786354046299, + 0.720794002576, + -0.169596858757, + 0.0707274603166, + 0.159333126394, + -0.00660879679212, + 0.220225654604, + -0.193240136882, + 0.365016430739, + 0.0643353510069, + -0.0433654922699, + -0.14721834982, + 0.153806525011, + 0.478767790542, + -0.14403427331, + -0.383638073511, + -0.200176227195, + 0.220593221286, + 0.487364500487, + 0.593245444761, + 0.239850396416, + -0.173043705425, + 0.188351593691, + -0.0844410107971, + 0.185220204592, + 0.326321846937, + 0.284455912146, + 0.440336459267, + 0.105302720676, + 0.0439160061164, + 0.548973768833, + -0.124730651027, + 0.476822995568, + 0.418223253148, + -0.103079181296, + 0.266523070263, + 0.517470931911, + -0.313263504161, + -0.00164958997518, + 0.114822064324, + 0.0716526605165, + 0.581863918579, + -0.0911130733329, + -0.36569936119, + -0.13327922372, + 0.0360897944898, + 0.0780342078173, + 0.216338573694, + 0.458361927255, + 0.130440952718, + -0.0842283230038, + 0.0337146057908, + -0.0064144507093, + -0.106238109325, + -0.303162283926, + 0.339860442519, + -0.463289378792, + 0.0142066364007, + 0.201630450416, + 0.113258159889, + 0.0237301345543, + 0.312355200613, + 0.367788936139, + -0.211780313309, + -0.168545295477, + 0.354086853652, + -0.375523178573, + 0.61729577362, + -0.389740334812, + -0.575656305939, + -0.359340802611, + 0.302651272831, + 0.45839127107, + -0.064305221416, + 0.0468307608535, + -0.112409572825, + 0.710277973911, + 0.566971475451, + -0.105628434065, + 0.433968868533, + -0.149171890263, + 0.28628993014, + 0.369161938328, + 0.173774679884, + -0.114046298311, + 0.163575196741, + -0.126711910519, + 0.0739464748079, + 0.0565648925611, + 0.0613934719812, + 0.413639222402, + 0.605807815075, + -0.392146823876, + -0.039864584371, + -0.123538699942, + 0.394847175791, + 0.281746994764, + 0.091278502496, + 0.0980621884847, + -0.0539260921353, + 0.685687248289, + -0.0600984629901, + -0.353428711696, + 0.536398043221, + 0.420843708746, + 0.557119504116, + 0.0457785813989, + 0.0741010210445, + 0.377289371786, + -0.503007659557, + 0.347609227256, + -0.257774151716, + -0.310532719685, + -0.256156255908, + -0.517809659607, + -0.498574104766, + -0.0556914813574, + -0.434570686055, + 0.247644044047, + -0.157616832277, + -0.375076137867, + 0.241526492477, + -0.068892358556, + 0.213253757654, + 0.372136588119, + -0.117662533463, + -0.618331335069, + -0.666161467848, + 0.605901491997, + 0.28976310082, + -0.376856449155, + -0.211153358636, + 0.347791177682, + -0.187283964131, + -0.248397464253, + 0.112563090525, + -0.237662506355, + 0.39928567972, + -0.354056580369, + -0.323247785543, + 0.0317971848723, + 0.120702003563, + 0.193490009233, + 0.250567787093, + -0.112987287229, + 0.463132886451, + 0.0731569714014, + 0.371210235964, + -0.281549941982, + 0.313832691797, + 0.256341927341, + 0.126071780042, + -0.0211862856393, + 0.107396863643, + -0.0891863566262, + 0.167371045329, + 0.392029997143, + 0.122388554777, + -0.0301877822846, + -0.00900483396649, + 0.0346041774669, + -0.316274971745, + 0.118410400475, + 0.321021997869, + -0.294824759549, + -0.355593386651, + 0.173707081993, + -0.0325675799454, + -0.290525059893, + -0.428858881614, + 0.20585724776, + 0.481687182554, + -0.285728553348, + 0.265019719101, + -0.0581725829951, + -0.553614151036, + 0.110339505072, + -0.343697735277, + 0.0404215399059, + -0.0157604173841, + -0.595529618106, + -0.219014101118, + -0.0584568536814, + 0.540337587193, + 0.0737778036181, + 0.23363133727, + -0.218043686323, + -0.428595913015, + 0.11037581469, + 0.173843885693, + 0.286417212141, + -0.0226918925024, + 0.585587624404, + 0.182790506286, + -0.34650778426, + 0.0565521004139, + -0.143566747429, + -0.250885345431, + -0.429604643305, + 0.0049486264307, + -0.173626412557, + 0.0367372310518, + 0.271820640503, + 0.367912721164, + 0.30970208999, + -0.0167640023826, + -0.184535560843, + -0.113656378667, + -0.492285209242, + 0.21912552756, + -0.285368931705, + 0.0468703414295, + -0.070736735817, + 0.619976188109, + 0.370779179073, + -0.513941719842, + 0.168786503101, + 0.442737274282, + 0.2160827728, + -0.13135468304, + 0.438515684561, + -0.125236884151, + 0.0226131432503, + 0.261634364255, + 0.00993685057311, + -0.214940751843, + -0.173255263007, + 0.341285600546, + -0.143121724597, + -0.000691036840521, + 0.213490069016, + -0.335141190779, + -0.0859010555604, + -0.358435214561, + -0.432614969265, + -0.264173922564, + 0.65037978662, + 0.0633373423575, + 0.0488393646869, + 0.137122903747, + -0.0233456540314, + -0.202615945978, + 0.204950961851, + 0.0655598129313, + 0.0514544359248, + 0.628773896705, + -0.298063145279, + -0.217474100903, + -0.00340632660579, + -0.0409373797953, + 0.229579873113, + -0.165709908656, + 0.280372119602, + 0.108595245546, + 0.0402580601281, + -0.98579264195, + 0.199992564141, + 0.0758147605117, + -0.0840563808698, + 0.220932133476, + 0.0567455909801, + 0.0601917386876, + -0.150025658923, + -0.202934229029, + 0.192499805718, + -0.271085941005, + -0.356474603534, + -0.135044019453, + -0.385498424762, + 0.00657849106145, + -0.188410788109, + -0.196676317075, + 0.226066613329, + 0.365236543258, + -0.0832658653721, + -0.0283643542452, + -0.0425525731835, + -0.308713310909, + 0.270109874492, + -0.353014386609, + -0.138428091334, + -0.578265717312, + -0.271378070038, + -0.311706041883, + 0.19099948305, + -0.340733555298, + 0.0414639692575, + 0.273499990774, + 0.340893453208, + -0.188994060129, + -0.267430140277, + -0.382800182549, + 0.356372928232, + 0.00498438176967, + 0.216433786701, + 0.193179911705, + -0.195232901656, + -0.479198426281, + 0.659213541832, + -0.446638648649, + 0.0943525702406, + 0.0330338297066, + 0.134616086032, + 0.109855665246, + 0.331346342424, + 0.2175103193, + 0.597194181818, + -0.0120278859835, + -0.488908334733, + 0.462580560734, + 0.954410326165, + 0.190871655294, + 0.29237727253, + -0.18060084077, + -0.350726386427, + -0.124376986406, + 0.269751095661, + 0.246567448462, + 0.279955436415, + -0.0630345416457, + 0.506350894484, + -0.0299512293316, + -0.217810227996, + 0.216671542722, + 0.358488058379, + 0.367790131975, + 0.0757956883658, + -0.118578273375, + 0.0357333875203, + -0.0925612406428, + -0.50749719005, + 0.293720886392, + 0.412762345722, + -0.0480367611916, + 0.0535148802796, + -0.0356955042444, + 0.0531976972756, + -0.00892116715262, + -0.255542302166, + 0.280068808844, + 0.268098957913, + -0.0058689112366, + 0.341935836702, + -0.166265097518, + 0.111420299757, + -0.403751387891, + -0.345429640967, + 0.756116107359, + -0.552643149764, + -0.504745602106, + -0.0899623856315, + 0.127254192591, + -0.430733284788, + -0.242256734699, + -0.182843251481, + -0.0344351244605, + -0.327876881894, + -0.189495928802, + 0.324220130036, + 0.309641428814, + 0.132777501877, + -0.449729276573, + -0.319024370864, + 0.118971391494, + 0.164962487641, + -0.259219042326, + -0.407069946619, + -0.387577011274, + 0.168157136843, + 0.207816158356, + 0.101551625393, + -0.0578910155504, + -0.329441014385, + -0.347028974516, + -0.107851137974, + -0.336088676584, + 0.188104557344, + -0.182014210719, + -0.213353786721, + -0.0204792343555, + -0.395016732585, + 0.196142820928, + 0.0176567209638, + 0.353065515216, + -0.523314335013, + -0.239943052212, + -0.154623042085, + 0.132967468279, + 0.265370942072, + -0.0173610492229, + -0.227648323452, + -0.269371468159, + 0.28342888373, + 0.0213397091286, + -0.0459740872175, + -0.134415645557, + 0.109086240757, + -0.289509269027, + 0.00451763275518, + -0.360193405182, + 0.412637244523, + -0.0404479237745, + 0.629753493153, + 0.466761770292, + -0.014556956606, + 0.506014954998, + 0.182650565503, + 0.212393672309, + -0.395161186915, + 0.381485135259, + -0.514693809865, + 0.409923732538, + -0.206498848405, + 0.301688748832, + -0.386110783692, + -0.0179019133521, + -0.118381703335, + -0.34089220577, + -0.0335167310366, + -0.0898229680062, + 0.350997278346, + -0.242419112357, + 0.386595290125, + -0.119151365838, + 0.485026759426, + -0.959373470545, + 0.0381518000888, + -0.549981601643, + 0.146333982094, + 0.731770011511, + -0.0852322685056, + -0.345272688714, + 0.197905628129, + 0.00675304026311, + 0.226210973041, + -0.0485602075499, + 0.345707690727, + -0.325911870992, + -0.318202662623, + -0.13891930073, + -0.0977035303504, + 0.790061650211, + -0.0493213795245, + -0.264792309616, + 0.0721713825822, + -0.369323150945, + -0.329566771335, + -0.218620781723, + 0.292937196341, + -0.149739892081, + 0.172770377102, + 0.497846228694, + 0.21372576697, + -0.0275603692312, + 0.0956836295959, + -0.149548960785, + 0.221768712247, + -0.234942535913, + -0.174504460407, + -0.121573082788, + 0.401027574943, + -0.564272464092, + 0.253509190611, + -0.440338232444, + 0.148864676125, + 0.276833860317, + 0.510128114625, + 0.0545596155247, + -0.321478504658, + -0.318993797805, + -0.0675970081447, + -0.282929037583, + 0.113496270218, + -0.342797508271, + -0.136644733524, + -0.166722696618, + -0.0586223626588, + 0.167856345955, + 0.363716105372, + -0.296288193757, + 0.369314673289, + 0.0298926171642, + -0.341308851588, + -0.591113279055, + -0.101779247599, + -0.307005171709, + -0.200389899306, + -0.373277825529, + -0.0275460614101, + 0.170175331415, + 0.482082253919, + -0.183121703662, + 0.0558503227201, + -0.239730409157, + 0.0616810800616, + 0.0718444263537, + 0.0489460694497, + -0.592491605927, + -0.357782545957, + -0.188754345225, + 0.24318050552, + -0.164122750315, + -0.358771442338, + 0.344883421755, + 0.25402636193, + 0.0244507509991, + 0.233576861364, + -0.364546927951, + -0.00656210529066, + -0.0160728654063, + 0.326626670352, + 0.669959223418, + 0.320049345841, + -0.693125661604, + -0.251374966814, + -0.52545680859, + -0.00955722150486, + -0.0902695645522, + 0.0223671134333, + 0.375296506048, + 0.282909391589, + 0.290214975719, + 0.562985202226, + -0.277595461813, + -0.0632076603699, + 0.16487012244, + 0.160591664967, + 0.302852530166, + 0.00786289410686, + -0.277755006282, + -0.141397700248, + 0.373978836963, + 0.435537311669, + 0.558709270952, + 0.183736645194, + -0.522055352435, + 0.214357484262, + 0.0903367401568, + 0.213484819815, + 0.0361243191007, + -0.0427216286276, + 0.162201546863, + -0.435841046581, + -0.386954021172, + 0.432395122654, + -0.441730939752, + -0.199267945709, + 0.707148590409, + 0.536908377373, + -0.132473223533, + -0.283813081033, + -0.217618672587, + -0.46974569866, + 0.00577475698766, + -0.0895421855907, + -0.305228309268, + -0.0625598033338, + 0.017160380127, + -0.574378321948, + 0.107368050367, + 0.112780277962, + 0.111416102793, + 0.245289960498, + 0.0923780362849, + 0.279973392297, + -0.149580072505, + 0.268941402897, + 0.539386753065, + -0.386513413443, + -0.163042259534, + 0.00559543725657, + 0.328116664434, + 0.146308723543, + 0.588957587079, + -0.0478700516524, + -0.485467939375, + 0.0343704194685, + 0.595018370575, + 0.474176011318, + 0.0550655425218, + -0.622999471693, + -0.176737243512, + -0.154261246103, + -0.0472515058486, + -0.206891709268, + -0.225991106995, + -0.124829709486, + -0.24557753648, + 0.0838336751524, + 0.342389999515, + 0.166150988816, + -0.343992258193, + 0.341384936742, + -0.163575541231, + 0.201385690409, + -0.405474969463, + -0.207324623735, + -0.387960984883, + -0.556936144977, + 0.0607087954601, + -0.28107115429, + -0.275950341665, + 0.133866916474, + -0.199572418598, + -0.515138982743, + -0.20391825592, + 0.73981896489, + 0.0210591524725, + -0.108814038413, + 0.264489222013, + 0.146180206419, + -0.69596643819, + -0.259824406873, + 0.174776040796, + 0.234168837643, + -0.321181301803, + -0.0375422318977, + -0.0808711281857, + 0.158876047919, + 0.464891474157, + 0.0751434718452, + -0.152245124827, + -0.119421276302, + 0.130735843343, + -0.185830652164, + 0.304310079409, + -0.287116543186, + -0.0789912151156, + 0.38031525377, + 0.0548713376727, + 0.369519054598, + 0.0918759520505, + -0.391512120399, + 0.429830679824, + -0.0467843159858, + 0.0443835953734, + 0.0419221068119, + -0.482599408635, + -0.0208525968248, + 0.23650139047, + -0.130157372828, + -0.194767433747, + 0.246304031912, + 0.0583443930129, + -0.26649982949, + -0.247927202555, + -0.0392177116743, + -0.00823616798944, + -0.292239161471, + 0.199818221481, + -0.058004022256, + 0.383317792599, + 0.189994622095, + -0.0388231241034, + 0.498643784969, + -0.163695437806, + 0.516532313759, + -0.134601798633, + -0.136662512115, + -0.42743338295, + 0.227495132647, + -0.408817156873, + -0.612632706303, + -0.179565905862, + -0.741217801936, + -0.297625120172, + -0.383145169898, + -0.0154631425655, + 0.0988480002801, + -0.317347529969, + -0.350709931331, + 0.332749595307, + 0.330497759354, + 0.16718106275, + 0.0822737322912, + 0.0970078862696, + 0.151294206848, + 0.132654185288, + -0.27005394854, + -0.777806950977, + 0.111262882167, + 0.203463036954, + -0.306239035461, + 0.119709370302, + 0.130019206769, + 0.345438880275, + 0.4245004299, + -0.341492643986, + -0.337678660338, + -0.231194937825, + 0.0492167991106, + -0.221673855182, + -0.283150106829, + -0.425693916113, + -0.192803845026, + -0.184360969085, + -0.209634283046, + -0.228022279123, + -0.163038398633, + 0.315165552126, + 0.737311484819, + 0.0525336848815, + -0.191365905899, + -0.125159383946, + -0.0950306173667, + 0.555023115308, + 0.162682719786, + 0.10756224405, + 0.0417918172741, + 0.158995894948, + 0.32221139753, + -0.142514749644, + -0.0198733495425, + 0.392679495623, + -0.149595912219, + -0.155067542922, + -0.185898678248, + 0.316498073125, + 0.147142721595, + 0.148675650833, + -0.253331843154, + -0.191104060368, + 0.107317146716, + 0.0616367897605, + 0.0987855737192, + -0.0556491968998, + 0.179706792423, + -0.126005218446, + -0.581768055757, + 0.292891184242, + -0.309026882851, + -0.716639664361, + -0.601179830391, + -0.698534414478, + -0.341744548194, + 0.293656604983, + -0.258441386599, + 0.407286472562, + -0.0382476563902, + -0.157940404077, + -0.0949535496946, + -0.0339288639384, + -0.555501593531, + 0.366430448666, + -0.0830284823111, + 0.118685283264, + 0.367070309855, + 0.541284309586, + -0.473434529872, + -0.258269918207, + 0.163111720109, + 0.235315910468, + 0.393494315634, + -0.141492586659, + 0.153811507851, + 0.211219502664, + -0.371848431188, + 0.167061642811, + -0.699466396839, + -0.0246153342802, + 0.0953333825657, + -0.114820549373, + -0.19526670356, + -0.526721476381, + -0.235315209096, + -0.281696555317, + -0.165559007892, + -0.0937939982332, + -0.00103911198804, + 0.22796730481, + 0.374901322448, + -0.0339786645343, + -0.00134029029298, + 0.0222600727226, + -0.248230983818, + 0.115361202762, + 0.818511146554, + -0.148830505565, + -0.214969671177, + -0.316394196285, + 0.351815988898, + 0.193969726325, + 0.379003898175, + 0.0378857693319, + -0.242960986981, + -0.00358126134439, + 0.352544522687, + 0.366156260107, + 0.00844566966449, + 0.609655556405, + -0.00798230861241, + -0.122167004498, + 0.473583958888, + 0.28546548172, + 0.134581669057, + -0.0375820354829, + -0.268387701141, + -0.463372357782, + -0.132915116877, + -0.0292903386411, + -0.0214291392169, + 0.0686495042411, + -0.0256584877657, + -0.00109456988572, + -0.538494283693, + -0.248637624452, + -0.396894755058, + -0.0102369375804, + -0.266842446465, + 0.271453641811, + 0.0224878701847, + 0.282412951506, + 0.663816987949, + 0.00494742831485, + 0.332900741628, + -0.0999032256675, + -0.348168188718, + -0.15637991559, + -0.235322973755, + 0.052316148649, + -0.425053708389, + 0.0409885003349, + 0.261702127661, + -0.388934851294, + 0.0933089949689, + -0.115726490781, + 0.0206357615107, + 0.142947615635, + -0.417064689877, + 0.72186348893, + 0.629863561455, + 0.0669914777401, + -0.033701425419, + -0.210975902247, + -0.362104793097, + -0.0526270354425, + -0.0402991790274, + 0.175632039135, + 0.187098225671, + 0.638429654362, + -0.357723911232, + -0.631197163772, + -0.0124038722536, + 0.129543956752, + -0.203049421918, + -0.240446826072, + -0.0595262093035, + -0.2138640028, + 0.0642954233882, + 0.207542656349, + 0.491141686174, + -0.000648540233197, + -0.540262158362, + 0.226599378338, + -0.20928474923, + 0.336733639386, + 0.346004936132, + 0.448531672994, + -0.144818016132, + -0.252650780658, + 0.558728038727, + 0.35681281242, + -0.151388757459, + 0.17657318338, + 0.102934814206, + 0.622519204887, + -0.127601355362, + -0.506189700333, + -0.178573960563, + -0.0392346756265, + -0.0189674682776, + -0.393504530545, + -0.284380411192, + 0.026616425187, + -0.277652191675, + 0.109340491836, + 0.447133239987, + -0.270797504471, + 0.0454008793134, + -0.623031754945, + 0.541634986908, + 0.229528526925, + 0.0149075484122, + 0.0318251896152, + 0.152712368131, + 0.257951063427, + 0.0889490751102, + -0.0296525073664, + 0.110994495764, + -0.115808543133, + 0.490828642707, + -0.213716058095, + 0.0844445157508, + -0.307426326391, + 0.407995288656, + -0.228347285708, + -0.71505587891, + -0.102030415902, + -0.713733111789, + 0.0668113256661, + 0.489232537297, + 0.0133516237962, + 0.0535239885999, + 0.00430561540991, + -0.365216278484, + -0.0353945290387, + 0.158723260787, + 0.0724282180473, + -0.0975634796181, + -0.302340420657, + -0.310957406254, + 0.271879098179, + -0.175822844336, + 0.187308238485, + 0.20013069474, + 0.316134911796, + -0.0776979564374, + -0.036232084526, + 0.19111466291, + -0.0874825381991, + 0.0195979695199, + -0.258972010475, + 0.136668958368, + -0.372883354582, + 0.00472979082686, + 0.0339861128387, + -0.0710965982249, + 0.0643592196997, + 0.307440904917, + -0.232361271977, + -0.441529445744, + -0.0785989615995, + 0.372332755988, + 0.000662952773861, + -0.0885972346151, + 0.118760731114, + 0.261203522278, + -0.314077153507, + -0.0447634125279, + -0.21815983243, + -0.0896797201743, + -0.139313595077, + 0.0772641706323, + 0.803894584313, + -0.250226582299, + -0.0178574578852, + 0.0765865035157, + -0.471845487055, + -0.51177854378, + -0.129394839731, + -0.358612018254, + -0.180477849132, + 0.200057313574, + -0.322009020582, + -0.550348333373, + 0.423804915839, + -0.262030616674, + 0.142657799901, + 0.172463078983, + -0.0120438588003, + -0.341011296499, + 0.0971862270557, + 0.186899936747, + -0.0854905807128, + 0.177111211405, + -0.141959383084, + 0.534049206145, + -0.221070373541, + 0.34502908773, + -0.0965328354161, + 0.0268962776053, + -0.0321591075232, + 0.963493839677, + 0.0533694065936, + 0.161856036443, + -0.06344344515, + 0.192606865779, + 0.123230605243, + 0.209455010539, + -0.0795351408106, + 0.0504206589367, + -0.25122796926, + 0.0465285094014, + 0.633639976249, + 0.271977233179, + -0.618712897687, + -0.304015981319, + 0.225920022694, + 0.0161040096757, + -0.448829718533, + 0.26266410629, + -0.0671473972052, + 0.496959872344, + -0.580412410147, + -0.116235792522, + -0.298904543594, + 0.928957581209, + -0.0124436293549, + -0.111206516266, + 0.286178341528, + 0.0372591659712, + 0.00343129734089, + 0.141935229328, + -0.624185567439, + 0.800510725531, + 0.244321630365, + -0.290324096864, + 0.0307814109032, + 0.0809478467897, + -0.0972160331947, + 0.63192091473, + -0.62599927194, + -0.176413082415, + 0.0048532051561, + 0.0846635050257, + -0.0151227148804, + 0.515719296715, + 0.281886942122, + 0.115875605205, + -0.431272125434, + 0.20410081241, + -0.286037165627, + 0.313501321797, + -0.332590805984, + -0.21841619127, + -0.537480132377, + 0.0492438850152, + -0.223247278827, + -0.328346817647, + 0.120863794157, + 0.303650677451, + 0.518429895776, + -0.0933216354088, + 0.278205308048, + -0.134999508685, + 0.501182772302, + 0.147196517059, + -0.0453668206541, + 0.186134150643, + 0.124320507428, + -0.350037469645, + 0.00648081884567, + -0.108539083665, + -0.225723331687, + -0.0493310598038, + 0.439387287054, + 0.507406415029, + 0.112608159005, + 0.385369871122, + -0.314933468791, + 0.0549305163406, + 0.585461007249, + 0.159777561121, + 0.500566543256, + -0.602926445132, + -0.382748841146, + 0.00322787594932, + 0.245357223135, + 0.146494901031, + 0.3610944356, + 0.32359085137, + -0.433573918153, + -0.289064734401, + -0.298824245152, + 0.436182954387, + 0.136136508792, + -0.243361356393, + 0.353534386101, + -0.384099301146, + 0.227241275103, + -0.1327580156, + 0.0609011364587, + -0.0103931247717, + 0.037432897755, + -0.14440584289, + 0.28085799564, + 0.101362551269, + -0.551116287871, + -0.17130110729, + 0.133194338447, + -0.362858729303, + 0.121290011545, + 0.040324855077, + -0.0940164690492, + 0.399892772222, + -0.135288931611, + -0.330450904527, + 0.148656598413, + -0.115487755534, + 0.292123625024, + 0.10070076711, + 0.203892368037, + -0.151951839977, + -0.337546440805, + -0.258195662241, + 0.167613463523, + -0.466987964251, + 0.260768627491, + -0.257487745378, + -0.505688497395, + 0.171732749983, + 0.132881971252, + 0.105590808475, + 0.261292345383, + -0.115896456843, + -0.65877480246, + -0.00475172154523, + -0.0489922420486, + -0.0511285686884, + -0.811518444776, + 0.157394011232, + -0.29156649356, + 0.17424586739, + 0.169130217571, + 0.305084906456, + 0.542289935765, + 0.442230106223, + -0.313709029188, + 0.315250061266, + 0.325049772254, + 0.204376281411, + 0.256372640856, + 0.160320585283, + -0.152331949897, + -0.163942680423, + 0.484258595275, + 0.345581040953, + 0.478663730477, + 0.413703027053, + 0.0310691299325, + 0.208278994229, + -0.398774271488, + -0.537083283435, + -0.215018382661, + 0.301502757166, + 0.045771566091, + -0.0339722461661, + -0.0137410912674, + 0.399356492621, + 0.00149888484411, + 0.291503066357, + 0.520600167953, + 0.147852248372, + 0.034071226604, + -0.140631155945, + 0.0629674128697, + -0.300022706615, + 0.136123073403, + -0.322907765461, + -0.689673086804, + 0.126179270809, + -0.227050097646, + 0.367256192009, + 0.210144391121, + -0.43108769464, + -0.550976484164, + 0.00252279801073, + -0.141012981588, + 0.102235579596, + 0.0617310506314, + 0.56381177653, + 0.232191786449, + 0.391369495071, + -0.202729222582, + 0.473262288154, + -0.0764052154473, + 0.393340598204, + -0.167209269263, + 0.0929027018041, + 0.188898745941, + -0.38193567148, + 0.526760219874, + 0.0708591062034, + -0.100523868209, + -0.461750791372, + 0.219248841265, + 0.41944946992, + 0.428099209706, + 0.137191114991, + 0.196228425995, + 0.00549665778617, + -0.331378406275, + 0.219568554926, + 0.207398775765, + -0.649619174289, + 0.305023804346, + 0.0687705749218, + 0.18139520171, + -0.342418152636, + -0.293693792628, + 0.807362841073, + 0.254699595401, + 0.337494777033, + -0.286603162473, + 0.793718714698, + -0.147350469286, + 0.100997359247, + 0.159040508447, + -0.482849010577, + 0.606965317471, + 0.187932658137, + 0.562264147601, + 0.0769192402846, + 0.321111304196, + -0.190422725519, + 0.110264208354, + 0.027724561497, + 0.143974082391, + -0.105401879935, + -0.428930565419, + -0.568584384633, + 0.670612454667, + 0.204303987908, + -0.152190196305, + 0.228151079892, + 0.190956639745, + -0.265699639406, + 0.116644139674, + 0.0683421157864, + 0.267425851407, + 0.216870666881, + 0.160117905086, + 0.0734056265828, + -0.463363157867, + 0.0935224764979, + 0.0403506871815, + 0.323163623933, + 0.140314656842, + 0.647315040245, + -0.764790572631, + 0.354959300155, + 0.680724045415, + 0.139575970027, + -0.183280328881, + 0.0649891097812, + 0.341965474615, + 0.284962555123, + 0.0929185346222, + 0.0677564444217, + -0.202180607075, + -0.026363882879, + 0.96025119605, + 0.119052935136, + -0.221432693062, + -0.0571555099151, + -0.109291269649, + -0.263828563236, + -0.407075262692, + -0.142916967402, + 0.621504414187, + 0.379218175906, + -0.183180629012, + -0.227868285992, + -0.0143810375238, + -0.372244448418, + 0.320043669857, + 0.0567668214499, + -0.418901645128, + 0.371446699783, + 0.464727154973, + 0.315851025098, + 0.190169281356, + -0.0474674254502, + 0.0839715081835, + 0.114584739407, + 0.0225963513454, + 0.0141846523671, + 0.653003724564, + 0.460123470118, + 0.000724973292004, + 0.0340715192757, + -0.193524983145, + 0.291518085372, + 0.277054622132, + 0.3831906134, + 0.0676819111879, + 0.00153397384356, + 0.410233129949, + -0.284197718329, + 0.124524925646, + -0.0212187004189, + 0.485865882159, + -0.319338523686, + -0.309296125754, + -0.394189666335, + -0.082218086353, + 0.242628862525, + 0.384236304554, + -0.323595821708, + -0.131149391866, + 0.238490021343, + -0.269115359329, + -0.199727248507, + 0.2521028785, + 0.35805571713, + -0.359991334842, + 0.0089778433202, + 0.215543324483, + 0.020442997455, + -0.0932807303561, + -0.0194770106799, + -0.347996124897, + 0.477670425325, + 0.16946862924, + -0.0748463445159, + 0.322416093715, + -0.284379263482, + 0.351485850427, + 0.275133298435, + -0.140335149498, + -0.169502473099, + 0.311420733898, + -0.128365691629, + 0.136057885059, + 0.30987365673, + -0.346320622138, + 0.548246033703, + 0.123814313429, + 0.104017129137, + 0.191079104484, + -0.0353552563969, + 0.0426530147906, + 0.210954411184, + 1.01838182802, + 0.0529356735747, + 0.0926774812629, + -0.0772875526935, + 0.35882301038, + 0.293403886373, + -0.0720667337799, + -0.00692780660425, + 0.238040183172, + -0.145602185067, + 0.222402131589, + -0.0861052040969, + 0.468784196571, + 0.194328064498, + 0.206915793873, + 0.454809703375, + -0.147026187244, + 0.767740107893, + -0.10117492877, + -0.277174461951, + 0.112251966207, + -0.0120533340785, + -0.0536130220773, + 0.43227125503, + 0.107152451438, + 0.307896046522, + -0.146310071493, + 0.000325157879376, + 0.47012038408, + 0.0319059318335, + 0.277531729853, + 0.0427911140052, + -0.09943605934, + 0.240353350745, + 0.608677123763, + 0.30662639209, + -0.0516774755387, + 0.148023607147, + -0.00305931684124, + -0.281886656069, + 0.416923437696, + 0.351414224303, + 0.157847890047, + 0.633655001348, + -0.576766988475, + 0.700845871578, + 0.607653700364, + 0.613820223483, + 0.140397240595, + 0.353986143512, + 0.106071277195, + -0.145734755416, + -0.253978442581, + 0.0598900759314, + 0.0113975038206, + 0.149895474713, + 0.262395211664, + 0.274302533812, + 0.288154637962, + 0.67185610335, + 0.234608335631, + -0.0151663004899, + 0.312552262596, + 0.17876159463, + 0.0962257453695, + -0.329326196935, + 0.13649641201, + 0.665427849573, + 0.0052698732702, + 0.475122251875, + 0.525331287435, + 0.333431708244, + 0.806835876945, + 0.306392192118, + 0.103664924917, + 0.264670569995, + -0.213467286999, + 0.0813232335846, + 0.593136861868, + -0.104070949051, + 1.09199443523, + -0.0344763512544, + 0.255803564244, + -0.147514543571, + 0.0521191738254, + 0.220033299832, + -0.404845036129, + 0.470514068767, + 0.178365513796, + 0.19380914082, + 0.395931460219, + 0.620230366078, + 0.405807045424, + -0.0392115721689, + 1.05240762235, + 0.405693173796, + 0.31052182856, + 0.28855893832, + -0.094656292081, + -0.316524091729, + 0.393149693595, + -0.16291800557, + 0.338801838683, + 0.217382754407, + 0.699023424911, + 0.312602259553, + 0.560632394131, + 0.286521358311, + -0.111145724168, + -0.22813394187, + 0.176233057808, + -0.242846440779, + 0.652060712482, + -0.114370249489, + 0.939048192792, + -0.0209696263152, + 0.0573748304081, + -0.36118957988, + 0.326032345091, + 0.343588601395, + 0.634046915977, + 0.477956339871, + -0.0385333044591, + 0.30414606475, + -0.163480072089, + 0.516260476336, + -0.105165615544, + 0.368385108508, + -0.035510923968, + 0.221057974301, + 0.123572673698, + -0.135268326692, + 0.156390521708, + 0.200566028491, + 0.29668765065, + 0.697213288449, + 0.50763252289, + 0.417678566532, + 0.154135774934, + 0.765651412646, + 0.470086592379, + 0.201480075488, + 0.095829704456, + 0.105647301737, + 0.244920377178, + 0.164238312296, + 0.191790630686, + 0.309371452256, + 0.421287855916, + 0.250917743956, + 0.150279746094, + 0.673074081054, + 0.549516096609, + 0.569636377527, + 0.371048271576, + 0.461909717594, + 0.53125043069, + -0.105357281521, + 0.681434074188, + 0.394351701298, + 0.299223908876, + 0.745051595343, + 0.630956800418, + 0.585232492447, + 0.149138687374, + 0.621784497559, + 0.274413042223, + 0.828569093005, + 0.25416316262, + 0.720756519779, + 0.68862294721, + 0.484764528848, + 0.488036618011, + 0.568028000715, + 0.447568663215, + 0.128845580361, + 0.104462900828, + 0.367685336284, + 0.640935555756, + 0.329886383682, + 0.246419290497, + 0.558799026438, + 0.513709890433, + 0.0175540748514, + 0.677955372319, + 0.970620214195, + 0.293606490298, + 0.28477264013, + 0.727990429773, + 1.24330498259, + 0.556975486167, + 0.151834633108, + -0.236495607262, + 0.523888373975, + 0.689343592198, + -0.15278161931, + 0.434506019428, + 0.967007367935, + 0.614539290319, + 0.484321305497, + 0.734255226728, + 0.261240524208, + 0.624644751686, + 0.421325419145, + 0.259064166957, + 0.285948101394, + 0.541051603702, + 1.51467107166, + 0.37250378877, + 0.257768097775, + 1.29680474452, + 1.17439676563, + 0.431890071028, + 0.416193348898, + 0.897176261041, + 1.0905459488, + 0.451446169578, + 0.607737174816, + 0.684136082041, + 0.542930193702, + 0.752884064698, + 0.877773565538, + 0.213346474652, + 0.0860812418435, + 0.778406766165, + 0.660952390691, + 0.611882732631, + 1.2077187536, + 0.604844553847, + 0.325210420542, + 0.919409808423, + 0.68847808765, + 1.16484189305, + 0.192221624291, + 0.653110302352, + 0.327338008293, + 0.439506798148, + 0.416117515606, + 0.702645651026, + 0.780744650712, + 1.01510261914, + 0.786606203922, + 0.72316198658, + 0.790253083973, + 0.920034046301, + 0.00653503441716, + 0.517117929629, + 0.449911268227, + 0.55458548624, + 0.389849437185, + 0.789803843652, + 0.470524868244, + 1.29197537054, + 0.998117076659, + 1.31434980816, + 1.16152384982, + 0.623465030871, + 0.616471212971, + 1.27977873285, + 0.974853560387, + 0.52109387351, + 0.452172574784, + 1.16161017475, + 0.662777129034, + 0.452170247378, + 0.754114908556, + 0.351541088136, + 1.0034610523, + 0.712894966355, + 0.59276069228, + 0.796308627937, + 0.652179844308, + 0.717331467248, + 0.361306235474, + 0.571443822698, + 1.15711445918, + 0.776957510283, + 0.78592171242, + 1.05670973463, + 0.764834232347, + 1.24995485944, + 0.731208680596, + 0.717079759185, + 1.35453447511, + 1.22934304199, + 0.564132444772, + 1.32916714833, + 0.745208890195, + 0.931565303449, + 1.11928616945, + 0.812814479035, + 0.559295095914, + 1.09514299767, + 0.67927644527, + 1.06808059257, + 1.07625188125, + 1.42655107178, + 1.62265714147, + 1.23340163875, + 0.657900893199, + 0.981142439293, + 0.920947627918, + 1.4623932293, + 1.39932279223, + 1.17994000043, + 1.02220562217, + 1.0810785881, + 1.0552604919, + 1.55850968109, + 1.36308213887, + 0.539534920287, + 1.1476014513, + 1.2518869469, + 0.822217550005, + 1.84157818693, + 1.04860079146, + 1.44595433639, + 1.32287279603, + 1.37644373084, + 1.86614025813, + 1.51105744244, + 0.924727647119, + 1.31187547697, + 1.82489256759, + 1.12485348336, + 1.02033933003, + 1.54675372473, + 1.12481931567, + 1.43781411763, + 1.04222534571, + 1.40233711227, + 1.6594617636, + 1.20906278605, + 1.13166424795, + 1.63158565092, + 1.26317561226, + 0.902273886744, + 1.1000291584, + 1.188264971, + 1.48574191882, + 1.55664508511, + 1.22264268323, + 1.73482768631, + 2.03112501513, + 1.3675266481, + 1.41708825041, + 1.53725716325, + 1.47010715591, + 1.3158979521, + 0.971654366638, + 1.7503393987, + 0.732604359699, + 1.39706114779, + 1.56385367099, + 1.33289292691, + 1.86899530505, + 1.47054586517, + 2.16697680404, + 1.60524359391, + 1.61536910391, + 0.937152751836, + 1.49903653683, + 1.38801880891, + 1.59583551564, + 1.19934669609, + 1.95642443691, + 1.56395479658, + 1.31544681472, + 1.17342438873, + 1.94708832983, + 1.59071763854, + 1.28894592604, + 1.40444163715, + 1.77905230984, + 1.96940347111, + 1.61314188292, + 1.96680306445, + 1.50869608991, + 1.27418286571, + 1.98204944467, + 1.87976006289, + 2.08282433134, + 1.78000664991, + 2.18847631672, + 1.30301866796, + 1.33523041582, + 1.85351349973, + 2.11556941203, + 1.61576520453, + 1.59834728055, + 2.14721293954, + 1.69322083096, + 2.65800422187, + 1.82823333811, + 1.60029581159, + 1.78219847377, + 2.19737174623, + 1.72394249039, + 2.04634360445, + 2.65539624846, + 2.13056382917, + 1.59095944028, + 2.12066527401, + 2.45099625307, + 2.1364347606, + 2.09216188492, + 2.14810208967, + 3.10264795154, + 2.2746357232, + 1.96228387311, + 2.45845239934, + 2.09836639799, + 2.3455880748, + 2.01712372253, + 2.72794096044, + 1.59737661276, + 2.4629965703, + 2.10465016344, + 2.61931675099, + 2.72485237543, + 2.7694002851, + 2.1671587715, + 2.25158116907, + 2.25924070447, + 2.59320111319, + 2.72828372007, + 2.92569257455, + 2.29523623628, + 2.77348828989, + 2.67182419084, + 2.31583598032, + 2.25483740652, + 2.38879681156, + 2.59717833055, + 2.74000381154, + 2.13480765764, + 2.50211221536, + 2.49097295833, + 2.10067795242, + 3.02703202546, + 2.54538916805, + 2.50646957448, + 3.06598293772, + 2.66666273711, + 1.86237808976, + 2.17914066916, + 2.66953945431, + 3.07233020977, + 3.03198520639, + 2.80242633366, + 2.50203273776, + 2.27194515901, + 2.59945909127, + 3.53299302491, + 2.96917973815, + 2.26259668342, + 3.34852670221, + 2.46804114021, + 3.12124600288, + 3.01555731052, + 2.54002563, + 2.57138244702, + 3.09782319591, + 2.67147277103, + 3.23891446072, + 3.0520070323, + 2.9028359987, + 2.92583639894, + 2.81674927307, + 2.83812864136, + 2.60702002745 + ], + "mode": "markers", + "name": "points", + "marker": { + "color": "rgb(102,0,0)", + "size": 2, + "opacity": 0.4 + }, + "type": "scatter" + }, + { + "x": [ + -1.19135367378, + -0.80989540227, + -0.925158804666, + -0.87760783274, + -0.51146935321, + -1.17957514063, + -0.401418220261, + -1.16183935054, + -1.11475081154, + -1.22853581376, + -0.592529542681, + -0.43889541224, + -0.602495595365, + -0.990669110038, + -0.544050558932, + -0.966319543401, + -0.742404606095, + -0.761971981579, + -1.20675028294, + -1.00477577758, + -0.481383102169, + -1.06112704596, + -0.757674558511, + -1.49815569515, + -0.970093584719, + -1.45254984021, + -0.576371884233, + -0.763406941577, + -0.780284124171, + -0.806043909481, + -1.55782557842, + -1.06434375708, + -1.31581468891, + -0.934525295676, + -0.888735643704, + -1.00872731608, + -1.3438472338, + -0.852218952389, + -0.371683097125, + -1.40320542743, + -1.0832056523, + -0.891090334561, + -0.798498677304, + -1.18624151422, + -0.938598836322, + -0.539133240628, + -0.913480647128, + -1.12361851539, + -0.910415167429, + -1.02319461744, + -1.07471542573, + -1.16720777925, + -0.993295733365, + -1.00852358867, + -0.818434616344, + -0.744391767723, + -1.12507674596, + -0.742197235594, + -0.81451542008, + -1.49006940204, + -0.457370819133, + -0.332094332449, + -1.1176381713, + -0.685073127085, + -0.786926212385, + -1.20598896074, + -0.713407846539, + -0.742377006164, + -0.62141792276, + -0.981492851317, + -0.770923853817, + -0.348012810767, + -0.998069394961, + -0.958035962316, + -0.665111325933, + -0.747991979091, + -0.446744435998, + -0.762137062821, + -0.643478406408, + -0.210678336658, + -0.328454834705, + -0.252863408144, + -0.775271437295, + -0.781159325916, + -0.878817686305, + -0.857326243909, + -0.431976934937, + -1.34450897918, + -1.10682503725, + -0.711020187579, + -0.842150840212, + -0.53066253457, + -0.417785420417, + -0.698471751472, + -0.605532341444, + -0.956364519927, + -0.757959473357, + -0.98731611084, + -0.362915429005, + -0.626373224718, + -0.381295921657, + -0.669227367462, + -1.35162201428, + -0.500320375896, + -0.92894912864, + -0.9470084272, + -0.951280704712, + -0.947229481546, + -0.865023951433, + -0.593243938738, + -0.547410115313, + -0.862082117158, + -0.96987866046, + -0.905987087726, + -0.404605638525, + -0.405332881411, + -0.572658386496, + -0.205625468925, + -0.872193534078, + -0.37744247924, + -0.613315924488, + -0.338737903404, + -0.74501079892, + -1.34221517759, + -0.154504118159, + -0.468062988679, + -0.56336122959, + -0.48157694381, + -0.143151817852, + -0.869588824529, + -0.579557514387, + -1.11592789851, + -0.876362802868, + -0.53320364861, + -0.340498919317, + -0.917659492801, + -0.499263733892, + -0.3104747395, + -0.534825842355, + -0.79168687442, + -1.04395586496, + -0.727757579127, + -1.29392901746, + -0.856085080792, + -0.389288678763, + -0.232567176757, + -0.812366222494, + -0.303510509979, + -0.180606944397, + -0.421086935007, + -1.20177040951, + -0.696555010949, + -0.6045892542, + -0.0531746343099, + -0.838611087964, + -0.375927824162, + -0.707820635893, + -0.472547901815, + -0.497928976328, + -1.01478101156, + -0.645511105508, + -0.587394982864, + -0.816969998617, + -0.573377638698, + -0.306091691779, + -0.445022339908, + -0.187125918025, + -0.991538036615, + -0.42926181917, + -0.0836789188442, + -0.193013270333, + -0.748006934716, + -0.606028707226, + -0.625166716385, + -0.238888014557, + -0.737029641206, + -0.814333080667, + -0.91690961036, + 0.125202292842, + -0.598522430464, + -0.363273877468, + -0.265005904528, + -0.55023851096, + -0.590315786584, + -0.742558086661, + -0.347205651014, + -0.315542648542, + -0.0511501712559, + -0.375678609587, + -0.44848027679, + -0.480506735012, + -0.634513449279, + -0.499436042048, + -0.377372400729, + -0.979504245361, + -0.228850821502, + -0.177322269152, + -0.993243529345, + -0.0834706631689, + -0.178292652993, + -0.423336614399, + -0.437489594692, + -0.387867078964, + 0.0359032544345, + -0.768400323361, + -0.880436293083, + -0.113434009833, + -0.156985461632, + -0.474975508261, + -0.534973518655, + -0.134487878512, + 0.256187865309, + -0.0953085265153, + -0.555594766333, + -0.837272447995, + -0.409021752419, + -0.760281212606, + -0.797614414686, + -0.431258146069, + -0.908206739304, + -0.359746353402, + -0.0697050500641, + -0.0169458943088, + -0.249397303667, + -0.186916145075, + -0.49546600706, + -0.626011000651, + -0.209598082338, + -0.611755095467, + -0.701846867205, + -0.588528378346, + -0.739044784952, + -0.743195020912, + -0.648526254769, + -0.0939483521405, + -0.328064660955, + -0.802859403674, + -0.670122188743, + -0.0788047108045, + -0.115589159147, + -0.0412229069184, + -0.129879658969, + -0.150322176973, + -0.457673152061, + -0.58282986866, + -0.128431856528, + -0.280004806329, + -0.147760442915, + -0.125994645226, + -0.351319127648, + -0.916986960238, + -0.0682023283687, + -0.369887858856, + -0.310110916539, + -0.417303598907, + -0.401821425308, + -0.0654416767524, + 0.0837918851735, + -0.298760158278, + -0.461214719893, + 0.0409868012426, + -0.179163337758, + -0.480056286711, + -0.214327607809, + 0.0666088918964, + -0.0642578583873, + -0.588495024071, + -0.333334771365, + -0.732590956163, + 0.0646945023666, + -0.452521277814, + 0.00187401454126, + -0.431848482619, + -0.52705814528, + -0.50805102327, + -0.188526523792, + -0.387118866173, + -0.218075835362, + -0.521755687113, + -0.487507541963, + 0.29333099797, + -0.652457885382, + -0.503657873063, + -0.0593586418365, + -0.507547871741, + -0.346414799302, + -0.199616570882, + 0.043799436223, + -0.249310266621, + -0.0696223049976, + 0.216258615773, + 0.179590046404, + -0.268291470073, + -0.0726955234052, + -0.266086636369, + -0.45321832241, + -0.380589204893, + 0.0849131342107, + -0.267797909958, + 0.0643343240858, + -0.66964184137, + -0.515411428621, + 0.0684760613136, + -0.146478678563, + -0.416205681858, + -0.83098834909, + -0.725868612635, + 0.119365847099, + -0.0954378087244, + 0.0920794028818, + -0.0392517721198, + 0.0445528273561, + -0.414402497179, + -0.258815616515, + -0.478076131055, + -0.49710114898, + -0.318258703027, + -0.240497642309, + -0.147983756068, + -0.292952083077, + -0.410054376636, + 0.169142127399, + -0.699050261513, + -0.200237281792, + 0.197956462189, + -0.15202393118, + -0.722133735535, + -0.465721105987, + -0.285254489895, + -0.496592731249, + -0.344438874787, + -0.182172671133, + -0.222715500031, + -0.23273380159, + -0.10581486955, + -0.567800633852, + -0.269075930778, + -0.192718803442, + -0.703425114984, + 0.00149398546997, + -0.659867123557, + -0.472730872244, + -0.516057526798, + -0.421011682873, + -0.760942799303, + -0.0992656221964, + -0.681315761021, + -0.0601557252497, + -0.486645256605, + -0.655160021725, + -0.273061296311, + -0.176444193885, + 0.157325706089, + -0.148781341998, + 0.047790898396, + -0.098647803393, + -0.179633408155, + -0.538101159545, + 0.470759769586, + 0.00697928358721, + 0.282091559658, + -0.290912826109, + 0.153999006273, + -0.278279476158, + -0.452187088574, + 0.0818493913191, + -0.392381375946, + 0.00786063447283, + -0.354022952017, + -0.15875369511, + 0.0595993118041, + -0.149106224832, + -0.946526026507, + -0.147262595371, + 0.0188733279786, + -0.486012986434, + 0.468892419733, + -0.0255097586154, + 0.167727012362, + -0.0634299114357, + -0.141436098323, + -0.0343921491763, + -0.0144164665342, + 0.118361021003, + -0.394661349125, + -0.475782241563, + -0.337388130346, + 0.185511362969, + -0.241866098332, + 0.255421706515, + -0.152430994918, + -0.708539265764, + 0.0947223382126, + 0.0765117661216, + -0.357792879549, + -0.352146670158, + -0.210204123446, + -0.751706432018, + 0.303672190883, + 0.00050174509462, + -0.513495867459, + -0.0682437606033, + -0.0135104540718, + 0.0631202188709, + 0.08167607506, + 0.0192124724736, + -0.215758248082, + -0.392485804018, + -0.51959779115, + -0.723237932736, + -0.299522971408, + 0.227338090169, + 0.123793659909, + -0.0573294976281, + -0.289504566444, + -0.341724591535, + -0.116585276423, + -0.341705274087, + -0.380633967224, + 0.0273683325878, + -0.305979550523, + -0.0820969766266, + -0.158350207107, + 0.132538481499, + -0.0243086219284, + 0.0866660948003, + -0.285908910484, + -0.165308626059, + -0.207671046831, + 0.0428814927132, + -0.752145091757, + -0.837324041459, + -0.274435578823, + -0.528294104662, + -0.239734165383, + 0.24880804911, + -0.0762859216464, + -0.357203583315, + -0.0973632551199, + -0.530197503041, + -0.0636309860897, + -0.382219599884, + -0.359867911142, + 0.676109523542, + -0.732849891257, + -0.315582479856, + -0.119894362467, + 0.367229600453, + -0.349632890692, + -0.394222965779, + 0.062733115263, + 0.095347541381, + 0.358739592031, + -0.347205689436, + -0.455756869216, + -0.21455941705, + -0.018355190646, + -0.117181313624, + -0.12936444109, + 0.218450994811, + -0.0266384643863, + -0.126250405431, + -0.32352931943, + 0.119914647848, + -0.635663219347, + 0.446417977493, + 0.322889539183, + -0.32341595554, + -0.159694741723, + -0.000920684658562, + -0.18515448334, + -0.529224184143, + -0.30920100643, + -0.0807547496362, + 0.0083411150766, + 0.093036841578, + -0.56276561686, + 0.415094706323, + -0.427866381473, + 0.0867371191597, + -0.425319185365, + -0.117917745028, + -0.200432749888, + -0.184199306974, + 0.0466752392136, + -0.37923770405, + -0.264388865231, + 0.114831869293, + 0.606838233269, + -0.0840846691926, + -0.171458058636, + -0.217417244561, + 0.211396562645, + -0.115220714293, + -0.225410413316, + -0.236539403577, + -0.431712655117, + -0.40043309762, + -0.167843469574, + -0.278920139837, + -0.273743304997, + -0.0129005279734, + -0.0480228435703, + -0.30669902063, + -0.124184779236, + -0.43987145949, + 0.441109325734, + -0.381071561808, + -0.010256882341, + 0.257523528461, + -0.625025420995, + 0.246134478623, + -0.114346964225, + 0.132064676675, + -0.0333069273585, + -0.0962803011569, + 0.323702769148, + -0.219676814751, + -0.435541800416, + -0.282350612921, + 0.0945698261817, + -0.146723683563, + -0.305066494512, + -0.247480208963, + -0.193653529159, + -0.1647221428, + 0.146549925264, + -0.160683500042, + 0.236707508024, + -0.34583351183, + -0.232016296133, + -0.320764763893, + -0.192817053495, + -0.339810153259, + -0.23473225583, + -0.0793945449217, + -0.0828887080015, + 0.0385788966512, + -0.80684119366, + -0.210169618061, + -0.316840014073, + 0.200830533799, + -0.131113014899, + -0.66111337767, + -0.0173465601361, + -0.292357430889, + 0.0627152801907, + 0.479810068942, + -0.55096114455, + -0.398627836838, + 0.139260233217, + -0.151048302899, + -0.224802643594, + -0.614935519577, + -0.316709027695, + 0.484400512569, + 0.150520666689, + 0.335240972167, + 0.133289167759, + 0.341902548673, + -0.0484056680416, + 0.0275021664581, + 0.123151627609, + -0.228032134566, + 0.0144223601186, + -0.154960086559, + -0.305249623632, + -0.291721269332, + -0.41855277202, + -0.326252721105, + 0.175611917491, + -0.564700962124, + -0.163840043891, + -0.222211867876, + -0.152585039264, + 0.510753591373, + -0.211351596819, + 0.288908919139, + 0.115697853351, + -0.273753140125, + -0.0604490543128, + 0.0965428271609, + -1.0039116105, + -0.286264917357, + 0.070103472738, + 0.303178930022, + -0.202704131932, + 0.0251795325152, + 0.409689480989, + -0.258780166004, + 0.261138124434, + 0.00901456124037, + -0.104063587425, + 0.317363181144, + -0.455572141893, + -0.53436692428, + 0.112482030583, + -0.579337050673, + -0.270255915433, + -0.197006054342, + -0.678363951146, + -0.375823549518, + 0.0996542613761, + 0.0579399608972, + -0.291986960898, + -0.332394202862, + 0.0248556566456, + 0.0781675939344, + 0.00543640168091, + 0.241408254884, + -0.0116647695811, + -0.436155422587, + -0.141685842047, + -0.0556084898602, + -0.541790715567, + 0.330534481002, + 0.150075717805, + -0.291867998496, + 0.0388547687461, + 0.066174485449, + -0.195600723385, + -0.0478082264031, + 0.0580312179716, + 0.0000849638101149, + 0.210862125531, + 0.176483853277, + -0.189242551585, + -0.616887540776, + -0.5130666759, + 0.580687834058, + 0.436337687656, + -0.155555921104, + -0.0507910982818, + -0.462026629076, + -0.061209771324, + 0.13714088749, + -0.243400685872, + -0.0728598538998, + -0.0455896053393, + 0.236724767056, + -0.271748525513, + 0.363351708765, + 0.00321539324397, + -0.393579952457, + 0.00111930238007, + 0.044751746023, + -0.331739271561, + 0.0546314980786, + -0.262427693426, + -0.387379137482, + -0.598872528347, + -0.00208209147732, + 0.20867255083, + 0.342661720147, + -0.123812258102, + -0.347497502803, + 0.211690518537, + -0.0369538805502, + -0.101642513344, + -0.514351417759, + 0.25946587855, + 0.337155209667, + 0.0353093142018, + 0.254171734868, + -0.00885172335769, + 0.00667283486279, + 0.0985896253693, + -0.459496439621, + -0.186750765445, + -0.169047076532, + 0.0486291034378, + 0.280323305652, + 0.345825938655, + 0.398011528234, + 0.110409892018, + -0.401082095829, + -0.200763578573, + -0.506140115094, + -0.0853994928239, + -0.124972532982, + -0.0722483067074, + 0.108349380919, + -0.0308624552808, + 0.265662632283, + -0.275173157869, + -0.298687997797, + -0.248975984442, + 0.314155814452, + -0.156797479108, + 0.588937914051, + 0.00913339818521, + 0.231051775406, + 0.0759203741183, + 0.128593397038, + 0.217338711025, + 0.305047000719, + 0.0750524610939, + 0.103742650734, + 0.238970021357, + -0.526813737125, + -0.0968849039039, + 0.223394122561, + -0.585511535454, + 0.136863516373, + -0.0671048868047, + 0.270008215096, + -0.0978533804993, + -0.100505946012, + 0.324510815626, + -0.0136994830976, + -0.151695646832, + 0.33735762683, + -0.525500886485, + 0.234405616641, + 0.141631244156, + -0.238247513507, + 0.0154845130683, + -0.545778083975, + -0.262350689114, + -0.0895612576352, + 0.555609133354, + -0.103049446692, + -0.116495095349, + 0.445974315123, + -0.283613853956, + -0.11284964095, + -0.43510334591, + -0.0307632060173, + 0.227351442264, + -0.133682588731, + -0.130166313296, + -0.189781540487, + -0.336892797674, + -0.561341544105, + 0.468575416458, + -0.52785476207, + 0.0836719781697, + -0.187430911798, + 0.297294009792, + 0.202290452653, + 0.118980719079, + 0.422397346159, + 0.410544874459, + 0.83899288922, + -0.140417107808, + 0.0325785903962, + 0.0231557933716, + 0.185284717282, + 0.137094210787, + -0.296208530477, + -0.401116505279, + 0.244160743332, + 0.0159801016478, + 0.0653760476988, + -0.233105300989, + -0.019979141975, + -0.400259526, + 0.379735283518, + 0.138779753555, + 0.329509814932, + 0.582887989653, + -0.425053379924, + 0.250684405386, + 0.122280365022, + -0.350310307869, + 0.249770890486, + -0.368483401823, + 0.0838904984214, + 0.1559845851, + -0.302336453024, + -0.813298778244, + 0.505582726337, + 0.439775606116, + 0.757681422666, + 0.32037421082, + -0.499453248206, + -0.0807282965582, + -0.11499441908, + -0.28127951713, + -0.336393953653, + 0.152591431207, + -0.134206118719, + 0.356826176621, + -0.0711225676897, + -0.0231414190216, + -0.838846530246, + 0.194394489854, + 0.210848814286, + -0.284100211897, + -0.154704273285, + 0.128038904044, + 0.117654917275, + 0.143051953626, + -0.137693822142, + 0.0401470831961, + -0.0836702464699, + -0.559557494709, + -0.429624750811, + 0.226258343562, + -0.129615995069, + 0.12589719058, + 0.0163146913938, + -0.180664458083, + 0.318585247497, + 0.171999731099, + -0.293944242925, + 0.685187283697, + 0.0910195788297, + -0.612089557562, + 0.102540460265, + -0.0332360409378, + -0.611924043575, + -0.090061815255, + 0.197422125894, + -0.437780453076, + 0.0100196221381, + 0.79548843861, + -0.167184871467, + 0.0907830884498, + -0.272475735432, + 0.256327762144, + -0.0944207729951, + 0.356999691317, + -0.292595815835, + 0.450172790429, + -0.0879719035327, + -0.463215510637, + -0.17210461229, + 0.0755485147146, + -0.0196942804073, + 0.129312377011, + -0.203875329709, + 0.162368868391, + -0.00340445556973, + -0.171968385786, + -0.104917932493, + 0.19003579863, + 0.803390871168, + 0.140797222948, + -0.113667716743, + -0.225648212174, + -0.41658060355, + 0.148496177866, + -0.245223409681, + -0.212045037634, + -0.273715306554, + 0.0586326027761, + -0.209186669154, + -0.307024292504, + -0.128614158982, + -0.12958725156, + 0.197018467819, + 0.0762195243649, + -0.282688324249, + 0.510296307573, + 0.17942223049, + 0.0383683570954, + 0.0962041484363, + 0.00875315270551, + -0.155332966454, + -0.0297246533167, + 0.157746283923, + -0.168464667464, + 0.170879478843, + 0.477431192049, + -0.0952240888658, + 0.208116037147, + 0.316909347673, + -0.27632218974, + 0.0530365658804, + -0.0236717633168, + -0.328514201592, + 0.0969486898694, + 0.312906865288, + -0.34255621396, + 0.176150047021, + -0.228577138372, + 0.287942669864, + -0.640328276618, + -0.161695908841, + -0.312108100275, + -0.00558865872818, + 0.18511896352, + -0.0255537664455, + 0.0731308235112, + -0.0921654980273, + 0.177329974819, + 0.147534854912, + -0.073194283383, + 0.190977353506, + -0.101759595819, + 0.10172207452, + 0.0676630933452, + -0.529779772547, + 0.0211788458584, + -0.0592627292774, + -0.00410965148025, + 0.489616981085, + -0.660998522068, + -0.0483173520289, + 0.0527836656231, + -0.335968021967, + -0.278093867206, + 0.0955757085784, + -0.0828714659638, + -0.250671647361, + 0.499255341743, + 0.177223079624, + 0.113621125514, + -0.169726671856, + 0.192193096101, + -0.737188986318, + 0.234889972003, + 0.265548448408, + -0.223080846034, + 0.322786906627, + 0.164117217437, + 0.043929815193, + 0.125433623586, + 0.118513689462, + 0.294041814848, + -0.256669274552, + 0.135587036437, + 0.574639757137, + -0.0406343402632, + -0.130136234502, + 0.225531550217, + -0.134127263765, + -0.917875059147, + -0.158508958819, + -0.0275205685044, + -0.0475982623286, + 0.697997906371, + -0.709213889168, + 0.226496864801, + 0.321008847288, + -0.208185155977, + 0.0439335031534, + 0.296880790602, + 0.198523123676, + 0.113044378791, + -0.475140358636, + -0.0539969184274, + -0.194506994113, + 0.118542515101, + -0.0835159869162, + 0.440623091287, + -0.519977307968, + -0.0962711284438, + 0.13764103895, + 0.0941191249761, + 0.436001369777, + -0.238717199103, + 0.0607881510739, + 0.131443899458, + -0.365125196586, + -0.32007395013, + -0.202347619026, + 0.442922671754, + 0.11735469862, + 0.241674463338, + 0.427937344678, + -0.241747763743, + 0.0456843303988, + 0.156565192694, + 0.0739776199681, + -0.257470936337, + 0.0276603820499, + -0.26864371662, + -0.0612444179423, + 0.0155906308716, + 0.111907849882, + 0.442422035681, + 0.234070487245, + -0.117221275614, + 0.171927520854, + 0.114133060263, + -0.111428582758, + -0.573340823559, + -0.149734923157, + -0.302474093389, + 0.217749343355, + 0.458911814024, + 0.282510448805, + -0.330308346164, + 0.210990788921, + -0.224447866977, + 0.0343429651954, + 0.119434430628, + -0.173730940073, + 0.29994643864, + 0.249636971158, + 0.325063958604, + 0.0281502285555, + -0.345387810533, + -0.0366964494252, + -0.0163079411626, + -0.0673124930164, + 0.373689593844, + 0.054399547869, + -0.281250135196, + 0.0732683878375, + -0.201729414513, + -0.019880974051, + -0.0643202341666, + -0.237868186507, + -0.335117032503, + -0.106678581186, + 0.181335294188, + 0.215940716362, + 0.0132612792814, + 0.247980996895, + 0.307049178831, + 0.442555685549, + -0.0731032181992, + 0.27593297332, + -0.358924711633, + -0.436083438032, + -0.339564169995, + 0.00197384390122, + 0.0390397433053, + 0.266213125588, + 0.58365871518, + 0.285815577065, + -0.0185020020416, + 0.0681939719893, + 0.195648121923, + -0.197338050297, + 0.0765331792103, + -0.128958764661, + 0.119086176053, + 0.00282454321406, + -0.312947206315, + -0.695964401167, + 0.553239774023, + -0.0376879201897, + 0.0746397518185, + -0.176950259932, + -0.539628816011, + 0.516822108129, + -0.0622217985455, + 0.150926764091, + 0.0105252148421, + -0.0399099182141, + 0.241303517604, + 0.149541831072, + -0.10893577126, + 0.290634236282, + 0.241512343063, + 0.12203163533, + 0.0542806812104, + -0.502567942781, + -0.454161777539, + -0.199479307882, + 0.438411665049, + -0.0641438807352, + 0.00594461911697, + 0.239920358582, + -0.41998733054, + 0.371973299782, + 0.588003757256, + -0.262176941033, + 0.173621192572, + -0.25766576834, + -0.00965134256269, + -0.223307469429, + -0.356565589984, + -0.547550930495, + -0.143957201672, + 0.200328892021, + 0.500515827125, + 0.139532730512, + -0.543648406397, + 0.107904823323, + -0.0356731632355, + -0.0708056100558, + -0.511627016889, + 0.165933002149, + 0.619878225607, + 0.116931235693, + 0.345863463859, + 0.0517921868435, + -0.227110996032, + -0.332289758136, + -0.437738102645, + 0.00408070682058, + -0.210225019182, + -0.706774085568, + 0.266253898061, + 0.307942412599, + -0.339109940764, + -0.752690007293, + 0.177559825543, + 0.14747008255, + -0.0425676491291, + 0.157885178461, + 0.104164775971, + 0.387627860985, + -0.707867528286, + 0.334999096451, + -0.189684258708, + 0.572253554318, + -0.137323556885, + -0.19114713855, + -0.0688812083589, + 0.23351459852, + 0.392166474454, + 0.336396189118, + -0.380858373114, + 0.20508502413, + -0.25853384522, + 0.0530446418702, + 0.0681919588066, + 0.148177885756, + 0.240202152085, + 0.185186218601, + -0.213638399254, + -0.342717973358, + 0.152967439734, + -0.514902498319, + 0.243831772953, + -0.314853254444, + 0.149778402644, + 0.0466057025477, + -0.0481525976904, + -0.108658987573, + -0.419283102067, + 0.396228113786, + 0.198734513953, + -0.314060288959, + 0.0204589878278, + 0.0390433530684, + -0.163529556693, + -0.0248469139999, + 0.0827430352635, + -0.385160839068, + 0.190355620369, + 0.734164602564, + 0.385362784494, + -0.0745966822104, + 0.445076205239, + 0.0321274976509, + 0.0612078853499, + -0.0221726101469, + -0.195237127187, + 0.109911393427, + -0.212841741942, + 0.0791356462832, + -0.209871066639, + -0.123012301344, + -0.00477279105379, + -0.0361132859132, + -0.5366574356, + 0.0617332497372, + 0.204923416937, + 0.199909195072, + 0.130106472837, + 0.0637009544758, + 0.0990587525174, + 0.125143769129, + -0.231967013973, + -0.756104944965, + 0.411061327646, + -0.00120166481615, + 0.0178389817873, + -0.0198600319551, + -0.119465104176, + 0.294216946987, + -0.196086458215, + 0.378339666513, + -0.332729311165, + -0.302519191423, + 0.166620706661, + -0.28641018466, + 0.10831007804, + 0.24896644621, + 0.452718429403, + 0.231927473009, + -0.478445403976, + -0.256712872314, + -0.430090235381, + 0.0376316359898, + -0.28381847539, + -0.367661611668, + 0.0877064333425, + 0.376750784251, + -0.265560654647, + 0.501181497381, + 0.108032149009, + 0.889711415547, + -0.137525983149, + 0.134708662242, + -0.119213498324, + -0.137377924061, + 0.19946584583, + 0.20501999232, + 0.575311534307, + 0.307794811402, + 0.139171914562, + 0.356485953565, + -0.315761592406, + -0.210584241272, + 0.392558448326, + 0.241199260719, + -0.147875910219, + 0.112497602132, + 0.179914814888, + -0.0229983132652, + -0.397803354683, + 0.0671250322881, + -0.331323687431, + -0.00912602706332, + 0.334527896269, + 0.205953475887, + -0.0234617894485, + -0.253416488078, + 0.00583198173737, + 0.451965496671, + 0.165643675439, + 0.281642160743, + 0.0748306941871, + 0.702511267951, + 0.350164048778, + -0.0207171017099, + 0.35984049302, + -0.0726923355015, + 0.0302373164135, + 0.0401325474357, + -0.0379731780604, + -0.255532767225, + -0.278660772664, + -0.139171356288, + 0.343988609434, + 0.400045852442, + 0.0391050092126, + 0.0869111313014, + 0.122449955787, + 0.150959641768, + -0.15990891272, + 0.0160108959812, + -0.148992391859, + -0.0107758097286, + 0.326746851849, + 0.0460898055773, + -0.745788977551, + -0.32524348583, + -0.327433874558, + 0.130470876216, + -0.329628459927, + -0.330464310425, + -0.198990335733, + -0.158585846199, + 0.0226292641789, + 0.169445490883, + -0.103529163554, + 0.207200055765, + 0.0611726352167, + -0.0913039242659, + 0.343145918842, + 0.0119649160912, + 0.150188551554, + 0.219424706567, + 0.154683380898, + -0.0283950822091, + 0.625517112525, + -0.111131025284, + 0.131077324556, + 0.384626572335, + 0.040990805625, + 0.244877888818, + -0.472381432844, + -0.157368813469, + 0.055396454516, + 0.390699709925, + 0.165143065213, + 0.184998840495, + 0.287459019165, + 0.336639465269, + 0.333387087283, + 0.0528129607628, + 0.240339309265, + -0.262063296851, + -0.283110443776, + 0.0136420406289, + 0.167731809827, + 0.356346996689, + -0.0765016359879, + 0.391493953251, + -0.0630058956113, + 0.0745304449461, + 0.596222608149, + -0.243341219837, + -0.200244421222, + 0.0236231142023, + -0.0380332736732, + -0.136528905352, + 0.849841716491, + 0.483117275117, + 0.483071903054, + 0.236816725832, + -0.0877016097925, + -0.198849713175, + 0.0466306531206, + -0.0301779519697, + -0.669582112462, + 0.604692440069, + 0.337833454047, + 0.0795558977701, + -0.0870327641076, + -0.0171336296122, + 0.0762582953265, + 0.398458247808, + 0.144000961383, + -0.129076290781, + 0.654224951592, + 0.946824064275, + 0.00883670493073, + 0.0723593417974, + -0.00926134842245, + -0.149870621907, + 0.149386511946, + 0.0371237757845, + 0.657029499902, + 0.493098299946, + 0.0587914474409, + -0.405821759181, + -0.182329954439, + -0.216274308297, + 0.569920240556, + 0.293891122521, + 0.0451597236263, + -0.27085159243, + 0.212511374238, + 0.325038666916, + 0.161286614271, + -0.138355560198, + 0.0313363280993, + 0.290431694104, + 0.171537284357, + -0.193279249717, + 0.298074938405, + 0.378722826511, + 0.0827504635306, + -0.16688630569, + 0.0102853021697, + 0.362829335614, + 0.24220061619, + 0.449517326386, + 0.170559248039, + 0.490123827701, + 0.250879258179, + 0.285932030997, + -0.0739778740296, + 0.102257802629, + -0.32459096433, + 0.270067477768, + -0.161672119435, + -0.0966975672494, + -0.00139797947837, + 0.0688232304139, + 0.171232534373, + 0.362531827399, + -0.0493624909231, + -0.582594813359, + -0.184499259733, + -0.0580714142616, + 0.274822457899, + 0.461765536712, + -0.0942197152278, + -0.0740275694596, + 0.464980895012, + 0.3744176828, + -0.297899143985, + 0.278340883023, + 0.166263046813, + -0.123518461853, + -0.241375644537, + 0.700138624804, + -0.207351570172, + 0.54262199023, + 0.0504709608346, + 0.177050121803, + 0.0768182557539, + 0.270115367083, + 0.702981235552, + 0.0458715929153, + 0.50781491875, + -0.17987227472, + 0.243046525929, + 0.344830890972, + -0.327152937323, + -0.0163151262048, + -0.204070623997, + 0.167383101548, + 0.0520900117659, + -0.289746089936, + 0.370835347612, + -0.22106626109, + 0.71349926576, + 0.298336035023, + 0.340857605676, + 0.169403522413, + 0.441908759225, + 0.0388038442397, + 0.072783783723, + 0.696843369097, + 0.546458528808, + 0.547175674341, + 0.761523294965, + -0.0938650877598, + 0.0918351189311, + 0.599514199765, + -0.181457858582, + 0.538509640706, + -0.355421241481, + 0.136713674944, + 0.508328627754, + -0.476262398017, + 0.22593294104, + -0.220834461505, + 0.361612427822, + -0.204115546657, + 0.420050760489, + 0.138319966911, + 0.272335399297, + 0.177680623374, + 0.311499042797, + -0.017826721055, + 0.388055452832, + 0.603236701294, + 0.116836461312, + 0.160522605245, + -0.514190645612, + 0.300956472986, + -0.137887647125, + 0.441411988539, + -0.0066129626654, + 0.487800083166, + 0.0909370291456, + 0.527284160093, + 0.105079630996, + 0.0617405085786, + -0.195843373329, + -0.118960693362, + 0.249640844802, + 0.796865076978, + -0.0330337923031, + -0.104212489171, + 0.257292502696, + 0.558313672984, + 0.219054734464, + -0.0561029237627, + 0.659262100888, + 0.0339585263205, + 0.550715213607, + 0.312441834183, + -0.306097659683, + 0.519345366615, + 0.148227250176, + 0.322224963362, + -0.184292571206, + 0.254347252911, + 0.248586000224, + 0.174216377853, + 0.251486381611, + 0.209387150177, + 0.693914444904, + -0.0498059636847, + 0.280546423054, + -0.0979564011935, + 0.381982732182, + 0.264122597126, + 0.563390400357, + 0.31512988223, + 0.422172658101, + -0.0158852986109, + -0.00932571597003, + 0.16482826548, + 0.24710507505, + 0.432082044492, + 0.378007551706, + -0.118945421588, + 0.444658580642, + 0.219907873818, + 0.886122548269, + 1.10953721601, + -0.453075551421, + -0.028687335687, + 0.399694963446, + 0.624948061864, + 0.176653396316, + 0.414213479212, + 0.354364114871, + 0.154644372851, + 0.129284565006, + 0.597048571661, + -0.0985434720048, + -0.21580778762, + -0.110298465877, + 0.497898879023, + 0.0290393132821, + 0.242449981961, + 0.163441128326, + 0.347325731566, + 1.17799903007, + 0.156185241978, + 0.601482106279, + 0.352871145956, + 0.0468123060371, + 0.481458075834, + -0.278398675214, + -0.245019663736, + 0.67237970864, + 0.331479952036, + 0.0494138271299, + -0.362297663396, + 0.733395012527, + 0.477535282366, + 0.206681234505, + 0.240857542086, + 0.549164304819, + 0.536978276837, + 0.443112205231, + 0.756129359431, + 0.924050894485, + 0.285098087199, + 0.115270680623, + 0.157000312225, + 0.452880880575, + 0.0170567762705, + 0.268932123755, + 0.36843948358, + -0.450676457022, + 0.860323423916, + 0.091322050349, + -0.0637040030499, + 0.318506961762, + 0.43391951377, + 0.436554996882, + 0.233038729, + 0.501325920865, + 0.228223560073, + 0.251881058691, + 0.248429087063, + 0.473598261663, + 0.392715755593, + 0.147755534034, + -0.268630674588, + 0.72540126066, + 0.425750816551, + 0.657509261484, + 0.384841406971, + 0.0192592705212, + 0.386054741553, + 0.346773045855, + 0.576407790785, + 0.0488951930226, + 0.0555852598323, + 0.315092869311, + 0.618047548558, + 0.784124042259, + 0.430086062059, + -0.0701380984036, + 0.433178928013, + 0.344378455015, + -0.0286496915042, + 0.364301102306, + 0.484912905208, + 0.824468678568, + 0.307437414102, + 0.108759185533, + 0.190474749389, + 0.548242041113, + 0.276722424459, + 0.701758620157, + 0.30541292431, + 0.32101754489, + 1.08365020507, + 0.740749547082, + 0.640744498656, + 0.795630741761, + 0.765137138556, + 0.256660943679, + 0.0906429933848, + 0.356284659497, + 1.44521617714, + 0.151774969644, + 0.676471712029, + 1.01135404929, + 0.345252516335, + 0.519366777595, + 0.541388158704, + 0.373607478697, + 0.171804998959, + 0.163623938073, + 0.578772194587, + 0.853212066894, + 0.729925969659, + 0.477194529646, + 1.14879775942, + 0.286671774202, + 0.487017197952, + -0.151756399147, + 0.011162145632, + 0.0242201403285, + 0.19486189468, + 0.146677217959, + 0.941538591988, + 0.480452112006, + 0.98938462865, + 0.485268463107, + 0.885613965288, + 0.466887106232, + -0.0123987300925, + 0.966306771319, + 0.351899040244, + 0.347773584249, + 0.509239005689, + 0.596878613203, + 0.149425688966, + 0.324788797106, + 0.0729090183224, + 0.491741772434, + 0.51252904314, + 0.0381160561583, + 0.267352751905, + 0.348484842162, + 0.442371637055, + 0.589408666005, + 0.575937937527, + 0.60131735028, + -0.354144152664, + 0.931537065157, + 0.241814017504, + 0.683093286271, + 0.187683593789, + 0.807608198902, + 1.0989055685, + 0.269008766803, + 0.529974207757, + 0.517324980167, + 0.96121601012, + 0.577925934342, + 0.748228052265, + 0.772267464828, + 0.512694627835, + 0.798084693337, + 0.804367971235, + -0.0209476922623, + 0.0552848803472, + 0.86721428767, + 0.371502321177, + 0.990960709781, + 0.547789006763, + 0.797843508832, + 0.852936291051, + 0.568996365556, + 0.519905414674, + 0.776886211867, + -0.0508252917084, + 0.406816881954, + 0.622308430896, + 0.369363003748, + 0.880194285992, + 0.692844402758, + 1.31742621633, + 0.471492897365, + -0.0197746714894, + -0.18903987504, + 0.407894939264, + 0.085408350746, + 0.689369451715, + 0.565132557183, + -0.11771936782, + 0.684910420288, + 0.932235891875, + 0.57600416727, + 0.117623583739, + 0.314806191307, + 0.332681512165, + 0.474178800481, + 0.890747110179, + 0.319609347441, + 0.255622385693, + 0.674694630558, + 0.503290578697, + 0.452697886849, + 0.811715674304, + 0.663228362069, + 0.714378186964, + 0.437137008263, + 0.749964067784, + 0.561800588263, + 0.416577472948, + 0.591946647762, + 0.591970512269, + 0.765361052995, + 1.06202577403, + 0.256355123962, + 0.666657778147, + 0.978625915106, + 0.235944473101, + 0.72285388076, + 0.531229633232, + 1.21876420579, + 0.975581782093, + 0.893261359176, + 0.474058131282, + 0.309775017257, + 0.909727622684, + 0.782760283514, + 0.0512693950018, + 1.19949424388, + 0.637982607341, + 0.97843506165, + 0.880492471707, + 1.08218168782, + 0.395267647614, + 0.607737025959, + 0.353190784993, + 0.604590667762, + 0.828543192226, + 1.04899631186, + 1.03900721803, + 0.219341618423, + 0.0919975396421, + 0.811317242676, + 0.727220971223, + 0.635227363761, + 0.821927300839, + 0.217714244774, + 0.942378736373, + 0.844825516236, + 1.00660895354, + 1.0184454016, + 1.36583996227, + 0.630158321793, + 0.954670857035, + 0.493324490109, + 0.606812403726, + 1.69023554401, + 0.860347965511, + 0.296146773694, + 0.873827016382, + 0.98936019584, + 1.0033117667, + 0.507165544186, + 0.695225477996, + 0.487200167231, + 1.12032242293, + 0.418330308095, + 0.284917123511, + 0.537745504926, + 0.878594024249, + 1.10485507812, + 1.10835679114, + 1.07079287644, + 0.742837639257, + 1.11032104605, + -0.0417423866991, + 0.253587857657, + 1.03173495618, + 0.759650286052, + 0.442889920403, + 0.960426169527, + 0.602524490308, + 0.415789534153, + 1.15306843611, + 0.439187039404, + 1.16738339081, + 0.657176390519, + 1.10868380295, + 1.09291556013, + 0.617471881828, + 0.856628336456, + 1.2614821652, + 0.684101208507, + 1.28966590338, + 0.747829769068, + 0.581463795549, + 0.196454499801, + 1.06324618055, + 0.629887978425, + 0.428857547891, + 0.624782401251, + 0.942719384636, + 0.661986862651, + 0.440975959628, + 1.20838089135, + 0.930608624773, + 0.939691222391, + 0.544457804274, + 1.41093796385, + 1.17988108494, + 1.04156810148, + 0.447135217489, + 0.967830103448, + 0.965960709317, + 0.750353992493, + 0.986505580759, + 1.2682786205, + 0.440898965113, + 1.21047804622, + 1.03390652665, + 1.23902236568, + 0.970766089445, + 1.22997991073, + 1.2403789256, + 0.714690158222, + 1.06517991737, + 0.898279267435, + 0.670027145929, + 1.28628586971, + 0.970225356617, + 1.36592073771, + 0.684773994386, + 0.526669723478, + 1.01250218142, + 0.763529561366, + 0.614285288095, + 0.770552432244, + 0.675108430848, + 1.01562026235, + 1.20481774993, + 1.14659802013, + 1.0692771944, + 1.05045697098, + 0.826206553319, + 0.974710691408, + 1.15625063318, + 0.780868973885, + 0.610608035552, + 1.30820774069, + 0.435758957449, + 0.538460050728, + 1.03594485497, + 1.01977721181, + 1.13317701751, + 0.86664676005, + 1.42232692379, + 0.838036574122, + 1.27208055898, + 0.991768940106, + 0.603616701918, + 1.03568923701, + 1.05342205299, + 0.886953274991, + 1.16479542788, + 0.889010298031, + 0.708090605132, + 1.14134209432, + 1.12678213347, + 1.06671667798, + 1.2791999104, + 1.20725671385, + 1.3105256506, + 1.84670135381, + 1.30069848063, + 1.22155213787, + 0.573368090917, + 1.06863209614, + 1.79292067497, + 1.06916237679, + 0.564074090489, + 1.02214184179, + 1.31453583845, + 0.89798666227, + 1.01240018125, + 1.31509636468, + 1.10481437329, + 1.05391268573, + 0.77191429933, + 0.77364971407, + 1.20397816594, + 1.08539463053, + 1.21292806105, + 1.08160100776, + 1.13578790124, + 1.40025929521, + 1.31436726374, + 1.52562935386, + 1.26489254693, + 1.40784254535, + 0.460307581457, + 1.60269919953, + 1.28350437992, + 1.4182003379, + 1.79217900313, + 1.2623303146, + 1.14124648059, + 1.57776038788, + 1.0054063068, + 1.3223316351, + 1.39747272582, + 1.16590837316, + 0.848852692096, + 1.16037322747, + 1.22336736517, + 0.883875742433, + 1.35896704021, + 0.876340035498, + 1.40071302548, + 1.43191692184, + 1.12207292027, + 1.23251106213, + 1.1943043139, + 1.24257365053, + 1.21031556947, + 1.6126504847, + 1.10115651514, + 0.917164641737, + 1.18842001484, + 1.09449803329, + 1.34802684538, + 1.53362095858, + 1.37824425425, + 1.55505879773, + 1.73755159173, + 1.04994805678, + 1.45006304064, + 1.56779855685, + 1.43204221002, + 1.69923271791, + 1.73649130676, + 1.20220247636, + 1.72675055145, + 1.33152784655, + 1.24485060146, + 1.29894553416, + 1.5597844907, + 1.46210412777, + 1.65290669252, + 1.07462892827, + 1.55034616171, + 1.39516848313, + 1.81364173179, + 1.47280778826, + 1.01479673003, + 1.42995534678, + 1.5576974764, + 1.07986390006, + 0.993401863796, + 1.02911178573, + 1.0222286939, + 1.06545779964, + 1.41959811122, + 1.56336506978, + 2.04437653184, + 1.13441124506, + 1.65405380758, + 2.03013140141, + 1.46863130582, + 1.45916948892, + 1.67241973534, + 1.34899612369, + 1.40300491542, + 1.3755913638, + 1.08980775603, + 1.59640072865, + 1.62443438417, + 1.6791568736, + 1.30454240649, + 1.71185783476, + 1.36035036931, + 1.33208582091, + 1.59543437272, + 1.77485766298, + 1.73863034238, + 1.56210777704, + 1.51531869303, + 1.62656104925, + 1.2767920387, + 1.19706480425, + 1.52383830413, + 1.78501775339, + 0.910281841391, + 1.69239636565, + 1.17207568884, + 1.26152308245, + 1.02401539056, + 1.56980664127, + 1.67543275807, + 1.91069537189, + 1.39867804561, + 1.46924040054, + 1.81578661083, + 2.12195211522, + 1.71697221172, + 1.6451170945, + 1.71229009241, + 1.96000396893, + 1.54114561869, + 1.38800832314, + 1.92248570169, + 1.86015323414, + 2.30746654784, + 1.87976294874, + 1.41766968511, + 2.5534658542, + 1.52466863949 + ], + "y": [ + 1.13132349623, + 0.879209230381, + 0.991989834632, + 1.36499103015, + 1.10227196058, + 0.540155311898, + 1.02344387239, + 1.18831592903, + 0.684126894679, + 1.20660237657, + 0.761032442186, + 0.302706638882, + 0.749726191277, + 1.10887573528, + 1.20220715172, + 1.80284252956, + 0.537494163232, + 0.592649809975, + 0.931926196208, + 0.87633097161, + 0.749048323812, + 1.14141474454, + 0.842526971143, + 0.094527659013, + 0.879743254354, + 0.947252290146, + 0.980375831968, + 1.38908509126, + 0.690005042312, + 0.423396489369, + 0.737691768675, + 0.938838072948, + 0.860536047205, + 0.964743351319, + 0.842672173885, + 0.86343516617, + 1.21361940398, + 1.06688311524, + 0.670924322975, + 0.513100262536, + 0.69521511993, + 0.77638303877, + 0.697392937568, + 1.05230488088, + 0.950375789849, + 0.629573129092, + 0.822474252111, + 0.730201242832, + 0.842346036485, + 0.576052835309, + 1.0134304435, + 0.516047404986, + 0.970761216653, + 0.696872898504, + 1.03520580953, + 0.615463334244, + 0.663187212916, + 0.659484157455, + 1.11531799505, + 0.0963762837696, + 0.495910812925, + 0.862756283073, + 0.161714728382, + 0.715401683735, + 0.638380800424, + 0.358986546939, + 0.310580326025, + 0.520808678683, + 0.621706114079, + 0.635999353172, + 0.00804482201345, + 0.639945925999, + 0.515907059974, + 0.423192222083, + 0.873069625702, + 0.086528318229, + 0.870151991407, + 0.300575532161, + 0.607242532049, + 0.766541437079, + 0.940853074577, + 0.368336365398, + 0.355235314665, + 0.516230728523, + 0.281174635168, + 0.221294308529, + 1.06971960611, + 0.995515766136, + 0.418150259075, + 0.493312949824, + 0.737374985093, + 0.247532938521, + 0.921395134817, + 0.190573432651, + 0.202565278349, + 0.738867195662, + 1.19704976751, + 0.324019206034, + 0.235748931696, + 0.595399564031, + -0.328040398356, + 0.122396384213, + -0.0914813013625, + 0.0394026942882, + 0.46506045267, + 0.280422710572, + 0.216856937401, + 0.751597641225, + 0.529946956081, + -0.104085422448, + 0.4306029547, + 0.226041275941, + 0.398741853076, + -0.0990500116451, + 0.320550121033, + 0.440367526397, + 0.0717450661852, + 0.476259727512, + 0.668824405801, + 0.110703388873, + 0.689603860463, + 0.776330990195, + 0.619669617174, + 0.522859672033, + 0.458417381922, + 0.260645278501, + 0.850189371266, + 0.14789383759, + 0.526734598751, + 0.432572117062, + 0.611929734392, + 0.472715893907, + 0.362583773703, + 0.638458440739, + 0.28713821682, + 0.293713020932, + 0.172347134781, + 0.357445931516, + 0.247380406781, + 0.637459588723, + 0.109194544793, + 0.42878764343, + 0.269352386247, + 0.201132826669, + 0.147058651319, + 0.337877750187, + -0.0795859247348, + 0.00293068034537, + -0.292271046023, + 0.186580139128, + 0.839673598682, + 0.386843793091, + 0.19368468524, + -0.0700330447528, + 0.0379415730558, + 0.710007451434, + -0.408995911309, + 0.459511195941, + 0.383484554131, + 0.122043410766, + 0.324625930598, + -0.0636105314506, + -0.156425762515, + -0.0503877125144, + 0.225850698001, + 0.179232474594, + -0.201365709381, + 0.551058135099, + 0.316684147314, + 0.243904039117, + -0.0499496584091, + 0.768743010479, + 0.198700208056, + -0.0505469803388, + 0.300997200604, + -0.383327311181, + 0.855691686816, + 0.946481177705, + 0.234511753183, + 0.56015316598, + 0.417653983227, + 0.476381533875, + -0.129623049283, + 0.39876166655, + 0.192514689108, + -0.352669595151, + -0.0392876707369, + 0.0524365913501, + 0.419523404916, + 0.287728583634, + -0.0664135854605, + -0.0463523510117, + 0.604769025646, + 0.437602223771, + 0.0744860247681, + 0.448805369256, + 0.35650335712, + 0.120226119657, + -0.125968837039, + -0.0734850284241, + 0.189226550749, + 0.362817051918, + -0.0122572771932, + 0.192143726493, + 0.9986576973, + -0.0602251774773, + 0.786354046299, + 0.720794002576, + -0.169596858757, + 0.0707274603166, + 0.159333126394, + -0.00660879679212, + 0.220225654604, + -0.193240136882, + 0.365016430739, + 0.0643353510069, + -0.0433654922699, + -0.14721834982, + 0.153806525011, + 0.478767790542, + -0.14403427331, + -0.383638073511, + -0.200176227195, + 0.220593221286, + 0.487364500487, + 0.593245444761, + 0.239850396416, + -0.173043705425, + 0.188351593691, + -0.0844410107971, + 0.185220204592, + 0.326321846937, + 0.284455912146, + 0.440336459267, + 0.105302720676, + 0.0439160061164, + 0.548973768833, + -0.124730651027, + 0.476822995568, + 0.418223253148, + -0.103079181296, + 0.266523070263, + 0.517470931911, + -0.313263504161, + -0.00164958997518, + 0.114822064324, + 0.0716526605165, + 0.581863918579, + -0.0911130733329, + -0.36569936119, + -0.13327922372, + 0.0360897944898, + 0.0780342078173, + 0.216338573694, + 0.458361927255, + 0.130440952718, + -0.0842283230038, + 0.0337146057908, + -0.0064144507093, + -0.106238109325, + -0.303162283926, + 0.339860442519, + -0.463289378792, + 0.0142066364007, + 0.201630450416, + 0.113258159889, + 0.0237301345543, + 0.312355200613, + 0.367788936139, + -0.211780313309, + -0.168545295477, + 0.354086853652, + -0.375523178573, + 0.61729577362, + -0.389740334812, + -0.575656305939, + -0.359340802611, + 0.302651272831, + 0.45839127107, + -0.064305221416, + 0.0468307608535, + -0.112409572825, + 0.710277973911, + 0.566971475451, + -0.105628434065, + 0.433968868533, + -0.149171890263, + 0.28628993014, + 0.369161938328, + 0.173774679884, + -0.114046298311, + 0.163575196741, + -0.126711910519, + 0.0739464748079, + 0.0565648925611, + 0.0613934719812, + 0.413639222402, + 0.605807815075, + -0.392146823876, + -0.039864584371, + -0.123538699942, + 0.394847175791, + 0.281746994764, + 0.091278502496, + 0.0980621884847, + -0.0539260921353, + 0.685687248289, + -0.0600984629901, + -0.353428711696, + 0.536398043221, + 0.420843708746, + 0.557119504116, + 0.0457785813989, + 0.0741010210445, + 0.377289371786, + -0.503007659557, + 0.347609227256, + -0.257774151716, + -0.310532719685, + -0.256156255908, + -0.517809659607, + -0.498574104766, + -0.0556914813574, + -0.434570686055, + 0.247644044047, + -0.157616832277, + -0.375076137867, + 0.241526492477, + -0.068892358556, + 0.213253757654, + 0.372136588119, + -0.117662533463, + -0.618331335069, + -0.666161467848, + 0.605901491997, + 0.28976310082, + -0.376856449155, + -0.211153358636, + 0.347791177682, + -0.187283964131, + -0.248397464253, + 0.112563090525, + -0.237662506355, + 0.39928567972, + -0.354056580369, + -0.323247785543, + 0.0317971848723, + 0.120702003563, + 0.193490009233, + 0.250567787093, + -0.112987287229, + 0.463132886451, + 0.0731569714014, + 0.371210235964, + -0.281549941982, + 0.313832691797, + 0.256341927341, + 0.126071780042, + -0.0211862856393, + 0.107396863643, + -0.0891863566262, + 0.167371045329, + 0.392029997143, + 0.122388554777, + -0.0301877822846, + -0.00900483396649, + 0.0346041774669, + -0.316274971745, + 0.118410400475, + 0.321021997869, + -0.294824759549, + -0.355593386651, + 0.173707081993, + -0.0325675799454, + -0.290525059893, + -0.428858881614, + 0.20585724776, + 0.481687182554, + -0.285728553348, + 0.265019719101, + -0.0581725829951, + -0.553614151036, + 0.110339505072, + -0.343697735277, + 0.0404215399059, + -0.0157604173841, + -0.595529618106, + -0.219014101118, + -0.0584568536814, + 0.540337587193, + 0.0737778036181, + 0.23363133727, + -0.218043686323, + -0.428595913015, + 0.11037581469, + 0.173843885693, + 0.286417212141, + -0.0226918925024, + 0.585587624404, + 0.182790506286, + -0.34650778426, + 0.0565521004139, + -0.143566747429, + -0.250885345431, + -0.429604643305, + 0.0049486264307, + -0.173626412557, + 0.0367372310518, + 0.271820640503, + 0.367912721164, + 0.30970208999, + -0.0167640023826, + -0.184535560843, + -0.113656378667, + -0.492285209242, + 0.21912552756, + -0.285368931705, + 0.0468703414295, + -0.070736735817, + 0.619976188109, + 0.370779179073, + -0.513941719842, + 0.168786503101, + 0.442737274282, + 0.2160827728, + -0.13135468304, + 0.438515684561, + -0.125236884151, + 0.0226131432503, + 0.261634364255, + 0.00993685057311, + -0.214940751843, + -0.173255263007, + 0.341285600546, + -0.143121724597, + -0.000691036840521, + 0.213490069016, + -0.335141190779, + -0.0859010555604, + -0.358435214561, + -0.432614969265, + -0.264173922564, + 0.65037978662, + 0.0633373423575, + 0.0488393646869, + 0.137122903747, + -0.0233456540314, + -0.202615945978, + 0.204950961851, + 0.0655598129313, + 0.0514544359248, + 0.628773896705, + -0.298063145279, + -0.217474100903, + -0.00340632660579, + -0.0409373797953, + 0.229579873113, + -0.165709908656, + 0.280372119602, + 0.108595245546, + 0.0402580601281, + -0.98579264195, + 0.199992564141, + 0.0758147605117, + -0.0840563808698, + 0.220932133476, + 0.0567455909801, + 0.0601917386876, + -0.150025658923, + -0.202934229029, + 0.192499805718, + -0.271085941005, + -0.356474603534, + -0.135044019453, + -0.385498424762, + 0.00657849106145, + -0.188410788109, + -0.196676317075, + 0.226066613329, + 0.365236543258, + -0.0832658653721, + -0.0283643542452, + -0.0425525731835, + -0.308713310909, + 0.270109874492, + -0.353014386609, + -0.138428091334, + -0.578265717312, + -0.271378070038, + -0.311706041883, + 0.19099948305, + -0.340733555298, + 0.0414639692575, + 0.273499990774, + 0.340893453208, + -0.188994060129, + -0.267430140277, + -0.382800182549, + 0.356372928232, + 0.00498438176967, + 0.216433786701, + 0.193179911705, + -0.195232901656, + -0.479198426281, + 0.659213541832, + -0.446638648649, + 0.0943525702406, + 0.0330338297066, + 0.134616086032, + 0.109855665246, + 0.331346342424, + 0.2175103193, + 0.597194181818, + -0.0120278859835, + -0.488908334733, + 0.462580560734, + 0.954410326165, + 0.190871655294, + 0.29237727253, + -0.18060084077, + -0.350726386427, + -0.124376986406, + 0.269751095661, + 0.246567448462, + 0.279955436415, + -0.0630345416457, + 0.506350894484, + -0.0299512293316, + -0.217810227996, + 0.216671542722, + 0.358488058379, + 0.367790131975, + 0.0757956883658, + -0.118578273375, + 0.0357333875203, + -0.0925612406428, + -0.50749719005, + 0.293720886392, + 0.412762345722, + -0.0480367611916, + 0.0535148802796, + -0.0356955042444, + 0.0531976972756, + -0.00892116715262, + -0.255542302166, + 0.280068808844, + 0.268098957913, + -0.0058689112366, + 0.341935836702, + -0.166265097518, + 0.111420299757, + -0.403751387891, + -0.345429640967, + 0.756116107359, + -0.552643149764, + -0.504745602106, + -0.0899623856315, + 0.127254192591, + -0.430733284788, + -0.242256734699, + -0.182843251481, + -0.0344351244605, + -0.327876881894, + -0.189495928802, + 0.324220130036, + 0.309641428814, + 0.132777501877, + -0.449729276573, + -0.319024370864, + 0.118971391494, + 0.164962487641, + -0.259219042326, + -0.407069946619, + -0.387577011274, + 0.168157136843, + 0.207816158356, + 0.101551625393, + -0.0578910155504, + -0.329441014385, + -0.347028974516, + -0.107851137974, + -0.336088676584, + 0.188104557344, + -0.182014210719, + -0.213353786721, + -0.0204792343555, + -0.395016732585, + 0.196142820928, + 0.0176567209638, + 0.353065515216, + -0.523314335013, + -0.239943052212, + -0.154623042085, + 0.132967468279, + 0.265370942072, + -0.0173610492229, + -0.227648323452, + -0.269371468159, + 0.28342888373, + 0.0213397091286, + -0.0459740872175, + -0.134415645557, + 0.109086240757, + -0.289509269027, + 0.00451763275518, + -0.360193405182, + 0.412637244523, + -0.0404479237745, + 0.629753493153, + 0.466761770292, + -0.014556956606, + 0.506014954998, + 0.182650565503, + 0.212393672309, + -0.395161186915, + 0.381485135259, + -0.514693809865, + 0.409923732538, + -0.206498848405, + 0.301688748832, + -0.386110783692, + -0.0179019133521, + -0.118381703335, + -0.34089220577, + -0.0335167310366, + -0.0898229680062, + 0.350997278346, + -0.242419112357, + 0.386595290125, + -0.119151365838, + 0.485026759426, + -0.959373470545, + 0.0381518000888, + -0.549981601643, + 0.146333982094, + 0.731770011511, + -0.0852322685056, + -0.345272688714, + 0.197905628129, + 0.00675304026311, + 0.226210973041, + -0.0485602075499, + 0.345707690727, + -0.325911870992, + -0.318202662623, + -0.13891930073, + -0.0977035303504, + 0.790061650211, + -0.0493213795245, + -0.264792309616, + 0.0721713825822, + -0.369323150945, + -0.329566771335, + -0.218620781723, + 0.292937196341, + -0.149739892081, + 0.172770377102, + 0.497846228694, + 0.21372576697, + -0.0275603692312, + 0.0956836295959, + -0.149548960785, + 0.221768712247, + -0.234942535913, + -0.174504460407, + -0.121573082788, + 0.401027574943, + -0.564272464092, + 0.253509190611, + -0.440338232444, + 0.148864676125, + 0.276833860317, + 0.510128114625, + 0.0545596155247, + -0.321478504658, + -0.318993797805, + -0.0675970081447, + -0.282929037583, + 0.113496270218, + -0.342797508271, + -0.136644733524, + -0.166722696618, + -0.0586223626588, + 0.167856345955, + 0.363716105372, + -0.296288193757, + 0.369314673289, + 0.0298926171642, + -0.341308851588, + -0.591113279055, + -0.101779247599, + -0.307005171709, + -0.200389899306, + -0.373277825529, + -0.0275460614101, + 0.170175331415, + 0.482082253919, + -0.183121703662, + 0.0558503227201, + -0.239730409157, + 0.0616810800616, + 0.0718444263537, + 0.0489460694497, + -0.592491605927, + -0.357782545957, + -0.188754345225, + 0.24318050552, + -0.164122750315, + -0.358771442338, + 0.344883421755, + 0.25402636193, + 0.0244507509991, + 0.233576861364, + -0.364546927951, + -0.00656210529066, + -0.0160728654063, + 0.326626670352, + 0.669959223418, + 0.320049345841, + -0.693125661604, + -0.251374966814, + -0.52545680859, + -0.00955722150486, + -0.0902695645522, + 0.0223671134333, + 0.375296506048, + 0.282909391589, + 0.290214975719, + 0.562985202226, + -0.277595461813, + -0.0632076603699, + 0.16487012244, + 0.160591664967, + 0.302852530166, + 0.00786289410686, + -0.277755006282, + -0.141397700248, + 0.373978836963, + 0.435537311669, + 0.558709270952, + 0.183736645194, + -0.522055352435, + 0.214357484262, + 0.0903367401568, + 0.213484819815, + 0.0361243191007, + -0.0427216286276, + 0.162201546863, + -0.435841046581, + -0.386954021172, + 0.432395122654, + -0.441730939752, + -0.199267945709, + 0.707148590409, + 0.536908377373, + -0.132473223533, + -0.283813081033, + -0.217618672587, + -0.46974569866, + 0.00577475698766, + -0.0895421855907, + -0.305228309268, + -0.0625598033338, + 0.017160380127, + -0.574378321948, + 0.107368050367, + 0.112780277962, + 0.111416102793, + 0.245289960498, + 0.0923780362849, + 0.279973392297, + -0.149580072505, + 0.268941402897, + 0.539386753065, + -0.386513413443, + -0.163042259534, + 0.00559543725657, + 0.328116664434, + 0.146308723543, + 0.588957587079, + -0.0478700516524, + -0.485467939375, + 0.0343704194685, + 0.595018370575, + 0.474176011318, + 0.0550655425218, + -0.622999471693, + -0.176737243512, + -0.154261246103, + -0.0472515058486, + -0.206891709268, + -0.225991106995, + -0.124829709486, + -0.24557753648, + 0.0838336751524, + 0.342389999515, + 0.166150988816, + -0.343992258193, + 0.341384936742, + -0.163575541231, + 0.201385690409, + -0.405474969463, + -0.207324623735, + -0.387960984883, + -0.556936144977, + 0.0607087954601, + -0.28107115429, + -0.275950341665, + 0.133866916474, + -0.199572418598, + -0.515138982743, + -0.20391825592, + 0.73981896489, + 0.0210591524725, + -0.108814038413, + 0.264489222013, + 0.146180206419, + -0.69596643819, + -0.259824406873, + 0.174776040796, + 0.234168837643, + -0.321181301803, + -0.0375422318977, + -0.0808711281857, + 0.158876047919, + 0.464891474157, + 0.0751434718452, + -0.152245124827, + -0.119421276302, + 0.130735843343, + -0.185830652164, + 0.304310079409, + -0.287116543186, + -0.0789912151156, + 0.38031525377, + 0.0548713376727, + 0.369519054598, + 0.0918759520505, + -0.391512120399, + 0.429830679824, + -0.0467843159858, + 0.0443835953734, + 0.0419221068119, + -0.482599408635, + -0.0208525968248, + 0.23650139047, + -0.130157372828, + -0.194767433747, + 0.246304031912, + 0.0583443930129, + -0.26649982949, + -0.247927202555, + -0.0392177116743, + -0.00823616798944, + -0.292239161471, + 0.199818221481, + -0.058004022256, + 0.383317792599, + 0.189994622095, + -0.0388231241034, + 0.498643784969, + -0.163695437806, + 0.516532313759, + -0.134601798633, + -0.136662512115, + -0.42743338295, + 0.227495132647, + -0.408817156873, + -0.612632706303, + -0.179565905862, + -0.741217801936, + -0.297625120172, + -0.383145169898, + -0.0154631425655, + 0.0988480002801, + -0.317347529969, + -0.350709931331, + 0.332749595307, + 0.330497759354, + 0.16718106275, + 0.0822737322912, + 0.0970078862696, + 0.151294206848, + 0.132654185288, + -0.27005394854, + -0.777806950977, + 0.111262882167, + 0.203463036954, + -0.306239035461, + 0.119709370302, + 0.130019206769, + 0.345438880275, + 0.4245004299, + -0.341492643986, + -0.337678660338, + -0.231194937825, + 0.0492167991106, + -0.221673855182, + -0.283150106829, + -0.425693916113, + -0.192803845026, + -0.184360969085, + -0.209634283046, + -0.228022279123, + -0.163038398633, + 0.315165552126, + 0.737311484819, + 0.0525336848815, + -0.191365905899, + -0.125159383946, + -0.0950306173667, + 0.555023115308, + 0.162682719786, + 0.10756224405, + 0.0417918172741, + 0.158995894948, + 0.32221139753, + -0.142514749644, + -0.0198733495425, + 0.392679495623, + -0.149595912219, + -0.155067542922, + -0.185898678248, + 0.316498073125, + 0.147142721595, + 0.148675650833, + -0.253331843154, + -0.191104060368, + 0.107317146716, + 0.0616367897605, + 0.0987855737192, + -0.0556491968998, + 0.179706792423, + -0.126005218446, + -0.581768055757, + 0.292891184242, + -0.309026882851, + -0.716639664361, + -0.601179830391, + -0.698534414478, + -0.341744548194, + 0.293656604983, + -0.258441386599, + 0.407286472562, + -0.0382476563902, + -0.157940404077, + -0.0949535496946, + -0.0339288639384, + -0.555501593531, + 0.366430448666, + -0.0830284823111, + 0.118685283264, + 0.367070309855, + 0.541284309586, + -0.473434529872, + -0.258269918207, + 0.163111720109, + 0.235315910468, + 0.393494315634, + -0.141492586659, + 0.153811507851, + 0.211219502664, + -0.371848431188, + 0.167061642811, + -0.699466396839, + -0.0246153342802, + 0.0953333825657, + -0.114820549373, + -0.19526670356, + -0.526721476381, + -0.235315209096, + -0.281696555317, + -0.165559007892, + -0.0937939982332, + -0.00103911198804, + 0.22796730481, + 0.374901322448, + -0.0339786645343, + -0.00134029029298, + 0.0222600727226, + -0.248230983818, + 0.115361202762, + 0.818511146554, + -0.148830505565, + -0.214969671177, + -0.316394196285, + 0.351815988898, + 0.193969726325, + 0.379003898175, + 0.0378857693319, + -0.242960986981, + -0.00358126134439, + 0.352544522687, + 0.366156260107, + 0.00844566966449, + 0.609655556405, + -0.00798230861241, + -0.122167004498, + 0.473583958888, + 0.28546548172, + 0.134581669057, + -0.0375820354829, + -0.268387701141, + -0.463372357782, + -0.132915116877, + -0.0292903386411, + -0.0214291392169, + 0.0686495042411, + -0.0256584877657, + -0.00109456988572, + -0.538494283693, + -0.248637624452, + -0.396894755058, + -0.0102369375804, + -0.266842446465, + 0.271453641811, + 0.0224878701847, + 0.282412951506, + 0.663816987949, + 0.00494742831485, + 0.332900741628, + -0.0999032256675, + -0.348168188718, + -0.15637991559, + -0.235322973755, + 0.052316148649, + -0.425053708389, + 0.0409885003349, + 0.261702127661, + -0.388934851294, + 0.0933089949689, + -0.115726490781, + 0.0206357615107, + 0.142947615635, + -0.417064689877, + 0.72186348893, + 0.629863561455, + 0.0669914777401, + -0.033701425419, + -0.210975902247, + -0.362104793097, + -0.0526270354425, + -0.0402991790274, + 0.175632039135, + 0.187098225671, + 0.638429654362, + -0.357723911232, + -0.631197163772, + -0.0124038722536, + 0.129543956752, + -0.203049421918, + -0.240446826072, + -0.0595262093035, + -0.2138640028, + 0.0642954233882, + 0.207542656349, + 0.491141686174, + -0.000648540233197, + -0.540262158362, + 0.226599378338, + -0.20928474923, + 0.336733639386, + 0.346004936132, + 0.448531672994, + -0.144818016132, + -0.252650780658, + 0.558728038727, + 0.35681281242, + -0.151388757459, + 0.17657318338, + 0.102934814206, + 0.622519204887, + -0.127601355362, + -0.506189700333, + -0.178573960563, + -0.0392346756265, + -0.0189674682776, + -0.393504530545, + -0.284380411192, + 0.026616425187, + -0.277652191675, + 0.109340491836, + 0.447133239987, + -0.270797504471, + 0.0454008793134, + -0.623031754945, + 0.541634986908, + 0.229528526925, + 0.0149075484122, + 0.0318251896152, + 0.152712368131, + 0.257951063427, + 0.0889490751102, + -0.0296525073664, + 0.110994495764, + -0.115808543133, + 0.490828642707, + -0.213716058095, + 0.0844445157508, + -0.307426326391, + 0.407995288656, + -0.228347285708, + -0.71505587891, + -0.102030415902, + -0.713733111789, + 0.0668113256661, + 0.489232537297, + 0.0133516237962, + 0.0535239885999, + 0.00430561540991, + -0.365216278484, + -0.0353945290387, + 0.158723260787, + 0.0724282180473, + -0.0975634796181, + -0.302340420657, + -0.310957406254, + 0.271879098179, + -0.175822844336, + 0.187308238485, + 0.20013069474, + 0.316134911796, + -0.0776979564374, + -0.036232084526, + 0.19111466291, + -0.0874825381991, + 0.0195979695199, + -0.258972010475, + 0.136668958368, + -0.372883354582, + 0.00472979082686, + 0.0339861128387, + -0.0710965982249, + 0.0643592196997, + 0.307440904917, + -0.232361271977, + -0.441529445744, + -0.0785989615995, + 0.372332755988, + 0.000662952773861, + -0.0885972346151, + 0.118760731114, + 0.261203522278, + -0.314077153507, + -0.0447634125279, + -0.21815983243, + -0.0896797201743, + -0.139313595077, + 0.0772641706323, + 0.803894584313, + -0.250226582299, + -0.0178574578852, + 0.0765865035157, + -0.471845487055, + -0.51177854378, + -0.129394839731, + -0.358612018254, + -0.180477849132, + 0.200057313574, + -0.322009020582, + -0.550348333373, + 0.423804915839, + -0.262030616674, + 0.142657799901, + 0.172463078983, + -0.0120438588003, + -0.341011296499, + 0.0971862270557, + 0.186899936747, + -0.0854905807128, + 0.177111211405, + -0.141959383084, + 0.534049206145, + -0.221070373541, + 0.34502908773, + -0.0965328354161, + 0.0268962776053, + -0.0321591075232, + 0.963493839677, + 0.0533694065936, + 0.161856036443, + -0.06344344515, + 0.192606865779, + 0.123230605243, + 0.209455010539, + -0.0795351408106, + 0.0504206589367, + -0.25122796926, + 0.0465285094014, + 0.633639976249, + 0.271977233179, + -0.618712897687, + -0.304015981319, + 0.225920022694, + 0.0161040096757, + -0.448829718533, + 0.26266410629, + -0.0671473972052, + 0.496959872344, + -0.580412410147, + -0.116235792522, + -0.298904543594, + 0.928957581209, + -0.0124436293549, + -0.111206516266, + 0.286178341528, + 0.0372591659712, + 0.00343129734089, + 0.141935229328, + -0.624185567439, + 0.800510725531, + 0.244321630365, + -0.290324096864, + 0.0307814109032, + 0.0809478467897, + -0.0972160331947, + 0.63192091473, + -0.62599927194, + -0.176413082415, + 0.0048532051561, + 0.0846635050257, + -0.0151227148804, + 0.515719296715, + 0.281886942122, + 0.115875605205, + -0.431272125434, + 0.20410081241, + -0.286037165627, + 0.313501321797, + -0.332590805984, + -0.21841619127, + -0.537480132377, + 0.0492438850152, + -0.223247278827, + -0.328346817647, + 0.120863794157, + 0.303650677451, + 0.518429895776, + -0.0933216354088, + 0.278205308048, + -0.134999508685, + 0.501182772302, + 0.147196517059, + -0.0453668206541, + 0.186134150643, + 0.124320507428, + -0.350037469645, + 0.00648081884567, + -0.108539083665, + -0.225723331687, + -0.0493310598038, + 0.439387287054, + 0.507406415029, + 0.112608159005, + 0.385369871122, + -0.314933468791, + 0.0549305163406, + 0.585461007249, + 0.159777561121, + 0.500566543256, + -0.602926445132, + -0.382748841146, + 0.00322787594932, + 0.245357223135, + 0.146494901031, + 0.3610944356, + 0.32359085137, + -0.433573918153, + -0.289064734401, + -0.298824245152, + 0.436182954387, + 0.136136508792, + -0.243361356393, + 0.353534386101, + -0.384099301146, + 0.227241275103, + -0.1327580156, + 0.0609011364587, + -0.0103931247717, + 0.037432897755, + -0.14440584289, + 0.28085799564, + 0.101362551269, + -0.551116287871, + -0.17130110729, + 0.133194338447, + -0.362858729303, + 0.121290011545, + 0.040324855077, + -0.0940164690492, + 0.399892772222, + -0.135288931611, + -0.330450904527, + 0.148656598413, + -0.115487755534, + 0.292123625024, + 0.10070076711, + 0.203892368037, + -0.151951839977, + -0.337546440805, + -0.258195662241, + 0.167613463523, + -0.466987964251, + 0.260768627491, + -0.257487745378, + -0.505688497395, + 0.171732749983, + 0.132881971252, + 0.105590808475, + 0.261292345383, + -0.115896456843, + -0.65877480246, + -0.00475172154523, + -0.0489922420486, + -0.0511285686884, + -0.811518444776, + 0.157394011232, + -0.29156649356, + 0.17424586739, + 0.169130217571, + 0.305084906456, + 0.542289935765, + 0.442230106223, + -0.313709029188, + 0.315250061266, + 0.325049772254, + 0.204376281411, + 0.256372640856, + 0.160320585283, + -0.152331949897, + -0.163942680423, + 0.484258595275, + 0.345581040953, + 0.478663730477, + 0.413703027053, + 0.0310691299325, + 0.208278994229, + -0.398774271488, + -0.537083283435, + -0.215018382661, + 0.301502757166, + 0.045771566091, + -0.0339722461661, + -0.0137410912674, + 0.399356492621, + 0.00149888484411, + 0.291503066357, + 0.520600167953, + 0.147852248372, + 0.034071226604, + -0.140631155945, + 0.0629674128697, + -0.300022706615, + 0.136123073403, + -0.322907765461, + -0.689673086804, + 0.126179270809, + -0.227050097646, + 0.367256192009, + 0.210144391121, + -0.43108769464, + -0.550976484164, + 0.00252279801073, + -0.141012981588, + 0.102235579596, + 0.0617310506314, + 0.56381177653, + 0.232191786449, + 0.391369495071, + -0.202729222582, + 0.473262288154, + -0.0764052154473, + 0.393340598204, + -0.167209269263, + 0.0929027018041, + 0.188898745941, + -0.38193567148, + 0.526760219874, + 0.0708591062034, + -0.100523868209, + -0.461750791372, + 0.219248841265, + 0.41944946992, + 0.428099209706, + 0.137191114991, + 0.196228425995, + 0.00549665778617, + -0.331378406275, + 0.219568554926, + 0.207398775765, + -0.649619174289, + 0.305023804346, + 0.0687705749218, + 0.18139520171, + -0.342418152636, + -0.293693792628, + 0.807362841073, + 0.254699595401, + 0.337494777033, + -0.286603162473, + 0.793718714698, + -0.147350469286, + 0.100997359247, + 0.159040508447, + -0.482849010577, + 0.606965317471, + 0.187932658137, + 0.562264147601, + 0.0769192402846, + 0.321111304196, + -0.190422725519, + 0.110264208354, + 0.027724561497, + 0.143974082391, + -0.105401879935, + -0.428930565419, + -0.568584384633, + 0.670612454667, + 0.204303987908, + -0.152190196305, + 0.228151079892, + 0.190956639745, + -0.265699639406, + 0.116644139674, + 0.0683421157864, + 0.267425851407, + 0.216870666881, + 0.160117905086, + 0.0734056265828, + -0.463363157867, + 0.0935224764979, + 0.0403506871815, + 0.323163623933, + 0.140314656842, + 0.647315040245, + -0.764790572631, + 0.354959300155, + 0.680724045415, + 0.139575970027, + -0.183280328881, + 0.0649891097812, + 0.341965474615, + 0.284962555123, + 0.0929185346222, + 0.0677564444217, + -0.202180607075, + -0.026363882879, + 0.96025119605, + 0.119052935136, + -0.221432693062, + -0.0571555099151, + -0.109291269649, + -0.263828563236, + -0.407075262692, + -0.142916967402, + 0.621504414187, + 0.379218175906, + -0.183180629012, + -0.227868285992, + -0.0143810375238, + -0.372244448418, + 0.320043669857, + 0.0567668214499, + -0.418901645128, + 0.371446699783, + 0.464727154973, + 0.315851025098, + 0.190169281356, + -0.0474674254502, + 0.0839715081835, + 0.114584739407, + 0.0225963513454, + 0.0141846523671, + 0.653003724564, + 0.460123470118, + 0.000724973292004, + 0.0340715192757, + -0.193524983145, + 0.291518085372, + 0.277054622132, + 0.3831906134, + 0.0676819111879, + 0.00153397384356, + 0.410233129949, + -0.284197718329, + 0.124524925646, + -0.0212187004189, + 0.485865882159, + -0.319338523686, + -0.309296125754, + -0.394189666335, + -0.082218086353, + 0.242628862525, + 0.384236304554, + -0.323595821708, + -0.131149391866, + 0.238490021343, + -0.269115359329, + -0.199727248507, + 0.2521028785, + 0.35805571713, + -0.359991334842, + 0.0089778433202, + 0.215543324483, + 0.020442997455, + -0.0932807303561, + -0.0194770106799, + -0.347996124897, + 0.477670425325, + 0.16946862924, + -0.0748463445159, + 0.322416093715, + -0.284379263482, + 0.351485850427, + 0.275133298435, + -0.140335149498, + -0.169502473099, + 0.311420733898, + -0.128365691629, + 0.136057885059, + 0.30987365673, + -0.346320622138, + 0.548246033703, + 0.123814313429, + 0.104017129137, + 0.191079104484, + -0.0353552563969, + 0.0426530147906, + 0.210954411184, + 1.01838182802, + 0.0529356735747, + 0.0926774812629, + -0.0772875526935, + 0.35882301038, + 0.293403886373, + -0.0720667337799, + -0.00692780660425, + 0.238040183172, + -0.145602185067, + 0.222402131589, + -0.0861052040969, + 0.468784196571, + 0.194328064498, + 0.206915793873, + 0.454809703375, + -0.147026187244, + 0.767740107893, + -0.10117492877, + -0.277174461951, + 0.112251966207, + -0.0120533340785, + -0.0536130220773, + 0.43227125503, + 0.107152451438, + 0.307896046522, + -0.146310071493, + 0.000325157879376, + 0.47012038408, + 0.0319059318335, + 0.277531729853, + 0.0427911140052, + -0.09943605934, + 0.240353350745, + 0.608677123763, + 0.30662639209, + -0.0516774755387, + 0.148023607147, + -0.00305931684124, + -0.281886656069, + 0.416923437696, + 0.351414224303, + 0.157847890047, + 0.633655001348, + -0.576766988475, + 0.700845871578, + 0.607653700364, + 0.613820223483, + 0.140397240595, + 0.353986143512, + 0.106071277195, + -0.145734755416, + -0.253978442581, + 0.0598900759314, + 0.0113975038206, + 0.149895474713, + 0.262395211664, + 0.274302533812, + 0.288154637962, + 0.67185610335, + 0.234608335631, + -0.0151663004899, + 0.312552262596, + 0.17876159463, + 0.0962257453695, + -0.329326196935, + 0.13649641201, + 0.665427849573, + 0.0052698732702, + 0.475122251875, + 0.525331287435, + 0.333431708244, + 0.806835876945, + 0.306392192118, + 0.103664924917, + 0.264670569995, + -0.213467286999, + 0.0813232335846, + 0.593136861868, + -0.104070949051, + 1.09199443523, + -0.0344763512544, + 0.255803564244, + -0.147514543571, + 0.0521191738254, + 0.220033299832, + -0.404845036129, + 0.470514068767, + 0.178365513796, + 0.19380914082, + 0.395931460219, + 0.620230366078, + 0.405807045424, + -0.0392115721689, + 1.05240762235, + 0.405693173796, + 0.31052182856, + 0.28855893832, + -0.094656292081, + -0.316524091729, + 0.393149693595, + -0.16291800557, + 0.338801838683, + 0.217382754407, + 0.699023424911, + 0.312602259553, + 0.560632394131, + 0.286521358311, + -0.111145724168, + -0.22813394187, + 0.176233057808, + -0.242846440779, + 0.652060712482, + -0.114370249489, + 0.939048192792, + -0.0209696263152, + 0.0573748304081, + -0.36118957988, + 0.326032345091, + 0.343588601395, + 0.634046915977, + 0.477956339871, + -0.0385333044591, + 0.30414606475, + -0.163480072089, + 0.516260476336, + -0.105165615544, + 0.368385108508, + -0.035510923968, + 0.221057974301, + 0.123572673698, + -0.135268326692, + 0.156390521708, + 0.200566028491, + 0.29668765065, + 0.697213288449, + 0.50763252289, + 0.417678566532, + 0.154135774934, + 0.765651412646, + 0.470086592379, + 0.201480075488, + 0.095829704456, + 0.105647301737, + 0.244920377178, + 0.164238312296, + 0.191790630686, + 0.309371452256, + 0.421287855916, + 0.250917743956, + 0.150279746094, + 0.673074081054, + 0.549516096609, + 0.569636377527, + 0.371048271576, + 0.461909717594, + 0.53125043069, + -0.105357281521, + 0.681434074188, + 0.394351701298, + 0.299223908876, + 0.745051595343, + 0.630956800418, + 0.585232492447, + 0.149138687374, + 0.621784497559, + 0.274413042223, + 0.828569093005, + 0.25416316262, + 0.720756519779, + 0.68862294721, + 0.484764528848, + 0.488036618011, + 0.568028000715, + 0.447568663215, + 0.128845580361, + 0.104462900828, + 0.367685336284, + 0.640935555756, + 0.329886383682, + 0.246419290497, + 0.558799026438, + 0.513709890433, + 0.0175540748514, + 0.677955372319, + 0.970620214195, + 0.293606490298, + 0.28477264013, + 0.727990429773, + 1.24330498259, + 0.556975486167, + 0.151834633108, + -0.236495607262, + 0.523888373975, + 0.689343592198, + -0.15278161931, + 0.434506019428, + 0.967007367935, + 0.614539290319, + 0.484321305497, + 0.734255226728, + 0.261240524208, + 0.624644751686, + 0.421325419145, + 0.259064166957, + 0.285948101394, + 0.541051603702, + 1.51467107166, + 0.37250378877, + 0.257768097775, + 1.29680474452, + 1.17439676563, + 0.431890071028, + 0.416193348898, + 0.897176261041, + 1.0905459488, + 0.451446169578, + 0.607737174816, + 0.684136082041, + 0.542930193702, + 0.752884064698, + 0.877773565538, + 0.213346474652, + 0.0860812418435, + 0.778406766165, + 0.660952390691, + 0.611882732631, + 1.2077187536, + 0.604844553847, + 0.325210420542, + 0.919409808423, + 0.68847808765, + 1.16484189305, + 0.192221624291, + 0.653110302352, + 0.327338008293, + 0.439506798148, + 0.416117515606, + 0.702645651026, + 0.780744650712, + 1.01510261914, + 0.786606203922, + 0.72316198658, + 0.790253083973, + 0.920034046301, + 0.00653503441716, + 0.517117929629, + 0.449911268227, + 0.55458548624, + 0.389849437185, + 0.789803843652, + 0.470524868244, + 1.29197537054, + 0.998117076659, + 1.31434980816, + 1.16152384982, + 0.623465030871, + 0.616471212971, + 1.27977873285, + 0.974853560387, + 0.52109387351, + 0.452172574784, + 1.16161017475, + 0.662777129034, + 0.452170247378, + 0.754114908556, + 0.351541088136, + 1.0034610523, + 0.712894966355, + 0.59276069228, + 0.796308627937, + 0.652179844308, + 0.717331467248, + 0.361306235474, + 0.571443822698, + 1.15711445918, + 0.776957510283, + 0.78592171242, + 1.05670973463, + 0.764834232347, + 1.24995485944, + 0.731208680596, + 0.717079759185, + 1.35453447511, + 1.22934304199, + 0.564132444772, + 1.32916714833, + 0.745208890195, + 0.931565303449, + 1.11928616945, + 0.812814479035, + 0.559295095914, + 1.09514299767, + 0.67927644527, + 1.06808059257, + 1.07625188125, + 1.42655107178, + 1.62265714147, + 1.23340163875, + 0.657900893199, + 0.981142439293, + 0.920947627918, + 1.4623932293, + 1.39932279223, + 1.17994000043, + 1.02220562217, + 1.0810785881, + 1.0552604919, + 1.55850968109, + 1.36308213887, + 0.539534920287, + 1.1476014513, + 1.2518869469, + 0.822217550005, + 1.84157818693, + 1.04860079146, + 1.44595433639, + 1.32287279603, + 1.37644373084, + 1.86614025813, + 1.51105744244, + 0.924727647119, + 1.31187547697, + 1.82489256759, + 1.12485348336, + 1.02033933003, + 1.54675372473, + 1.12481931567, + 1.43781411763, + 1.04222534571, + 1.40233711227, + 1.6594617636, + 1.20906278605, + 1.13166424795, + 1.63158565092, + 1.26317561226, + 0.902273886744, + 1.1000291584, + 1.188264971, + 1.48574191882, + 1.55664508511, + 1.22264268323, + 1.73482768631, + 2.03112501513, + 1.3675266481, + 1.41708825041, + 1.53725716325, + 1.47010715591, + 1.3158979521, + 0.971654366638, + 1.7503393987, + 0.732604359699, + 1.39706114779, + 1.56385367099, + 1.33289292691, + 1.86899530505, + 1.47054586517, + 2.16697680404, + 1.60524359391, + 1.61536910391, + 0.937152751836, + 1.49903653683, + 1.38801880891, + 1.59583551564, + 1.19934669609, + 1.95642443691, + 1.56395479658, + 1.31544681472, + 1.17342438873, + 1.94708832983, + 1.59071763854, + 1.28894592604, + 1.40444163715, + 1.77905230984, + 1.96940347111, + 1.61314188292, + 1.96680306445, + 1.50869608991, + 1.27418286571, + 1.98204944467, + 1.87976006289, + 2.08282433134, + 1.78000664991, + 2.18847631672, + 1.30301866796, + 1.33523041582, + 1.85351349973, + 2.11556941203, + 1.61576520453, + 1.59834728055, + 2.14721293954, + 1.69322083096, + 2.65800422187, + 1.82823333811, + 1.60029581159, + 1.78219847377, + 2.19737174623, + 1.72394249039, + 2.04634360445, + 2.65539624846, + 2.13056382917, + 1.59095944028, + 2.12066527401, + 2.45099625307, + 2.1364347606, + 2.09216188492, + 2.14810208967, + 3.10264795154, + 2.2746357232, + 1.96228387311, + 2.45845239934, + 2.09836639799, + 2.3455880748, + 2.01712372253, + 2.72794096044, + 1.59737661276, + 2.4629965703, + 2.10465016344, + 2.61931675099, + 2.72485237543, + 2.7694002851, + 2.1671587715, + 2.25158116907, + 2.25924070447, + 2.59320111319, + 2.72828372007, + 2.92569257455, + 2.29523623628, + 2.77348828989, + 2.67182419084, + 2.31583598032, + 2.25483740652, + 2.38879681156, + 2.59717833055, + 2.74000381154, + 2.13480765764, + 2.50211221536, + 2.49097295833, + 2.10067795242, + 3.02703202546, + 2.54538916805, + 2.50646957448, + 3.06598293772, + 2.66666273711, + 1.86237808976, + 2.17914066916, + 2.66953945431, + 3.07233020977, + 3.03198520639, + 2.80242633366, + 2.50203273776, + 2.27194515901, + 2.59945909127, + 3.53299302491, + 2.96917973815, + 2.26259668342, + 3.34852670221, + 2.46804114021, + 3.12124600288, + 3.01555731052, + 2.54002563, + 2.57138244702, + 3.09782319591, + 2.67147277103, + 3.23891446072, + 3.0520070323, + 2.9028359987, + 2.92583639894, + 2.81674927307, + 2.83812864136, + 2.60702002745 + ], + "name": "density", + "ncontours": 20, + "scl": "Hot", + "reversescl": true, + "showscale": false, + "type": "histogram2dcontour", + "xbingroup": "X", + "ybingroup": "Y" + }, + { + "x": [ + -1.19135367378, + -0.80989540227, + -0.925158804666, + -0.87760783274, + -0.51146935321, + -1.17957514063, + -0.401418220261, + -1.16183935054, + -1.11475081154, + -1.22853581376, + -0.592529542681, + -0.43889541224, + -0.602495595365, + -0.990669110038, + -0.544050558932, + -0.966319543401, + -0.742404606095, + -0.761971981579, + -1.20675028294, + -1.00477577758, + -0.481383102169, + -1.06112704596, + -0.757674558511, + -1.49815569515, + -0.970093584719, + -1.45254984021, + -0.576371884233, + -0.763406941577, + -0.780284124171, + -0.806043909481, + -1.55782557842, + -1.06434375708, + -1.31581468891, + -0.934525295676, + -0.888735643704, + -1.00872731608, + -1.3438472338, + -0.852218952389, + -0.371683097125, + -1.40320542743, + -1.0832056523, + -0.891090334561, + -0.798498677304, + -1.18624151422, + -0.938598836322, + -0.539133240628, + -0.913480647128, + -1.12361851539, + -0.910415167429, + -1.02319461744, + -1.07471542573, + -1.16720777925, + -0.993295733365, + -1.00852358867, + -0.818434616344, + -0.744391767723, + -1.12507674596, + -0.742197235594, + -0.81451542008, + -1.49006940204, + -0.457370819133, + -0.332094332449, + -1.1176381713, + -0.685073127085, + -0.786926212385, + -1.20598896074, + -0.713407846539, + -0.742377006164, + -0.62141792276, + -0.981492851317, + -0.770923853817, + -0.348012810767, + -0.998069394961, + -0.958035962316, + -0.665111325933, + -0.747991979091, + -0.446744435998, + -0.762137062821, + -0.643478406408, + -0.210678336658, + -0.328454834705, + -0.252863408144, + -0.775271437295, + -0.781159325916, + -0.878817686305, + -0.857326243909, + -0.431976934937, + -1.34450897918, + -1.10682503725, + -0.711020187579, + -0.842150840212, + -0.53066253457, + -0.417785420417, + -0.698471751472, + -0.605532341444, + -0.956364519927, + -0.757959473357, + -0.98731611084, + -0.362915429005, + -0.626373224718, + -0.381295921657, + -0.669227367462, + -1.35162201428, + -0.500320375896, + -0.92894912864, + -0.9470084272, + -0.951280704712, + -0.947229481546, + -0.865023951433, + -0.593243938738, + -0.547410115313, + -0.862082117158, + -0.96987866046, + -0.905987087726, + -0.404605638525, + -0.405332881411, + -0.572658386496, + -0.205625468925, + -0.872193534078, + -0.37744247924, + -0.613315924488, + -0.338737903404, + -0.74501079892, + -1.34221517759, + -0.154504118159, + -0.468062988679, + -0.56336122959, + -0.48157694381, + -0.143151817852, + -0.869588824529, + -0.579557514387, + -1.11592789851, + -0.876362802868, + -0.53320364861, + -0.340498919317, + -0.917659492801, + -0.499263733892, + -0.3104747395, + -0.534825842355, + -0.79168687442, + -1.04395586496, + -0.727757579127, + -1.29392901746, + -0.856085080792, + -0.389288678763, + -0.232567176757, + -0.812366222494, + -0.303510509979, + -0.180606944397, + -0.421086935007, + -1.20177040951, + -0.696555010949, + -0.6045892542, + -0.0531746343099, + -0.838611087964, + -0.375927824162, + -0.707820635893, + -0.472547901815, + -0.497928976328, + -1.01478101156, + -0.645511105508, + -0.587394982864, + -0.816969998617, + -0.573377638698, + -0.306091691779, + -0.445022339908, + -0.187125918025, + -0.991538036615, + -0.42926181917, + -0.0836789188442, + -0.193013270333, + -0.748006934716, + -0.606028707226, + -0.625166716385, + -0.238888014557, + -0.737029641206, + -0.814333080667, + -0.91690961036, + 0.125202292842, + -0.598522430464, + -0.363273877468, + -0.265005904528, + -0.55023851096, + -0.590315786584, + -0.742558086661, + -0.347205651014, + -0.315542648542, + -0.0511501712559, + -0.375678609587, + -0.44848027679, + -0.480506735012, + -0.634513449279, + -0.499436042048, + -0.377372400729, + -0.979504245361, + -0.228850821502, + -0.177322269152, + -0.993243529345, + -0.0834706631689, + -0.178292652993, + -0.423336614399, + -0.437489594692, + -0.387867078964, + 0.0359032544345, + -0.768400323361, + -0.880436293083, + -0.113434009833, + -0.156985461632, + -0.474975508261, + -0.534973518655, + -0.134487878512, + 0.256187865309, + -0.0953085265153, + -0.555594766333, + -0.837272447995, + -0.409021752419, + -0.760281212606, + -0.797614414686, + -0.431258146069, + -0.908206739304, + -0.359746353402, + -0.0697050500641, + -0.0169458943088, + -0.249397303667, + -0.186916145075, + -0.49546600706, + -0.626011000651, + -0.209598082338, + -0.611755095467, + -0.701846867205, + -0.588528378346, + -0.739044784952, + -0.743195020912, + -0.648526254769, + -0.0939483521405, + -0.328064660955, + -0.802859403674, + -0.670122188743, + -0.0788047108045, + -0.115589159147, + -0.0412229069184, + -0.129879658969, + -0.150322176973, + -0.457673152061, + -0.58282986866, + -0.128431856528, + -0.280004806329, + -0.147760442915, + -0.125994645226, + -0.351319127648, + -0.916986960238, + -0.0682023283687, + -0.369887858856, + -0.310110916539, + -0.417303598907, + -0.401821425308, + -0.0654416767524, + 0.0837918851735, + -0.298760158278, + -0.461214719893, + 0.0409868012426, + -0.179163337758, + -0.480056286711, + -0.214327607809, + 0.0666088918964, + -0.0642578583873, + -0.588495024071, + -0.333334771365, + -0.732590956163, + 0.0646945023666, + -0.452521277814, + 0.00187401454126, + -0.431848482619, + -0.52705814528, + -0.50805102327, + -0.188526523792, + -0.387118866173, + -0.218075835362, + -0.521755687113, + -0.487507541963, + 0.29333099797, + -0.652457885382, + -0.503657873063, + -0.0593586418365, + -0.507547871741, + -0.346414799302, + -0.199616570882, + 0.043799436223, + -0.249310266621, + -0.0696223049976, + 0.216258615773, + 0.179590046404, + -0.268291470073, + -0.0726955234052, + -0.266086636369, + -0.45321832241, + -0.380589204893, + 0.0849131342107, + -0.267797909958, + 0.0643343240858, + -0.66964184137, + -0.515411428621, + 0.0684760613136, + -0.146478678563, + -0.416205681858, + -0.83098834909, + -0.725868612635, + 0.119365847099, + -0.0954378087244, + 0.0920794028818, + -0.0392517721198, + 0.0445528273561, + -0.414402497179, + -0.258815616515, + -0.478076131055, + -0.49710114898, + -0.318258703027, + -0.240497642309, + -0.147983756068, + -0.292952083077, + -0.410054376636, + 0.169142127399, + -0.699050261513, + -0.200237281792, + 0.197956462189, + -0.15202393118, + -0.722133735535, + -0.465721105987, + -0.285254489895, + -0.496592731249, + -0.344438874787, + -0.182172671133, + -0.222715500031, + -0.23273380159, + -0.10581486955, + -0.567800633852, + -0.269075930778, + -0.192718803442, + -0.703425114984, + 0.00149398546997, + -0.659867123557, + -0.472730872244, + -0.516057526798, + -0.421011682873, + -0.760942799303, + -0.0992656221964, + -0.681315761021, + -0.0601557252497, + -0.486645256605, + -0.655160021725, + -0.273061296311, + -0.176444193885, + 0.157325706089, + -0.148781341998, + 0.047790898396, + -0.098647803393, + -0.179633408155, + -0.538101159545, + 0.470759769586, + 0.00697928358721, + 0.282091559658, + -0.290912826109, + 0.153999006273, + -0.278279476158, + -0.452187088574, + 0.0818493913191, + -0.392381375946, + 0.00786063447283, + -0.354022952017, + -0.15875369511, + 0.0595993118041, + -0.149106224832, + -0.946526026507, + -0.147262595371, + 0.0188733279786, + -0.486012986434, + 0.468892419733, + -0.0255097586154, + 0.167727012362, + -0.0634299114357, + -0.141436098323, + -0.0343921491763, + -0.0144164665342, + 0.118361021003, + -0.394661349125, + -0.475782241563, + -0.337388130346, + 0.185511362969, + -0.241866098332, + 0.255421706515, + -0.152430994918, + -0.708539265764, + 0.0947223382126, + 0.0765117661216, + -0.357792879549, + -0.352146670158, + -0.210204123446, + -0.751706432018, + 0.303672190883, + 0.00050174509462, + -0.513495867459, + -0.0682437606033, + -0.0135104540718, + 0.0631202188709, + 0.08167607506, + 0.0192124724736, + -0.215758248082, + -0.392485804018, + -0.51959779115, + -0.723237932736, + -0.299522971408, + 0.227338090169, + 0.123793659909, + -0.0573294976281, + -0.289504566444, + -0.341724591535, + -0.116585276423, + -0.341705274087, + -0.380633967224, + 0.0273683325878, + -0.305979550523, + -0.0820969766266, + -0.158350207107, + 0.132538481499, + -0.0243086219284, + 0.0866660948003, + -0.285908910484, + -0.165308626059, + -0.207671046831, + 0.0428814927132, + -0.752145091757, + -0.837324041459, + -0.274435578823, + -0.528294104662, + -0.239734165383, + 0.24880804911, + -0.0762859216464, + -0.357203583315, + -0.0973632551199, + -0.530197503041, + -0.0636309860897, + -0.382219599884, + -0.359867911142, + 0.676109523542, + -0.732849891257, + -0.315582479856, + -0.119894362467, + 0.367229600453, + -0.349632890692, + -0.394222965779, + 0.062733115263, + 0.095347541381, + 0.358739592031, + -0.347205689436, + -0.455756869216, + -0.21455941705, + -0.018355190646, + -0.117181313624, + -0.12936444109, + 0.218450994811, + -0.0266384643863, + -0.126250405431, + -0.32352931943, + 0.119914647848, + -0.635663219347, + 0.446417977493, + 0.322889539183, + -0.32341595554, + -0.159694741723, + -0.000920684658562, + -0.18515448334, + -0.529224184143, + -0.30920100643, + -0.0807547496362, + 0.0083411150766, + 0.093036841578, + -0.56276561686, + 0.415094706323, + -0.427866381473, + 0.0867371191597, + -0.425319185365, + -0.117917745028, + -0.200432749888, + -0.184199306974, + 0.0466752392136, + -0.37923770405, + -0.264388865231, + 0.114831869293, + 0.606838233269, + -0.0840846691926, + -0.171458058636, + -0.217417244561, + 0.211396562645, + -0.115220714293, + -0.225410413316, + -0.236539403577, + -0.431712655117, + -0.40043309762, + -0.167843469574, + -0.278920139837, + -0.273743304997, + -0.0129005279734, + -0.0480228435703, + -0.30669902063, + -0.124184779236, + -0.43987145949, + 0.441109325734, + -0.381071561808, + -0.010256882341, + 0.257523528461, + -0.625025420995, + 0.246134478623, + -0.114346964225, + 0.132064676675, + -0.0333069273585, + -0.0962803011569, + 0.323702769148, + -0.219676814751, + -0.435541800416, + -0.282350612921, + 0.0945698261817, + -0.146723683563, + -0.305066494512, + -0.247480208963, + -0.193653529159, + -0.1647221428, + 0.146549925264, + -0.160683500042, + 0.236707508024, + -0.34583351183, + -0.232016296133, + -0.320764763893, + -0.192817053495, + -0.339810153259, + -0.23473225583, + -0.0793945449217, + -0.0828887080015, + 0.0385788966512, + -0.80684119366, + -0.210169618061, + -0.316840014073, + 0.200830533799, + -0.131113014899, + -0.66111337767, + -0.0173465601361, + -0.292357430889, + 0.0627152801907, + 0.479810068942, + -0.55096114455, + -0.398627836838, + 0.139260233217, + -0.151048302899, + -0.224802643594, + -0.614935519577, + -0.316709027695, + 0.484400512569, + 0.150520666689, + 0.335240972167, + 0.133289167759, + 0.341902548673, + -0.0484056680416, + 0.0275021664581, + 0.123151627609, + -0.228032134566, + 0.0144223601186, + -0.154960086559, + -0.305249623632, + -0.291721269332, + -0.41855277202, + -0.326252721105, + 0.175611917491, + -0.564700962124, + -0.163840043891, + -0.222211867876, + -0.152585039264, + 0.510753591373, + -0.211351596819, + 0.288908919139, + 0.115697853351, + -0.273753140125, + -0.0604490543128, + 0.0965428271609, + -1.0039116105, + -0.286264917357, + 0.070103472738, + 0.303178930022, + -0.202704131932, + 0.0251795325152, + 0.409689480989, + -0.258780166004, + 0.261138124434, + 0.00901456124037, + -0.104063587425, + 0.317363181144, + -0.455572141893, + -0.53436692428, + 0.112482030583, + -0.579337050673, + -0.270255915433, + -0.197006054342, + -0.678363951146, + -0.375823549518, + 0.0996542613761, + 0.0579399608972, + -0.291986960898, + -0.332394202862, + 0.0248556566456, + 0.0781675939344, + 0.00543640168091, + 0.241408254884, + -0.0116647695811, + -0.436155422587, + -0.141685842047, + -0.0556084898602, + -0.541790715567, + 0.330534481002, + 0.150075717805, + -0.291867998496, + 0.0388547687461, + 0.066174485449, + -0.195600723385, + -0.0478082264031, + 0.0580312179716, + 0.0000849638101149, + 0.210862125531, + 0.176483853277, + -0.189242551585, + -0.616887540776, + -0.5130666759, + 0.580687834058, + 0.436337687656, + -0.155555921104, + -0.0507910982818, + -0.462026629076, + -0.061209771324, + 0.13714088749, + -0.243400685872, + -0.0728598538998, + -0.0455896053393, + 0.236724767056, + -0.271748525513, + 0.363351708765, + 0.00321539324397, + -0.393579952457, + 0.00111930238007, + 0.044751746023, + -0.331739271561, + 0.0546314980786, + -0.262427693426, + -0.387379137482, + -0.598872528347, + -0.00208209147732, + 0.20867255083, + 0.342661720147, + -0.123812258102, + -0.347497502803, + 0.211690518537, + -0.0369538805502, + -0.101642513344, + -0.514351417759, + 0.25946587855, + 0.337155209667, + 0.0353093142018, + 0.254171734868, + -0.00885172335769, + 0.00667283486279, + 0.0985896253693, + -0.459496439621, + -0.186750765445, + -0.169047076532, + 0.0486291034378, + 0.280323305652, + 0.345825938655, + 0.398011528234, + 0.110409892018, + -0.401082095829, + -0.200763578573, + -0.506140115094, + -0.0853994928239, + -0.124972532982, + -0.0722483067074, + 0.108349380919, + -0.0308624552808, + 0.265662632283, + -0.275173157869, + -0.298687997797, + -0.248975984442, + 0.314155814452, + -0.156797479108, + 0.588937914051, + 0.00913339818521, + 0.231051775406, + 0.0759203741183, + 0.128593397038, + 0.217338711025, + 0.305047000719, + 0.0750524610939, + 0.103742650734, + 0.238970021357, + -0.526813737125, + -0.0968849039039, + 0.223394122561, + -0.585511535454, + 0.136863516373, + -0.0671048868047, + 0.270008215096, + -0.0978533804993, + -0.100505946012, + 0.324510815626, + -0.0136994830976, + -0.151695646832, + 0.33735762683, + -0.525500886485, + 0.234405616641, + 0.141631244156, + -0.238247513507, + 0.0154845130683, + -0.545778083975, + -0.262350689114, + -0.0895612576352, + 0.555609133354, + -0.103049446692, + -0.116495095349, + 0.445974315123, + -0.283613853956, + -0.11284964095, + -0.43510334591, + -0.0307632060173, + 0.227351442264, + -0.133682588731, + -0.130166313296, + -0.189781540487, + -0.336892797674, + -0.561341544105, + 0.468575416458, + -0.52785476207, + 0.0836719781697, + -0.187430911798, + 0.297294009792, + 0.202290452653, + 0.118980719079, + 0.422397346159, + 0.410544874459, + 0.83899288922, + -0.140417107808, + 0.0325785903962, + 0.0231557933716, + 0.185284717282, + 0.137094210787, + -0.296208530477, + -0.401116505279, + 0.244160743332, + 0.0159801016478, + 0.0653760476988, + -0.233105300989, + -0.019979141975, + -0.400259526, + 0.379735283518, + 0.138779753555, + 0.329509814932, + 0.582887989653, + -0.425053379924, + 0.250684405386, + 0.122280365022, + -0.350310307869, + 0.249770890486, + -0.368483401823, + 0.0838904984214, + 0.1559845851, + -0.302336453024, + -0.813298778244, + 0.505582726337, + 0.439775606116, + 0.757681422666, + 0.32037421082, + -0.499453248206, + -0.0807282965582, + -0.11499441908, + -0.28127951713, + -0.336393953653, + 0.152591431207, + -0.134206118719, + 0.356826176621, + -0.0711225676897, + -0.0231414190216, + -0.838846530246, + 0.194394489854, + 0.210848814286, + -0.284100211897, + -0.154704273285, + 0.128038904044, + 0.117654917275, + 0.143051953626, + -0.137693822142, + 0.0401470831961, + -0.0836702464699, + -0.559557494709, + -0.429624750811, + 0.226258343562, + -0.129615995069, + 0.12589719058, + 0.0163146913938, + -0.180664458083, + 0.318585247497, + 0.171999731099, + -0.293944242925, + 0.685187283697, + 0.0910195788297, + -0.612089557562, + 0.102540460265, + -0.0332360409378, + -0.611924043575, + -0.090061815255, + 0.197422125894, + -0.437780453076, + 0.0100196221381, + 0.79548843861, + -0.167184871467, + 0.0907830884498, + -0.272475735432, + 0.256327762144, + -0.0944207729951, + 0.356999691317, + -0.292595815835, + 0.450172790429, + -0.0879719035327, + -0.463215510637, + -0.17210461229, + 0.0755485147146, + -0.0196942804073, + 0.129312377011, + -0.203875329709, + 0.162368868391, + -0.00340445556973, + -0.171968385786, + -0.104917932493, + 0.19003579863, + 0.803390871168, + 0.140797222948, + -0.113667716743, + -0.225648212174, + -0.41658060355, + 0.148496177866, + -0.245223409681, + -0.212045037634, + -0.273715306554, + 0.0586326027761, + -0.209186669154, + -0.307024292504, + -0.128614158982, + -0.12958725156, + 0.197018467819, + 0.0762195243649, + -0.282688324249, + 0.510296307573, + 0.17942223049, + 0.0383683570954, + 0.0962041484363, + 0.00875315270551, + -0.155332966454, + -0.0297246533167, + 0.157746283923, + -0.168464667464, + 0.170879478843, + 0.477431192049, + -0.0952240888658, + 0.208116037147, + 0.316909347673, + -0.27632218974, + 0.0530365658804, + -0.0236717633168, + -0.328514201592, + 0.0969486898694, + 0.312906865288, + -0.34255621396, + 0.176150047021, + -0.228577138372, + 0.287942669864, + -0.640328276618, + -0.161695908841, + -0.312108100275, + -0.00558865872818, + 0.18511896352, + -0.0255537664455, + 0.0731308235112, + -0.0921654980273, + 0.177329974819, + 0.147534854912, + -0.073194283383, + 0.190977353506, + -0.101759595819, + 0.10172207452, + 0.0676630933452, + -0.529779772547, + 0.0211788458584, + -0.0592627292774, + -0.00410965148025, + 0.489616981085, + -0.660998522068, + -0.0483173520289, + 0.0527836656231, + -0.335968021967, + -0.278093867206, + 0.0955757085784, + -0.0828714659638, + -0.250671647361, + 0.499255341743, + 0.177223079624, + 0.113621125514, + -0.169726671856, + 0.192193096101, + -0.737188986318, + 0.234889972003, + 0.265548448408, + -0.223080846034, + 0.322786906627, + 0.164117217437, + 0.043929815193, + 0.125433623586, + 0.118513689462, + 0.294041814848, + -0.256669274552, + 0.135587036437, + 0.574639757137, + -0.0406343402632, + -0.130136234502, + 0.225531550217, + -0.134127263765, + -0.917875059147, + -0.158508958819, + -0.0275205685044, + -0.0475982623286, + 0.697997906371, + -0.709213889168, + 0.226496864801, + 0.321008847288, + -0.208185155977, + 0.0439335031534, + 0.296880790602, + 0.198523123676, + 0.113044378791, + -0.475140358636, + -0.0539969184274, + -0.194506994113, + 0.118542515101, + -0.0835159869162, + 0.440623091287, + -0.519977307968, + -0.0962711284438, + 0.13764103895, + 0.0941191249761, + 0.436001369777, + -0.238717199103, + 0.0607881510739, + 0.131443899458, + -0.365125196586, + -0.32007395013, + -0.202347619026, + 0.442922671754, + 0.11735469862, + 0.241674463338, + 0.427937344678, + -0.241747763743, + 0.0456843303988, + 0.156565192694, + 0.0739776199681, + -0.257470936337, + 0.0276603820499, + -0.26864371662, + -0.0612444179423, + 0.0155906308716, + 0.111907849882, + 0.442422035681, + 0.234070487245, + -0.117221275614, + 0.171927520854, + 0.114133060263, + -0.111428582758, + -0.573340823559, + -0.149734923157, + -0.302474093389, + 0.217749343355, + 0.458911814024, + 0.282510448805, + -0.330308346164, + 0.210990788921, + -0.224447866977, + 0.0343429651954, + 0.119434430628, + -0.173730940073, + 0.29994643864, + 0.249636971158, + 0.325063958604, + 0.0281502285555, + -0.345387810533, + -0.0366964494252, + -0.0163079411626, + -0.0673124930164, + 0.373689593844, + 0.054399547869, + -0.281250135196, + 0.0732683878375, + -0.201729414513, + -0.019880974051, + -0.0643202341666, + -0.237868186507, + -0.335117032503, + -0.106678581186, + 0.181335294188, + 0.215940716362, + 0.0132612792814, + 0.247980996895, + 0.307049178831, + 0.442555685549, + -0.0731032181992, + 0.27593297332, + -0.358924711633, + -0.436083438032, + -0.339564169995, + 0.00197384390122, + 0.0390397433053, + 0.266213125588, + 0.58365871518, + 0.285815577065, + -0.0185020020416, + 0.0681939719893, + 0.195648121923, + -0.197338050297, + 0.0765331792103, + -0.128958764661, + 0.119086176053, + 0.00282454321406, + -0.312947206315, + -0.695964401167, + 0.553239774023, + -0.0376879201897, + 0.0746397518185, + -0.176950259932, + -0.539628816011, + 0.516822108129, + -0.0622217985455, + 0.150926764091, + 0.0105252148421, + -0.0399099182141, + 0.241303517604, + 0.149541831072, + -0.10893577126, + 0.290634236282, + 0.241512343063, + 0.12203163533, + 0.0542806812104, + -0.502567942781, + -0.454161777539, + -0.199479307882, + 0.438411665049, + -0.0641438807352, + 0.00594461911697, + 0.239920358582, + -0.41998733054, + 0.371973299782, + 0.588003757256, + -0.262176941033, + 0.173621192572, + -0.25766576834, + -0.00965134256269, + -0.223307469429, + -0.356565589984, + -0.547550930495, + -0.143957201672, + 0.200328892021, + 0.500515827125, + 0.139532730512, + -0.543648406397, + 0.107904823323, + -0.0356731632355, + -0.0708056100558, + -0.511627016889, + 0.165933002149, + 0.619878225607, + 0.116931235693, + 0.345863463859, + 0.0517921868435, + -0.227110996032, + -0.332289758136, + -0.437738102645, + 0.00408070682058, + -0.210225019182, + -0.706774085568, + 0.266253898061, + 0.307942412599, + -0.339109940764, + -0.752690007293, + 0.177559825543, + 0.14747008255, + -0.0425676491291, + 0.157885178461, + 0.104164775971, + 0.387627860985, + -0.707867528286, + 0.334999096451, + -0.189684258708, + 0.572253554318, + -0.137323556885, + -0.19114713855, + -0.0688812083589, + 0.23351459852, + 0.392166474454, + 0.336396189118, + -0.380858373114, + 0.20508502413, + -0.25853384522, + 0.0530446418702, + 0.0681919588066, + 0.148177885756, + 0.240202152085, + 0.185186218601, + -0.213638399254, + -0.342717973358, + 0.152967439734, + -0.514902498319, + 0.243831772953, + -0.314853254444, + 0.149778402644, + 0.0466057025477, + -0.0481525976904, + -0.108658987573, + -0.419283102067, + 0.396228113786, + 0.198734513953, + -0.314060288959, + 0.0204589878278, + 0.0390433530684, + -0.163529556693, + -0.0248469139999, + 0.0827430352635, + -0.385160839068, + 0.190355620369, + 0.734164602564, + 0.385362784494, + -0.0745966822104, + 0.445076205239, + 0.0321274976509, + 0.0612078853499, + -0.0221726101469, + -0.195237127187, + 0.109911393427, + -0.212841741942, + 0.0791356462832, + -0.209871066639, + -0.123012301344, + -0.00477279105379, + -0.0361132859132, + -0.5366574356, + 0.0617332497372, + 0.204923416937, + 0.199909195072, + 0.130106472837, + 0.0637009544758, + 0.0990587525174, + 0.125143769129, + -0.231967013973, + -0.756104944965, + 0.411061327646, + -0.00120166481615, + 0.0178389817873, + -0.0198600319551, + -0.119465104176, + 0.294216946987, + -0.196086458215, + 0.378339666513, + -0.332729311165, + -0.302519191423, + 0.166620706661, + -0.28641018466, + 0.10831007804, + 0.24896644621, + 0.452718429403, + 0.231927473009, + -0.478445403976, + -0.256712872314, + -0.430090235381, + 0.0376316359898, + -0.28381847539, + -0.367661611668, + 0.0877064333425, + 0.376750784251, + -0.265560654647, + 0.501181497381, + 0.108032149009, + 0.889711415547, + -0.137525983149, + 0.134708662242, + -0.119213498324, + -0.137377924061, + 0.19946584583, + 0.20501999232, + 0.575311534307, + 0.307794811402, + 0.139171914562, + 0.356485953565, + -0.315761592406, + -0.210584241272, + 0.392558448326, + 0.241199260719, + -0.147875910219, + 0.112497602132, + 0.179914814888, + -0.0229983132652, + -0.397803354683, + 0.0671250322881, + -0.331323687431, + -0.00912602706332, + 0.334527896269, + 0.205953475887, + -0.0234617894485, + -0.253416488078, + 0.00583198173737, + 0.451965496671, + 0.165643675439, + 0.281642160743, + 0.0748306941871, + 0.702511267951, + 0.350164048778, + -0.0207171017099, + 0.35984049302, + -0.0726923355015, + 0.0302373164135, + 0.0401325474357, + -0.0379731780604, + -0.255532767225, + -0.278660772664, + -0.139171356288, + 0.343988609434, + 0.400045852442, + 0.0391050092126, + 0.0869111313014, + 0.122449955787, + 0.150959641768, + -0.15990891272, + 0.0160108959812, + -0.148992391859, + -0.0107758097286, + 0.326746851849, + 0.0460898055773, + -0.745788977551, + -0.32524348583, + -0.327433874558, + 0.130470876216, + -0.329628459927, + -0.330464310425, + -0.198990335733, + -0.158585846199, + 0.0226292641789, + 0.169445490883, + -0.103529163554, + 0.207200055765, + 0.0611726352167, + -0.0913039242659, + 0.343145918842, + 0.0119649160912, + 0.150188551554, + 0.219424706567, + 0.154683380898, + -0.0283950822091, + 0.625517112525, + -0.111131025284, + 0.131077324556, + 0.384626572335, + 0.040990805625, + 0.244877888818, + -0.472381432844, + -0.157368813469, + 0.055396454516, + 0.390699709925, + 0.165143065213, + 0.184998840495, + 0.287459019165, + 0.336639465269, + 0.333387087283, + 0.0528129607628, + 0.240339309265, + -0.262063296851, + -0.283110443776, + 0.0136420406289, + 0.167731809827, + 0.356346996689, + -0.0765016359879, + 0.391493953251, + -0.0630058956113, + 0.0745304449461, + 0.596222608149, + -0.243341219837, + -0.200244421222, + 0.0236231142023, + -0.0380332736732, + -0.136528905352, + 0.849841716491, + 0.483117275117, + 0.483071903054, + 0.236816725832, + -0.0877016097925, + -0.198849713175, + 0.0466306531206, + -0.0301779519697, + -0.669582112462, + 0.604692440069, + 0.337833454047, + 0.0795558977701, + -0.0870327641076, + -0.0171336296122, + 0.0762582953265, + 0.398458247808, + 0.144000961383, + -0.129076290781, + 0.654224951592, + 0.946824064275, + 0.00883670493073, + 0.0723593417974, + -0.00926134842245, + -0.149870621907, + 0.149386511946, + 0.0371237757845, + 0.657029499902, + 0.493098299946, + 0.0587914474409, + -0.405821759181, + -0.182329954439, + -0.216274308297, + 0.569920240556, + 0.293891122521, + 0.0451597236263, + -0.27085159243, + 0.212511374238, + 0.325038666916, + 0.161286614271, + -0.138355560198, + 0.0313363280993, + 0.290431694104, + 0.171537284357, + -0.193279249717, + 0.298074938405, + 0.378722826511, + 0.0827504635306, + -0.16688630569, + 0.0102853021697, + 0.362829335614, + 0.24220061619, + 0.449517326386, + 0.170559248039, + 0.490123827701, + 0.250879258179, + 0.285932030997, + -0.0739778740296, + 0.102257802629, + -0.32459096433, + 0.270067477768, + -0.161672119435, + -0.0966975672494, + -0.00139797947837, + 0.0688232304139, + 0.171232534373, + 0.362531827399, + -0.0493624909231, + -0.582594813359, + -0.184499259733, + -0.0580714142616, + 0.274822457899, + 0.461765536712, + -0.0942197152278, + -0.0740275694596, + 0.464980895012, + 0.3744176828, + -0.297899143985, + 0.278340883023, + 0.166263046813, + -0.123518461853, + -0.241375644537, + 0.700138624804, + -0.207351570172, + 0.54262199023, + 0.0504709608346, + 0.177050121803, + 0.0768182557539, + 0.270115367083, + 0.702981235552, + 0.0458715929153, + 0.50781491875, + -0.17987227472, + 0.243046525929, + 0.344830890972, + -0.327152937323, + -0.0163151262048, + -0.204070623997, + 0.167383101548, + 0.0520900117659, + -0.289746089936, + 0.370835347612, + -0.22106626109, + 0.71349926576, + 0.298336035023, + 0.340857605676, + 0.169403522413, + 0.441908759225, + 0.0388038442397, + 0.072783783723, + 0.696843369097, + 0.546458528808, + 0.547175674341, + 0.761523294965, + -0.0938650877598, + 0.0918351189311, + 0.599514199765, + -0.181457858582, + 0.538509640706, + -0.355421241481, + 0.136713674944, + 0.508328627754, + -0.476262398017, + 0.22593294104, + -0.220834461505, + 0.361612427822, + -0.204115546657, + 0.420050760489, + 0.138319966911, + 0.272335399297, + 0.177680623374, + 0.311499042797, + -0.017826721055, + 0.388055452832, + 0.603236701294, + 0.116836461312, + 0.160522605245, + -0.514190645612, + 0.300956472986, + -0.137887647125, + 0.441411988539, + -0.0066129626654, + 0.487800083166, + 0.0909370291456, + 0.527284160093, + 0.105079630996, + 0.0617405085786, + -0.195843373329, + -0.118960693362, + 0.249640844802, + 0.796865076978, + -0.0330337923031, + -0.104212489171, + 0.257292502696, + 0.558313672984, + 0.219054734464, + -0.0561029237627, + 0.659262100888, + 0.0339585263205, + 0.550715213607, + 0.312441834183, + -0.306097659683, + 0.519345366615, + 0.148227250176, + 0.322224963362, + -0.184292571206, + 0.254347252911, + 0.248586000224, + 0.174216377853, + 0.251486381611, + 0.209387150177, + 0.693914444904, + -0.0498059636847, + 0.280546423054, + -0.0979564011935, + 0.381982732182, + 0.264122597126, + 0.563390400357, + 0.31512988223, + 0.422172658101, + -0.0158852986109, + -0.00932571597003, + 0.16482826548, + 0.24710507505, + 0.432082044492, + 0.378007551706, + -0.118945421588, + 0.444658580642, + 0.219907873818, + 0.886122548269, + 1.10953721601, + -0.453075551421, + -0.028687335687, + 0.399694963446, + 0.624948061864, + 0.176653396316, + 0.414213479212, + 0.354364114871, + 0.154644372851, + 0.129284565006, + 0.597048571661, + -0.0985434720048, + -0.21580778762, + -0.110298465877, + 0.497898879023, + 0.0290393132821, + 0.242449981961, + 0.163441128326, + 0.347325731566, + 1.17799903007, + 0.156185241978, + 0.601482106279, + 0.352871145956, + 0.0468123060371, + 0.481458075834, + -0.278398675214, + -0.245019663736, + 0.67237970864, + 0.331479952036, + 0.0494138271299, + -0.362297663396, + 0.733395012527, + 0.477535282366, + 0.206681234505, + 0.240857542086, + 0.549164304819, + 0.536978276837, + 0.443112205231, + 0.756129359431, + 0.924050894485, + 0.285098087199, + 0.115270680623, + 0.157000312225, + 0.452880880575, + 0.0170567762705, + 0.268932123755, + 0.36843948358, + -0.450676457022, + 0.860323423916, + 0.091322050349, + -0.0637040030499, + 0.318506961762, + 0.43391951377, + 0.436554996882, + 0.233038729, + 0.501325920865, + 0.228223560073, + 0.251881058691, + 0.248429087063, + 0.473598261663, + 0.392715755593, + 0.147755534034, + -0.268630674588, + 0.72540126066, + 0.425750816551, + 0.657509261484, + 0.384841406971, + 0.0192592705212, + 0.386054741553, + 0.346773045855, + 0.576407790785, + 0.0488951930226, + 0.0555852598323, + 0.315092869311, + 0.618047548558, + 0.784124042259, + 0.430086062059, + -0.0701380984036, + 0.433178928013, + 0.344378455015, + -0.0286496915042, + 0.364301102306, + 0.484912905208, + 0.824468678568, + 0.307437414102, + 0.108759185533, + 0.190474749389, + 0.548242041113, + 0.276722424459, + 0.701758620157, + 0.30541292431, + 0.32101754489, + 1.08365020507, + 0.740749547082, + 0.640744498656, + 0.795630741761, + 0.765137138556, + 0.256660943679, + 0.0906429933848, + 0.356284659497, + 1.44521617714, + 0.151774969644, + 0.676471712029, + 1.01135404929, + 0.345252516335, + 0.519366777595, + 0.541388158704, + 0.373607478697, + 0.171804998959, + 0.163623938073, + 0.578772194587, + 0.853212066894, + 0.729925969659, + 0.477194529646, + 1.14879775942, + 0.286671774202, + 0.487017197952, + -0.151756399147, + 0.011162145632, + 0.0242201403285, + 0.19486189468, + 0.146677217959, + 0.941538591988, + 0.480452112006, + 0.98938462865, + 0.485268463107, + 0.885613965288, + 0.466887106232, + -0.0123987300925, + 0.966306771319, + 0.351899040244, + 0.347773584249, + 0.509239005689, + 0.596878613203, + 0.149425688966, + 0.324788797106, + 0.0729090183224, + 0.491741772434, + 0.51252904314, + 0.0381160561583, + 0.267352751905, + 0.348484842162, + 0.442371637055, + 0.589408666005, + 0.575937937527, + 0.60131735028, + -0.354144152664, + 0.931537065157, + 0.241814017504, + 0.683093286271, + 0.187683593789, + 0.807608198902, + 1.0989055685, + 0.269008766803, + 0.529974207757, + 0.517324980167, + 0.96121601012, + 0.577925934342, + 0.748228052265, + 0.772267464828, + 0.512694627835, + 0.798084693337, + 0.804367971235, + -0.0209476922623, + 0.0552848803472, + 0.86721428767, + 0.371502321177, + 0.990960709781, + 0.547789006763, + 0.797843508832, + 0.852936291051, + 0.568996365556, + 0.519905414674, + 0.776886211867, + -0.0508252917084, + 0.406816881954, + 0.622308430896, + 0.369363003748, + 0.880194285992, + 0.692844402758, + 1.31742621633, + 0.471492897365, + -0.0197746714894, + -0.18903987504, + 0.407894939264, + 0.085408350746, + 0.689369451715, + 0.565132557183, + -0.11771936782, + 0.684910420288, + 0.932235891875, + 0.57600416727, + 0.117623583739, + 0.314806191307, + 0.332681512165, + 0.474178800481, + 0.890747110179, + 0.319609347441, + 0.255622385693, + 0.674694630558, + 0.503290578697, + 0.452697886849, + 0.811715674304, + 0.663228362069, + 0.714378186964, + 0.437137008263, + 0.749964067784, + 0.561800588263, + 0.416577472948, + 0.591946647762, + 0.591970512269, + 0.765361052995, + 1.06202577403, + 0.256355123962, + 0.666657778147, + 0.978625915106, + 0.235944473101, + 0.72285388076, + 0.531229633232, + 1.21876420579, + 0.975581782093, + 0.893261359176, + 0.474058131282, + 0.309775017257, + 0.909727622684, + 0.782760283514, + 0.0512693950018, + 1.19949424388, + 0.637982607341, + 0.97843506165, + 0.880492471707, + 1.08218168782, + 0.395267647614, + 0.607737025959, + 0.353190784993, + 0.604590667762, + 0.828543192226, + 1.04899631186, + 1.03900721803, + 0.219341618423, + 0.0919975396421, + 0.811317242676, + 0.727220971223, + 0.635227363761, + 0.821927300839, + 0.217714244774, + 0.942378736373, + 0.844825516236, + 1.00660895354, + 1.0184454016, + 1.36583996227, + 0.630158321793, + 0.954670857035, + 0.493324490109, + 0.606812403726, + 1.69023554401, + 0.860347965511, + 0.296146773694, + 0.873827016382, + 0.98936019584, + 1.0033117667, + 0.507165544186, + 0.695225477996, + 0.487200167231, + 1.12032242293, + 0.418330308095, + 0.284917123511, + 0.537745504926, + 0.878594024249, + 1.10485507812, + 1.10835679114, + 1.07079287644, + 0.742837639257, + 1.11032104605, + -0.0417423866991, + 0.253587857657, + 1.03173495618, + 0.759650286052, + 0.442889920403, + 0.960426169527, + 0.602524490308, + 0.415789534153, + 1.15306843611, + 0.439187039404, + 1.16738339081, + 0.657176390519, + 1.10868380295, + 1.09291556013, + 0.617471881828, + 0.856628336456, + 1.2614821652, + 0.684101208507, + 1.28966590338, + 0.747829769068, + 0.581463795549, + 0.196454499801, + 1.06324618055, + 0.629887978425, + 0.428857547891, + 0.624782401251, + 0.942719384636, + 0.661986862651, + 0.440975959628, + 1.20838089135, + 0.930608624773, + 0.939691222391, + 0.544457804274, + 1.41093796385, + 1.17988108494, + 1.04156810148, + 0.447135217489, + 0.967830103448, + 0.965960709317, + 0.750353992493, + 0.986505580759, + 1.2682786205, + 0.440898965113, + 1.21047804622, + 1.03390652665, + 1.23902236568, + 0.970766089445, + 1.22997991073, + 1.2403789256, + 0.714690158222, + 1.06517991737, + 0.898279267435, + 0.670027145929, + 1.28628586971, + 0.970225356617, + 1.36592073771, + 0.684773994386, + 0.526669723478, + 1.01250218142, + 0.763529561366, + 0.614285288095, + 0.770552432244, + 0.675108430848, + 1.01562026235, + 1.20481774993, + 1.14659802013, + 1.0692771944, + 1.05045697098, + 0.826206553319, + 0.974710691408, + 1.15625063318, + 0.780868973885, + 0.610608035552, + 1.30820774069, + 0.435758957449, + 0.538460050728, + 1.03594485497, + 1.01977721181, + 1.13317701751, + 0.86664676005, + 1.42232692379, + 0.838036574122, + 1.27208055898, + 0.991768940106, + 0.603616701918, + 1.03568923701, + 1.05342205299, + 0.886953274991, + 1.16479542788, + 0.889010298031, + 0.708090605132, + 1.14134209432, + 1.12678213347, + 1.06671667798, + 1.2791999104, + 1.20725671385, + 1.3105256506, + 1.84670135381, + 1.30069848063, + 1.22155213787, + 0.573368090917, + 1.06863209614, + 1.79292067497, + 1.06916237679, + 0.564074090489, + 1.02214184179, + 1.31453583845, + 0.89798666227, + 1.01240018125, + 1.31509636468, + 1.10481437329, + 1.05391268573, + 0.77191429933, + 0.77364971407, + 1.20397816594, + 1.08539463053, + 1.21292806105, + 1.08160100776, + 1.13578790124, + 1.40025929521, + 1.31436726374, + 1.52562935386, + 1.26489254693, + 1.40784254535, + 0.460307581457, + 1.60269919953, + 1.28350437992, + 1.4182003379, + 1.79217900313, + 1.2623303146, + 1.14124648059, + 1.57776038788, + 1.0054063068, + 1.3223316351, + 1.39747272582, + 1.16590837316, + 0.848852692096, + 1.16037322747, + 1.22336736517, + 0.883875742433, + 1.35896704021, + 0.876340035498, + 1.40071302548, + 1.43191692184, + 1.12207292027, + 1.23251106213, + 1.1943043139, + 1.24257365053, + 1.21031556947, + 1.6126504847, + 1.10115651514, + 0.917164641737, + 1.18842001484, + 1.09449803329, + 1.34802684538, + 1.53362095858, + 1.37824425425, + 1.55505879773, + 1.73755159173, + 1.04994805678, + 1.45006304064, + 1.56779855685, + 1.43204221002, + 1.69923271791, + 1.73649130676, + 1.20220247636, + 1.72675055145, + 1.33152784655, + 1.24485060146, + 1.29894553416, + 1.5597844907, + 1.46210412777, + 1.65290669252, + 1.07462892827, + 1.55034616171, + 1.39516848313, + 1.81364173179, + 1.47280778826, + 1.01479673003, + 1.42995534678, + 1.5576974764, + 1.07986390006, + 0.993401863796, + 1.02911178573, + 1.0222286939, + 1.06545779964, + 1.41959811122, + 1.56336506978, + 2.04437653184, + 1.13441124506, + 1.65405380758, + 2.03013140141, + 1.46863130582, + 1.45916948892, + 1.67241973534, + 1.34899612369, + 1.40300491542, + 1.3755913638, + 1.08980775603, + 1.59640072865, + 1.62443438417, + 1.6791568736, + 1.30454240649, + 1.71185783476, + 1.36035036931, + 1.33208582091, + 1.59543437272, + 1.77485766298, + 1.73863034238, + 1.56210777704, + 1.51531869303, + 1.62656104925, + 1.2767920387, + 1.19706480425, + 1.52383830413, + 1.78501775339, + 0.910281841391, + 1.69239636565, + 1.17207568884, + 1.26152308245, + 1.02401539056, + 1.56980664127, + 1.67543275807, + 1.91069537189, + 1.39867804561, + 1.46924040054, + 1.81578661083, + 2.12195211522, + 1.71697221172, + 1.6451170945, + 1.71229009241, + 1.96000396893, + 1.54114561869, + 1.38800832314, + 1.92248570169, + 1.86015323414, + 2.30746654784, + 1.87976294874, + 1.41766968511, + 2.5534658542, + 1.52466863949 + ], + "name": "x density", + "marker": { + "color": "rgb(102,0,0)" + }, + "yaxis": "y2", + "type": "histogram", + "bingroup": "X" + }, + { + "y": [ + 1.13132349623, + 0.879209230381, + 0.991989834632, + 1.36499103015, + 1.10227196058, + 0.540155311898, + 1.02344387239, + 1.18831592903, + 0.684126894679, + 1.20660237657, + 0.761032442186, + 0.302706638882, + 0.749726191277, + 1.10887573528, + 1.20220715172, + 1.80284252956, + 0.537494163232, + 0.592649809975, + 0.931926196208, + 0.87633097161, + 0.749048323812, + 1.14141474454, + 0.842526971143, + 0.094527659013, + 0.879743254354, + 0.947252290146, + 0.980375831968, + 1.38908509126, + 0.690005042312, + 0.423396489369, + 0.737691768675, + 0.938838072948, + 0.860536047205, + 0.964743351319, + 0.842672173885, + 0.86343516617, + 1.21361940398, + 1.06688311524, + 0.670924322975, + 0.513100262536, + 0.69521511993, + 0.77638303877, + 0.697392937568, + 1.05230488088, + 0.950375789849, + 0.629573129092, + 0.822474252111, + 0.730201242832, + 0.842346036485, + 0.576052835309, + 1.0134304435, + 0.516047404986, + 0.970761216653, + 0.696872898504, + 1.03520580953, + 0.615463334244, + 0.663187212916, + 0.659484157455, + 1.11531799505, + 0.0963762837696, + 0.495910812925, + 0.862756283073, + 0.161714728382, + 0.715401683735, + 0.638380800424, + 0.358986546939, + 0.310580326025, + 0.520808678683, + 0.621706114079, + 0.635999353172, + 0.00804482201345, + 0.639945925999, + 0.515907059974, + 0.423192222083, + 0.873069625702, + 0.086528318229, + 0.870151991407, + 0.300575532161, + 0.607242532049, + 0.766541437079, + 0.940853074577, + 0.368336365398, + 0.355235314665, + 0.516230728523, + 0.281174635168, + 0.221294308529, + 1.06971960611, + 0.995515766136, + 0.418150259075, + 0.493312949824, + 0.737374985093, + 0.247532938521, + 0.921395134817, + 0.190573432651, + 0.202565278349, + 0.738867195662, + 1.19704976751, + 0.324019206034, + 0.235748931696, + 0.595399564031, + -0.328040398356, + 0.122396384213, + -0.0914813013625, + 0.0394026942882, + 0.46506045267, + 0.280422710572, + 0.216856937401, + 0.751597641225, + 0.529946956081, + -0.104085422448, + 0.4306029547, + 0.226041275941, + 0.398741853076, + -0.0990500116451, + 0.320550121033, + 0.440367526397, + 0.0717450661852, + 0.476259727512, + 0.668824405801, + 0.110703388873, + 0.689603860463, + 0.776330990195, + 0.619669617174, + 0.522859672033, + 0.458417381922, + 0.260645278501, + 0.850189371266, + 0.14789383759, + 0.526734598751, + 0.432572117062, + 0.611929734392, + 0.472715893907, + 0.362583773703, + 0.638458440739, + 0.28713821682, + 0.293713020932, + 0.172347134781, + 0.357445931516, + 0.247380406781, + 0.637459588723, + 0.109194544793, + 0.42878764343, + 0.269352386247, + 0.201132826669, + 0.147058651319, + 0.337877750187, + -0.0795859247348, + 0.00293068034537, + -0.292271046023, + 0.186580139128, + 0.839673598682, + 0.386843793091, + 0.19368468524, + -0.0700330447528, + 0.0379415730558, + 0.710007451434, + -0.408995911309, + 0.459511195941, + 0.383484554131, + 0.122043410766, + 0.324625930598, + -0.0636105314506, + -0.156425762515, + -0.0503877125144, + 0.225850698001, + 0.179232474594, + -0.201365709381, + 0.551058135099, + 0.316684147314, + 0.243904039117, + -0.0499496584091, + 0.768743010479, + 0.198700208056, + -0.0505469803388, + 0.300997200604, + -0.383327311181, + 0.855691686816, + 0.946481177705, + 0.234511753183, + 0.56015316598, + 0.417653983227, + 0.476381533875, + -0.129623049283, + 0.39876166655, + 0.192514689108, + -0.352669595151, + -0.0392876707369, + 0.0524365913501, + 0.419523404916, + 0.287728583634, + -0.0664135854605, + -0.0463523510117, + 0.604769025646, + 0.437602223771, + 0.0744860247681, + 0.448805369256, + 0.35650335712, + 0.120226119657, + -0.125968837039, + -0.0734850284241, + 0.189226550749, + 0.362817051918, + -0.0122572771932, + 0.192143726493, + 0.9986576973, + -0.0602251774773, + 0.786354046299, + 0.720794002576, + -0.169596858757, + 0.0707274603166, + 0.159333126394, + -0.00660879679212, + 0.220225654604, + -0.193240136882, + 0.365016430739, + 0.0643353510069, + -0.0433654922699, + -0.14721834982, + 0.153806525011, + 0.478767790542, + -0.14403427331, + -0.383638073511, + -0.200176227195, + 0.220593221286, + 0.487364500487, + 0.593245444761, + 0.239850396416, + -0.173043705425, + 0.188351593691, + -0.0844410107971, + 0.185220204592, + 0.326321846937, + 0.284455912146, + 0.440336459267, + 0.105302720676, + 0.0439160061164, + 0.548973768833, + -0.124730651027, + 0.476822995568, + 0.418223253148, + -0.103079181296, + 0.266523070263, + 0.517470931911, + -0.313263504161, + -0.00164958997518, + 0.114822064324, + 0.0716526605165, + 0.581863918579, + -0.0911130733329, + -0.36569936119, + -0.13327922372, + 0.0360897944898, + 0.0780342078173, + 0.216338573694, + 0.458361927255, + 0.130440952718, + -0.0842283230038, + 0.0337146057908, + -0.0064144507093, + -0.106238109325, + -0.303162283926, + 0.339860442519, + -0.463289378792, + 0.0142066364007, + 0.201630450416, + 0.113258159889, + 0.0237301345543, + 0.312355200613, + 0.367788936139, + -0.211780313309, + -0.168545295477, + 0.354086853652, + -0.375523178573, + 0.61729577362, + -0.389740334812, + -0.575656305939, + -0.359340802611, + 0.302651272831, + 0.45839127107, + -0.064305221416, + 0.0468307608535, + -0.112409572825, + 0.710277973911, + 0.566971475451, + -0.105628434065, + 0.433968868533, + -0.149171890263, + 0.28628993014, + 0.369161938328, + 0.173774679884, + -0.114046298311, + 0.163575196741, + -0.126711910519, + 0.0739464748079, + 0.0565648925611, + 0.0613934719812, + 0.413639222402, + 0.605807815075, + -0.392146823876, + -0.039864584371, + -0.123538699942, + 0.394847175791, + 0.281746994764, + 0.091278502496, + 0.0980621884847, + -0.0539260921353, + 0.685687248289, + -0.0600984629901, + -0.353428711696, + 0.536398043221, + 0.420843708746, + 0.557119504116, + 0.0457785813989, + 0.0741010210445, + 0.377289371786, + -0.503007659557, + 0.347609227256, + -0.257774151716, + -0.310532719685, + -0.256156255908, + -0.517809659607, + -0.498574104766, + -0.0556914813574, + -0.434570686055, + 0.247644044047, + -0.157616832277, + -0.375076137867, + 0.241526492477, + -0.068892358556, + 0.213253757654, + 0.372136588119, + -0.117662533463, + -0.618331335069, + -0.666161467848, + 0.605901491997, + 0.28976310082, + -0.376856449155, + -0.211153358636, + 0.347791177682, + -0.187283964131, + -0.248397464253, + 0.112563090525, + -0.237662506355, + 0.39928567972, + -0.354056580369, + -0.323247785543, + 0.0317971848723, + 0.120702003563, + 0.193490009233, + 0.250567787093, + -0.112987287229, + 0.463132886451, + 0.0731569714014, + 0.371210235964, + -0.281549941982, + 0.313832691797, + 0.256341927341, + 0.126071780042, + -0.0211862856393, + 0.107396863643, + -0.0891863566262, + 0.167371045329, + 0.392029997143, + 0.122388554777, + -0.0301877822846, + -0.00900483396649, + 0.0346041774669, + -0.316274971745, + 0.118410400475, + 0.321021997869, + -0.294824759549, + -0.355593386651, + 0.173707081993, + -0.0325675799454, + -0.290525059893, + -0.428858881614, + 0.20585724776, + 0.481687182554, + -0.285728553348, + 0.265019719101, + -0.0581725829951, + -0.553614151036, + 0.110339505072, + -0.343697735277, + 0.0404215399059, + -0.0157604173841, + -0.595529618106, + -0.219014101118, + -0.0584568536814, + 0.540337587193, + 0.0737778036181, + 0.23363133727, + -0.218043686323, + -0.428595913015, + 0.11037581469, + 0.173843885693, + 0.286417212141, + -0.0226918925024, + 0.585587624404, + 0.182790506286, + -0.34650778426, + 0.0565521004139, + -0.143566747429, + -0.250885345431, + -0.429604643305, + 0.0049486264307, + -0.173626412557, + 0.0367372310518, + 0.271820640503, + 0.367912721164, + 0.30970208999, + -0.0167640023826, + -0.184535560843, + -0.113656378667, + -0.492285209242, + 0.21912552756, + -0.285368931705, + 0.0468703414295, + -0.070736735817, + 0.619976188109, + 0.370779179073, + -0.513941719842, + 0.168786503101, + 0.442737274282, + 0.2160827728, + -0.13135468304, + 0.438515684561, + -0.125236884151, + 0.0226131432503, + 0.261634364255, + 0.00993685057311, + -0.214940751843, + -0.173255263007, + 0.341285600546, + -0.143121724597, + -0.000691036840521, + 0.213490069016, + -0.335141190779, + -0.0859010555604, + -0.358435214561, + -0.432614969265, + -0.264173922564, + 0.65037978662, + 0.0633373423575, + 0.0488393646869, + 0.137122903747, + -0.0233456540314, + -0.202615945978, + 0.204950961851, + 0.0655598129313, + 0.0514544359248, + 0.628773896705, + -0.298063145279, + -0.217474100903, + -0.00340632660579, + -0.0409373797953, + 0.229579873113, + -0.165709908656, + 0.280372119602, + 0.108595245546, + 0.0402580601281, + -0.98579264195, + 0.199992564141, + 0.0758147605117, + -0.0840563808698, + 0.220932133476, + 0.0567455909801, + 0.0601917386876, + -0.150025658923, + -0.202934229029, + 0.192499805718, + -0.271085941005, + -0.356474603534, + -0.135044019453, + -0.385498424762, + 0.00657849106145, + -0.188410788109, + -0.196676317075, + 0.226066613329, + 0.365236543258, + -0.0832658653721, + -0.0283643542452, + -0.0425525731835, + -0.308713310909, + 0.270109874492, + -0.353014386609, + -0.138428091334, + -0.578265717312, + -0.271378070038, + -0.311706041883, + 0.19099948305, + -0.340733555298, + 0.0414639692575, + 0.273499990774, + 0.340893453208, + -0.188994060129, + -0.267430140277, + -0.382800182549, + 0.356372928232, + 0.00498438176967, + 0.216433786701, + 0.193179911705, + -0.195232901656, + -0.479198426281, + 0.659213541832, + -0.446638648649, + 0.0943525702406, + 0.0330338297066, + 0.134616086032, + 0.109855665246, + 0.331346342424, + 0.2175103193, + 0.597194181818, + -0.0120278859835, + -0.488908334733, + 0.462580560734, + 0.954410326165, + 0.190871655294, + 0.29237727253, + -0.18060084077, + -0.350726386427, + -0.124376986406, + 0.269751095661, + 0.246567448462, + 0.279955436415, + -0.0630345416457, + 0.506350894484, + -0.0299512293316, + -0.217810227996, + 0.216671542722, + 0.358488058379, + 0.367790131975, + 0.0757956883658, + -0.118578273375, + 0.0357333875203, + -0.0925612406428, + -0.50749719005, + 0.293720886392, + 0.412762345722, + -0.0480367611916, + 0.0535148802796, + -0.0356955042444, + 0.0531976972756, + -0.00892116715262, + -0.255542302166, + 0.280068808844, + 0.268098957913, + -0.0058689112366, + 0.341935836702, + -0.166265097518, + 0.111420299757, + -0.403751387891, + -0.345429640967, + 0.756116107359, + -0.552643149764, + -0.504745602106, + -0.0899623856315, + 0.127254192591, + -0.430733284788, + -0.242256734699, + -0.182843251481, + -0.0344351244605, + -0.327876881894, + -0.189495928802, + 0.324220130036, + 0.309641428814, + 0.132777501877, + -0.449729276573, + -0.319024370864, + 0.118971391494, + 0.164962487641, + -0.259219042326, + -0.407069946619, + -0.387577011274, + 0.168157136843, + 0.207816158356, + 0.101551625393, + -0.0578910155504, + -0.329441014385, + -0.347028974516, + -0.107851137974, + -0.336088676584, + 0.188104557344, + -0.182014210719, + -0.213353786721, + -0.0204792343555, + -0.395016732585, + 0.196142820928, + 0.0176567209638, + 0.353065515216, + -0.523314335013, + -0.239943052212, + -0.154623042085, + 0.132967468279, + 0.265370942072, + -0.0173610492229, + -0.227648323452, + -0.269371468159, + 0.28342888373, + 0.0213397091286, + -0.0459740872175, + -0.134415645557, + 0.109086240757, + -0.289509269027, + 0.00451763275518, + -0.360193405182, + 0.412637244523, + -0.0404479237745, + 0.629753493153, + 0.466761770292, + -0.014556956606, + 0.506014954998, + 0.182650565503, + 0.212393672309, + -0.395161186915, + 0.381485135259, + -0.514693809865, + 0.409923732538, + -0.206498848405, + 0.301688748832, + -0.386110783692, + -0.0179019133521, + -0.118381703335, + -0.34089220577, + -0.0335167310366, + -0.0898229680062, + 0.350997278346, + -0.242419112357, + 0.386595290125, + -0.119151365838, + 0.485026759426, + -0.959373470545, + 0.0381518000888, + -0.549981601643, + 0.146333982094, + 0.731770011511, + -0.0852322685056, + -0.345272688714, + 0.197905628129, + 0.00675304026311, + 0.226210973041, + -0.0485602075499, + 0.345707690727, + -0.325911870992, + -0.318202662623, + -0.13891930073, + -0.0977035303504, + 0.790061650211, + -0.0493213795245, + -0.264792309616, + 0.0721713825822, + -0.369323150945, + -0.329566771335, + -0.218620781723, + 0.292937196341, + -0.149739892081, + 0.172770377102, + 0.497846228694, + 0.21372576697, + -0.0275603692312, + 0.0956836295959, + -0.149548960785, + 0.221768712247, + -0.234942535913, + -0.174504460407, + -0.121573082788, + 0.401027574943, + -0.564272464092, + 0.253509190611, + -0.440338232444, + 0.148864676125, + 0.276833860317, + 0.510128114625, + 0.0545596155247, + -0.321478504658, + -0.318993797805, + -0.0675970081447, + -0.282929037583, + 0.113496270218, + -0.342797508271, + -0.136644733524, + -0.166722696618, + -0.0586223626588, + 0.167856345955, + 0.363716105372, + -0.296288193757, + 0.369314673289, + 0.0298926171642, + -0.341308851588, + -0.591113279055, + -0.101779247599, + -0.307005171709, + -0.200389899306, + -0.373277825529, + -0.0275460614101, + 0.170175331415, + 0.482082253919, + -0.183121703662, + 0.0558503227201, + -0.239730409157, + 0.0616810800616, + 0.0718444263537, + 0.0489460694497, + -0.592491605927, + -0.357782545957, + -0.188754345225, + 0.24318050552, + -0.164122750315, + -0.358771442338, + 0.344883421755, + 0.25402636193, + 0.0244507509991, + 0.233576861364, + -0.364546927951, + -0.00656210529066, + -0.0160728654063, + 0.326626670352, + 0.669959223418, + 0.320049345841, + -0.693125661604, + -0.251374966814, + -0.52545680859, + -0.00955722150486, + -0.0902695645522, + 0.0223671134333, + 0.375296506048, + 0.282909391589, + 0.290214975719, + 0.562985202226, + -0.277595461813, + -0.0632076603699, + 0.16487012244, + 0.160591664967, + 0.302852530166, + 0.00786289410686, + -0.277755006282, + -0.141397700248, + 0.373978836963, + 0.435537311669, + 0.558709270952, + 0.183736645194, + -0.522055352435, + 0.214357484262, + 0.0903367401568, + 0.213484819815, + 0.0361243191007, + -0.0427216286276, + 0.162201546863, + -0.435841046581, + -0.386954021172, + 0.432395122654, + -0.441730939752, + -0.199267945709, + 0.707148590409, + 0.536908377373, + -0.132473223533, + -0.283813081033, + -0.217618672587, + -0.46974569866, + 0.00577475698766, + -0.0895421855907, + -0.305228309268, + -0.0625598033338, + 0.017160380127, + -0.574378321948, + 0.107368050367, + 0.112780277962, + 0.111416102793, + 0.245289960498, + 0.0923780362849, + 0.279973392297, + -0.149580072505, + 0.268941402897, + 0.539386753065, + -0.386513413443, + -0.163042259534, + 0.00559543725657, + 0.328116664434, + 0.146308723543, + 0.588957587079, + -0.0478700516524, + -0.485467939375, + 0.0343704194685, + 0.595018370575, + 0.474176011318, + 0.0550655425218, + -0.622999471693, + -0.176737243512, + -0.154261246103, + -0.0472515058486, + -0.206891709268, + -0.225991106995, + -0.124829709486, + -0.24557753648, + 0.0838336751524, + 0.342389999515, + 0.166150988816, + -0.343992258193, + 0.341384936742, + -0.163575541231, + 0.201385690409, + -0.405474969463, + -0.207324623735, + -0.387960984883, + -0.556936144977, + 0.0607087954601, + -0.28107115429, + -0.275950341665, + 0.133866916474, + -0.199572418598, + -0.515138982743, + -0.20391825592, + 0.73981896489, + 0.0210591524725, + -0.108814038413, + 0.264489222013, + 0.146180206419, + -0.69596643819, + -0.259824406873, + 0.174776040796, + 0.234168837643, + -0.321181301803, + -0.0375422318977, + -0.0808711281857, + 0.158876047919, + 0.464891474157, + 0.0751434718452, + -0.152245124827, + -0.119421276302, + 0.130735843343, + -0.185830652164, + 0.304310079409, + -0.287116543186, + -0.0789912151156, + 0.38031525377, + 0.0548713376727, + 0.369519054598, + 0.0918759520505, + -0.391512120399, + 0.429830679824, + -0.0467843159858, + 0.0443835953734, + 0.0419221068119, + -0.482599408635, + -0.0208525968248, + 0.23650139047, + -0.130157372828, + -0.194767433747, + 0.246304031912, + 0.0583443930129, + -0.26649982949, + -0.247927202555, + -0.0392177116743, + -0.00823616798944, + -0.292239161471, + 0.199818221481, + -0.058004022256, + 0.383317792599, + 0.189994622095, + -0.0388231241034, + 0.498643784969, + -0.163695437806, + 0.516532313759, + -0.134601798633, + -0.136662512115, + -0.42743338295, + 0.227495132647, + -0.408817156873, + -0.612632706303, + -0.179565905862, + -0.741217801936, + -0.297625120172, + -0.383145169898, + -0.0154631425655, + 0.0988480002801, + -0.317347529969, + -0.350709931331, + 0.332749595307, + 0.330497759354, + 0.16718106275, + 0.0822737322912, + 0.0970078862696, + 0.151294206848, + 0.132654185288, + -0.27005394854, + -0.777806950977, + 0.111262882167, + 0.203463036954, + -0.306239035461, + 0.119709370302, + 0.130019206769, + 0.345438880275, + 0.4245004299, + -0.341492643986, + -0.337678660338, + -0.231194937825, + 0.0492167991106, + -0.221673855182, + -0.283150106829, + -0.425693916113, + -0.192803845026, + -0.184360969085, + -0.209634283046, + -0.228022279123, + -0.163038398633, + 0.315165552126, + 0.737311484819, + 0.0525336848815, + -0.191365905899, + -0.125159383946, + -0.0950306173667, + 0.555023115308, + 0.162682719786, + 0.10756224405, + 0.0417918172741, + 0.158995894948, + 0.32221139753, + -0.142514749644, + -0.0198733495425, + 0.392679495623, + -0.149595912219, + -0.155067542922, + -0.185898678248, + 0.316498073125, + 0.147142721595, + 0.148675650833, + -0.253331843154, + -0.191104060368, + 0.107317146716, + 0.0616367897605, + 0.0987855737192, + -0.0556491968998, + 0.179706792423, + -0.126005218446, + -0.581768055757, + 0.292891184242, + -0.309026882851, + -0.716639664361, + -0.601179830391, + -0.698534414478, + -0.341744548194, + 0.293656604983, + -0.258441386599, + 0.407286472562, + -0.0382476563902, + -0.157940404077, + -0.0949535496946, + -0.0339288639384, + -0.555501593531, + 0.366430448666, + -0.0830284823111, + 0.118685283264, + 0.367070309855, + 0.541284309586, + -0.473434529872, + -0.258269918207, + 0.163111720109, + 0.235315910468, + 0.393494315634, + -0.141492586659, + 0.153811507851, + 0.211219502664, + -0.371848431188, + 0.167061642811, + -0.699466396839, + -0.0246153342802, + 0.0953333825657, + -0.114820549373, + -0.19526670356, + -0.526721476381, + -0.235315209096, + -0.281696555317, + -0.165559007892, + -0.0937939982332, + -0.00103911198804, + 0.22796730481, + 0.374901322448, + -0.0339786645343, + -0.00134029029298, + 0.0222600727226, + -0.248230983818, + 0.115361202762, + 0.818511146554, + -0.148830505565, + -0.214969671177, + -0.316394196285, + 0.351815988898, + 0.193969726325, + 0.379003898175, + 0.0378857693319, + -0.242960986981, + -0.00358126134439, + 0.352544522687, + 0.366156260107, + 0.00844566966449, + 0.609655556405, + -0.00798230861241, + -0.122167004498, + 0.473583958888, + 0.28546548172, + 0.134581669057, + -0.0375820354829, + -0.268387701141, + -0.463372357782, + -0.132915116877, + -0.0292903386411, + -0.0214291392169, + 0.0686495042411, + -0.0256584877657, + -0.00109456988572, + -0.538494283693, + -0.248637624452, + -0.396894755058, + -0.0102369375804, + -0.266842446465, + 0.271453641811, + 0.0224878701847, + 0.282412951506, + 0.663816987949, + 0.00494742831485, + 0.332900741628, + -0.0999032256675, + -0.348168188718, + -0.15637991559, + -0.235322973755, + 0.052316148649, + -0.425053708389, + 0.0409885003349, + 0.261702127661, + -0.388934851294, + 0.0933089949689, + -0.115726490781, + 0.0206357615107, + 0.142947615635, + -0.417064689877, + 0.72186348893, + 0.629863561455, + 0.0669914777401, + -0.033701425419, + -0.210975902247, + -0.362104793097, + -0.0526270354425, + -0.0402991790274, + 0.175632039135, + 0.187098225671, + 0.638429654362, + -0.357723911232, + -0.631197163772, + -0.0124038722536, + 0.129543956752, + -0.203049421918, + -0.240446826072, + -0.0595262093035, + -0.2138640028, + 0.0642954233882, + 0.207542656349, + 0.491141686174, + -0.000648540233197, + -0.540262158362, + 0.226599378338, + -0.20928474923, + 0.336733639386, + 0.346004936132, + 0.448531672994, + -0.144818016132, + -0.252650780658, + 0.558728038727, + 0.35681281242, + -0.151388757459, + 0.17657318338, + 0.102934814206, + 0.622519204887, + -0.127601355362, + -0.506189700333, + -0.178573960563, + -0.0392346756265, + -0.0189674682776, + -0.393504530545, + -0.284380411192, + 0.026616425187, + -0.277652191675, + 0.109340491836, + 0.447133239987, + -0.270797504471, + 0.0454008793134, + -0.623031754945, + 0.541634986908, + 0.229528526925, + 0.0149075484122, + 0.0318251896152, + 0.152712368131, + 0.257951063427, + 0.0889490751102, + -0.0296525073664, + 0.110994495764, + -0.115808543133, + 0.490828642707, + -0.213716058095, + 0.0844445157508, + -0.307426326391, + 0.407995288656, + -0.228347285708, + -0.71505587891, + -0.102030415902, + -0.713733111789, + 0.0668113256661, + 0.489232537297, + 0.0133516237962, + 0.0535239885999, + 0.00430561540991, + -0.365216278484, + -0.0353945290387, + 0.158723260787, + 0.0724282180473, + -0.0975634796181, + -0.302340420657, + -0.310957406254, + 0.271879098179, + -0.175822844336, + 0.187308238485, + 0.20013069474, + 0.316134911796, + -0.0776979564374, + -0.036232084526, + 0.19111466291, + -0.0874825381991, + 0.0195979695199, + -0.258972010475, + 0.136668958368, + -0.372883354582, + 0.00472979082686, + 0.0339861128387, + -0.0710965982249, + 0.0643592196997, + 0.307440904917, + -0.232361271977, + -0.441529445744, + -0.0785989615995, + 0.372332755988, + 0.000662952773861, + -0.0885972346151, + 0.118760731114, + 0.261203522278, + -0.314077153507, + -0.0447634125279, + -0.21815983243, + -0.0896797201743, + -0.139313595077, + 0.0772641706323, + 0.803894584313, + -0.250226582299, + -0.0178574578852, + 0.0765865035157, + -0.471845487055, + -0.51177854378, + -0.129394839731, + -0.358612018254, + -0.180477849132, + 0.200057313574, + -0.322009020582, + -0.550348333373, + 0.423804915839, + -0.262030616674, + 0.142657799901, + 0.172463078983, + -0.0120438588003, + -0.341011296499, + 0.0971862270557, + 0.186899936747, + -0.0854905807128, + 0.177111211405, + -0.141959383084, + 0.534049206145, + -0.221070373541, + 0.34502908773, + -0.0965328354161, + 0.0268962776053, + -0.0321591075232, + 0.963493839677, + 0.0533694065936, + 0.161856036443, + -0.06344344515, + 0.192606865779, + 0.123230605243, + 0.209455010539, + -0.0795351408106, + 0.0504206589367, + -0.25122796926, + 0.0465285094014, + 0.633639976249, + 0.271977233179, + -0.618712897687, + -0.304015981319, + 0.225920022694, + 0.0161040096757, + -0.448829718533, + 0.26266410629, + -0.0671473972052, + 0.496959872344, + -0.580412410147, + -0.116235792522, + -0.298904543594, + 0.928957581209, + -0.0124436293549, + -0.111206516266, + 0.286178341528, + 0.0372591659712, + 0.00343129734089, + 0.141935229328, + -0.624185567439, + 0.800510725531, + 0.244321630365, + -0.290324096864, + 0.0307814109032, + 0.0809478467897, + -0.0972160331947, + 0.63192091473, + -0.62599927194, + -0.176413082415, + 0.0048532051561, + 0.0846635050257, + -0.0151227148804, + 0.515719296715, + 0.281886942122, + 0.115875605205, + -0.431272125434, + 0.20410081241, + -0.286037165627, + 0.313501321797, + -0.332590805984, + -0.21841619127, + -0.537480132377, + 0.0492438850152, + -0.223247278827, + -0.328346817647, + 0.120863794157, + 0.303650677451, + 0.518429895776, + -0.0933216354088, + 0.278205308048, + -0.134999508685, + 0.501182772302, + 0.147196517059, + -0.0453668206541, + 0.186134150643, + 0.124320507428, + -0.350037469645, + 0.00648081884567, + -0.108539083665, + -0.225723331687, + -0.0493310598038, + 0.439387287054, + 0.507406415029, + 0.112608159005, + 0.385369871122, + -0.314933468791, + 0.0549305163406, + 0.585461007249, + 0.159777561121, + 0.500566543256, + -0.602926445132, + -0.382748841146, + 0.00322787594932, + 0.245357223135, + 0.146494901031, + 0.3610944356, + 0.32359085137, + -0.433573918153, + -0.289064734401, + -0.298824245152, + 0.436182954387, + 0.136136508792, + -0.243361356393, + 0.353534386101, + -0.384099301146, + 0.227241275103, + -0.1327580156, + 0.0609011364587, + -0.0103931247717, + 0.037432897755, + -0.14440584289, + 0.28085799564, + 0.101362551269, + -0.551116287871, + -0.17130110729, + 0.133194338447, + -0.362858729303, + 0.121290011545, + 0.040324855077, + -0.0940164690492, + 0.399892772222, + -0.135288931611, + -0.330450904527, + 0.148656598413, + -0.115487755534, + 0.292123625024, + 0.10070076711, + 0.203892368037, + -0.151951839977, + -0.337546440805, + -0.258195662241, + 0.167613463523, + -0.466987964251, + 0.260768627491, + -0.257487745378, + -0.505688497395, + 0.171732749983, + 0.132881971252, + 0.105590808475, + 0.261292345383, + -0.115896456843, + -0.65877480246, + -0.00475172154523, + -0.0489922420486, + -0.0511285686884, + -0.811518444776, + 0.157394011232, + -0.29156649356, + 0.17424586739, + 0.169130217571, + 0.305084906456, + 0.542289935765, + 0.442230106223, + -0.313709029188, + 0.315250061266, + 0.325049772254, + 0.204376281411, + 0.256372640856, + 0.160320585283, + -0.152331949897, + -0.163942680423, + 0.484258595275, + 0.345581040953, + 0.478663730477, + 0.413703027053, + 0.0310691299325, + 0.208278994229, + -0.398774271488, + -0.537083283435, + -0.215018382661, + 0.301502757166, + 0.045771566091, + -0.0339722461661, + -0.0137410912674, + 0.399356492621, + 0.00149888484411, + 0.291503066357, + 0.520600167953, + 0.147852248372, + 0.034071226604, + -0.140631155945, + 0.0629674128697, + -0.300022706615, + 0.136123073403, + -0.322907765461, + -0.689673086804, + 0.126179270809, + -0.227050097646, + 0.367256192009, + 0.210144391121, + -0.43108769464, + -0.550976484164, + 0.00252279801073, + -0.141012981588, + 0.102235579596, + 0.0617310506314, + 0.56381177653, + 0.232191786449, + 0.391369495071, + -0.202729222582, + 0.473262288154, + -0.0764052154473, + 0.393340598204, + -0.167209269263, + 0.0929027018041, + 0.188898745941, + -0.38193567148, + 0.526760219874, + 0.0708591062034, + -0.100523868209, + -0.461750791372, + 0.219248841265, + 0.41944946992, + 0.428099209706, + 0.137191114991, + 0.196228425995, + 0.00549665778617, + -0.331378406275, + 0.219568554926, + 0.207398775765, + -0.649619174289, + 0.305023804346, + 0.0687705749218, + 0.18139520171, + -0.342418152636, + -0.293693792628, + 0.807362841073, + 0.254699595401, + 0.337494777033, + -0.286603162473, + 0.793718714698, + -0.147350469286, + 0.100997359247, + 0.159040508447, + -0.482849010577, + 0.606965317471, + 0.187932658137, + 0.562264147601, + 0.0769192402846, + 0.321111304196, + -0.190422725519, + 0.110264208354, + 0.027724561497, + 0.143974082391, + -0.105401879935, + -0.428930565419, + -0.568584384633, + 0.670612454667, + 0.204303987908, + -0.152190196305, + 0.228151079892, + 0.190956639745, + -0.265699639406, + 0.116644139674, + 0.0683421157864, + 0.267425851407, + 0.216870666881, + 0.160117905086, + 0.0734056265828, + -0.463363157867, + 0.0935224764979, + 0.0403506871815, + 0.323163623933, + 0.140314656842, + 0.647315040245, + -0.764790572631, + 0.354959300155, + 0.680724045415, + 0.139575970027, + -0.183280328881, + 0.0649891097812, + 0.341965474615, + 0.284962555123, + 0.0929185346222, + 0.0677564444217, + -0.202180607075, + -0.026363882879, + 0.96025119605, + 0.119052935136, + -0.221432693062, + -0.0571555099151, + -0.109291269649, + -0.263828563236, + -0.407075262692, + -0.142916967402, + 0.621504414187, + 0.379218175906, + -0.183180629012, + -0.227868285992, + -0.0143810375238, + -0.372244448418, + 0.320043669857, + 0.0567668214499, + -0.418901645128, + 0.371446699783, + 0.464727154973, + 0.315851025098, + 0.190169281356, + -0.0474674254502, + 0.0839715081835, + 0.114584739407, + 0.0225963513454, + 0.0141846523671, + 0.653003724564, + 0.460123470118, + 0.000724973292004, + 0.0340715192757, + -0.193524983145, + 0.291518085372, + 0.277054622132, + 0.3831906134, + 0.0676819111879, + 0.00153397384356, + 0.410233129949, + -0.284197718329, + 0.124524925646, + -0.0212187004189, + 0.485865882159, + -0.319338523686, + -0.309296125754, + -0.394189666335, + -0.082218086353, + 0.242628862525, + 0.384236304554, + -0.323595821708, + -0.131149391866, + 0.238490021343, + -0.269115359329, + -0.199727248507, + 0.2521028785, + 0.35805571713, + -0.359991334842, + 0.0089778433202, + 0.215543324483, + 0.020442997455, + -0.0932807303561, + -0.0194770106799, + -0.347996124897, + 0.477670425325, + 0.16946862924, + -0.0748463445159, + 0.322416093715, + -0.284379263482, + 0.351485850427, + 0.275133298435, + -0.140335149498, + -0.169502473099, + 0.311420733898, + -0.128365691629, + 0.136057885059, + 0.30987365673, + -0.346320622138, + 0.548246033703, + 0.123814313429, + 0.104017129137, + 0.191079104484, + -0.0353552563969, + 0.0426530147906, + 0.210954411184, + 1.01838182802, + 0.0529356735747, + 0.0926774812629, + -0.0772875526935, + 0.35882301038, + 0.293403886373, + -0.0720667337799, + -0.00692780660425, + 0.238040183172, + -0.145602185067, + 0.222402131589, + -0.0861052040969, + 0.468784196571, + 0.194328064498, + 0.206915793873, + 0.454809703375, + -0.147026187244, + 0.767740107893, + -0.10117492877, + -0.277174461951, + 0.112251966207, + -0.0120533340785, + -0.0536130220773, + 0.43227125503, + 0.107152451438, + 0.307896046522, + -0.146310071493, + 0.000325157879376, + 0.47012038408, + 0.0319059318335, + 0.277531729853, + 0.0427911140052, + -0.09943605934, + 0.240353350745, + 0.608677123763, + 0.30662639209, + -0.0516774755387, + 0.148023607147, + -0.00305931684124, + -0.281886656069, + 0.416923437696, + 0.351414224303, + 0.157847890047, + 0.633655001348, + -0.576766988475, + 0.700845871578, + 0.607653700364, + 0.613820223483, + 0.140397240595, + 0.353986143512, + 0.106071277195, + -0.145734755416, + -0.253978442581, + 0.0598900759314, + 0.0113975038206, + 0.149895474713, + 0.262395211664, + 0.274302533812, + 0.288154637962, + 0.67185610335, + 0.234608335631, + -0.0151663004899, + 0.312552262596, + 0.17876159463, + 0.0962257453695, + -0.329326196935, + 0.13649641201, + 0.665427849573, + 0.0052698732702, + 0.475122251875, + 0.525331287435, + 0.333431708244, + 0.806835876945, + 0.306392192118, + 0.103664924917, + 0.264670569995, + -0.213467286999, + 0.0813232335846, + 0.593136861868, + -0.104070949051, + 1.09199443523, + -0.0344763512544, + 0.255803564244, + -0.147514543571, + 0.0521191738254, + 0.220033299832, + -0.404845036129, + 0.470514068767, + 0.178365513796, + 0.19380914082, + 0.395931460219, + 0.620230366078, + 0.405807045424, + -0.0392115721689, + 1.05240762235, + 0.405693173796, + 0.31052182856, + 0.28855893832, + -0.094656292081, + -0.316524091729, + 0.393149693595, + -0.16291800557, + 0.338801838683, + 0.217382754407, + 0.699023424911, + 0.312602259553, + 0.560632394131, + 0.286521358311, + -0.111145724168, + -0.22813394187, + 0.176233057808, + -0.242846440779, + 0.652060712482, + -0.114370249489, + 0.939048192792, + -0.0209696263152, + 0.0573748304081, + -0.36118957988, + 0.326032345091, + 0.343588601395, + 0.634046915977, + 0.477956339871, + -0.0385333044591, + 0.30414606475, + -0.163480072089, + 0.516260476336, + -0.105165615544, + 0.368385108508, + -0.035510923968, + 0.221057974301, + 0.123572673698, + -0.135268326692, + 0.156390521708, + 0.200566028491, + 0.29668765065, + 0.697213288449, + 0.50763252289, + 0.417678566532, + 0.154135774934, + 0.765651412646, + 0.470086592379, + 0.201480075488, + 0.095829704456, + 0.105647301737, + 0.244920377178, + 0.164238312296, + 0.191790630686, + 0.309371452256, + 0.421287855916, + 0.250917743956, + 0.150279746094, + 0.673074081054, + 0.549516096609, + 0.569636377527, + 0.371048271576, + 0.461909717594, + 0.53125043069, + -0.105357281521, + 0.681434074188, + 0.394351701298, + 0.299223908876, + 0.745051595343, + 0.630956800418, + 0.585232492447, + 0.149138687374, + 0.621784497559, + 0.274413042223, + 0.828569093005, + 0.25416316262, + 0.720756519779, + 0.68862294721, + 0.484764528848, + 0.488036618011, + 0.568028000715, + 0.447568663215, + 0.128845580361, + 0.104462900828, + 0.367685336284, + 0.640935555756, + 0.329886383682, + 0.246419290497, + 0.558799026438, + 0.513709890433, + 0.0175540748514, + 0.677955372319, + 0.970620214195, + 0.293606490298, + 0.28477264013, + 0.727990429773, + 1.24330498259, + 0.556975486167, + 0.151834633108, + -0.236495607262, + 0.523888373975, + 0.689343592198, + -0.15278161931, + 0.434506019428, + 0.967007367935, + 0.614539290319, + 0.484321305497, + 0.734255226728, + 0.261240524208, + 0.624644751686, + 0.421325419145, + 0.259064166957, + 0.285948101394, + 0.541051603702, + 1.51467107166, + 0.37250378877, + 0.257768097775, + 1.29680474452, + 1.17439676563, + 0.431890071028, + 0.416193348898, + 0.897176261041, + 1.0905459488, + 0.451446169578, + 0.607737174816, + 0.684136082041, + 0.542930193702, + 0.752884064698, + 0.877773565538, + 0.213346474652, + 0.0860812418435, + 0.778406766165, + 0.660952390691, + 0.611882732631, + 1.2077187536, + 0.604844553847, + 0.325210420542, + 0.919409808423, + 0.68847808765, + 1.16484189305, + 0.192221624291, + 0.653110302352, + 0.327338008293, + 0.439506798148, + 0.416117515606, + 0.702645651026, + 0.780744650712, + 1.01510261914, + 0.786606203922, + 0.72316198658, + 0.790253083973, + 0.920034046301, + 0.00653503441716, + 0.517117929629, + 0.449911268227, + 0.55458548624, + 0.389849437185, + 0.789803843652, + 0.470524868244, + 1.29197537054, + 0.998117076659, + 1.31434980816, + 1.16152384982, + 0.623465030871, + 0.616471212971, + 1.27977873285, + 0.974853560387, + 0.52109387351, + 0.452172574784, + 1.16161017475, + 0.662777129034, + 0.452170247378, + 0.754114908556, + 0.351541088136, + 1.0034610523, + 0.712894966355, + 0.59276069228, + 0.796308627937, + 0.652179844308, + 0.717331467248, + 0.361306235474, + 0.571443822698, + 1.15711445918, + 0.776957510283, + 0.78592171242, + 1.05670973463, + 0.764834232347, + 1.24995485944, + 0.731208680596, + 0.717079759185, + 1.35453447511, + 1.22934304199, + 0.564132444772, + 1.32916714833, + 0.745208890195, + 0.931565303449, + 1.11928616945, + 0.812814479035, + 0.559295095914, + 1.09514299767, + 0.67927644527, + 1.06808059257, + 1.07625188125, + 1.42655107178, + 1.62265714147, + 1.23340163875, + 0.657900893199, + 0.981142439293, + 0.920947627918, + 1.4623932293, + 1.39932279223, + 1.17994000043, + 1.02220562217, + 1.0810785881, + 1.0552604919, + 1.55850968109, + 1.36308213887, + 0.539534920287, + 1.1476014513, + 1.2518869469, + 0.822217550005, + 1.84157818693, + 1.04860079146, + 1.44595433639, + 1.32287279603, + 1.37644373084, + 1.86614025813, + 1.51105744244, + 0.924727647119, + 1.31187547697, + 1.82489256759, + 1.12485348336, + 1.02033933003, + 1.54675372473, + 1.12481931567, + 1.43781411763, + 1.04222534571, + 1.40233711227, + 1.6594617636, + 1.20906278605, + 1.13166424795, + 1.63158565092, + 1.26317561226, + 0.902273886744, + 1.1000291584, + 1.188264971, + 1.48574191882, + 1.55664508511, + 1.22264268323, + 1.73482768631, + 2.03112501513, + 1.3675266481, + 1.41708825041, + 1.53725716325, + 1.47010715591, + 1.3158979521, + 0.971654366638, + 1.7503393987, + 0.732604359699, + 1.39706114779, + 1.56385367099, + 1.33289292691, + 1.86899530505, + 1.47054586517, + 2.16697680404, + 1.60524359391, + 1.61536910391, + 0.937152751836, + 1.49903653683, + 1.38801880891, + 1.59583551564, + 1.19934669609, + 1.95642443691, + 1.56395479658, + 1.31544681472, + 1.17342438873, + 1.94708832983, + 1.59071763854, + 1.28894592604, + 1.40444163715, + 1.77905230984, + 1.96940347111, + 1.61314188292, + 1.96680306445, + 1.50869608991, + 1.27418286571, + 1.98204944467, + 1.87976006289, + 2.08282433134, + 1.78000664991, + 2.18847631672, + 1.30301866796, + 1.33523041582, + 1.85351349973, + 2.11556941203, + 1.61576520453, + 1.59834728055, + 2.14721293954, + 1.69322083096, + 2.65800422187, + 1.82823333811, + 1.60029581159, + 1.78219847377, + 2.19737174623, + 1.72394249039, + 2.04634360445, + 2.65539624846, + 2.13056382917, + 1.59095944028, + 2.12066527401, + 2.45099625307, + 2.1364347606, + 2.09216188492, + 2.14810208967, + 3.10264795154, + 2.2746357232, + 1.96228387311, + 2.45845239934, + 2.09836639799, + 2.3455880748, + 2.01712372253, + 2.72794096044, + 1.59737661276, + 2.4629965703, + 2.10465016344, + 2.61931675099, + 2.72485237543, + 2.7694002851, + 2.1671587715, + 2.25158116907, + 2.25924070447, + 2.59320111319, + 2.72828372007, + 2.92569257455, + 2.29523623628, + 2.77348828989, + 2.67182419084, + 2.31583598032, + 2.25483740652, + 2.38879681156, + 2.59717833055, + 2.74000381154, + 2.13480765764, + 2.50211221536, + 2.49097295833, + 2.10067795242, + 3.02703202546, + 2.54538916805, + 2.50646957448, + 3.06598293772, + 2.66666273711, + 1.86237808976, + 2.17914066916, + 2.66953945431, + 3.07233020977, + 3.03198520639, + 2.80242633366, + 2.50203273776, + 2.27194515901, + 2.59945909127, + 3.53299302491, + 2.96917973815, + 2.26259668342, + 3.34852670221, + 2.46804114021, + 3.12124600288, + 3.01555731052, + 2.54002563, + 2.57138244702, + 3.09782319591, + 2.67147277103, + 3.23891446072, + 3.0520070323, + 2.9028359987, + 2.92583639894, + 2.81674927307, + 2.83812864136, + 2.60702002745 + ], + "name": "y density", + "marker": { + "color": "rgb(102,0,0)" + }, + "xaxis": "x2", + "type": "histogram", + "bingroup": "Y" + } + ], + "layout": { + "showlegend": false, + "width": 600, + "height": 550, + "margin": {"t": 50}, + "xaxis": { + "domain": [0, 0.85], + "zeroline": false, + "showgrid": false + }, + "yaxis": { + "domain": [0, 0.85], + "zeroline": false, + "showgrid": false + }, + "xaxis2": { + "domain": [0.85, 1], + "showgrid": false, + "zeroline": false + }, + "yaxis2": { + "domain": [0.85, 1], + "showgrid": false, + "zeroline": false + }, + "hovermode": "closest" + } +} diff --git a/test/image/mocks/histogram2d_bingroup.json b/test/image/mocks/histogram2d_bingroup.json new file mode 100644 index 00000000000..7c1891eea1b --- /dev/null +++ b/test/image/mocks/histogram2d_bingroup.json @@ -0,0 +1,103 @@ +{ + "data": [ + { + "type": "histogram2d", + "name": "smaple 1", + "x": [ 1, 2, 2, 2, 3 ], + "y": [ 1, 2, 2, 2, 3 ], + "coloraxis": "coloraxis" + }, + { + "type": "histogram2d", + "name": "sample 2", + "x": [ 4, 5, 5, 5, 6 ], + "y": [ 4, 5, 5, 5, 6 ], + "coloraxis": "coloraxis", + "xaxis": "x2", + "yaxis": "y2" + }, + { + "type": "histogram2d", + "name": "sample 1", + "x": [ 1, 2, 2, 2, 3 ], + "y": [ 1, 2, 2, 2, 3 ], + "coloraxis": "coloraxis", + "bingroup": "1", + "xaxis": "x3", + "yaxis": "y3" + }, + { + "type": "histogram2d", + "name": "sample 2", + "x": [ 4, 5, 5, 5, 6 ], + "y": [ 4, 5, 5, 5, 6 ], + "coloraxis": "coloraxis", + "bingroup": "1", + "xaxis": "x4", + "yaxis": "y4" + }, + { + "type": "histogram2d", + "name": "combined sample", + "x": [ 1, 2, 2, 2, 3, 4, 5, 5, 5, 6 ], + "y": [ 1, 2, 2, 2, 3, 4, 5, 5, 5, 6 ], + "coloraxis": "coloraxis", + "xaxis": "x5", + "yaxis": "y5" + }, + { + "type": "histogram2d", + "name": "sample 1", + "x": [ 1, 2, 2, 2, 3 ], + "y": [ 1, 2, 2, 2, 3 ], + "coloraxis": "coloraxis", + "bingroup": "2", + "xbins": {"size": 1}, + "xaxis": "x7", + "yaxis": "y7" + }, + { + "type": "histogram2d", + "name": "sample 2", + "x": [ 4, 5, 5, 5, 6 ], + "y": [ 4, 5, 5, 5, 6 ], + "coloraxis": "coloraxis", + "bingroup": "2", + "ybins": {"size": 1}, + "xaxis": "x8", + "yaxis": "y8" + } + ], + "layout": { + "grid": { + "rows": 4, + "columns": 2, + "pattern": "independent" + }, + "yaxis": { + "title": { + "text": "no set
bingroup" + } + }, + "yaxis3": { + "title": { + "text": "bingroup:1" + } + }, + "yaxis5": { + "title": { + "text": "combined
samples" + } + }, + "yaxis7": { + "title": { + "text": "bingroup:2
(x|y)bins.size:1
" + } + }, + "coloraxis": { + "colorbar": {"len": 0.6} + }, + "height": 600, + "width": 500 + } +} diff --git a/test/image/mocks/histogram_overlay-bingroup.json b/test/image/mocks/histogram_overlay-bingroup.json new file mode 100644 index 00000000000..20a54737edf --- /dev/null +++ b/test/image/mocks/histogram_overlay-bingroup.json @@ -0,0 +1,132 @@ +{ + "data": [ + { + "x": [ + 0.8896137796891019, + 0.7665576938592171, + 0.9396271617658107, + 0.13360237176569933, + 0.7541355420618407, + 0.920307900122386, + 0.9330953659979628, + 0.24776992254805985, + 0.40585624369570517, + 0.7760511161604609, + 0.67441382237699, + 0.7918855686917201, + 0.40242055280353184, + 0.5537863909595584, + 0.4638754501398257, + 0.9860526862411143, + 0.657645549790189, + 0.0892064782687636, + 0.23422906722043124, + 0.6810083712417243, + 0.027896202505397705, + 0.9025671555106325, + 0.9024479100663014, + 0.5732425794954226, + 0.6888094649498673, + 0.8246324896019435, + 0.6850365948982999, + 0.7491034276989166, + 0.7307941732447802, + 0.4596535634108143, + 0.5081285572518, + 0.7910342510612902, + 0.6046849873220155, + 0.6121989957166782, + 0.3429366155775375, + 0.26213817583234755, + 0.6988806152097911, + 0.7768039820024484, + 0.9459383333342053, + 0.26868723777844905, + 0.6802199103653237, + 0.06534292358914828, + 0.5528787339155625, + 0.6609915445450205, + 0.9545704510016406, + 0.7465158117632544, + 0.3241135419901726, + 0.8293051401631533, + 0.6907747746834327, + 0.5301653056175399, + 0.8919620433126669, + 0.9395725348227071, + 0.14102733385732913, + 0.28383382152860825, + 0.011111574452361772, + 0.8500727373683319, + 0.22362144618154822, + 0.03401501849463884, + 0.6426767323985276, + 0.5623706326460836, + 0.7480990974921731, + 0.3584661299928904, + 0.26563079924816924, + 0.48860530996394846, + 0.8830361801016731, + 0.7240226661653946, + 0.26473439600639814, + 0.9601222364021138, + 0.9567449421577232, + 0.6648717724784379, + 0.32320304273916056, + 0.8171115057409675, + 0.541655538898113, + 0.9609684641361933, + 0.7170042736327242, + 0.7902489937457824, + 0.05674457417397272, + 0.9254060214580642, + 0.9118909251289637, + 0.3112059030640342, + 0.9008620403257512, + 0.60060918276307, + 0.21489399723503944, + 0.21073279472467465, + 0.7878501107970128, + 0.4980467608902841, + 0.9010742678954529, + 0.5277515484485442, + 0.10630624857535187, + 0.9678284553702674, + 0.2934933367457573, + 0.08422067681953282, + 0.5926339416517785, + 0.5012612350101027, + 0.1295603254679596, + 0.4718272589247241, + 0.8007070382088552, + 0.6612471047155974, + 0.7240436215086994, + 0.8702533458080692 + ], + "type": "histogram", + "bingroup": "1" + }, + { + "x": [ + 0.40585624369570517, + 0.3429366155775375, + 0.011111574452361772, + 0.541655538898113, + 0.05674457417397272, + 0.08422067681953282, + 0.4718272589247241 + ], + "type": "histogram", + "bingroup": "1", + "marker": { + "color": "white", + "opacity": 0.75 + } + } + ], + "layout": { + "showlegend": false, + "barmode": "overlay", + "bargap": 0.1 + } +} From a7f49a034e9d3a2358477320ee9842d66cb91b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 12:11:54 -0400 Subject: [PATCH 08/11] prohibit bingroup for traces using different calendars --- src/traces/histogram/cross_trace_defaults.js | 43 +++++++++++++------- test/jasmine/tests/histogram_test.js | 19 +++++++++ 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/src/traces/histogram/cross_trace_defaults.js b/src/traces/histogram/cross_trace_defaults.js index 27827b5f12a..d27dfa0d7a6 100644 --- a/src/traces/histogram/cross_trace_defaults.js +++ b/src/traces/histogram/cross_trace_defaults.js @@ -56,33 +56,46 @@ module.exports = function crossTraceDefaults(fullData, fullLayout) { if(!groupName) groupName = fallbackGroupName; var axType = getAxisType(traceOut, binDir); + var calendar = traceOut[binDir + 'calendar']; var binOpts = allBinOpts[groupName]; + var needsNewItem = true; if(binOpts) { - if(axType === binOpts.axType) { + if(axType === binOpts.axType && calendar === binOpts.calendar) { + needsNewItem = false; binOpts.traces.push(traceOut); binOpts.dirs.push(binDir); } else { groupName = fallbackGroupName; - allBinOpts[groupName] = { - traces: [traceOut], - dirs: [binDir], - axType: axType - }; - Lib.warn([ - 'Attempted to group the bins of trace', traceOut.index, - 'set on a', 'type:' + axType, 'axis', - 'with bins on', 'type:' + binOpts.axType, 'axis.' - ].join(' ')); + + if(axType !== binOpts.axType) { + Lib.warn([ + 'Attempted to group the bins of trace', traceOut.index, + 'set on a', 'type:' + axType, 'axis', + 'with bins on', 'type:' + binOpts.axType, 'axis.' + ].join(' ')); + } + if(calendar !== binOpts.calendar) { + // prohibit bingroup for traces using different calendar, + // there's probably a way to make this work, but skip for now + Lib.warn([ + 'Attempted to group the bins of trace', traceOut.index, + 'set with a', calendar, 'calendar', + 'with bins', + (binOpts.calendar ? 'on a ' + binOpts.calendar + ' calendar' : 'w/o a set calendar') + ].join(' ')); + } } - } else { - binOpts = allBinOpts[groupName] = { + } + + if(needsNewItem) { + allBinOpts[groupName] = { traces: [traceOut], dirs: [binDir], - axType: axType + axType: axType, + calendar: traceOut[binDir + 'calendar'] || '' }; } - traceOut['_' + binDir + 'bingroup'] = groupName; } diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index 4379d3f1d3b..e2d1bc3fa08 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -459,6 +459,25 @@ describe('Test histogram', function() { ['1', [0, 1, 3, 3, 2]] ]); }); + + it('should not group traces across different calendars', function() { + gd = { + data: [ + {uid: 'a', bingroup: '1', type: 'histogram', x: ['2000-01-01']}, + {uid: 'b', bingroup: '1', type: 'histogram', x: ['2000-01-01'], xcalendar: 'julian'}, + ], + layout: {barmode: 'overlay'} + }; + supplyAllDefaults(gd); + + _assert('', [ + ['1', [0]], + ['b__x', [1]] + ], + 'Attempted to group the bins of trace 1 set with a julian calendar ' + + 'with bins on a gregorian calendar' + ); + }); }); describe('calc', function() { From f872f76177ce0045535eb52f05f4dda2c2dc9fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 8 May 2019 14:14:24 -0400 Subject: [PATCH 09/11] add "have to match" bingroup logic for traces w/ alignmentgroup --- src/traces/histogram/cross_trace_defaults.js | 36 ++++++++++++---- test/jasmine/tests/histogram_test.js | 44 ++++++++++++++++++++ 2 files changed, 72 insertions(+), 8 deletions(-) diff --git a/src/traces/histogram/cross_trace_defaults.js b/src/traces/histogram/cross_trace_defaults.js index d27dfa0d7a6..5fefb4accb6 100644 --- a/src/traces/histogram/cross_trace_defaults.js +++ b/src/traces/histogram/cross_trace_defaults.js @@ -15,6 +15,7 @@ var traceIs = require('../../registry').traceIs; var handleGroupingDefaults = require('../bar/defaults').handleGroupingDefaults; var nestedProperty = Lib.nestedProperty; +var getAxisGroup = axisIds.getAxisGroup; var BINATTRS = [ {aStr: {x: 'xbins.start', y: 'ybins.start'}, name: 'start'}, @@ -28,8 +29,6 @@ var BINDIRECTIONS = ['x', 'y']; // handle bin attrs and relink auto-determined values so fullData is complete module.exports = function crossTraceDefaults(fullData, fullLayout) { var allBinOpts = fullLayout._histogramBinOpts = {}; - var isOverlay = fullLayout.barmode === 'overlay'; - var histTraces = []; var mustMatchTracesLookup = {}; var otherTracesList = []; @@ -117,19 +116,40 @@ module.exports = function crossTraceDefaults(fullData, fullLayout) { } } + var alignmentOpts = fullLayout._alignmentOpts || {}; + // Look for traces that "have to match", that is: // - 1d histogram traces on the same subplot with same orientation under barmode:stack, // - 1d histogram traces on the same subplot with same orientation under barmode:group + // - 1d histogram traces on the same position axis with the same orientation + // and the same *alignmentgroup* (coerced under barmode:group) + // - Once `stackgroup` gets implemented (see https://github.com/plotly/plotly.js/issues/3614), + // traces within the same stackgroup will also "have to match" for(i = 0; i < histTraces.length; i++) { traceOut = histTraces[i]; + groupName = ''; + + if(!traceIs(traceOut, '2dMap')) { + binDir = orientation2binDir(traceOut); - if(!isOverlay && !traceIs(traceOut, '2dMap')) { - groupName = ( - axisIds.getAxisGroup(fullLayout, traceOut.xaxis) + - axisIds.getAxisGroup(fullLayout, traceOut.yaxis) + - orientation2binDir(traceOut) - ); + if(fullLayout.barmode === 'group' && traceOut.alignmentgroup) { + var pa = traceOut[binDir + 'axis']; + var aGroupId = getAxisGroup(fullLayout, pa) + traceOut.orientation; + if((alignmentOpts[aGroupId] || {})[traceOut.alignmentgroup]) { + groupName = aGroupId; + } + } + + if(!groupName && fullLayout.barmode !== 'overlay') { + groupName = ( + getAxisGroup(fullLayout, traceOut.xaxis) + + getAxisGroup(fullLayout, traceOut.yaxis) + + orientation2binDir(traceOut) + ); + } + } + if(groupName) { if(!mustMatchTracesLookup[groupName]) { mustMatchTracesLookup[groupName] = []; } diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index e2d1bc3fa08..e707d1c49e9 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -478,6 +478,50 @@ describe('Test histogram', function() { 'with bins on a gregorian calendar' ); }); + + it('should force traces that "have to match" to have same bingroup (alignmentgroup case)', function() { + var traces; + + function initTraces() { + traces = [{}, {}, {yaxis: 'y2'}, {yaxis: 'y2'}]; + traces.forEach(function(t) { + t.type = 'histogram'; + t.x = [1]; + }); + } + + function _supply() { + gd = { + data: traces, + layout: { + barmode: 'group', + grid: {rows: 2, columns: 1} + } + }; + supplyAllDefaults(gd); + } + + initTraces(); + _supply(gd); + _assert('base (separate subplot w/o alignmentgroup)', [ + ['xyx', [0, 1]], + ['xy2x', [2, 3]] + ]); + + initTraces(); + [ + {alignmentgroup: 'a', offsetgroup: '-'}, + {alignmentgroup: 'a', offsetgroup: '--'}, + {alignmentgroup: 'a', offsetgroup: '-'}, + {alignmentgroup: 'a', offsetgroup: '--'} + ].forEach(function(patch, i) { + Lib.extendFlat(traces[i], patch); + }); + _supply(gd); + _assert('all in same alignmentgroup, must match', [ + ['xv', [0, 1, 2, 3]] + ]); + }); }); describe('calc', function() { From 3776cd2da2616eb123db15987602ed1f9c19e191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 20 May 2019 11:18:46 -0400 Subject: [PATCH 10/11] use sample with >1 values ... in histogram tests as a workaround for https://github.com/plotly/plotly.js/issues/3881 --- test/jasmine/tests/histogram_test.js | 108 +++++++++++++-------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index e707d1c49e9..1c0edcf1e28 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -239,18 +239,18 @@ describe('Test histogram', function() { barModes.forEach(function(mode) { gd = { data: [ - {type: 'histogram', y: [1]}, - {type: 'histogram', y: [2]}, + {type: 'histogram', y: [1, 2]}, + {type: 'histogram', y: [2, 3]}, - {type: 'histogram', y: [1], xaxis: 'x2'}, - {type: 'histogram', y: [3], xaxis: 'x2'}, + {type: 'histogram', y: [1, 2], xaxis: 'x2'}, + {type: 'histogram', y: [3, 4], xaxis: 'x2'}, - {type: 'histogram', y: [3]}, - {type: 'histogram', y: [2], xaxis: 'x2'}, + {type: 'histogram', y: [3, 4]}, + {type: 'histogram', y: [2, 4], xaxis: 'x2'}, - {type: 'histogram', x: [1]}, - {uid: 'solo', type: 'histogram', x: [2], yaxis: 'y2'}, - {type: 'histogram', x: [2]} + {type: 'histogram', x: [1, 3]}, + {uid: 'solo', type: 'histogram', x: [2, 2], yaxis: 'y2'}, + {type: 'histogram', x: [2, 3]} ], layout: {barmode: mode} }; @@ -270,10 +270,10 @@ describe('Test histogram', function() { barModes.forEach(function(mode) { gd = { data: [ - {type: 'histogram', y: [1]}, - {type: 'histogram', y: [2], xaxis: 'x2'}, - {type: 'histogram', x: [1], yaxis: 'y2'}, - {type: 'histogram', x: [2], yaxis: 'y2'}, + {type: 'histogram', y: [1, 2]}, + {type: 'histogram', y: [2, 3], xaxis: 'x2'}, + {type: 'histogram', x: [1, 2], yaxis: 'y2'}, + {type: 'histogram', x: [2, 3], yaxis: 'y2'}, ], layout: { barmode: mode, @@ -292,18 +292,18 @@ describe('Test histogram', function() { it('should not group traces by default under barmode:overlay ', function() { gd = { data: [ - {uid: 'a', type: 'histogram', y: [1]}, - {uid: 'b', type: 'histogram', y: [2]}, + {uid: 'a', type: 'histogram', y: [1, 2]}, + {uid: 'b', type: 'histogram', y: [2, 3]}, - {uid: 'c', type: 'histogram', y: [1], xaxis: 'x2'}, - {uid: 'd', type: 'histogram', y: [3], xaxis: 'x2'}, + {uid: 'c', type: 'histogram', y: [1, 2], xaxis: 'x2'}, + {uid: 'd', type: 'histogram', y: [3, 4], xaxis: 'x2'}, - {uid: 'e', type: 'histogram', y: [3]}, - {uid: 'f', type: 'histogram', y: [2], xaxis: 'x2'}, + {uid: 'e', type: 'histogram', y: [3, 1]}, + {uid: 'f', type: 'histogram', y: [2, 1], xaxis: 'x2'}, - {uid: 'g', type: 'histogram', x: [1]}, - {uid: 'h', type: 'histogram', x: [2], yaxis: 'y2'}, - {uid: 'i', type: 'histogram', x: [2]} + {uid: 'g', type: 'histogram', x: [1, 2]}, + {uid: 'h', type: 'histogram', x: [2, 3], yaxis: 'y2'}, + {uid: 'i', type: 'histogram', x: [2, 4]} ], layout: {barmode: 'overlay'} }; @@ -318,10 +318,10 @@ describe('Test histogram', function() { it('should not group histogram2d* traces by default', function() { gd = { data: [ - {uid: 'a', type: 'histogram2d', x: [1], y: [1]}, - {uid: 'b', type: 'histogram2d', x: [2], y: [2]}, - {uid: 'c', type: 'histogram2dcontour', x: [1], y: [1], xaxis: 'x2', yaxis: 'y2'}, - {uid: 'd', type: 'histogram2dcontour', x: [2], y: [2], xaxis: 'x2', yaxis: 'y2'}, + {uid: 'a', type: 'histogram2d', x: [1, 2], y: [1, 3]}, + {uid: 'b', type: 'histogram2d', x: [2, 3], y: [2, 3]}, + {uid: 'c', type: 'histogram2dcontour', x: [1, 3], y: [1, 2], xaxis: 'x2', yaxis: 'y2'}, + {uid: 'd', type: 'histogram2dcontour', x: [2, 3], y: [2, 4], xaxis: 'x2', yaxis: 'y2'}, ], layout: {} }; @@ -337,15 +337,15 @@ describe('Test histogram', function() { it('should be able to group traces by *bingroup* under barmode:overlay ', function() { gd = { data: [ - {bingroup: '1', type: 'histogram', y: [1]}, - {uid: 'b', type: 'histogram', y: [2]}, - {bingroup: '2', type: 'histogram', y: [1], xaxis: 'x2'}, - {bingroup: '1', type: 'histogram', y: [3], xaxis: 'x2'}, - {bingroup: '2', type: 'histogram', y: [3]}, - {uid: 'f', type: 'histogram', y: [2], xaxis: 'x2'}, - {bingroup: '3', type: 'histogram', x: [1]}, - {bingroup: '1', type: 'histogram', x: [2], yaxis: 'y2'}, - {bingroup: '3', type: 'histogram', x: [2]} + {bingroup: '1', type: 'histogram', y: [1, 2]}, + {uid: 'b', type: 'histogram', y: [2, 3]}, + {bingroup: '2', type: 'histogram', y: [1, 4], xaxis: 'x2'}, + {bingroup: '1', type: 'histogram', y: [3, 4], xaxis: 'x2'}, + {bingroup: '2', type: 'histogram', y: [3, 4]}, + {uid: 'f', type: 'histogram', y: [2, 4], xaxis: 'x2'}, + {bingroup: '3', type: 'histogram', x: [1, 5]}, + {bingroup: '1', type: 'histogram', x: [2, 5], yaxis: 'y2'}, + {bingroup: '3', type: 'histogram', x: [2, 5]} ], layout: {barmode: 'overlay'} }; @@ -362,11 +362,11 @@ describe('Test histogram', function() { it('should be able to group histogram2d traces by *bingroup*', function() { gd = { data: [ - {uid: 'a', type: 'histogram2d', x: [1], y: [1]}, - {uid: 'b', type: 'histogram2d', x: [1], y: [1]}, - {bingroup: '1', type: 'histogram2d', x: [1], y: [1]}, - {bingroup: '1', type: 'histogram2d', x: [1], y: [1]}, - {uid: 'e', type: 'histogram2d', x: [1], y: [1]}, + {uid: 'a', type: 'histogram2d', x: [1, 2], y: [1, 2]}, + {uid: 'b', type: 'histogram2d', x: [1, 3], y: [1, 1]}, + {bingroup: '1', type: 'histogram2d', x: [1, 2], y: [1, 2]}, + {bingroup: '1', type: 'histogram2d', x: [1, 2], y: [1, 2]}, + {uid: 'e', type: 'histogram2d', x: [1, 3], y: [1, 3]}, ] }; supplyAllDefaults(gd); @@ -382,10 +382,10 @@ describe('Test histogram', function() { it('should be able to group histogram and histogram2d* traces together', function() { gd = { data: [ - {bingroup: '1', type: 'histogram', y: [1]}, - {bingroup: '1', type: 'histogram', y: [3], xaxis: 'x2'}, - {bingroup: '1', type: 'histogram2d', x: [1], y: [3]}, - {bingroup: '1', type: 'histogram2dcontour', x: [1], y: [3]} + {bingroup: '1', type: 'histogram', y: [1, 3]}, + {bingroup: '1', type: 'histogram', y: [3, 3], xaxis: 'x2'}, + {bingroup: '1', type: 'histogram2d', x: [1, 3], y: [3, 2]}, + {bingroup: '1', type: 'histogram2dcontour', x: [1, 2], y: [3, 4]} ], layout: {barmode: 'overlay'} }; @@ -400,8 +400,8 @@ describe('Test histogram', function() { it('should not group traces across axes of different types', function() { gd = { data: [ - {uid: 'a', bingroup: '1', type: 'histogram', y: [1]}, - {uid: 'b', bingroup: '1', type: 'histogram', y: ['cats'], yaxis: 'y2'}, + {uid: 'a', bingroup: '1', type: 'histogram', y: [1, 2]}, + {uid: 'b', bingroup: '1', type: 'histogram', y: ['cats', 'dogs'], yaxis: 'y2'}, ], layout: {barmode: 'overlay'} }; @@ -420,9 +420,9 @@ describe('Test histogram', function() { gd = { data: [ // these 3 traces "have to match" - {bingroup: '1', type: 'histogram', y: [1]}, - {type: 'histogram', y: [1]}, - {bingroup: '2', type: 'histogram', y: [2]} + {bingroup: '1', type: 'histogram', y: [1, 2]}, + {type: 'histogram', y: [1, 3]}, + {bingroup: '2', type: 'histogram', y: [2, 3]} ], layout: {barmode: 'stack'} }; @@ -440,15 +440,15 @@ describe('Test histogram', function() { gd = { data: [ // these 2 traces "have to match" - {bingroup: '1', type: 'histogram', y: [1]}, - {type: 'histogram', y: [1]}, + {bingroup: '1', type: 'histogram', y: [1, 3]}, + {type: 'histogram', y: [1, 3]}, // this one does not have to match with the above two, // (it's on another subplot), but it can be grouped - {bingroup: '1', type: 'histogram', y: [2], xaxis: 'x2', yaxis: 'y2'}, + {bingroup: '1', type: 'histogram', y: [2, 3], xaxis: 'x2', yaxis: 'y2'}, // this one does not have to match either // (it's a histogram2d* traces), but it can be grouped // TODO should this be just "bingroup"??? - {xbingroup: '1', ybingroup: '1', type: 'histogram2d', x: [3], y: [3]} + {xbingroup: '1', ybingroup: '1', type: 'histogram2d', x: [3, 4], y: [3, 4]} ], layout: {} }; @@ -486,7 +486,7 @@ describe('Test histogram', function() { traces = [{}, {}, {yaxis: 'y2'}, {yaxis: 'y2'}]; traces.forEach(function(t) { t.type = 'histogram'; - t.x = [1]; + t.x = [1, 2]; }); } From b8ea71eaa2deb200bdbd6a359a6e256516b5aa34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 20 May 2019 11:18:56 -0400 Subject: [PATCH 11/11] improve comments --- src/traces/histogram/calc.js | 1 + test/jasmine/tests/histogram_test.js | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/traces/histogram/calc.js b/src/traces/histogram/calc.js index 7bb56f057a1..ffa09494659 100644 --- a/src/traces/histogram/calc.js +++ b/src/traces/histogram/calc.js @@ -292,6 +292,7 @@ function calcAllAutoBins(gd, trace, pa, mainData, _overlayEdgeCase) { } // TODO how does work with bingroup ???? + // - https://github.com/plotly/plotly.js/issues/3881 // // Edge case: single-valued histogram overlaying others // Use them all together to calculate the bin size for the single-valued one diff --git a/test/jasmine/tests/histogram_test.js b/test/jasmine/tests/histogram_test.js index 1c0edcf1e28..931197edc85 100644 --- a/test/jasmine/tests/histogram_test.js +++ b/test/jasmine/tests/histogram_test.js @@ -378,7 +378,6 @@ describe('Test histogram', function() { ]); }); - // TODO figure out what to do in this case! it('should be able to group histogram and histogram2d* traces together', function() { gd = { data: [ @@ -447,7 +446,6 @@ describe('Test histogram', function() { {bingroup: '1', type: 'histogram', y: [2, 3], xaxis: 'x2', yaxis: 'y2'}, // this one does not have to match either // (it's a histogram2d* traces), but it can be grouped - // TODO should this be just "bingroup"??? {xbingroup: '1', ybingroup: '1', type: 'histogram2d', x: [3, 4], y: [3, 4]} ], layout: {}