v1.0 CALIBRATION: visible LEDs (testing)


goes with protocol of same name
// Set our initial variables and conditions
var data = json.data_raw;
var output = {};   // location to save output variables
var intensityArray = [20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,500,800];  // the pulsed_lights_brightness which are set in the measurement protocol associated with "lights" array defined above1
var intensities = intensityArray.length; // number of intensities per light
var pulses = 30;   // number of pulses in a intensity
var lights_array;   // define the lights to be calibrated
var total_reads;   // total number of reads from the sensor

//output["json length"] = Object.keys(json.recall).length;

// Get the control values (PAR saved from manual calibration, and ADC values from user defined on the device)
// LED 1
var parValues1 = [0,0,0.49,24.84,63.62,104.49,144.7,185,224.6,264.1,302.8,340,377.3,414.2,451,486.9,522.6,557.4,592.9,627,661,695.1,728.3,761.2,1488.6,2191];
// LED 2
var parValues2 = [0,0,0,0,0,0.42,10.69,30.18,52.5,76.3,100.58,125.79,151.32,177.07,203,229.2,255.3,281.4,308.4,334,360.6,387.4,414.4,442,1121.5,1923.1];
// LED 3
var parValues3 = [0,0,2.5,10.73,20.89,32.4,44.56,57.17,69.83,82.69,95.5,108.3,120.55,132.8,144.87,156.8,168.9,180.7,193.2,205.8,218.1,230.4,242.4,254.4,553,820];
// LED 4
var parValues4 = [0,0,0,0,0,0,0,0.08,7.13,25.2,47.32,71.82,97.52,123.8,150.64,178,205.5,233,261,289.4,317.6,344.6,372.8,401.5,1103.9,1909];
// LED 7
var parValues7 = [0,0,0,0.41,14.33,34.95,56.05,77.95,100.25,122.93,145.82,169.07,191.89,214.7,237.8,260.7,283.9,307,328.9,352.5,375.7,399.6,422.8,446.4,1049.7,1758.2];

var adcValuesControl1 = [];
var adcValuesControl2 = [];
var adcValuesControl3 = [];
var adcValuesControl4 = [];
var adcValuesControl7 = [];
var allAdc;

// Determine what you're calibrating based on what userdef's are available and assemble the appropriate control and actual adc and par values-->

var whichSet = 0;

if (json.recall["userdef[2]"] > 0) {                    // when calibrating lights 1 and 2 (userdef 0 - 51)
  for (var i = 0; i < intensities*2; i ++) {
    if (i < intensities) {
      adcValuesControl1.push(MathROUND(json.recall["userdef["+i+"]"],2));
    }
    else if (i >= intensities) {
      adcValuesControl2.push(MathROUND(json.recall["userdef["+i+"]"],2));
    }
  }
  //output["adcValuesControl1"] = adcValuesControl1.toString();
  //output["adcValuesControl2"] = adcValuesControl2.toString();
  allAdcValuesControl = [adcValuesControl1,adcValuesControl2];
  //output["parValuesControl1"] = parValues1.toString();
  //output["parValuesControl2"] = parValues2.toString();
  allParValuesControl = [parValues1,parValues2];
  var lights_array = [1,2];   // define the lights to be calibrated
  var total_reads = intensities*pulses*lights_array.length+100;   // total number of reads from the sensor

  // get the values for each MultispeQ LiCOR and convert them to actual PAR
  var adc1 = json.adc_read.slice(100,intensities*pulses+100);
  var adc2 = json.adc_read.slice(intensities*pulses+100,intensities*pulses*2+100);

  // IMPORTANT!  convert the strings you get from the ADC to numbers so we can do math on them!
  for (var i = 0; i < adc1.length; i++) {
    adc1[i] = Number(adc1[i]);
  }
  for (var i = 0; i < adc2.length; i++) {
    adc2[i] = Number(adc2[i]);
  }
  // save them in a nested array so we can loop through later routines with ease
  allAdc = [adc1, adc2];
  whichSet = 1; 
}

else if (json.recall["userdef[85]"] > 0) {                 // when calibrating lights 3 and 4 (userdef 51 - 103)
  for (var i = intensities*2; i < intensities*4; i ++) {
    if (i < intensities*3) {
      adcValuesControl3.push(MathROUND(json.recall["userdef["+i+"]"],2));
    }
    if (i >= intensities*3) {
      adcValuesControl4.push(MathROUND(json.recall["userdef["+i+"]"],2));
    }
  }
  //output["adcValuesControl3"] = adcValuesControl3.toString();
  //output["adcValuesControl4"] = adcValuesControl4.toString();
  allAdcValuesControl = [adcValuesControl3,adcValuesControl4];
  //output["parValuesControl3"] = parValues3;
  //output["parValuesControl4"] = parValues4;
  allParValuesControl = [parValues3,parValues4];
  var lights_array = [3,4];   // define the lights to be calibrated
  var total_reads = intensities*pulses*lights_array.length+100;   // total number of reads from the sensor

  // get the values for each MultispeQ LiCOR and convert them to actual PAR
  var adc3 = json.adc_read.slice(100,intensities*pulses+100);
  var adc4 = json.adc_read.slice(intensities*pulses+100,intensities*pulses*2+100);
 
  // IMPORTANT!  convert the strings you get from the ADC to numbers so we can do math on them!
  for (var i = 0; i < adc3.length; i++) {
    adc3[i] = Number(adc3[i]);
  }
  for (var i = 0; i < adc4.length; i++) {
    adc4[i] = Number(adc4[i]);
  }
  // save them in a nested array so we can loop through later routines with ease
  allAdc = [adc3, adc4];
  whichSet = 2; 
  // output["raw adc_read1"] = adc3;
  // output["raw adc_read2"] = adc4;
}

else if (json.recall["userdef[115]"] > 0) {                 // when calibrating light 7 (userdef 104 - 129)
  for (var i = 0; i < intensities; i ++) {
    adcValuesControl7.push(MathROUND(json.recall["userdef["+(i+intensities*4)+"]"],2));
  }
  //output["adcValuesControl7"] = adcValuesControl7.toString();
  allAdcValuesControl = [adcValuesControl7];
  //output["parValuesControl7"] = parValues7.toString();
  allParValuesControl = [parValues7];
  var lights_array = [7];   // define the lights to be calibrated
  var total_reads = intensities*pulses*lights_array.length+100;   // total number of reads from the sensor

  // get the values for each MultispeQ LiCOR and convert them to actual PAR
  var adc7 = json.adc_read.slice(100,intensities*pulses+100);

  // IMPORTANT!  convert the strings you get from the ADC to numbers so we can do math on them!
  for (var i = 0; i < adc7.length; i++) {
    adc7[i] = Number(adc7[i]);
  }
  // save them in a nested array so we can loop through later routines with ease
  allAdc = [adc7];
  whichSet = 3; 
}

var adcValues = [];

// Convert the raw cabled LiCOR values to PAR values based on each calibration values (saved in userdef 0 - 9)

