commit 55e2f6d1a857d9524c1cfa886280c04aa15430ed
Author: Jan Hoffmann <jan@hfmn.pl>
Date:   Thu Jan 10 14:50:07 2019 +0100

    doxygen + travis + fixes

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..542d266
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+# osx
+.DS_Store
+
+# doxygen
+Doxyfile*
+doxygen_sqlite3.db
+html
+*.tmp
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..5975c2e
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,30 @@
+language: c
+sudo: false
+
+cache:
+  directories:
+    - ~/arduino_ide
+    - ~/.arduino15/packages/
+
+git:
+  depth: false
+  quiet: true
+
+env:
+  global:
+    - ARDUINO_IDE_VERSION="1.8.7"
+    - PRETTYNAME="Adafruit BNO055 Library"
+
+before_install:
+  - rm -rf ./examples_processing # we're not testing processing sketches
+  - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh)
+
+install:
+  - arduino --install-library "Adafruit Unified Sensor"
+
+script:
+  - build_main_platforms
+
+after_success:
+  - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/library_check.sh)
+  - source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/doxy_gen_and_deploy.sh)
diff --git a/Adafruit_BNO055.cpp b/Adafruit_BNO055.cpp
index 36820b0..ab2c95c 100644
--- a/Adafruit_BNO055.cpp
+++ b/Adafruit_BNO055.cpp
@@ -18,13 +18,13 @@
  ***************************************************************************/
 
 #if ARDUINO >= 100
- #include "Arduino.h"
+#include "Arduino.h"
 #else
- #include "WProgram.h"
+#include "WProgram.h"
 #endif
 
-#include <math.h>
 #include <limits.h>
+#include <math.h>
 
 #include "Adafruit_BNO055.h"
 
@@ -35,10 +35,11 @@
 /**************************************************************************/
 /*!
     @brief  Instantiates a new Adafruit_BNO055 class
+    @param  sensorID
+    @param  address
 */
 /**************************************************************************/
