diff --git a/hunks/data/averageStream.js b/hunks/data/averageStream.js new file mode 100644 index 0000000000000000000000000000000000000000..1cf072494a1c0d9e040435b99ed1802acef5f502 --- /dev/null +++ b/hunks/data/averageStream.js @@ -0,0 +1,49 @@ +/* +hunks/data/exFilter.js + +removes old lovers from data streams + +Jake Read at the Center for Bits and Atoms +(c) Massachusetts Institute of Technology 2019 + +This work may be reproduced, modified, distributed, performed, and +displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects. +Copyright is retained and must be preserved. The work is provided as is; +no warranty is provided, and users accept all liability. +*/ + +import { Hunkify, Input, Output, State } from '../hunks.js' + +export default function AverageStream(){ + Hunkify(this) + + let inNum = this.input('number', 'vals') + let outNum = this.output('number', 'average') + let reset = this.state('boolean', 'reset', false) + let count = this.state('number', 'count', 10) + let counter = this.state('number', 'counter', 0) + + counter.onChange = (val) => { + counter.set(counter.val) // no, + } + + let sum = 0 + + reset.onChange = (value) => { + counter.set(0) + sum = 0 + } + + this.loop = () => { + if(inNum.io() && (counter.value < count.value)){ + sum += inNum.get() + let tally = counter.value + 1 + counter.set(tally) + } + if(!outNum.io() && (counter.value >= count.value)){ + outNum.put(sum / count.value) + sum = 0 + counter.set(0) + } + } +} diff --git a/hunks/data/buildTable.js b/hunks/data/buildTable.js new file mode 100644 index 0000000000000000000000000000000000000000..490de084e5172342939bbdaf66d63f9f4c818c22 --- /dev/null +++ b/hunks/data/buildTable.js @@ -0,0 +1,65 @@ +/* +hunks/data/accumulator.js + +stashes data stream to an array + +Jake Read at the Center for Bits and Atoms +(c) Massachusetts Institute of Technology 2019 + +This work may be reproduced, modified, distributed, performed, and +displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects. +Copyright is retained and must be preserved. The work is provided as is; +no warranty is provided, and users accept all liability. +*/ + +import { + Hunkify, + Input, + Output, + State +} from '../hunks.js' + +export default function BuildTable(){ + Hunkify(this) + + // todo: make this polymorphic + let ipr = this.input("boolean", "reset") + let ivx = this.input("number", "x") + let ivy = this.input("number", "y") + // push a reference out, for now + let outref = this.output("reference", "accumulated") + // reset via button as well, + let rstrig = this.state("boolean", "reset", false) + + let reset = () => { + arr = [] + if(!outref.io()){ + outref.put(arr) + } + } + + rstrig.onChange = (value) => { + reset() + rstrig.set(false) + } + + this.init = () => { + // + } + + let arr = [] + + this.loop = () => { + if(ipr.io()){ + ipr.get() + reset() + } + if(ivx.io() && ivy.io()){ + arr.push([ivx.get(), ivy.get()]) + // todo: for ref, pass always OK ? breaks rules anyways ... + if(!outref.io()){ + outref.put(arr) + } + } + } +} diff --git a/hunks/data/lineChart.js b/hunks/data/lineChart.js index d68c0994351cc2cb94de86e356b3d8dcdfb8aed0..ace061af3a62521c0e1f36a1e0cc8466aed14f22 100644 --- a/hunks/data/lineChart.js +++ b/hunks/data/lineChart.js @@ -22,32 +22,24 @@ import { } from '../hunks.js' -function LineChart() { +export default function LineChart() { Hunkify(this) // - let dtRef = new Input('reference', 'array', this) - this.inputs.push(dtRef) + let dtRef = this.input('reference', 'array') // how many to keep - let displayNum = new State('number', 'displayCount', 50) - this.states.push(displayNum) + let displayNum = this.state('number', 'displayCount', 50) // some global items, var datas = [ [0, 0] ] - let uniqueDivId = '' - // to claim some space in the DOM, we make a handle for ourselv - this.dom = {} + // hack, likely there is a better way + let dom = this.document() this.init = () => { - console.log('INIT linechart') - // make a unique id, we use a flat d3 search to find and update this ... - uniqueDivId = 'linechart_div_' + Math.round(Math.random() * 1000) - this.dom = $('<div>').attr('id', uniqueDivId).get(0) - } - - this.onload = () => { + let uid = `lineChart_${this.ind}_uid` + $(dom).attr('id', uid) // our vars, var margin = { top: 20, @@ -81,9 +73,9 @@ function LineChart() { return d[1]; })]) if (thesvg) { - d3.select(`#${uniqueDivId}`).selectAll("*").remove() + d3.select(`#${uid}`).selectAll("*").remove() } - thesvg = d3.select(`#${uniqueDivId}`).append("svg") + thesvg = d3.select(`#${uid}`).append("svg") .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .append("g") @@ -101,16 +93,10 @@ function LineChart() { thesvg.append("g") .call(d3.axisLeft(y)) } - // so then - this.requestResize(1000, 520) // startup this.reloadDatas() } - this.onresize = () => { - console.log(this.dom.clientHeight, this.dom.clientWidth) - } - // hmmm this.loop = () => { // pull and append @@ -122,5 +108,3 @@ function LineChart() { } } } - -export default LineChart diff --git a/hunks/data/openJSON.js b/hunks/data/openJSON.js index 6295bf40eae639e64d801774545358a0c901ecbb..fbc3be651a075637401ed82a85d5fdc38ae90b36 100644 --- a/hunks/data/openJSON.js +++ b/hunks/data/openJSON.js @@ -38,23 +38,17 @@ export default function OpenJSON() { let reader = new FileReader() reader.onload = (evt) => { theRef = JSON.parse(evt.target.result) - // that's it, refUpdated = true } reader.readAsText(file) } - this.init = () => { - this.dom = $('<div>').get(0) - } - - this.onload = () => { - let btn = $('<input type="file" accept=".json">').get(0) - $(btn).on('change', (evt) => { - readJSON(evt.target.files[0]) - }) - $(this.dom).append(btn) - } + let dom = this.document() + let btn = $('<input type="file" accept=".json">').get(0) + $(btn).on('change', (evt) => { + readJSON(evt.target.files[0]) + }) + dom.append(btn) this.loop = () => { if(refUpdated && !outRef.io()){ @@ -62,5 +56,4 @@ export default function OpenJSON() { refUpdated = false } } - } diff --git a/hunks/data/save.js b/hunks/data/save.js index af2b3f75a1ce582b1e260d7686241ff88c03056c..1f8655701b2ce525fa566b419a949ec3a49d931a 100644 --- a/hunks/data/save.js +++ b/hunks/data/save.js @@ -1,7 +1,7 @@ /* hunks/data/save.js -write what-ever to JSON, ship 2 download +write what-ever to JSON, ship 2 download Jake Read at the Center for Bits and Atoms (c) Massachusetts Institute of Technology 2019 @@ -51,6 +51,7 @@ export default function Save(){ svbutton.onChange = (val) => { dishit() + svbutton.set(false) } this.loop = () => { diff --git a/hunks/math/polynomialFit.js b/hunks/math/polynomialFit.js new file mode 100644 index 0000000000000000000000000000000000000000..6e36a229dbb8cdee802617b6f2ee8136c2901fd3 --- /dev/null +++ b/hunks/math/polynomialFit.js @@ -0,0 +1,70 @@ +/* +hunks/x_adhoc/center.js + +find subpixel hotspot in grayscale image + +Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy +(c) Massachusetts Institute of Technology 2019 + +This work may be reproduced, modified, distributed, performed, and +displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects. +Copyright is retained and must be preserved. The work is provided as is; +no warranty is provided, and users accept all liability. +*/ + +import { + Hunkify, + Input, + Output, + State +} from '../hunks.js' + +import REG from '../../libs/regression.js' + +export default function PolynomialFit() { + Hunkify(this) + + let dataIn = this.input('reference', 'data') + let predict = this.input('number', 'predict') + + let fitDisplay = this.output('reference', 'fit') + let pout = this.output('number', 'predict') // thruput, + let prediction = this.output('number', 'prediction') + + let expression = this.state('string', 'result', '-') + + this.init = () => { + expression.set('-') + } + + let fit = null + + this.loop = () => { + if (dataIn.io()) { + let datas = JSON.parse(JSON.stringify(dataIn.get())) + fit = REG.polynomial(datas, { order: 3, precision: 6 }) + console.log(fit) + expression.set(fit.string) + // go-by to check, for x bounds of data, by .. 0.5 (arbitrary) + let min = Infinity + let max = -Infinity + for (let i in datas) { + if (datas[i][0] < min) min = datas[i][0] + if (datas[i][0] > max) max = datas[i][0] + } + let fdata = [] + let count = 0 + for (let i = min; i < max; i += 0.2) { + fdata.push(fit.predict(i)) + } + if (!fitDisplay.io()) fitDisplay.put(JSON.parse(JSON.stringify(fdata))) + } + if (!fit) { + if(predict.io()) predict.get() + } else if (predict.io() && !prediction.io() && !pout.io()) { + let res = fit.predict(predict.get()) + prediction.put(res[1]) + pout.put(res[0]) + } + } +} diff --git a/hunks/math/subtraction.js b/hunks/math/subtraction.js new file mode 100644 index 0000000000000000000000000000000000000000..af9054d038edc2b697b1918263f4d7035a9cbd15 --- /dev/null +++ b/hunks/math/subtraction.js @@ -0,0 +1,33 @@ +/* +hunks/math/absolutevalue.js + +Jake Read at the Center for Bits and Atoms +(c) Massachusetts Institute of Technology 2019 + +This work may be reproduced, modified, distributed, performed, and +displayed for any purpose, but must acknowledge the squidworks and cuttlefish projects. +Copyright is retained and must be preserved. The work is provided as is; +no warranty is provided, and users accept all liability. +*/ + + +import { + Hunkify, + Input, + Output, + State +} from '../hunks.js' + +export default function Subtraction(){ + Hunkify(this) + + let a = this.input('number', 'a') + let b = this.input('number', 'b') + let c = this.output('number', 'c') + + this.loop = () => { + if(a.io() && b.io() && !c.io()){ + c.put(a.get() - b.get()) + } + } +} diff --git a/hunks/statemachines/dex.js b/hunks/statemachines/dex.js index bb1913dc2db267ff6c4648b15123724ccbab02b6..d9bda7216aadd0b8a1d0da94f969945cc2a2405a 100644 --- a/hunks/statemachines/dex.js +++ b/hunks/statemachines/dex.js @@ -39,61 +39,45 @@ import { export default function DEX() { Hunkify(this) - //let motorReturn = new Input('int32', 'motor return', this) - let loadcellReturn = new Input('int32', 'loadcell return', this) - this.inputs.push(loadcellReturn) - - // to operate, - let motorOut = new Output('int32', 'motor output', this) - let loadcellTrigger = new Output('boolean', 'loadcell trigger', this) - this.outputs.push(motorOut, loadcellTrigger) - // to run, - let stressOut = new Output('number', 'current stress', this) - let strainOut = new Output('number', 'current strain', this) - this.outputs.push(stressOut, strainOut) + // to operate + let motorOut = this.output('int32', 'motor output', this) + // request a reading, + let loadcellTrigger = this.output('boolean', 'loadcell trigger', this) + // open loop displacement + let cdOut = this.output('number', 'displacement (um)') + + // to config, + let runState = this.state('boolean', 'running', false) + let resetState = this.state('boolean', 'reset', false) - let byIncrement = (count) => { - return Math.round(count * umPerStep.value * 100) / 100 + let stepsToIncrement = (steps) => { + // for this many steps, + return steps / stepsPerMM.value } - let shipIt = () => { - motorOut.put(Math.round(incrementSize.value / umPerStep.value)) - loadcellTrigger.put(true) + let incrementToSteps = (increment) => { + return Math.ceil(increment * stepsPerMM.value) } - // to config, - let runState = new State('boolean', 'running', false) - let resetState = new State('boolean', 'reset', false) // movement sizes info, - let umPerStep = new State('number', 'displacement per step (um)', 4.23387) - let incrementSize = new State('number', 'increment (um)', byIncrement(5)) - // loadcell info, - let newtonsPerTick = new State('number', 'newtons per tick', ) - this.states.push(runState, umPerStep, incrementSize) + let stepsPerMM = this.state('number', 'steps per mm', 4960) + let incrementSize = this.state('number', 'increment (mm)', stepsToIncrement(100)) + // to run, - let currentDisplacement = new State('number', 'current stress', 0) - this.states.push(currentDisplacement) - - runState.onChange = (value) => { - if (runState.value) { - runState.set(false) - } else { - if(!loadcellTrigger.io()){ - shipIt() - runState.set(true) - } else { - // nope, donot set - } - } - } + let currentDisplacement = this.state('number', 'current displacement (mm)', 0) + + // delay, + let stepDelay = this.state('number', 'delay(ms)', 500) resetState.onChange = (value) => { currentDisplacement.set(0) + runState.set(false) + resetState.set(false) } incrementSize.onChange = (value) => { - let count = Math.ceil(value / umPerStep.value) - incrementSize.set(byIncrement(count)) + // from <um> in fixed steps, do stepsPerUm / value + incrementSize.set(incrementToSteps(value) / stepsPerMM.value) } this.init = () => { @@ -101,19 +85,23 @@ export default function DEX() { runState.set(false) } - this.loop = () => { - // clear in pairs, - if(loadcellReturn.io()){ - let strain = loadcellReturn.get() + let waiting = false + let shipIt = () => { + waiting = true + motorOut.put(Math.round(stepsPerMM.value * incrementSize.value)) + setTimeout(() => { + loadcellTrigger.put(true) currentDisplacement.set(currentDisplacement.value + incrementSize.value) - if(!stressOut.io() && !strainOut.io()){ - stressOut.put(currentDisplacement.value) - strainOut.put(strain) - } - if(runState.value){ - shipIt() - // and + cdOut.put(currentDisplacement.value) + waiting = false + }, stepDelay.value) + } + this.loop = () => { + // if motor and loadcell trigger empty, release another round: + if(runState.value){ + if(!loadcellTrigger.io() && !motorOut.io() && !cdOut.io() && !waiting){ + shipIt() } } } diff --git a/hunks/x_adhoc/open-dex-json.js b/hunks/x_adhoc/open-dex-json.js index c5a1d3b53cc3a23e315765fb8ece1efd9d2c7fcc..41af80029a6c09020d52b727dc853f2e0cc4be05 100644 --- a/hunks/x_adhoc/open-dex-json.js +++ b/hunks/x_adhoc/open-dex-json.js @@ -1,7 +1,7 @@ /* hunks/x_adhoc/vectorize.js -bridge to the future +bridge to the future Jake Read at the Center for Bits and Atoms with Neil Gershenfeld and Leo McElroy (c) Massachusetts Institute of Technology 2019 diff --git a/test_files/dex_calibr.json b/test_files/dex_calibr.json new file mode 100644 index 0000000000000000000000000000000000000000..9b6a69d0965ad472b3ccb039dfbf69bda77c17fb --- /dev/null +++ b/test_files/dex_calibr.json @@ -0,0 +1,2322 @@ +[ + [ + 68.72228134101739, + 0.2 + ], + [ + 68.3444816198201, + 0.4 + ], + [ + 67.61951739601592, + 0.6000000000000001 + ], + [ + 67.77979457774627, + 0.8 + ], + [ + 68.0796624951625, + 1 + ], + [ + 68.34491224429917, + 1.2 + ], + [ + 68.66898614579621, + 1.4 + ], + [ + 68.98944251832184, + 1.5999999999999999 + ], + [ + 69.20942821333465, + 1.7999999999999998 + ], + [ + 69.65288966989165, + 1.9999999999999998 + ], + [ + 69.84916792134159, + 2.1999999999999997 + ], + [ + 70.10359788920594, + 2.4 + ], + [ + 70.36765451697195, + 2.6 + ], + [ + 70.75726079267518, + 2.8000000000000003 + ], + [ + 71.01375658337436, + 3.0000000000000004 + ], + [ + 71.22896119719715, + 3.2000000000000006 + ], + [ + 71.65700293397084, + 3.400000000000001 + ], + [ + 71.88197769882383, + 3.600000000000001 + ], + [ + 72.08440113207777, + 3.800000000000001 + ], + [ + 72.60303982042718, + 4.000000000000001 + ], + [ + 72.81106972993851, + 4.200000000000001 + ], + [ + 73.03102659906938, + 4.400000000000001 + ], + [ + 73.28891283492658, + 4.600000000000001 + ], + [ + 73.94536231651401, + 4.800000000000002 + ], + [ + 74.0373160925701, + 5.000000000000002 + ], + [ + 74.18260617714505, + 5.200000000000002 + ], + [ + 74.64882457397253, + 5.400000000000002 + ], + [ + 74.80113509523537, + 5.600000000000002 + ], + [ + 75.0359108872453, + 5.8000000000000025 + ], + [ + 75.27522724414463, + 6.000000000000003 + ], + [ + 75.74400715763575, + 6.200000000000003 + ], + [ + 75.93136320066402, + 6.400000000000003 + ], + [ + 76.06774082497027, + 6.600000000000003 + ], + [ + 76.18570292688052, + 6.800000000000003 + ], + [ + 76.87300419838431, + 7.0000000000000036 + ], + [ + 77.09491261819153, + 7.200000000000004 + ], + [ + 77.75465075792773, + 7.400000000000004 + ], + [ + 77.78577721728915, + 7.600000000000004 + ], + [ + 78.03719516023675, + 7.800000000000004 + ], + [ + 78.08108270927052, + 8.000000000000004 + ], + [ + 78.31634121591436, + 8.200000000000003 + ], + [ + 78.76780617922003, + 8.400000000000002 + ], + [ + 79.20160156470693, + 8.600000000000001 + ], + [ + 79.60417039050449, + 8.8 + ], + [ + 79.83263351612459, + 9 + ], + [ + 80.07958514451308, + 9.2 + ], + [ + 80.29961698220914, + 9.399999999999999 + ], + [ + 80.72684154295379, + 9.599999999999998 + ], + [ + 80.9345009058989, + 9.799999999999997 + ], + [ + 81.16003754319723, + 9.999999999999996 + ], + [ + 81.58056026269915, + 10.199999999999996 + ], + [ + 81.99824927574366, + 10.399999999999995 + ], + [ + 82.07765105504619, + 10.599999999999994 + ], + [ + 82.28445343251364, + 10.799999999999994 + ], + [ + 82.6900004801271, + 10.999999999999993 + ], + [ + 82.90481311151174, + 11.199999999999992 + ], + [ + 82.96545112808488, + 11.399999999999991 + ], + [ + 83.15454633549487, + 11.59999999999999 + ], + [ + 83.71585065803596, + 11.79999999999999 + ], + [ + 84.01864794981192, + 11.99999999999999 + ], + [ + 84.29436487413584, + 12.199999999999989 + ], + [ + 84.74541591099205, + 12.399999999999988 + ], + [ + 84.95743172519309, + 12.599999999999987 + ], + [ + 85.20165945050843, + 12.799999999999986 + ], + [ + 85.61274262542071, + 12.999999999999986 + ], + [ + 85.86585167377854, + 13.199999999999985 + ], + [ + 86.02453950469119, + 13.399999999999984 + ], + [ + 86.49544654401912, + 13.599999999999984 + ], + [ + 86.72718837044665, + 13.799999999999983 + ], + [ + 86.96013392553958, + 13.999999999999982 + ], + [ + 87.16850900120407, + 14.199999999999982 + ], + [ + 87.60771848537313, + 14.39999999999998 + ], + [ + 87.82918808766733, + 14.59999999999998 + ], + [ + 88.06611292351947, + 14.79999999999998 + ], + [ + 88.12689052604972, + 14.999999999999979 + ], + [ + 88.50228767710432, + 15.199999999999978 + ], + [ + 88.83569004353016, + 15.399999999999977 + ], + [ + 89.27318304492776, + 15.599999999999977 + ], + [ + 89.6613236512393, + 15.799999999999976 + ], + [ + 89.86229512855927, + 15.999999999999975 + ], + [ + 90.01509761651016, + 16.199999999999974 + ], + [ + 90.52466963215595, + 16.399999999999974 + ], + [ + 90.77057732097629, + 16.599999999999973 + ], + [ + 90.99965007612663, + 16.799999999999972 + ], + [ + 91.24768949578163, + 16.99999999999997 + ], + [ + 91.66067737539178, + 17.19999999999997 + ], + [ + 91.88121142080962, + 17.39999999999997 + ], + [ + 92.12495022377254, + 17.59999999999997 + ], + [ + 92.5397651230615, + 17.79999999999997 + ], + [ + 92.76638713364646, + 17.999999999999968 + ], + [ + 93.00175621164541, + 18.199999999999967 + ], + [ + 93.25423928711834, + 18.399999999999967 + ], + [ + 93.64335695692886, + 18.599999999999966 + ], + [ + 94.00140612447734, + 18.799999999999965 + ], + [ + 94.14886179819815, + 18.999999999999964 + ], + [ + 94.55518120748555, + 19.199999999999964 + ], + [ + 94.77304991817059, + 19.399999999999963 + ], + [ + 95.01310324930697, + 19.599999999999962 + ], + [ + 95.46224254000481, + 19.79999999999996 + ], + [ + 95.67501458326569, + 19.99999999999996 + ], + [ + 95.93437100971586, + 20.19999999999996 + ], + [ + 96.17479581818378, + 20.39999999999996 + ], + [ + 96.60747852125486, + 20.59999999999996 + ], + [ + 96.81002362883926, + 20.799999999999958 + ], + [ + 97.05784247961132, + 20.999999999999957 + ], + [ + 97.51548545478647, + 21.199999999999957 + ], + [ + 97.71077902544602, + 21.399999999999956 + ], + [ + 97.95868367370086, + 21.599999999999955 + ], + [ + 98.15726975976922, + 21.799999999999955 + ], + [ + 98.61797133716306, + 21.999999999999954 + ], + [ + 98.8419522704894, + 22.199999999999953 + ], + [ + 99.07686735091877, + 22.399999999999952 + ], + [ + 99.49289865866027, + 22.59999999999995 + ], + [ + 99.71345943099418, + 22.79999999999995 + ], + [ + 99.9369264782904, + 22.99999999999995 + ], + [ + 100.19812889220987, + 23.19999999999995 + ], + [ + 100.62136391366532, + 23.39999999999995 + ], + [ + 100.86381131568785, + 23.599999999999948 + ], + [ + 101.08451938399068, + 23.799999999999947 + ], + [ + 101.50907042222018, + 23.999999999999947 + ], + [ + 101.7535604970099, + 24.199999999999946 + ], + [ + 102.11253265630619, + 24.399999999999945 + ], + [ + 102.4304079521286, + 24.599999999999945 + ], + [ + 102.73751444478869, + 24.799999999999944 + ], + [ + 102.86769917176072, + 24.999999999999943 + ], + [ + 103.16986068674326, + 25.199999999999942 + ], + [ + 103.54737395070354, + 25.39999999999994 + ], + [ + 103.8084584956207, + 25.59999999999994 + ], + [ + 104.03612963467943, + 25.79999999999994 + ], + [ + 104.47988799873194, + 25.99999999999994 + ], + [ + 104.67484290287646, + 26.19999999999994 + ], + [ + 104.95287827914493, + 26.399999999999938 + ], + [ + 105.19681671357333, + 26.599999999999937 + ], + [ + 105.63279162628723, + 26.799999999999937 + ], + [ + 105.8269670489291, + 26.999999999999936 + ], + [ + 106.16895887472627, + 27.199999999999935 + ], + [ + 106.52249512790111, + 27.399999999999935 + ], + [ + 106.74675096493205, + 27.599999999999934 + ], + [ + 106.96921069601287, + 27.799999999999933 + ], + [ + 107.22316815530813, + 27.999999999999932 + ], + [ + 107.6414814911989, + 28.199999999999932 + ], + [ + 107.87396883824405, + 28.39999999999993 + ], + [ + 108.10456077056232, + 28.59999999999993 + ], + [ + 108.53497369821112, + 28.79999999999993 + ], + [ + 108.72892271298461, + 28.99999999999993 + ], + [ + 108.96489721776948, + 29.19999999999993 + ], + [ + 109.37955293905229, + 29.399999999999928 + ], + [ + 109.6011428145198, + 29.599999999999927 + ], + [ + 109.84333043325987, + 29.799999999999926 + ], + [ + 110.08886599577646, + 29.999999999999925 + ], + [ + 110.47521355382763, + 30.199999999999925 + ], + [ + 110.72237658030092, + 30.399999999999924 + ], + [ + 110.9713154091566, + 30.599999999999923 + ], + [ + 111.38897935974671, + 30.799999999999923 + ], + [ + 111.59119651667505, + 30.999999999999922 + ], + [ + 111.93637862729284, + 31.19999999999992 + ], + [ + 112.08896904828703, + 31.39999999999992 + ], + [ + 112.58699665959469, + 31.59999999999992 + ], + [ + 112.71313063352424, + 31.79999999999992 + ], + [ + 112.98753116180879, + 31.99999999999992 + ], + [ + 113.40305663499272, + 32.19999999999992 + ], + [ + 113.63504460804414, + 32.39999999999992 + ], + [ + 113.85409750544066, + 32.59999999999992 + ], + [ + 114.33906394611745, + 32.799999999999926 + ], + [ + 114.53841278364389, + 32.99999999999993 + ], + [ + 114.75104008799528, + 33.19999999999993 + ], + [ + 115.00035844074138, + 33.399999999999935 + ], + [ + 115.4491548278079, + 33.59999999999994 + ], + [ + 115.65589975172632, + 33.79999999999994 + ], + [ + 115.87473772822342, + 33.99999999999994 + ], + [ + 116.13516745826384, + 34.199999999999946 + ], + [ + 116.54738967454574, + 34.39999999999995 + ], + [ + 116.77758024802276, + 34.59999999999995 + ], + [ + 117.03320038044136, + 34.799999999999955 + ], + [ + 117.43525723280125, + 34.99999999999996 + ], + [ + 117.66536341955148, + 35.19999999999996 + ], + [ + 117.89779523897981, + 35.39999999999996 + ], + [ + 118.13692766711472, + 35.599999999999966 + ], + [ + 118.55147991979612, + 35.79999999999997 + ], + [ + 118.94943389929499, + 35.99999999999997 + ], + [ + 119.04549132896959, + 36.199999999999974 + ], + [ + 119.52683063035188, + 36.39999999999998 + ], + [ + 119.66866221644796, + 36.59999999999998 + ], + [ + 119.987799871025, + 36.79999999999998 + ], + [ + 120.41063907006587, + 36.999999999999986 + ], + [ + 120.58482066808548, + 37.19999999999999 + ], + [ + 120.86420860377291, + 37.39999999999999 + ], + [ + 121.40325141900793, + 37.599999999999994 + ], + [ + 121.5116942666183, + 37.8 + ], + [ + 121.72973183413536, + 38 + ], + [ + 121.9826841197673, + 38.2 + ], + [ + 122.41638049775335, + 38.400000000000006 + ], + [ + 122.6171941680566, + 38.60000000000001 + ], + [ + 122.85822965669301, + 38.80000000000001 + ], + [ + 123.11969855321486, + 39.000000000000014 + ], + [ + 123.55085078405021, + 39.20000000000002 + ], + [ + 123.75414017149909, + 39.40000000000002 + ], + [ + 124.0134889092376, + 39.60000000000002 + ], + [ + 124.43237949894112, + 39.800000000000026 + ], + [ + 124.70003784791976, + 40.00000000000003 + ], + [ + 124.93954543542576, + 40.20000000000003 + ], + [ + 125.38311508636492, + 40.400000000000034 + ], + [ + 125.56446455068709, + 40.60000000000004 + ], + [ + 125.82716922782667, + 40.80000000000004 + ], + [ + 126.07732826288664, + 41.00000000000004 + ], + [ + 126.46776244877213, + 41.200000000000045 + ], + [ + 126.71145301839034, + 41.40000000000005 + ], + [ + 127.01906074759496, + 41.60000000000005 + ], + [ + 127.37752320143414, + 41.800000000000054 + ], + [ + 127.54717399228804, + 42.00000000000006 + ], + [ + 127.84506067419885, + 42.20000000000006 + ], + [ + 128.14516795279164, + 42.40000000000006 + ], + [ + 128.65871556629446, + 42.600000000000065 + ], + [ + 128.8674750293485, + 42.80000000000007 + ], + [ + 129.0029740641001, + 43.00000000000007 + ], + [ + 129.44534668902614, + 43.200000000000074 + ], + [ + 129.6514824103691, + 43.40000000000008 + ], + [ + 129.9142699451582, + 43.60000000000008 + ], + [ + 130.14967780578644, + 43.80000000000008 + ], + [ + 130.55513586646782, + 44.000000000000085 + ], + [ + 130.78976100987492, + 44.20000000000009 + ], + [ + 131.05148612532489, + 44.40000000000009 + ], + [ + 131.49269933665252, + 44.600000000000094 + ], + [ + 131.70929750937225, + 44.8000000000001 + ], + [ + 131.93041642230787, + 45.0000000000001 + ], + [ + 132.4862099164766, + 45.2000000000001 + ], + [ + 132.64458986413086, + 45.400000000000105 + ], + [ + 132.84676189828514, + 45.60000000000011 + ], + [ + 133.06012620117204, + 45.80000000000011 + ], + [ + 133.5050540470221, + 46.000000000000114 + ], + [ + 133.7178151278513, + 46.20000000000012 + ], + [ + 134.0406267560644, + 46.40000000000012 + ], + [ + 134.39182619246728, + 46.60000000000012 + ], + [ + 134.6510670750736, + 46.800000000000125 + ], + [ + 134.91138374173025, + 47.00000000000013 + ], + [ + 135.17329060372137, + 47.20000000000013 + ], + [ + 135.5291568488671, + 47.400000000000134 + ], + [ + 135.79980250757865, + 47.600000000000136 + ], + [ + 136.0983129880634, + 47.80000000000014 + ], + [ + 136.4922029088287, + 48.00000000000014 + ], + [ + 136.6844554873533, + 48.200000000000145 + ], + [ + 136.94676865171667, + 48.40000000000015 + ], + [ + 137.44248488067092, + 48.60000000000015 + ], + [ + 137.6265421514449, + 48.80000000000015 + ], + [ + 137.83494416162227, + 49.000000000000156 + ], + [ + 138.10840103908552, + 49.20000000000016 + ], + [ + 138.54862012869467, + 49.40000000000016 + ], + [ + 138.7700876624191, + 49.600000000000165 + ], + [ + 138.9784511090579, + 49.80000000000017 + ], + [ + 139.43584286264021, + 50.00000000000017 + ], + [ + 139.68594866328561, + 50.20000000000017 + ], + [ + 139.95019229534282, + 50.400000000000176 + ], + [ + 140.1871255263205, + 50.60000000000018 + ], + [ + 140.733300880906, + 50.80000000000018 + ], + [ + 140.83748591102156, + 51.000000000000185 + ], + [ + 141.02438704505897, + 51.20000000000019 + ], + [ + 141.44675599966982, + 51.40000000000019 + ], + [ + 141.70056025740732, + 51.60000000000019 + ], + [ + 142.02142973744026, + 51.800000000000196 + ], + [ + 142.19012038687433, + 52.0000000000002 + ], + [ + 142.6149781416383, + 52.2000000000002 + ], + [ + 142.8334350458314, + 52.400000000000205 + ], + [ + 143.17490821854784, + 52.60000000000021 + ], + [ + 143.5441605910645, + 52.80000000000021 + ], + [ + 143.74365576300764, + 53.00000000000021 + ], + [ + 144.1094348792579, + 53.200000000000216 + ], + [ + 144.29051589046514, + 53.40000000000022 + ], + [ + 144.69465566360915, + 53.60000000000022 + ], + [ + 144.88161662719637, + 53.800000000000225 + ], + [ + 145.29145805354025, + 54.00000000000023 + ], + [ + 145.6051850997212, + 54.20000000000023 + ], + [ + 145.7963145557601, + 54.40000000000023 + ], + [ + 146.06117417312652, + 54.600000000000236 + ], + [ + 146.56843419889594, + 54.80000000000024 + ], + [ + 146.74535485302533, + 55.00000000000024 + ], + [ + 146.96758948281845, + 55.200000000000244 + ], + [ + 147.23188288333014, + 55.40000000000025 + ], + [ + 147.6614138618396, + 55.60000000000025 + ], + [ + 147.8832606957622, + 55.80000000000025 + ], + [ + 148.13596477281658, + 56.000000000000256 + ], + [ + 148.57852538415548, + 56.20000000000026 + ], + [ + 148.83304146337264, + 56.40000000000026 + ], + [ + 149.0606960058747, + 56.600000000000264 + ], + [ + 149.27498978831784, + 56.80000000000027 + ], + [ + 149.69759171804492, + 57.00000000000027 + ], + [ + 150.02564219394824, + 57.20000000000027 + ], + [ + 150.20646521454591, + 57.400000000000276 + ], + [ + 150.58337666946431, + 57.60000000000028 + ], + [ + 150.81377313527582, + 57.80000000000028 + ], + [ + 151.20621896543412, + 58.000000000000284 + ], + [ + 151.59382083969274, + 58.20000000000029 + ], + [ + 151.70201089097128, + 58.40000000000029 + ], + [ + 152.03636044783696, + 58.60000000000029 + ], + [ + 152.29251603044412, + 58.800000000000296 + ], + [ + 152.70559868199726, + 59.0000000000003 + ], + [ + 152.892752839006, + 59.2000000000003 + ], + [ + 153.18880806013837, + 59.400000000000304 + ], + [ + 153.6269382091085, + 59.60000000000031 + ], + [ + 153.81346751685706, + 59.80000000000031 + ], + [ + 154.06625008476175, + 60.00000000000031 + ], + [ + 154.38638016485214, + 60.200000000000315 + ], + [ + 154.7834555669576, + 60.40000000000032 + ], + [ + 154.96868814069396, + 60.60000000000032 + ], + [ + 155.2436165842114, + 60.800000000000324 + ], + [ + 155.6636136738838, + 61.00000000000033 + ], + [ + 155.91669816143894, + 61.20000000000033 + ], + [ + 156.13712765592788, + 61.40000000000033 + ], + [ + 156.37524258095334, + 61.600000000000335 + ], + [ + 156.78912703478497, + 61.80000000000034 + ], + [ + 157.0622604925792, + 62.00000000000034 + ], + [ + 157.29896497009494, + 62.200000000000344 + ], + [ + 157.71713890584297, + 62.40000000000035 + ], + [ + 157.99307955657505, + 62.60000000000035 + ], + [ + 158.35140014264073, + 62.80000000000035 + ], + [ + 158.4498529666461, + 63.000000000000355 + ], + [ + 158.8433043696358, + 63.20000000000036 + ], + [ + 159.12040147127777, + 63.40000000000036 + ], + [ + 159.63775612895532, + 63.600000000000364 + ], + [ + 159.75554547513622, + 63.80000000000037 + ], + [ + 160.0433946917209, + 64.00000000000037 + ], + [ + 160.29370965414702, + 64.20000000000037 + ], + [ + 160.82437205327562, + 64.40000000000038 + ], + [ + 160.94332985491636, + 64.60000000000038 + ], + [ + 161.19846763692928, + 64.80000000000038 + ], + [ + 161.47634216353143, + 65.00000000000038 + ], + [ + 161.85248541789147, + 65.20000000000039 + ], + [ + 162.08864925559135, + 65.40000000000039 + ], + [ + 162.33111220177503, + 65.60000000000039 + ], + [ + 162.78012568265876, + 65.8000000000004 + ], + [ + 162.95122627237902, + 66.0000000000004 + ], + [ + 163.20710122693643, + 66.2000000000004 + ], + [ + 163.45633849019327, + 66.4000000000004 + ], + [ + 163.96319058532146, + 66.6000000000004 + ], + [ + 164.15683048485877, + 66.80000000000041 + ], + [ + 164.4106591800415, + 67.00000000000041 + ], + [ + 164.85026502510027, + 67.20000000000041 + ], + [ + 165.10275114020843, + 67.40000000000042 + ], + [ + 165.36410108902635, + 67.60000000000042 + ], + [ + 165.7674959281087, + 67.80000000000042 + ], + [ + 166.0275190308486, + 68.00000000000043 + ], + [ + 166.24162165619668, + 68.20000000000043 + ], + [ + 166.5197907304903, + 68.40000000000043 + ], + [ + 166.92081153525407, + 68.60000000000043 + ], + [ + 167.23596489897687, + 68.80000000000044 + ], + [ + 167.43183822591737, + 69.00000000000044 + ], + [ + 167.80815061559773, + 69.20000000000044 + ], + [ + 168.01989399672186, + 69.40000000000045 + ], + [ + 168.270026688227, + 69.60000000000045 + ], + [ + 168.8102694081376, + 69.80000000000045 + ], + [ + 168.90424333649844, + 70.00000000000045 + ], + [ + 169.20067851879233, + 70.20000000000046 + ], + [ + 169.44919008556013, + 70.40000000000046 + ], + [ + 169.90279941952036, + 70.60000000000046 + ], + [ + 170.10908593616887, + 70.80000000000047 + ], + [ + 170.39168608531784, + 71.00000000000047 + ], + [ + 170.81673955872424, + 71.20000000000047 + ], + [ + 171.05042422642293, + 71.40000000000047 + ], + [ + 171.2704616321362, + 71.60000000000048 + ], + [ + 171.5398067324366, + 71.80000000000048 + ], + [ + 172.01351962286037, + 72.00000000000048 + ], + [ + 172.18059432998376, + 72.20000000000049 + ], + [ + 172.50997624379758, + 72.40000000000049 + ], + [ + 172.84362774477637, + 72.60000000000049 + ], + [ + 173.14041013678573, + 72.8000000000005 + ], + [ + 173.37602514956149, + 73.0000000000005 + ], + [ + 173.5800355229973, + 73.2000000000005 + ], + [ + 173.98082225522128, + 73.4000000000005 + ], + [ + 174.24349260633346, + 73.6000000000005 + ], + [ + 174.50556396583994, + 73.80000000000051 + ], + [ + 174.88768037070201, + 74.00000000000051 + ], + [ + 175.12085284815456, + 74.20000000000051 + ], + [ + 175.39865030396385, + 74.40000000000052 + ], + [ + 175.81564694000554, + 74.60000000000052 + ], + [ + 176.01387147442384, + 74.80000000000052 + ], + [ + 176.26947217730614, + 75.00000000000053 + ], + [ + 176.76783384332498, + 75.20000000000053 + ], + [ + 177.04115173212236, + 75.40000000000053 + ], + [ + 177.22446799975933, + 75.60000000000053 + ], + [ + 177.41239057814835, + 75.80000000000054 + ], + [ + 178.02021006653987, + 76.00000000000054 + ], + [ + 178.18183280072407, + 76.20000000000054 + ], + [ + 178.41986895763822, + 76.40000000000055 + ], + [ + 178.59119476302192, + 76.60000000000055 + ], + [ + 179.11130954255043, + 76.80000000000055 + ], + [ + 179.33224410906482, + 77.00000000000055 + ], + [ + 179.44813214426233, + 77.20000000000056 + ], + [ + 179.90917102558478, + 77.40000000000056 + ], + [ + 180.16295731751492, + 77.60000000000056 + ], + [ + 180.3509523546624, + 77.80000000000057 + ], + [ + 180.55795473280241, + 78.00000000000057 + ], + [ + 181.05184853669445, + 78.20000000000057 + ], + [ + 181.30702568757312, + 78.40000000000057 + ], + [ + 181.5203297277304, + 78.60000000000058 + ], + [ + 181.9397117027898, + 78.80000000000058 + ], + [ + 182.17763621230552, + 79.00000000000058 + ], + [ + 182.55432711114963, + 79.20000000000059 + ], + [ + 182.95379085757273, + 79.40000000000059 + ], + [ + 183.17264191085312, + 79.60000000000059 + ], + [ + 183.46897268629618, + 79.8000000000006 + ], + [ + 183.69912821191275, + 80.0000000000006 + ], + [ + 184.06513757284736, + 80.2000000000006 + ], + [ + 184.30078441925778, + 80.4000000000006 + ], + [ + 184.6325118933124, + 80.6000000000006 + ], + [ + 185.03611700418966, + 80.80000000000061 + ], + [ + 185.21994514180568, + 81.00000000000061 + ], + [ + 185.46954084732323, + 81.20000000000061 + ], + [ + 185.95419007655775, + 81.40000000000062 + ], + [ + 186.1221620207182, + 81.60000000000062 + ], + [ + 186.24943218086239, + 81.80000000000062 + ], + [ + 186.6535574238197, + 82.00000000000063 + ], + [ + 186.9365822884853, + 82.20000000000063 + ], + [ + 187.2692881070558, + 82.40000000000063 + ], + [ + 187.35568540630786, + 82.60000000000063 + ], + [ + 187.9498644372383, + 82.80000000000064 + ], + [ + 188.21248688382377, + 83.00000000000064 + ], + [ + 188.4946126672278, + 83.20000000000064 + ], + [ + 188.6208216877091, + 83.40000000000065 + ], + [ + 189.12948467498992, + 83.60000000000065 + ], + [ + 189.35969763011167, + 83.80000000000065 + ], + [ + 189.5645035424187, + 84.00000000000065 + ], + [ + 189.95933684530195, + 84.20000000000066 + ], + [ + 190.2080482021603, + 84.40000000000066 + ], + [ + 190.4999737639362, + 84.60000000000066 + ], + [ + 190.67593117996975, + 84.80000000000067 + ], + [ + 191.0785511830603, + 85.00000000000067 + ], + [ + 191.28364802368023, + 85.20000000000067 + ], + [ + 191.56210959935584, + 85.40000000000067 + ], + [ + 192.01052976499685, + 85.60000000000068 + ], + [ + 192.18812947984148, + 85.80000000000068 + ], + [ + 192.49726437019575, + 86.00000000000068 + ], + [ + 192.69936085127136, + 86.20000000000068 + ], + [ + 193.0920728323277, + 86.40000000000069 + ], + [ + 193.21646563650035, + 86.60000000000069 + ], + [ + 193.25532006882779, + 86.8000000000007 + ], + [ + 193.4763738349175, + 87.0000000000007 + ], + [ + 193.89153705857933, + 87.2000000000007 + ], + [ + 194.21906632774738, + 87.4000000000007 + ], + [ + 194.38097460740968, + 87.6000000000007 + ], + [ + 194.62421114822934, + 87.80000000000071 + ], + [ + 195.09069129206526, + 88.00000000000071 + ], + [ + 195.27149401091162, + 88.20000000000071 + ], + [ + 195.54126230353725, + 88.40000000000072 + ], + [ + 195.95032320916232, + 88.60000000000072 + ], + [ + 196.18046117998009, + 88.80000000000072 + ], + [ + 196.3878882560826, + 89.00000000000072 + ], + [ + 196.6350722677011, + 89.20000000000073 + ], + [ + 197.05322005135025, + 89.40000000000073 + ], + [ + 197.28589110379963, + 89.60000000000073 + ], + [ + 197.56920201844292, + 89.80000000000074 + ], + [ + 197.9203341292839, + 90.00000000000074 + ], + [ + 198.16263232610237, + 90.20000000000074 + ], + [ + 198.414685773582, + 90.40000000000074 + ], + [ + 198.641922444379, + 90.60000000000075 + ], + [ + 199.18116365342772, + 90.80000000000075 + ], + [ + 199.31138153663736, + 91.00000000000075 + ], + [ + 199.5364262996068, + 91.20000000000076 + ], + [ + 199.9697881155203, + 91.40000000000076 + ], + [ + 200.2080358072517, + 91.60000000000076 + ], + [ + 200.4862564156452, + 91.80000000000076 + ], + [ + 200.64364983446404, + 92.00000000000077 + ], + [ + 201.08342730272798, + 92.20000000000077 + ], + [ + 201.33813324071272, + 92.40000000000077 + ], + [ + 201.57897797826035, + 92.60000000000078 + ], + [ + 202.00137556280245, + 92.80000000000078 + ], + [ + 202.21323154904812, + 93.00000000000078 + ], + [ + 202.6024091304984, + 93.20000000000078 + ], + [ + 202.8575504503956, + 93.40000000000079 + ], + [ + 203.08853519846534, + 93.60000000000079 + ], + [ + 203.3455630570464, + 93.8000000000008 + ], + [ + 203.56740049934217, + 94.0000000000008 + ], + [ + 203.974923995677, + 94.2000000000008 + ], + [ + 204.27228257634462, + 94.4000000000008 + ], + [ + 204.48677346725344, + 94.6000000000008 + ], + [ + 204.9102711869073, + 94.80000000000081 + ], + [ + 205.1259385761645, + 95.00000000000081 + ], + [ + 205.36942551732415, + 95.20000000000081 + ], + [ + 205.8505917474191, + 95.40000000000082 + ], + [ + 206.0297900125254, + 95.60000000000082 + ], + [ + 206.27815990249368, + 95.80000000000082 + ], + [ + 206.48719702934255, + 96.00000000000082 + ], + [ + 206.9499673874251, + 96.20000000000083 + ], + [ + 207.29534529027808, + 96.40000000000083 + ], + [ + 207.39889145670804, + 96.60000000000083 + ], + [ + 207.9351953598678, + 96.80000000000084 + ], + [ + 208.06512353674032, + 97.00000000000084 + ], + [ + 208.32742390971669, + 97.20000000000084 + ], + [ + 208.51164348358884, + 97.40000000000084 + ], + [ + 208.96485594498228, + 97.60000000000085 + ], + [ + 209.16422662161196, + 97.80000000000085 + ], + [ + 209.4574053360354, + 98.00000000000085 + ], + [ + 209.83112363496946, + 98.20000000000086 + ], + [ + 210.06680408906135, + 98.40000000000086 + ], + [ + 210.31270376170937, + 98.60000000000086 + ], + [ + 210.55055046082052, + 98.80000000000086 + ], + [ + 210.96562196123344, + 99.00000000000087 + ], + [ + 211.22204797923683, + 99.20000000000087 + ], + [ + 211.43310727265714, + 99.40000000000087 + ], + [ + 211.90598976266517, + 99.60000000000088 + ], + [ + 212.1068131336624, + 99.80000000000088 + ], + [ + 212.34583648681576, + 100.00000000000088 + ], + [ + 213.3005268806449, + 100.20000000000088 + ], + [ + 213.40264717104236, + 100.40000000000089 + ], + [ + 213.83543637400388, + 100.60000000000089 + ], + [ + 214.09029217471468, + 100.80000000000089 + ], + [ + 214.31839787482812, + 101.0000000000009 + ], + [ + 214.5315156978816, + 101.2000000000009 + ], + [ + 214.94865867018888, + 101.4000000000009 + ], + [ + 215.27132711854674, + 101.6000000000009 + ], + [ + 215.40307666930553, + 101.8000000000009 + ], + [ + 215.94536302689792, + 102.00000000000091 + ], + [ + 216.0947024773285, + 102.20000000000091 + ], + [ + 216.32534716290553, + 102.40000000000092 + ], + [ + 216.55111486415979, + 102.60000000000092 + ], + [ + 217.0346713747651, + 102.80000000000092 + ], + [ + 217.30967621732003, + 103.00000000000092 + ], + [ + 217.48844361703271, + 103.20000000000093 + ], + [ + 217.89586520122631, + 103.40000000000093 + ], + [ + 218.08384743716684, + 103.60000000000093 + ], + [ + 218.2319690253439, + 103.80000000000094 + ], + [ + 218.4070863848045, + 104.00000000000094 + ], + [ + 219.04785483287128, + 104.20000000000094 + ], + [ + 219.26431022571057, + 104.40000000000094 + ], + [ + 219.49204680559498, + 104.60000000000095 + ], + [ + 219.94373102757862, + 104.80000000000095 + ], + [ + 220.18584892391462, + 105.00000000000095 + ], + [ + 220.4030312442537, + 105.20000000000095 + ], + [ + 220.81551454168797, + 105.40000000000096 + ], + [ + 221.0461695777409, + 105.60000000000096 + ], + [ + 221.30765953566927, + 105.80000000000096 + ], + [ + 221.71353661627737, + 106.00000000000097 + ], + [ + 221.9593730516333, + 106.20000000000097 + ], + [ + 222.18273886345364, + 106.40000000000097 + ], + [ + 222.4216039925009, + 106.60000000000097 + ], + [ + 222.7738437647946, + 106.80000000000098 + ], + [ + 222.87438331129258, + 107.00000000000098 + ], + [ + 222.90966068691938, + 107.20000000000098 + ], + [ + 223.1265447260682, + 107.40000000000099 + ], + [ + 223.3637553039314, + 107.60000000000099 + ], + [ + 223.9132991638895, + 107.80000000000099 + ], + [ + 224.02103521256032, + 108.000000000001 + ], + [ + 224.19447757183036, + 108.200000000001 + ], + [ + 224.70598194857533, + 108.400000000001 + ], + [ + 224.9915662402841, + 108.600000000001 + ], + [ + 225.16494548386783, + 108.800000000001 + ], + [ + 225.4159061005856, + 109.00000000000101 + ], + [ + 225.8248250553595, + 109.20000000000101 + ], + [ + 226.04161911719575, + 109.40000000000101 + ], + [ + 226.3453524452954, + 109.60000000000102 + ], + [ + 226.67669210978352, + 109.80000000000102 + ], + [ + 226.92757350540816, + 110.00000000000102 + ], + [ + 227.1437673798977, + 110.20000000000103 + ], + [ + 227.4022338458865, + 110.40000000000103 + ], + [ + 227.8440820193174, + 110.60000000000103 + ], + [ + 228.0898087336999, + 110.80000000000103 + ], + [ + 228.33896015696556, + 111.00000000000104 + ], + [ + 228.75832862203924, + 111.20000000000104 + ], + [ + 228.9964471584928, + 111.40000000000104 + ], + [ + 229.23566619745668, + 111.60000000000105 + ], + [ + 229.47022361184148, + 111.80000000000105 + ], + [ + 229.88644534226526, + 112.00000000000105 + ], + [ + 230.1292553060234, + 112.20000000000105 + ], + [ + 230.36922881192268, + 112.40000000000106 + ], + [ + 230.79523287083268, + 112.60000000000106 + ], + [ + 231.0307690273298, + 112.80000000000106 + ], + [ + 231.26249232493757, + 113.00000000000107 + ], + [ + 231.76892285658113, + 113.20000000000107 + ], + [ + 231.90896883409903, + 113.40000000000107 + ], + [ + 232.1581026122106, + 113.60000000000107 + ], + [ + 232.34810575869622, + 113.80000000000108 + ], + [ + 232.8101032848664, + 114.00000000000108 + ], + [ + 233.11741414880927, + 114.20000000000108 + ], + [ + 233.29481991441097, + 114.40000000000109 + ], + [ + 233.7547304258669, + 114.60000000000109 + ], + [ + 233.9809156580273, + 114.80000000000109 + ], + [ + 234.2355998491272, + 115.0000000000011 + ], + [ + 234.44884400563006, + 115.2000000000011 + ], + [ + 234.86208817320335, + 115.4000000000011 + ], + [ + 235.10846886133248, + 115.6000000000011 + ], + [ + 235.35957731227117, + 115.8000000000011 + ], + [ + 235.78326652408123, + 116.00000000000111 + ] +] \ No newline at end of file