// first, get all the individual arrays for each LED to calibrate from.  Put them in a nested array so they can be fed into the MathPOLYREG subroutine (polynomial regression)
for (var i = 0; i < lights_array.length; i++) {
  adcValues[i] = [];
  for (var j = 0; j < intensities; j++) {
    var localAllAdc = allAdc[i];
    var thisSlice = localAllAdc.slice(j*pulses+10,j*pulses+pulses-10);
    var thisMedian = MathMEDIAN(thisSlice);
    adcValues[i].push(thisMedian);
//  	output[lights_array[i]+","+intensityArray[j]] = [thisMedian,thisSlice].toString();
  }
}


//adcValues[z][i] >= allAdcValuesControl[z][allAdcValuesControl[z].length-1]


predictedPar = [];

for (var z = 0; z < lights_array.length; z++) {
  predictedPar[z] = [];
  for (var i = 0; i < adcValues[z].length; i++) {
    // loop through and find the range of calibration values which this value is contained between. Once you find the range, calculate PAR by making a linear fit in that range.
    var isBetween = 0; 
    for (var j = 0; j < allAdcValuesControl[z].length; j++) {
      isBetween = 0; 
      // if a value exceeds the calibration range, then use the highest possible available range and extrapolate upwards from there
      if (allAdcValuesControl[z][j] < adcValues[z][i] && adcValues[z][i] <= allAdcValuesControl[z][j+1]) {
        var percentileAdc = (adcValues[z][i] - allAdcValuesControl[z][j])/(allAdcValuesControl[z][j+1] - allAdcValuesControl[z][j]);
        predictedPar[z].push(MathROUND(allParValuesControl[z][j] + percentileAdc*(allParValuesControl[z][j+1] - allParValuesControl[z][j]),2));
        isBetween = 1;
//        output["percentileAdc"] = percentileAdc;
//        output["precitedPar"] = allParValuesControl[z][j] + percentileAdc*(allParValuesControl[z][j+1] - allParValuesControl[z][j]);
//        output["found it"] = allAdcValuesControl[z][j] + " and " + allAdcValuesControl[z][j+1];
        break;
      }
      // if a value exceeds the calibration range, then use the highest possible available range and extrapolate upwards from there
      else if (adcValues[z][i] >= allAdcValuesControl[z][allAdcValuesControl[z].length-1]) {
        j = allAdcValuesControl[z].length-1;
        var percentileAdc = (adcValues[z][i] - allAdcValuesControl[z][j-1])/(allAdcValuesControl[z][j] - allAdcValuesControl[z][j-1]);
        predictedPar[z].push(MathROUND(allParValuesControl[z][j-1] + percentileAdc*(allParValuesControl[z][j] - allParValuesControl[z][j-1]),2));
        isBetween = 1;
  //      output["i"] = i;
  //      output["j"] = j;
  //      output["adc_values"] = adcValues[z][i];
  //      output["adc_values"] = adcValues[z][i];
  //      output["percentileAdc"] = percentileAdc;
  //      output["precitedPar"] = allParValuesControl[z][j] + percentileAdc*(allParValuesControl[z][j+1] - allParValuesControl[z][j]);
    //    output["found it"] = allAdcValuesControl[z][j] + " and " + allAdcValuesControl[z][j+1];
        break;
      }
    }
  // if the if statement wasn't triggered, set to zero.
    if (isBetween == 0) {
      predictedPar[z].push(0);
    }
  }
}

/*
z= 1;
i = 25;
j = 25;
var percentileish = (adcValues[z][i] - allAdcValuesControl[z][j])/(allAdcValuesControl[z][j+1] - allAdcValuesControl[z][j]);
var thevalueis = (MathROUND(allParValuesControl[z][j] + percentileAdc*(allParValuesControl[z][j+1] - allParValuesControl[z][j]),2));
output["parcontrolish"] = allParValuesControl[z][j];
output["adccontrolish"] = allAdcValuesControl[z][j]; 
output["adc control length"] = allAdcValuesControl[z].length; 
output["adcish"] = adcValues[z][j]; 
output["percentileish"] = percentileish;
output["thevalueis"] = thevalueis;
*/

if (whichSet == 1) {
  output["adcValuesControl1"] = adcValuesControl1.toString();
  output["adcValues1"] = adcValues[0].toString();
  output["parValuesControl1"] = parValues1.toString();
  output["predictedPar1"] = predictedPar[0];

  output["adcValuesControl2"] = adcValuesControl2.toString();
  output["adcValues2"] = adcValues[1].toString();
  output["parValuesControl2"] = parValues2.toString();
  output["predictedPar2"] = predictedPar[1];
}

else if (whichSet == 2) {
  output["adcValuesControl3"] = adcValuesControl3.toString();
  output["adcValues3"] = adcValues[0].toString();
  output["parValuesControl3"] = parValues3.toString();
  output["predictedPar3"] = predictedPar[0];

  output["adcValuesControl4"] = adcValuesControl4.toString();
  output["adcValues4"] = adcValues[1].toString();
  output["parValuesControl4"] = parValues4.toString();
  output["predictedPar4"] = predictedPar[1];
}

else if (whichSet == 3) {
  output["adcValuesControl7"] = adcValuesControl7.toString();
  output["adcValues7"] = adcValues[0].toString();
  output["parValuesControl7"] = parValues7.toString();
  output["predictedPar7"] = predictedPar[0];
}

var responseArray = [];

for (var i = 0; i < lights_array.length; i++) {
  responseArray[i] = [];
  var findStart = 0;
  var initialAverage = 0;
  var aCounter = 0;
  for (var j = 0; j < intensities; j++) {
    var thisResponse = predictedPar[i][j];
    // RULES FOR WHAT IS EXCLUDED PRIOR TO THE MODEL
    // 1) value must be greater than zero AND
    // 2) the next 2 values value must go up
    // 3) the values must be greater than 1.05x the first value in the array
    // this is important - if the wrong values are excluded or not excluded it can seriously affect the model 
    if ((thisResponse > predictedPar[i][j-1]) && (j < intensities - 1 && thisResponse < predictedPar[i][j+1]) && (j < intensities - 2 && thisResponse < predictedPar[i][j+2])) {      
      if (adcValues[i][j] > initialAverage*1.05/aCounter) {
      var tempvar = [thisResponse,intensityArray[j]];
//      output[lights_array[i]+","+intensityArray[j]] = tempvar[0]+","+tempvar[1];
      responseArray[i].push(tempvar);
      findStart = 1; 
      }
    }
    else if (j >= intensities - 2) {      
      var tempvar = [thisResponse,intensityArray[j]];
//      output[lights_array[i]+","+intensityArray[j]] = tempvar[0]+","+tempvar[1];
      responseArray[i].push(tempvar);
      findStart = 1; 
    }
    else {
      initialAverage += adcValues[i][j];
      aCounter += 1;
    }
  }
}