-Adafruit_BNO055::Adafruit_BNO055(int32_t sensorID, uint8_t address)
-{
+Adafruit_BNO055::Adafruit_BNO055(int32_t sensorID, uint8_t address) {
   _sensorID = sensorID;
   _address = address;
 }
@@ -50,10 +51,11 @@ Adafruit_BNO055::Adafruit_BNO055(int32_t sensorID, uint8_t address)
 /**************************************************************************/
 /*!
     @brief  Sets up the HW
+    @param  mode
+    @return true if process is sucessfull
 */
 /**************************************************************************/
-bool Adafruit_BNO055::begin(adafruit_bno055_opmode_t mode)
-{
+bool Adafruit_BNO055::begin(adafruit_bno055_opmode_t mode) {
   /* Enable I2C */
   Wire.begin();
 
@@ -64,12 +66,11 @@ bool Adafruit_BNO055::begin(adafruit_bno055_opmode_t mode)
 
   /* Make sure we have the right device */
   uint8_t id = read8(BNO055_CHIP_ID_ADDR);
-  if(id != BNO055_ID)
-  {
+  if (id != BNO055_ID) {
     delay(1000); // hold on for boot
     id = read8(BNO055_CHIP_ID_ADDR);
-    if(id != BNO055_ID) {
-      return false;  // still not? ok bail
+    if (id != BNO055_ID) {
+      return false; // still not? ok bail
     }
   }
 
@@ -78,8 +79,7 @@ bool Adafruit_BNO055::begin(adafruit_bno055_opmode_t mode)
 
   /* Reset */
   write8(BNO055_SYS_TRIGGER_ADDR, 0x20);
-  while (read8(BNO055_CHIP_ID_ADDR) != BNO055_ID)
-  {
+  while (read8(BNO055_CHIP_ID_ADDR) != BNO055_ID) {
     delay(10);
   }
   delay(50);
@@ -120,10 +120,10 @@ bool Adafruit_BNO055::begin(adafruit_bno055_opmode_t mode)
 /**************************************************************************/
 /*!
     @brief  Puts the chip in the specified operating mode
+    @param  mode
 */
 /**************************************************************************/
-void Adafruit_BNO055::setMode(adafruit_bno055_opmode_t mode)
-{
+void Adafruit_BNO055::setMode(adafruit_bno055_opmode_t mode) {
   _mode = mode;
   write8(BNO055_OPR_MODE_ADDR, _mode);
   delay(30);
@@ -132,10 +132,11 @@ void Adafruit_BNO055::setMode(adafruit_bno055_opmode_t mode)
 /**************************************************************************/
 /*!
     @brief  Changes the chip's axis remap
+    @param  remapcode
 */
 /**************************************************************************/
-void Adafruit_BNO055::setAxisRemap( adafruit_bno055_axis_remap_config_t remapcode )
-{
+void Adafruit_BNO055::setAxisRemap(
+    adafruit_bno055_axis_remap_config_t remapcode) {
   adafruit_bno055_opmode_t modeback = _mode;
 
   setMode(OPERATION_MODE_CONFIG);
@@ -150,10 +151,10 @@ void Adafruit_BNO055::setAxisRemap( adafruit_bno055_axis_remap_config_t remapcod
 /**************************************************************************/
 /*!
     @brief  Changes the chip's axis signs
+    @param  remapsign
 */
 /**************************************************************************/
-void Adafruit_BNO055::setAxisSign( adafruit_bno055_axis_remap_sign_t remapsign )
-{
+void Adafruit_BNO055::setAxisSign(adafruit_bno055_axis_remap_sign_t remapsign) {
   adafruit_bno055_opmode_t modeback = _mode;
 
   setMode(OPERATION_MODE_CONFIG);
@@ -165,14 +166,13 @@ void Adafruit_BNO055::setAxisSign( adafruit_bno055_axis_remap_sign_t remapsign )
   delay(20);
 }
 
-
 /**************************************************************************/
 /*!
     @brief  Use the external 32.768KHz crystal
+    @param  usextal boolean
 */
 /**************************************************************************/
-void Adafruit_BNO055::setExtCrystalUse(boolean usextal)
-{
+void Adafruit_BNO055::setExtCrystalUse(boolean usextal) {
   adafruit_bno055_opmode_t modeback = _mode;
 
   /* Switch to config mode (just in case since this is the default) */
@@ -190,14 +190,17 @@ void Adafruit_BNO055::setExtCrystalUse(boolean usextal)
   delay(20);
 }
 
-
 /**************************************************************************/
 /*!
     @brief  Gets the latest system status info
+    @param  system_status
+    @param  self_test_result
+    @param  system_error
 */
 /**************************************************************************/
-void Adafruit_BNO055::getSystemStatus(uint8_t *system_status, uint8_t *self_test_result, uint8_t *system_error)
-{
+void Adafruit_BNO055::getSystemStatus(uint8_t *system_status,
+                                      uint8_t *self_test_result,
+                                      uint8_t *system_error) {
   write8(BNO055_PAGE_ID_ADDR, 0);
 
   /* System Status (see section 4.3.58)
@@ -211,7 +214,7 @@ void Adafruit_BNO055::getSystemStatus(uint8_t *system_status, uint8_t *self_test
      6 = System running without fusion algorithms */
 
   if (system_status != 0)
-    *system_status    = read8(BNO055_SYS_STAT_ADDR);
+    *system_status = read8(BNO055_SYS_STAT_ADDR);
 
   /* Self Test Results (see section )
      --------------------------------
@@ -242,7 +245,7 @@ void Adafruit_BNO055::getSystemStatus(uint8_t *system_status, uint8_t *self_test
      A = Sensor configuration error */
 
   if (system_error != 0)
-    *system_error     = read8(BNO055_SYS_ERR_ADDR);
+    *system_error = read8(BNO055_SYS_ERR_ADDR);
 
   delay(200);
 }
@@ -252,8 +255,7 @@ void Adafruit_BNO055::getSystemStatus(uint8_t *system_status, uint8_t *self_test
     @brief  Gets the chip revision numbers
 */
 /**************************************************************************/
-void Adafruit_BNO055::getRevInfo(adafruit_bno055_rev_info_t* info)
-{
+void Adafruit_BNO055::getRevInfo(adafruit_bno055_rev_info_t *info) {
   uint8_t a, b;
 
   memset(info, 0, sizeof(adafruit_bno055_rev_info_t));
@@ -262,13 +264,13 @@ void Adafruit_BNO055::getRevInfo(adafruit_bno055_rev_info_t* info)
   info->accel_rev = read8(BNO055_ACCEL_REV_ID_ADDR);
 
   /* Check the magnetometer revision */
-  info->mag_rev   = read8(BNO055_MAG_REV_ID_ADDR);
+  info->mag_rev = read8(BNO055_MAG_REV_ID_ADDR);
 
   /* Check the gyroscope revision */
-  info->gyro_rev  = read8(BNO055_GYRO_REV_ID_ADDR);
+  info->gyro_rev = read8(BNO055_GYRO_REV_ID_ADDR);
 
   /* Check the SW revision */
-  info->bl_rev    = read8(BNO055_BL_REV_ID_ADDR);
+  info->bl_rev = read8(BNO055_BL_REV_ID_ADDR);
 
   a = read8(BNO055_SW_REV_ID_LSB_ADDR);
   b = read8(BNO055_SW_REV_ID_MSB_ADDR);
@@ -280,9 +282,14 @@ void Adafruit_BNO055::getRevInfo(adafruit_bno055_rev_info_t* info)
     @brief  Gets current calibration state.  Each value should be a uint8_t
             pointer and it will be set to 0 if not calibrated and 3 if
             fully calibrated.
+    @param  sys
+    @param  gyro
+    @param  accel
+    @param  mag
 */
 /**************************************************************************/
-void Adafruit_BNO055::getCalibration(uint8_t* sys, uint8_t* gyro, uint8_t* accel, uint8_t* mag) {
+void Adafruit_BNO055::getCalibration(uint8_t *sys, uint8_t *gyro,
+                                     uint8_t *accel, uint8_t *mag) {
   uint8_t calData = read8(BNO055_CALIB_STAT_ADDR);
   if (sys != NULL) {
     *sys = (calData >> 6) & 0x03;
@@ -301,24 +308,25 @@ void Adafruit_BNO055::getCalibration(uint8_t* sys, uint8_t* gyro, uint8_t* accel
 /**************************************************************************/
 /*!
     @brief  Gets the temperature in degrees celsius
+    @return temperature in degrees celsius
 */
 /**************************************************************************/
-int8_t Adafruit_BNO055::getTemp(void)
-{
+int8_t Adafruit_BNO055::getTemp() {
   int8_t temp = (int8_t)(read8(BNO055_TEMP_ADDR));
   return temp;
 }
 
 /**************************************************************************/
 /*!
-    @brief  Gets a vector reading from the specified source
+    @brief   Gets a vector reading from the specified source
+    @param   vector_type
+    @return  vector from specified source
 */
 /**************************************************************************/
-imu::Vector<3> Adafruit_BNO055::getVector(adafruit_vector_type_t vector_type)
-{
+imu::Vector<3> Adafruit_BNO055::getVector(adafruit_vector_type_t vector_type) {
   imu::Vector<3> xyz;
   uint8_t buffer[6];
-  memset (buffer, 0, 6);
+  memset(buffer, 0, 6);
 
   int16_t x, y, z;
   x = y = z = 0;
@@ -332,34 +340,33 @@ imu::Vector<3> Adafruit_BNO055::getVector(adafruit_vector_type_t vector_type)
 
   /* Convert the value to an appropriate range (section 3.6.4) */
   /* and assign the value to the Vector type */
-  switch(vector_type)
-  {
-    case VECTOR_MAGNETOMETER:
-      /* 1uT = 16 LSB */
-      xyz[0] = ((double)x)/16.0;
-      xyz[1] = ((double)y)/16.0;
-      xyz[2] = ((double)z)/16.0;
-      break;
-    case VECTOR_GYROSCOPE:
-      /* 1dps = 16 LSB */
-      xyz[0] = ((double)x)/16.0;
-      xyz[1] = ((double)y)/16.0;
-      xyz[2] = ((double)z)/16.0;
-      break;
-    case VECTOR_EULER:
-      /* 1 degree = 16 LSB */
-      xyz[0] = ((double)x)/16.0;
-      xyz[1] = ((double)y)/16.0;
-      xyz[2] = ((double)z)/16.0;
-      break;
-    case VECTOR_ACCELEROMETER:
-    case VECTOR_LINEARACCEL:
-    case VECTOR_GRAVITY:
-      /* 1m/s^2 = 100 LSB */
-      xyz[0] = ((double)x)/100.0;
-      xyz[1] = ((double)y)/100.0;
-      xyz[2] = ((double)z)/100.0;
-      break;
+  switch (vector_type) {
+  case VECTOR_MAGNETOMETER:
+    /* 1uT = 16 LSB */
+    xyz[0] = ((double)x) / 16.0;
+    xyz[1] = ((double)y) / 16.0;
+    xyz[2] = ((double)z) / 16.0;
+    break;
+  case VECTOR_GYROSCOPE:
+    /* 1dps = 16 LSB */
+    xyz[0] = ((double)x) / 16.0;
+    xyz[1] = ((double)y) / 16.0;
+    xyz[2] = ((double)z) / 16.0;
+    break;
+  case VECTOR_EULER:
+    /* 1 degree = 16 LSB */
+    xyz[0] = ((double)x) / 16.0;
+    xyz[1] = ((double)y) / 16.0;
+    xyz[2] = ((double)z) / 16.0;
+    break;
+  case VECTOR_ACCELEROMETER:
+  case VECTOR_LINEARACCEL:
+  case VECTOR_GRAVITY:
+    /* 1m/s^2 = 100 LSB */
+    xyz[0] = ((double)x) / 100.0;
+    xyz[1] = ((double)y) / 100.0;
+    xyz[2] = ((double)z) / 100.0;
+    break;
   }
 
   return xyz;
@@ -368,12 +375,12 @@ imu::Vector<3> Adafruit_BNO055::getVector(adafruit_vector_type_t vector_type)
 /**************************************************************************/
 /*!
     @brief  Gets a quaternion reading from the specified source
+    @return quaternion reading
 */
 /**************************************************************************/
-imu::Quaternion Adafruit_BNO055::getQuat(void)
-{
+imu::Quaternion Adafruit_BNO055::getQuat() {
   uint8_t buffer[8];
-  memset (buffer, 0, 8);
+  memset(buffer, 0, 8);
 
   int16_t x, y, z, w;
   x = y = z = w = 0;
@@ -386,9 +393,10 @@ imu::Quaternion Adafruit_BNO055::getQuat(void)
   z = (((uint16_t)buffer[7]) << 8) | ((uint16_t)buffer[6]);
 
   /* Assign to Quaternion */
-  /* See http://ae-bst.resource.bosch.com/media/products/dokumente/bno055/BST_BNO055_DS000_12~1.pdf
+  /* See
+     http://ae-bst.resource.bosch.com/media/products/dokumente/bno055/BST_BNO055_DS000_12~1.pdf
      3.6.5.5 Orientation (Quaternion)  */
-  const double scale = (1.0 / (1<<14));
+  const double scale = (1.0 / (1 << 14));
   imu::Quaternion quat(scale * w, scale * x, scale * y, scale * z);
   return quat;
 }
@@ -396,38 +404,39 @@ imu::Quaternion Adafruit_BNO055::getQuat(void)
 /**************************************************************************/
 /*!
     @brief  Provides the sensor_t data for this sensor
+    @param  sensor
 */
 /**************************************************************************/
-void Adafruit_BNO055::getSensor(sensor_t *sensor)
-{
+void Adafruit_BNO055::getSensor(sensor_t *sensor) {
   /* Clear the sensor_t object */
   memset(sensor, 0, sizeof(sensor_t));
 
   /* Insert the sensor name in the fixed length char array */
-  strncpy (sensor->name, "BNO055", sizeof(sensor->name) - 1);
-  sensor->name[sizeof(sensor->name)- 1] = 0;
-  sensor->version     = 1;
-  sensor->sensor_id   = _sensorID;
-  sensor->type        = SENSOR_TYPE_ORIENTATION;
-  sensor->min_delay   = 0;
-  sensor->max_value   = 0.0F;
-  sensor->min_value   = 0.0F;
-  sensor->resolution  = 0.01F;
+  strncpy(sensor->name, "BNO055", sizeof(sensor->name) - 1);
+  sensor->name[sizeof(sensor->name) - 1] = 0;
+  sensor->version = 1;
+  sensor->sensor_id = _sensorID;
+  sensor->type = SENSOR_TYPE_ORIENTATION;
+  sensor->min_delay = 0;
+  sensor->max_value = 0.0F;
+  sensor->min_value = 0.0F;
+  sensor->resolution = 0.01F;
 }
 
 /**************************************************************************/
 /*!
     @brief  Reads the sensor and returns the data as a sensors_event_t
+    @param  event
+    @return always returns true
 */
 /**************************************************************************/
-bool Adafruit_BNO055::getEvent(sensors_event_t *event)
-{
+bool Adafruit_BNO055::getEvent(sensors_event_t *event) {
   /* Clear the event */
   memset(event, 0, sizeof(sensors_event_t));
 
-  event->version   = sizeof(sensors_event_t);
+  event->version = sizeof(sensors_event_t);
   event->sensor_id = _sensorID;
-  event->type      = SENSOR_TYPE_ORIENTATION;
+  event->type = SENSOR_TYPE_ORIENTATION;
   event->timestamp = millis();
 
   /* Get a Euler angle sample for orientation */
@@ -441,183 +450,194 @@ bool Adafruit_BNO055::getEvent(sensors_event_t *event)
 
 /**************************************************************************/
 /*!
-@brief  Reads the sensor's offset registers into a byte array
+    @brief  Reads the sensor's offset registers into a byte array
+    @param  calibData
+    @return true if read is successful
 */
 /**************************************************************************/
-bool Adafruit_BNO055::getSensorOffsets(uint8_t* calibData)
-{
-    if (isFullyCalibrated())
-    {
-        adafruit_bno055_opmode_t lastMode = _mode;
-        setMode(OPERATION_MODE_CONFIG);
+bool Adafruit_BNO055::getSensorOffsets(uint8_t *calibData) {
+  if (isFullyCalibrated()) {
+    adafruit_bno055_opmode_t lastMode = _mode;
+    setMode(OPERATION_MODE_CONFIG);
 
-        readLen(ACCEL_OFFSET_X_LSB_ADDR, calibData, NUM_BNO055_OFFSET_REGISTERS);
+    readLen(ACCEL_OFFSET_X_LSB_ADDR, calibData, NUM_BNO055_OFFSET_REGISTERS);
 
-        setMode(lastMode);
-        return true;
-    }
-    return false;
+    setMode(lastMode);
+    return true;
+  }
+  return false;
 }
 
 /**************************************************************************/
 /*!
-@brief  Reads the sensor's offset registers into an offset struct
+    @brief  Reads the sensor's offset registers into an offset struct
+    @param  offsets_type
+    @return true if read is successful
 */
 /**************************************************************************/
-bool Adafruit_BNO055::getSensorOffsets(adafruit_bno055_offsets_t &offsets_type)
-{
-    if (isFullyCalibrated())
-    {
-        adafruit_bno055_opmode_t lastMode = _mode;
-        setMode(OPERATION_MODE_CONFIG);
-        delay(25);
-
-        /* Accel offset range depends on the G-range:
-           +/-2g  = +/- 2000 mg
-           +/-4g  = +/- 4000 mg
-           +/-8g  = +/- 8000 mg
-           +/-1§g = +/- 16000 mg */
-        offsets_type.accel_offset_x = (read8(ACCEL_OFFSET_X_MSB_ADDR) << 8) | (read8(ACCEL_OFFSET_X_LSB_ADDR));
-        offsets_type.accel_offset_y = (read8(ACCEL_OFFSET_Y_MSB_ADDR) << 8) | (read8(ACCEL_OFFSET_Y_LSB_ADDR));
-        offsets_type.accel_offset_z = (read8(ACCEL_OFFSET_Z_MSB_ADDR) << 8) | (read8(ACCEL_OFFSET_Z_LSB_ADDR));
-
-        /* Magnetometer offset range = +/- 6400 LSB where 1uT = 16 LSB */
-        offsets_type.mag_offset_x = (read8(MAG_OFFSET_X_MSB_ADDR) << 8) | (read8(MAG_OFFSET_X_LSB_ADDR));
-        offsets_type.mag_offset_y = (read8(MAG_OFFSET_Y_MSB_ADDR) << 8) | (read8(MAG_OFFSET_Y_LSB_ADDR));
-        offsets_type.mag_offset_z = (read8(MAG_OFFSET_Z_MSB_ADDR) << 8) | (read8(MAG_OFFSET_Z_LSB_ADDR));
-
-        /* Gyro offset range depends on the DPS range:
-          2000 dps = +/- 32000 LSB
-          1000 dps = +/- 16000 LSB
-           500 dps = +/- 8000 LSB
-           250 dps = +/- 4000 LSB
-           125 dps = +/- 2000 LSB
-           ... where 1 DPS = 16 LSB */
-        offsets_type.gyro_offset_x = (read8(GYRO_OFFSET_X_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_X_LSB_ADDR));
-        offsets_type.gyro_offset_y = (read8(GYRO_OFFSET_Y_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_Y_LSB_ADDR));
-        offsets_type.gyro_offset_z = (read8(GYRO_OFFSET_Z_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_Z_LSB_ADDR));
-
-        /* Accelerometer radius = +/- 1000 LSB */
-        offsets_type.accel_radius = (read8(ACCEL_RADIUS_MSB_ADDR) << 8) | (read8(ACCEL_RADIUS_LSB_ADDR));
-
-        /* Magnetometer radius = +/- 960 LSB */
-        offsets_type.mag_radius = (read8(MAG_RADIUS_MSB_ADDR) << 8) | (read8(MAG_RADIUS_LSB_ADDR));
-
-        setMode(lastMode);
-        return true;
-    }
-    return false;
-}
+bool Adafruit_BNO055::getSensorOffsets(
+    adafruit_bno055_offsets_t &offsets_type) {
+  if (isFullyCalibrated()) {
+    adafruit_bno055_opmode_t lastMode = _mode;
+    setMode(OPERATION_MODE_CONFIG);
+    delay(25);
+
+    /* Accel offset range depends on the G-range:
+       +/-2g  = +/- 2000 mg
+       +/-4g  = +/- 4000 mg
+       +/-8g  = +/- 8000 mg
+       +/-1§g = +/- 16000 mg */
+    offsets_type.accel_offset_x = (read8(ACCEL_OFFSET_X_MSB_ADDR) << 8) |
+                                  (read8(ACCEL_OFFSET_X_LSB_ADDR));
+    offsets_type.accel_offset_y = (read8(ACCEL_OFFSET_Y_MSB_ADDR) << 8) |
+                                  (read8(ACCEL_OFFSET_Y_LSB_ADDR));
+    offsets_type.accel_offset_z = (read8(ACCEL_OFFSET_Z_MSB_ADDR) << 8) |
+                                  (read8(ACCEL_OFFSET_Z_LSB_ADDR));
+
+    /* Magnetometer offset range = +/- 6400 LSB where 1uT = 16 LSB */
+    offsets_type.mag_offset_x =
+        (read8(MAG_OFFSET_X_MSB_ADDR) << 8) | (read8(MAG_OFFSET_X_LSB_ADDR));
+    offsets_type.mag_offset_y =
+        (read8(MAG_OFFSET_Y_MSB_ADDR) << 8) | (read8(MAG_OFFSET_Y_LSB_ADDR));
+    offsets_type.mag_offset_z =
+        (read8(MAG_OFFSET_Z_MSB_ADDR) << 8) | (read8(MAG_OFFSET_Z_LSB_ADDR));
+
+    /* Gyro offset range depends on the DPS range:
+      2000 dps = +/- 32000 LSB
+      1000 dps = +/- 16000 LSB
+       500 dps = +/- 8000 LSB
+       250 dps = +/- 4000 LSB
+       125 dps = +/- 2000 LSB
+       ... where 1 DPS = 16 LSB */
+    offsets_type.gyro_offset_x =
+        (read8(GYRO_OFFSET_X_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_X_LSB_ADDR));
+    offsets_type.gyro_offset_y =
+        (read8(GYRO_OFFSET_Y_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_Y_LSB_ADDR));
+    offsets_type.gyro_offset_z =
+        (read8(GYRO_OFFSET_Z_MSB_ADDR) << 8) | (read8(GYRO_OFFSET_Z_LSB_ADDR));
+
+    /* Accelerometer radius = +/- 1000 LSB */
+    offsets_type.accel_radius =
+        (read8(ACCEL_RADIUS_MSB_ADDR) << 8) | (read8(ACCEL_RADIUS_LSB_ADDR));
+
+    /* Magnetometer radius = +/- 960 LSB */
+    offsets_type.mag_radius =
+        (read8(MAG_RADIUS_MSB_ADDR) << 8) | (read8(MAG_RADIUS_LSB_ADDR));
 
+    setMode(lastMode);
+    return true;
+  }
+  return false;
+}
 
 /**************************************************************************/
 /*!
-@brief  Writes an array of calibration values to the sensor's offset registers
+  @brief  Writes an array of calibration values to the sensor's offset registers
+  @param  calibData
 */
 /**************************************************************************/
-void Adafruit_BNO055::setSensorOffsets(const uint8_t* calibData)
-{
-    adafruit_bno055_opmode_t lastMode = _mode;
-    setMode(OPERATION_MODE_CONFIG);
-    delay(25);
-
-    /* Note: Configuration will take place only when user writes to the last
-       byte of each config data pair (ex. ACCEL_OFFSET_Z_MSB_ADDR, etc.).
-       Therefore the last byte must be written whenever the user wants to
-       changes the configuration. */
-
-    /* A writeLen() would make this much cleaner */
-    write8(ACCEL_OFFSET_X_LSB_ADDR, calibData[0]);
-    write8(ACCEL_OFFSET_X_MSB_ADDR, calibData[1]);
-    write8(ACCEL_OFFSET_Y_LSB_ADDR, calibData[2]);
-    write8(ACCEL_OFFSET_Y_MSB_ADDR, calibData[3]);
-    write8(ACCEL_OFFSET_Z_LSB_ADDR, calibData[4]);
-    write8(ACCEL_OFFSET_Z_MSB_ADDR, calibData[5]);
-
-    write8(MAG_OFFSET_X_LSB_ADDR, calibData[6]);
-    write8(MAG_OFFSET_X_MSB_ADDR, calibData[7]);
-    write8(MAG_OFFSET_Y_LSB_ADDR, calibData[8]);
-    write8(MAG_OFFSET_Y_MSB_ADDR, calibData[9]);
-    write8(MAG_OFFSET_Z_LSB_ADDR, calibData[10]);
-    write8(MAG_OFFSET_Z_MSB_ADDR, calibData[11]);
-
-    write8(GYRO_OFFSET_X_LSB_ADDR, calibData[12]);
-    write8(GYRO_OFFSET_X_MSB_ADDR, calibData[13]);
-    write8(GYRO_OFFSET_Y_LSB_ADDR, calibData[14]);
-    write8(GYRO_OFFSET_Y_MSB_ADDR, calibData[15]);
-    write8(GYRO_OFFSET_Z_LSB_ADDR, calibData[16]);
-    write8(GYRO_OFFSET_Z_MSB_ADDR, calibData[17]);
-
-    write8(ACCEL_RADIUS_LSB_ADDR, calibData[18]);
-    write8(ACCEL_RADIUS_MSB_ADDR, calibData[19]);
-
-    write8(MAG_RADIUS_LSB_ADDR, calibData[20]);
-    write8(MAG_RADIUS_MSB_ADDR, calibData[21]);
+void Adafruit_BNO055::setSensorOffsets(const uint8_t *calibData) {
+  adafruit_bno055_opmode_t lastMode = _mode;
+  setMode(OPERATION_MODE_CONFIG);
+  delay(25);
 
-    setMode(lastMode);
+  /* Note: Configuration will take place only when user writes to the last
+     byte of each config data pair (ex. ACCEL_OFFSET_Z_MSB_ADDR, etc.).
+     Therefore the last byte must be written whenever the user wants to
+     changes the configuration. */
+
+  /* A writeLen() would make this much cleaner */
+  write8(ACCEL_OFFSET_X_LSB_ADDR, calibData[0]);
+  write8(ACCEL_OFFSET_X_MSB_ADDR, calibData[1]);
+  write8(ACCEL_OFFSET_Y_LSB_ADDR, calibData[2]);
+  write8(ACCEL_OFFSET_Y_MSB_ADDR, calibData[3]);
+  write8(ACCEL_OFFSET_Z_LSB_ADDR, calibData[4]);
+  write8(ACCEL_OFFSET_Z_MSB_ADDR, calibData[5]);
+
+  write8(MAG_OFFSET_X_LSB_ADDR, calibData[6]);
+  write8(MAG_OFFSET_X_MSB_ADDR, calibData[7]);
+  write8(MAG_OFFSET_Y_LSB_ADDR, calibData[8]);
+  write8(MAG_OFFSET_Y_MSB_ADDR, calibData[9]);
+  write8(MAG_OFFSET_Z_LSB_ADDR, calibData[10]);
+  write8(MAG_OFFSET_Z_MSB_ADDR, calibData[11]);
+
+  write8(GYRO_OFFSET_X_LSB_ADDR, calibData[12]);
+  write8(GYRO_OFFSET_X_MSB_ADDR, calibData[13]);
+  write8(GYRO_OFFSET_Y_LSB_ADDR, calibData[14]);
+  write8(GYRO_OFFSET_Y_MSB_ADDR, calibData[15]);
+  write8(GYRO_OFFSET_Z_LSB_ADDR, calibData[16]);
+  write8(GYRO_OFFSET_Z_MSB_ADDR, calibData[17]);
+
+  write8(ACCEL_RADIUS_LSB_ADDR, calibData[18]);
+  write8(ACCEL_RADIUS_MSB_ADDR, calibData[19]);
+
+  write8(MAG_RADIUS_LSB_ADDR, calibData[20]);
+  write8(MAG_RADIUS_MSB_ADDR, calibData[21]);
+
+  setMode(lastMode);
 }
 
 /**************************************************************************/
 /*!
 @brief  Writes to the sensor's offset registers from an offset struct
+@param  offsets_type
 */
 /**************************************************************************/
-void Adafruit_BNO055::setSensorOffsets(const adafruit_bno055_offsets_t &offsets_type)
-{
-    adafruit_bno055_opmode_t lastMode = _mode;
-    setMode(OPERATION_MODE_CONFIG);
-    delay(25);
-
-    /* Note: Configuration will take place only when user writes to the last
-       byte of each config data pair (ex. ACCEL_OFFSET_Z_MSB_ADDR, etc.).
-       Therefore the last byte must be written whenever the user wants to
-       changes the configuration. */
-
-    write8(ACCEL_OFFSET_X_LSB_ADDR, (offsets_type.accel_offset_x) & 0x0FF);
-    write8(ACCEL_OFFSET_X_MSB_ADDR, (offsets_type.accel_offset_x >> 8) & 0x0FF);
-    write8(ACCEL_OFFSET_Y_LSB_ADDR, (offsets_type.accel_offset_y) & 0x0FF);
-    write8(ACCEL_OFFSET_Y_MSB_ADDR, (offsets_type.accel_offset_y >> 8) & 0x0FF);
-    write8(ACCEL_OFFSET_Z_LSB_ADDR, (offsets_type.accel_offset_z) & 0x0FF);
-    write8(ACCEL_OFFSET_Z_MSB_ADDR, (offsets_type.accel_offset_z >> 8) & 0x0FF);
-
-    write8(MAG_OFFSET_X_LSB_ADDR, (offsets_type.mag_offset_x) & 0x0FF);
-    write8(MAG_OFFSET_X_MSB_ADDR, (offsets_type.mag_offset_x >> 8) & 0x0FF);
-    write8(MAG_OFFSET_Y_LSB_ADDR, (offsets_type.mag_offset_y) & 0x0FF);
-    write8(MAG_OFFSET_Y_MSB_ADDR, (offsets_type.mag_offset_y >> 8) & 0x0FF);
-    write8(MAG_OFFSET_Z_LSB_ADDR, (offsets_type.mag_offset_z) & 0x0FF);
-    write8(MAG_OFFSET_Z_MSB_ADDR, (offsets_type.mag_offset_z >> 8) & 0x0FF);
-
-    write8(GYRO_OFFSET_X_LSB_ADDR, (offsets_type.gyro_offset_x) & 0x0FF);
-    write8(GYRO_OFFSET_X_MSB_ADDR, (offsets_type.gyro_offset_x >> 8) & 0x0FF);
-    write8(GYRO_OFFSET_Y_LSB_ADDR, (offsets_type.gyro_offset_y) & 0x0FF);
-    write8(GYRO_OFFSET_Y_MSB_ADDR, (offsets_type.gyro_offset_y >> 8) & 0x0FF);
-    write8(GYRO_OFFSET_Z_LSB_ADDR, (offsets_type.gyro_offset_z) & 0x0FF);
-    write8(GYRO_OFFSET_Z_MSB_ADDR, (offsets_type.gyro_offset_z >> 8) & 0x0FF);
-
-    write8(ACCEL_RADIUS_LSB_ADDR, (offsets_type.accel_radius) & 0x0FF);
-    write8(ACCEL_RADIUS_MSB_ADDR, (offsets_type.accel_radius >> 8) & 0x0FF);
-
-    write8(MAG_RADIUS_LSB_ADDR, (offsets_type.mag_radius) & 0x0FF);
-    write8(MAG_RADIUS_MSB_ADDR, (offsets_type.mag_radius >> 8) & 0x0FF);
+void Adafruit_BNO055::setSensorOffsets(
+    const adafruit_bno055_offsets_t &offsets_type) {
+  adafruit_bno055_opmode_t lastMode = _mode;
+  setMode(OPERATION_MODE_CONFIG);
+  delay(25);
 
-    setMode(lastMode);
+  /* Note: Configuration will take place only when user writes to the last
+     byte of each config data pair (ex. ACCEL_OFFSET_Z_MSB_ADDR, etc.).
+     Therefore the last byte must be written whenever the user wants to
+     changes the configuration. */
+
+  write8(ACCEL_OFFSET_X_LSB_ADDR, (offsets_type.accel_offset_x) & 0x0FF);
+  write8(ACCEL_OFFSET_X_MSB_ADDR, (offsets_type.accel_offset_x >> 8) & 0x0FF);
+  write8(ACCEL_OFFSET_Y_LSB_ADDR, (offsets_type.accel_offset_y) & 0x0FF);
+  write8(ACCEL_OFFSET_Y_MSB_ADDR, (offsets_type.accel_offset_y >> 8) & 0x0FF);
+  write8(ACCEL_OFFSET_Z_LSB_ADDR, (offsets_type.accel_offset_z) & 0x0FF);
+  write8(ACCEL_OFFSET_Z_MSB_ADDR, (offsets_type.accel_offset_z >> 8) & 0x0FF);
+
+  write8(MAG_OFFSET_X_LSB_ADDR, (offsets_type.mag_offset_x) & 0x0FF);
+  write8(MAG_OFFSET_X_MSB_ADDR, (offsets_type.mag_offset_x >> 8) & 0x0FF);
+  write8(MAG_OFFSET_Y_LSB_ADDR, (offsets_type.mag_offset_y) & 0x0FF);
+  write8(MAG_OFFSET_Y_MSB_ADDR, (offsets_type.mag_offset_y >> 8) & 0x0FF);
+  write8(MAG_OFFSET_Z_LSB_ADDR, (offsets_type.mag_offset_z) & 0x0FF);
+  write8(MAG_OFFSET_Z_MSB_ADDR, (offsets_type.mag_offset_z >> 8) & 0x0FF);
+
+  write8(GYRO_OFFSET_X_LSB_ADDR, (offsets_type.gyro_offset_x) & 0x0FF);
+  write8(GYRO_OFFSET_X_MSB_ADDR, (offsets_type.gyro_offset_x >> 8) & 0x0FF);
+  write8(GYRO_OFFSET_Y_LSB_ADDR, (offsets_type.gyro_offset_y) & 0x0FF);
+  write8(GYRO_OFFSET_Y_MSB_ADDR, (offsets_type.gyro_offset_y >> 8) & 0x0FF);
+  write8(GYRO_OFFSET_Z_LSB_ADDR, (offsets_type.gyro_offset_z) & 0x0FF);
+  write8(GYRO_OFFSET_Z_MSB_ADDR, (offsets_type.gyro_offset_z >> 8) & 0x0FF);
+
+  write8(ACCEL_RADIUS_LSB_ADDR, (offsets_type.accel_radius) & 0x0FF);
+  write8(ACCEL_RADIUS_MSB_ADDR, (offsets_type.accel_radius >> 8) & 0x0FF);
+
+  write8(MAG_RADIUS_LSB_ADDR, (offsets_type.mag_radius) & 0x0FF);
+  write8(MAG_RADIUS_MSB_ADDR, (offsets_type.mag_radius >> 8) & 0x0FF);
+
+  setMode(lastMode);
 }
 
 /**************************************************************************/
 /*!
     @brief  Checks of all cal status values are set to 3 (fully calibrated)
+    @return status of calibration
 */
 /**************************************************************************/
-bool Adafruit_BNO055::isFullyCalibrated(void)
-{
-    uint8_t system, gyro, accel, mag;
-    getCalibration(&system, &gyro, &accel, &mag);
-    if (system < 3 || gyro < 3 || accel < 3 || mag < 3)
-        return false;
-    return true;
+bool Adafruit_BNO055::isFullyCalibrated() {
+  uint8_t system, gyro, accel, mag;
+  getCalibration(&system, &gyro, &accel, &mag);
+  if (system < 3 || gyro < 3 || accel < 3 || mag < 3)
+    return false;
+  return true;
 }
 
-
 /***************************************************************************
  PRIVATE FUNCTIONS
  ***************************************************************************/
@@ -627,16 +647,15 @@ bool Adafruit_BNO055::isFullyCalibrated(void)
     @brief  Writes an 8 bit value over I2C
 */
 /**************************************************************************/
-bool Adafruit_BNO055::write8(adafruit_bno055_reg_t reg, byte value)
-{
+bool Adafruit_BNO055::write8(adafruit_bno055_reg_t reg, byte value) {
   Wire.beginTransmission(_address);
-  #if ARDUINO >= 100
-    Wire.write((uint8_t)reg);
-    Wire.write((uint8_t)value);
-  #else
-    Wire.send(reg);
-    Wire.send(value);
-  #endif
+#if ARDUINO >= 100
+  Wire.write((uint8_t)reg);
+  Wire.write((uint8_t)value);
+#else
+  Wire.send(reg);
+  Wire.send(value);
+#endif
   Wire.endTransmission();
 
   /* ToDo: Check for error! */
@@ -648,23 +667,22 @@ bool Adafruit_BNO055::write8(adafruit_bno055_reg_t reg, byte value)
     @brief  Reads an 8 bit value over I2C
 */
 /**************************************************************************/
-byte Adafruit_BNO055::read8(adafruit_bno055_reg_t reg )
-{
+byte Adafruit_BNO055::read8(adafruit_bno055_reg_t reg) {
   byte value = 0;
 
   Wire.beginTransmission(_address);
-  #if ARDUINO >= 100
-    Wire.write((uint8_t)reg);
-  #else
-    Wire.send(reg);
-  #endif
+#if ARDUINO >= 100
+  Wire.write((uint8_t)reg);
+#else
+  Wire.send(reg);
+#endif
   Wire.endTransmission();
   Wire.requestFrom(_address, (byte)1);
-  #if ARDUINO >= 100
-    value = Wire.read();
-  #else
-    value = Wire.receive();
-  #endif
+#if ARDUINO >= 100
+  value = Wire.read();
+#else
+  value = Wire.receive();
+#endif
 
   return value;
 }
@@ -674,24 +692,23 @@ byte Adafruit_BNO055::read8(adafruit_bno055_reg_t reg )
     @brief  Reads the specified number of bytes over I2C
 */
 /**************************************************************************/
-bool Adafruit_BNO055::readLen(adafruit_bno055_reg_t reg, byte * buffer, uint8_t len)
-{
+bool Adafruit_BNO055::readLen(adafruit_bno055_reg_t reg, byte *buffer,
+                              uint8_t len) {
   Wire.beginTransmission(_address);
-  #if ARDUINO >= 100
-    Wire.write((uint8_t)reg);
-  #else
-    Wire.send(reg);
-  #endif
+#if ARDUINO >= 100
+  Wire.write((uint8_t)reg);
+#else
+  Wire.send(reg);
+#endif
   Wire.endTransmission();
   Wire.requestFrom(_address, (byte)len);
 
-  for (uint8_t i = 0; i < len; i++)
-  {
-    #if ARDUINO >= 100
-      buffer[i] = Wire.read();
-    #else
-      buffer[i] = Wire.receive();
-    #endif
+  for (uint8_t i = 0; i < len; i++) {
+#if ARDUINO >= 100
+    buffer[i] = Wire.read();
+#else
+    buffer[i] = Wire.receive();
+#endif
   }
 
   /* ToDo: Check for errors! */
diff --git a/Adafruit_BNO055.h b/Adafruit_BNO055.h
index 9252a80..f48fcda 100644
--- a/Adafruit_BNO055.h
+++ b/Adafruit_BNO055.h
@@ -1,36 +1,37 @@
-/***************************************************************************
-  This is a library for the BNO055 orientation sensor
-
-  Designed specifically to work with the Adafruit BNO055 Breakout.
-
-  Pick one up today in the adafruit shop!
-  ------> https://www.adafruit.com/product/2472
-
-  These sensors use I2C to communicate, 2 pins are required to interface.
-
-  Adafruit invests time and resources providing this open source code,
-  please support Adafruit andopen-source hardware by purchasing products
-  from Adafruit!
-
-  Written by KTOWN for Adafruit Industries.
-
-  MIT license, all text above must be included in any redistribution
- ***************************************************************************/
+/*!
+ *
+ *  This is a library for the BNO055 orientation sensor
+ *
+ *  Designed specifically to work with the Adafruit BNO055 Breakout.
+ *
+ *  Pick one up today in the adafruit shop!
+ *  ------> https://www.adafruit.com/product/2472
+ *
+ *  These sensors use I2C to communicate, 2 pins are required to interface.
+ *
+ *  Adafruit invests time and resources providing this open source code,
+ *  please support Adafruit andopen-source hardware by purchasing products
+ *  from Adafruit!
+ *
+ *  Written by KTOWN for Adafruit Industries.
+ *
+ *  MIT license, all text above must be included in any redistribution
+ */
 
 #ifndef __ADAFRUIT_BNO055_H__
 #define __ADAFRUIT_BNO055_H__
 
 #if (ARDUINO >= 100)
- #include "Arduino.h"
+#include "Arduino.h"
 #else
- #include "WProgram.h"
+#include "WProgram.h"
 #endif
 
 #ifdef __AVR_ATtiny85__
- #include <TinyWireM.h>
- #define Wire TinyWireM
+#include <TinyWireM.h>
+#define Wire TinyWireM
 #else
- #include <Wire.h>
+#include <Wire.h>
 #endif
 
 #include <Adafruit_Sensor.h>
@@ -38,289 +39,294 @@
 
 #define BNO055_ADDRESS_A (0x28)
 #define BNO055_ADDRESS_B (0x29)
-#define BNO055_ID        (0xA0)
+#define BNO055_ID (0xA0)
 
 #define NUM_BNO055_OFFSET_REGISTERS (22)
 
-typedef struct
-{
-    int16_t accel_offset_x;
-    int16_t accel_offset_y;
-    int16_t accel_offset_z;
-    int16_t mag_offset_x;
-    int16_t mag_offset_y;
-    int16_t mag_offset_z;
-    int16_t gyro_offset_x;
-    int16_t gyro_offset_y;
-    int16_t gyro_offset_z;
-
-    int16_t accel_radius;
-    int16_t mag_radius;
+/** A structure to represent offsets **/
+typedef struct {
+  int16_t accel_offset_x; /**< x acceleration offset */
+  int16_t accel_offset_y; /**< y acceleration offset */
+  int16_t accel_offset_z; /**< z acceleration offset */
+
+  int16_t mag_offset_x; /**< x magnetometer offset */
+  int16_t mag_offset_y; /**< y magnetometer offset */
+  int16_t mag_offset_z; /**< z magnetometer offset */
+
+  int16_t gyro_offset_x; /**< x gyroscrope offset */
+  int16_t gyro_offset_y; /**< y gyroscrope offset */
+  int16_t gyro_offset_z; /**< z gyroscrope offset */
+
+  int16_t accel_radius; /**< acceleration radius */
+
+  int16_t mag_radius; /**< magnetometer radius */
 } adafruit_bno055_offsets_t;
 
-class Adafruit_BNO055 : public Adafruit_Sensor
-{
-  public:
-    typedef enum
-    {
-      /* Page id register definition */
-      BNO055_PAGE_ID_ADDR                                     = 0X07,
-
-      /* PAGE0 REGISTER DEFINITION START*/
-      BNO055_CHIP_ID_ADDR                                     = 0x00,
-      BNO055_ACCEL_REV_ID_ADDR                                = 0x01,
-      BNO055_MAG_REV_ID_ADDR                                  = 0x02,
-      BNO055_GYRO_REV_ID_ADDR                                 = 0x03,
-      BNO055_SW_REV_ID_LSB_ADDR                               = 0x04,
-      BNO055_SW_REV_ID_MSB_ADDR                               = 0x05,
-      BNO055_BL_REV_ID_ADDR                                   = 0X06,
-
-      /* Accel data register */
-      BNO055_ACCEL_DATA_X_LSB_ADDR                            = 0X08,
-      BNO055_ACCEL_DATA_X_MSB_ADDR                            = 0X09,
-      BNO055_ACCEL_DATA_Y_LSB_ADDR                            = 0X0A,
-      BNO055_ACCEL_DATA_Y_MSB_ADDR                            = 0X0B,
-      BNO055_ACCEL_DATA_Z_LSB_ADDR                            = 0X0C,
-      BNO055_ACCEL_DATA_Z_MSB_ADDR                            = 0X0D,
-
-      /* Mag data register */
-      BNO055_MAG_DATA_X_LSB_ADDR                              = 0X0E,
-      BNO055_MAG_DATA_X_MSB_ADDR                              = 0X0F,
-      BNO055_MAG_DATA_Y_LSB_ADDR                              = 0X10,
-      BNO055_MAG_DATA_Y_MSB_ADDR                              = 0X11,
-      BNO055_MAG_DATA_Z_LSB_ADDR                              = 0X12,
-      BNO055_MAG_DATA_Z_MSB_ADDR                              = 0X13,
-
-      /* Gyro data registers */
-      BNO055_GYRO_DATA_X_LSB_ADDR                             = 0X14,
-      BNO055_GYRO_DATA_X_MSB_ADDR                             = 0X15,
-      BNO055_GYRO_DATA_Y_LSB_ADDR                             = 0X16,
-      BNO055_GYRO_DATA_Y_MSB_ADDR                             = 0X17,
-      BNO055_GYRO_DATA_Z_LSB_ADDR                             = 0X18,
-      BNO055_GYRO_DATA_Z_MSB_ADDR                             = 0X19,
-
-      /* Euler data registers */
-      BNO055_EULER_H_LSB_ADDR                                 = 0X1A,
-      BNO055_EULER_H_MSB_ADDR                                 = 0X1B,
-      BNO055_EULER_R_LSB_ADDR                                 = 0X1C,
-      BNO055_EULER_R_MSB_ADDR                                 = 0X1D,
-      BNO055_EULER_P_LSB_ADDR                                 = 0X1E,
-      BNO055_EULER_P_MSB_ADDR                                 = 0X1F,
-
-      /* Quaternion data registers */
-      BNO055_QUATERNION_DATA_W_LSB_ADDR                       = 0X20,
-      BNO055_QUATERNION_DATA_W_MSB_ADDR                       = 0X21,
-      BNO055_QUATERNION_DATA_X_LSB_ADDR                       = 0X22,
-      BNO055_QUATERNION_DATA_X_MSB_ADDR                       = 0X23,
-      BNO055_QUATERNION_DATA_Y_LSB_ADDR                       = 0X24,
-      BNO055_QUATERNION_DATA_Y_MSB_ADDR                       = 0X25,
-      BNO055_QUATERNION_DATA_Z_LSB_ADDR                       = 0X26,
-      BNO055_QUATERNION_DATA_Z_MSB_ADDR                       = 0X27,
-
-      /* Linear acceleration data registers */
-      BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR                     = 0X28,
-      BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR                     = 0X29,
-      BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR                     = 0X2A,
-      BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR                     = 0X2B,
-      BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR                     = 0X2C,
-      BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR                     = 0X2D,
-
-      /* Gravity data registers */
-      BNO055_GRAVITY_DATA_X_LSB_ADDR                          = 0X2E,
-      BNO055_GRAVITY_DATA_X_MSB_ADDR                          = 0X2F,
-      BNO055_GRAVITY_DATA_Y_LSB_ADDR                          = 0X30,
-      BNO055_GRAVITY_DATA_Y_MSB_ADDR                          = 0X31,
-      BNO055_GRAVITY_DATA_Z_LSB_ADDR                          = 0X32,
-      BNO055_GRAVITY_DATA_Z_MSB_ADDR                          = 0X33,
-
-      /* Temperature data register */
-      BNO055_TEMP_ADDR                                        = 0X34,
-
-      /* Status registers */
-      BNO055_CALIB_STAT_ADDR                                  = 0X35,
-      BNO055_SELFTEST_RESULT_ADDR                             = 0X36,
-      BNO055_INTR_STAT_ADDR                                   = 0X37,
-
-      BNO055_SYS_CLK_STAT_ADDR                                = 0X38,
-      BNO055_SYS_STAT_ADDR                                    = 0X39,
-      BNO055_SYS_ERR_ADDR                                     = 0X3A,
-
-      /* Unit selection register */
-      BNO055_UNIT_SEL_ADDR                                    = 0X3B,
-      BNO055_DATA_SELECT_ADDR                                 = 0X3C,
-
-      /* Mode registers */
-      BNO055_OPR_MODE_ADDR                                    = 0X3D,
-      BNO055_PWR_MODE_ADDR                                    = 0X3E,
-
-      BNO055_SYS_TRIGGER_ADDR                                 = 0X3F,
-      BNO055_TEMP_SOURCE_ADDR                                 = 0X40,
-
-      /* Axis remap registers */
-      BNO055_AXIS_MAP_CONFIG_ADDR                             = 0X41,
-      BNO055_AXIS_MAP_SIGN_ADDR                               = 0X42,
-
-      /* SIC registers */
-      BNO055_SIC_MATRIX_0_LSB_ADDR                            = 0X43,
-      BNO055_SIC_MATRIX_0_MSB_ADDR                            = 0X44,
-      BNO055_SIC_MATRIX_1_LSB_ADDR                            = 0X45,
-      BNO055_SIC_MATRIX_1_MSB_ADDR                            = 0X46,
-      BNO055_SIC_MATRIX_2_LSB_ADDR                            = 0X47,
-      BNO055_SIC_MATRIX_2_MSB_ADDR                            = 0X48,
-      BNO055_SIC_MATRIX_3_LSB_ADDR                            = 0X49,
-      BNO055_SIC_MATRIX_3_MSB_ADDR                            = 0X4A,
-      BNO055_SIC_MATRIX_4_LSB_ADDR                            = 0X4B,
-      BNO055_SIC_MATRIX_4_MSB_ADDR                            = 0X4C,
-      BNO055_SIC_MATRIX_5_LSB_ADDR                            = 0X4D,
-      BNO055_SIC_MATRIX_5_MSB_ADDR                            = 0X4E,
-      BNO055_SIC_MATRIX_6_LSB_ADDR                            = 0X4F,
-      BNO055_SIC_MATRIX_6_MSB_ADDR                            = 0X50,
-      BNO055_SIC_MATRIX_7_LSB_ADDR                            = 0X51,
-      BNO055_SIC_MATRIX_7_MSB_ADDR                            = 0X52,
-      BNO055_SIC_MATRIX_8_LSB_ADDR                            = 0X53,
-      BNO055_SIC_MATRIX_8_MSB_ADDR                            = 0X54,
-
-      /* Accelerometer Offset registers */
-      ACCEL_OFFSET_X_LSB_ADDR                                 = 0X55,
-      ACCEL_OFFSET_X_MSB_ADDR                                 = 0X56,
-      ACCEL_OFFSET_Y_LSB_ADDR                                 = 0X57,
-      ACCEL_OFFSET_Y_MSB_ADDR                                 = 0X58,
-      ACCEL_OFFSET_Z_LSB_ADDR                                 = 0X59,
-      ACCEL_OFFSET_Z_MSB_ADDR                                 = 0X5A,
-
-      /* Magnetometer Offset registers */
-      MAG_OFFSET_X_LSB_ADDR                                   = 0X5B,
-      MAG_OFFSET_X_MSB_ADDR                                   = 0X5C,
-      MAG_OFFSET_Y_LSB_ADDR                                   = 0X5D,
-      MAG_OFFSET_Y_MSB_ADDR                                   = 0X5E,
-      MAG_OFFSET_Z_LSB_ADDR                                   = 0X5F,
-      MAG_OFFSET_Z_MSB_ADDR                                   = 0X60,
-
-      /* Gyroscope Offset register s*/
-      GYRO_OFFSET_X_LSB_ADDR                                  = 0X61,
-      GYRO_OFFSET_X_MSB_ADDR                                  = 0X62,
-      GYRO_OFFSET_Y_LSB_ADDR                                  = 0X63,
-      GYRO_OFFSET_Y_MSB_ADDR                                  = 0X64,
-      GYRO_OFFSET_Z_LSB_ADDR                                  = 0X65,
-      GYRO_OFFSET_Z_MSB_ADDR                                  = 0X66,
-
-      /* Radius registers */
-      ACCEL_RADIUS_LSB_ADDR                                   = 0X67,
-      ACCEL_RADIUS_MSB_ADDR                                   = 0X68,
-      MAG_RADIUS_LSB_ADDR                                     = 0X69,
-      MAG_RADIUS_MSB_ADDR                                     = 0X6A
-    } adafruit_bno055_reg_t;
-
-    typedef enum
-    {
-      POWER_MODE_NORMAL                                       = 0X00,
-      POWER_MODE_LOWPOWER                                     = 0X01,
-      POWER_MODE_SUSPEND                                      = 0X02
-    } adafruit_bno055_powermode_t;
-
-    typedef enum
-    {
-      /* Operation mode settings*/
-      OPERATION_MODE_CONFIG                                   = 0X00,
-      OPERATION_MODE_ACCONLY                                  = 0X01,
-      OPERATION_MODE_MAGONLY                                  = 0X02,
-      OPERATION_MODE_GYRONLY                                  = 0X03,
-      OPERATION_MODE_ACCMAG                                   = 0X04,
-      OPERATION_MODE_ACCGYRO                                  = 0X05,
-      OPERATION_MODE_MAGGYRO                                  = 0X06,
-      OPERATION_MODE_AMG                                      = 0X07,
-      OPERATION_MODE_IMUPLUS                                  = 0X08,
-      OPERATION_MODE_COMPASS                                  = 0X09,
-      OPERATION_MODE_M4G                                      = 0X0A,
-      OPERATION_MODE_NDOF_FMC_OFF                             = 0X0B,
-      OPERATION_MODE_NDOF                                     = 0X0C
-    } adafruit_bno055_opmode_t;
-
-    typedef enum
-    {
-      REMAP_CONFIG_P0                                         = 0x21,
-      REMAP_CONFIG_P1                                         = 0x24, // default
-      REMAP_CONFIG_P2                                         = 0x24,
-      REMAP_CONFIG_P3                                         = 0x21,
-      REMAP_CONFIG_P4                                         = 0x24,
-      REMAP_CONFIG_P5                                         = 0x21,
-      REMAP_CONFIG_P6                                         = 0x21,
-      REMAP_CONFIG_P7                                         = 0x24
-    } adafruit_bno055_axis_remap_config_t;
-
-    typedef enum
-    {
-      REMAP_SIGN_P0                                           = 0x04,
-      REMAP_SIGN_P1                                           = 0x00, // default
-      REMAP_SIGN_P2                                           = 0x06,
-      REMAP_SIGN_P3                                           = 0x02,
-      REMAP_SIGN_P4                                           = 0x03,
-      REMAP_SIGN_P5                                           = 0x01,
-      REMAP_SIGN_P6                                           = 0x07,
-      REMAP_SIGN_P7                                           = 0x05
-    } adafruit_bno055_axis_remap_sign_t;
-
-    typedef struct
-    {
-      uint8_t  accel_rev;
-      uint8_t  mag_rev;
-      uint8_t  gyro_rev;
-      uint16_t sw_rev;
-      uint8_t  bl_rev;
-    } adafruit_bno055_rev_info_t;
-
-    typedef enum
-    {
-      VECTOR_ACCELEROMETER = BNO055_ACCEL_DATA_X_LSB_ADDR,
-      VECTOR_MAGNETOMETER  = BNO055_MAG_DATA_X_LSB_ADDR,
-      VECTOR_GYROSCOPE     = BNO055_GYRO_DATA_X_LSB_ADDR,
-      VECTOR_EULER         = BNO055_EULER_H_LSB_ADDR,
-      VECTOR_LINEARACCEL   = BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR,
-      VECTOR_GRAVITY       = BNO055_GRAVITY_DATA_X_LSB_ADDR
-    } adafruit_vector_type_t;
-
-#if defined (ARDUINO_SAMD_ZERO) && ! (ARDUINO_SAMD_FEATHER_M0)
-#error "On an arduino Zero, BNO055's ADR pin must be high. Fix that, then delete this line."
-    Adafruit_BNO055 ( int32_t sensorID = -1, uint8_t address = BNO055_ADDRESS_B );
+/*!
+ *  @brief  Class that stores state and functions for interacting with
+ *          BNO055 Sensor
+ */
+class Adafruit_BNO055 : public Adafruit_Sensor {
+public:
+  /** BNO055 Registers **/
+  typedef enum {
+    /* Page id register definition */
+    BNO055_PAGE_ID_ADDR = 0X07,
+
+    /* PAGE0 REGISTER DEFINITION START*/
+    BNO055_CHIP_ID_ADDR = 0x00,
+    BNO055_ACCEL_REV_ID_ADDR = 0x01,
+    BNO055_MAG_REV_ID_ADDR = 0x02,
+    BNO055_GYRO_REV_ID_ADDR = 0x03,
+    BNO055_SW_REV_ID_LSB_ADDR = 0x04,
+    BNO055_SW_REV_ID_MSB_ADDR = 0x05,
+    BNO055_BL_REV_ID_ADDR = 0X06,
+
+    /* Accel data register */
+    BNO055_ACCEL_DATA_X_LSB_ADDR = 0X08,
+    BNO055_ACCEL_DATA_X_MSB_ADDR = 0X09,
+    BNO055_ACCEL_DATA_Y_LSB_ADDR = 0X0A,
+    BNO055_ACCEL_DATA_Y_MSB_ADDR = 0X0B,
+    BNO055_ACCEL_DATA_Z_LSB_ADDR = 0X0C,
+    BNO055_ACCEL_DATA_Z_MSB_ADDR = 0X0D,
+
+    /* Mag data register */
+    BNO055_MAG_DATA_X_LSB_ADDR = 0X0E,
+    BNO055_MAG_DATA_X_MSB_ADDR = 0X0F,
+    BNO055_MAG_DATA_Y_LSB_ADDR = 0X10,
+    BNO055_MAG_DATA_Y_MSB_ADDR = 0X11,
+    BNO055_MAG_DATA_Z_LSB_ADDR = 0X12,
+    BNO055_MAG_DATA_Z_MSB_ADDR = 0X13,
+
+    /* Gyro data registers */
+    BNO055_GYRO_DATA_X_LSB_ADDR = 0X14,
+    BNO055_GYRO_DATA_X_MSB_ADDR = 0X15,
+    BNO055_GYRO_DATA_Y_LSB_ADDR = 0X16,
+    BNO055_GYRO_DATA_Y_MSB_ADDR = 0X17,
+    BNO055_GYRO_DATA_Z_LSB_ADDR = 0X18,
+    BNO055_GYRO_DATA_Z_MSB_ADDR = 0X19,
+
+    /* Euler data registers */
+    BNO055_EULER_H_LSB_ADDR = 0X1A,
+    BNO055_EULER_H_MSB_ADDR = 0X1B,
+    BNO055_EULER_R_LSB_ADDR = 0X1C,
+    BNO055_EULER_R_MSB_ADDR = 0X1D,
+    BNO055_EULER_P_LSB_ADDR = 0X1E,
+    BNO055_EULER_P_MSB_ADDR = 0X1F,
+
+    /* Quaternion data registers */
+    BNO055_QUATERNION_DATA_W_LSB_ADDR = 0X20,
+    BNO055_QUATERNION_DATA_W_MSB_ADDR = 0X21,
+    BNO055_QUATERNION_DATA_X_LSB_ADDR = 0X22,
+    BNO055_QUATERNION_DATA_X_MSB_ADDR = 0X23,
+    BNO055_QUATERNION_DATA_Y_LSB_ADDR = 0X24,
+    BNO055_QUATERNION_DATA_Y_MSB_ADDR = 0X25,
+    BNO055_QUATERNION_DATA_Z_LSB_ADDR = 0X26,
+    BNO055_QUATERNION_DATA_Z_MSB_ADDR = 0X27,
+
+    /* Linear acceleration data registers */
+    BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR = 0X28,
+    BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR = 0X29,
+    BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR = 0X2A,
+    BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR = 0X2B,
+    BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR = 0X2C,
+    BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR = 0X2D,
+
+    /* Gravity data registers */
+    BNO055_GRAVITY_DATA_X_LSB_ADDR = 0X2E,
+    BNO055_GRAVITY_DATA_X_MSB_ADDR = 0X2F,
+    BNO055_GRAVITY_DATA_Y_LSB_ADDR = 0X30,
+    BNO055_GRAVITY_DATA_Y_MSB_ADDR = 0X31,
+    BNO055_GRAVITY_DATA_Z_LSB_ADDR = 0X32,
+    BNO055_GRAVITY_DATA_Z_MSB_ADDR = 0X33,
+
+    /* Temperature data register */
+    BNO055_TEMP_ADDR = 0X34,
+
+    /* Status registers */
+    BNO055_CALIB_STAT_ADDR = 0X35,
+    BNO055_SELFTEST_RESULT_ADDR = 0X36,
+    BNO055_INTR_STAT_ADDR = 0X37,
+
+    BNO055_SYS_CLK_STAT_ADDR = 0X38,
+    BNO055_SYS_STAT_ADDR = 0X39,
+    BNO055_SYS_ERR_ADDR = 0X3A,
+
+    /* Unit selection register */
+    BNO055_UNIT_SEL_ADDR = 0X3B,
+    BNO055_DATA_SELECT_ADDR = 0X3C,
+
+    /* Mode registers */
+    BNO055_OPR_MODE_ADDR = 0X3D,
+    BNO055_PWR_MODE_ADDR = 0X3E,
+
+    BNO055_SYS_TRIGGER_ADDR = 0X3F,
+    BNO055_TEMP_SOURCE_ADDR = 0X40,
+
+    /* Axis remap registers */
+    BNO055_AXIS_MAP_CONFIG_ADDR = 0X41,
+    BNO055_AXIS_MAP_SIGN_ADDR = 0X42,
+
+    /* SIC registers */
+    BNO055_SIC_MATRIX_0_LSB_ADDR = 0X43,
+    BNO055_SIC_MATRIX_0_MSB_ADDR = 0X44,
+    BNO055_SIC_MATRIX_1_LSB_ADDR = 0X45,
+    BNO055_SIC_MATRIX_1_MSB_ADDR = 0X46,
+    BNO055_SIC_MATRIX_2_LSB_ADDR = 0X47,
+    BNO055_SIC_MATRIX_2_MSB_ADDR = 0X48,
+    BNO055_SIC_MATRIX_3_LSB_ADDR = 0X49,
+    BNO055_SIC_MATRIX_3_MSB_ADDR = 0X4A,
+    BNO055_SIC_MATRIX_4_LSB_ADDR = 0X4B,
+    BNO055_SIC_MATRIX_4_MSB_ADDR = 0X4C,
+    BNO055_SIC_MATRIX_5_LSB_ADDR = 0X4D,
+    BNO055_SIC_MATRIX_5_MSB_ADDR = 0X4E,
+    BNO055_SIC_MATRIX_6_LSB_ADDR = 0X4F,
+    BNO055_SIC_MATRIX_6_MSB_ADDR = 0X50,
+    BNO055_SIC_MATRIX_7_LSB_ADDR = 0X51,
+    BNO055_SIC_MATRIX_7_MSB_ADDR = 0X52,
+    BNO055_SIC_MATRIX_8_LSB_ADDR = 0X53,
+    BNO055_SIC_MATRIX_8_MSB_ADDR = 0X54,
+
+    /* Accelerometer Offset registers */
+    ACCEL_OFFSET_X_LSB_ADDR = 0X55,
+    ACCEL_OFFSET_X_MSB_ADDR = 0X56,
+    ACCEL_OFFSET_Y_LSB_ADDR = 0X57,
+    ACCEL_OFFSET_Y_MSB_ADDR = 0X58,
+    ACCEL_OFFSET_Z_LSB_ADDR = 0X59,
+    ACCEL_OFFSET_Z_MSB_ADDR = 0X5A,
+
+    /* Magnetometer Offset registers */
+    MAG_OFFSET_X_LSB_ADDR = 0X5B,
+    MAG_OFFSET_X_MSB_ADDR = 0X5C,
+    MAG_OFFSET_Y_LSB_ADDR = 0X5D,
+    MAG_OFFSET_Y_MSB_ADDR = 0X5E,
+    MAG_OFFSET_Z_LSB_ADDR = 0X5F,
+    MAG_OFFSET_Z_MSB_ADDR = 0X60,
+
+    /* Gyroscope Offset register s*/
+    GYRO_OFFSET_X_LSB_ADDR = 0X61,
+    GYRO_OFFSET_X_MSB_ADDR = 0X62,
+    GYRO_OFFSET_Y_LSB_ADDR = 0X63,
+    GYRO_OFFSET_Y_MSB_ADDR = 0X64,
+    GYRO_OFFSET_Z_LSB_ADDR = 0X65,
+    GYRO_OFFSET_Z_MSB_ADDR = 0X66,
+
+    /* Radius registers */
+    ACCEL_RADIUS_LSB_ADDR = 0X67,
+    ACCEL_RADIUS_MSB_ADDR = 0X68,
+    MAG_RADIUS_LSB_ADDR = 0X69,
+    MAG_RADIUS_MSB_ADDR = 0X6A
+  } adafruit_bno055_reg_t;
+
+  /** BNO055 power settings */
+  typedef enum {
+    POWER_MODE_NORMAL = 0X00,
+    POWER_MODE_LOWPOWER = 0X01,
+    POWER_MODE_SUSPEND = 0X02
+  } adafruit_bno055_powermode_t;
+
+  /** Operation mode settings **/
+  typedef enum {
+    OPERATION_MODE_CONFIG = 0X00,
+    OPERATION_MODE_ACCONLY = 0X01,
+    OPERATION_MODE_MAGONLY = 0X02,
+    OPERATION_MODE_GYRONLY = 0X03,
+    OPERATION_MODE_ACCMAG = 0X04,
+    OPERATION_MODE_ACCGYRO = 0X05,
+    OPERATION_MODE_MAGGYRO = 0X06,
+    OPERATION_MODE_AMG = 0X07,
+    OPERATION_MODE_IMUPLUS = 0X08,
+    OPERATION_MODE_COMPASS = 0X09,
+    OPERATION_MODE_M4G = 0X0A,
+    OPERATION_MODE_NDOF_FMC_OFF = 0X0B,
+    OPERATION_MODE_NDOF = 0X0C
+  } adafruit_bno055_opmode_t;
+
+  /** Remap settings **/
+  typedef enum {
+    REMAP_CONFIG_P0 = 0x21,
+    REMAP_CONFIG_P1 = 0x24, // default
+    REMAP_CONFIG_P2 = 0x24,
+    REMAP_CONFIG_P3 = 0x21,
+    REMAP_CONFIG_P4 = 0x24,
+    REMAP_CONFIG_P5 = 0x21,
+    REMAP_CONFIG_P6 = 0x21,
+    REMAP_CONFIG_P7 = 0x24
+  } adafruit_bno055_axis_remap_config_t;
+
+  /** Remap Signs **/
+  typedef enum {
+    REMAP_SIGN_P0 = 0x04,
+    REMAP_SIGN_P1 = 0x00, // default
+    REMAP_SIGN_P2 = 0x06,
+    REMAP_SIGN_P3 = 0x02,
+    REMAP_SIGN_P4 = 0x03,
+    REMAP_SIGN_P5 = 0x01,
+    REMAP_SIGN_P6 = 0x07,
+    REMAP_SIGN_P7 = 0x05
+  } adafruit_bno055_axis_remap_sign_t;
+
+  /** A structure to represent revisions **/
+  typedef struct {
+    uint8_t accel_rev; /**< acceleration rev */
+    uint8_t mag_rev;   /**< magnetometer rev */
+    uint8_t gyro_rev;  /**< gyroscrope rev */
+    uint16_t sw_rev;   /**< SW rev */
+    uint8_t bl_rev;    /**< bootloader rev */
+  } adafruit_bno055_rev_info_t;
+
+  /** Vector Mappings **/
+  typedef enum {
+    VECTOR_ACCELEROMETER = BNO055_ACCEL_DATA_X_LSB_ADDR,
+    VECTOR_MAGNETOMETER = BNO055_MAG_DATA_X_LSB_ADDR,
+    VECTOR_GYROSCOPE = BNO055_GYRO_DATA_X_LSB_ADDR,
+    VECTOR_EULER = BNO055_EULER_H_LSB_ADDR,
+    VECTOR_LINEARACCEL = BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR,
+    VECTOR_GRAVITY = BNO055_GRAVITY_DATA_X_LSB_ADDR
+  } adafruit_vector_type_t;
+
+#if defined(ARDUINO_SAMD_ZERO) && !(ARDUINO_SAMD_FEATHER_M0)
+#error                                                                         \
+    "On an arduino Zero, BNO055's ADR pin must be high. Fix that, then delete \
+         this line."
+  Adafruit_BNO055(int32_t sensorID = -1, uint8_t address = BNO055_ADDRESS_B);
 #else
-    Adafruit_BNO055 ( int32_t sensorID = -1, uint8_t address = BNO055_ADDRESS_A );
+  Adafruit_BNO055(int32_t sensorID = -1, uint8_t address = BNO055_ADDRESS_A);
 #endif
-    bool  begin               ( adafruit_bno055_opmode_t mode = OPERATION_MODE_NDOF );
-    void  setMode             ( adafruit_bno055_opmode_t mode );
-    void  setAxisRemap        ( adafruit_bno055_axis_remap_config_t remapcode );
-    void  setAxisSign         ( adafruit_bno055_axis_remap_sign_t remapsign );
-    void  getRevInfo          ( adafruit_bno055_rev_info_t* );
-    void  displayRevInfo      ( void );
-    void  setExtCrystalUse    ( boolean usextal );
-    void  getSystemStatus     ( uint8_t *system_status,
-                                uint8_t *self_test_result,
-                                uint8_t *system_error);
-    void  displaySystemStatus ( void );
-    void  getCalibration      ( uint8_t* system, uint8_t* gyro, uint8_t* accel, uint8_t* mag);
-
-    imu::Vector<3>  getVector ( adafruit_vector_type_t vector_type );
-    imu::Quaternion getQuat   ( void );
-    int8_t          getTemp   ( void );
-
-    /* Adafruit_Sensor implementation */
-    bool  getEvent  ( sensors_event_t* );
-    void  getSensor ( sensor_t* );
-
-    /* Functions to deal with raw calibration data */
-    bool  getSensorOffsets(uint8_t* calibData);
-    bool  getSensorOffsets(adafruit_bno055_offsets_t &offsets_type);
-    void  setSensorOffsets(const uint8_t* calibData);
-    void  setSensorOffsets(const adafruit_bno055_offsets_t &offsets_type);
-    bool  isFullyCalibrated(void);
-
-  private:
-    byte  read8   ( adafruit_bno055_reg_t );
-    bool  readLen ( adafruit_bno055_reg_t, byte* buffer, uint8_t len );
-    bool  write8  ( adafruit_bno055_reg_t, byte value );
-
-    uint8_t _address;
-    int32_t _sensorID;
-    adafruit_bno055_opmode_t _mode;
+  bool begin(adafruit_bno055_opmode_t mode = OPERATION_MODE_NDOF);
+  void setMode(adafruit_bno055_opmode_t mode);
+  void setAxisRemap(adafruit_bno055_axis_remap_config_t remapcode);
+  void setAxisSign(adafruit_bno055_axis_remap_sign_t remapsign);
+  void getRevInfo(adafruit_bno055_rev_info_t *);
+  void setExtCrystalUse(boolean usextal);
+  void getSystemStatus(uint8_t *system_status, uint8_t *self_test_result,
+                       uint8_t *system_error);
+  void getCalibration(uint8_t *system, uint8_t *gyro, uint8_t *accel,
+                      uint8_t *mag);
+
+  imu::Vector<3> getVector(adafruit_vector_type_t vector_type);
+  imu::Quaternion getQuat();
+  int8_t getTemp();
+
+  /* Adafruit_Sensor implementation */
+  bool getEvent(sensors_event_t *);
+  void getSensor(sensor_t *);
+
+  /* Functions to deal with raw calibration data */
+  bool getSensorOffsets(uint8_t *calibData);
+  bool getSensorOffsets(adafruit_bno055_offsets_t &offsets_type);
+  void setSensorOffsets(const uint8_t *calibData);
+  void setSensorOffsets(const adafruit_bno055_offsets_t &offsets_type);
+  bool isFullyCalibrated();
+
+private:
+  byte read8(adafruit_bno055_reg_t);
+  bool readLen(adafruit_bno055_reg_t, byte *buffer, uint8_t len);
+  bool write8(adafruit_bno055_reg_t, byte value);
+
+  uint8_t _address;
+  int32_t _sensorID;
+  adafruit_bno055_opmode_t _mode;
 };
 
 #endif
diff --git a/README.md b/README.md
index 9027524..50eb38f 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Adafruit Unified BNO055 Driver (AHRS/Orientation)  #
+# Adafruit Unified BNO055 Driver (AHRS/Orientation)  [![Build Status](https://travis-ci.com/adafruit/Adafruit_BNO055.svg?branch=master)](https://travis-ci.com/adafruit/Adafruit_BNO055)
 
 This driver is for the Adafruit BNO055 Breakout (http://www.adafruit.com/products/2472),
 and is based on Adafruit's Unified Sensor Library (Adafruit_Sensor).
diff --git a/examples/bunny/processing/cuberotate/cuberotate.pde b/examples/bunny/processing/cuberotate/cuberotate.pde
deleted file mode 100644
index 6e34528..0000000
--- a/examples/bunny/processing/cuberotate/cuberotate.pde
+++ /dev/null
@@ -1,181 +0,0 @@
-import processing.serial.*;
-import java.awt.datatransfer.*;
-import java.awt.Toolkit;
-import processing.opengl.*;
-import saito.objloader.*;
-import g4p_controls.*;
-
-float roll  = 0.0F;
-float pitch = 0.0F;
-float yaw   = 0.0F;
-float temp  = 0.0F;
-float alt   = 0.0F;
-
-OBJModel model;
-
-// Serial port state.
-Serial       port;
-final String serialConfigFile = "serialconfig.txt";
-boolean      printSerial = false;
-
-// UI controls.
-GPanel    configPanel;
-GDropList serialList;
-GLabel    serialLabel;
-GLabel    calLabel;
-GCheckbox printSerialCheckbox;
-
-void setup()
-{
-  size(640, 480, OPENGL);
-  frameRate(30);
-  model = new OBJModel(this);
-  model.load("bunny.obj");
-  model.scale(20);
-  
-  // Serial port setup.
-  // Grab list of serial ports and choose one that was persisted earlier or default to the first port.
-  int selectedPort = 0;
-  String[] availablePorts = Serial.list();
-  if (availablePorts == null) {
-    println("ERROR: No serial ports available!");
-    exit();
-  }
-  String[] serialConfig = loadStrings(serialConfigFile);
-  if (serialConfig != null && serialConfig.length > 0) {
-    String savedPort = serialConfig[0];
-    // Check if saved port is in available ports.
-    for (int i = 0; i < availablePorts.length; ++i) {
-      if (availablePorts[i].equals(savedPort)) {
-        selectedPort = i;
-      } 
-    }
-  }
-  // Build serial config UI.
-  configPanel = new GPanel(this, 10, 10, width-20, 90, "Configuration (click to hide/show)");
-  serialLabel = new GLabel(this,  0, 20, 80, 25, "Serial port:");
-  configPanel.addControl(serialLabel);
-  serialList = new GDropList(this, 90, 20, 200, 200, 6);
-  serialList.setItems(availablePorts, selectedPort);
-  configPanel.addControl(serialList);
-  calLabel = new GLabel(this, 300, 20, 350, 25, "Calibration: Sys=? Gyro=? Accel=? Mag=?");
-  configPanel.addControl(calLabel); 
-  printSerialCheckbox = new GCheckbox(this, 5, 50, 200, 20, "Print serial data");
-  printSerialCheckbox.setSelected(printSerial);
-  configPanel.addControl(printSerialCheckbox);
-  // Set serial port.
-  setSerialPort(serialList.getSelectedText());
-}
- 
-void draw()
-{
-  background(0,0,0);
-
-  // Set a new co-ordinate space
-  pushMatrix();
-
-  // Simple 3 point lighting for dramatic effect.
-  // Slightly red light in upper right, slightly blue light in upper left, and white light from behind.
-  pointLight(255, 200, 200,  400, 400,  500);
-  pointLight(200, 200, 255, -400, 400,  500);
-  pointLight(255, 255, 255,    0,   0, -500);
-  
-  // Move bunny from 0,0 in upper left corner to roughly center of screen.
-  translate(300, 380, 0);
-  
-  // Rotate shapes around the X/Y/Z axis (values in radians, 0..Pi*2)
-  //rotateZ(radians(roll));
-  //rotateX(radians(pitch)); // extrinsic rotation
-  //rotateY(radians(yaw));
-  float c1 = cos(radians(roll));
-  float s1 = sin(radians(roll));
-  float c2 = cos(radians(pitch)); // intrinsic rotation
-  float s2 = sin(radians(pitch));
-  float c3 = cos(radians(yaw));
-  float s3 = sin(radians(yaw));
-  applyMatrix( c2*c3, s1*s3+c1*c3*s2, c3*s1*s2-c1*s3, 0,
-               -s2, c1*c2, c2*s1, 0,
-               c2*s3, c1*s2*s3-c3*s1, c1*c3+s1*s2*s3, 0,
-               0, 0, 0, 1);
-
-  pushMatrix();
-  noStroke();
-  model.draw();
-  popMatrix();
-  popMatrix();
-  //print("draw");
-}
-
-void serialEvent(Serial p) 
-{
-  String incoming = p.readString();
-  if (printSerial) {
-    println(incoming);
-  }
-  
-  if ((incoming.length() > 8))
-  {
-    String[] list = split(incoming, " ");
-    if ( (list.length > 0) && (list[0].equals("Orientation:")) ) 
-    {
-      roll  = float(list[3]); // Roll = Z
-      pitch = float(list[2]); // Pitch = Y 
-      yaw   = float(list[1]); // Yaw/Heading = X
-    }
-    if ( (list.length > 0) && (list[0].equals("Alt:")) ) 
-    {
-      alt  = float(list[1]);
-    }
-    if ( (list.length > 0) && (list[0].equals("Temp:")) ) 
-    {
-      temp  = float(list[1]);
-    }
-    if ( (list.length > 0) && (list[0].equals("Calibration:")) )
-    {
-      int sysCal   = int(list[1]);
-      int gyroCal  = int(list[2]);
-      int accelCal = int(list[3]);
-      int magCal   = int(trim(list[4]));
-      calLabel.setText("Calibration: Sys=" + sysCal + " Gyro=" + gyroCal + " Accel=" + accelCal + " Mag=" + magCal);
-    }
-  }
-}
-
-// Set serial port to desired value.
-void setSerialPort(String portName) {
-  // Close the port if it's currently open.
-  if (port != null) {
-    port.stop();
-  }
-  try {
-    // Open port.
-    port = new Serial(this, portName, 115200);
-    port.bufferUntil('\n');
-    // Persist port in configuration.
-    saveStrings(serialConfigFile, new String[] { portName });
-  }
-  catch (RuntimeException ex) {
-    // Swallow error if port can't be opened, keep port closed.
-    port = null; 
-  }
-}
-
-// UI event handlers
-
-void handlePanelEvents(GPanel panel, GEvent event) {
-  // Panel events, do nothing.
-}
-
-void handleDropListEvents(GDropList list, GEvent event) { 
-  // Drop list events, check if new serial port is selected.
-  if (list == serialList) {
-    setSerialPort(serialList.getSelectedText()); 
-  }
-}
-
-void handleToggleControlEvents(GToggleControl checkbox, GEvent event) { 
-  // Checkbox toggle events, check if print events is toggled.
-  if (checkbox == printSerialCheckbox) {
-    printSerial = printSerialCheckbox.isSelected(); 
-  }
-}
diff --git a/examples/bunny/processing/cuberotate/data/bunny.mtl b/examples/bunny/processing/cuberotate/data/bunny.mtl
deleted file mode 100644
index b7daf56..0000000
--- a/examples/bunny/processing/cuberotate/data/bunny.mtl
+++ /dev/null
@@ -1,13 +0,0 @@
-# 3ds Max Wavefront OBJ Exporter v0.94b - (c)2007 guruware
-# File Created: 04.07.2010 10:41:39
-
-newmtl Body
-Ns 32
-d 1
-Tr 1
-Tf 1 1 1
-illum 2
-Ka 0.0000 0.0000 0.0000
-Kd 0.7412 0.4784 0.4765
-Ks 0.3500 0.3500 0.6500
-
diff --git a/examples/bunny/processing/cuberotate/data/bunny.obj b/examples/bunny/processing/cuberotate/data/bunny.obj
deleted file mode 100644
index 8764d6a..0000000
--- a/examples/bunny/processing/cuberotate/data/bunny.obj
+++ /dev/null
@@ -1,139352 +0,0 @@
-####
-#
-# OBJ File Generated by Meshlab
-#
-####
-# Object bunny.obj
-#
-# Vertices: 34835
-# Faces: 69666
-#
-####
-vn -1.346575 -4.896271 -1.811116
-v 1.487000 0.373600 2.257600 0.752941 0.752941 0.752941
-vn -2.353517 -5.669623 -0.379453
-v 1.580300 0.345100 2.185900 0.752941 0.752941 0.752941
-vn -3.331489 -4.818274 -1.725233
-v 1.627500 0.311100 2.226100 0.752941 0.752941 0.752941
-vn -1.350004 -5.092984 -2.572659
-v 1.634300 0.078300 2.435200 0.752941 0.752941 0.752941
-vn -0.345341 -6.207365 -0.638331
-v 1.518000 0.064400 2.539800 0.752941 0.752941 0.752941
-vn -0.502028 -5.478112 -2.233162
-v 1.456800 0.072000 2.520500 0.752941 0.752941 0.752941
-vn -0.637121 -4.539354 -3.023798
-v 1.395300 0.079500 2.501300 0.752941 0.752941 0.752941
-vn 0.020125 -6.238689 -0.400924
-v 1.285000 0.076200 2.597300 0.752941 0.752941 0.752941
-vn -0.945325 -4.954727 -2.552756
-v 1.218100 0.073200 2.586200 0.752941 0.752941 0.752941
-vn -0.135061 -6.270432 -0.376632
-v 1.107900 0.069800 2.682400 0.752941 0.752941 0.752941
-vn -0.549599 -5.461109 -2.200781
-v 1.043500 0.072100 2.667300 0.752941 0.752941 0.752941
-vn -0.610568 -4.638136 -3.359110
-v 0.988000 0.090200 2.639500 0.752941 0.752941 0.752941
-vn -0.063115 -6.185869 -0.886773
-v 0.869300 0.071000 2.747900 0.752941 0.752941 0.752941
-vn -0.522453 -5.461117 -2.364014
-v 0.807900 0.078500 2.728600 0.752941 0.752941 0.752941
-vn -0.186979 -5.610107 -2.236772
-v 0.633400 0.077300 2.809300 0.752941 0.752941 0.752941
-vn 0.104933 -5.129907 -2.304061
-v 0.563300 0.069000 2.802100 0.752941 0.752941 0.752941
-vn -0.313654 -4.721046 -2.073034
-v 0.596200 0.376200 2.535900 0.752941 0.752941 0.752941
-vn -0.652416 -4.604906 -3.471313
-v 0.510400 0.092500 2.770500 0.752941 0.752941 0.752941
-vn 0.270318 -6.253489 -0.475421
-v 0.392500 0.073500 2.877900 0.752941 0.752941 0.752941
-vn -0.543972 -5.416714 -1.904827
-v 0.325900 0.071200 2.866000 0.752941 0.752941 0.752941
-vn -0.529177 -4.712361 -3.181963
-v 0.269900 0.089100 2.838600 0.752941 0.752941 0.752941
-vn 0.164593 -6.255838 -0.535341
-v 0.154200 0.073100 2.941400 0.752941 0.752941 0.752941
-vn -0.148527 -5.472015 -2.074268
-v 0.087700 0.070800 2.929400 0.752941 0.752941 0.752941
-vn -0.283110 -4.842135 -2.628733
-v 0.023800 0.073500 2.913200 0.752941 0.752941 0.752941
-vn -0.189360 -6.273220 -0.298734
-v -0.084000 0.072500 3.004500 0.752941 0.752941 0.752941
-vn -0.080797 -5.736409 -1.892364
-v -0.147900 0.075200 2.988500 0.752941 0.752941 0.752941
-vn 0.438706 -5.376206 -1.933100
-v -0.017600 0.367000 2.648600 0.752941 0.752941 0.752941
-vn 0.621045 -5.126215 -1.764571
-v 0.052000 0.375300 2.655600 0.752941 0.752941 0.752941
-vn 0.504590 -5.578479 -1.924711
-v -0.214200 0.072800 2.976400 0.752941 0.752941 0.752941
-vn 0.473248 -5.571465 -1.654917
-v -0.219100 0.357900 2.615100 0.752941 0.752941 0.752941
-vn 0.736822 -5.747169 -1.421582
-v -0.674600 0.066200 2.884000 0.752941 0.752941 0.752941
-vn 0.998559 -5.223456 -1.573582
-v -0.835800 0.052700 2.747900 0.752941 0.752941 0.752941
-vn 1.733087 -5.108392 -1.837279
-v -0.623500 0.335300 2.551000 0.752941 0.752941 0.752941
-vn -0.103676 -6.252668 0.547260
-v -0.741100 0.063800 2.871700 0.752941 0.752941 0.752941
-vn -0.173072 -6.229100 0.687361
-v -0.804900 0.066400 2.855900 0.752941 0.752941 0.752941
-vn 0.790947 -5.832245 -0.990056
-v -0.899500 0.055400 2.732300 0.752941 0.752941 0.752941
-vn -0.319873 -6.224010 0.575417
-v -0.966000 0.053000 2.720100 0.752941 0.752941 0.752941
-vn 1.342007 -5.313892 -0.825394
-v -0.994100 0.044300 2.608300 0.752941 0.752941 0.752941
-vn -0.645228 -6.208881 0.579963
-v -1.055300 0.052100 2.588700 0.752941 0.752941 0.752941
-vn 1.300535 -5.354733 -1.010988
-v -1.083300 0.043300 2.477000 0.752941 0.752941 0.752941
-vn -0.076650 -6.255035 -0.187202
-v -1.144300 0.051100 2.457500 0.752941 0.752941 0.752941
-vn 2.361990 -5.623356 -0.906716
-v -1.159200 0.067500 2.326600 0.752941 0.752941 0.752941
-vn 3.982127 -4.435106 -0.220889
-v -1.010400 0.227200 2.220100 0.752941 0.752941 0.752941
-vn 1.783025 -5.619010 0.390577
-v -0.911200 0.291200 2.185600 0.752941 0.752941 0.752941
-vn 2.036253 -5.306568 -0.707604
-v -0.884100 0.299700 2.298300 0.752941 0.752941 0.752941
-vn 0.652420 -6.192426 0.546890
-v -0.817300 0.302100 2.310500 0.752941 0.752941 0.752941
-vn 1.387648 -5.130943 -1.629014
-v -0.787100 0.316300 2.418600 0.752941 0.752941 0.752941
-vn 1.440011 -5.767185 -1.441930
-v -0.723000 0.313600 2.434700 0.752941 0.752941 0.752941
-vn 0.989593 -6.165750 0.216503
-v -0.648100 0.331900 2.434600 0.752941 0.752941 0.752941
-vn 0.570066 -5.510625 -1.612911
-v -0.610900 0.063500 2.899600 0.752941 0.752941 0.752941
-vn 0.666255 -5.569387 -1.839717
-v -0.554400 0.342800 2.559300 0.752941 0.752941 0.752941
-vn 0.461678 -5.593730 -2.277379
-v -0.469800 0.083600 2.912600 0.752941 0.752941 0.752941
-vn 0.909842 -5.568046 -1.970208
-v -0.539000 0.076100 2.904200 0.752941 0.752941 0.752941
-vn 0.643698 -5.597113 -1.816634
-v -0.487000 0.345800 2.570500 0.752941 0.752941 0.752941
-vn 0.164720 -5.567540 -2.007680
-v -0.408700 0.075800 2.932300 0.752941 0.752941 0.752941
-vn 0.352289 -5.597385 -1.694317
-v -0.353200 0.351800 2.592800 0.752941 0.752941 0.752941
-vn -0.088681 -5.736596 2.082758
-v -0.152100 0.360900 2.626200 0.752941 0.752941 0.752941
-vn -0.369418 -1.580893 2.951816
-v -0.085000 0.363900 2.637400 0.752941 0.752941 0.752941
-vn 0.288424 -5.580446 -1.884238
-v -0.344600 0.073100 2.948300 0.752941 0.752941 0.752941
-vn 0.576002 -5.570906 -1.655518
-v -0.286100 0.354900 2.604000 0.752941 0.752941 0.752941
-vn -0.702238 -4.482433 -1.943914
-v 0.119000 0.378400 2.666700 0.752941 0.752941 0.752941
-vn -0.110303 -5.675516 -1.413265
-v 0.220700 0.365900 2.583200 0.752941 0.752941 0.752941
-vn -0.297346 -4.693354 -2.105836
-v 0.357600 0.377300 2.601400 0.752941 0.752941 0.752941
-vn 0.324566 -6.226826 0.750516
-v 0.462100 0.370100 2.513600 0.752941 0.752941 0.752941
-vn -0.163350 -5.478781 -1.541008
-v 0.529200 0.373200 2.524800 0.752941 0.752941 0.752941
-vn -0.024927 -6.223534 0.618915
-v 0.700800 0.369000 2.448100 0.752941 0.752941 0.752941
-vn -0.143086 -5.496031 -1.723713
-v 0.765300 0.366700 2.463400 0.752941 0.752941 0.752941
-vn -0.214108 -4.686597 -2.050035
-v 0.834900 0.375000 2.470300 0.752941 0.752941 0.752941
-vn 0.321137 -6.227229 0.748064
-v 0.939600 0.367800 2.382500 0.752941 0.752941 0.752941
-vn 0.017307 -5.489621 -1.674593
-v 1.006600 0.370800 2.393500 0.752941 0.752941 0.752941
-vn -0.231984 -4.668063 -2.057247
-v 1.076500 0.379100 2.400400 0.752941 0.752941 0.752941
-vn 0.321192 -6.226999 0.748986
-v 1.181100 0.371900 2.312400 0.752941 0.752941 0.752941
-vn -0.158876 -5.472498 -1.550710
-v 1.248200 0.374900 2.323500 0.752941 0.752941 0.752941
-vn -0.387549 -4.522632 -2.263290
-v 1.315200 0.377900 2.334600 0.752941 0.752941 0.752941
-vn -0.035618 -6.234802 0.394712
-v 1.423100 0.375900 2.242400 0.752941 0.752941 0.752941
-vn -3.433449 -3.453228 -3.060567
-v 1.663400 0.255500 2.282900 0.752941 0.752941 0.752941
-vn -0.813605 -4.585639 -2.885951
-v 0.746500 0.086100 2.709200 0.752941 0.752941 0.752941
-vn 0.579367 -5.156244 -1.824563
-v 0.290500 0.374300 2.590200 0.752941 0.752941 0.752941
-vn 0.328390 -5.564126 -1.754651
-v -0.280700 0.070400 2.964500 0.752941 0.752941 0.752941
-vn 0.467056 -5.531989 -1.495967
-v -0.417400 0.354200 2.577500 0.752941 0.752941 0.752941
-vn 1.465364 -4.692305 1.564907
-v -2.045800 0.144100 0.695200 0.752941 0.752941 0.752941
-vn 1.896208 -5.320906 0.374283
-v -2.301500 -0.008100 0.895600 0.752941 0.752941 0.752941
-vn 2.965534 -5.165351 1.629761
-v -2.147100 0.077600 0.734500 0.752941 0.752941 0.752941
-vn 1.145655 -5.992819 -0.226489
-v -2.343000 -0.005600 1.000100 0.752941 0.752941 0.752941
-vn -0.108480 -5.124224 0.049788
-v -2.383200 -0.044200 1.255400 0.752941 0.752941 0.752941
-vn -1.158157 -6.025396 -0.595079
-v -2.395100 -0.023400 1.120000 0.752941 0.752941 0.752941
-vn -0.562189 -6.017121 -0.114039
-v -2.322100 -0.015700 1.471700 0.752941 0.752941 0.752941
-vn -3.592773 -4.875356 1.655114
-v -2.352700 -0.029900 1.363600 0.752941 0.752941 0.752941
-vn -0.831187 -6.168524 0.744271
-v -2.294200 -0.006500 1.583600 0.752941 0.752941 0.752941
-vn -0.124210 -6.223145 0.724450
-v -2.202400 -0.000300 1.711500 0.752941 0.752941 0.752941
-vn -0.957269 -5.954725 0.847602
-v -2.268700 -0.002600 1.699300 0.752941 0.752941 0.752941
-vn -0.636235 -6.118070 1.236931
-v -2.107700 0.010900 1.835200 0.752941 0.752941 0.752941
-vn -0.833046 -6.064861 1.301428
-v -2.171700 0.013700 1.819200 0.752941 0.752941 0.752941
-vn -0.122008 -6.174162 0.860885
-v -2.043800 0.008100 1.851000 0.752941 0.752941 0.752941
-vn -0.273829 -6.128368 0.638482
-v -1.913700 0.007600 1.878600 0.752941 0.752941 0.752941
-vn 0.435794 -6.225121 -0.349294
-v -1.739200 0.010300 1.799100 0.752941 0.752941 0.752941
-vn 0.103281 -6.170343 0.922773
-v -1.847000 0.010000 1.890900 0.752941 0.752941 0.752941
-vn 0.266312 -5.953044 -1.261851
-v -1.672600 0.012600 1.811100 0.752941 0.752941 0.752941
-vn 0.778656 -5.950887 -0.993678
-v -1.536700 0.022100 1.831100 0.752941 0.752941 0.752941
-vn 0.296377 -4.814518 -1.065947
-v -1.614100 -0.000300 1.834500 0.752941 0.752941 0.752941
-vn 1.098750 -5.522598 -0.029798
-v -1.381200 0.113200 1.669700 0.752941 0.752941 0.752941
-vn -1.759731 -5.642775 -0.289368
-v -1.239600 0.094900 1.483800 0.752941 0.752941 0.752941
-vn -1.862786 -5.510587 -0.397970
-v -1.277100 0.105100 1.582800 0.752941 0.752941 0.752941
-vn -4.403810 -4.442990 -0.052926
-v -1.220200 0.092600 1.258100 0.752941 0.752941 0.752941
-vn -1.666440 -5.190591 1.043987
-v -1.292400 0.163700 0.947200 0.752941 0.752941 0.752941
-vn -1.892703 -4.131826 -0.803630
-v -1.215700 0.143000 1.097700 0.752941 0.752941 0.752941
-vn -3.756109 -4.491098 1.498949
-v -1.239500 0.140300 0.979100 0.752941 0.752941 0.752941
-vn -3.151265 -4.424556 3.054636
-v -1.386100 0.152800 0.821800 0.752941 0.752941 0.752941
-vn -3.669768 -4.051887 3.097326
-v -1.333100 0.129300 0.853900 0.752941 0.752941 0.752941
-vn -0.771526 -4.856032 1.521968
-v -1.441800 0.170900 0.794100 0.752941 0.752941 0.752941
-vn -1.871953 -4.179935 4.301528
-v -1.555500 0.122900 0.697900 0.752941 0.752941 0.752941
-vn -1.955948 -4.108053 4.330837
-v -1.493800 0.115300 0.717500 0.752941 0.752941 0.752941
-vn -0.819929 -5.097349 2.238173
-v -1.678300 0.138100 0.659300 0.752941 0.752941 0.752941
-vn -0.767906 -4.778641 0.537892
-v -1.616900 0.130500 0.678600 0.752941 0.752941 0.752941
-vn 0.140480 -5.235411 1.880878
-v -1.809700 0.137400 0.633100 0.752941 0.752941 0.752941
-vn -0.068141 -3.727366 0.267665
-v -1.739700 0.145800 0.639900 0.752941 0.752941 0.752941
-vn 0.875309 -4.989322 2.645871
-v -1.949600 0.120900 0.619500 0.752941 0.752941 0.752941
-vn 0.442208 -4.007382 0.101107
-v -1.876800 0.134500 0.622200 0.752941 0.752941 0.752941
-vn -0.098782 -6.196867 0.852498
-v -1.977200 0.010300 1.862900 0.752941 0.752941 0.752941
-vn -1.719561 -5.002737 -0.750548
-v -1.246500 0.124100 1.340300 0.752941 0.752941 0.752941
-vn 0.241099 -4.219190 4.534437
-v 1.841900 0.103900 0.344700 0.752941 0.752941 0.752941
-vn 0.929678 -4.561704 2.488545
-v 1.692300 0.151900 0.390700 0.752941 0.752941 0.752941
-vn 0.105581 -4.764096 4.019231
-v 1.772000 0.095800 0.338000 0.752941 0.752941 0.752941
-vn 1.425845 -3.686975 1.384306
-v 1.592600 0.171000 0.472800 0.752941 0.752941 0.752941
-vn 0.838305 -5.701995 -0.117938
-v 1.401600 0.020900 0.689600 0.752941 0.752941 0.752941
-vn 2.974499 -5.096681 1.069545
-v 1.485500 0.094200 0.520900 0.752941 0.752941 0.752941
-vn 0.305208 -5.407763 -0.754842
-v 1.416600 0.008000 0.821500 0.752941 0.752941 0.752941
-vn -0.256715 -6.169695 1.034082
-v 1.466700 0.019100 1.055700 0.752941 0.752941 0.752941
-vn 0.668970 -6.155227 0.196762
-v 1.566000 0.040800 1.173300 0.752941 0.752941 0.752941
-vn -0.025557 -5.832409 0.754034
-v 1.504600 0.048300 1.154200 0.752941 0.752941 0.752941
-vn -0.264606 -5.978099 0.827843
-v 1.671300 0.073100 1.282600 0.752941 0.752941 0.752941
-vn 0.774596 -5.599041 0.639392
-v 1.606900 0.075400 1.267300 0.752941 0.752941 0.752941
-vn 0.450705 -6.250259 -0.005234
-v 1.735200 0.070800 1.297600 0.752941 0.752941 0.752941
-vn -0.671707 -6.195733 -0.058973
-v 1.823400 0.071300 1.431900 0.752941 0.752941 0.752941
-vn 0.049772 -6.114470 -0.116089
-v 1.761700 0.078900 1.412500 0.752941 0.752941 0.752941
-vn -0.129339 -6.131628 -1.032561
-v 1.884500 0.063700 1.451500 0.752941 0.752941 0.752941
-vn 0.232418 -5.807268 -1.144396
-v 2.007600 0.048500 1.490100 0.752941 0.752941 0.752941
-vn -0.013307 -5.103065 -1.720595
-v 1.940300 0.045600 1.479200 0.752941 0.752941 0.752941
-vn 0.554465 -5.927155 -0.926558
-v 2.141800 0.054500 1.512100 0.752941 0.752941 0.752941
-vn -0.595981 -5.324942 -1.715368
-v 2.306300 0.158100 1.335000 0.752941 0.752941 0.752941
-vn 0.423306 -6.050707 -0.950794
-v 2.211600 0.062700 1.518900 0.752941 0.752941 0.752941
-vn -0.608962 -5.988838 -0.500778
-v 2.466400 0.171600 1.120800 0.752941 0.752941 0.752941
-vn -1.133101 -5.880764 -1.534239
-v 2.417000 0.161100 1.237500 0.752941 0.752941 0.752941
-vn -2.552428 -5.190097 1.416525
-v 2.521500 0.152800 0.796700 0.752941 0.752941 0.752941
-vn -1.888518 -5.492914 0.857566
-v 2.431100 0.145900 0.665000 0.752941 0.752941 0.752941
-vn -3.632982 -4.289270 2.499438
-v 2.481300 0.117200 0.701400 0.752941 0.752941 0.752941
-vn -3.080717 -4.846772 2.467783
-v 2.346600 0.149500 0.524700 0.752941 0.752941 0.752941
-vn -3.022276 -5.116533 1.796890
-v 2.402400 0.131300 0.552700 0.752941 0.752941 0.752941
-vn -1.443613 -4.869610 1.458790
-v 2.293700 0.172900 0.492800 0.752941 0.752941 0.752941
-vn -2.624264 -4.661932 3.248366
-v 2.192000 0.144900 0.377800 0.752941 0.752941 0.752941
-vn -3.028666 -4.174555 3.073793
-v 2.245000 0.121500 0.410000 0.752941 0.752941 0.752941
-vn -0.712902 -5.265268 1.560950
-v 2.133400 0.157700 0.354300 0.752941 0.752941 0.752941
-vn 0.479538 -5.199322 2.483122
-v 1.914800 0.117400 0.347100 0.752941 0.752941 0.752941
-vn 0.344860 -5.521228 -0.259294
-v 1.434500 0.000300 0.949100 0.752941 0.752941 0.752941
-vn 0.422618 -5.940075 -0.981709
-v 2.074500 0.051400 1.500900 0.752941 0.752941 0.752941
-vn -1.165737 -5.033582 -0.162174
-v 2.518400 0.187500 0.999600 0.752941 0.752941 0.752941
-vn -4.081072 -4.660796 0.855626
-v 2.542100 0.150500 0.920600 0.752941 0.752941 0.752941
-vn 1.210290 -5.238975 2.075328
-v 1.987700 0.130900 0.349500 0.752941 0.752941 0.752941
-vn 0.563148 -3.426061 0.452725
-v 2.072000 0.165400 0.335000 0.752941 0.752941 0.752941
-vn 2.437919 -5.556033 -0.819669
-v -1.588800 0.024400 -0.154700 0.752941 0.752941 0.752941
-vn 2.386209 -5.541445 -0.124791
-v -1.612200 0.021200 -0.274800 0.752941 0.752941 0.752941
-vn 4.643784 -4.106318 0.212215
-v -1.470700 0.161100 -0.373800 0.752941 0.752941 0.752941
-vn 1.686400 -3.848125 -0.169621
-v -1.367400 0.312200 -0.371800 0.752941 0.752941 0.752941
-vn -1.187053 -5.662265 0.463369
-v -1.314500 0.288800 -0.339700 0.752941 0.752941 0.752941
-vn 1.843745 -5.308090 -0.873498
-v -1.285500 0.302700 -0.227900 0.752941 0.752941 0.752941
-vn 0.071818 -6.277906 -0.032979
-v -1.221200 0.300400 -0.212700 0.752941 0.752941 0.752941
-vn 1.773879 -5.430419 -1.257476
-v -1.200800 0.298400 -0.088400 0.752941 0.752941 0.752941
-vn 0.037912 -6.264095 -0.094647
-v -1.136300 0.296100 -0.073100 0.752941 0.752941 0.752941
-vn 1.479895 -5.307483 -1.397866
-v -1.113000 0.299000 0.045900 0.752941 0.752941 0.752941
-vn -0.212677 -6.192773 0.054057
-v -1.051500 0.291300 0.065200 0.752941 0.752941 0.752941
-vn 0.545763 -6.242543 -0.328388
-v -0.981400 0.299600 0.071900 0.752941 0.752941 0.752941
-vn 1.563189 -5.527392 -1.508888
-v -0.963600 0.291900 0.199400 0.752941 0.752941 0.752941
-vn 0.222983 -6.246993 -0.296829
-v -0.899200 0.289600 0.214700 0.752941 0.752941 0.752941
-vn 1.980381 -5.410993 -1.363719
-v -0.878500 0.287200 0.337800 0.752941 0.752941 0.752941
-vn 0.096867 -6.265069 -0.395997
-v -0.811300 0.290100 0.348800 0.752941 0.752941 0.752941
-vn 1.780470 -5.422529 -1.316572
-v -0.793500 0.282300 0.476100 0.752941 0.752941 0.752941
-vn 0.224199 -6.246449 -0.094596
-v -0.729000 0.280100 0.491300 0.752941 0.752941 0.752941
-vn 1.760956 -5.545590 -0.928586
-v -0.705400 0.282800 0.610400 0.752941 0.752941 0.752941
-vn 2.202838 -5.264506 -0.604033
-v -0.645500 0.270000 0.983600 0.752941 0.752941 0.752941
-vn 2.550564 -5.233571 -0.346828
-v -0.867500 0.020800 1.046400 0.752941 0.752941 0.752941
-vn 3.046129 -5.187945 -0.492632
-v -0.885700 0.028600 0.919200 0.752941 0.752941 0.752941
-vn 2.273405 -5.468798 0.093916
-v -0.627400 0.262200 1.110700 0.752941 0.752941 0.752941
-vn 4.508687 -4.072521 1.197115
-v -0.774400 0.111100 1.216700 0.752941 0.752941 0.752941
-vn 3.172545 -4.995794 0.410907
-v -0.835100 0.039600 1.152500 0.752941 0.752941 0.752941
-vn 2.824889 -5.085536 -0.840230
-v -0.912300 0.020600 0.804600 0.752941 0.752941 0.752941
-vn 0.569532 -6.228219 -0.089829
-v -0.984900 0.007100 0.802200 0.752941 0.752941 0.752941
-vn 1.685250 -5.408309 -1.058150
-v -1.008700 0.004300 0.683600 0.752941 0.752941 0.752941
-vn 0.030125 -6.279954 -0.001302
-v -1.073000 0.006600 0.668400 0.752941 0.752941 0.752941
-vn 2.126383 -5.408771 -1.272275
-v -1.094000 0.009100 0.545100 0.752941 0.752941 0.752941
-vn 0.308638 -6.252843 -0.105156
-v -1.163900 0.000900 0.538600 0.752941 0.752941 0.752941
-vn 1.848944 -5.319168 -1.440023
-v -1.184800 0.003400 0.415600 0.752941 0.752941 0.752941
-vn 0.284877 -6.274933 -0.045396
-v -1.252000 0.000400 0.404400 0.752941 0.752941 0.752941
-vn 0.080523 -6.275226 -0.066373
-v -1.318900 -0.002500 0.393500 0.752941 0.752941 0.752941
-vn 1.587014 -5.516605 -1.411859
-v -1.339900 -0.000000 0.270400 0.752941 0.752941 0.752941
-vn 0.357357 -6.225995 -0.487387
-v -1.406900 -0.003000 0.259700 0.752941 0.752941 0.752941
-vn 2.131481 -5.355605 -1.760673
-v -1.416500 0.020600 0.119600 0.752941 0.752941 0.752941
-vn 0.907296 -6.120554 -1.043789
-v -1.486200 0.012400 0.112900 0.752941 0.752941 0.752941
-vn 2.862100 -5.200539 -1.745150
-v -1.489800 0.046300 -0.036500 0.752941 0.752941 0.752941
-vn 1.403644 -6.027287 -0.594991
-v -1.573800 0.011800 -0.022100 0.752941 0.752941 0.752941
-vn 2.424137 -5.267082 -0.514697
-v -0.666500 0.272500 0.860700 0.752941 0.752941 0.752941
-vn 2.422829 -5.265109 -0.552771
-v -0.687400 0.275000 0.737700 0.752941 0.752941 0.752941
-vn -5.492933 2.945024 -0.659619
-v -4.862100 6.357800 1.272900 0.752941 0.752941 0.752941
-vn -5.697850 2.599910 -0.353884
-v -4.853400 6.356800 1.208600 0.752941 0.752941 0.752941
-vn -5.716082 2.383349 -1.034002
-v -4.891200 6.269400 1.209100 0.752941 0.752941 0.752941
-vn -4.659210 -3.841384 1.381348
-v -4.530600 4.942200 1.281900 0.752941 0.752941 0.752941
-vn -3.716322 -4.932711 1.142775
-v -4.646100 5.037000 1.280200 0.752941 0.752941 0.752941
-vn -4.580485 -4.152063 0.631073
-v -4.548299 4.946300 1.216100 0.752941 0.752941 0.752941
-vn -5.733068 2.521781 0.342153
-v -4.573800 4.596500 1.024500 0.752941 0.752941 0.752941
-vn -5.810776 2.341819 0.401249
-v -4.534999 4.682300 1.024000 0.752941 0.752941 0.752941
-vn -5.763439 2.475019 -0.272375
-v -4.535900 4.682100 0.959900 0.752941 0.752941 0.752941
-vn -5.782641 2.440898 -0.143314
-v -4.574200 4.596300 0.960300 0.752941 0.752941 0.752941
-vn -4.286452 2.937385 -1.874303
-v -0.953100 1.123600 -0.762000 0.752941 0.752941 0.752941
-vn -4.743995 2.962194 -1.772673
-v -0.985500 1.127100 -0.701400 0.752941 0.752941 0.752941
-vn -5.704773 0.182963 -2.568018
-v -0.970200 1.216300 -0.703400 0.752941 0.752941 0.752941
-vn -5.521178 0.191446 -2.855556
-v -4.627200 6.974600 0.884800 0.752941 0.752941 0.752941
-vn -4.965230 -0.427869 -3.648119
-v -4.666699 6.975600 0.952100 0.752941 0.752941 0.752941
-vn -5.100873 -1.588987 -2.993136
-v -4.632999 7.063000 0.881700 0.752941 0.752941 0.752941
-vn -0.569899 1.314488 -6.079494
-v -1.161900 4.639700 -1.218100 0.752941 0.752941 0.752941
-vn 0.680338 1.679359 -5.964670
-v -1.162000 4.732200 -1.203400 0.752941 0.752941 0.752941
-vn -0.893282 2.209268 -5.773489
-v -1.097400 4.640300 -1.225900 0.752941 0.752941 0.752941
-vn -0.747896 0.891228 -6.173782
-v -1.030200 3.819900 -1.452200 0.752941 0.752941 0.752941
-vn -0.554490 0.944119 -6.183654
-v -1.094500 3.819000 -1.444600 0.752941 0.752941 0.752941
-vn -0.766807 1.188212 -6.117409
-v -1.030800 3.911700 -1.437700 0.752941 0.752941 0.752941
-vn -5.476261 -1.539013 -0.707429
-v -4.457900 4.860600 0.766400 0.752941 0.752941 0.752941
-vn -5.822673 -0.947159 -0.432743
-v -4.452899 4.853100 0.701600 0.752941 0.752941 0.752941
-vn -6.094373 1.401642 -0.225122
-v -4.467000 4.765900 0.702200 0.752941 0.752941 0.752941
-vn -5.623649 2.543917 -1.111625
-v -4.505700 4.680000 0.767000 0.752941 0.752941 0.752941
-vn -5.800666 2.264958 -0.814151
-v -4.497200 4.679000 0.702800 0.752941 0.752941 0.752941
-vn -5.606041 2.491030 -1.347671
-v -4.534699 4.592900 0.703500 0.752941 0.752941 0.752941
-vn -4.673354 1.151939 -4.008565
-v -4.517499 7.413600 0.630400 0.752941 0.752941 0.752941
-vn -4.949326 0.693590 -3.753613
-v -4.465199 7.413900 0.563500 0.752941 0.752941 0.752941
-vn -4.597397 -0.182649 -4.261828
-v -4.466000 7.326200 0.563700 0.752941 0.752941 0.752941
-vn -4.415343 0.445717 -4.434018
-v -4.532700 7.326300 0.631100 0.752941 0.752941 0.752941
-vn -1.494722 5.984231 -1.182599
-v -0.038500 6.056100 0.401300 0.752941 0.752941 0.752941
-vn -1.609509 5.978232 -1.067861
-v 0.041600 6.082300 0.430800 0.752941 0.752941 0.752941
-vn -1.618031 5.938735 -1.234495
-v 0.069400 6.076000 0.347500 0.752941 0.752941 0.752941
-vn -1.548250 5.976640 -1.151085
-v 0.154300 6.104300 0.379100 0.752941 0.752941 0.752941
-vn -1.580226 5.882363 -1.531567
-v 0.122800 6.070900 0.267900 0.752941 0.752941 0.752941
-vn -1.449397 6.059176 -0.779836
-v -0.066200 6.062700 0.484500 0.752941 0.752941 0.752941
-vn -1.626942 5.997511 -0.779200
-v 0.018400 6.092900 0.515500 0.752941 0.752941 0.752941
-vn -1.481323 6.094251 -0.353539
-v 0.226500 6.156800 0.685100 0.752941 0.752941 0.752941
-vn -1.552329 6.074132 -0.389628
-v 0.191600 6.151100 0.765600 0.752941 0.752941 0.752941
-vn -1.480601 6.085146 -0.493496
-v 0.272900 6.173900 0.795100 0.752941 0.752941 0.752941
-vn -1.578088 6.064842 -0.437094
-v 0.160600 6.150500 0.847300 0.752941 0.752941 0.752941
-vn -1.622411 6.055325 -0.109488
-v 0.130000 6.148000 0.929300 0.752941 0.752941 0.752941
-vn -1.559722 6.085731 -0.056831
-v 0.207000 6.166500 0.957400 0.752941 0.752941 0.752941
-vn -1.405786 6.110007 -0.410291
-v 0.303500 6.175800 0.713300 0.752941 0.752941 0.752941
-vn -1.332891 6.121424 -0.475728
-v 0.334200 6.177000 0.631600 0.752941 0.752941 0.752941
-vn -1.410405 6.095162 -0.545973
-v 0.257000 6.158400 0.603300 0.752941 0.752941 0.752941
-vn -1.531796 6.069758 -0.339115
-v 0.246200 6.176400 0.878200 0.752941 0.752941 0.752941
-vn -1.516835 6.072353 -0.542110
-v -0.097600 6.063600 0.566500 0.752941 0.752941 0.752941
-vn -1.717218 6.024426 -0.480131
-v -0.017000 6.088400 0.596000 0.752941 0.752941 0.752941
-vn -1.303903 6.120188 -0.538687
-v 0.365200 6.177400 0.550100 0.752941 0.752941 0.752941
-vn -1.526054 6.083171 -0.341619
-v -0.128500 6.061800 0.648700 0.752941 0.752941 0.752941
-vn -1.631139 6.053484 -0.401203
-v -0.047600 6.086500 0.678200 0.752941 0.752941 0.752941
-vn -1.523548 6.075308 -0.369448
-v -0.163400 6.055900 0.729500 0.752941 0.752941 0.752941
-vn -1.652774 6.050869 -0.320512
-v -0.078000 6.083300 0.760200 0.752941 0.752941 0.752941
-vn -1.452112 6.087083 -0.429832
-v -0.190000 6.059100 0.813100 0.752941 0.752941 0.752941
-vn -1.497401 6.091982 -0.306003
-v -0.112700 6.077100 0.841100 0.752941 0.752941 0.752941
-vn -1.591345 6.075583 0.023273
-v -0.224600 6.051800 0.894000 0.752941 0.752941 0.752941
-vn -1.524470 6.083671 -0.048927
-v -0.143400 6.074700 0.923400 0.752941 0.752941 0.752941
-vn -1.746551 6.009578 0.512141
-v -0.263100 6.038100 0.974500 0.752941 0.752941 0.752941
-vn -1.848106 5.994095 0.324820
-v -0.181800 6.060700 1.003600 0.752941 0.752941 0.752941
-vn -1.419479 5.954638 -1.407459
-v 0.467900 6.140700 0.215700 0.752941 0.752941 0.752941
-vn -1.196377 6.009088 -1.350422
-v 0.447500 6.159200 0.301500 0.752941 0.752941 0.752941
-vn -1.203079 6.027333 -1.301692
-v 0.548600 6.164500 0.245800 0.752941 0.752941 0.752941
-vn -1.442190 6.002614 -1.167362
-v 0.343400 6.145800 0.356000 0.752941 0.752941 0.752941
-vn -1.428952 6.056180 -0.848327
-v 0.315400 6.153800 0.438600 0.752941 0.752941 0.752941
-vn -1.248420 6.058738 -1.042457
-v 0.423700 6.171200 0.385700 0.752941 0.752941 0.752941
-vn 2.947422 5.375148 1.324901
-v -3.330800 8.816300 -2.020400 0.752941 0.752941 0.752941
-vn 2.683317 5.424098 1.541157
-v -3.361800 8.813000 -1.940500 0.752941 0.752941 0.752941
-vn 3.313676 5.134882 1.453408
-v -3.280100 8.779700 -2.002100 0.752941 0.752941 0.752941
-vn -1.938227 5.916460 0.819208
-v -4.136300 7.796600 1.529001 0.752941 0.752941 0.752941
-vn -1.955254 5.870100 1.065090
-v -4.185999 7.764800 1.608400 0.752941 0.752941 0.752941
-vn -2.019350 5.861175 0.996919
-v -4.105800 7.790500 1.635600 0.752941 0.752941 0.752941
-vn 3.583396 4.981925 1.293999
-v -3.249200 8.781500 -2.082900 0.752941 0.752941 0.752941
-vn 3.142725 5.275750 1.299052
-v -3.299300 8.818400 -2.101500 0.752941 0.752941 0.752941
-vn 5.182084 3.318307 1.256552
-v -2.018500 6.564000 1.276300 0.752941 0.752941 0.752941
-vn 5.346957 3.192950 0.795194
-v -1.993600 6.551500 1.190000 0.752941 0.752941 0.752941
-vn 5.376311 3.051937 1.077568
-v -2.005500 6.562600 1.219100 0.752941 0.752941 0.752941
-vn 3.171599 5.166324 1.639891
-v -3.312200 8.776600 -1.921700 0.752941 0.752941 0.752941
-vn -1.393960 6.091709 -0.641547
-v 0.284000 6.154600 0.520100 0.752941 0.752941 0.752941
-vn -1.286524 6.132747 -0.201138
-v -3.983200 7.857200 1.204301 0.752941 0.752941 0.752941
-vn -1.577051 6.054987 0.258852
-v -4.018099 7.849800 1.286600 0.752941 0.752941 0.752941
-vn -0.931815 6.167103 0.304569
-v -3.940000 7.865800 1.313300 0.752941 0.752941 0.752941
-vn -1.321738 6.098907 -0.688683
-v 0.396300 6.176700 0.468700 0.752941 0.752941 0.752941
-vn -1.896368 5.926075 0.843463
-v -0.304100 6.014500 1.054100 0.752941 0.752941 0.752941
-vn -2.106024 5.883032 0.649770
-v -0.223600 6.039500 1.083200 0.752941 0.752941 0.752941
-vn -5.592420 -2.337630 -1.556773
-v -4.849100 5.302900 0.763700 0.752941 0.752941 0.752941
-vn -5.902041 -1.155481 -1.344126
-v -4.879600 5.390100 0.763100 0.752941 0.752941 0.752941
-vn -5.784449 -1.230718 -1.979717
-v -4.857800 5.389300 0.698500 0.752941 0.752941 0.752941
-vn -1.976293 5.859632 1.086227
-v -0.349400 5.986800 1.132300 0.752941 0.752941 0.752941
-vn -2.153332 5.795053 1.049029
-v -0.264300 6.015600 1.162000 0.752941 0.752941 0.752941
-vn -1.939858 5.811963 1.381407
-v -0.393900 5.956800 1.210200 0.752941 0.752941 0.752941
-vn -2.101237 5.754649 1.377603
-v -0.312600 5.980100 1.238900 0.752941 0.752941 0.752941
-vn -1.930655 5.693275 1.816773
-v -0.447000 5.918000 1.287000 0.752941 0.752941 0.752941
-vn -2.236727 5.620322 1.690129
-v -0.365100 5.939200 1.315200 0.752941 0.752941 0.752941
-vn -1.631154 5.679975 2.127798
-v -0.498600 5.874500 1.362900 0.752941 0.752941 0.752941
-vn -2.158486 5.463041 2.205116
-v -0.425600 5.886800 1.390500 0.752941 0.752941 0.752941
-vn -1.634786 5.593231 2.305381
-v -0.550600 5.832000 1.439000 0.752941 0.752941 0.752941
-vn -1.525548 5.631033 2.307641
-v -0.480100 5.836400 1.464700 0.752941 0.752941 0.752941
-vn -1.699687 5.608785 2.193973
-v -0.610000 5.777200 1.513400 0.752941 0.752941 0.752941
-vn -1.672593 5.673265 2.110081
-v -0.539300 5.793500 1.537500 0.752941 0.752941 0.752941
-vn -5.722556 1.428138 2.107078
-v -4.592999 4.250800 1.540000 0.752941 0.752941 0.752941
-vn -5.578923 1.863369 2.197378
-v -4.566000 4.337300 1.540600 0.752941 0.752941 0.752941
-vn -5.667527 1.824394 1.908027
-v -4.592500 4.337100 1.475000 0.752941 0.752941 0.752941
-vn -2.970942 -0.412420 -5.266515
-v -1.179100 3.406900 -1.477900 0.752941 0.752941 0.752941
-vn -2.912871 -0.879632 -5.461947
-v -1.220200 3.448200 -1.453500 0.752941 0.752941 0.752941
-vn -2.048736 0.305575 -5.909072
-v -1.158600 3.450400 -1.483200 0.752941 0.752941 0.752941
-vn -1.015684 6.136948 -0.751448
-v -3.830000 7.853700 0.788000 0.752941 0.752941 0.752941
-vn -1.126457 6.157490 -0.532383
-v -3.861600 7.854600 0.870800 0.752941 0.752941 0.752941
-vn -0.730804 6.201120 -0.674581
-v -3.756000 7.865600 0.813900 0.752941 0.752941 0.752941
-vn 2.463040 5.499623 1.669987
-v -3.395700 8.804700 -1.860800 0.752941 0.752941 0.752941
-vn 3.000090 5.305179 1.476406
-v -3.345900 8.768800 -1.842100 0.752941 0.752941 0.752941
-vn 1.389678 0.008322 6.119258
-v -0.333300 0.336400 3.568800 0.752941 0.752941 0.752941
-vn 1.003434 0.155618 6.194885
-v -0.400300 0.333700 3.581700 0.752941 0.752941 0.752941
-vn 0.620958 0.072829 6.231545
-v -0.398900 0.243100 3.587800 0.752941 0.752941 0.752941
-vn 0.395655 6.266562 -0.011502
-v -3.468600 7.854300 0.446800 0.752941 0.752941 0.752941
-vn 0.724758 6.229365 -0.322105
-v -3.401700 7.849600 0.471000 0.752941 0.752941 0.752941
-vn 1.189627 6.165160 0.011247
-v -3.374000 7.843500 0.387100 0.752941 0.752941 0.752941
-vn -0.757034 6.102168 -1.279564
-v 0.885000 6.226900 0.278600 0.752941 0.752941 0.752941
-vn -0.646090 6.120602 -1.229235
-v 0.962500 6.242500 0.307600 0.752941 0.752941 0.752941
-vn -0.596268 6.055783 -1.561489
-v 0.985400 6.223300 0.219200 0.752941 0.752941 0.752941
-vn -5.368030 -3.104805 0.820348
-v -4.223700 2.654700 0.648500 0.752941 0.752941 0.752941
-vn -5.234338 -3.434148 0.218911
-v -4.233200 2.653800 0.584000 0.752941 0.752941 0.752941
-vn -5.271607 -3.338610 -0.218517
-v -4.184000 2.564600 0.584600 0.752941 0.752941 0.752941
-vn -5.771379 -2.393527 -0.485797
-v -4.611800 3.465700 0.645200 0.752941 0.752941 0.752941
-vn -5.980922 -1.848368 -0.036823
-v -4.611700 3.465200 0.580800 0.752941 0.752941 0.752941
-vn -5.516769 -2.915121 0.622550
-v -4.574600 3.377200 0.580800 0.752941 0.752941 0.752941
-vn 2.724971 2.484501 -5.085698
-v 2.400200 3.790700 -1.443700 0.752941 0.752941 0.752941
-vn 2.577818 2.427691 -5.183554
-v 2.457700 3.770700 -1.421400 0.752941 0.752941 0.752941
-vn 2.762853 2.381213 -5.114515
-v 2.392000 3.709200 -1.487000 0.752941 0.752941 0.752941
-vn -3.518316 2.669997 4.312915
-v -2.822000 0.630800 2.877700 0.752941 0.752941 0.752941
-vn -2.675183 2.578410 4.988663
-v -2.765800 0.630800 2.913200 0.752941 0.752941 0.752941
-vn -3.355424 3.715006 3.616652
-v -2.788300 0.713200 2.841300 0.752941 0.752941 0.752941
-vn -6.211506 -0.672801 -0.554960
-v -4.638100 3.900800 0.707100 0.752941 0.752941 0.752941
-vn -6.181482 -0.461302 -0.440100
-v -4.640100 3.901000 0.770900 0.752941 0.752941 0.752941
-vn -6.173810 -0.787880 -0.637665
-v -4.654300 3.988600 0.706200 0.752941 0.752941 0.752941
-vn -1.410411 6.094376 0.579206
-v -3.982700 7.847400 1.393500 0.752941 0.752941 0.752941
-vn -1.521248 6.080223 0.386309
-v -4.060800 7.829700 1.366701 0.752941 0.752941 0.752941
-vn -1.289789 6.126998 0.516986
-v -4.020899 7.831900 1.474800 0.752941 0.752941 0.752941
-vn 5.331364 3.159686 0.912773
-v -2.332600 7.621900 1.232500 0.752941 0.752941 0.752941
-vn 5.353915 3.161312 0.863696
-v -2.355600 7.635500 1.317101 0.752941 0.752941 0.752941
-vn 5.682776 2.365797 1.051435
-v -2.322100 7.569300 1.331200 0.752941 0.752941 0.752941
-vn 5.628480 2.672799 -0.248936
-v 4.946100 2.289500 0.946100 0.752941 0.752941 0.752941
-vn 5.668190 2.577182 -0.540923
-v 4.940499 2.290200 0.881200 0.752941 0.752941 0.752941
-vn 5.162557 3.525270 -0.360956
-v 4.906300 2.352300 0.905400 0.752941 0.752941 0.752941
-vn 2.233161 5.073754 2.930094
-v -3.523700 9.255900 -2.924799 0.752941 0.752941 0.752941
-vn 2.691164 4.832880 2.978550
-v -3.474100 9.218300 -2.906699 0.752941 0.752941 0.752941
-vn 2.756275 4.645619 3.207066
-v -3.431100 9.244000 -2.984900 0.752941 0.752941 0.752941
-vn -5.487511 -2.276679 -1.970887
-v -4.828100 5.301600 0.699100 0.752941 0.752941 0.752941
-vn -1.037987 6.143826 -0.788779
-v -3.806200 7.843200 0.702401 0.752941 0.752941 0.752941
-vn -0.767923 6.191259 -0.737660
-v -3.727900 7.857600 0.730100 0.752941 0.752941 0.752941
-vn -1.922055 5.518262 2.285977
-v -0.661900 5.734000 1.589800 0.752941 0.752941 0.752941
-vn -1.799938 5.629766 2.076434
-v -0.584800 5.753400 1.617700 0.752941 0.752941 0.752941
-vn -4.457874 -4.407672 0.040844
-v -4.353600 2.841300 0.905400 0.752941 0.752941 0.752941
-vn -5.076622 -3.555382 -0.307070
-v -4.438399 2.934400 0.904900 0.752941 0.752941 0.752941
-vn -5.150738 -3.452692 -0.552587
-v -4.431099 2.933100 0.840500 0.752941 0.752941 0.752941
-vn -1.208114 5.517271 2.320383
-v -0.724600 5.673400 1.663800 0.752941 0.752941 0.752941
-vn -2.159408 5.368283 2.382924
-v -0.640100 5.703300 1.692900 0.752941 0.752941 0.752941
-vn 0.008743 5.796791 2.370602
-v -0.769900 5.644500 1.742500 0.752941 0.752941 0.752941
-vn -1.380535 5.621286 2.358144
-v -0.703100 5.642100 1.766900 0.752941 0.752941 0.752941
-vn 0.154732 5.555681 2.875054
-v -0.822000 5.607200 1.821800 0.752941 0.752941 0.752941
-vn -0.754728 5.658745 2.612100
-v -0.755800 5.601900 1.844800 0.752941 0.752941 0.752941
-vn -4.895762 -3.737860 0.530455
-v -4.249400 2.743000 0.841300 0.752941 0.752941 0.752941
-vn -4.883650 -3.736449 0.094422
-v -4.246300 2.745500 0.905800 0.752941 0.752941 0.752941
-vn -4.611759 -4.245813 -0.010680
-v -4.353199 2.841100 0.840800 0.752941 0.752941 0.752941
-vn -1.413008 4.686442 3.882000
-v -1.595000 8.778100 0.182200 0.752941 0.752941 0.752941
-vn -1.879533 5.001070 3.291756
-v -1.667900 8.770000 0.155700 0.752941 0.752941 0.752941
-vn -1.055131 4.495558 4.190640
-v -1.664500 8.700400 0.250300 0.752941 0.752941 0.752941
-vn -5.293928 3.246335 -0.926698
-v -4.642099 6.617400 0.627800 0.752941 0.752941 0.752941
-vn -5.179019 3.341578 -1.199864
-v -4.628300 6.617000 0.563400 0.752941 0.752941 0.752941
-vn -5.345695 2.938602 -1.117169
-v -4.692299 6.528400 0.564100 0.752941 0.752941 0.752941
-vn -1.297626 5.977498 -1.417285
-v 0.367000 6.134200 0.271600 0.752941 0.752941 0.752941
-vn -6.092537 -1.490421 0.066208
-v -4.683599 3.643000 1.029800 0.752941 0.752941 0.752941
-vn -6.118968 -1.176141 -0.088757
-v -4.687699 3.643500 0.965500 0.752941 0.752941 0.752941
-vn -5.988405 -1.795026 0.470117
-v -4.663599 3.556700 0.966100 0.752941 0.752941 0.752941
-vn 0.283841 5.374000 3.201384
-v -0.875100 5.565800 1.899700 0.752941 0.752941 0.752941
-vn -0.505231 5.410719 3.132991
-v -0.807700 5.558800 1.921500 0.752941 0.752941 0.752941
-vn -2.352171 5.282784 2.350598
-v -0.306400 5.832600 1.621700 0.752941 0.752941 0.752941
-vn -1.788471 5.637095 2.119246
-v -0.363100 5.785900 1.697200 0.752941 0.752941 0.752941
-vn -2.208446 5.476476 2.116868
-v -0.285200 5.802000 1.724600 0.752941 0.752941 0.752941
-vn 0.584569 -5.876713 -2.128970
-v -3.310200 7.034100 -0.661900 0.752941 0.752941 0.752941
-vn 1.022973 -5.854247 -2.023412
-v -3.233800 7.078500 -0.760800 0.752941 0.752941 0.752941
-vn 1.452283 -5.640630 -2.243444
-v -3.181900 7.073200 -0.723300 0.752941 0.752941 0.752941
-vn 0.090199 5.000856 3.774644
-v -0.870700 5.501600 1.999400 0.752941 0.752941 0.752941
-vn -3.402081 -4.973688 -0.781133
-v -3.563800 7.302700 -1.438599 0.752941 0.752941 0.752941
-vn -1.967153 -5.766047 -0.557990
-v -3.502300 7.275900 -1.449000 0.752941 0.752941 0.752941
-vn -3.917978 -4.728374 -1.038891
-v -3.577000 7.308200 -1.373800 0.752941 0.752941 0.752941
-vn -0.013557 -4.698457 -4.127988
-v -0.055000 8.295000 -0.899100 0.752941 0.752941 0.752941
-vn 0.240581 -4.945168 -3.860258
-v 0.004900 8.281000 -0.874600 0.752941 0.752941 0.752941
-vn 0.504945 -5.117065 -3.534313
-v -0.050200 8.221000 -0.806400 0.752941 0.752941 0.752941
-vn 3.368556 5.256872 0.624171
-v -2.463200 7.766100 1.176100 0.752941 0.752941 0.752941
-vn 2.710700 5.554278 0.147263
-v -2.515000 7.804100 1.163301 0.752941 0.752941 0.752941
-vn 3.311238 5.316954 0.386204
-v -2.490200 7.775900 1.265401 0.752941 0.752941 0.752941
-vn -5.756464 0.699528 -2.251731
-v -4.398700 4.848000 0.444500 0.752941 0.752941 0.752941
-vn -5.633736 0.728310 -2.414528
-v -4.367199 4.847600 0.380400 0.752941 0.752941 0.752941
-vn -5.441731 1.787646 -2.581160
-v -4.395800 4.760300 0.381200 0.752941 0.752941 0.752941
-vn 3.878038 -4.621087 -1.726484
-v -3.187500 7.504700 -2.198600 0.752941 0.752941 0.752941
-vn 3.837148 -4.730270 -1.478291
-v -3.222400 7.495100 -2.260800 0.752941 0.752941 0.752941
-vn 4.528702 -3.961662 -1.711670
-v -3.140600 7.571300 -2.259000 0.752941 0.752941 0.752941
-vn -2.407367 3.534047 4.353032
-v -2.736900 0.713200 2.880700 0.752941 0.752941 0.752941
-vn -1.772398 4.865166 3.450628
-v -2.678300 0.792900 2.819900 0.752941 0.752941 0.752941
-vn -2.462202 4.793189 3.001058
-v -2.734600 0.793800 2.785500 0.752941 0.752941 0.752941
-vn 1.439300 6.063523 0.706898
-v -3.406300 7.856100 0.281100 0.752941 0.752941 0.752941
-vn 1.641283 6.058707 0.195676
-v -3.346400 7.837700 0.303000 0.752941 0.752941 0.752941
-vn 2.260461 5.816645 0.651020
-v -3.318400 7.833900 0.219400 0.752941 0.752941 0.752941
-vn -6.155039 0.064209 -0.965107
-v -4.659299 3.902800 0.900000 0.752941 0.752941 0.752941
-vn -6.063441 0.356677 -1.086927
-v -4.667600 3.903400 0.964300 0.752941 0.752941 0.752941
-vn -6.164063 -0.962645 -0.707737
-v -4.669799 3.990400 0.899300 0.752941 0.752941 0.752941
-vn -5.874945 1.308592 1.801251
-v -4.611599 4.252100 1.476900 0.752941 0.752941 0.752941
-vn 4.623688 3.269069 2.690453
-v -2.227100 6.505600 1.959700 0.752941 0.752941 0.752941
-vn 4.330998 3.132012 3.294909
-v -2.254900 6.457300 2.050200 0.752941 0.752941 0.752941
-vn 4.580515 3.156401 2.914536
-v -2.215400 6.456500 1.993800 0.752941 0.752941 0.752941
-vn -1.623959 5.942042 1.234720
-v 0.162400 6.104800 1.409500 0.752941 0.752941 0.752941
-vn -1.916147 5.799726 1.463960
-v 0.118200 6.074500 1.487000 0.752941 0.752941 0.752941
-vn -1.803594 5.865458 1.333181
-v 0.195200 6.092900 1.515100 0.752941 0.752941 0.752941
-vn -6.256433 -0.374124 0.315548
-v -4.767499 6.711500 1.335500 0.752941 0.752941 0.752941
-vn -6.246910 -0.404274 -0.393765
-v -4.766300 6.711400 1.271400 0.752941 0.752941 0.752941
-vn -6.263628 0.170103 -0.147280
-v -4.766500 6.622500 1.271700 0.752941 0.752941 0.752941
-vn -5.280339 -2.138894 2.474157
-v -4.404699 3.022600 1.418200 0.752941 0.752941 0.752941
-vn -5.613164 -1.451248 2.330756
-v -4.430300 3.110000 1.418500 0.752941 0.752941 0.752941
-vn -5.613069 -2.071995 1.761691
-v -4.428599 3.023500 1.353900 0.752941 0.752941 0.752941
-vn -5.498822 2.312929 1.954363
-v -4.534699 4.422600 1.539900 0.752941 0.752941 0.752941
-vn -5.479534 2.363933 1.957420
-v -4.557000 4.423200 1.475400 0.752941 0.752941 0.752941
-vn -0.613293 6.200784 0.695739
-v 0.738200 6.243900 1.336100 0.752941 0.752941 0.752941
-vn -1.008394 6.175688 0.567690
-v 0.664000 6.234400 1.309400 0.752941 0.752941 0.752941
-vn -0.853799 6.154307 0.857004
-v 0.700100 6.230300 1.415800 0.752941 0.752941 0.752941
-vn -5.902146 0.114486 -2.115913
-v -2.202100 1.157300 1.427900 0.752941 0.752941 0.752941
-vn -5.976549 -0.523369 -1.765838
-v -2.203700 1.247500 1.427000 0.752941 0.752941 0.752941
-vn -5.942048 -0.794621 -1.855254
-v -2.186600 1.245600 1.363000 0.752941 0.752941 0.752941
-vn 5.382016 2.936450 1.050301
-v -2.405600 7.641400 1.672701 0.752941 0.752941 0.752941
-vn 4.578293 4.127375 0.989113
-v -2.444900 7.699300 1.657200 0.752941 0.752941 0.752941
-vn 5.106349 3.179435 1.461239
-v -2.431300 7.652800 1.756801 0.752941 0.752941 0.752941
-vn 4.242078 4.437116 1.226041
-v -2.472800 7.705000 1.740500 0.752941 0.752941 0.752941
-vn 3.865956 4.515142 1.509506
-v -2.500400 7.710500 1.824100 0.752941 0.752941 0.752941
-vn 5.042582 3.065169 1.932419
-v -2.460300 7.653100 1.839900 0.752941 0.752941 0.752941
-vn 1.704918 5.849713 1.521992
-v -2.677400 7.754600 1.946800 0.752941 0.752941 0.752941
-vn 1.555315 5.802168 1.805126
-v -2.715400 7.740000 2.027200 0.752941 0.752941 0.752941
-vn 2.041063 5.272016 2.265577
-v -2.654300 7.721700 2.051300 0.752941 0.752941 0.752941
-vn -5.313168 0.887709 -2.930340
-v -4.429200 7.059100 0.562300 0.752941 0.752941 0.752941
-vn -4.985054 0.059216 -3.605750
-v -4.470900 7.060400 0.624700 0.752941 0.752941 0.752941
-vn -4.799777 -0.518275 -3.921050
-v -4.430799 7.148400 0.561100 0.752941 0.752941 0.752941
-vn 1.914478 5.830269 1.348603
-v -2.642900 7.762500 1.865400 0.752941 0.752941 0.752941
-vn 2.374290 5.518071 1.610935
-v -2.619000 7.732800 1.968400 0.752941 0.752941 0.752941
-vn -4.808366 -4.035871 0.139398
-v -4.352300 2.841400 0.776400 0.752941 0.752941 0.752941
-vn -5.288354 -3.338049 -0.344267
-v -4.422299 2.932800 0.776100 0.752941 0.752941 0.752941
-vn -4.330822 -1.429824 -4.306787
-v -4.499499 7.149900 0.626400 0.752941 0.752941 0.752941
-vn -4.251199 -0.742880 -4.484908
-v -4.533500 7.239500 0.630400 0.752941 0.752941 0.752941
-vn -4.329733 -0.862392 -4.461895
-v -4.452300 7.237700 0.562400 0.752941 0.752941 0.752941
-vn 0.880023 -4.485363 4.199722
-v 2.076100 0.090700 0.284200 0.752941 0.752941 0.752941
-vn -4.614027 -4.055402 -1.123635
-v -4.511300 4.946100 0.702400 0.752941 0.752941 0.752941
-vn 5.346576 2.618579 1.530026
-v 0.116900 9.793300 -1.393199 0.752941 0.752941 0.752941
-vn 1.608818 3.871221 -0.897559
-v 0.077000 9.863400 -1.406499 0.752941 0.752941 0.752941
-vn 5.407660 2.155749 2.210292
-v 0.087500 9.793900 -1.312899 0.752941 0.752941 0.752941
-vn -5.182269 -3.100421 1.532024
-v -4.088399 2.464100 1.226700 0.752941 0.752941 0.752941
-vn -5.359371 -3.017530 1.177167
-v -4.107999 2.473500 1.165200 0.752941 0.752941 0.752941
-vn -4.819885 -3.836300 1.067443
-v -4.067200 2.409200 1.154400 0.752941 0.752941 0.752941
-vn -3.242110 -3.768785 2.367032
-v -2.323600 1.436200 0.912100 0.752941 0.752941 0.752941
-vn -3.763505 -3.625384 2.317911
-v -2.377700 1.440800 0.847600 0.752941 0.752941 0.752941
-vn -4.731879 -1.484182 3.855697
-v -2.363100 1.412800 0.854000 0.752941 0.752941 0.752941
-vn -2.646157 5.386513 -1.720782
-v -2.708500 0.848900 2.075100 0.752941 0.752941 0.752941
-vn -2.503266 5.616786 -1.262648
-v -2.538200 0.922300 2.074500 0.752941 0.752941 0.752941
-vn -2.653509 5.380688 -1.845839
-v -2.662000 0.844000 2.010800 0.752941 0.752941 0.752941
-vn -5.304524 2.790855 1.866955
-v -4.495100 4.507400 1.538900 0.752941 0.752941 0.752941
-vn -5.310136 2.755211 1.909105
-v -4.517600 4.507700 1.474500 0.752941 0.752941 0.752941
-vn 5.322101 2.961499 1.505540
-v -3.041900 8.788400 -2.845400 0.752941 0.752941 0.752941
-vn 4.977827 3.324247 1.852690
-v -3.076500 8.858600 -2.856800 0.752941 0.752941 0.752941
-vn 4.987271 3.469243 1.514662
-v -3.068100 8.799300 -2.760400 0.752941 0.752941 0.752941
-vn 0.030753 3.362503 5.272942
-v -1.975000 8.284200 0.516100 0.752941 0.752941 0.752941
-vn -0.669651 3.676464 5.019643
-v -1.974700 8.379600 0.448700 0.752941 0.752941 0.752941
-vn -0.907156 3.974110 4.766690
-v -2.049400 8.315900 0.485500 0.752941 0.752941 0.752941
-vn 4.784194 2.973965 2.733802
-v -3.052400 9.150000 -3.312500 0.752941 0.752941 0.752941
-vn 5.102148 2.688603 2.485598
-v -3.020500 9.079200 -3.301399 0.752941 0.752941 0.752941
-vn 5.177069 2.471192 2.562479
-v -2.986200 9.087400 -3.382299 0.752941 0.752941 0.752941
-vn -0.395386 6.225786 -0.615902
-v -3.607500 7.887600 0.866000 0.752941 0.752941 0.752941
-vn -0.438654 6.236338 -0.557705
-v -3.635300 7.893000 0.950000 0.752941 0.752941 0.752941
-vn 0.068302 6.266742 -0.433794
-v -3.536700 7.889700 0.891200 0.752941 0.752941 0.752941
-vn -0.385232 5.834186 2.093310
-v -3.593000 8.808100 -1.748299 0.752941 0.752941 0.752941
-vn -1.779202 5.576987 2.229150
-v -3.644800 8.766700 -1.674700 0.752941 0.752941 0.752941
-vn -0.374067 5.826743 2.193164
-v -3.574200 8.771500 -1.647900 0.752941 0.752941 0.752941
-vn 0.213430 5.583292 2.830804
-v -3.701300 9.139900 -2.620699 0.752941 0.752941 0.752941
-vn -1.434291 5.273463 2.883025
-v -3.752200 9.098800 -2.547899 0.752941 0.752941 0.752941
-vn -0.169035 5.632370 2.776983
-v -3.689200 9.089500 -2.523400 0.752941 0.752941 0.752941
-vn 0.720339 5.659510 2.588752
-v -3.646100 9.124000 -2.595999 0.752941 0.752941 0.752941
-vn -3.997940 -4.769050 -0.853160
-v -4.654799 5.041700 0.830800 0.752941 0.752941 0.752941
-vn -4.429897 -4.183914 -1.204471
-v -4.759300 5.129000 0.829700 0.752941 0.752941 0.752941
-vn -4.319205 -4.264469 -1.537038
-v -4.732500 5.125700 0.764500 0.752941 0.752941 0.752941
-vn -2.691776 5.187823 2.295925
-v -3.786400 8.941600 -2.283600 0.752941 0.752941 0.752941
-vn -3.085672 5.027304 2.127300
-v -3.842700 8.882800 -2.214600 0.752941 0.752941 0.752941
-vn -2.432503 5.386678 2.117270
-v -3.764300 8.910500 -2.182600 0.752941 0.752941 0.752941
-vn 4.269382 4.014282 2.261433
-v -3.161700 8.082800 -0.661300 0.752941 0.752941 0.752941
-vn 4.141119 4.192159 2.179645
-v -3.196100 8.074700 -0.580900 0.752941 0.752941 0.752941
-vn 4.339499 4.030081 2.084200
-v -3.119400 8.031100 -0.645600 0.752941 0.752941 0.752941
-vn 4.081438 4.042020 2.475072
-v -3.230100 8.067300 -0.499900 0.752941 0.752941 0.752941
-vn 4.179997 3.916213 2.553549
-v -3.190700 8.009200 -0.485200 0.752941 0.752941 0.752941
-vn 4.170028 4.076647 2.320428
-v -3.152900 8.024000 -0.564700 0.752941 0.752941 0.752941
-vn -2.553608 5.236663 2.340268
-v -3.686000 8.675900 -1.502599 0.752941 0.752941 0.752941
-vn -3.022803 4.960545 2.355842
-v -3.742600 8.615800 -1.433699 0.752941 0.752941 0.752941
-vn -2.384081 5.258614 2.430266
-v -3.662800 8.643600 -1.401700 0.752941 0.752941 0.752941
-vn -1.179090 5.611480 2.346865
-v -3.603500 8.697900 -1.473400 0.752941 0.752941 0.752941
-vn 1.459301 5.767160 1.988662
-v -3.469500 8.777300 -1.703500 0.752941 0.752941 0.752941
-vn 0.696370 5.917006 1.978434
-v -3.529200 8.795100 -1.725500 0.752941 0.752941 0.752941
-vn 0.980682 5.680755 2.265635
-v -3.510100 8.760700 -1.624400 0.752941 0.752941 0.752941
-vn -2.330814 4.735829 3.330126
-v -2.339000 8.218100 0.477600 0.752941 0.752941 0.752941
-vn -3.018860 4.825770 2.632581
-v -2.416100 8.201700 0.428900 0.752941 0.752941 0.752941
-vn -2.337425 4.697275 3.406392
-v -2.420400 8.125700 0.546200 0.752941 0.752941 0.752941
-vn -1.069623 6.171318 -0.400329
-v 0.431500 6.213500 0.853000 0.752941 0.752941 0.752941
-vn -1.115299 6.167621 -0.106737
-v 0.400700 6.212300 0.934600 0.752941 0.752941 0.752941
-vn -0.865496 6.220870 -0.001961
-v 0.474400 6.222600 0.961500 0.752941 0.752941 0.752941
-vn -1.382379 5.565406 2.320043
-v -3.623400 8.736000 -1.572999 0.752941 0.752941 0.752941
-vn 0.192808 5.779924 2.426884
-v -3.554400 8.729200 -1.549700 0.752941 0.752941 0.752941
-vn -0.329553 4.418539 4.449572
-v -0.751500 5.344900 2.185500 0.752941 0.752941 0.752941
-vn -0.476794 4.582853 4.261805
-v -0.813700 5.402600 2.115300 0.752941 0.752941 0.752941
-vn -0.373004 4.547907 4.298108
-v -0.815600 5.343500 2.184100 0.752941 0.752941 0.752941
-vn -0.951000 6.207914 -0.172851
-v 0.505100 6.224800 0.880000 0.752941 0.752941 0.752941
-vn -2.641499 5.122557 2.497490
-v -0.223000 5.864600 1.651900 0.752941 0.752941 0.752941
-vn -2.626528 5.081823 2.569586
-v 0.035300 5.891200 1.838600 0.752941 0.752941 0.752941
-vn -2.405860 5.153976 2.654652
-v -0.045600 5.867200 1.809500 0.752941 0.752941 0.752941
-vn -2.455029 5.217783 2.474021
-v -0.026300 5.827300 1.910200 0.752941 0.752941 0.752941
-vn -2.123538 5.376171 2.460649
-v -0.109300 5.807100 1.882900 0.752941 0.752941 0.752941
-vn -1.527871 5.619881 2.326237
-v -0.419000 5.738600 1.773300 0.752941 0.752941 0.752941
-vn -2.000392 5.564905 2.119394
-v -0.340900 5.754300 1.800400 0.752941 0.752941 0.752941
-vn -3.190381 4.770433 2.487734
-v -3.722500 8.577000 -1.333300 0.752941 0.752941 0.752941
-vn -0.875654 6.057099 -1.396383
-v -0.610400 5.872200 0.190900 0.752941 0.752941 0.752941
-vn -0.377800 6.050368 -1.590995
-v -0.684100 5.860900 0.164000 0.752941 0.752941 0.752941
-vn -0.070546 6.139071 -1.066674
-v -0.712100 5.872300 0.246800 0.752941 0.752941 0.752941
-vn 2.470507 -5.272242 -1.790363
-v -3.284400 7.564100 -2.714000 0.752941 0.752941 0.752941
-vn 0.937886 -5.612194 -2.635287
-v -3.336600 7.570200 -2.751300 0.752941 0.752941 0.752941
-vn 3.518961 -4.476092 -1.429587
-v -3.222000 7.618100 -2.793100 0.752941 0.752941 0.752941
-vn -1.603306 6.011041 0.688019
-v -3.648100 7.841500 0.287800 0.752941 0.752941 0.752941
-vn -1.349385 6.081548 -0.352827
-v -3.687100 7.828800 0.368800 0.752941 0.752941 0.752941
-vn -0.896330 6.196472 -0.207897
-v -3.606200 7.852300 0.397400 0.752941 0.752941 0.752941
-vn -6.236812 -0.187544 -0.075527
-v -4.698599 3.730900 1.029500 0.752941 0.752941 0.752941
-vn -1.161530 6.138519 -0.623150
-v -3.715200 7.835800 0.452800 0.752941 0.752941 0.752941
-vn -1.012696 6.175698 -0.545870
-v -3.746900 7.836600 0.535500 0.752941 0.752941 0.752941
-vn -0.779357 6.219769 -0.397144
-v -3.672900 7.848900 0.561700 0.752941 0.752941 0.752941
-vn -6.027335 -1.679637 -0.111166
-v -4.780399 6.800200 1.270900 0.752941 0.752941 0.752941
-vn -6.026032 -1.705417 0.013469
-v -4.811800 6.888500 1.270301 0.752941 0.752941 0.752941
-vn -5.854475 -1.797325 -0.835373
-v -4.810500 6.888300 1.206300 0.752941 0.752941 0.752941
-vn -5.914027 -1.685200 -1.115457
-v -4.770400 6.797800 1.203100 0.752941 0.752941 0.752941
-vn -2.931069 5.465908 -1.001703
-v -4.595399 7.620200 0.995900 0.752941 0.752941 0.752941
-vn -3.697006 4.618637 -1.726363
-v -4.634300 7.588800 0.946700 0.752941 0.752941 0.752941
-vn -3.647278 4.803363 -1.223644
-v -4.662600 7.587800 1.011101 0.752941 0.752941 0.752941
-vn -3.320087 5.267477 0.774009
-v -0.826000 9.437700 -0.459599 0.752941 0.752941 0.752941
-vn -3.324079 5.271365 0.279587
-v -0.917800 9.388200 -0.494499 0.752941 0.752941 0.752941
-vn -3.105061 5.230541 1.509421
-v -0.883900 9.387800 -0.387699 0.752941 0.752941 0.752941
-vn -5.319268 2.757426 1.835154
-v -4.443999 4.593600 1.539300 0.752941 0.752941 0.752941
-vn -5.316237 2.695595 1.963428
-v -4.467800 4.594600 1.475400 0.752941 0.752941 0.752941
-vn 1.083865 5.573776 -1.465823
-v -3.205400 9.478500 -3.649800 0.752941 0.752941 0.752941
-vn 1.992559 5.784443 0.891502
-v -3.233600 9.484400 -3.565799 0.752941 0.752941 0.752941
-vn 2.663542 5.603086 0.790263
-v -3.149200 9.455700 -3.628599 0.752941 0.752941 0.752941
-vn -5.707258 -1.859511 1.742959
-v -4.447800 3.197500 1.418500 0.752941 0.752941 0.752941
-vn -5.922880 -1.222324 1.652559
-v -4.451399 3.111700 1.353500 0.752941 0.752941 0.752941
-vn 4.849018 3.238511 2.080072
-v 4.857500 2.291900 1.361400 0.752941 0.752941 0.752941
-vn 4.876318 2.693493 2.858605
-v 4.835899 2.254900 1.442800 0.752941 0.752941 0.752941
-vn 5.312682 2.023799 2.562887
-v 4.893400 2.169100 1.413200 0.752941 0.752941 0.752941
-vn -1.223867 1.012411 -6.009521
-v -0.710500 4.466300 -1.405500 0.752941 0.752941 0.752941
-vn -1.114581 2.171582 -5.730783
-v -0.710600 4.557400 -1.380400 0.752941 0.752941 0.752941
-vn -0.477301 2.159413 -5.815150
-v -0.646500 4.558400 -1.389400 0.752941 0.752941 0.752941
-vn -0.878179 0.547779 -6.195850
-v -0.645700 4.374800 -1.422000 0.752941 0.752941 0.752941
-vn -1.275053 0.487185 -6.127546
-v -0.709900 4.373800 -1.411600 0.752941 0.752941 0.752941
-vn -0.635670 1.107879 -6.102698
-v -0.646200 4.467200 -1.414300 0.752941 0.752941 0.752941
-vn -6.098743 1.246819 0.371048
-v -4.504300 4.769400 1.023800 0.752941 0.752941 0.752941
-vn -6.027996 1.228179 -0.431292
-v -4.499800 4.768700 0.959300 0.752941 0.752941 0.752941
-vn -4.903353 -1.232629 -3.627010
-v -4.680300 7.064600 0.948100 0.752941 0.752941 0.752941
-vn -5.509169 -1.457886 -2.364474
-v -4.699600 7.152000 0.945400 0.752941 0.752941 0.752941
-vn -5.395686 -2.191980 -2.217634
-v -4.683000 7.152000 0.882100 0.752941 0.752941 0.752941
-vn -6.161082 0.451565 -1.102043
-v -4.947400 5.826400 0.953800 0.752941 0.752941 0.752941
-vn -6.132945 0.679435 -1.128003
-v -4.939600 5.914600 0.953400 0.752941 0.752941 0.752941
-vn -6.112847 0.446020 -1.378726
-v -4.933199 5.825900 0.889300 0.752941 0.752941 0.752941
-vn -0.592364 1.447850 -6.080556
-v -1.030400 4.002300 -1.417900 0.752941 0.752941 0.752941
-vn -0.583870 1.396683 -6.097220
-v -1.094900 4.001600 -1.410400 0.752941 0.752941 0.752941
-vn -0.411972 1.583199 -6.057960
-v -1.030900 4.093600 -1.395100 0.752941 0.752941 0.752941
-vn -0.546902 1.166247 -6.145563
-v -1.095000 3.910800 -1.429000 0.752941 0.752941 0.752941
-vn -5.643858 2.496168 -1.111374
-v -4.549600 4.593700 0.767700 0.752941 0.752941 0.752941
-vn -5.703931 2.141636 -1.360212
-v -4.573299 4.507400 0.703900 0.752941 0.752941 0.752941
-vn -4.695251 2.339378 -3.359381
-v -4.487299 7.500100 0.628200 0.752941 0.752941 0.752941
-vn -4.934843 2.039917 -3.187142
-v -4.442599 7.500700 0.562400 0.752941 0.752941 0.752941
-vn 2.174254 5.808003 0.969955
-v -2.545700 7.818800 1.058700 0.752941 0.752941 0.752941
-vn 1.653932 6.000972 0.742254
-v -2.601900 7.842800 1.038100 0.752941 0.752941 0.752941
-vn 1.952633 5.949405 0.142656
-v -2.575300 7.820800 1.141500 0.752941 0.752941 0.752941
-vn -3.220445 5.350130 0.495079
-v -1.258300 9.173400 -0.341399 0.752941 0.752941 0.752941
-vn -3.335294 5.277921 -0.393816
-v -1.358200 9.114300 -0.377499 0.752941 0.752941 0.752941
-vn -2.839489 5.402247 1.176615
-v -1.304700 9.140200 -0.265299 0.752941 0.752941 0.752941
-vn -2.106129 5.646549 1.768577
-v 0.065600 6.034500 1.563200 0.752941 0.752941 0.752941
-vn -2.071178 5.646871 1.766473
-v 0.146900 6.057700 1.591600 0.752941 0.752941 0.752941
-vn -1.702939 5.930430 1.185344
-v 0.240500 6.121000 1.437300 0.752941 0.752941 0.752941
-vn -1.122801 6.008111 1.413944
-v 0.616700 6.190100 1.572900 0.752941 0.752941 0.752941
-vn -1.362929 5.971173 1.367297
-v 0.547100 6.182000 1.547000 0.752941 0.752941 0.752941
-vn -1.197003 5.900450 1.787627
-v 0.572700 6.158100 1.650100 0.752941 0.752941 0.752941
-vn -1.001919 6.166399 0.658145
-v 0.625800 6.220900 1.389000 0.752941 0.752941 0.752941
-vn -0.981215 6.114822 0.959542
-v 0.587800 6.206500 1.468700 0.752941 0.752941 0.752941
-vn -0.795115 6.140928 1.057731
-v 0.658400 6.210900 1.494100 0.752941 0.752941 0.752941
-vn -5.218903 -3.426158 -0.579975
-v -4.226900 2.652000 0.519300 0.752941 0.752941 0.752941
-vn -5.200652 -3.434994 -0.588106
-v -4.300700 2.748000 0.518700 0.752941 0.752941 0.752941
-vn -4.838147 -3.838038 1.145147
-v -4.292600 2.747600 0.648000 0.752941 0.752941 0.752941
-vn -5.027994 -3.662252 0.148563
-v -4.306900 2.748900 0.583700 0.752941 0.752941 0.752941
-vn -2.195554 5.221579 2.641901
-v -3.643800 8.604100 -1.302000 0.752941 0.752941 0.752941
-vn -2.818617 5.014874 2.523816
-v -3.707800 8.533100 -1.234400 0.752941 0.752941 0.752941
-vn -1.905478 5.322148 2.646615
-v -3.623400 8.562600 -1.203799 0.752941 0.752941 0.752941
-vn -5.583035 1.832326 1.966135
-v -4.402200 4.680400 1.540400 0.752941 0.752941 0.752941
-vn -5.592037 1.859370 2.120245
-v -4.430300 4.680800 1.475000 0.752941 0.752941 0.752941
-vn -2.374106 5.720375 0.605277
-v -3.727200 9.411400 -3.186899 0.752941 0.752941 0.752941
-vn -2.193117 5.678577 1.552764
-v -3.774400 9.374200 -3.112900 0.752941 0.752941 0.752941
-vn -1.154801 5.534007 2.273552
-v -3.698600 9.396900 -3.079600 0.752941 0.752941 0.752941
-vn 1.520813 5.618871 2.241946
-v -3.475900 8.672300 -1.428400 0.752941 0.752941 0.752941
-vn 0.449053 5.795282 2.293199
-v -3.535400 8.690700 -1.450000 0.752941 0.752941 0.752941
-vn 0.558105 5.702281 2.561045
-v -3.519900 8.645400 -1.351500 0.752941 0.752941 0.752941
-vn -0.746017 5.650344 1.932348
-v -3.648600 9.434300 -3.153199 0.752941 0.752941 0.752941
-vn 4.823314 3.483035 2.016445
-v -3.032400 8.173400 -1.079000 0.752941 0.752941 0.752941
-vn 4.725476 3.469696 2.239000
-v -3.065000 8.171000 -0.998200 0.752941 0.752941 0.752941
-vn 5.124598 3.030697 1.888331
-v -2.994600 8.114300 -1.065300 0.752941 0.752941 0.752941
-vn 4.641316 3.550348 2.308662
-v -3.134400 8.154500 -0.837900 0.752941 0.752941 0.752941
-vn 4.487393 3.884322 2.027730
-v -3.094500 8.093200 -0.822800 0.752941 0.752941 0.752941
-vn 4.691864 3.557863 2.184135
-v -3.061700 8.099900 -0.903700 0.752941 0.752941 0.752941
-vn -5.491059 2.763169 -1.013493
-v -4.843500 6.354100 0.951400 0.752941 0.752941 0.752941
-vn -5.450343 3.048233 -0.651119
-v -4.787899 6.443100 0.950700 0.752941 0.752941 0.752941
-vn -5.550478 2.722294 -1.087724
-v -4.825900 6.355300 0.886500 0.752941 0.752941 0.752941
-vn -0.811808 5.909626 1.942142
-v -3.726600 7.759300 2.050300 0.752941 0.752941 0.752941
-vn -0.824227 5.894400 2.006372
-v -3.798300 7.760200 2.027300 0.752941 0.752941 0.752941
-vn -0.910393 5.841829 2.107086
-v -3.776800 7.728500 2.131400 0.752941 0.752941 0.752941
-vn -1.043140 6.158471 -0.611240
-v -3.774500 7.841500 0.619700 0.752941 0.752941 0.752941
-vn -0.725946 6.215314 -0.551093
-v -3.700600 7.853500 0.645900 0.752941 0.752941 0.752941
-vn -5.550271 2.922565 0.093958
-v -4.809800 6.445200 1.272500 0.752941 0.752941 0.752941
-vn -6.022975 1.368036 0.050112
-v -4.769400 6.534300 1.271900 0.752941 0.752941 0.752941
-vn -5.972717 1.648885 -0.437158
-v -4.769000 6.533800 1.207500 0.752941 0.752941 0.752941
-vn -0.895943 6.187961 -0.547588
-v -3.783800 7.870800 0.898000 0.752941 0.752941 0.752941
-vn 4.642949 3.813919 1.815137
-v -3.108000 8.852900 -2.774699 0.752941 0.752941 0.752941
-vn 4.567329 3.973814 1.668327
-v -3.138500 8.856000 -2.691800 0.752941 0.752941 0.752941
-vn 4.779300 3.762870 1.571632
-v -3.097400 8.799500 -2.677299 0.752941 0.752941 0.752941
-vn -3.775510 4.765910 -1.397816
-v -0.830800 9.425700 -0.675699 0.752941 0.752941 0.752941
-vn -3.476398 5.209584 0.240810
-v -0.776500 9.477100 -0.533899 0.752941 0.752941 0.752941
-vn -3.724264 5.016974 -0.008900
-v -0.726400 9.516500 -0.607599 0.752941 0.752941 0.752941
-vn 4.771551 -3.807599 -1.483217
-v -3.133400 7.633200 -2.370200 0.752941 0.752941 0.752941
-vn 4.673016 -3.988806 -1.306656
-v -3.163500 7.619800 -2.439100 0.752941 0.752941 0.752941
-vn 5.045860 -3.508514 -1.271037
-v -3.091800 7.704100 -2.419200 0.752941 0.752941 0.752941
-vn -1.651155 4.767187 3.692016
-v -1.734600 8.699600 0.225400 0.752941 0.752941 0.752941
-vn -1.507898 4.484262 4.096967
-v -1.807900 8.615800 0.293300 0.752941 0.752941 0.752941
-vn -0.748810 4.100326 4.654947
-v -1.736900 8.613500 0.314400 0.752941 0.752941 0.752941
-vn -1.430756 2.220751 -5.581283
-v -2.118900 0.116200 -0.714000 0.752941 0.752941 0.752941
-vn -2.845283 -2.329062 -2.074559
-v -2.029600 0.014500 -0.826600 0.752941 0.752941 0.752941
-vn -0.688465 -3.422045 -3.324193
-v -2.143400 0.006900 -0.723700 0.752941 0.752941 0.752941
-vn 1.997008 4.936371 3.309454
-v -3.534300 9.386500 -3.114900 0.752941 0.752941 0.752941
-vn 2.365434 4.814209 3.267545
-v -3.484700 9.349600 -3.096600 0.752941 0.752941 0.752941
-vn 2.382272 4.777443 3.280390
-v -3.437700 9.381800 -3.173399 0.752941 0.752941 0.752941
-vn 5.252513 -0.137424 3.339098
-v -0.116900 9.721300 -0.963399 0.752941 0.752941 0.752941
-vn 4.603479 1.915953 3.398954
-v -0.087500 9.812400 -1.021999 0.752941 0.752941 0.752941
-vn 4.180071 2.709084 3.091929
-v -0.124800 9.818600 -0.972199 0.752941 0.752941 0.752941
-vn 0.096118 -6.263370 -0.244610
-v -0.397100 0.322500 -0.663700 0.752941 0.752941 0.752941
-vn 0.198575 -6.271006 -0.306387
-v -0.464500 0.319600 -0.674500 0.752941 0.752941 0.752941
-vn -0.169319 -6.279319 -0.089721
-v -0.417500 0.323700 -0.788900 0.752941 0.752941 0.752941
-vn 5.075420 2.861589 2.331930
-v -3.077000 7.901800 -0.536300 0.752941 0.752941 0.752941
-vn 5.197829 2.781286 2.171061
-v -3.044200 7.830100 -0.523899 0.752941 0.752941 0.752941
-vn 5.317462 2.592461 2.106956
-v -3.011800 7.832100 -0.605700 0.752941 0.752941 0.752941
-vn -1.698295 5.868618 -1.464128
-v -0.023100 6.040100 0.313000 0.752941 0.752941 0.752941
-vn -1.695944 5.844081 -1.542508
-v 0.046900 6.055200 0.286100 0.752941 0.752941 0.752941
-vn -5.843229 -1.713518 -0.232309
-v -4.469999 3.194900 0.581600 0.752941 0.752941 0.752941
-vn -5.999737 -1.328875 -0.483869
-v -4.475200 3.196600 0.646100 0.752941 0.752941 0.752941
-vn -5.460487 -3.003917 0.709638
-v -4.517499 3.284600 0.580800 0.752941 0.752941 0.752941
-vn -1.538054 5.996877 -0.865712
-v -0.143100 6.044600 0.456200 0.752941 0.752941 0.752941
-vn -1.396979 5.920400 -1.534429
-v -0.119100 6.031700 0.371700 0.752941 0.752941 0.752941
-vn -1.498467 6.067420 -0.626899
-v -0.178700 6.040800 0.536900 0.752941 0.752941 0.752941
-vn 4.723932 3.831635 1.389869
-v -3.131200 7.766500 -0.181900 0.752941 0.752941 0.752941
-vn 4.474490 4.259140 1.107291
-v -3.157900 7.775900 -0.097200 0.752941 0.752941 0.752941
-vn 4.404414 4.410608 0.639741
-v -3.114600 7.725300 -0.080500 0.752941 0.752941 0.752941
-vn -1.254148 6.147669 0.185635
-v 0.366400 6.204300 1.015000 0.752941 0.752941 0.752941
-vn -0.959188 6.206045 0.191713
-v 0.440200 6.215600 1.041900 0.752941 0.752941 0.752941
-vn -1.905359 5.396967 2.584782
-v -0.162800 5.754000 1.956700 0.752941 0.752941 0.752941
-vn -1.984814 5.256293 2.800922
-v -0.089100 5.765800 1.983600 0.752941 0.752941 0.752941
-vn -5.910950 0.240482 -2.103409
-v -2.225800 1.160100 1.492000 0.752941 0.752941 0.752941
-vn -2.739094 -2.699556 4.959496
-v -0.245700 2.779900 3.614800 0.752941 0.752941 0.752941
-vn -2.430471 -2.759450 5.047272
-v -0.289200 2.875100 3.653600 0.752941 0.752941 0.752941
-vn -2.787890 -2.810917 4.847700
-v -0.302300 2.779300 3.579900 0.752941 0.752941 0.752941
-vn -1.544273 6.066685 -0.379884
-v -0.205500 6.043900 0.620400 0.752941 0.752941 0.752941
-vn -5.191981 3.277405 -1.073449
-v -4.749499 7.507300 1.073601 0.752941 0.752941 0.752941
-vn -4.385694 4.248305 -0.857483
-v -4.711100 7.555100 1.051800 0.752941 0.752941 0.752941
-vn -5.016810 2.999262 -1.621200
-v -4.740499 7.506000 1.009700 0.752941 0.752941 0.752941
-vn -0.952444 6.193356 -0.295543
-v 0.721700 6.259000 0.774000 0.752941 0.752941 0.752941
-vn -1.003478 6.201267 -0.064796
-v 0.687200 6.253200 0.854000 0.752941 0.752941 0.752941
-vn -1.036473 6.194590 -0.053740
-v 0.765100 6.267200 0.882400 0.752941 0.752941 0.752941
-vn -2.236067 5.369727 2.280118
-v 0.014200 5.990800 1.638300 0.752941 0.752941 0.752941
-vn -2.210728 5.433599 2.242354
-v 0.086900 6.004900 1.666100 0.752941 0.752941 0.752941
-vn 1.276825 6.016043 1.207459
-v -2.569600 7.847300 0.956100 0.752941 0.752941 0.752941
-vn 0.536047 6.200506 0.793523
-v -2.