// (j != 0 && j != intensities - 1) && (thisResponse > predictedPar[i][j-1]) && (thisResponse > predictedPar[i][0]*1.3)
// if (thisResponse > 0 && (findStart == 1 || (thisResponse > predictedPar[i][0]*1.3 && (j == intensities - 1 || predictedPar[i][j+1] > thisResponse)*1.1))) {
// now we need to fit the response from each LED to a polynomial fit, and output the results to the device
output["toDevice"] = "set_led_par+";

// create variable to store residuals from model (and one with absolute values instead of raw values)
var residuals = [];
var residuals_perc = [];
var residuals_rsq = [];
var actuals_rsq = [];

for (var i = 0; i < lights_array.length; i++) {

  output["response_array_"+lights_array[i]] = responseArray[i];
  
  /* // try 4th order poly
  var model = MathPOLYREG(responseArray[i],4);
  var a = model.slopes[4].toFixed(14);
  var b = model.slopes[3].toFixed(9);
  var c = model.slopes[2].toFixed(7);
  var d = model.slopes[1].toFixed(4);
  var yint = model.slopes[0].toFixed(4);
  output["toDevice"] += lights_array[i]+"+"+a*1000000000+"+"+b*1000000000+"+"+c*1000000000+"+"+d+"+"+yint+"+";
  output["light"+lights_array[i]+"_a"] = a;
  output["light"+lights_array[i]+"_b"] = b;
  output["light"+lights_array[i]+"_c"] = c;
  output["light"+lights_array[i]+"_d"] = d;
  output["light"+lights_array[i]+"_yint"] = yint;
  */

  /* // try 3rd order poly
  var model = MathPOLYREG(responseArray[i],3);
  var a = 0;
  var b = model.slopes[3].toFixed(9);
  var c = model.slopes[2].toFixed(7);
  var d = model.slopes[1].toFixed(4);
  var yint = model.slopes[0].toFixed(4);
  output["toDevice"] += lights_array[i]+"+"+a*1000000000+"+"+b*1000000000+"+"+c*1000000000+"+"+d+"+"+yint+"+";
  output["light"+lights_array[i]+"_a"] = a;
  output["light"+lights_array[i]+"_b"] = b;
  output["light"+lights_array[i]+"_c"] = c;
  output["light"+lights_array[i]+"_d"] = d;
  output["light"+lights_array[i]+"_yint"] = yint;
  */  
  
//  /* // try 2nd order poly
  var model = MathPOLYREG(responseArray[i],2);
  var a = 0;
  var b = 0;
  var c = model.slopes[2].toFixed(7);
  var d = model.slopes[1].toFixed(4);
  var yint = model.slopes[0].toFixed(4);
  output["toDevice"] += lights_array[i]+"+"+a*1000000000+"+"+b*1000000000+"+"+c*1000000000+"+"+d+"+"+yint+"+";
  output["light"+lights_array[i]+"_a"] = a;
  output["light"+lights_array[i]+"_b"] = b;
  output["light"+lights_array[i]+"_c"] = c;
  output["light"+lights_array[i]+"_d"] = d;
  output["light"+lights_array[i]+"_yint"] = yint;

  residuals[i] = [];
  residuals_perc[i] = [];
  residuals_rsq[i] = [];
  actuals_rsq[i] = [];
  for (var j = 0; j < responseArray[i].length; j++) {
    thisLight = responseArray[i][j][0];
    dac_actual = responseArray[i][j][1];
//    dac_predicted = model.slopes[4]*Math.pow(thisLight,4) +model.slopes[3]*Math.pow(thisLight,3) +model.slopes[2]*Math.pow(thisLight,2) + model.slopes[1]*thisLight + model.slopes[0];
    dac_predicted = MathROUND(model.slopes[2]*Math.pow(thisLight,2) + model.slopes[1]*thisLight + model.slopes[0],0);
    var residual = dac_actual - dac_predicted;
    var residual_perc = MathROUND(100*Math.abs(residual/dac_actual),3);
    var residual = dac_actual - dac_predicted;
    if (Math.abs(residual) > 15 && residual_perc > 15) {
      danger("the error for intensity " + dac_actual + " and light " + lights_array[i] + " is > 15 uE and > 15%.  Check calibration setup and recalibrate", output);
    }

    residuals[i].push(residual);
    residuals_perc[i].push(residual_perc);
    residuals_rsq[i].push(Math.abs(residual));
    actuals_rsq[i].push(dac_actual);
//    if (residual != 0) residualsAbs.push(Math.pow(residual),2);
//    output["light"+lights_array[i] + "_" +j + "_residual"] = residual;
//    output["light"+lights_array[i] + "_" +j + "_thisLight"] = thisLight;
//    output["light"+lights_array[i] + "_" +j + "_dac_actual"] = dac_actual;
//    output["light"+lights_array[i] + "_" +j + "_dac_predicted"] = dac_predicted;
  }
  output["residuals" + lights_array[i]] = residuals[i];
  output["residuals_perc" + lights_array[i]] = residuals_perc[i];
//  output["residualssqAll" + lights_array[i]] = residuals_rsq[i];
//  output["sum1" + lights_array[i]] = MathSUM(residuals_rsq[i]);
//  output["sum2" + lights_array[i]] = MathSUM(actuals_rsq[i]);
  var rsquared = MathROUND(1 - (MathSUM(residuals_rsq[i])/MathSUM(actuals_rsq[i])),5);
  output["model fit light " + lights_array[i]] = rsquared;
  if (rsquared < .98 && lights_array[i] != 3) {
    danger("r squared for light " + lights_array[i] + " is out of spec.  Check calibration setup and try again", output);
  }
  if (rsquared < .95 && lights_array[i] == 3) {
    danger("r squared for light " + lights_array[i] + " is out of spec.  Check calibration setup and try again", output);
  }
//  if (MathMAX(residuals_perc[i]) > .2) {
//    if (
//  }
}

output["toDevice"] += "-1+";

output["order"] = ["model fit light 1","model fit light 2","model fit light 3","model fit light 4","model fit light 7"];

return output;
{
  "time_offset": 300,
  "time": 1478541467764,
  "device_version": "1",
  "device_id": "d4:f5:00:00:03:ef",
  "device_battery": 25,
  "device_firmware": "1.12",
  "firmware_version": "1.12",
  "device_time": 1478522995,
  "sample": [
    [
      {
        "time": 1478541467797,
        "protocol_id": 1,
        "recall": {
          "time": 1478541484384,
          "userdef[52]": 193,
          "userdef[53]": 183.5,
          "userdef[54]": 194.5,
          "userdef[55]": 92,
          "userdef[56]": 130.5,
          "userdef[57]": 207,
          "userdef[58]": 246,
          "userdef[59]": 281.5,
          "userdef[60]": 298,
          "userdef[61]": 322.5,
          "userdef[62]": 341.5,
          "userdef[63]": 363.5,
          "userdef[64]": 383.5,
          "userdef[65]": 393,
          "userdef[66]": 420.5,
          "userdef[67]": 440.5,
          "userdef[68]": 462,
          "userdef[69]": 475.5,
          "userdef[70]": 496.5,
          "userdef[71]": 524,
          "userdef[72]": 543.5,
          "userdef[73]": 569.5,
          "userdef[74]": 582.5,
          "userdef[75]": 607.5,
          "userdef[76]": 1154,
          "userdef[77]": 1740.5,
          "userdef[78]": 192,
          "userdef[79]": 182.5,
          "userdef[80]": 183.5,
          "userdef[81]": 187.5,
          "userdef[82]": 189.5,
          "userdef[83]": 187,
          "userdef[84]": 183.5,
          "userdef[85]": 185,
          "userdef[86]": 197.5,
          "userdef[87]": 227.5,
          "userdef[88]": 264,
          "userdef[89]": 300.5,
          "userdef[90]": 344.5,
          "userdef[91]": 387.5,
          "userdef[92]": 429.5,
          "userdef[93]": 472,
          "userdef[94]": 522,
          "userdef[95]": 563,
          "userdef[96]": 608,
          "userdef[97]": 667,
          "userdef[98]": 712,
          "userdef[99]": 758.5,
          "userdef[100]": 806.5,
          "userdef[101]": 850,
          "userdef[102]": 2014.5,
          "userdef[103]": 3356
        },
        "adc_read": [
          "437.000000",
          "358.000000",
          "277.000000",
          "231.000000",
          "195.000000",
          "163.000000",
          "176.000000",
          "167.000000",
          "183.000000",
          "195.000000",
          "173.000000",
          "176.000000",
          "177.000000",
          "177.000000",
          "206.000000",
          "211.000000",
          "210.000000",
          "187.000000",
          "165.000000",
          "167.000000",
          "166.000000",
          "191.000000",
          "207.000000",
          "197.000000",
          "199.000000",
          "177.000000",
          "188.000000",
          "178.000000",
          "190.000000",
          "201.000000",
          "175.000000",
          "180.000000",
          "173.000000",
          "161.000000",
          "198.000000",
          "207.000000",
          "215.000000",
          "197.000000",
          "165.000000",
          "169.000000",
          "168.000000",
          "188.000000",
          "197.000000",
          "187.000000",
          "198.000000",
          "182.000000",
          "188.000000",
          "199.000000",
          "202.000000",
          "201.000000",
          "175.000000",
          "173.000000",
          "159.000000",
          "165.000000",
          "203.000000",
          "201.000000",
          "217.000000",
          "198.000000",
          "178.000000",
          "181.000000",
          "178.000000",
          "194.000000",
          "193.000000",
          "173.000000",
          "179.000000",
          "167.000000",
          "189.000000",
          "195.000000",
          "207.000000",
          "193.000000",
          "171.000000",
          "170.000000",
          "160.000000",
          "166.000000",
          "211.000000",
          "209.000000",
          "206.000000",
          "197.000000",
          "185.000000",
          "185.000000",
          "184.000000",
          "198.000000",
          "195.000000",
          "173.000000",
          "176.000000",
          "168.000000",
          "186.000000",
          "211.000000",
          "211.000000",
          "189.000000",
          "165.000000",
          "179.000000",
          "158.000000",
          "191.000000",
          "203.000000",
          "190.000000",
          "205.000000",
          "205.000000",
          "180.000000",
          "189.000000",
          "192.000000",
          "191.000000",
          "185.000000",
          "163.000000",
          "169.000000",
          "175.000000",
          "199.000000",
          "220.000000",
          "195.000000",
          "170.000000",
          "157.000000",
          "164.000000",
          "167.000000",
          "199.000000",
          "205.000000",
          "188.000000",
          "199.000000",
          "198.000000",
          "179.000000",
          "203.000000",
          "198.000000",
          "193.000000",
          "173.000000",
          "163.000000",
          "181.000000",
          "187.000000",
          "210.000000",
          "227.000000",
          "179.000000",
          "167.000000",
          "159.000000",
          "170.000000",
          "186.000000",
          "204.000000",
          "208.000000",
          "191.000000",
          "191.000000",
          "194.000000",
          "187.000000",
          "199.000000",
          "187.000000",
          "190.000000",
          "191.000000",
          "175.000000",
          "205.000000",
          "201.000000",
          "213.000000",
          "210.000000",
          "174.000000",
          "177.000000",
          "162.000000",
          "181.000000",
          "205.000000",
          "201.000000",
          "189.000000",
          "169.000000",
          "174.000000",
          "184.000000",
          "191.000000",
          "192.000000",
          "175.000000",
          "191.000000",
          "193.000000",
          "198.000000",
          "223.000000",
          "205.000000",
          "215.000000",
          "187.000000",
          "170.000000",
          "180.000000",
          "185.000000",
          "214.000000",
          "233.000000",
          "195.000000",
          "189.000000",
          "167.000000",
          "178.000000",
          "194.000000",
          "202.000000",
          "206.000000",
          "195.000000",
          "199.000000",
          "204.000000",
          "199.000000",
          "209.000000",
          "193.000000",
          "189.000000",
          "183.000000",
          "175.000000",
          "217.000000",
          "231.000000",
          "238.000000",
          "223.000000",
          "188.000000",
          "191.000000",
          "187.000000",
          "205.000000",
          "233.000000",
          "227.000000",
          "216.000000",
          "184.000000",
          "189.000000",
          "202.000000",
          "213.000000",
          "211.000000",
          "191.000000",
          "209.000000",
          "211.000000",
          "218.000000",
          "233.000000",
          "221.000000",
          "213.000000",
          "195.000000",
          "179.000000",
          "214.000000",
          "217.000000",
          "234.000000",
          "233.000000",
          "191.000000",
          "199.000000",
          "203.000000",
          "223.000000",
          "243.000000",
          "240.000000",
          "242.000000",
          "225.000000",
          "222.000000",
          "217.000000",
          "233.000000",
          "237.000000",
          "209.000000",
          "219.000000",
          "219.000000",
          "223.000000",
          "255.000000",
          "251.000000",
          "237.000000",
          "215.000000",
          "193.000000",
          "212.000000",
          "234.000000",
          "250.000000",
          "268.000000",
          "224.000000",
          "218.000000",
          "201.000000",
          "212.000000",
          "234.000000",
          "236.000000",
          "248.000000",
          "252.000000",
          "250.000000",
          "244.000000",
          "248.000000",
          "257.000000",
          "237.000000",
          "242.000000",
          "230.000000",
          "241.000000",
          "280.000000",
          "270.000000",
          "267.000000",
          "250.000000",
          "214.000000",
          "243.000000",
          "237.000000",
          "258.000000",
          "275.000000",
          "243.000000",
          "241.000000",
          "224.000000",
          "221.000000",
          "243.000000",
          "243.000000",
          "259.000000",
          "247.000000",
          "251.000000",
          "254.000000",
          "247.000000",
          "266.000000",
          "269.000000",
          "259.000000",
          "259.000000",
          "251.000000",
          "293.000000",
          "279.000000",
          "277.000000",
          "269.000000",
          "231.000000",
          "250.000000",
          "251.000000",
          "276.000000",
          "303.000000",
          "267.000000",
          "261.000000",
          "249.000000",
          "241.000000",
          "263.000000",
          "271.000000",
          "290.000000",
          "269.000000",
          "269.000000",
          "257.000000",
          "261.000000",
          "279.000000",
          "266.000000",
          "259.000000",
          "262.000000",
          "262.000000",
          "299.000000",
          "300.000000",
          "300.000000",
          "279.000000",
          "252.000000",
          "276.000000",
          "278.000000",
          "300.000000",
          "324.000000",
          "269.000000",
          "273.000000",
          "255.000000",
          "266.000000",
          "298.000000",
          "295.000000",
          "310.000000",
          "290.000000",
          "290.000000",
          "280.000000",
          "286.000000",
          "295.000000",
          "285.000000",
          "280.000000",
          "282.000000",
          "288.000000",
          "315.000000",
          "293.000000",
          "299.000000",
          "272.000000",
          "259.000000",
          "291.000000",
          "313.000000",
          "339.000000",
          "330.000000",
          "286.000000",
          "294.000000",
          "289.000000",
          "299.000000",
          "327.000000",
          "308.000000",
          "308.000000",
          "293.000000",
          "283.000000",
          "311.000000",
          "306.000000",
          "310.000000",
          "288.000000",
          "299.000000",
          "315.000000",
          "316.000000",
          "326.000000",
          "308.000000",
          "296.000000",
          "293.000000",
          "311.000000",
          "339.000000",
          "330.000000",
          "316.000000",
          "290.000000",
          "275.000000",
          "301.000000",
          "332.000000",
          "338.000000",
          "347.000000",
          "313.000000",
          "321.000000",
          "307.000000",
          "332.000000",
          "331.000000",
          "319.000000",
          "330.000000",
          "317.000000",
          "324.000000",
          "343.000000",
          "327.000000",
          "323.000000",
          "308.000000",
          "307.000000",
          "326.000000",
          "351.000000",
          "357.000000",
          "329.000000",
          "322.000000",
          "311.000000",
          "325.000000",
          "349.000000",
          "343.000000",
          "338.000000",
          "329.000000",
          "305.000000",
          "328.000000",
          "345.000000",
          "357.000000",
          "343.000000",
          "342.000000",
          "349.000000",
          "341.000000",
          "352.000000",
          "358.000000",
          "334.000000",
          "343.000000",
          "326.000000",
          "337.000000",
          "375.000000",
          "347.000000",
          "347.000000",
          "322.000000",
          "322.000000",
          "343.000000",
          "370.000000",
          "363.000000",
          "351.000000",
          "343.000000",
          "336.000000",
          "343.000000",
          "360.000000",
          "347.000000",
          "338.000000",
          "347.000000",
          "338.000000",
          "358.000000",
          "370.000000",
          "373.000000",
          "363.000000",
          "343.000000",
          "367.000000",
          "368.000000",
          "388.000000",
          "388.000000",
          "345.000000",
          "349.000000",
          "339.000000",
          "348.000000",
          "393.000000",
          "384.000000",
          "368.000000",
          "357.000000",
          "347.000000",
          "367.000000",
          "370.000000",
          "378.000000",
          "369.000000",
          "361.000000",
          "366.000000",
          "376.000000",
          "370.000000",
          "370.000000",
          "339.000000",
          "360.000000",
          "366.000000",
          "397.000000",
          "412.000000",
          "398.000000",
          "373.000000",
          "353.000000",
          "382.000000",
          "387.000000",
          "409.000000",
          "405.000000",
          "372.000000",
          "372.000000",
          "361.000000",
          "374.000000",
          "405.000000",
          "388.000000",
          "395.000000",
          "388.000000",
          "381.000000",
          "399.000000",
          "385.000000",
          "377.000000",
          "370.000000",
          "376.000000",
          "396.000000",
          "409.000000",
          "415.000000",
          "391.000000",
          "368.000000",
          "369.000000",
          "386.000000",
          "418.000000",
          "437.000000",
          "410.000000",
          "394.000000",
          "386.000000",
          "407.000000",
          "410.000000",
          "422.000000",
          "419.000000",
          "400.000000",
          "408.000000",
          "401.000000",
          "405.000000",
          "408.000000",
          "388.000000",
          "397.000000",
          "395.000000",
          "411.000000",
          "433.000000",
          "400.000000",
          "411.000000",
          "391.000000",
          "377.000000",
          "425.000000",
          "435.000000",
          "428.000000",
          "406.000000",
          "386.000000",
          "391.000000",
          "409.000000",
          "435.000000",
          "449.000000",
          "435.000000",
          "421.000000",
          "415.000000",
          "438.000000",
          "429.000000",
          "419.000000",
          "424.000000",
          "417.000000",
          "435.000000",
          "429.000000",
          "435.000000",
          "433.000000",
          "402.000000",
          "421.000000",
          "421.000000",
          "444.000000",
          "465.000000",
          "423.000000",
          "424.000000",
          "404.000000",
          "396.000000",
          "444.000000",
          "446.000000",
          "446.000000",
          "423.000000",
          "405.000000",
          "421.000000",
          "426.000000",
          "447.000000",
          "451.000000",
          "453.000000",
          "456.000000",
          "448.000000",
          "459.000000",
          "455.000000",
          "443.000000",
          "438.000000",
          "435.000000",
          "460.000000",
          "457.000000",
          "460.000000",
          "442.000000",
          "411.000000",
          "439.000000",
          "429.000000",
          "469.000000",
          "478.000000",
          "430.000000",
          "438.000000",
          "425.000000",
          "423.000000",
          "470.000000",
          "453.000000",
          "466.000000",
          "450.000000",
          "436.000000",
          "449.000000",
          "451.000000",
          "462.000000",
          "469.000000",
          "463.000000",
          "473.000000",
          "471.000000",
          "482.000000",
          "481.000000",
          "455.000000",
          "455.000000",
          "455.000000",
          "477.000000",
          "488.000000",
          "492.000000",
          "463.000000",
          "439.000000",
          "451.000000",
          "455.000000",
          "479.000000",
          "491.000000",
          "455.000000",
          "453.000000",
          "442.000000",
          "455.000000",
          "493.000000",
          "464.000000",
          "481.000000",
          "469.000000",
          "466.000000",
          "477.000000",
          "463.000000",
          "476.000000",
          "483.000000",
          "465.000000",
          "501.000000",
          "504.000000",
          "514.000000",
          "509.000000",
          "479.000000",
          "471.000000",
          "471.000000",
          "503.000000",
          "509.000000",
          "506.000000",
          "477.000000",
          "457.000000",
          "472.000000",
          "479.000000",
          "497.000000",
          "515.000000",
          "480.000000",
          "485.000000",
          "471.000000",
          "474.000000",
          "506.000000",
          "475.000000",
          "489.000000",
          "484.000000",
          "491.000000",
          "505.000000",
          "481.000000",
          "501.000000",
          "500.000000",
          "481.000000",
          "516.000000",
          "520.000000",
          "542.000000",
          "524.000000",
          "497.000000",
          "491.000000",
          "477.000000",
          "516.000000",
          "546.000000",
          "528.000000",
          "506.000000",
          "485.000000",
          "486.000000",
          "489.000000",
          "521.000000",
          "534.000000",
          "505.000000",
          "508.000000",
          "494.000000",
          "525.000000",
          "528.000000",
          "496.000000",
          "511.000000",
          "511.000000",
          "502.000000",
          "519.000000",
          "519.000000",
          "525.000000",
          "532.000000",
          "519.000000",
          "537.000000",
          "534.000000",
          "556.000000",
          "554.000000",
          "514.000000",
          "518.000000",
          "506.000000",
          "523.000000",
          "540.000000",
          "558.000000",
          "531.000000",
          "503.000000",
          "515.000000",
          "514.000000",
          "533.000000",
          "561.000000",
          "534.000000",
          "536.000000",
          "516.000000",
          "507.000000",
          "548.000000",
          "526.000000",
          "547.000000",
          "543.000000",
          "522.000000",
          "530.000000",
          "531.000000",
          "537.000000",
          "557.000000",
          "537.000000",
          "555.000000",
          "538.000000",
          "567.000000",
          "565.000000",
          "553.000000",
          "537.000000",
          "520.000000",
          "534.000000",
          "554.000000",
          "579.000000",
          "582.000000",
          "538.000000",
          "545.000000",
          "536.000000",
          "538.000000",
          "585.000000",
          "575.000000",
          "560.000000",
          "542.000000",
          "518.000000",
          "537.000000",
          "551.000000",
          "581.000000",
          "583.000000",
          "562.000000",
          "544.000000",
          "531.000000",
          "547.000000",
          "571.000000",
          "577.000000",
          "578.000000",
          "567.000000",
          "577.000000",
          "576.000000",
          "569.000000",
          "572.000000",
          "550.000000",
          "564.000000",
          "569.000000",
          "577.000000",
          "596.000000",
          "581.000000",
          "578.000000",
          "562.000000",
          "549.000000",
          "580.000000",
          "589.000000",
          "604.000000",
          "585.000000",
          "548.000000",
          "550.000000",
          "545.000000",
          "569.000000",
          "593.000000",
          "595.000000",
          "572.000000",
          "551.000000",
          "555.000000",
          "587.000000",
          "603.000000",
          "617.000000",
          "593.000000",
          "602.000000",
          "585.000000",
          "578.000000",
          "607.000000",
          "607.000000",
          "602.000000",
          "605.000000",
          "589.000000",
          "591.000000",
          "594.000000",
          "599.000000",
          "607.000000",
          "581.000000",
          "600.000000",
          "583.000000",
          "594.000000",
          "585.000000",
          "598.000000",
          "583.000000",
          "573.000000",
          "585.000000",
          "598.000000",
          "610.000000",
          "611.000000",
          "595.000000",
          "588.000000",
          "609.000000",
          "603.000000",
          "651.000000",
          "630.000000",
          "637.000000",
          "628.000000",
          "591.000000",
          "615.000000",
          "594.000000",
          "647.000000",
          "649.000000",
          "623.000000",
          "609.000000",
          "583.000000",
          "591.000000",
          "629.000000",
          "637.000000",
          "638.000000",
          "611.000000",
          "609.000000",
          "609.000000",
          "606.000000",
          "629.000000",
          "625.000000",
          "626.000000",
          "626.000000",
          "597.000000",
          "614.000000",
          "613.000000",
          "625.000000",
          "1205.000000",
          "1193.000000",
          "1199.000000",
          "1189.000000",
          "1190.000000",
          "1206.000000",
          "1176.000000",
          "1181.000000",
          "1166.000000",
          "1176.000000",
          "1190.000000",
          "1172.000000",
          "1184.000000",
          "1157.000000",
          "1154.000000",
          "1157.000000",
          "1167.000000",
          "1208.000000",
          "1182.000000",
          "1187.000000",
          "1152.000000",
          "1116.000000",
          "1165.000000",
          "1163.000000",
          "1195.000000",
          "1196.000000",
          "1150.000000",
          "1149.000000",
          "1127.000000",
          "1157.000000",
          "1820.000000",
          "1838.000000",
          "1829.000000",
          "1789.000000",
          "1795.000000",
          "1786.000000",
          "1789.000000",
          "1809.000000",
          "1793.000000",
          "1797.000000",
          "1796.000000",
          "1758.000000",
          "1783.000000",
          "1772.000000",
          "1777.000000",
          "1772.000000",
          "1762.000000",
          "1772.000000",
          "1752.000000",
          "1763.000000",
          "1771.000000",
          "1748.000000",
          "1745.000000",
          "1737.000000",
          "1751.000000",
          "1755.000000",
          "1761.000000",
          "1759.000000",
          "1738.000000",
          "1732.000000",
          "1723.000000",
          "183.000000",
          "225.000000",
          "205.000000",
          "210.000000",
          "183.000000",
          "161.000000",
          "180.000000",
          "188.000000",
          "207.000000",
          "220.000000",
          "174.000000",
          "175.000000",
          "156.000000",
          "165.000000",
          "188.000000",
          "205.000000",
          "206.000000",
          "193.000000",
          "172.000000",
          "168.000000",
          "176.000000",
          "207.000000",
          "197.000000",
          "194.000000",
          "200.000000",
          "166.000000",
          "197.000000",
          "175.000000",
          "193.000000",
          "199.000000",
          "178.000000",
          "194.000000",
          "185.000000",
          "177.000000",
          "194.000000",
          "174.000000",
          "187.000000",
          "174.000000",
          "179.000000",
          "195.000000",
          "194.000000",
          "207.000000",
          "185.000000",
          "182.000000",
          "169.000000",
          "178.000000",
          "219.000000",
          "210.000000",
          "207.000000",
          "170.000000",
          "156.000000",
          "180.000000",
          "172.000000",
          "199.000000",
          "223.000000",
          "178.000000",
          "178.000000",
          "164.000000",
          "172.000000",
          "185.000000",
          "212.000000",
          "205.000000",
          "189.000000",
          "173.000000",
          "170.000000",
          "171.000000",
          "211.000000",
          "204.000000",
          "216.000000",
          "199.000000",
          "161.000000",
          "181.000000",
          "175.000000",
          "189.000000",
          "191.000000",
          "187.000000",
          "198.000000",
          "179.000000",
          "174.000000",
          "193.000000",
          "184.000000",
          "186.000000",
          "181.000000",
          "193.000000",
          "193.000000",
          "181.000000",
          "203.000000",
          "193.000000",
          "177.000000",
          "171.000000",
          "178.000000",
          "208.000000",
          "194.000000",
          "201.000000",
          "203.000000",
          "155.000000",
          "183.000000",
          "165.000000",
          "195.000000",
          "214.000000",
          "193.000000",
          "190.000000",
          "165.000000",
          "165.000000",
          "167.000000",
          "197.000000",
          "226.000000",
          "209.000000",
          "197.000000",
          "175.000000",
          "158.000000",
          "183.000000",
          "192.000000",
          "217.000000",
          "213.000000",
          "166.000000",
          "165.000000",
          "161.000000",
          "168.000000",
          "200.000000",
          "195.000000",
          "202.000000",
          "189.000000",
          "179.000000",
          "166.000000",
          "188.000000",
          "203.000000",
          "190.000000",
          "190.000000",
          "199.000000",
          "170.000000",
          "201.000000",
          "188.000000",
          "293.000000",
          "187.000000",
          "176.000000",
          "200.000000",
          "212.000000",
          "175.000000",
          "195.000000",
          "165.000000",
          "183.000000",
          "165.000000",
          "183.000000",
          "198.000000",
          "197.000000",
          "209.000000",
          "190.000000",
          "181.000000",
          "175.000000",
          "177.000000",
          "219.000000",
          "208.000000",
          "203.000000",
          "186.000000",
          "154.000000",
          "172.000000",
          "169.000000",
          "199.000000",
          "216.000000",
          "186.000000",
          "185.000000",
          "157.000000",
          "162.000000",
          "175.000000",
          "207.000000",
          "224.000000",
          "195.000000",
          "177.000000",
          "166.000000",
          "166.000000",
          "196.000000",
          "195.000000",
          "212.000000",
          "208.000000",
          "171.000000",
          "178.000000",
          "161.000000",
          "179.000000",
          "195.000000",
          "193.000000",
          "197.000000",
          "185.000000",
          "181.000000",
          "192.000000",
          "188.000000",
          "195.000000",
          "176.000000",
          "183.000000",
          "186.000000",
          "182.000000",
          "200.000000",
          "191.000000",
          "182.000000",
          "175.000000",
          "167.000000",
          "188.000000",
          "192.000000",
          "201.000000",
          "212.000000",
          "167.000000",
          "174.000000",
          "166.000000",
          "175.000000",
          "217.000000",
          "213.000000",
          "200.000000",
          "181.000000",
          "161.000000",
          "164.000000",
          "188.000000",
          "219.000000",
          "224.000000",
          "196.000000",
          "179.000000",
          "159.000000",
          "175.000000",
          "191.000000",
          "205.000000",
          "210.000000",
          "180.000000",
          "171.000000",
          "165.000000",
          "164.000000",
          "199.000000",
          "193.000000",
          "205.000000",
          "201.000000",
          "188.000000",
          "177.000000",
          "188.000000",
          "197.000000",
          "186.000000",
          "178.000000",
          "194.000000",
          "191.000000",
          "198.000000",
          "188.000000",
          "187.000000",
          "175.000000",
          "167.000000",
          "183.000000",
          "186.000000",
          "195.000000",
          "209.000000",
          "172.000000",
          "171.000000",
          "165.000000",
          "155.000000",
          "206.000000",
          "217.000000",
          "210.000000",
          "189.000000",
          "169.000000",
          "177.000000",
          "177.000000",
          "212.000000",
          "215.000000",
          "203.000000",
          "183.000000",
          "165.000000",
          "178.000000",
          "180.000000",
          "183.000000",
          "203.000000",
          "187.000000",
          "190.000000",
          "170.000000",
          "173.000000",
          "198.000000",
          "171.000000",
          "191.000000",
          "187.000000",
          "185.000000",
          "193.000000",
          "191.000000",
          "203.000000",
          "181.000000",
          "170.000000",
          "187.000000",
          "195.000000",
          "218.000000",
          "204.000000",
          "206.000000",
          "175.000000",
          "161.000000",
          "175.000000",
          "179.000000",
          "213.000000",
          "211.000000",
          "167.000000",
          "177.000000",
          "165.000000",
          "165.000000",
          "211.000000",
          "203.000000",
          "198.000000",
          "181.000000",
          "164.000000",
          "179.000000",
          "183.000000",
          "210.000000",
          "202.000000",
          "189.000000",
          "189.000000",
          "175.000000",
          "183.000000",
          "185.000000",
          "182.000000",
          "189.000000",
          "177.000000",
          "202.000000",
          "190.000000",
          "194.000000",
          "202.000000",
          "164.000000",
          "174.000000",
          "167.000000",
          "170.000000",
          "217.000000",
          "197.000000",
          "197.000000",
          "177.000000",
          "165.000000",
          "173.000000",
          "192.000000",
          "228.000000",
          "217.000000",
          "188.000000",
          "173.000000",
          "161.000000",
          "190.000000",
          "187.000000",
          "208.000000",
          "198.000000",
          "169.000000",
          "181.000000",
          "170.000000",
          "185.000000",
          "194.000000",
          "179.000000",
          "191.000000",
          "187.000000",
          "174.000000",
          "198.000000",
          "182.000000",
          "188.000000",
          "177.000000",
          "174.000000",
          "195.000000",
          "200.000000",
          "210.000000",
          "200.000000",
          "184.000000",
          "171.000000",
          "164.000000",
          "192.000000",
          "195.000000",
          "213.000000",
          "187.000000",
          "155.000000",
          "174.000000",
          "167.000000",
          "191.000000",
          "217.000000",
          "185.000000",
          "186.000000",
          "169.000000",
          "158.000000",
          "196.000000",
          "189.000000",
          "202.000000",
          "190.000000",
          "188.000000",
          "185.000000",
          "175.000000",
          "198.000000",
          "198.000000",
          "173.000000",
          "195.000000",
          "172.000000",
          "195.000000",
          "182.000000",
          "198.000000",
          "191.000000",
          "161.000000",
          "181.000000",
          "177.000000",
          "198.000000",
          "225.000000",
          "172.000000",
          "174.000000",
          "161.000000",
          "157.000000",
          "201.000000",
          "203.000000",
          "222.000000",
          "205.000000",
          "165.000000",
          "175.000000",
          "173.000000",
          "195.000000",
          "198.000000",
          "208.000000",
          "193.000000",
          "163.000000",
          "174.000000",
          "171.000000",
          "187.000000",
          "192.000000",
          "182.000000",
          "190.000000",
          "180.000000",
          "178.000000",
          "202.000000",
          "181.000000",
          "190.000000",
          "176.000000",
          "174.000000",
          "198.000000",
          "197.000000",
          "203.000000",
          "193.000000",
          "170.000000",
          "176.000000",
          "166.000000",
          "199.000000",
          "204.000000",
          "213.000000",
          "194.000000",
          "159.000000",
          "174.000000",
          "169.000000",
          "187.000000",
          "217.000000",
          "181.000000",
          "170.000000",
          "166.000000",
          "155.000000",
          "199.000000",
          "199.000000",
          "209.000000",
          "203.000000",
          "189.000000",
          "182.000000",
          "178.000000",
          "199.000000",
          "191.000000",
          "178.000000",
          "192.000000",
          "180.000000",
          "187.000000",
          "182.000000",
          "203.000000",
          "187.000000",
          "164.000000",
          "179.000000",
          "188.000000",
          "201.000000",
          "221.000000",
          "186.000000",
          "191.000000",
          "176.000000",
          "161.000000",
          "198.000000",
          "203.000000",
          "224.000000",
          "198.000000",
          "167.000000",
          "169.000000",
          "168.000000",
          "187.000000",
          "213.000000",
          "199.000000",
          "197.000000",
          "160.000000",
          "169.000000",
          "171.000000",
          "197.000000",
          "208.000000",
          "198.000000",
          "205.000000",
          "198.000000",
          "177.000000",
          "216.000000",
          "197.000000",
          "204.000000",
          "186.000000",
          "187.000000",
          "200.000000",
          "206.000000",
          "219.000000",
          "218.000000",
          "179.000000",
          "182.000000",
          "170.000000",
          "187.000000",
          "209.000000",
          "225.000000",
          "200.000000",
          "171.000000",
          "182.000000",
          "173.000000",
          "193.000000",
          "230.000000",
          "204.000000",
          "205.000000",
          "185.000000",
          "166.000000",
          "214.000000",
          "212.000000",
          "229.000000",
          "240.000000",
          "209.000000",
          "206.000000",
          "199.000000",
          "207.000000",
          "206.000000",
          "215.000000",
          "215.000000",
          "204.000000",
          "222.000000",
          "211.000000",
          "213.000000",
          "217.000000",
          "194.000000",
          "197.000000",
          "190.000000",
          "205.000000",
          "234.000000",
          "227.000000",
          "235.000000",
          "221.000000",
          "186.000000",
          "185.000000",
          "202.000000",
          "221.000000",
          "255.000000",
          "213.000000",
          "225.000000",
          "213.000000",
          "216.000000",
          "222.000000",
          "251.000000",
          "270.000000",
          "243.000000",
          "239.000000",
          "229.000000",
          "218.000000",
          "248.000000",
          "250.000000",
          "265.000000",
          "250.000000",
          "236.000000",
          "231.000000",
          "228.000000",
          "236.000000",
          "241.000000",
          "232.000000",
          "247.000000",
          "238.000000",
          "241.000000",
          "233.000000",
          "237.000000",
          "246.000000",
          "224.000000",
          "234.000000",
          "236.000000",
          "232.000000",
          "297.000000",
          "285.000000",
          "300.000000",
          "282.000000",
          "247.000000",
          "261.000000",
          "263.000000",
          "283.000000",
          "307.000000",
          "285.000000",
          "266.000000",
          "247.000000",
          "252.000000",
          "267.000000",
          "283.000000",
          "311.000000",
          "266.000000",
          "267.000000",
          "256.000000",
          "246.000000",
          "284.000000",
          "278.000000",
          "295.000000",
          "307.000000",
          "264.000000",
          "260.000000",
          "247.000000",
          "269.000000",
          "284.000000",
          "274.000000",
          "320.000000",
          "311.000000",
          "311.000000",
          "306.000000",
          "311.000000",
          "327.000000",
          "304.000000",
          "318.000000",
          "311.000000",
          "303.000000",
          "327.000000",
          "314.000000",
          "327.000000",
          "329.000000",
          "295.000000",
          "293.000000",
          "288.000000",
          "297.000000",
          "333.000000",
          "325.000000",
          "312.000000",
          "293.000000",
          "295.000000",
          "286.000000",
          "303.000000",
          "340.000000",
          "339.000000",
          "330.000000",
          "308.000000",
          "281.000000",
          "333.000000",
          "338.000000",
          "367.000000",
          "386.000000",
          "358.000000",
          "347.000000",
          "331.000000",
          "339.000000",
          "337.000000",
          "354.000000",
          "364.000000",
          "358.000000",
          "363.000000",
          "356.000000",
          "339.000000",
          "369.000000",
          "348.000000",
          "362.000000",
          "353.000000",
          "349.000000",
          "367.000000",
          "358.000000",
          "359.000000",
          "363.000000",
          "342.000000",
          "343.000000",
          "328.000000",
          "340.000000",
          "355.000000",
          "373.000000",
          "424.000000",
          "395.000000",
          "387.000000",
          "375.000000",
          "370.000000",
          "410.000000",
          "411.000000",
          "433.000000",
          "416.000000",
          "380.000000",
          "377.000000",
          "366.000000",
          "378.000000",
          "415.000000",
          "411.000000",
          "409.000000",
          "372.000000",
          "382.000000",
          "379.000000",
          "381.000000",
          "414.000000",
          "407.000000",
          "402.000000",
          "395.000000",
          "377.000000",
          "394.000000",
          "383.000000",
          "379.000000",
          "406.000000",
          "380.000000",
          "445.000000",
          "425.000000",
          "445.000000",
          "440.000000",
          "443.000000",
          "438.000000",
          "419.000000",
          "419.000000",
          "419.000000",
          "442.000000",
          "465.000000",
          "455.000000",
          "453.000000",
          "429.000000",
          "403.000000",
          "426.000000",
          "421.000000",
          "442.000000",
          "465.000000",
          "429.000000",
          "428.000000",
          "418.000000",
          "419.000000",
          "435.000000",
          "448.000000",
          "459.000000",
          "443.000000",
          "436.000000",
          "418.000000",
          "420.000000",
          "1643.000000",
          "1630.000000",
          "1633.000000",
          "1639.000000",
          "1623.000000",
          "1627.000000",
          "1629.000000",
          "1645.000000",
          "1647.000000",
          "1620.000000",
          "1639.000000",
          "1626.000000",
          "1635.000000",
          "1640.000000",
          "1646.000000",
          "1654.000000",
          "1632.000000",
          "1624.000000",
          "1622.000000",
          "1614.000000",
          "1654.000000",
          "1649.000000",
          "1659.000000",
          "1639.000000",
          "1604.000000",
          "1621.000000",
          "1606.000000",
          "1628.000000",
          "1666.000000",
          "1641.000000",
          "3071.000000",
          "3047.000000",
          "3053.000000",
          "3050.000000",
          "3062.000000",
          "3096.000000",
          "3083.000000",
          "3077.000000",
          "3062.000000",
          "3036.000000",
          "3069.000000",
          "3051.000000",
          "3076.000000",
          "3062.000000",
          "3053.000000",
          "3072.000000",
          "3055.000000",
          "3067.000000",
          "3070.000000",
          "3061.000000",
          "3063.000000",
          "3048.000000",
          "3050.000000",
          "3062.000000",
          "3082.000000",
          "3092.000000",
          "3075.000000",
          "3069.000000",
          "3051.000000",
          "3034.000000"
        ],
        "data_raw": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          3,
          3,
          1,
          1,
          2,
          4,
          3,
          4,
          3,
          2,
          1,
          2,
          4,
          3,
          3,
          2,
          1,
          2,
          4,
          3,
          3,
          3,
          1,
          1,
          2,
          3,
          3,
          3,
          2,
          1,
          2,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ]
      }
    ]
  ],
  "app_os": "linux",
  "app_name": "PhotosynQ",
  "app_version": "0.3.5",
  "app_device": "x86-64",
  "location": [
    "42.7225862",
    "-84.4746609"
  ],
  "ConsoleMacro": "14"
}
012409 pbi 160 low low res headshot
Created by

Greg Austic


Protocol connections:
4
Latest Update:
Nov 2016