diff -r f1ff1a81be20 -r 02467299402e .hgtags
--- a/.hgtags
+++ /dev/null
@@ -1,1 +0,0 @@
-60003fd11ca6ab9ae72099cc0373f24247bf1597 build_CollidoscopeApp_v1.0
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/AudioEngine.h
--- a/CollidoscopeApp/include/AudioEngine.h
+++ b/CollidoscopeApp/include/AudioEngine.h
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include <array>
@@ -35,10 +14,6 @@
 #include "Config.h"
 
 
-/**
- * Audio engine of the application. It uses the Cinder library to process audio in input and output. 
- * The audio engine manages both waves. All methods have a waveIndx parameter to address a specific wave.
- */ 
 class AudioEngine
 {
 public:
@@ -51,9 +26,6 @@
     AudioEngine( const AudioEngine &copy ) = delete;
     AudioEngine & operator=(const AudioEngine &copy) = delete;
 
-    /**
-    * Set up of the audio engine. 
-    */
     void setup( const Config& Config );
 
     size_t getSampleRate();
@@ -68,19 +40,9 @@
 
     void noteOff( size_t waveIdx, int note );
 
-    /**
-    * Returns the number of elements available to read in the wave ring buffer.
-    * The wave ring buffer is used to pass the size of the wave chunks from the audio thread to the graphic thread, 
-    * when a new wave is recorded.
-    */ 
     size_t getRecordWaveAvailable( size_t index );
-    /**
-    * Called from the graphic thread. Reads \a count elements from the wave ring buffer into \a buffer.
-    * The wave ring buffer is used to pass the size of the wave chunks from the audio thread to the graphic thread, 
-    * when a new wave is recorded.
-    *
-    */
-    bool readRecordWave( size_t waveIdx, RecordWaveMsg* buffer, size_t count );
+
+    bool readRecordWave( size_t waveIdx, RecordWaveMsg*, size_t count );
 
     void setSelectionSize( size_t waveIdx, size_t size );
 
@@ -92,10 +54,6 @@
 
     void checkCursorTriggers( size_t waveIdx, std::vector<CursorTriggerMsg>& cursorTriggers );
 
-    /**
-     * Returns a const reference to the audio output buffer. This is the buffer that is sent off to the audio interface at each audio cycle. 
-     * It is used in the graphic thread to draw the oscilloscope.
-     */
     const ci::audio::Buffer& getAudioOutputBuffer( size_t waveIdx ) const;
 
 
@@ -106,7 +64,7 @@
     // nodes for recording audio input into buffer. Also sends chunks information through 
     // non-blocking queue 
     std::array< BufferToWaveRecorderNodeRef, NUM_WAVES > mBufferRecorderNodes;
-    // pgranulars wrapped in a Cinder::Node 
+    // pgranulars for loop synths 
     std::array< PGranularNodeRef, NUM_WAVES > mPGranularNodes;
 
 
@@ -118,4 +76,4 @@
 
     std::array< std::unique_ptr< RingBufferPack<CursorTriggerMsg> >, NUM_WAVES > mCursorTriggerRingBufferPacks;
 
-};
+};
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/BufferToWaveRecorderNode.h
--- a/CollidoscopeApp/include/BufferToWaveRecorderNode.h
+++ b/CollidoscopeApp/include/BufferToWaveRecorderNode.h
@@ -1,48 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
 #pragma once
 
 #include "cinder/Cinder.h"
@@ -53,18 +8,11 @@
 
 #include "Messages.h"
 
-typedef std::shared_ptr<class BufferToWaveRecorderNode> BufferToWaveRecorderNodeRef;
+typedef std::shared_ptr<class BufferToWaveRecorderNode>	BufferToWaveRecorderNodeRef;
 
 typedef ci::audio::dsp::RingBufferT<RecordWaveMsg> RecordWaveMsgRingBuffer;
 
-/**
- * A \a Node in the audio graph of the Cinder audio library that records input in a buffer.
- *
- * This class is similar to \a cinder::audio::BufferRecorderNode (it's a derivative work of this class indeed) but it has an additional feature:
- * when recording, it uses the audio input samples to compute the size values of the visual chunks. 
- * The chunks values are stored in a ring buffer and fetched by the graphic thread to paint the wave as it gets recorded.
- *
- */
+
 class BufferToWaveRecorderNode : public ci::audio::SampleRecorderNode {
 public:
 
@@ -88,14 +36,14 @@
     void setNumSeconds(double numSeconds, bool shrinkToFit = false);
 
     //! Returns the length of the recording buffer in frames.
-    size_t      getNumFrames() const    { return mRecorderBuffer.getNumFrames(); }
+    size_t		getNumFrames() const	{ return mRecorderBuffer.getNumFrames(); }
     //! Returns the length of the recording buffer in seconds.
-    double      getNumSeconds() const;
+    double		getNumSeconds() const;
 
     //! \brief Returns a copy of the recored samples, up to the current write position.
     //!
     //! This method is non locking, and as such any resizing calls must be performed on the same thread or be otherwise synchronized.
-    ci::audio::BufferRef    getRecordedCopy() const;
+    ci::audio::BufferRef	getRecordedCopy() const;
 
     //! \brief Writes the currently recorded samples to a file at \a filePath
     //!
@@ -106,25 +54,23 @@
     //! Returns the frame of the last buffer overrun or 0 if none since the last time this method was called. When this happens, it means the recorded buffer probably has skipped some frames.
     uint64_t getLastOverrun();
 
-    //! returns a reference to the ring buffer when the size values of the chunks is stored, when a new wave is recorder
     RecordWaveMsgRingBuffer& getRingBuffer() { return mRingBuffer; }
 
-    //!returns a pointer to the buffer where the audio is recorder. This is used by the PGranular to create the granular synthesis 
     ci::audio::Buffer* getRecorderBuffer() { return &mRecorderBuffer; }
 
 
 protected:
-    void initialize()               override;
-    void process(ci::audio::Buffer *buffer) override;
+    void initialize()				override;
+    void process(ci::audio::Buffer *buffer)	override;
 
     void initBuffers(size_t numFrames);
 
     static const float kMinAudioVal; 
     static const float kMaxAudioVal;
 
-    ci::audio::BufferDynamic        mRecorderBuffer;
-    ci::audio::BufferDynamicRef     mCopiedBuffer;
-    std::atomic<uint64_t>   mLastOverrun;
+    ci::audio::BufferDynamic		mRecorderBuffer;
+    ci::audio::BufferDynamicRef		mCopiedBuffer;
+    std::atomic<uint64_t>	mLastOverrun;
 
     RecordWaveMsgRingBuffer mRingBuffer;
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Chunk.h
--- a/CollidoscopeApp/include/Chunk.h
+++ b/CollidoscopeApp/include/Chunk.h
@@ -1,26 +1,3 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
 
 #pragma once
 
@@ -29,15 +6,6 @@
 
 class DrawInfo;
 
-/**
- *
- * A chunk of audio in Collidoscope low-fi visual wave. 
- *
- * The visual wave of Collidoscope is made out of a number of bars that mimic, in a low-fi fashion, the typical waveform-based representation of audio.
- * A Chunk is one of the bars of the visual wave. 
- *
- */
-
 class Chunk
 {
 
@@ -46,65 +14,30 @@
     const static float kWidth;
     const static float kHalfWidth;
 
-    /**
-     * Constructor, takes as argument the index of this chunk in the wave that contains it
-     */ 
-    Chunk( size_t index );
+	Chunk( size_t index );
 
-    /**
-     * Sets the top value of this chunk. The value is passed in audio coordinates : [-1.0, 1.0]
-     */
     void inline setTop(float t) { mAudioTop = t; mAnimate = 0.0f; mResetting = false; /* startes the animation to crate a chunk */ }
-    /**
-     * Sets the bottom value of this chunk. The value is passed in audio coordinates : [-1.0, 1.0]
-     */
     void inline setBottom(float b) { mAudioBottom = b; mAnimate = 0.0f; mResetting = false; }
-    /**
-     * Get the top value of this chunk. The value is returned in audio coordinates : [-1.0, 1.0]
-     */
     float inline getTop() const { return mAudioTop; }
-    /**
-     * Get the bottom value of this chunk. The value is returned in audio coordinates : [-1.0, 1.0]
-     */
     float inline getBottom() const { return mAudioBottom; }
 
-    /**
-     * Reset this chunks. When a chunk is reset, it starts shrinking until it disappears or setTop/setBottom are called again
-     *
-     */ 
-    void reset(){
-        mResetting = true;
-    }
+	void reset(){
+		mResetting = true;
+	}
 
-    /**
-     * Called in the graphic loop. It update this chunk. 
-     */ 
     void update( const DrawInfo& di );
 
-    /**
-     * Called in the graphic loop. It draws this chunk. 
-     */ 
     void draw( const DrawInfo& di, ci::gl::BatchRef &batch );
 
-    /**
-     * Called in the graphic loop. It draws this chunk all the way to the bottom of the screen. 
-     * This method is called when the chunk is the first or last in a selection. 
-     */ 
     void drawBar( const DrawInfo& di, ci::gl::BatchRef &batch );
 
-    /**
-     * Informs this chunk that it's the first chunk of the selection.
-     */ 
-    void setAsSelectionStart(bool start){
-        isSelectionStart = start;
-    }
+	void setAsSelectionStart(bool start){
+		isSelectionStart = start;
+	}
 
-    /**
-     * Informs this chunk that it's the last chunk of the selection.
-     */ 
-    void setAsSelectionEnd(bool end){
-        isSelectionEnd = end;
-    }
+	void setAsSelectionEnd(bool end){
+		isSelectionEnd = end;
+	}
 
 private:
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Config.h
--- a/CollidoscopeApp/include/Config.h
+++ b/CollidoscopeApp/include/Config.h
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include <string>
@@ -27,12 +6,6 @@
 #include "cinder/Xml.h"
 
 
-/**
- * Configuration class gathers in one place all the values recided at runtime
- *
- * Reading the configuration from an XML file is partially implemented but not used at the moment
- *
- */ 
 class Config
 {
 public:
@@ -48,26 +21,22 @@
 
     std::string getInputDeviceKey() const
     {
-        return mAudioInputDeviceKey; 
+        return mAudioInputDeviceKey;  // Komplete 1/2
+        //return "{0.0.1.00000000}.{a043bc8c-1dd1-4c94-82b4-ad8320cac5a5}"; // Komplete 3/4 
+        //return "{0.0.1.00000000}.{828b681b-cc0c-44e1-93c9-5f1f46f5926f}"; // Realtek 
     }
 
-    /**
-     * Returns number of chunks in a wave 
-     */ 
     std::size_t getNumChunks() const
     {
         return mNumChunks;
     }
 
-    /** returns wave lenght in seconds */
+    /* return wave lenght in seconds */
     double getWaveLen() const
     {
         return mWaveLen;
     }
 
-    /**
-     * Returns wave selection color
-     */ 
     ci::Color getWaveSelectionColor(size_t waveIdx) const
     {
         if (waveIdx == 0){
@@ -78,18 +47,19 @@
         }
     }
 
-    /**
-     * The size of the ring buffer used to trigger a visual cursor from the audio thread when a new grain is created
-     */ 
     std::size_t getCursorTriggerMessageBufSize() const
     {
         return 512;
     }
 
-    /** returns the index of the wave associated to the MIDI channel passed as argument */
+    // returns the index of the wave associated to the MIDI channel passed as argument 
     size_t getWaveForMIDIChannel( unsigned char channelIdx )
     {
         return channelIdx;
+        /*for ( int i = 0; i < NUM_WAVES; i++ ){
+            if ( channelIdx == mMidiChannels[i] )
+                return i;
+        }*/
     }
 
     double getMaxGrainDurationCoeff() const
@@ -112,19 +82,11 @@
         return 6;
     }
 
-    /**
-     * Returns the maximum size of a wave selection in number of chunks.
-     */ 
     size_t getMaxSelectionNumChunks() const
     {
         return 37;
     }
 
-    /**
-     * The value returned is used when creating the oscilloscope. 
-     * The oscilloscope represents the audio output buffer graphically. However it doesn't need to be as refined as the 
-     * audio wave and it's downsampled using the following formula :  (number of oscilloscope points) = (size of audio output buffer) / getOscilloscopeNumPointsDivider() 
-     */ 
     size_t getOscilloscopeNumPointsDivider() const
     {
         return 4;
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/DrawInfo.h
--- a/CollidoscopeApp/include/DrawInfo.h
+++ b/CollidoscopeApp/include/DrawInfo.h
@@ -1,42 +1,11 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include "cinder/Area.h"
 
-/**
- * The DrawInfo class holds size information for drawing the waves in the screen. 
- * Every time the screen is resized the draw info is updated with the new information about the window size.
- *
- * Every wave has its own drawInfo.
- *
- */ 
 class DrawInfo
 {
 public:
 
-    /**
-     * Constructor. Takes the index of the wave as argument.
-     */ 
     DrawInfo( size_t waveIndex ):
         mWaveIndex( waveIndex ),
         mWindowWidth(0),
@@ -45,10 +14,6 @@
         mShrinkFactor(1)
     {}
 
-    /**
-     * Reset this DrawInfo using the new bounding area for the wave.  \a shrinkFactor 
-     * makes the wave shrink on the y axis with respect to the area. A factor 1 makes the wave as big as the area, whereas a factor >1 makes it shrink.
-     */ 
     void reset( const ci::Area &bounds, float shrinkFactor )
     {
         mWindowWidth = bounds.getWidth();
@@ -57,11 +22,7 @@
         mShrinkFactor = shrinkFactor;
     }
 
-    /**
-     * Maps a value in the audio space [-1.0, 1.0] to a position on the y axis of this DrawInfo's bounding area.
-     *
-     */ 
-    float audioToHeigt(float audioSample) const {
+	float audioToHeigt(float audioSample) const {
         /* clip into range [-1.1] */
         if (audioSample < -1.0f) {
             audioSample = -1.0f;
@@ -71,11 +32,11 @@
         }
 
         /* map from [-1,1] to [0,1] */
-        float ratio = (audioSample - (-1.0f)) * 0.5f; // 2 = 1 - (-1) 
+		float ratio = (audioSample - (-1.0f)) * 0.5f; // 2 = 1 - (-1) 
 
-        /* get bottom and add the scaled height */
+		/* get bottom and add the scaled height */
         return ratio * mSelectionBarHeight; //remove  bounds.getY1() bound only needed for size of tier
-    }
+	}
 
     float getMaxChunkHeight() const 
     {
@@ -87,36 +48,26 @@
         return mSelectionBarHeight;
     }
 
-    /**
-     * Returns the center position on the y axis of this DrawInfo's the bounding area. 
-     */ 
     int32_t getWaveCenterY() const
     {
         if ( mWaveIndex == 0 )
-            return mWindowHeight - ( mWindowHeight / ( 2 * NUM_WAVES ) ) + 1;
+            return mWindowHeight * 0.75f + 1;
         else
             return mWindowHeight / (NUM_WAVES * 2);
     }
 
-    /**
-     * Flips y according to the index of the wave. It is needed because the second wave in collidoscope is drawn upside down in the screen.
-     */ 
-    int flipY(int y) const 
+	int flipY(int y) const 
     {
         if ( mWaveIndex == 0)
-            return mWindowHeight - y;
+		    return mWindowHeight - y /*+ 24*/;
         else
-            return y;
-    }
+            return y /*- 24*/;
+	}
 
-    /**
-     * Returns x. not used at the moment.
-     *
-     */ 
-    int flipX(int x) const
+	int flipX(int x) const
     {
         return x;
-    }
+	}
 
 
     // how much the wave is shrunk on the y axis with respect to the wave's tier 
@@ -135,9 +86,6 @@
         return mWindowHeight;
     }
 
-    /**
-     * Draw infos cannot be copied and should be passed as const reference.
-     */ 
     DrawInfo( const DrawInfo &original ) = delete;
     DrawInfo & operator=( const DrawInfo &original ) = delete;
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/EnvASR.h
--- a/CollidoscopeApp/include/EnvASR.h
+++ b/CollidoscopeApp/include/EnvASR.h
@@ -1,75 +1,12 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin, based on CCRMA STK ADSR.h (https://ccrma.stanford.edu/software/stk/classstk_1_1ADSR.html) 
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice:
-
-    The Synthesis ToolKit in C++ (STK)
-
-    Copyright (c) 1995--2016 Perry R. Cook and Gary P. Scavone
-
-    Permission is hereby granted, free of charge, to any person obtaining
-    a copy of this software and associated documentation files (the
-    "Software"), to deal in the Software without restriction, including
-    without limitation the rights to use, copy, modify, merge, publish,
-    distribute, sublicense, and/or sell copies of the Software, and to
-    permit persons to whom the Software is furnished to do so, subject to
-    the following conditions:
-
-    The above copyright notice and this permission notice shall be
-    included in all copies or substantial portions of the Software.
-
-    Any person wishing to distribute modifications to the Software is
-    asked to send the modifications to the original developer so that they
-    can be incorporated into the canonical version.  This is, however, not
-    a binding provision of this license.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-    IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
-    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
 #pragma once 
 
 namespace collidoscope {
 
-
-/* 
- * An ASR envelope with linear shape. It is modeled after the STK envelope classes.
- * The tick() method advances the computation of the envelope one sample and returns the computed sample
- * The class is templated for the type of the samples that each tick of the envelope produces. 
- *
- * Client classes can set/get the current state of the envelope with the
- * respective getter/setter methods
- *
- */
 template <typename T>
 class EnvASR
 {
 public:
 
-    /** Possible states of the envelope. Idle means the envelope ouputs 0 */
     enum class State {
         eAttack,
         eSustain,
@@ -93,7 +30,6 @@
         mReleaseRate = T( 1.0 ) / (releaseTime * sampleRate);
     }
 
-    /** Produces one sample worth of envelope */
     T tick()
     {
 
@@ -152,4 +88,4 @@
 };
 
 
-}
+}
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Log.h
--- a/CollidoscopeApp/include/Log.h
+++ b/CollidoscopeApp/include/Log.h
@@ -1,38 +1,8 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once 
 
 
-/**
- * Utility function to log errors using the cinder::log library.
- * Errors are logged to collidoscope_error.log file. 
- *
- */ 
+
 void logError( const std::string &errorMsg );
 
 
-/**
- * Utility function to log info using the cinder::log library.
- * Errors are logged to the terminal. Used only for debugging.
- *
- */ 
-void logInfo( const std::string &infoMsg );
+void logInfo( const std::string &infoMsg );
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/MIDI.h
--- a/CollidoscopeApp/include/MIDI.h
+++ b/CollidoscopeApp/include/MIDI.h
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include "RtMidi.h"
@@ -31,7 +10,7 @@
 
 namespace collidoscope {
 
-// Exception thrown by MIDI system
+
 class MIDIException : public std::exception
 {
 public:
@@ -50,9 +29,6 @@
     std::string mMessage;
 };
 
-/**
- * A MIDI message 
- */ 
 class MIDIMessage
 {
     friend class MIDI;
@@ -64,14 +40,8 @@
 
     unsigned char getChannel() { return mChannel; }
 
-    /**
-     * First byte of MIDI data 
-     */ 
     unsigned char getData_1() { return mData1; }
 
-    /**
-     * Second byte of MIDI data 
-     */ 
     unsigned char getData_2() { return mData2; }
 
 private:
@@ -84,10 +54,7 @@
     
 };
 
-/**
- * Handles MIDI messages from the keyboards and Teensy. It uses RtMidi library.
- *
- */ 
+
 class MIDI
 {
 
@@ -98,32 +65,22 @@
 
     void setup( const Config& );
 
-    /**
-     * Check new incoming messages and stores them into the vector passed as argument by reference.
-     */ 
     void checkMessages( std::vector< MIDIMessage >&  );
 
 private:
 
-    // callback passed to RtMidi library 
     static void RtMidiInCallback( double deltatime, std::vector<unsigned char> *message, void *userData );
 
-    // parse RtMidi messages and turns them into more readable collidoscope::MIDIMessages
     MIDIMessage parseRtMidiMessage( std::vector<unsigned char> *message );
 
-    // messages to pass to checkMessages caller 
+    // messages to pass to checkMessages caller
     std::vector< MIDIMessage > mMIDIMessages;
-    // use specific variables for pitch bend messages. Pitch bend messages are coming 
-    // from the strip sensors that are very jerky and send a lot of values. So instead 
-    // of saving all the messages in mMIDIMessages just save the last received in mPitchBendMessages 
-    // and optimize away redundant messages.
     std::array< MIDIMessage, NUM_WAVES > mPitchBendMessages;
-    // Same principle as mPitchBendMessages
     std::array< MIDIMessage, NUM_WAVES > mFilterMessages;
 
-    // vector containing all the MIDI input devices detected.
+
+
     std::vector< std::unique_ptr <RtMidiIn> > mInputs;
-    // Used for mutual access to the MIDI messages by the MIDI thread and the graphic thread.  
     std::mutex mMutex;
 };
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Messages.h
--- a/CollidoscopeApp/include/Messages.h
+++ b/CollidoscopeApp/include/Messages.h
@@ -1,39 +1,13 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
-/**
- * Enumeration of all the possible commands exchanged between audio thread and graphic thread.
- *
- */ 
+
 enum class Command {
     // message carrying info about one chunk of recorder audio. 
     WAVE_CHUNK,
     // message sent when a new recording starts. The gui resets the wave upon receiving it. 
     WAVE_START,
 
-    // new grain created 
     TRIGGER_UPDATE,
-    // synth became idle
     TRIGGER_END,
 
     NOTE_ON,
@@ -43,23 +17,19 @@
     LOOP_OFF
 };
 
-/** Message sent from the audio thread to the graphic wave when a new wave is recorded. 
- *  
- *  The graphic thread sets the chunks of the wave to reflect the level of the recorded audio. 
- *  The algorithm takes the maximum and minimum value of a group of samples and this becomes the top and bottom of the chunk.
- *  The message carries also the index of the chunk it refers to 
- */
+/* Messages sent from the audio thread to the graphic wave. 
+   This includes the wave chunks when the audio is recorder in the buffer and 
+   the cursor position when the grains are reset.
+*/
 struct RecordWaveMsg
 {
-    Command cmd; // WAVE_CHUNK or WAVE_START
+    Command cmd;
     std::size_t index;
     float arg1;
     float arg2;
 };
 
-/**
- * Utility function to create a new RecordWaveMsg.
- */ 
+
 inline RecordWaveMsg makeRecordWaveMsg( Command cmd, std::size_t index, float arg1, float arg2 )
 {
     RecordWaveMsg msg;
@@ -71,20 +41,13 @@
     return msg;
 }
 
-/**
- * Message sent from the audio thread to the graphic thread when a new grain is triggered in the granular synthesizer. 
- * This creates a new cursor that travels from the beginning to the end of the selection to graphically represent the evolution of the grain in time. 
- *
- */ 
+
 struct CursorTriggerMsg
 {
-    Command cmd; // TRIGGER_UPDATE or TRIGGER_END
+    Command cmd;
     int synthID;
 };
 
-/**
- * Utility function to create a new CursorTriggerMsg.
- */ 
 inline CursorTriggerMsg makeCursorTriggerMsg( Command cmd, std::uint8_t synthID )
 {
     CursorTriggerMsg msg;
@@ -95,19 +58,13 @@
     return msg;
 }
 
-/**
- * Message sent from the graphic (main) thread to the audio thread to start a new voice of the granular synthesizer.
- */ 
 struct NoteMsg
 {
-    Command cmd; // NOTE_ON/OFF ot LOOP_ON/OFF 
+    Command cmd;
     int midiNote;
     double rate;
 };
 
-/**
- * Utility function to create a new NoteMsg.
- */ 
 inline NoteMsg makeNoteMsg( Command cmd, int midiNote, double rate )
 {
     NoteMsg msg;
@@ -117,4 +74,4 @@
     msg.rate = rate;
 
     return msg;
-}
+}
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Oscilloscope.h
--- a/CollidoscopeApp/include/Oscilloscope.h
+++ b/CollidoscopeApp/include/Oscilloscope.h
@@ -1,52 +1,19 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include "cinder/gl/gl.h"
 
 #include "DrawInfo.h"
 
-
-
-/**
- * The oscilloscope that oscillates when Collidoscope is played 
- */ 
 class Oscilloscope
 {
 
 public:
 
-    /**
-     * Constructor, accepts as argument the number of points that make up the oscilloscope line 
-     */ 
     Oscilloscope( size_t numPoints ):
         mNumPoints( numPoints ),
         mLine( std::vector<ci::vec2>( numPoints, ci::vec2() ) )
         {}
 
-    /**
-     * Sets the value of a point of the oscilloscope. The value is passed in audio coordinates [-1.0, 1.0].
-     * A reference to DrawInfo is passed to calculate the graphic coordinate of the point based on the audio values passed. 
-     */ 
     void  setPoint( int index, float audioVal, const DrawInfo &di ){
 
         if ( audioVal > 1.0f ){
@@ -57,18 +24,17 @@
         }
 
         audioVal *= 0.8f;
-        // map audio val from [-1.0, 1.0] to [0.0, 1.0]
-        // then map the value obtained to the height of the wave tier ( window height / NUM_WAVES ) 
+        // this yRatio is for the bottom scope, the top will be drawn with a translation/4
+        // because it's half of the half of the tier where the wave is drawn  
         float yRatio = ((1 + audioVal) / 2.0f) * (di.getWindowHeight() / NUM_WAVES );
         float xRatio = index * (di.getWindowWidth() / (float)mLine.size());
 
-        // this flips the coordinates for the second wave 
         mLine.getPoints()[index].x = float( di.flipX( int(xRatio) ) );
         mLine.getPoints()[index].y = float( di.flipY( int(yRatio) ) );
 
-        // add the missing line to reach the right of the window.
-        // Indeed, the scope starts from 0 to size-1 and adds xRatio
-        // to each new point. The line from n-1 to n is therefore missing.
+        // add the missing line to reach the right of the window
+        // indeed the scope starts from 0 to size -1 and adds xRatio
+        // to each new point to the line from n-1 to n is missing 
         if (index == mNumPoints - 1){
             xRatio += ( di.getWindowWidth() / mNumPoints );
             xRatio = ceil( xRatio ); // ceil because the division might left one pixel out
@@ -79,9 +45,6 @@
 
     }
 
-    /**
-     * Draws this oscilloscope as a cinder::PolyLine2f
-     */ 
     void draw()
     {
         ci::gl::color(1.0f, 1.0f, 1.0f);
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/PGranular.h
--- a/CollidoscopeApp/include/PGranular.h
+++ b/CollidoscopeApp/include/PGranular.h
@@ -1,25 +1,3 @@
-/*
-
- Copyright (C) 2002 James McCartney.
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin, based on Supercollider's (http://supercollider.github.io) TGrains code and Ross Bencina's "Implementing Real-Time Granular Synthesis"
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include <array>
@@ -32,29 +10,6 @@
 
 using std::size_t;
 
-/**
- * The very core of the Collidoscope audio engine: the granular synthesizer.
- * Based on SuperCollider's TGrains and Ross Bencina's "Implementing Real-Time Granular Synthesis" 
- *
- * It implements Collidoscope's selection-based approach to granular synthesis. 
- * A grain is basically a selection of a recorded sample of audio. 
- * Grains are played in a loop: they are re-triggered each time they reach the end of the selection.
- * However, if the duration coefficient is greater than one, a new grain is re-triggered before the previous one is done,
- * the grains start to overlap with each other and create the typical eerie sound of grnular synthesis.
- * Also every time a new grain is triggered, it is offset of a few samples from the initial position to make the timbre more interesting.
- *
- *
- * PGranular uses a linear ASR envelope with 10 milliseconds attack and 50 milliseconds release.
- *
- * Note that PGranular is header based and only depends on std library and on "EnvASR.h" (also header based).
- * This means you can embedd it in two your project just by copying these two files over.
- *
- * Template arguments: 
- * T: type of the audio samples (normally float or double) 
- * RandOffsetFunc: type of the callable passed as argument to the contructor
- * TriggerCallbackFunc: type of the callable passed as argument to the contructor
- *
- */ 
 template <typename T, typename RandOffsetFunc, typename TriggerCallbackFunc>
 class PGranular
 {
@@ -69,35 +24,21 @@
         return static_cast<T> ((1 - decimal) * xn + decimal * xn_1);
     }
 
-    /**
-     * A single grain of the granular synthesis 
-     */ 
     struct PGrain
     {
         double phase;    // read pointer to mBuffer of this grain 
         double rate;     // rate of the grain. e.g. rate = 2 the grain will play twice as fast
-        bool alive;      // whether this grain is alive. Not alive means it has been processed and can be replaced by another grain
+        bool alive;      // whether this grain is alive. Not alive means it has been processed and can be replanced by another grain
         size_t age;      // age of this grain in samples 
         size_t duration; // duration of this grain in samples. minimum = 4
 
-        double b1;       // hann envelope from Ross Becina's "Implementing real time Granular Synthesis"
+        double b1;       // hann envelope from Ross Becina "Implementing real time Granular Synthesis"
         double y1;
         double y2;
     };
 
 
 
-    /**
-     * Constructor.
-     *
-     * \param buffer a pointer to an array of T that contains the original sample that will be granulized
-     * \param bufferLen length of buffer in samples 
-     * \rand function of type size_t ()(void) that is called back each time a new grain is generated. The returned value is used 
-     * to offset the starting sample of the grain. This adds more colour to the sound especially with small selections. 
-     * \triggerCallback function of type void ()(char, int) that is called back each time a new grain is generated.
-     *      The function is passed the character 't' as first parameter when a new grain is triggered and the characted 'e' when the synth becomes idle (no sound).
-     * \ID id of this PGrain. Passed to the triggerCallback function as second parameter to identify this PGranular as the caller.
-     */ 
     PGranular( const T* buffer, size_t bufferLen, size_t sampleRate, RandOffsetFunc & rand, TriggerCallbackFunc & triggerCallback, int ID ) :
         mBuffer( buffer ),
         mBufferLen( bufferLen ),
@@ -130,30 +71,29 @@
 
     ~PGranular(){}
 
-    /** Sets multiplier of duration of grains in seconds */
+    /* sets multiplier of duration of grains in seconds */
     void setGrainsDurationCoeff( double coeff )
     {
         mGrainsDurationCoeff = coeff;
 
-        mGrainsDuration = std::lround( mTriggerRate * coeff ); 
+        mGrainsDuration = std::lround( mTriggerRate * coeff ); // FIXME check if right rounding 
 
         if ( mGrainsDuration < kMinGrainsDuration )
             mGrainsDuration = kMinGrainsDuration;
     }
 
-    /** Sets rate of grains. e.g rate = 2 means one octave higer */
+    /* sets rate of grains. e.g rate = 2 means one octave higer */
     void setGrainsRate( double rate )
     {
         mGrainsRate = rate;
     }
 
-    /** sets the selection start in samples */
+    // sets trigger rate in samples 
     void setSelectionStart( size_t start )
     {
         mGrainsStart = start;
     }
 
-    /** Sets the selection size ( and therefore the trigger rate) in samples */
     void setSelectionSize( size_t size )
     {
 
@@ -167,14 +107,11 @@
 
     }
 
-    /** Sets the attenuation of the grains with respect to the level of the recorded sample
-     *  attenuation is in amp value and defaule value is 0.25118864315096 (-12dB) */
     void setAttenuation( T attenuation )
     {
         mAttenuation = attenuation;
     }
 
-    /** Starts the synthesis engine */
     void noteOn( double rate )
     {
         if ( mEnvASR.getState() == EnvASR<T>::State::eIdle ){
@@ -188,7 +125,6 @@
         }
     }
 
-    /** Stops the synthesis engine */
     void noteOff()
     {
         if ( mEnvASR.getState() != EnvASR<T>::State::eIdle ){
@@ -196,19 +132,11 @@
         }
     }
 
-    /** Whether the synthesis engine is active or not. After noteOff is called the synth stays active until the envelope decays to 0 */
     bool isIdle()
     {
         return mEnvASR.getState() == EnvASR<T>::State::eIdle;
     }
 
-    /**
-     * Runs the granular engine and stores the output in \a audioOut
-     * 
-     * \param pointer to an array of T. This will be filled with the output of PGranular. It needs to be at least \a numSamples long
-     * \param tempBuffer a temporary buffer used to store the envelope value. It needs to be at least \a numSamples long
-     * \param numSamples number of samples to be processed 
-     */ 
     void process( T* audioOut, T* tempBuffer, size_t numSamples )
     {
         
@@ -216,7 +144,7 @@
         size_t envSamples = 0;
         bool becameIdle = false;
 
-        // process the envelope first and store it in the tempBuffer 
+        // do the envelope first and store it in the tempBuffer 
         for ( size_t i = 0; i < numSamples; i++ ){
             tempBuffer[i] = mEnvASR.tick();
             envSamples++;
@@ -228,10 +156,8 @@
             }
         }
 
-        // does the actual grains processing 
         processGrains( audioOut, tempBuffer, envSamples );
 
-        // becomes idle if the envelope goes to idle state 
         if ( becameIdle ){
             mTriggerCallback( 'e', mID );
             reset();
@@ -248,7 +174,7 @@
             synthesizeGrain( mGrains[grainIdx], audioOut, envelopeValues, numSamples );
 
             if ( !mGrains[grainIdx].alive ){
-                // this grain is dead so copy the last of the active grains here 
+                // this grain is dead so copyu the last of the active grains here 
                 // so as to keep all active grains at the beginning of the array 
                 // don't increment grainIdx so the last active grain is processed next cycle
                 // if this grain is the last active grain then mNumAliveGrains is decremented 
@@ -317,13 +243,12 @@
         }
     }
 
-    // synthesize a single grain 
     // audioOut = pointer to audio block to fill 
-    // numSamples = number of samples to process for this block
+    // numSamples = numpber of samples to process for this block
     void synthesizeGrain( PGrain &grain, T* audioOut, T* envelopeValues, size_t numSamples )
     {
 
-        // copy all grain data into local variable for faster processing
+        // copy all grain data into local variable for faster porcessing
         const auto rate = grain.rate;
         auto phase = grain.phase;
         auto age = grain.age;
@@ -365,8 +290,8 @@
         }
 
         if ( age == duration ){
-            // if it processed all the samples left to leave ( numSamplesToOut = duration-age)
-            // then the grain is finished 
+            // if it porocessed all the samples left to leave ( numSamplesToOut = duration-age)
+            // then the grain is had finished 
             grain.alive = false;
         }
         else{
@@ -399,15 +324,15 @@
     // length of mBuffer in samples 
     const size_t mBufferLen;
 
-    // offset in the buffer where the grains start. a.k.a. selection start 
+    // offset in the buffer where the grains start. a.k.a. seleciton start 
     size_t mGrainsStart;
 
-    // attenuates signal prevents clipping of grains (to some degree)
+    // attenuates signal prevents clipping of grains 
     T mAttenuation;
 
     // grain duration in samples 
     double mGrainsDurationCoeff;
-    // duration of grains is selection size * duration coeff
+    // duration of grains is selcection size * duration coeff
     size_t mGrainsDuration;
     // rate of grain, affects pitch 
     double mGrainsRate;
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/PGranularNode.h
--- a/CollidoscopeApp/include/PGranularNode.h
+++ b/CollidoscopeApp/include/PGranularNode.h
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include "cinder/Cinder.h"
@@ -40,7 +19,7 @@
 struct RandomGenerator;
 
 /*
-A node in the Cinder audio graph that holds PGranulars for loop and keyboard playing  
+A node in the Cinder audio graph that holds a PGranular 
 */
 class PGranularNode : public ci::audio::Node
 {
@@ -51,13 +30,12 @@
     explicit PGranularNode( ci::audio::Buffer *grainBuffer, CursorTriggerMsgRingBuffer &triggerRingBuffer );
     ~PGranularNode();
 
-    /** Set selection size in samples */
+    // set selection size in samples 
     void setSelectionSize( size_t size )
     {
         mSelectionSize.set( size );
     }
 
-    /** Set selection start in samples */
     void setSelectionStart( size_t start )
     {
         mSelectionStart.set( start );
@@ -68,21 +46,19 @@
         mGrainDurationCoeff.set( coeff );
     }
 
-    /* PGranularNode passes itself as trigger callback in PGranular */
+    // used for trigger callback in PGRanular 
     void operator()( char msgType, int ID );
 
     ci::audio::dsp::RingBufferT<NoteMsg>& getNoteRingBuffer() { return mNoteMsgRingBufferPack.getBuffer(); }
 
 protected:
     
-    void initialize()                           override;
+    void initialize()							override;
 
-    void process( ci::audio::Buffer *buffer )   override;
+    void process( ci::audio::Buffer *buffer )	override;
 
 private:
 
-    // Wraps a std::atomic but get() returns a boost::optional that is set to a real value only when the atomic has changed. 
-    //  It is used to avoid calling PGranular setter methods with the same value at each audio callback.
     template< typename T>
     class LazyAtomic
     {
@@ -114,19 +90,17 @@
         T mPreviousVal;
     };
 
-    // creates or re-start a PGranular and sets the pitch according to the MIDI note passed as argument
     void handleNoteMsg( const NoteMsg &msg );
 
-    // pointers to PGranular objects 
+    // pointer to PGranular object 
     std::unique_ptr < collidoscope::PGranular<float, RandomGenerator, PGranularNode > > mPGranularLoop;
     std::array<std::unique_ptr < collidoscope::PGranular<float, RandomGenerator, PGranularNode > >, kMaxVoices> mPGranularNotes;
-    // maps midi notes to pgranulars. When a noteOff is received makes sure the right PGranular is turned off
     std::array<int, kMaxVoices> mMidiNotes;
 
     // pointer to the random generator struct passed over to PGranular 
     std::unique_ptr< RandomGenerator > mRandomOffset;
     
-    // buffer containing the recorded audio, to pass to PGranular in initialize()
+    /* buffer containing the recorder audio, to pass to PGranular in initialize() */
     ci::audio::Buffer *mGrainBuffer;
 
     ci::audio::BufferRef mTempBuffer;
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/ParticleController.h
--- a/CollidoscopeApp/include/ParticleController.h
+++ b/CollidoscopeApp/include/ParticleController.h
@@ -1,46 +1,20 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
 #pragma once
 
 #include "cinder/gl/gl.h"
 #include <vector>
 
-/**
- * The ParticleController creates/updates/draws and destroys particles
- */ 
+
 class ParticleController {
 
     struct Particle {
 
-        ci::vec2	mCloudCenter; // initial positin of the particle 
-        ci::vec2	mVel;         // velocity 
-        float       mCloudSize;   // how big is the area where particle float around. When a particle hits the 
-                                  // border of the area it gets deflected 
+        ci::vec2	mCloudCenter;
+        ci::vec2	mVel;
+        float       mCloudSize;
 
-        int			mAge;      // when mAge == mLifeSpan the particle is disposed 
-        int			mLifespan; // how long a particle lives
-        bool        mFlyOver;  // some particles last longer and fly over the screen and reach the other user
+        int			mAge;
+        int			mLifespan;
+        bool        mFlyOver;
 
     };
 
@@ -49,34 +23,19 @@
 	std::vector<Particle> mParticles;
     std::vector< ci::vec2 > mParticlePositions;
 
-    // current number of active particles
     size_t mNumParticles;
 
-    ci::gl::VboRef			mParticleVbo;    // virtual buffer object 
+    ci::gl::VboRef			mParticleVbo;
     ci::gl::BatchRef		mParticleBatch;
 
  public:
-    /**
-     * Every time addParticles is run, up to kMaxParticleAdd are added at once
-     */ 
     static const int kMaxParticleAdd = 22;
 
     ParticleController();
-
-    /**
-     * Adds \a amount particles and places them in \a initialLocation. 
-     * \cloudSize determines how far the particles can go
-     */ 
 	void addParticles(int amount, const ci::vec2 &initialLocation, const float cloudSize);
 	
-    /**
-     * Updates position and age of the particles
-     */ 
     void updateParticles();
 
-    /**
-     * Draws all the particles
-     */ 
     inline void draw()
     {
         mParticleBatch->draw();
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Resources.h
--- a/CollidoscopeApp/include/Resources.h
+++ b/CollidoscopeApp/include/Resources.h
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 #include "cinder/CinderResources.h"
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/RingBufferPack.h
--- a/CollidoscopeApp/include/RingBufferPack.h
+++ b/CollidoscopeApp/include/RingBufferPack.h
@@ -1,30 +1,10 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #pragma once
 
 #include "cinder/audio/dsp/RingBuffer.h"
 
 
-/** Packs together a cinder::audio::dsp::RingBuffer and the related array used passed as argument to exchange data (read/write) with the ring buffer  */
+/* Packs together a RingBuffer and the erlated array used to exchange data (read/write) with the ring buffer 
+*/
 template <typename T>
 class RingBufferPack {
 
@@ -60,4 +40,4 @@
     T* mArray;
 
 
-};
+};
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/include/Wave.h
--- a/CollidoscopeApp/include/Wave.h
+++ b/CollidoscopeApp/include/Wave.h
@@ -1,25 +1,3 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
 #pragma once
 
 
@@ -52,75 +30,58 @@
 using ci::Color;
 using ci::ColorA;
 
-/**
- * A Cursor is the white thingy that loops through the selection when Collidoscope is played.
- */ 
 struct Cursor {
     static const int kNoPosition = -100;
     int pos;
     double lastUpdate;
 };
 
-/**
- * Collidoscope's graphical wave 
- *
- */ 
+
 class Wave
 {
-    friend class ParticleController;
+	friend class ParticleController;
 
 public:
 
-    /**
-     * The selection of the wave that is controlled by the big horizontal knob
-     *
-     */ 
-    class Selection {
-        
-    public:
+	class Selection {
+		
+	public:
 
         Selection( Wave * w, Color color );
         
-        /** Sets the start of selection. start is the index of the first chunk of the selection  */
         void setStart( size_t start );
 
-        /** Sets the size of selection. size is the number of chunks the selection is made of */
-        void setSize( size_t size );
-        
-        /** The particle spread parameter affects the size of the cloud of particles
-         *  The cloud is the visual counterpart of the grain duration coefficient in sound.
-         *  Indeed spread accepts values from 1 to 8, exactly as the duration coefficient
-         */
+		void setSize( size_t size );
+		
         void inline setParticleSpread( float spread ){
             mParticleSpread = spread;
-        }
+		}
 
-        size_t getStart(void) const { return mSelectionStart; }
-        
+		size_t getStart(void) const { return mSelectionStart; }
+		
         size_t getEnd(void) const { return mSelectionEnd; }
 
-        size_t inline getSize(void) const { 
-            if (mNull)
-                return 0;
-            else
-                return 1 + mSelectionEnd - mSelectionStart; 
-        }
+		size_t inline getSize(void) const { 
+			if (mNull)
+				return 0;
+			else
+				return 1 + mSelectionEnd - mSelectionStart; 
+		}
 
-        float inline  getParticleSpread() const { return mParticleSpread; }
+		float inline  getParticleSpread() const { return mParticleSpread; }
 
-        /** When selection is null no selection is showed on the wave */
-        inline void setToNull(){
+		inline void setToNull(){
             mParticleSpread = 1.0f;
-            mNull = true;
-        }
+			mNull = true;
+		}
 
-        inline bool isNull() const{
-            return mNull;
-        }
+		inline bool isNull() const{
+			return mNull;
+		}
 
-        inline const Color & getColor() const{
-            return mColor;
-        }
+		inline const Color & getColor() const{
+			return mColor;
+		}
 
     private:
 
@@ -136,98 +97,90 @@
 
         Wave * mWave;
 
-    }; // class Selection
+	}; // class Selection
 
-    
+	
 
 #ifdef USE_PARTICLES
-    ParticleController mParticleController;
+	ParticleController mParticleController;
 #endif 
 
-    
+	
 
-    /* Maps id of the synth to cursor. There is one cursor for each Synth being played */
-    std::map < SynthID, Cursor > mCursors;
-    /** Holds the positions of the cursor, namely on which chunk the cursor is currently on */
-    std::vector<int> mCursorsPos;
+	/* there is one cursor for each Synth being played */
+	std::map < SynthID, Cursor > mCursors;
+	std::vector<int> mCursorsPos;
 
 public:
-    
-    // value used to identify the loop for cursor position 
+	
+    // note used to identify the loop for cursor position 
     static const int kLoopNote = -1;
-    static const cinder::Color CURSOR_CLR;
-    static const int MAX_DURATION = 8;
+	static const cinder::Color CURSOR_CLR;
+	/* must be in sync with supercollider durationFactor ControlSpec max */
+	static const int MAX_DURATION = 8;
 #ifdef USE_PARTICLES
-    static const int PARTICLESIZE_COEFF = 40;
+	static const int PARTICLESIZE_COEFF = 40;
 #endif
 
-    /** Resetting a wave makes it shrink until it disappears. Each time a new sample is recorded, the wave is reset.
-     *  \param onlyChunks if false the selection is also set to null, if true only the chunks are reset
-     */
-    void reset(bool onlyChunks);
+	void reset(bool onlyChunks);
 
-    /** sets top and bottom values for the chunk. 
-     * \a bottom and \a top are in audio coordinates [-1.0, 1.0]
-     */
-    void setChunk(size_t index, float bottom, float top);
+	void setChunk(size_t index, float bottom, float top);
 
-    const Chunk & getChunk(size_t index);
+	const Chunk & getChunk(size_t index);
 
-    /** Places the cursor on the wave. Every cursor is associated to a synth voice of the audio engine. 
-     *  The synth id identifies uniquely the cursor in the internal map of the wave.
-     *  If the cursor doesn't exist it is created */
     inline void setCursorPos( SynthID id, int pos, const DrawInfo& di ){
 
-        Cursor & cursor = mCursors[id];
-        cursor.pos = pos;
-        cursor.lastUpdate = ci::app::getElapsedSeconds();
+	    Cursor & cursor = mCursors[id];
+	    cursor.pos = pos;
+	    cursor.lastUpdate = ci::app::getElapsedSeconds();
 
 #ifdef USE_PARTICLES
-        // The idea is that, if the duration is greater than 1.0, the cursor continues in form of particles.
-        // The smaller the selection the more particles; the bigger the duration the more particles. 
-        if (mSelection.getParticleSpread() > 1.0f){
-            /* amountCoeff ranges from 1/8 to 1 */
+	    /* if the duration is greater than 1.0 carry on the cursor as a particle
+	    the smaller the selection the more particles
+	    the bigger the duration the more particles */
+	    if (mSelection.getParticleSpread() > 1.0f){
+		    /* amountCoeff ranges from 1/8 to 1 */
             const float amountCoeff = (mSelection.getParticleSpread() / MAX_DURATION);
                 
             /* get radom point within seleciton as center of the particle */
-            vec2 centrePoint;
+            vec2 centrePoint; // was former getRandomPoint
             const int randomChunkIndex = ci::Rand::randInt(mSelection.getStart(), mSelection.getEnd() );
 
             centrePoint.x = di.flipX( 1 + (randomChunkIndex * (2 + Chunk::kWidth)) + Chunk::kWidth / 2 );
             centrePoint.y = di.flipY( di.audioToHeigt(0.0) );
 
             const float wavePixelLen = mNumChunks * ( 2 + Chunk::kWidth);
-            centrePoint.x *= float(di.getWindowWidth()) / wavePixelLen;
+		    centrePoint.x *= float(di.getWindowWidth()) / wavePixelLen;
 
-            mParticleController.addParticles(
+		    mParticleController.addParticles(
                 std::max( 1, (int)(amountCoeff * ParticleController::kMaxParticleAdd * mFilterCoeff) ), // amount of particles to add 
-                centrePoint,
+			    centrePoint,
                 mSelection.getParticleSpread() * PARTICLESIZE_COEFF   // size of the cloud 
-                );
-        }
+			    );
+	    }
 #endif
 
-        
-    }
+		
+	}
 
     void update( double secondsPerChunk, const DrawInfo& di );
 
     void removeCursor( SynthID id ) { mCursors.erase( id ); }
 
-    /** Sets the transparency of this wave. \a alpha ranges from 0 to 1 */
-    inline void setselectionAlpha(float alpha){ mFilterCoeff = alpha;}
+    // parameter ranges from 0 to 1 
+	inline void setselectionAlpha(float alpha){ mFilterCoeff = alpha;}
 
     void draw( const DrawInfo& di );
 
-    Selection& getSelection() { return mSelection; };
+	Selection& getSelection() { return mSelection; };
 
-    size_t getSize() const{ return mChunks.size();  }
+	size_t getSize() const{ return mChunks.size();  }
 
-    void setScopePoint(int index, float audioVal);
+	void setScopePoint(int index, float audioVal);
 
     Wave( size_t numChunks, Color selectionColor );
 
-    /** no copies */
+    // no copies 
     Wave( const Wave &copy ) = delete;
     Wave & operator=(const Wave &copy) = delete;
 
@@ -242,10 +195,8 @@
 
     cinder::Color mColor;
 
-    // How much filter is applied in audio. It affects the alpha value of the selection color.
     float mFilterCoeff;
 
-    // cinder gl batch for batch drawing 
     ci::gl::BatchRef mChunkBatch;
 
 };
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/linux/CMakeLists.txt
--- a/CollidoscopeApp/linux/CMakeLists.txt
+++ b/CollidoscopeApp/linux/CMakeLists.txt
@@ -5,7 +5,7 @@
 get_filename_component( CINDER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../.." ABSOLUTE )
 include( ${CINDER_DIR}/linux/cmake/Cinder.cmake )
 
-project( CollidoscopeApp )
+project( Collidoscope )
 
 get_filename_component( SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../src" ABSOLUTE )
 get_filename_component( INC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../include" ABSOLUTE )
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/AudioEngine.cpp
--- a/CollidoscopeApp/src/AudioEngine.cpp
+++ b/CollidoscopeApp/src/AudioEngine.cpp
@@ -1,33 +1,10 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
 #include "AudioEngine.h"
-// app.h include not used 
 #include "cinder/app/App.h"
+//FIXME remove App.h include 
 #include "Log.h"
 
 using namespace ci::audio;
 
-/* Frequency ratios in the chromatic scale */
 double chromaticRatios[] = { 
     1, 
     1.0594630943591, 
@@ -43,14 +20,6 @@
     1.8877486253586 
 };
 
-
-/*
- * Calculates the ratio between the frequency of the midi note passed as argument and middle C note ( MIDI value = 60 ).
- * This is used for pitch shifting the granular synth output, according to the key pressed by the user.
- * The middle C is taken as reference in pitch in the pitch shifting of Collidoscope output.
- * That is, with the middle C the output is not pitch shifted at all and is equal in frequency to the recorder sample.
- *
- */ 
 inline double calculateMidiNoteRatio( int midiNote )
 {
     int distanceFromCenter = midiNote - 60; // 60 is the central midi note 
@@ -87,7 +56,7 @@
     /* audio context */
     auto ctx = Context::master();
 
-    /* audio input device */
+    /* audio inpu device */
     auto inputDeviceNode = ctx->createInputDeviceNode( Device::getDefaultInput() );
  
 
@@ -102,13 +71,13 @@
         /* this prevents the node from recording before record is pressed */
         mBufferRecorderNodes[chan]->setAutoEnabled( false );
 
-        // route the input part of the audio graph. Two channels input goes into one channel route
-        // and from one channel route to one channel buffer recorder 
+        // route the input part of the audio graph. Two channels input goes into
+        // one channel route and to one channel buffer recorder 
         inputDeviceNode >> mInputRouterNodes[chan]->route( chan, 0, 1 ) >> mBufferRecorderNodes[chan];
 
 
         // create PGranular loops passing the buffer of the RecorderNode as argument to the contructor 
-        // use -1 as ID as the loop corresponds to no midi note 
+        // use -1 as ID 
         mPGranularNodes[chan] = ctx->makeNode( new PGranularNode( mBufferRecorderNodes[chan]->getRecorderBuffer(), mCursorTriggerRingBufferPacks[chan]->getBuffer() ) );
 
         // create filter nodes 
@@ -126,7 +95,7 @@
         // filter goes to output 
         mLowPassFilterNodes[chan] >> mOutputRouterNodes[chan]->route( 0, chan, 1 ) >> ctx->getOutput();
         
-        // what goes to output goes to oscilloscope as well
+        // what goes to output goes to scope 
         mLowPassFilterNodes[chan] >> mOutputMonitorNodes[chan];
 
     }
@@ -205,7 +174,6 @@
     return mBufferRecorderNodes[waveIdx]->getRingBuffer().getAvailableRead();
 }
 
- 
 bool AudioEngine::readRecordWave( size_t waveIdx, RecordWaveMsg* buffer, size_t count )
 {
     return mBufferRecorderNodes[waveIdx]->getRingBuffer().read( buffer, count );
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/BufferToWaveRecorderNode.cpp
--- a/CollidoscopeApp/src/BufferToWaveRecorderNode.cpp
+++ b/CollidoscopeApp/src/BufferToWaveRecorderNode.cpp
@@ -1,48 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
 #include "BufferToWaveRecorderNode.h"
 #include "cinder/audio/Context.h"
 #include "cinder/audio/Target.h"
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/Chunk.cpp
--- a/CollidoscopeApp/src/Chunk.cpp
+++ b/CollidoscopeApp/src/Chunk.cpp
@@ -1,27 +1,3 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-
 #include "Chunk.h"
 #include "DrawInfo.h"
 
@@ -44,7 +20,7 @@
 void Chunk::update( const DrawInfo &di )
 {
     using namespace ci;
-    /* if resetting animate the chunks to nicely shrink to 0 size */
+    /* if resetting animate the chunks to shrink to 0 size */
     if ( mResetting ){
         if ( mAnimate > 0.0f ){
             mAnimate -= 0.1f;
@@ -64,20 +40,21 @@
         }
     }
 
-    mX = di.flipX( 1 + (mIndex * (2 + kWidth)) ); // FIXME more efficient if it happens only once when resized 
+    mX = di.flipX( 1 + (mIndex * (2 + kWidth)) ); // FIXME this should happen only once when resized 
 }
 
 void Chunk::draw( const DrawInfo& di, ci::gl::BatchRef &batch ){
     using namespace ci;
-    
+	
     gl::pushModelMatrix();
 
     const float chunkHeight = mAnimate * mAudioTop * di.getMaxChunkHeight();
 
-    // place the chunk in the right position brings back the y of chunkHeight/2 so
+    // place the chunk in the right position brigns back the y of chunkHeight/2 so
     // so that after scaling the wave is still centered at the wave center 
     gl::translate( mX, di.getWaveCenterY() - ( chunkHeight / 2 ) - 1 );
 
+    // FIXME todo use max between top and bottom
     // scale according to audio amplitude 
     gl::scale( 1.0f, chunkHeight );
     batch->draw();
@@ -88,7 +65,7 @@
 
 
 void Chunk::drawBar( const DrawInfo& di, ci::gl::BatchRef &batch ){
-    using namespace ci;
+	using namespace ci;
 
     gl::pushModelMatrix();
 
@@ -104,4 +81,4 @@
 
 
 const float Chunk::kWidth = 7.0f;
-const float Chunk::kHalfWidth = 3.5f;
+const float Chunk::kHalfWidth = 3.5f;
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/CollidoscopeApp.cpp
--- a/CollidoscopeApp/src/CollidoscopeApp.cpp
+++ b/CollidoscopeApp/src/CollidoscopeApp.cpp
@@ -1,30 +1,7 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-
 #include "cinder/app/App.h"
 #include "cinder/app/RendererGl.h"
 #include "cinder/gl/gl.h"
 #include "cinder/Exception.h"
-#include <stdexcept>
 
 
 #include "Config.h"
@@ -45,29 +22,25 @@
 class CollidoscopeApp : public App {
   public:
 
-    void setup() override;
+	void setup() override;
     void setupGraphics();
 
-    /** Receives MIDI command messages from MIDI thread */
     void receiveCommands();
-    /** Prints command line usage */
-    void usage();
 
-    void keyDown( KeyEvent event ) override;
-    void update() override;
-    void draw() override;
+	void keyDown( KeyEvent event ) override;
+	void update() override;
+	void draw() override;
     void resize() override;
 
-    Config mConfig;
+	Config mConfig;
     collidoscope::MIDI mMIDI;
     AudioEngine mAudioEngine;
-    
+	
     array< shared_ptr< Wave >, NUM_WAVES > mWaves;
     array< shared_ptr< DrawInfo >, NUM_WAVES > mDrawInfos;
     array< shared_ptr< Oscilloscope >, NUM_WAVES > mOscilloscopes;
-    // buffer to read the WAVE_* messages as a new wave gets recorded 
+    // buffers to read the wave messages as a new wave gets recorded 
     array< RecordWaveMsg*, NUM_WAVES> mRecordWaveMessageBuffers;
-    //buffer to read the TRIGGER_* messages as the pgranulars play
     array< vector< CursorTriggerMsg >, NUM_WAVES > mCursorTriggerMessagesBuffers;
 
     double mSecondsPerChunk;
@@ -125,59 +98,76 @@
 {
     char c = event.getChar();
 
-    const size_t waveIdx = 0;
-
     switch (c){
     case 'r' : 
-        mAudioEngine.record( waveIdx );
+        mAudioEngine.record( 0 );
+        mAudioEngine.record( 1 );
         break;
 
     case 'w': {
+        mWaves[0]->getSelection().setSize(mWaves[0]->getSelection().getSize() + 1);
 
-        mWaves[waveIdx]->getSelection().setSize(mWaves[waveIdx]->getSelection().getSize() + 1);
-
-        size_t numSelectionChunks = mWaves[waveIdx]->getSelection().getSize();
+        size_t numSelectionChunks = mWaves[0]->getSelection().getSize();
         // how many samples in one selection ?
         size_t selectionSize = numSelectionChunks * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
 
-        mAudioEngine.setSelectionSize(waveIdx, selectionSize);
+        mAudioEngine.setSelectionSize(0, selectionSize);
+    };
+        break;
+
+    case 'e': {
+        mWaves[1]->getSelection().setSize(mWaves[1]->getSelection().getSize() + 1);
+
+        size_t numSelectionChunks = mWaves[1]->getSelection().getSize();
+        // how many samples in one selection ?
+        size_t selectionSize = numSelectionChunks * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
+
+        mAudioEngine.setSelectionSize(1, selectionSize);
     };
         break;
 
     case 's': {
 
-        mWaves[waveIdx]->getSelection().setSize( mWaves[waveIdx]->getSelection().getSize() - 1 );
+        mWaves[0]->getSelection().setSize( mWaves[0]->getSelection().getSize() - 1 );
 
-        size_t selectionSize = mWaves[waveIdx]->getSelection().getSize() *(mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
-        mAudioEngine.setSelectionSize( waveIdx, selectionSize );
+        size_t selectionSize = mWaves[0]->getSelection().getSize() *(mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
+        mAudioEngine.setSelectionSize( 0, selectionSize );
     };
         break;
 
     case 'd': {
 
-        size_t selectionStart = mWaves[waveIdx]->getSelection().getStart();
-        mWaves[waveIdx]->getSelection().setStart( selectionStart + 1 );
+        for( size_t waveIdx = 0; waveIdx < NUM_WAVES; waveIdx++){
+            size_t selectionStart = mWaves[waveIdx]->getSelection().getStart();
+            mWaves[waveIdx]->getSelection().setStart( selectionStart + 1 );
 
-        selectionStart = mWaves[waveIdx]->getSelection().getStart();
-        mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
+            selectionStart = mWaves[waveIdx]->getSelection().getStart();
+            mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
+        }
     };
 
         break;
 
     case 'a': {
-        size_t selectionStart = mWaves[waveIdx]->getSelection().getStart();
+        size_t selectionStart = mWaves[0]->getSelection().getStart();
         
         if ( selectionStart == 0 )
             return;
 
-        mWaves[waveIdx]->getSelection().setStart( selectionStart - 1 );
+        mWaves[0]->getSelection().setStart( selectionStart - 1 );
 
-        selectionStart = mWaves[waveIdx]->getSelection().getStart();
+        selectionStart = mWaves[0]->getSelection().getStart();
 
-        mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
+        mAudioEngine.setSelectionStart( 0, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
     };
         break;
 
+
+    case 'p':
+
+        mWaves[0]->setCursorPos(  4, mWaves[0]->getSelection().getStart(), *mDrawInfos[0] ) ;
+        break;
+
     case 'f':
         setFullScreen( !isFullScreen() );
         break;
@@ -186,36 +176,49 @@
         static bool isOn = false;
         isOn = !isOn;
         if ( isOn ){
-            mAudioEngine.loopOn( waveIdx );
+            mAudioEngine.loopOn( 0 );
+            mAudioEngine.loopOn( 1 );
         }
         else{
-            mAudioEngine.loopOff( waveIdx );
+            mAudioEngine.loopOff( 0 );
+            mAudioEngine.loopOff( 1 );
         }
     };
         break;
 
+	case 'm' :
+		mAudioEngine.setGrainDurationCoeff(0, 8);
+		break;
+
+    case 'n': {
+        mAudioEngine.setGrainDurationCoeff( 0, 1 );
+    };
+        break;
+
     case '9': {
-        int c = mWaves[waveIdx]->getSelection().getParticleSpread();
+        int c = mWaves[0]->getSelection().getParticleSpread();
         if ( c == 1 )
             return;
         else
             c -= 1;
 
-        mAudioEngine.setGrainDurationCoeff( waveIdx, c );
-        mWaves[waveIdx]->getSelection().setParticleSpread( float( c ) );
-
+        mAudioEngine.setGrainDurationCoeff( 0, c );
+        mWaves[0]->getSelection().setParticleSpread( float( c ) );
+        mAudioEngine.setGrainDurationCoeff( 1, c );
+        mWaves[1]->getSelection().setParticleSpread( float( c ) );
     }; break;
 
     case '0': {
-        int c = mWaves[waveIdx]->getSelection().getParticleSpread();
+        int c = mWaves[0]->getSelection().getParticleSpread();
         if ( c == 8 )
             return;
         else
             c += 1;
 
-        mAudioEngine.setGrainDurationCoeff( waveIdx, c );
-        mWaves[waveIdx]->getSelection().setParticleSpread( float( c ) );
+        mAudioEngine.setGrainDurationCoeff( 0, c );
+        mWaves[0]->getSelection().setParticleSpread( float( c ) );
     }; break;
+
     }
 
 }
@@ -290,7 +293,7 @@
 
 void CollidoscopeApp::draw()
 {
-    gl::clear( Color( 0, 0, 0 ) );
+	gl::clear( Color( 0, 0, 0 ) );
 
     for ( int i = 0; i < NUM_WAVES; i++ ){
         if ( i == 1 ){
@@ -356,8 +359,8 @@
             value |= MSB;
             
 
-            // value ranges from 0 to 149. check boundaries in case sensor gives bad values 
-            if ( value > 149 ){ // FIXME can use wave.size() 
+            // value ranges from 0 to 1050. check boundaries in case sensor gives bad values 
+            if ( value > 149 ){ // FIXME pareametrizer 
                 continue;
             }
 
@@ -385,7 +388,7 @@
                 mWaves[waveIdx]->getSelection().setSize( numSelectionChunks );
 
                 // how many samples in one selection ?
-                size_t selectionSize = mWaves[waveIdx]->getSelection().getSize() * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
+				size_t selectionSize = mWaves[waveIdx]->getSelection().getSize() * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
                 mAudioEngine.setSelectionSize( waveIdx, selectionSize );
 
             };
@@ -443,33 +446,9 @@
     }
 }
 
-
 CINDER_APP( CollidoscopeApp, RendererGl, [] ( App::Settings *settings) {
-
-    const std::vector< string > args = settings->getCommandLineArgs();
-
-    int width = 0;
-    int height = 0;
-
-    try {
-        if( args.size() != 3 )
-            throw std::invalid_argument("");
-
-        width  = std::stoi( args[1] );
-        height = std::stoi( args[2] );
-
-    }
-    catch( std::invalid_argument & e ){
-        console() << "Error: invalid arguments" << std::endl;
-        console() << "Usage: ./CollidoscopeApp window_width window_height" << std::endl;  
-        console() << "For example: ./CollidoscopeApp 1024 768 " << std::endl;  
-
-        settings->setShouldQuit( true );
-        return;
-    }
-
-    settings->setWindowSize( width, height );
-    settings->setMultiTouchEnabled( false );
-    settings->disableFrameRate();
+        settings->setWindowSize( 1920, 1080 );
+        settings->setMultiTouchEnabled( false );
+        settings->disableFrameRate();
 
 } )
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/Config.cpp
--- a/CollidoscopeApp/src/Config.cpp
+++ b/CollidoscopeApp/src/Config.cpp
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #include "Config.h"
 
 
@@ -38,7 +17,7 @@
 
 }
 
-// uses Cinder api to parse configuration in XML file 
+
 void Config::loadFromFile( std::string&& path )
 {
     try {
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/Log.cpp
--- a/CollidoscopeApp/src/Log.cpp
+++ b/CollidoscopeApp/src/Log.cpp
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 
 #include "cinder/Log.h"
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/MIDI.cpp
--- a/CollidoscopeApp/src/MIDI.cpp
+++ b/CollidoscopeApp/src/MIDI.cpp
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #include "MIDI.h"
 #include "Config.h"
 
@@ -152,4 +131,4 @@
     msg.mData2 = (numBytes == 3 ? (*rtMidiMessage)[2] : 0);
 
     return msg;
-}
+}
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/PGranularNode.cpp
--- a/CollidoscopeApp/src/PGranularNode.cpp
+++ b/CollidoscopeApp/src/PGranularNode.cpp
@@ -1,24 +1,3 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
 #include "PGranularNode.h"
 
 #include "cinder/audio/Context.h"
@@ -65,7 +44,7 @@
 {
     mTempBuffer = std::make_shared< ci::audio::Buffer >( getFramesPerBlock() );
 
-    mRandomOffset.reset( new RandomGenerator( getSampleRate() / 100 ) ); // divided by 100 corresponds to multiplied by 0.01 in the time domain 
+    mRandomOffset.reset( new RandomGenerator( getSampleRate() / 100 ) ); // divided by 100 corresponds to times 0.01 in the time domain 
 
     /* create the PGranular object for looping */
     mPGranularLoop.reset( new collidoscope::PGranular<float, RandomGenerator, PGranularNode>( mGrainBuffer->getData(), mGrainBuffer->getNumFrames(), getSampleRate(), *mRandomOffset, *this, -1 ) );
@@ -80,6 +59,7 @@
 void PGranularNode::process (ci::audio::Buffer *buffer )
 {
     // only update PGranular if the atomic value has changed from the previous time
+
     const boost::optional<size_t> selectionSize = mSelectionSize.get();
     if ( selectionSize ){
         mPGranularLoop->setSelectionSize( *selectionSize );
@@ -132,7 +112,6 @@
     }
 }
 
-// Called back when new PGranular is triggered or turned off. Sends notification message to graphic thread.
 void PGranularNode::operator()( char msgType, int ID ) {
 
     switch ( msgType ){
@@ -167,7 +146,7 @@
         }
 
         if ( !synthFound ){
-            // then look for a free voice 
+            // then look for a free synth 
             for ( int i = 0; i < kMaxVoices; i++ ){
 
                 if ( mMidiNotes[i] == kNoMidiNote ){
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/ParticleController.cpp
--- a/CollidoscopeApp/src/ParticleController.cpp
+++ b/CollidoscopeApp/src/ParticleController.cpp
@@ -1,26 +1,3 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
 #include "ParticleController.h"
 #include "cinder/Rand.h"
 
@@ -33,9 +10,6 @@
 mNumParticles( 0 )
 
 {
-    // uses Cinder (and OpenGL) drawing based on virtual buffer object
-    // see ParticleSphereCPU example in Cinder library 
-     
     mParticles.assign( kMaxParticles, Particle() );
     mParticlePositions.assign( kMaxParticles, vec2( -1, -1 ) );
 
@@ -46,7 +20,6 @@
 
     auto mesh = gl::VboMesh::create( mParticlePositions.size(), GL_POINTS, { { particleLayout, mParticleVbo } } );
 
-    // creates glsl program to run the batch with 
 #if ! defined( CINDER_GL_ES )
     auto glsl = gl::GlslProg::create( gl::GlslProg::Format()
         .vertex( CI_GLSL( 150,
@@ -97,7 +70,6 @@
 
 void ParticleController::updateParticles()
 {
-    // update the positions of the particles and dispose them if they've reached their timespan
     for ( size_t i = 0; i < mNumParticles; i++ ){
 
         Particle &particle = mParticles[i];
@@ -123,8 +95,6 @@
         }
     }
 
-    // Copy particle data onto the GPU.
-	// Map the GPU memory and write over it.
     void *gpuMem = mParticleVbo->mapReplace();
     memcpy( gpuMem, mParticlePositions.data(), mParticlePositions.size() * sizeof( vec2 ) );
     mParticleVbo->unmap();
@@ -132,13 +102,11 @@
 
 void ParticleController::addParticles(int amount, const vec2 &initialLocation, const float cloudSize)
 {
-    // reduce the particles linearly to the total number of particles already present 
-    // the more particles aleary present the less particle are added
     int reduction = ci::lmap<int>(mNumParticles, 0, kMaxParticles, 0, kMaxParticleAdd);
     amount -= reduction;
 
     if ( mNumParticles + amount > kMaxParticles ){
-		//a.k.a. return if reached kMaxParticles 
+		//return;
         amount = kMaxParticles - mNumParticles;
 	}
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeApp/src/Wave.cpp
--- a/CollidoscopeApp/src/Wave.cpp
+++ b/CollidoscopeApp/src/Wave.cpp
@@ -1,26 +1,3 @@
-/*
-
- Copyright (C) 2015  Fiore Martin
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
 #include "Wave.h"
 #include "DrawInfo.h"
 
@@ -29,17 +6,16 @@
 
 Wave::Wave( size_t numChunks, Color selectionColor ):
     mNumChunks( numChunks ),
-    mSelection( this, selectionColor ),
-    mColor(Color(0.5f, 0.5f, 0.5f)),
+	mSelection( this, selectionColor ),
+	mColor(Color(0.5f, 0.5f, 0.5f)),
     mFilterCoeff( 1.0f )
 {
-    mChunks.reserve( numChunks );
+	mChunks.reserve( numChunks );
 
-    for ( size_t i = 0; i < numChunks; i++ ){
-        mChunks.emplace_back( i );
-    }
+	for ( size_t i = 0; i < numChunks; i++ ){
+		mChunks.emplace_back( i );
+	}
 
-    // init cinder batch drawing
     auto lambert = gl::ShaderDef().color();
     gl::GlslProgRef shader = gl::getStockShader( lambert );
     mChunkBatch = gl::Batch::create( geom::Rect( ci::Rectf( 0, 0, Chunk::kWidth, 1 ) ), shader );
@@ -47,27 +23,27 @@
 
 void Wave::reset( bool onlyChunks )
 {
-    for (size_t i = 0; i < getSize(); i++){
-        mChunks[i].reset();
-    }
+	for (size_t i = 0; i < getSize(); i++){
+		mChunks[i].reset();
+	}
 
-    if (onlyChunks)
-        return;
+	if (onlyChunks)
+		return;
 
-    mSelection.setToNull();
+	mSelection.setToNull();
 }
 
 
 void Wave::setChunk(size_t index, float bottom, float top)
 {
-    Chunk &c = mChunks[index];
-    c.setTop(top);
-    c.setBottom(bottom);
+	Chunk &c = mChunks[index];
+	c.setTop(top);
+	c.setBottom(bottom);
 }
 
 inline const Chunk & Wave::getChunk(size_t index)
 {
-    return mChunks[index];
+	return mChunks[index];
 }
 
 void Wave::update( double secondsPerChunk, const DrawInfo& di ) {
@@ -87,12 +63,9 @@
 
         double elapsed = now - itr->second.lastUpdate;
 
-        // A chunk of audio corresponds to a certain time lenght of audio, according to sample rate.
-        // Use elapsed time to advance through chunks so that the cursor is animated. 
-        // So it goes from start to end of the selection in the time span of the grain 
         itr->second.pos = mSelection.getStart() + int( elapsed / secondsPerChunk );
 
-        // check we don't go too far off 
+        /* check we don't go too far off */
         if (itr->second.pos > mSelection.getEnd()){
             itr->second.pos = Cursor::kNoPosition;
         }
@@ -112,30 +85,30 @@
 void Wave::draw( const DrawInfo& di ){
 
 
-    /* ########### draw the particles ########## */
+	/* ########### draw the particles ########## */
 #ifdef USE_PARTICLES
-    mParticleController.draw();
+	mParticleController.draw();
 #endif
 
-    /* ########### draw the wave ########## */
-    /* scale the wave to fit the window */
-    gl::pushModelView(); 
+	/* ########### draw the wave ########## */
+	/* scale the wave to fit the window */
+	gl::pushModelView(); 
 
-    
-    const float wavePixelLen =  ( mNumChunks * ( 2 + Chunk::kWidth ) );
-    /* scale the x-axis for the wave to fit the window precisely */
-    gl::scale( ((float)di.getWindowWidth() ) / wavePixelLen , 1.0f);
-    /* draw the chunks */
-    if (mSelection.isNull()){
-        /* no selection: all chunks the same color */
-        gl::color(mColor); 
-        for (size_t i = 0; i < getSize(); i++){
-            mChunks[i].draw( di, mChunkBatch );
-        }
-    }
+	
+	const float wavePixelLen =  ( mNumChunks * ( 2 + Chunk::kWidth ) );
+	/* scale the x-axis for the wave to fit the window */
+	gl::scale( ((float)di.getWindowWidth() ) / wavePixelLen , 1.0f);
+	/* draw the chunks */
+	if (mSelection.isNull()){
+		/* no selection: all chunks the same color */
+		gl::color(mColor); 
+		for (size_t i = 0; i < getSize(); i++){
+			mChunks[i].draw( di, mChunkBatch );
+		}
+	}
     else{ 
         // Selection not null 
-        gl::color(this->mColor); 
+		gl::color(this->mColor); 
 
         // update the array with cursor positions 
         mCursorsPos.clear();
@@ -143,48 +116,48 @@
             mCursorsPos.push_back( cursor.second.pos );
         }
 
-        gl::enableAlphaBlending();
+		gl::enableAlphaBlending();
 
-        const float selectionAlpha = 0.5f + mFilterCoeff * 0.5f;
+		const float selectionAlpha = 0.5f + mFilterCoeff * 0.5f;
 
 
-        for (size_t i = 0; i < getSize(); i++){
-            /* when in selection use selection color */
-            
-            if (i == mSelection.getStart()){
-                /* draw the selection bar with a transparent selection color */
-                gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, 0.5f);
+		for (size_t i = 0; i < getSize(); i++){
+			/* when in selection use selection color */
+			
+			if (i == mSelection.getStart()){
+				/* draw the selection bar with a transparent selection color */
+				gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, 0.5f);
                 mChunks[i].drawBar( di, mChunkBatch );
 
-                /* set the color to the selection */
-                gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, selectionAlpha);
-            }
+				/* set the color to the selection */
+				gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, selectionAlpha);
+			}
 
-            // check if one of the cursors is positioned in this chunk, and draw it white if it is 
-            if (std::find(mCursorsPos.begin(), mCursorsPos.end(),i) != mCursorsPos.end() ){
-                gl::color(CURSOR_CLR);
-                mChunks[i].draw( di, mChunkBatch );
-                gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, selectionAlpha);
-            }
-            else{
-                /* just draw with current color */
-                mChunks[i].draw( di, mChunkBatch );
-            }
-            
-            /* exit selection: go back to wave color */
-            if (i == mSelection.getEnd()){
-                /* draw the selection bar with a transparent selection color */
-                gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, 0.5f);
+            // check if one of the cursors is positioned in this chunk  
+			if (std::find(mCursorsPos.begin(), mCursorsPos.end(),i) != mCursorsPos.end() ){
+				gl::color(CURSOR_CLR);
+				mChunks[i].draw( di, mChunkBatch );
+				gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, selectionAlpha);
+			}
+			else{
+				/* just draw with current color */
+				mChunks[i].draw( di, mChunkBatch );
+			}
+			
+			/* exit selection: go back to wave color */
+			if (i == mSelection.getEnd()){
+				/* draw the selection bar with a transparent selection color */
+				gl::color(mSelection.getColor().r, mSelection.getColor().g, mSelection.getColor().b, 0.5f);
                 mChunks[i].drawBar( di, mChunkBatch );
-                /* set the color to the wave */
-                gl::color(this->mColor);  
-            }
-        }
-        gl::disableAlphaBlending();
-    }
-    
+				/* set the colo to the wave */
+				gl::color(this->mColor);  
+			}
+		}
+		gl::disableAlphaBlending();
+	}
+	
 
-    gl::popModelView();
+	gl::popModelView();
 
 }
 
@@ -203,16 +176,16 @@
 
 void Wave::Selection::setStart(size_t start)  {
 
-    /* deselect the previous */
+	/* deselect the previous */
     mWave->mChunks[mSelectionStart].setAsSelectionStart( false );
-    /* select the next */
+	/* select the next */
     mWave->mChunks[start].setAsSelectionStart( true );
-    
-    mNull = false;
+	
+	mNull = false;
 
     size_t size = getSize();
 
-    mSelectionStart = start;
+	mSelectionStart = start;
     mSelectionEnd = start + size - 1;
     if ( mSelectionEnd > mWave->getSize() - 1 )
         mSelectionEnd = mWave->getSize() - 1;
@@ -233,14 +206,14 @@
         size = mWave->mNumChunks - mSelectionStart - 1;
     }
 
-    /* deselect the previous */
+	/* deselect the previous */
     mWave->mChunks[mSelectionEnd].setAsSelectionEnd( false );
 
     mSelectionEnd = mSelectionStart + size;
-    /* select the next */
+	/* select the next */
     mWave->mChunks[mSelectionEnd].setAsSelectionEnd( true );
 
-    mNull = false;
+	mNull = false;
 }
 
 
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeTeensy/CollidoscopeTeensy_new.ino
--- a/CollidoscopeTeensy/CollidoscopeTeensy_new.ino
+++ /dev/null
@@ -1,307 +0,0 @@
-
-/******************************************************************************
- *  Copyright (C) 2015  Ben Bengler (mail@benbengler.com)
- *  Copyright (C) 2016  Queen Mary University of London 
- *  Authors: Ben Bengler, Fiore Martin, Christopher Paton (christopher.paton@gmail.com)
- *
- *  This file is part of Collidoscope.
- *
- *  Collidoscope is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *  
- ****************************************************************************
- *
- *  Teensy 2 ++ pinout: https://www.pjrc.com/teensy/card4b.pdf
- *  
- *  ANALOG INPUTS:
- *  Wavejet   -> F0 (38) [Horizontal rail 1]
- *  Wavejet   -> F1 (39) [Horizontal rail 2]
- *  Filter 1  -> F2 (40) [Vertical rail 1]
- *  Filter 2  -> F4 (42) [Vertical rail 2] 
- *
- *  DIGITAL INPUTS [INTERRUPTS]:
- *  Sel. length 1  -> INT0/INT1 (0, 1)  [Encoder 1]
- *  Sel. length 2  -> INT2/INT3 (2, 3)  [Encoder 2]
- *  Duration 1     -> INT4/INT5 (36, 37)[Encoder 3] 
- *  Duration 2     -> INT6/INT7 (18, 19)[Encoder 4] 
- *
- *  DIGITAL INPUTS:
- *  Play1 toggle  -> B0 (20)
- *  Record1       -> B1 (21)
- *  Play2 toggle  -> B3 (22)
- *  Record2       -> B4 (24)
- *  
- *  DIGITAL OUTPUTS:
- *  Record Button 1 Led -> D4 (4)
- *  Record Button 2 Led -> D5 (5)
- *
- ******************************************************************************/ 
-
-#include <Encoder.h>
-#include <Bounce.h>
-
-///////////////////////////////////////////////////
-//MIDI settings
-const int midi_chan_inst1 = 1; // MIDI channel for Instrument 1
-const int midi_chan_inst2 = 2; // MIDI channel for Instrument 2
-
-const int cc_length = 1;    // MIDI cc controlling selection length
-const int cc_duration = 2;  // MIDI cc controlling grain duration
-const int cc_filter = 7;    // MIDI cc controlling LP filter
-const int cc_play = 4;      // MIDI cc controlling PLAY
-const int cc_record = 5;    // MIDI cc controlling RECORD
-
-///////////////////////////////////////////////////
-// Interface Inputs
-
-//Buttons
-
-const int Pin_play1 = 20;       //B0    
-const int Pin_record1 = 21;     //B1
-const int Pin_play2 = 23;       //B3
-const int Pin_record2 = 24;     //B4
-const int Pin_record1_led =  4; //D4
-const int Pin_record2_led =  5; //D5
-const int Pin_MIDIled =  6;
-
-Bounce button1 = Bounce(Pin_play1, 5); 
-Bounce button2 = Bounce(Pin_record1, 5); 
-Bounce button3 = Bounce(Pin_play2, 5); 
-Bounce button4 = Bounce(Pin_record2, 5); 
-
- 
-//Encoders
-Encoder Enc1 (0, 1);  //Encoder for section length on Wavejet 1
-Encoder Enc2 (2, 3);  //Encoder for section length on Wavejet 2
-Encoder Enc3 (36, 37); //Encoder for duration of Wavejet 1 [granularisation effect]
-Encoder Enc4 (18, 19); //Encoder for duration of Wavejet 2 [granularisation effect]
-
-
-// Variables
-const int jitter_thresh = 10; // threshold value for analog INs to make up for input jitter 
-
-//Store recent values to detect parameter change
-long Enc1_old = -999;
-long Enc2_old = -999;
-
-long Enc3_old = -999;
-long Enc4_old = -999;
-
-uint16_t Jet1_old = 0;
-int16_t Jet1_old_MIDI = -1;
-uint16_t Jet2_old = 0;
-int16_t Jet2_old_MIDI = -1;
-
-uint16_t filter1_old = 0;
-int16_t filter1_old_MIDI = -1;
-uint16_t filter2_old = 0;
-int16_t filter2_old_MIDI = -1;
-
-uint16_t dur1_old = 0;
-int16_t dur1_old_MIDI = -1;
-uint16_t dur2_old = 0;
-int16_t dur2_old_MIDI = -1;
-
-
-void setup() 
-{  
-  pinMode(Pin_play1, INPUT_PULLUP); 
-  pinMode(Pin_record1, INPUT_PULLUP);
-  pinMode(Pin_play2, INPUT_PULLUP);
-  pinMode(Pin_record2, INPUT_PULLUP);
-  
-  
-  pinMode(Pin_MIDIled, OUTPUT); 
-  pinMode(Pin_record1_led, OUTPUT);
-  pinMode(Pin_record2_led, OUTPUT);
-}
-
-void loop() 
-{
-  digitalWrite(Pin_MIDIled, LOW);
-  digitalWrite(Pin_record1_led, HIGH);
-  digitalWrite(Pin_record2_led, HIGH);
-  
-  button1.update();
-  button2.update();
-  button3.update();
-  button4.update();
-
-  uint16_t Jet1_new = analogRead(0);      //read Wavejet/Rail 1; ADJUST INPUT RANGE ACCORDING TO SENSOR 
-  uint16_t Jet2_new = analogRead(1);      //read Wavejet/Rail 2; ADJUST INPUT RANGE ACCORDING TO SENSOR 
-  uint16_t filter1_new = analogRead(2);   //read filter Instrument 1; ADJUST INPUT RANGE ACCORDING TO SENSOR 
-  uint16_t filter2_new = analogRead(4);   //read filter Instrument 2; ADJUST INPUT RANGE ACCORDING TO SENSOR 
-  uint16_t dur1_new = analogRead(3); 
-  uint16_t dur2_new = analogRead(5);
-  
-  //------ SEND INSTRUMENT 1 MIDI -----------
-  
-  // Play button instrument 1
-  if (button1.fallingEdge()){   
-   usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst1);
-  }
-   
-  if (button1.risingEdge()){   
-   usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst1);
-  }
-
-   
-  // Record button instrument 1
-  if (button2.fallingEdge()){   
-   usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst1);
-  }
-
-  // Selection start position instrument 1 
-  // <calibrate>
-  if (Jet1_new > Jet1_old+jitter_thresh || Jet1_new < Jet1_old-jitter_thresh){
-
-    int16_t midiVal = constrain( map(Jet1_new, 994, 121, 0, 149), 0, 149 );
-    if( midiVal != Jet1_old_MIDI ){
-      Jet1_old_MIDI = midiVal;
-      usbMIDI.sendPitchBend( midiVal, midi_chan_inst1 );
-    }
-
-    Jet1_old = Jet1_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-
-  //Filter instrument 1
-  // <calibrate>
-  if ( filter1_new != filter1_old ) {
-
-    int16_t midiVal = constrain( map(filter1_new, 137, 734, 0, 127), 0, 127 );
-    if( midiVal != filter1_old_MIDI){
-      filter1_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst1);
-    }
-    
-    filter1_old = filter1_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-  
-  //Selection length instrument 1
-  long Enc1_new = Enc1.read();
-  Enc1_new = constrain(Enc1_new, 0, 127); //constrain to 7-bit MIDI range
- 
-  if (Enc1_new <= 0){ //Dynamic reset of counter to MIDI range 
-    Enc1.write(0); 
-  }
-  else if (Enc1_new >= 127){
-    Enc1.write(127); 
-  }
-  
-  if (Enc1_new != Enc1_old) {
-    Enc1_old = Enc1_new;
-    usbMIDI.sendControlChange(cc_length, Enc1_new, midi_chan_inst1);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-  
-  //Grain duration instrument 1
-  long Enc3_new = Enc3.read();
-  Enc3_new = constrain(Enc3_new, 0, 127); //constrain to 7-bit MIDI range
-
-  if (Enc3_new <= 0){
-    Enc3.write(0); 
-  }
-  else if (Enc3_new >= 127){
-    Enc3.write(127); 
-  }
- 
-  if (Enc3_new != Enc3_old) {
-    Enc3_old = Enc3_new;
-    usbMIDI.sendControlChange(cc_duration, Enc3_new, midi_chan_inst1);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-
-  //------ SEND INSTRUMENT 2 MIDI -----------
-  
-  
-  //Play button instrument 2   
-  if (button3.fallingEdge()) {   
-    usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst2);
-  }
-  
-  if (button3.risingEdge()) {   
-    usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst2);
-  }
-  
-  //Record button instrument 2
-  if (button4.fallingEdge()) {   
-    usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst2);
-  }
-
-  // Selection start position instrument 2 
-  // <calibrate> 
-  if (Jet2_new > Jet2_old+jitter_thresh || Jet2_new < Jet2_old-jitter_thresh) {
-	
-    int16_t midiVal = constrain( map( Jet2_new, 103, 993, 149, 0 ), 0, 149 );
-    
-    if( midiVal != Jet2_old_MIDI ){
-      Jet2_old_MIDI = midiVal;
-      usbMIDI.sendPitchBend( midiVal, midi_chan_inst2 );
-    }
-
-    Jet2_old = Jet2_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-  
-  //Filter instrument 2
-  // <calibrate>
-  if ( filter2_new != filter2_old ) {
- 
-    int16_t midiVal = constrain( map(filter2_new, 125, 684, 0, 127), 0, 127 );
-    if( midiVal != filter2_old_MIDI){
-      filter2_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst2);
-    }
-    
-    filter2_old = filter2_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }   
-  
-  //Selection length instrument 2 
-  long Enc2_new = Enc2.read();
-  Enc2_new = constrain(Enc2_new, 0, 127); //constrain to 7-bit MIDI range
-  
-  if (Enc2_new <= 0){ //Dynamic reset of counter to MIDI range 
-    Enc2.write(0); 
-  }
-  else if (Enc2_new >= 127){
-    Enc2.write(127); 
-  }
-
-  if (Enc2_new != Enc2_old) {
-    Enc2_old = Enc2_new;
-    usbMIDI.sendControlChange(cc_length, Enc2_new, midi_chan_inst2);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-  
-  //Grain duration instrument 2
-  long Enc4_new = Enc4.read();
-  Enc4_new = constrain(Enc4_new, 0, 127); //constrain to 7-bit MIDI range
-  
-  if (Enc4_new <= 0){
-    Enc4.write(0); 
-  }
-  else if (Enc4_new >= 127){
-    Enc4.write(127); 
-  }
-
-  if (Enc4_new != Enc4_old) {
-    Enc4_old = Enc4_new;
-    usbMIDI.sendControlChange(cc_duration, Enc4_new, midi_chan_inst2);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-    
-}
-
diff -r f1ff1a81be20 -r 02467299402e CollidoscopeTeensy/CollidoscopeTeensy_original.ino
--- a/CollidoscopeTeensy/CollidoscopeTeensy_original.ino
+++ /dev/null
@@ -1,301 +0,0 @@
-/******************************************************************************
- *  Copyright (C) 2015  Ben Bengler (mail@benbengler.com)
- *  Copyright (C) 2016  Queen Mary University of London 
- *  Authors: Ben Bengler, Fiore Martin
- *
- *  This file is part of Collidoscope.
- *
- *  Collidoscope is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *  
- ****************************************************************************
- *
- *  Teensy 2 ++ pinout: https://www.pjrc.com/teensy/card4b.pdf
- *  
- *  ANALOG INPUTS:
- *  Wavejet   -> F0 (38) [Horizontal rail 1]
- *  Wavejet   -> F1 (39) [Horizontal rail 2]
- *  Filter 1  -> F2 (40) [Fader with moon/sun 1]
- *  Filter 2  -> F4 (42) [Fader with moon/sun 2] 
- *  Duration 1-> F3 (41) [Fader with grains 1]
- *  Duration 2-> F5 (43) [Fader with grains 2]
- *
- *  DIGITAL INPUTS [INTERRUPTS]:
- *  Sel. length 1  -> INT0/INT1 (0, 1)  [Encoder 1]
- *  Sel. length 2  -> INT2/INT3 (2, 3)  [Encoder 2] 
- *
- *  DIGITAL INPUTS:
- *  Play1 toggle  -> B0 (20)
- *  Record1       -> B1 (21)
- *  Play2 toggle  -> B3 (22)
- *  Record2       -> B4 (24)
- *  
- *  DIGITAL OUTPUTS:
- *  Record Button 1 Led -> D4 (4)
- *  Record Button 2 Led -> D5 (5)
- *
- ******************************************************************************/ 
-
-
-#include <Encoder.h>
-#include <Bounce.h>
-
-///////////////////////////////////////////////////
-//MIDI settings
-const int midi_chan_inst1 = 1; // MIDI channel for Instrument 1
-const int midi_chan_inst2 = 2; // MIDI channel for Instrument 2
-
-const int cc_length = 1;    // MIDI cc controlling selection length
-const int cc_duration = 2;  // MIDI cc controlling duration
-const int cc_filter = 7;    // MIDI cc controlling LP filter
-const int cc_play = 4;      // MIDI cc controlling PLAY
-const int cc_record = 5;    // MIDI cc controlling RECORD
-
-
-///////////////////////////////////////////////////
-//Default Values:
-const int  Enc_def = 64; //default selection length  
-int MIDI_led_state = LOW;
-
-///////////////////////////////////////////////////
-// Interface Inputs
-
-//Buttons:
-
-const int Pin_play1 = 20;       //B0    
-const int Pin_record1 = 21;     //B1
-const int Pin_play2 = 23;       //B3
-const int Pin_record2 = 24;     //B4
-const int Pin_record1_led =  4; //D4
-const int Pin_record2_led =  5; //D5
-const int Pin_MIDIled =  6;
-
-Bounce button1 = Bounce(Pin_play1, 5); 
-Bounce button2 = Bounce(Pin_record1, 5); 
-Bounce button3 = Bounce(Pin_play2, 5); 
-Bounce button4 = Bounce(Pin_record2, 5); 
-
- 
-//Encoder
-Encoder Enc1 (0, 1);  //Encoder for section length on Wavejet 1
-Encoder Enc2 (2, 3);  //Encoder for section length on Wavejet 2
-
-
-// Variables
-const int jitter_thresh = 10; // threshold value for analog INs to suppress sending MIDI due to input jitter 
-
-void setup() {  
-
-pinMode(Pin_play1, INPUT_PULLUP); 
-pinMode(Pin_record1, INPUT_PULLUP);
-pinMode(Pin_play2, INPUT_PULLUP);
-pinMode(Pin_record2, INPUT_PULLUP);
-
-
-pinMode(Pin_MIDIled, OUTPUT); 
-pinMode(Pin_record1_led, OUTPUT);
-pinMode(Pin_record2_led, OUTPUT);
-}
-
-//Store recent values to detect parameter change
-long Enc1_old = -999;
-long Enc2_old = -999;
-
-uint16_t Jet1_old = 0;
-int16_t Jet1_old_MIDI = -1;
-uint16_t Jet2_old = 0;
-int16_t Jet2_old_MIDI = -1;
-
-uint16_t filter1_old = 0;
-int16_t filter1_old_MIDI = -1;
-uint16_t filter2_old = 0;
-int16_t filter2_old_MIDI = -1;
-
-uint16_t dur1_old = 0;
-int16_t dur1_old_MIDI = -1;
-uint16_t dur2_old = 0;
-int16_t dur2_old_MIDI = -1;
-
-void loop() {
-
-  digitalWrite(Pin_MIDIled, LOW);
-  digitalWrite(Pin_record1_led, HIGH);
-  digitalWrite(Pin_record2_led, HIGH);
-  button1.update();
-  button2.update();
-  button3.update();
-  button4.update();
-
-  
-  uint16_t Jet1_new = analogRead(0);      //read Wavejet/Rail 1; ADJUST INPUT RANGE ACCORDING TO SENSOR    
-  uint16_t Jet2_new = analogRead(1);      //read Wavejet/Rail 2; ADJUST INPUT RANGE ACCORDING TO SENSOR    
-  uint16_t filter1_new = analogRead(2);   //read filter Instrument 1;    
-  uint16_t filter2_new = analogRead(4);   //read filter Instrument 2;
-  uint16_t dur1_new = analogRead(3); 
-  uint16_t dur2_new = analogRead(5);
-
-  
-  //Encoder 1 [Controls selection length of wave 1]
-  long Enc1_new = Enc1.read();
-  Enc1_new = constrain(Enc1_new, 0, 127); //constrain to 7-bit MIDI range
-  
-  //Dynamic reset of counter to MIDI range 
-  if (Enc1_new <= 0){
-    Enc1.write(0); 
-  }
-  else if (Enc1_new >= 127){
-    Enc1.write(127); 
-  }
-     
-  //Encoder 2 [Controls selection length of wave 2]
-  long Enc2_new = Enc2.read();
-  Enc2_new = constrain(Enc2_new, 0, 127); //constrain to 7-bit MIDI range
-  
-  //Dynamic reset of counter to MIDI range 
-  if (Enc2_new <= 0){
-    Enc2.write(0); 
-  }
-  else if (Enc2_new >= 127){
-    Enc2.write(127); 
-  }
-
- //Instrument 1 Controls//////////////////////////////////////  
- 
- //Loop/Keymode Switch Instrument 1 
-   
- if (button1.risingEdge()) {   
-   usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst1);
- }
-   
- if (button1.fallingEdge()) {   
-   usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst1);
- }
-     
-   
- //Record Instrument 1
- if (button2.fallingEdge()) {   
-   usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst1);
- }
-
- //send MIDI Wavejet 1 [Position Instrument 1]
- //<calibrate>
- if (Jet1_new > Jet1_old+jitter_thresh || Jet1_new < Jet1_old-jitter_thresh) {
-    int16_t midiVal = constrain( map(Jet1_new, 18, 800, 0, 149), 0, 149 );
-    if( midiVal != Jet1_old_MIDI ){
-      Jet1_old_MIDI = midiVal;
-      usbMIDI.sendPitchBend( midiVal, midi_chan_inst1 );
-    }
-
-    Jet1_old = Jet1_new;
-    digitalWrite(Pin_MIDIled, HIGH);
- }
-
-
- //send MIDI Filter 1 [Filter Instrument 1]
- if ( filter1_new != filter1_old ) {
-    int16_t midiVal = constrain( map(filter1_new, 0, 1024, 0, 127), 0, 127 );
-    if( midiVal != filter1_old_MIDI){
-      //Serial.println( midiVal );
-      filter1_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst1);
-    }
-    
-    filter1_old = filter1_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-
-  if ( dur1_new != dur1_old ) {
- 
-    int16_t midiVal = constrain( map(dur1_new, 0, 1024, 0, 127), 0, 127 );
-    if( midiVal != dur1_old_MIDI){
-      dur1_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst1);
-    }
-    
-    dur1_old = dur1_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-
-  //send MIDI Encoder 1 [Selection length Instrument 1]
-  if (Enc1_new != Enc1_old) {
-    Enc1_old = Enc1_new;
-    usbMIDI.sendControlChange(cc_length, Enc1_new, midi_chan_inst1);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-
-  
-  
-  //Instrument 2 Controls//////////////////////////////////////  
-  
-  //Loop/Keymode Switch Instrument 2
-   
-  if (button3.risingEdge()) {   
-    usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst2);
-  }
-  
-  if (button3.fallingEdge()) {   
-    usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst2);
-  }
-  
-  //Record Instrument 2
-  if (button4.fallingEdge()) {   
-    usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst2);
-  }
-
-  //send MIDI Wavejet 2 [Position Instrument 2]
-  //<calibrate>
-  if (Jet2_new > Jet2_old+jitter_thresh || Jet2_new < Jet2_old-jitter_thresh) {
-    int16_t midiVal = constrain( map( Jet2_new, 15, 780, 0, 149 ), 0, 149 );
-    if( midiVal != Jet2_old_MIDI ){
-      Jet2_old_MIDI = midiVal;
-      usbMIDI.sendPitchBend( midiVal, midi_chan_inst2 );
-    }
-
-    Jet2_old = Jet2_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-  
-   if ( filter2_new != filter2_old ) {
-    int16_t midiVal = constrain( map(filter2_new, 0, 1024, 0, 127), 0, 127 );
-    if( midiVal != filter2_old_MIDI){
-      //Serial.println( midiVal );
-      filter2_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst2);
-    }
-    
-    filter2_old = filter2_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-   }
-
-   if ( dur2_new != dur2_old ) {
-    int16_t midiVal = constrain( map(dur2_new, 0, 1024, 0, 127), 0, 127 );
-    if( midiVal != dur2_old_MIDI){
-      //Serial.println( midiVal );
-      dur2_old_MIDI = midiVal;
-      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst2);
-    }
-    
-    dur2_old = dur2_new;
-    digitalWrite(Pin_MIDIled, HIGH);
-   }
-   
-  
-  //send MIDI Encoder 2 [Selection length Instrument 2]
-  if (Enc2_new != Enc2_old) {
-    Enc2_old = Enc2_new;
-    usbMIDI.sendControlChange(cc_length, Enc2_new, midi_chan_inst2);
-    digitalWrite(Pin_MIDIled, HIGH);
-  }
-    
-}
-
diff -r f1ff1a81be20 -r 02467299402e GPLv3_license.txt
--- a/GPLv3_license.txt
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e JackDevice/ContextJack.cpp
--- a/JackDevice/ContextJack.cpp
+++ b/JackDevice/ContextJack.cpp
@@ -1,337 +1,301 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
-
-#include "cinder/audio/linux/ContextJack.h"
-#include "cinder/audio/Exception.h"
-
-#define NUM_CHANNELS 2
-
-namespace cinder { namespace audio { namespace linux {
-
-
-
-//--------------------------------------static utilities------------------------------------------
-
-inline void zeroJackPort( jack_port_t *port, jack_nframes_t nframes )
-{   
-  // FIXME seg fault at shutdown 
-  // memset(port, 0, sizeof(jack_default_audio_sample_t) * nframes); 
-}
-
-// copy audio from node buffer to jack port 
-inline void copyToJackPort(jack_port_t *port, float *source, jack_nframes_t nframes )
-{
-    jack_default_audio_sample_t *out;
-    out = (jack_default_audio_sample_t *) jack_port_get_buffer( port, nframes );
-
-    memcpy( out, source, sizeof(jack_default_audio_sample_t) * nframes ) ;
-}
-
-// copy audio from jack port to  node buffer
-inline void copyFromJackPort(jack_port_t *port, float *dest, jack_nframes_t nframes )
-{
-    jack_default_audio_sample_t *in;
-    in = (jack_default_audio_sample_t *) jack_port_get_buffer( port, nframes );
-
-    memcpy( dest, in, sizeof(jack_default_audio_sample_t) * nframes ) ;
-}
-
-
-// -------------------------------OutputDeviceNodeJack-------------------------------------------
-
-int OutputDeviceNodeJack::jackCallback(jack_nframes_t nframes, void* userData)
-{
-    // retrieve user data 
-    RenderData *renderData = static_cast<RenderData *>( userData );
-
-    OutputDeviceNodeJack *outputDeviceNode = static_cast<OutputDeviceNodeJack *>( renderData->outputNode );
-
-    auto ctx = renderData->outputNode->getContext();
-    if( ! ctx ) {
-        // this is from some cinder library code but it should not happen in Collidoscope as the context is set
-        for( size_t chan = 0; chan < NUM_CHANNELS; chan++)
-            zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
-
-        return 0;
-    }
-
-    std::lock_guard<std::mutex> lock( ctx->getMutex() );
-    
-    // verify associated context still exists, which may not be true if we blocked in ~Context() and were then deallocated.
-    ctx = renderData->outputNode->getContext();
-    if( ! ctx ) {
-
-        for( size_t chan = 0; chan < NUM_CHANNELS; chan++)
-            zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
-
-        return 0;
-    }
-
-
-    Buffer *internalBuffer = outputDeviceNode->getInternalBuffer();
-    internalBuffer->zero();
-
-    ctx->preProcess();
-    // process the whole audio graph using by recursively pulling the input all the way to the top of the graph 
-    outputDeviceNode->pullInputs( internalBuffer );
-    
-    // if clip detection is enabled and buffer clipped, silence it
-    //if( outputDeviceNode->checkNotClipping() ){
-        //for( size_t chan = 0; chan < NUM_CHANNELS; chan++)
-        //    zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
-    //} 
-    //else {
-        for( size_t chan = 0; chan < NUM_CHANNELS; chan++)
-            copyToJackPort( outputDeviceNode->mOutputPorts[chan], internalBuffer->getChannel( chan ), nframes  );
-    //}
-
-    ctx->postProcess();
-
-    return 0;
-}
-
-inline void OutputDeviceNodeJack::setInput( InputDeviceNodeRef inputDeviceNode) 
-{
-    mInputDeviceNode = std::static_pointer_cast<InputDeviceNodeJack>(inputDeviceNode);
-}
-
-OutputDeviceNodeJack::OutputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context ):
-    OutputDeviceNode( device, format),
-    mCinderContext( context )
-{
-}
-
-void OutputDeviceNodeJack::initialize()
-{
-
-    const char *client_name = "Collidoscope";
-    const char *server_name = NULL;
-    jack_options_t options = JackNullOption;
-    jack_status_t status;
-
-    // connect to Jack server 
-    mClient = jack_client_open (client_name, options, &status, server_name);
-    if( mClient == NULL){
-
-        std::string msg = "jack_client_open() failed. "; 
-        if(status & JackServerFailed) 
-            msg += "Unable to connect to Jack server";
-
-        throw cinder::audio::AudioContextExc(msg);
-    }
-
-    
-    // prepare user data for callback 
-    mRenderData.outputNode = this;
-    mRenderData.inputNode = mInputDeviceNode.get();
-    CI_ASSERT(mInputDeviceNode != nullptr);
-    mRenderData.context = static_cast<ContextJack *>( getContext().get() );
-
-    // install callback
-    jack_set_process_callback (mClient, jackCallback, &mRenderData );
-
-    // jack shutdown ? 
-    
-
-    // setup output ports 
-    mOutputPorts[0] = jack_port_register (mClient, "output1",
-                       JACK_DEFAULT_AUDIO_TYPE,
-                       JackPortIsOutput, 0);
-    
-    mOutputPorts[1] = jack_port_register (mClient, "output2",
-                       JACK_DEFAULT_AUDIO_TYPE,
-                       JackPortIsOutput, 0);
-    
-     if ((mOutputPorts[0] == NULL) || (mOutputPorts[0] == NULL)) {
-        throw cinder::audio::AudioContextExc("no more JACK ports available");
-     }
-
-    // setup input ports. Note that the reference to the input node is used. 
-    mInputDeviceNode->mInputPorts[0] = jack_port_register (mClient, "input1",
-                       JACK_DEFAULT_AUDIO_TYPE,
-                       JackPortIsInput, 0);
-
-    mInputDeviceNode->mInputPorts[1] = jack_port_register (mClient, "input2",
-                       JACK_DEFAULT_AUDIO_TYPE,
-                       JackPortIsInput, 0);
-
-
-    /* Tell the Jack server that we are ready to roll.  Our callback will start running now. */
-    if (jack_activate (mClient)) {
-        throw cinder::audio::AudioContextExc("cannot activate client");
-    }
-
-    // connect input ports to physical device (microphones)
-    const char **mikePorts = jack_get_ports (mClient, NULL, NULL,
-        JackPortIsPhysical|JackPortIsOutput);
-
-    if (mikePorts == NULL) {
-        throw cinder::audio::AudioContextExc("no physical input ports available");
-    }
-
-    if (jack_connect (mClient,  mikePorts[0], jack_port_name (mInputDeviceNode->mInputPorts[0]))) {
-        throw cinder::audio::AudioContextExc("cannot connect input port 0");
-    }
-
-    if (jack_connect (mClient, mikePorts[1], jack_port_name( mInputDeviceNode->mInputPorts[1]) )) {
-        throw cinder::audio::AudioContextExc("cannot connect input port 1");
-    }
-
-    // connect output ports to physical device (audio out )
-    const char **speakerPorts = jack_get_ports (mClient, NULL, NULL,
-                JackPortIsPhysical|JackPortIsInput);
-
-    if (speakerPorts == NULL) {
-        throw cinder::audio::AudioContextExc("no physical output ports available");
-    }
-
-    if (jack_connect (mClient, jack_port_name (mOutputPorts[0]), speakerPorts[0])) {
-        throw cinder::audio::AudioContextExc("cannot connect output port 0");
-    }
-
-    if (jack_connect (mClient, jack_port_name (mOutputPorts[1]), speakerPorts[1])) {
-        throw cinder::audio::AudioContextExc("cannot connect output port 1");
-    }
-
-    jack_free( mikePorts );
-    jack_free( speakerPorts );
-}
-
-
-void OutputDeviceNodeJack::uninitialize()
-{
-    jack_client_close( mClient );
-}
-
-void OutputDeviceNodeJack::enableProcessing()
-{
-}
-
-void OutputDeviceNodeJack::disableProcessing()
-{
-}
-
-
-//----------------------------------------- InputDeviceNodeJack ---------------------------------------------------
-
-
-InputDeviceNodeJack::InputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context ):
-    InputDeviceNode( device, format)
-{
-}
-
-void InputDeviceNodeJack::initialize() 
-{
-}
-
-void InputDeviceNodeJack::uninitialize()
-{
-}
-
-void InputDeviceNodeJack::enableProcessing()
-{
-}
-
-void InputDeviceNodeJack::disableProcessing()
-{
-}
-
-// This is called when the output node pull all the inputs in the jack callback. 
-// Takes audio interface input from the jack port and copies it in the node buffer
-void InputDeviceNodeJack::process( Buffer *buffer )
-{
-    for( size_t chan = 0; chan < NUM_CHANNELS; chan++){
-       copyFromJackPort(mInputPorts[chan], buffer->getChannel( chan ), buffer->getNumFrames() ); 
-    }
-}
-
-
-//-------------------------------------------ContextJack-----------------------------------------------------------
-
-OutputDeviceNodeRef ContextJack::createOutputDeviceNode( const DeviceRef &device, const Node::Format &format )
-{
-    
-    if( mOutputDeviceNode  == nullptr ) {
-        auto thisRef = std::static_pointer_cast<ContextJack>( shared_from_this() );
-
-        mOutputDeviceNode = makeNode( new OutputDeviceNodeJack( device, Node::Format().channels(NUM_CHANNELS), thisRef ) ) ;
-
-        // the output device node must have a reference to input device node. In OutputDeviceNodeJack::initialize() 
-        // the input node is passed the jack input ports that it will use to fetch incoming audio from the audio interface
-        // Whichever node (input or ouput) gets initialized after the other, executes the following block:
-        if( mInputDeviceNode != nullptr){
-            auto castedOutputDeviceNode = std::static_pointer_cast<OutputDeviceNodeJack>( mOutputDeviceNode );
-            castedOutputDeviceNode->setInput( mInputDeviceNode );   
-        }
-    }
-
-    return mOutputDeviceNode;
-}
-
-InputDeviceNodeRef ContextJack::createInputDeviceNode( const DeviceRef &device, const Node::Format &format  )
-{
-    if( mInputDeviceNode  == nullptr ) {
-        auto thisRef = std::static_pointer_cast<ContextJack>( shared_from_this() );
-
-        mInputDeviceNode = makeNode( new InputDeviceNodeJack( device, Node::Format().channels( NUM_CHANNELS ), thisRef ) ) ;
-
-        // the output device node must have a reference to input device node. In OutputDeviceNodeJack::initialize() 
-        // the input node is passed the jack input ports that it will use to fetch incoming audio from the audio interface
-        // Whichever node (input or ouput) gets initialized after the other, executes the following block:
-        if( mOutputDeviceNode != nullptr){
-            auto castedOutputDeviceNode = std::static_pointer_cast<OutputDeviceNodeJack>( mOutputDeviceNode );
-            castedOutputDeviceNode->setInput( mInputDeviceNode );   
-        }
-    }
-
-    return mInputDeviceNode;
-}
-
-
-
-
-
-} } } // namespace cinder::audio::linux
+/*
+ Copyright (c) 2015, The Cinder Project
+
+ This code is intended to be used with the Cinder C++ library, http://libcinder.org
+
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that
+ the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and
+	the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+	the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include "cinder/audio/linux/ContextJack.h"
+#include "cinder/audio/Exception.h"
+
+namespace cinder { namespace audio { namespace linux {
+
+inline void zeroJackPort( jack_port_t *port, jack_nframes_t nframes )
+{   
+  // memset(port, 0, sizeof(jack_default_audio_sample_t) * nframes); 
+}
+
+inline void copyToJackPort(jack_port_t *port, float *source, jack_nframes_t nframes )
+{
+    // dest, source, n 
+    jack_default_audio_sample_t *out;
+    out = (jack_default_audio_sample_t *) jack_port_get_buffer( port, nframes );
+
+    memcpy( out, source, sizeof(jack_default_audio_sample_t) * nframes ) ;
+}
+
+inline void copyFromJackPort(jack_port_t *port, float *dest, jack_nframes_t nframes )
+{
+    // dest, source, n 
+    jack_default_audio_sample_t *in;
+    in = (jack_default_audio_sample_t *) jack_port_get_buffer( port, nframes );
+
+    memcpy( dest, in, sizeof(jack_default_audio_sample_t) * nframes ) ;
+}
+
+
+int OutputDeviceNodeJack::jackCallback(jack_nframes_t nframes, void* userData)
+{
+	RenderData *renderData = static_cast<RenderData *>( userData );
+
+	OutputDeviceNodeJack *outputDeviceNode = static_cast<OutputDeviceNodeJack *>( renderData->outputNode );
+
+	auto ctx = renderData->outputNode->getContext();
+	if( ! ctx ) {
+        for( size_t chan = 0; chan < 2; chan++)
+            // FIXME segfault at shutdown 
+		    zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
+
+		return 0;
+	}
+
+	std::lock_guard<std::mutex> lock( ctx->getMutex() );
+    
+	// verify associated context still exists, which may not be true if we blocked in ~Context() and were then deallocated.
+	ctx = renderData->outputNode->getContext();
+	if( ! ctx ) {
+
+        for( size_t chan = 0; chan < 2; chan++)
+		    zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
+
+		return 0;
+	}
+
+
+	Buffer *internalBuffer = outputDeviceNode->getInternalBuffer();
+	internalBuffer->zero();
+
+	ctx->preProcess();
+	outputDeviceNode->pullInputs( internalBuffer );
+    
+	// if clip detection is enabled and buffer clipped, silence it
+	if( false && outputDeviceNode->checkNotClipping() ){
+        for( size_t chan = 0; chan < 2; chan++)
+		    zeroJackPort( outputDeviceNode->mOutputPorts[chan], nframes );
+	} 
+    else {
+        for( size_t chan = 0; chan < 2; chan++)
+            copyToJackPort( outputDeviceNode->mOutputPorts[chan], internalBuffer->getChannel( chan ), nframes  );
+    }
+
+	ctx->postProcess();
+
+    return 0;
+}
+
+inline void OutputDeviceNodeJack::setInput( InputDeviceNodeRef inputDeviceNode) 
+{
+    mInputDeviceNode = std::static_pointer_cast<InputDeviceNodeJack>(inputDeviceNode);
+}
+
+ContextJack::ContextJack()
+{
+
+}
+
+ContextJack::~ContextJack()
+{
+
+}
+
+
+OutputDeviceNodeRef	ContextJack::createOutputDeviceNode( const DeviceRef &device, const Node::Format &format )
+{
+	
+    if( mOutputDeviceNode  == nullptr ) {
+        auto thisRef = std::static_pointer_cast<ContextJack>( shared_from_this() );
+
+        mOutputDeviceNode = makeNode( new OutputDeviceNodeJack( device, Node::Format().channels(2), thisRef ) ) ;
+
+        if( mInputDeviceNode != nullptr){
+            auto castedOutputDeviceNode = std::static_pointer_cast<OutputDeviceNodeJack>( mOutputDeviceNode );
+            castedOutputDeviceNode->setInput( mInputDeviceNode );   
+        }
+    }
+
+	return mOutputDeviceNode;
+}
+
+InputDeviceNodeRef ContextJack::createInputDeviceNode( const DeviceRef &device, const Node::Format &format  )
+{
+    if( mInputDeviceNode  == nullptr ) {
+        auto thisRef = std::static_pointer_cast<ContextJack>( shared_from_this() );
+
+        mInputDeviceNode = makeNode( new InputDeviceNodeJack( device, Node::Format().channels(2), thisRef ) ) ;
+
+        if( mOutputDeviceNode != nullptr){
+            auto castedOutputDeviceNode = std::static_pointer_cast<OutputDeviceNodeJack>( mOutputDeviceNode );
+            castedOutputDeviceNode->setInput( mInputDeviceNode );   
+        }
+    }
+
+	return mInputDeviceNode;
+}
+
+
+// OutputDeviceNodeJack 
+
+OutputDeviceNodeJack::OutputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context ):
+    OutputDeviceNode( device, format),
+    mCinderContext( context )
+{
+}
+
+void OutputDeviceNodeJack::initialize()
+{
+
+    const char *client_name = "Collidoscope";
+    const char *server_name = NULL;
+    jack_options_t options = JackNullOption;
+    jack_status_t status;
+
+    // connect to JAck server 
+    mClient = jack_client_open (client_name, options, &status, server_name);
+    if( mClient == NULL){
+
+        std::string msg = "jack_client_open() failed. "; 
+        if(status & JackServerFailed) 
+            msg += "Unable to connect to Jack server";
+
+        throw cinder::audio::AudioContextExc(msg);
+    }
+
+    
+    mRenderData.outputNode = this;
+    mRenderData.inputNode = mInputDeviceNode.get();
+    CI_ASSERT(mInputDeviceNode != nullptr);
+    mRenderData.context = static_cast<ContextJack *>( getContext().get() );
+
+    // install callback
+    jack_set_process_callback (mClient, jackCallback, &mRenderData );
+
+    // jack shutdown ? 
+    
+
+    // setup output ports 
+    mOutputPorts[0] = jack_port_register (mClient, "output1",
+                       JACK_DEFAULT_AUDIO_TYPE,
+                       JackPortIsOutput, 0);
+    
+    mOutputPorts[1] = jack_port_register (mClient, "output2",
+                       JACK_DEFAULT_AUDIO_TYPE,
+                       JackPortIsOutput, 0);
+    
+     if ((mOutputPorts[0] == NULL) || (mOutputPorts[0] == NULL)) {
+        throw cinder::audio::AudioContextExc("no more JACK ports available");
+     }
+
+    // setup input ports 
+    mInputDeviceNode->mInputPorts[0] = jack_port_register (mClient, "input1",
+                       JACK_DEFAULT_AUDIO_TYPE,
+                       JackPortIsInput, 0);
+
+    mInputDeviceNode->mInputPorts[1] = jack_port_register (mClient, "input2",
+                       JACK_DEFAULT_AUDIO_TYPE,
+                       JackPortIsInput, 0);
+
+
+    /* Tell the JACK server that we are ready to roll.  Our callback will start running now. */
+    if (jack_activate (mClient)) {
+        throw cinder::audio::AudioContextExc("cannot activate client");
+    }
+
+    // connect input ports to physical device (microphones)
+    const char **mikePorts = jack_get_ports (mClient, NULL, NULL,
+		JackPortIsPhysical|JackPortIsOutput);
+
+	if (mikePorts == NULL) {
+        throw cinder::audio::AudioContextExc("no physical input ports available");
+	}
+
+	if (jack_connect (mClient,  mikePorts[0], jack_port_name (mInputDeviceNode->mInputPorts[0]))) {
+        throw cinder::audio::AudioContextExc("cannot connect input port 0");
+	}
+
+	if (jack_connect (mClient, mikePorts[1], jack_port_name( mInputDeviceNode->mInputPorts[1]) )) {
+        throw cinder::audio::AudioContextExc("cannot connect input port 1");
+	}
+
+    // connect output ports to physical device (audio out )
+    const char **speakerPorts = jack_get_ports (mClient, NULL, NULL,
+				JackPortIsPhysical|JackPortIsInput);
+
+	if (speakerPorts == NULL) {
+        throw cinder::audio::AudioContextExc("no physical output ports available");
+	}
+
+	if (jack_connect (mClient, jack_port_name (mOutputPorts[0]), speakerPorts[0])) {
+        throw cinder::audio::AudioContextExc("cannot connect output port 0");
+	}
+
+	if (jack_connect (mClient, jack_port_name (mOutputPorts[1]), speakerPorts[1])) {
+        throw cinder::audio::AudioContextExc("cannot connect output port 1");
+	}
+
+	jack_free( mikePorts );
+	jack_free( speakerPorts );
+}
+
+
+void OutputDeviceNodeJack::uninitialize()
+{
+    jack_client_close( mClient );
+}
+
+void OutputDeviceNodeJack::enableProcessing()
+{
+}
+
+void OutputDeviceNodeJack::disableProcessing()
+{
+}
+
+
+//-------------------------- InputDeviceNodeJack -------------------------------
+
+
+InputDeviceNodeJack::InputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context ):
+    InputDeviceNode( device, format)
+{
+}
+
+void InputDeviceNodeJack::initialize() 
+{
+}
+
+void InputDeviceNodeJack::uninitialize()
+{
+}
+
+void InputDeviceNodeJack::enableProcessing()
+{
+}
+
+void InputDeviceNodeJack::disableProcessing()
+{
+}
+
+void InputDeviceNodeJack::process( Buffer *buffer )
+{
+    for( size_t chan = 0; chan < 2; chan++){
+       copyFromJackPort(mInputPorts[chan], buffer->getChannel( chan ), buffer->getNumFrames() ); 
+    }
+}
+
+} } } // namespace cinder::audio::linux
diff -r f1ff1a81be20 -r 02467299402e JackDevice/ContextJack.h
--- a/JackDevice/ContextJack.h
+++ b/JackDevice/ContextJack.h
@@ -1,139 +1,103 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
-#pragma once
-
-#include "cinder/audio/Context.h" 
-#include <jack/jack.h>
-
-namespace cinder { namespace audio { namespace linux {
-
-class ContextJack;
-class InputDeviceNodeJack;
-
-/**
- * OutputNode (as in the cinder::audio::OutputNode) that sends audio to the sound card using the jack audio callback method. 
- */ 
-class OutputDeviceNodeJack : public OutputDeviceNode {
-  public:
-    OutputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context );
-
-    /** Gives this output node a reference to the JackInputNode. 
-     *  In initialize() the reference is used to give the input node access to jack input ports 
-     */
-    void setInput(InputDeviceNodeRef inputDeviceNode);
-
-  protected:
-    void initialize()               override;
-    void uninitialize()             override;
-    void enableProcessing()         override;
-    void disableProcessing()        override;
-    bool supportsProcessInPlace() const override    { return false; }
-
-  private:
-    // this is called by jack in the audio thread at every tick of the sound card 
-    static int jackCallback(jack_nframes_t nframes, void* userData);
-
-
-    void renderToBufferFromInputs();
-
-    /**
-     * RenderData is passed as user_data to jack when the jack process callback is installed
-     */ 
-    struct RenderData{
-        RenderData() : inputNode(nullptr), outputNode(nullptr), context(nullptr){}
-        ~RenderData() { inputNode = nullptr; outputNode = nullptr;  context = nullptr; }
-        Node* outputNode;
-        Node* inputNode;
-        ContextJack* context;
-    } mRenderData;
-
-    std::weak_ptr<ContextJack>  mCinderContext;
-
-    jack_client_t *mClient;
-
-    std::array< jack_port_t*, 2 > mOutputPorts;
-
-    std::shared_ptr<InputDeviceNodeJack> mInputDeviceNode;
-};
-
-/**
- * InputNode (as in the cinder::audio::OutputNode) that reads audio from the sound card using the jack audio callback method. 
- */ 
-class InputDeviceNodeJack : public InputDeviceNode {
-  friend OutputDeviceNodeJack;
-
-  public:
-    InputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context );
-
-  protected:
-    void initialize()               override;
-    void uninitialize()             override;
-    void enableProcessing()         override;
-    void disableProcessing()        override;
-    void process( Buffer *buffer )  override;
-
-  private:
-    std::array< jack_port_t*, 2 > mInputPorts;
-};
-
-class ContextJack : public Context {
-  public:
-    ContextJack() {}
-    virtual ~ContextJack() {}
-    
-
-    OutputDeviceNodeRef createOutputDeviceNode( const DeviceRef &device, const Node::Format &format = Node::Format() ) override;
-    InputDeviceNodeRef  createInputDeviceNode( const DeviceRef &device, const Node::Format &format = Node::Format()  ) override;
-
-    OutputDeviceNodeRef mOutputDeviceNode;
-    InputDeviceNodeRef  mInputDeviceNode;
-
-
-  private:
-};  
-
-} } } // namespace cinder::audio::linux
-
+/*
+ Copyright (c) 2015, The Cinder Project
+
+ This code is intended to be used with the Cinder C++ library, http://libcinder.org
+
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that
+ the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and
+	the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+	the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#pragma once
+
+#include "cinder/audio/Context.h" 
+#include <jack/jack.h>
+
+namespace cinder { namespace audio { namespace linux {
+
+class ContextJack;
+class InputDeviceNodeJack;
+
+class OutputDeviceNodeJack : public OutputDeviceNode {
+  public:
+	OutputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context );
+
+    void setInput(InputDeviceNodeRef inputDeviceNode);
+
+  protected:
+	void initialize()				override;
+	void uninitialize()				override;
+	void enableProcessing()			override;
+	void disableProcessing()		override;
+	bool supportsProcessInPlace() const	override	{ return false; }
+
+  private:
+    static int jackCallback(jack_nframes_t nframes, void* userData);
+
+
+	void renderToBufferFromInputs();
+
+    struct RenderData{
+        RenderData() : inputNode(nullptr), outputNode(nullptr), context(nullptr){}
+        ~RenderData() { inputNode = nullptr; outputNode = nullptr;  context = nullptr; }
+        Node* outputNode;
+        Node* inputNode;
+        ContextJack* context;
+    } mRenderData;
+
+    std::weak_ptr<ContextJack>  mCinderContext;
+
+	jack_client_t *mClient;
+
+    std::array< jack_port_t*, 2 > mOutputPorts;
+
+    std::shared_ptr<InputDeviceNodeJack> mInputDeviceNode;
+};
+
+class InputDeviceNodeJack : public InputDeviceNode {
+  friend OutputDeviceNodeJack;
+
+  public:
+	InputDeviceNodeJack( const DeviceRef &device, const Format &format, const std::shared_ptr<ContextJack> &context );
+
+  protected:
+	void initialize()				override;
+	void uninitialize()				override;
+	void enableProcessing()			override;
+	void disableProcessing()		override;
+	void process( Buffer *buffer )	override;
+
+  private:
+    std::array< jack_port_t*, 2 > mInputPorts;
+};
+
+class ContextJack : public Context {
+  public:
+	ContextJack();
+	virtual ~ContextJack();
+    
+
+	OutputDeviceNodeRef	createOutputDeviceNode( const DeviceRef &device, const Node::Format &format = Node::Format() ) override;
+	InputDeviceNodeRef	createInputDeviceNode( const DeviceRef &device, const Node::Format &format = Node::Format()  ) override;
+
+    OutputDeviceNodeRef	mOutputDeviceNode;
+    InputDeviceNodeRef	mInputDeviceNode;
+
+
+  private:
+};	
+
+} } } // namespace cinder::audio::linux
diff -r f1ff1a81be20 -r 02467299402e JackDevice/DeviceManagerJack.cpp
--- a/JackDevice/DeviceManagerJack.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
-#include "cinder/audio/linux/DeviceManagerJack.h"
-#include "cinder/audio/Exception.h"
-#include <jack/jack.h>
-
-
-namespace cinder { namespace audio { namespace linux {
-
-DeviceManagerJack::DeviceManagerJack() 
-{
-
-    // hardcoded devices. They are always JackIn and JackOut 
-    mDevices.push_back( addDevice("JackIn") );
-    mDevices.push_back( addDevice("JackOut") );
-
-    jack_status_t status;
-    
-    // open a jack client, get info and close
-    jack_client_t *client = jack_client_open ("device info", JackNullOption, &status, NULL);
-    if( client == NULL){
-
-        std::string msg = "jack_client_open() failed. "; 
-        if(status & JackServerFailed) 
-            msg += "Unable to connect to Jack server";
-
-        throw cinder::audio::AudioContextExc(msg);
-    }
-
-    mSampleRate = jack_get_sample_rate( client );
-    mBufferSize = jack_get_buffer_size( client );
-
-    jack_client_close( client );
-}
-
-DeviceManagerJack::~DeviceManagerJack()
-{
-    
-}
-
-const std::vector<DeviceRef>& DeviceManagerJack::getDevices()
-{
-   return mDevices;
-}
-
-DeviceRef DeviceManagerJack::getDefaultOutput()
-{
-    return mDevices[1];
-}
-
-DeviceRef DeviceManagerJack::getDefaultInput()
-{
-    return mDevices[0];
-}
-
-//hardcoded name same as key 
-std::string DeviceManagerJack::getName( const DeviceRef &device )
-{
-    return device->getKey();
-}
-
-size_t DeviceManagerJack::getNumInputChannels( const DeviceRef &device )
-{
-    if( device->getKey() == mDevices[0]->getKey() )
-        return 2;
-    else
-        return 0;
-}
-
-size_t DeviceManagerJack::getNumOutputChannels( const DeviceRef &device )
-{
-    if( device->getKey() == mDevices[1]->getKey() )
-        return 2;
-    else
-        return 0;
-}
-
-size_t DeviceManagerJack::getSampleRate( const DeviceRef &device )
-{
-    return mSampleRate;
-}
-
-size_t DeviceManagerJack::getFramesPerBlock( const DeviceRef &device )
-{
-    return mBufferSize;
-}
-
-
-void DeviceManagerJack::setSampleRate( const DeviceRef &device, size_t sampleRate )
-{
-    throw "setSampleRate not supported";
-}
-
-void DeviceManagerJack::setFramesPerBlock( const DeviceRef &device, size_t framesPerBlock )
-{
-    throw "setFramesPerBlock not supported";
-}
-
-
-//! Returns the hardware's actual frames per block, which might not be a power of two.
-//        size_t getFramesPerBlockHardware( const DeviceRef &device );
-//
-
-size_t DeviceManagerJack::getFramesPerBlockHardware( const DeviceRef &device )
-{
-    return mBufferSize;
-}
-
-
-
-
-
-
-} } } // namespace cinder::audio::linux
diff -r f1ff1a81be20 -r 02467299402e JackDevice/DeviceManagerJack.h
--- a/JackDevice/DeviceManagerJack.h
+++ b/JackDevice/DeviceManagerJack.h
@@ -1,89 +1,61 @@
-/*
-
- Copyright (C) 2016  Queen Mary University of London 
- Author: Fiore Martin
-
- This file is part of Collidoscope.
- 
- Collidoscope is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
- This file incorporates work covered by the following copyright and permission notice: 
-
-    Copyright (c) 2014, The Cinder Project
-
-    This code is intended to be used with the Cinder C++ library, http://libcinder.org
-
-    Redistribution and use in source and binary forms, with or without modification, are permitted provided that
-    the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this list of conditions and
-    the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
-    the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-    PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-    ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-    TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
- 
-*/
-
-#pragma once
-
-#include "cinder/audio/Device.h"
-
-namespace cinder { namespace audio { namespace linux {
-
-/**
- * DeviceManager ( as in cinder::audio::DeviceManager ) that handle the hardware device through the jack library.
- * Note that this is not suitable for general purpose use. Most of the functionalities are indeed hard coded
- * just to suit Collidoscope needs. In particular only two input and two output ports are assumed. 
- *
- */ 
-class DeviceManagerJack : public DeviceManager {
-  public:
-
-    DeviceManagerJack();
-    virtual ~DeviceManagerJack();
-
-    const std::vector<DeviceRef>& getDevices()      override;
-    DeviceRef getDefaultOutput()                override;
-    DeviceRef getDefaultInput()             override;
-
-    std::string getName( const DeviceRef &device )      override;
-    size_t getNumInputChannels( const DeviceRef &device )   override;
-    size_t getNumOutputChannels( const DeviceRef &device )  override;
-    size_t getSampleRate( const DeviceRef &device )     override;
-    size_t getFramesPerBlock( const DeviceRef &device ) override;
-
-    void setSampleRate( const DeviceRef &device, size_t sampleRate )        override;
-    void setFramesPerBlock( const DeviceRef &device, size_t framesPerBlock )    override;
-
-    //! Returns the hardware's actual frames per block, which might not be a power of two.
-    size_t getFramesPerBlockHardware( const DeviceRef &device );
-
-private:
-
-    std::vector<DeviceRef> mDevices;
-    DeviceRef   mDefaultOutDevice;
-    DeviceRef   mDefaultInDevice;
-    size_t mSampleRate;
-    size_t mBufferSize;
-};  
-
-} } } // namespace cinder::audio::linux     
+/*
+ Copyright (c) 2015, The Cinder Project
+
+ This code is intended to be used with the Cinder C++ library, http://libcinder.org
+
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that
+ the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and
+	the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+	the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#pragma once
+
+#include "cinder/audio/Device.h"
+
+namespace cinder { namespace audio { namespace linux {
+
+class DeviceManagerJack : public DeviceManager {
+  public:
+
+	DeviceManagerJack();
+	virtual ~DeviceManagerJack();
+
+	const std::vector<DeviceRef>& getDevices()		override;
+	DeviceRef getDefaultOutput()				override;
+	DeviceRef getDefaultInput()				override;
+
+	std::string getName( const DeviceRef &device ) 		override;
+	size_t getNumInputChannels( const DeviceRef &device )	override;
+	size_t getNumOutputChannels( const DeviceRef &device )	override;
+	size_t getSampleRate( const DeviceRef &device )		override;
+	size_t getFramesPerBlock( const DeviceRef &device )	override;
+
+	void setSampleRate( const DeviceRef &device, size_t sampleRate )		override;
+	void setFramesPerBlock( const DeviceRef &device, size_t framesPerBlock )	override;
+
+	//! Returns the hardware's actual frames per block, which might not be a power of two.
+	size_t getFramesPerBlockHardware( const DeviceRef &device );
+
+private:
+
+	std::vector<DeviceRef> mDevices;
+	DeviceRef   mDefaultOutDevice;
+	DeviceRef   mDefaultInDevice;
+    size_t mSampleRate;
+    size_t mBufferSize;
+};	
+
+} } } // namespace cinder::audio::linux 	
diff -r f1ff1a81be20 -r 02467299402e TeensyCode/collidoscope_double_knob.ino
--- /dev/null
+++ b/TeensyCode/collidoscope_double_knob.ino
@@ -0,0 +1,310 @@
+
+/******************************************************************************
+
+ *  Ben Bengler
+ *  mail@benbengler.com
+ *  02.05.2016
+ *
+ *  Collidoscope 
+ *  
+ *  Teensy 2 ++ pinout: https://www.pjrc.com/teensy/card4b.pdf
+ *  
+ *  ANALOG INPUTS:
+ *  Wavejet   -> F0 (38) [Horizontal rail 1]
+ *  Wavejet   -> F1 (39) [Horizontal rail 2]
+ *  Filter 1  -> F2 (40) [Vertical rail 1]
+ *  Filter 2  -> F4 (42) [Vertical rail 2] 
+ *
+ *  DIGITAL INPUTS [INTERRUPTS]:
+ *  Sel. length 1  -> INT0/INT1 (0, 1)  [Encoder 1]
+ *  Sel. length 2  -> INT2/INT3 (2, 3)  [Encoder 2]
+ *  Duration 1     -> INT4/INT5 (36, 37)[Encoder 3] 
+ *  Duration 2     -> INT6/INT7 (18, 19)[Encoder 4] 
+ *
+ *  DIGITAL INPUTS:
+ *  Play1 toggle  -> B0 (20)
+ *  Record1       -> B1 (21)
+ *  Play2 toggle  -> B3 (22)
+ *  Record2       -> B4 (24)
+ *  
+ *  DIGITAL OUTPUTS:
+ *  Record Button 1 Led -> D4 (4)
+ *  Record Button 2 Led -> D5 (5)
+
+ ******************************************************************************/ 
+
+
+#include <Encoder.h>
+#include <Bounce.h>
+
+///////////////////////////////////////////////////
+//MIDI settings
+const int midi_chan_inst1 = 1; // MIDI channel for Instrument 1
+const int midi_chan_inst2 = 2; // MIDI channel for Instrument 2
+
+const int cc_length = 1;    // MIDI cc controlling selection length
+const int cc_duration = 2;  // MIDI cc controlling duration
+const int cc_filter = 7;    // MIDI cc controlling LP filter
+const int cc_play = 4;      // MIDI cc controlling PLAY
+const int cc_record = 5;    // MIDI cc controlling RECORD
+//const int cc_reset = 100; // MIDI cc controlling instrument RESET
+
+///////////////////////////////////////////////////
+//Default Values:
+const int  Enc_def = 64; //default selection length  
+int MIDI_led_state = LOW;
+//boolean reset1 = true;
+//boolean reset2 = true;
+
+///////////////////////////////////////////////////
+// Interface Inputs
+
+//Buttons:
+
+const int Pin_play1 = 20;       //B0    
+const int Pin_record1 = 21;     //B1
+const int Pin_play2 = 23;       //B3
+const int Pin_record2 = 24;     //B4
+const int Pin_record1_led =  4; //D4
+const int Pin_record2_led =  5; //D5
+const int Pin_MIDIled =  6;
+
+//const int Pin_reset1 = 22;    //B2, not in use
+//const int Pin_reset2 = 25;    //B5, not in use
+
+Bounce button1 = Bounce(Pin_play1, 5); 
+Bounce button2 = Bounce(Pin_record1, 5); 
+Bounce button3 = Bounce(Pin_play2, 5); 
+Bounce button4 = Bounce(Pin_record2, 5); 
+
+ 
+//Encoder
+Encoder Enc1 (0, 1);  //Encoder for section length on Wavejet 1
+Encoder Enc2 (2, 3);  //Encoder for section length on Wavejet 2
+
+
+// Variables
+const int jitter_thresh = 10; //7threshold value for analog INs to suppress sending MIDI due to input jitter 
+
+void setup() {  
+
+pinMode(Pin_play1, INPUT_PULLUP); 
+pinMode(Pin_record1, INPUT_PULLUP);
+pinMode(Pin_play2, INPUT_PULLUP);
+pinMode(Pin_record2, INPUT_PULLUP);
+
+
+pinMode(Pin_MIDIled, OUTPUT); 
+pinMode(Pin_record1_led, OUTPUT);
+pinMode(Pin_record2_led, OUTPUT);
+}
+
+//Store recent values to detect parameter change
+long Enc1_old = -999;
+long Enc2_old = -999;
+
+uint16_t Jet1_old = 0;
+int16_t Jet1_old_MIDI = -1;
+uint16_t Jet2_old = 0;
+int16_t Jet2_old_MIDI = -1;
+
+uint16_t filter1_old = 0;
+int16_t filter1_old_MIDI = -1;
+uint16_t filter2_old = 0;
+int16_t filter2_old_MIDI = -1;
+
+uint16_t dur1_old = 0;
+int16_t dur1_old_MIDI = -1;
+uint16_t dur2_old = 0;
+int16_t dur2_old_MIDI = -1;
+
+void loop() {
+
+  digitalWrite(Pin_MIDIled, LOW);
+  digitalWrite(Pin_record1_led, HIGH);
+  digitalWrite(Pin_record2_led, HIGH);
+  button1.update();
+  button2.update();
+  button3.update();
+  button4.update();
+
+  
+  uint16_t Jet1_new = analogRead(0); //read Wavejet/Rail 1
+  uint16_t Jet2_new = analogRead(1); //read Wavejet/Rail 2
+  uint16_t filter1_new = analogRead(2);   //read filter Instrument 1; ADJUST INPUT RANGE ACCORDING TO SENSOR    
+  uint16_t filter2_new = analogRead(4);   //read filter Instrument 2; ADJUST INPUT RANGE ACCORDING TO SENSOR  
+  uint16_t dur1_new = analogRead(3); 
+  uint16_t dur2_new = analogRead(5);
+
+  
+  //Encoder 1 [Controls selection length of wave 1]
+  long Enc1_new = Enc1.read();
+  Enc1_new = constrain(Enc1_new, 0, 127); //constrain to 7-bit MIDI range
+  
+  //Dynamic reset of counter to MIDI range 
+  if (Enc1_new <= 0){
+    Enc1.write(0); 
+  }
+  else if (Enc1_new >= 127){
+    Enc1.write(127); 
+  }
+     
+  //Encoder 2 [Controls selection length of wave 2]
+  long Enc2_new = Enc2.read();
+  Enc2_new = constrain(Enc2_new, 0, 127); //constrain to 7-bit MIDI range
+  
+  //Dynamic reset of counter to MIDI range 
+  if (Enc2_new <= 0){
+    Enc2.write(0); 
+  }
+  else if (Enc2_new >= 127){
+    Enc2.write(127); 
+  }
+
+ //Instrument 1 Controls//////////////////////////////////////  
+ 
+ //Loop/Keymode Switch Instrument 1 
+   
+ if (button1.risingEdge()) {   
+   //Serial.println("Loop mode");
+   usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst1);
+ }
+   
+ if (button1.fallingEdge()) {   
+   //Serial.println("Keyboardmode mode");
+   usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst1);
+ }
+     
+   
+ //Record Instrument 1
+ if (button2.fallingEdge()) {   
+   //Serial.println("RECORD! Instrument 1");
+   usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst1);
+ }
+
+ //send MIDI Wavejet 1 [Position Instrument 1]
+ 
+ if (Jet1_new > Jet1_old+jitter_thresh || Jet1_new < Jet1_old-jitter_thresh) {
+    
+    int16_t midiVal = constrain( map(Jet1_new, 24, 926, 0, 149), 0, 149 );
+    // int16_t midiVal = constrain( map( Jet1_new, 23, 928, 0, 149 ), 0, 149 ); old collidoscope 
+    if( midiVal != Jet1_old_MIDI ){
+      Jet1_old_MIDI = midiVal;
+      usbMIDI.sendPitchBend( midiVal, midi_chan_inst1 );
+    }
+
+    Jet1_old = Jet1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+ }
+
+
+ //send MIDI Filter 1 [Filter Instrument 1]
+
+ if ( filter1_new != filter1_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+
+    int16_t midiVal = constrain( map(filter1_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != filter1_old_MIDI){
+      //Serial.println( midiVal );
+      filter1_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst1);
+    }
+    
+    filter1_old = filter1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  if ( dur1_new != dur1_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+ 
+    int16_t midiVal = constrain( map(dur1_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != dur1_old_MIDI){
+      //Serial.println( midiVal );
+      dur1_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst1);
+    }
+    
+    dur1_old = dur1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  //send MIDI Encoder 1 [Selection length Instrument 1]
+  if (Enc1_new != Enc1_old) {
+    Enc1_old = Enc1_new;
+    //Serial.println("Encoder 1: ");
+    //Serial.println(Enc1_new);
+    usbMIDI.sendControlChange(cc_length, Enc1_new, midi_chan_inst1);
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  
+  
+  //Instrument 2 Controls//////////////////////////////////////  
+  
+  //Loop/Keymode Switch Instrument 2
+   
+  if (button3.risingEdge()) {   
+    //Serial.println("Loop mode");
+    usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst2);
+  }
+  
+  if (button3.fallingEdge()) {   
+    //Serial.println("Keyboardmode mode");
+    usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst2);
+  }
+  
+  //Record Instrument 2
+  if (button4.fallingEdge()) {   
+    //Serial.println("RECORD! Instrument 2");
+    usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst2);
+  }
+
+  //send MIDI Wavejet 2 [Position Instrument 2]
+  
+  if (Jet2_new > Jet2_old+jitter_thresh || Jet2_new < Jet2_old-jitter_thresh) {
+    //Serial.println("RECORD! Instrument 2");
+    int16_t midiVal = constrain( map( Jet2_new, 925, 18, 149, 0 ), 0, 149 );
+    if( midiVal != Jet2_old_MIDI ){
+      Jet2_old_MIDI = midiVal;
+      usbMIDI.sendPitchBend( midiVal, midi_chan_inst2 );
+    }
+
+    Jet2_old = Jet2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+  
+ //Serial.println(filter2_new);
+   if ( filter2_new != filter2_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+    int16_t midiVal = constrain( map(filter2_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != filter2_old_MIDI){
+      //Serial.println( midiVal );
+      filter2_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst2);
+    }
+    
+    filter2_old = filter2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+   }
+
+   if ( dur2_new != dur2_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+    int16_t midiVal = constrain( map(dur2_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != dur2_old_MIDI){
+      //Serial.println( midiVal );
+      dur2_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst2);
+    }
+    
+    dur2_old = dur2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+   }
+   
+  
+  //send MIDI Encoder 2 [Selection length Instrument 2]
+  if (Enc2_new != Enc2_old) {
+    Enc2_old = Enc2_new;
+    //Serial.println("Encoder 2: ");
+    //Serial.println(Enc2_new);
+    usbMIDI.sendControlChange(cc_length, Enc2_new, midi_chan_inst2);
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+    
+}
+
diff -r f1ff1a81be20 -r 02467299402e TeensyCode/collidoscope_single_knob.ino
--- /dev/null
+++ b/TeensyCode/collidoscope_single_knob.ino
@@ -0,0 +1,310 @@
+
+/******************************************************************************
+
+ *  Ben Bengler
+ *  mail@benbengler.com
+ *  02.05.2016
+ *
+ *  Collidoscope 
+ *  
+ *  Teensy 2 ++ pinout: https://www.pjrc.com/teensy/card4b.pdf
+ *  
+ *  ANALOG INPUTS:
+ *  Wavejet   -> F0 (38) [Horizontal rail 1]
+ *  Wavejet   -> F1 (39) [Horizontal rail 2]
+ *  Filter 1  -> F2 (40) [Vertical rail 1]
+ *  Filter 2  -> F4 (42) [Vertical rail 2] 
+ *
+ *  DIGITAL INPUTS [INTERRUPTS]:
+ *  Sel. length 1  -> INT0/INT1 (0, 1)  [Encoder 1]
+ *  Sel. length 2  -> INT2/INT3 (2, 3)  [Encoder 2]
+ *  Duration 1     -> INT4/INT5 (36, 37)[Encoder 3] 
+ *  Duration 2     -> INT6/INT7 (18, 19)[Encoder 4] 
+ *
+ *  DIGITAL INPUTS:
+ *  Play1 toggle  -> B0 (20)
+ *  Record1       -> B1 (21)
+ *  Play2 toggle  -> B3 (22)
+ *  Record2       -> B4 (24)
+ *  
+ *  DIGITAL OUTPUTS:
+ *  Record Button 1 Led -> D4 (4)
+ *  Record Button 2 Led -> D5 (5)
+
+ ******************************************************************************/ 
+
+
+#include <Encoder.h>
+#include <Bounce.h>
+
+///////////////////////////////////////////////////
+//MIDI settings
+const int midi_chan_inst1 = 1; // MIDI channel for Instrument 1
+const int midi_chan_inst2 = 2; // MIDI channel for Instrument 2
+
+const int cc_length = 1;    // MIDI cc controlling selection length
+const int cc_duration = 2;  // MIDI cc controlling duration
+const int cc_filter = 7;    // MIDI cc controlling LP filter
+const int cc_play = 4;      // MIDI cc controlling PLAY
+const int cc_record = 5;    // MIDI cc controlling RECORD
+//const int cc_reset = 100; // MIDI cc controlling instrument RESET
+
+///////////////////////////////////////////////////
+//Default Values:
+const int  Enc_def = 64; //default selection length  
+int MIDI_led_state = LOW;
+//boolean reset1 = true;
+//boolean reset2 = true;
+
+///////////////////////////////////////////////////
+// Interface Inputs
+
+//Buttons:
+
+const int Pin_play1 = 20;       //B0    
+const int Pin_record1 = 21;     //B1
+const int Pin_play2 = 23;       //B3
+const int Pin_record2 = 24;     //B4
+const int Pin_record1_led =  4; //D4
+const int Pin_record2_led =  5; //D5
+const int Pin_MIDIled =  6;
+
+//const int Pin_reset1 = 22;    //B2, not in use
+//const int Pin_reset2 = 25;    //B5, not in use
+
+Bounce button1 = Bounce(Pin_play1, 5); 
+Bounce button2 = Bounce(Pin_record1, 5); 
+Bounce button3 = Bounce(Pin_play2, 5); 
+Bounce button4 = Bounce(Pin_record2, 5); 
+
+ 
+//Encoder
+Encoder Enc1 (0, 1);  //Encoder for section length on Wavejet 1
+Encoder Enc2 (2, 3);  //Encoder for section length on Wavejet 2
+
+
+// Variables
+const int jitter_thresh = 10; //7threshold value for analog INs to suppress sending MIDI due to input jitter 
+
+void setup() {  
+
+pinMode(Pin_play1, INPUT_PULLUP); 
+pinMode(Pin_record1, INPUT_PULLUP);
+pinMode(Pin_play2, INPUT_PULLUP);
+pinMode(Pin_record2, INPUT_PULLUP);
+
+
+pinMode(Pin_MIDIled, OUTPUT); 
+pinMode(Pin_record1_led, OUTPUT);
+pinMode(Pin_record2_led, OUTPUT);
+}
+
+//Store recent values to detect parameter change
+long Enc1_old = -999;
+long Enc2_old = -999;
+
+uint16_t Jet1_old = 0;
+int16_t Jet1_old_MIDI = -1;
+uint16_t Jet2_old = 0;
+int16_t Jet2_old_MIDI = -1;
+
+uint16_t filter1_old = 0;
+int16_t filter1_old_MIDI = -1;
+uint16_t filter2_old = 0;
+int16_t filter2_old_MIDI = -1;
+
+uint16_t dur1_old = 0;
+int16_t dur1_old_MIDI = -1;
+uint16_t dur2_old = 0;
+int16_t dur2_old_MIDI = -1;
+
+void loop() {
+
+  digitalWrite(Pin_MIDIled, LOW);
+  digitalWrite(Pin_record1_led, HIGH);
+  digitalWrite(Pin_record2_led, HIGH);
+  button1.update();
+  button2.update();
+  button3.update();
+  button4.update();
+
+  
+  uint16_t Jet1_new = analogRead(0); //read Wavejet/Rail 1
+  uint16_t Jet2_new = analogRead(1); //read Wavejet/Rail 2
+  uint16_t filter1_new = analogRead(2);   //read filter Instrument 1; ADJUST INPUT RANGE ACCORDING TO SENSOR    
+  uint16_t filter2_new = analogRead(4);   //read filter Instrument 2; ADJUST INPUT RANGE ACCORDING TO SENSOR  
+  uint16_t dur1_new = analogRead(3); 
+  uint16_t dur2_new = analogRead(5);
+
+  
+  //Encoder 1 [Controls selection length of wave 1]
+  long Enc1_new = Enc1.read();
+  Enc1_new = constrain(Enc1_new, 0, 127); //constrain to 7-bit MIDI range
+  
+  //Dynamic reset of counter to MIDI range 
+  if (Enc1_new <= 0){
+    Enc1.write(0); 
+  }
+  else if (Enc1_new >= 127){
+    Enc1.write(127); 
+  }
+     
+  //Encoder 2 [Controls selection length of wave 2]
+  long Enc2_new = Enc2.read();
+  Enc2_new = constrain(Enc2_new, 0, 127); //constrain to 7-bit MIDI range
+  
+  //Dynamic reset of counter to MIDI range 
+  if (Enc2_new <= 0){
+    Enc2.write(0); 
+  }
+  else if (Enc2_new >= 127){
+    Enc2.write(127); 
+  }
+
+ //Instrument 1 Controls//////////////////////////////////////  
+ 
+ //Loop/Keymode Switch Instrument 1 
+   
+ if (button1.risingEdge()) {   
+   //Serial.println("Loop mode");
+   usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst1);
+ }
+   
+ if (button1.fallingEdge()) {   
+   //Serial.println("Keyboardmode mode");
+   usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst1);
+ }
+     
+   
+ //Record Instrument 1
+ if (button2.fallingEdge()) {   
+   //Serial.println("RECORD! Instrument 1");
+   usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst1);
+ }
+
+ //send MIDI Wavejet 1 [Position Instrument 1]
+ 
+ if (Jet1_new > Jet1_old+jitter_thresh || Jet1_new < Jet1_old-jitter_thresh) {
+    
+    int16_t midiVal = constrain( map(Jet1_new, 24, 926, 0, 149), 0, 149 );
+    // int16_t midiVal = constrain( map( Jet1_new, 23, 928, 0, 149 ), 0, 149 ); old collidoscope 
+    if( midiVal != Jet1_old_MIDI ){
+      Jet1_old_MIDI = midiVal;
+      usbMIDI.sendPitchBend( midiVal, midi_chan_inst1 );
+    }
+
+    Jet1_old = Jet1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+ }
+
+
+ //send MIDI Filter 1 [Filter Instrument 1]
+
+ if ( filter1_new != filter1_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+
+    int16_t midiVal = constrain( map(filter1_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != filter1_old_MIDI){
+      //Serial.println( midiVal );
+      filter1_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst1);
+    }
+    
+    filter1_old = filter1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  if ( dur1_new != dur1_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+ 
+    int16_t midiVal = constrain( map(dur1_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != dur1_old_MIDI){
+      //Serial.println( midiVal );
+      dur1_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst1);
+    }
+    
+    dur1_old = dur1_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  //send MIDI Encoder 1 [Selection length Instrument 1]
+  if (Enc1_new != Enc1_old) {
+    Enc1_old = Enc1_new;
+    //Serial.println("Encoder 1: ");
+    //Serial.println(Enc1_new);
+    usbMIDI.sendControlChange(cc_length, Enc1_new, midi_chan_inst1);
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+
+  
+  
+  //Instrument 2 Controls//////////////////////////////////////  
+  
+  //Loop/Keymode Switch Instrument 2
+   
+  if (button3.risingEdge()) {   
+    //Serial.println("Loop mode");
+    usbMIDI.sendControlChange(cc_play, 1, midi_chan_inst2);
+  }
+  
+  if (button3.fallingEdge()) {   
+    //Serial.println("Keyboardmode mode");
+    usbMIDI.sendControlChange(cc_play, 0, midi_chan_inst2);
+  }
+  
+  //Record Instrument 2
+  if (button4.fallingEdge()) {   
+    //Serial.println("RECORD! Instrument 2");
+    usbMIDI.sendControlChange(cc_record, 1, midi_chan_inst2);
+  }
+
+  //send MIDI Wavejet 2 [Position Instrument 2]
+  
+  if (Jet2_new > Jet2_old+jitter_thresh || Jet2_new < Jet2_old-jitter_thresh) {
+    //Serial.println("RECORD! Instrument 2");
+    int16_t midiVal = constrain( map( Jet2_new, 925, 18, 149, 0 ), 0, 149 );
+    if( midiVal != Jet2_old_MIDI ){
+      Jet2_old_MIDI = midiVal;
+      usbMIDI.sendPitchBend( midiVal, midi_chan_inst2 );
+    }
+
+    Jet2_old = Jet2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+  
+ //Serial.println(filter2_new);
+   if ( filter2_new != filter2_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+    int16_t midiVal = constrain( map(filter2_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != filter2_old_MIDI){
+      //Serial.println( midiVal );
+      filter2_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_filter, midiVal, midi_chan_inst2);
+    }
+    
+    filter2_old = filter2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+   }
+
+   if ( dur2_new != dur2_old ) {         // maybe adding jitter threshold needed, see Jet1_new  
+    int16_t midiVal = constrain( map(dur2_new, 0, 1024, 0, 127), 0, 127 );
+    if( midiVal != dur2_old_MIDI){
+      //Serial.println( midiVal );
+      dur2_old_MIDI = midiVal;
+      usbMIDI.sendControlChange(cc_duration, midiVal, midi_chan_inst2);
+    }
+    
+    dur2_old = dur2_new;
+    digitalWrite(Pin_MIDIled, HIGH);
+   }
+   
+  
+  //send MIDI Encoder 2 [Selection length Instrument 2]
+  if (Enc2_new != Enc2_old) {
+    Enc2_old = Enc2_new;
+    //Serial.println("Encoder 2: ");
+    //Serial.println(Enc2_new);
+    usbMIDI.sendControlChange(cc_length, Enc2_new, midi_chan_inst2);
+    digitalWrite(Pin_MIDIled, HIGH);
+  }
+    
+}
+
diff -r f1ff1a81be20 -r 02467299402e pcb/CreativeCommons_license.txt
--- a/pcb/CreativeCommons_license.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Collidoscope pcb was designed by Ben Bengler
-Licensed under Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
-
-Collidoscope pcb uses Tamir Emran's Teensy ++ pcb part based on an original design by Mark Gross.
-Licensed under Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
-
-http://creativecommons.org/licenses/by-sa/3.0//
\ No newline at end of file
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.GBL
--- a/pcb/Gerbers/collidoscope_pcb.GBL
+++ /dev/null
@@ -1,486 +0,0 @@
-G75*
-%MOIN*%
-%OFA0B0*%
-%FSLAX25Y25*%
-%IPPOS*%
-%LPD*%
-%AMOC8*
-5,1,8,0,0,1.08239X$1,22.5*
-%
-%ADD10R,0.07400X0.07400*%
-%ADD11C,0.07400*%
-%ADD12C,0.04500*%
-%ADD13C,0.05937*%
-%ADD14C,0.01200*%
-%ADD15C,0.04000*%
-D10*
-X0116800Y0136800D03*
-X0306800Y0176800D03*
-D11*
-X0306800Y0166800D03*
-X0306800Y0156800D03*
-X0306800Y0136800D03*
-X0296800Y0136800D03*
-X0286800Y0136800D03*
-X0276800Y0136800D03*
-X0266800Y0136800D03*
-X0256800Y0136800D03*
-X0246800Y0136800D03*
-X0236800Y0136800D03*
-X0226800Y0136800D03*
-X0216800Y0136800D03*
-X0206800Y0136800D03*
-X0196800Y0136800D03*
-X0186800Y0136800D03*
-X0176800Y0136800D03*
-X0166800Y0136800D03*
-X0156800Y0136800D03*
-X0146800Y0136800D03*
-X0136800Y0136800D03*
-X0126800Y0136800D03*
-X0126800Y0196800D03*
-X0116800Y0196800D03*
-X0136800Y0196800D03*
-X0146800Y0196800D03*
-X0156800Y0196800D03*
-X0166800Y0196800D03*
-X0176800Y0196800D03*
-X0186800Y0196800D03*
-X0196800Y0196800D03*
-X0206800Y0196800D03*
-X0216800Y0196800D03*
-X0226800Y0196800D03*
-X0236800Y0196800D03*
-X0246800Y0196800D03*
-X0256800Y0196800D03*
-X0266800Y0196800D03*
-X0276800Y0196800D03*
-X0286800Y0196800D03*
-X0296800Y0196800D03*
-X0306800Y0196800D03*
-X0276800Y0176800D03*
-X0276800Y0166800D03*
-X0266800Y0166800D03*
-X0256800Y0166800D03*
-X0246800Y0166800D03*
-X0246800Y0176800D03*
-X0256800Y0176800D03*
-X0266800Y0176800D03*
-D12*
-X0175800Y0170400D03*
-X0175800Y0165200D03*
-D13*
-X0186800Y0084769D02*
-X0186800Y0078831D01*
-X0196800Y0078831D02*
-X0196800Y0084769D01*
-X0206800Y0084769D02*
-X0206800Y0078831D01*
-X0231800Y0078831D02*
-X0231800Y0084769D01*
-X0241800Y0084769D02*
-X0241800Y0078831D01*
-X0251800Y0078831D02*
-X0251800Y0084769D01*
-X0276800Y0084769D02*
-X0276800Y0078831D01*
-X0286800Y0078831D02*
-X0286800Y0084769D01*
-X0296800Y0084769D02*
-X0296800Y0078831D01*
-X0321800Y0078831D02*
-X0321800Y0084769D01*
-X0331800Y0084769D02*
-X0331800Y0078831D01*
-X0341800Y0078831D02*
-X0341800Y0084769D01*
-X0366800Y0084769D02*
-X0366800Y0078831D01*
-X0376800Y0078831D02*
-X0376800Y0084769D01*
-X0386800Y0084769D02*
-X0386800Y0078831D01*
-X0366800Y0039769D02*
-X0366800Y0033831D01*
-X0356800Y0033831D02*
-X0356800Y0039769D01*
-X0346800Y0039769D02*
-X0346800Y0033831D01*
-X0321800Y0033831D02*
-X0321800Y0039769D01*
-X0311800Y0039769D02*
-X0311800Y0033831D01*
-X0301800Y0033831D02*
-X0301800Y0039769D01*
-X0276800Y0039769D02*
-X0276800Y0033831D01*
-X0266800Y0033831D02*
-X0266800Y0039769D01*
-X0256800Y0039769D02*
-X0256800Y0033831D01*
-X0231800Y0033831D02*
-X0231800Y0039769D01*
-X0221800Y0039769D02*
-X0221800Y0033831D01*
-X0211800Y0033831D02*
-X0211800Y0039769D01*
-X0186800Y0039769D02*
-X0186800Y0033831D01*
-X0176800Y0033831D02*
-X0176800Y0039769D01*
-X0166800Y0039769D02*
-X0166800Y0033831D01*
-X0141800Y0033831D02*
-X0141800Y0039769D01*
-X0131800Y0039769D02*
-X0131800Y0033831D01*
-X0121800Y0033831D02*
-X0121800Y0039769D01*
-X0096800Y0039769D02*
-X0096800Y0033831D01*
-X0086800Y0033831D02*
-X0086800Y0039769D01*
-X0076800Y0039769D02*
-X0076800Y0033831D01*
-X0051800Y0033831D02*
-X0051800Y0039769D01*
-X0041800Y0039769D02*
-X0041800Y0033831D01*
-X0031800Y0033831D02*
-X0031800Y0039769D01*
-X0051800Y0078831D02*
-X0051800Y0084769D01*
-X0061800Y0084769D02*
-X0061800Y0078831D01*
-X0071800Y0078831D02*
-X0071800Y0084769D01*
-X0096800Y0084769D02*
-X0096800Y0078831D01*
-X0106800Y0078831D02*
-X0106800Y0084769D01*
-X0116800Y0084769D02*
-X0116800Y0078831D01*
-X0141800Y0078831D02*
-X0141800Y0084769D01*
-X0151800Y0084769D02*
-X0151800Y0078831D01*
-X0161800Y0078831D02*
-X0161800Y0084769D01*
-X0161800Y0243831D02*
-X0161800Y0249769D01*
-X0151800Y0249769D02*
-X0151800Y0243831D01*
-X0141800Y0243831D02*
-X0141800Y0249769D01*
-X0116800Y0249769D02*
-X0116800Y0243831D01*
-X0106800Y0243831D02*
-X0106800Y0249769D01*
-X0096800Y0249769D02*
-X0096800Y0243831D01*
-X0071800Y0243831D02*
-X0071800Y0249769D01*
-X0061800Y0249769D02*
-X0061800Y0243831D01*
-X0051800Y0243831D02*
-X0051800Y0249769D01*
-X0051800Y0288831D02*
-X0051800Y0294769D01*
-X0041800Y0294769D02*
-X0041800Y0288831D01*
-X0031800Y0288831D02*
-X0031800Y0294769D01*
-X0076800Y0294769D02*
-X0076800Y0288831D01*
-X0086800Y0288831D02*
-X0086800Y0294769D01*
-X0096800Y0294769D02*
-X0096800Y0288831D01*
-X0121800Y0288831D02*
-X0121800Y0294769D01*
-X0131800Y0294769D02*
-X0131800Y0288831D01*
-X0141800Y0288831D02*
-X0141800Y0294769D01*
-X0166800Y0294769D02*
-X0166800Y0288831D01*
-X0176800Y0288831D02*
-X0176800Y0294769D01*
-X0186800Y0294769D02*
-X0186800Y0288831D01*
-X0211800Y0288831D02*
-X0211800Y0294769D01*
-X0221800Y0294769D02*
-X0221800Y0288831D01*
-X0231800Y0288831D02*
-X0231800Y0294769D01*
-X0256800Y0294769D02*
-X0256800Y0288831D01*
-X0266800Y0288831D02*
-X0266800Y0294769D01*
-X0276800Y0294769D02*
-X0276800Y0288831D01*
-X0301800Y0288831D02*
-X0301800Y0294769D01*
-X0311800Y0294769D02*
-X0311800Y0288831D01*
-X0321800Y0288831D02*
-X0321800Y0294769D01*
-X0346800Y0294769D02*
-X0346800Y0288831D01*
-X0356800Y0288831D02*
-X0356800Y0294769D01*
-X0366800Y0294769D02*
-X0366800Y0288831D01*
-X0366800Y0249769D02*
-X0366800Y0243831D01*
-X0376800Y0243831D02*
-X0376800Y0249769D01*
-X0386800Y0249769D02*
-X0386800Y0243831D01*
-X0341800Y0243831D02*
-X0341800Y0249769D01*
-X0331800Y0249769D02*
-X0331800Y0243831D01*
-X0321800Y0243831D02*
-X0321800Y0249769D01*
-X0296800Y0249769D02*
-X0296800Y0243831D01*
-X0286800Y0243831D02*
-X0286800Y0249769D01*
-X0276800Y0249769D02*
-X0276800Y0243831D01*
-X0251800Y0243831D02*
-X0251800Y0249769D01*
-X0241800Y0249769D02*
-X0241800Y0243831D01*
-X0231800Y0243831D02*
-X0231800Y0249769D01*
-X0206800Y0249769D02*
-X0206800Y0243831D01*
-X0196800Y0243831D02*
-X0196800Y0249769D01*
-X0186800Y0249769D02*
-X0186800Y0243831D01*
-D14*
-X0026800Y0031800D02*
-X0031800Y0026800D01*
-X0121800Y0026800D01*
-X0131800Y0036800D01*
-X0121800Y0036800D02*
-X0111800Y0046800D01*
-X0141800Y0046800D01*
-X0141800Y0081800D01*
-X0151800Y0081800D02*
-X0151800Y0121800D01*
-X0191800Y0121800D01*
-X0206800Y0136800D01*
-X0196800Y0136800D02*
-X0181800Y0151800D01*
-X0026800Y0151800D01*
-X0026800Y0031800D01*
-X0031800Y0036800D02*
-X0066800Y0071800D01*
-X0071800Y0071800D01*
-X0089300Y0089300D01*
-X0089300Y0144300D01*
-X0129300Y0144300D01*
-X0136800Y0136800D01*
-X0139300Y0129300D02*
-X0146800Y0136800D01*
-X0156800Y0136800D02*
-X0146800Y0146800D01*
-X0051800Y0146800D01*
-X0051800Y0081800D01*
-X0046800Y0076800D02*
-X0046800Y0149300D01*
-X0154300Y0149300D01*
-X0166800Y0136800D01*
-X0179300Y0129300D02*
-X0154300Y0129300D01*
-X0106800Y0081800D01*
-X0096800Y0081800D02*
-X0096800Y0046800D01*
-X0086800Y0046800D01*
-X0076800Y0036800D01*
-X0096800Y0046800D02*
-X0111800Y0046800D01*
-X0141800Y0046800D02*
-X0156800Y0046800D01*
-X0186800Y0046800D01*
-X0186800Y0081800D01*
-X0196800Y0081800D02*
-X0226800Y0111800D01*
-X0226800Y0136800D01*
-X0216800Y0136800D02*
-X0196800Y0116800D01*
-X0176800Y0116800D01*
-X0176800Y0051800D01*
-X0186800Y0046800D02*
-X0201800Y0046800D01*
-X0231800Y0046800D01*
-X0231800Y0071800D01*
-X0266800Y0071800D01*
-X0289300Y0049300D01*
-X0311800Y0071800D01*
-X0334300Y0049300D01*
-X0366800Y0081800D01*
-X0376800Y0081800D02*
-X0314300Y0144300D01*
-X0314300Y0184300D01*
-X0304300Y0184300D01*
-X0299300Y0179300D01*
-X0299300Y0141800D01*
-X0301800Y0141800D01*
-X0306800Y0136800D01*
-X0306800Y0144300D02*
-X0321800Y0129300D01*
-X0321800Y0081800D01*
-X0311800Y0071800D01*
-X0286800Y0081800D02*
-X0286800Y0129300D01*
-X0274300Y0129300D01*
-X0266800Y0136800D01*
-X0246800Y0136800D02*
-X0244300Y0134300D01*
-X0241800Y0134300D01*
-X0241800Y0081800D01*
-X0231800Y0081800D02*
-X0231800Y0071800D01*
-X0231800Y0046800D02*
-X0246800Y0046800D01*
-X0256800Y0036800D01*
-X0289300Y0049300D02*
-X0301800Y0036800D01*
-X0334300Y0049300D02*
-X0346800Y0036800D01*
-X0356800Y0036800D02*
-X0391800Y0071800D01*
-X0391800Y0186800D01*
-X0301800Y0186800D01*
-X0296800Y0181800D01*
-X0296800Y0136800D01*
-X0306800Y0144300D02*
-X0306800Y0156800D01*
-X0304300Y0189300D02*
-X0296800Y0196800D01*
-X0286800Y0196800D02*
-X0286800Y0201800D01*
-X0331800Y0246800D01*
-X0331800Y0256800D02*
-X0346800Y0256800D01*
-X0346800Y0291800D01*
-X0336800Y0301800D01*
-X0311800Y0301800D01*
-X0301800Y0291800D01*
-X0291800Y0281800D01*
-X0256800Y0281800D01*
-X0256800Y0291800D01*
-X0246800Y0301800D01*
-X0221800Y0301800D01*
-X0211800Y0291800D01*
-X0201800Y0281800D01*
-X0156800Y0281800D01*
-X0166800Y0291800D01*
-X0156800Y0281800D02*
-X0131800Y0256800D01*
-X0141800Y0246800D01*
-X0151800Y0246800D02*
-X0151800Y0214300D01*
-X0159300Y0214300D01*
-X0176800Y0196800D01*
-X0186800Y0204300D02*
-X0189300Y0204300D01*
-X0196800Y0196800D01*
-X0206800Y0196800D02*
-X0206800Y0246800D01*
-X0186800Y0246800D02*
-X0186800Y0204300D01*
-X0156800Y0196800D02*
-X0106800Y0246800D01*
-X0096800Y0246800D02*
-X0086800Y0256800D01*
-X0099300Y0269300D01*
-X0076800Y0291800D01*
-X0066800Y0301800D01*
-X0041800Y0301800D01*
-X0031800Y0291800D01*
-X0026800Y0296800D02*
-X0026800Y0189300D01*
-X0139300Y0189300D01*
-X0146800Y0196800D01*
-X0136800Y0196800D02*
-X0126800Y0206800D01*
-X0101800Y0206800D01*
-X0061800Y0246800D01*
-X0061800Y0256800D02*
-X0051800Y0246800D01*
-X0061800Y0256800D02*
-X0086800Y0256800D01*
-X0099300Y0269300D02*
-X0109300Y0279300D01*
-X0131800Y0256800D01*
-X0109300Y0279300D02*
-X0121800Y0291800D01*
-X0086800Y0291800D02*
-X0074300Y0304300D01*
-X0034300Y0304300D01*
-X0026800Y0296800D01*
-X0041800Y0291800D02*
-X0041800Y0204300D01*
-X0119300Y0204300D01*
-X0126800Y0196800D01*
-X0186800Y0136800D02*
-X0179300Y0129300D01*
-X0139300Y0129300D02*
-X0091800Y0129300D01*
-X0091800Y0076800D01*
-X0051800Y0036800D01*
-X0051800Y0071800D02*
-X0046800Y0076800D01*
-X0051800Y0071800D02*
-X0061800Y0071800D01*
-X0071800Y0081800D01*
-X0156800Y0046800D02*
-X0166800Y0036800D01*
-X0201800Y0046800D02*
-X0211800Y0036800D01*
-X0266800Y0071800D02*
-X0276800Y0081800D01*
-X0304300Y0189300D02*
-X0391800Y0189300D01*
-X0391800Y0256800D01*
-X0356800Y0291800D01*
-X0311800Y0291800D02*
-X0311800Y0231800D01*
-X0276800Y0196800D01*
-X0266800Y0196800D02*
-X0281800Y0211800D01*
-X0286800Y0211800D01*
-X0286800Y0246800D01*
-X0276800Y0246800D02*
-X0266800Y0256800D01*
-X0256800Y0256800D01*
-X0256800Y0281800D01*
-X0256800Y0256800D02*
-X0241800Y0256800D01*
-X0231800Y0246800D01*
-X0241800Y0246800D02*
-X0241800Y0199300D01*
-X0244300Y0199300D01*
-X0246800Y0196800D01*
-X0236800Y0196800D02*
-X0229300Y0204300D01*
-X0221800Y0204300D01*
-X0221800Y0291800D01*
-X0321800Y0246800D02*
-X0331800Y0256800D01*
-X0346800Y0256800D02*
-X0356800Y0256800D01*
-X0366800Y0246800D01*
-X0376800Y0246800D02*
-X0326800Y0196800D01*
-X0306800Y0196800D01*
-D15*
-X0176800Y0051800D03*
-M02*
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.GBS
--- a/pcb/Gerbers/collidoscope_pcb.GBS
+++ /dev/null
@@ -1,271 +0,0 @@
-G75*
-%MOIN*%
-%OFA0B0*%
-%FSLAX25Y25*%
-%IPPOS*%
-%LPD*%
-%AMOC8*
-5,1,8,0,0,1.08239X$1,22.5*
-%
-%ADD10C,0.12611*%
-%ADD11R,0.08200X0.08200*%
-%ADD12C,0.08200*%
-%ADD13C,0.05300*%
-%ADD14C,0.06737*%
-%ADD15C,0.04800*%
-D10*
-X0096800Y0171800D03*
-X0386800Y0301800D03*
-X0391800Y0031800D03*
-D11*
-X0306800Y0176800D03*
-X0116800Y0136800D03*
-D12*
-X0126800Y0136800D03*
-X0136800Y0136800D03*
-X0146800Y0136800D03*
-X0156800Y0136800D03*
-X0166800Y0136800D03*
-X0176800Y0136800D03*
-X0186800Y0136800D03*
-X0196800Y0136800D03*
-X0206800Y0136800D03*
-X0216800Y0136800D03*
-X0226800Y0136800D03*
-X0236800Y0136800D03*
-X0246800Y0136800D03*
-X0256800Y0136800D03*
-X0266800Y0136800D03*
-X0276800Y0136800D03*
-X0286800Y0136800D03*
-X0296800Y0136800D03*
-X0306800Y0136800D03*
-X0306800Y0156800D03*
-X0306800Y0166800D03*
-X0276800Y0166800D03*
-X0276800Y0176800D03*
-X0266800Y0176800D03*
-X0256800Y0176800D03*
-X0246800Y0176800D03*
-X0246800Y0166800D03*
-X0256800Y0166800D03*
-X0266800Y0166800D03*
-X0266800Y0196800D03*
-X0256800Y0196800D03*
-X0246800Y0196800D03*
-X0236800Y0196800D03*
-X0226800Y0196800D03*
-X0216800Y0196800D03*
-X0206800Y0196800D03*
-X0196800Y0196800D03*
-X0186800Y0196800D03*
-X0176800Y0196800D03*
-X0166800Y0196800D03*
-X0156800Y0196800D03*
-X0146800Y0196800D03*
-X0136800Y0196800D03*
-X0126800Y0196800D03*
-X0116800Y0196800D03*
-X0276800Y0196800D03*
-X0286800Y0196800D03*
-X0296800Y0196800D03*
-X0306800Y0196800D03*
-D13*
-X0175800Y0170400D03*
-X0175800Y0165200D03*
-D14*
-X0031800Y0039769D02*
-X0031800Y0033831D01*
-X0041800Y0033831D02*
-X0041800Y0039769D01*
-X0051800Y0039769D02*
-X0051800Y0033831D01*
-X0076800Y0033831D02*
-X0076800Y0039769D01*
-X0086800Y0039769D02*
-X0086800Y0033831D01*
-X0096800Y0033831D02*
-X0096800Y0039769D01*
-X0121800Y0039769D02*
-X0121800Y0033831D01*
-X0131800Y0033831D02*
-X0131800Y0039769D01*
-X0141800Y0039769D02*
-X0141800Y0033831D01*
-X0166800Y0033831D02*
-X0166800Y0039769D01*
-X0176800Y0039769D02*
-X0176800Y0033831D01*
-X0186800Y0033831D02*
-X0186800Y0039769D01*
-X0211800Y0039769D02*
-X0211800Y0033831D01*
-X0221800Y0033831D02*
-X0221800Y0039769D01*
-X0231800Y0039769D02*
-X0231800Y0033831D01*
-X0256800Y0033831D02*
-X0256800Y0039769D01*
-X0266800Y0039769D02*
-X0266800Y0033831D01*
-X0276800Y0033831D02*
-X0276800Y0039769D01*
-X0301800Y0039769D02*
-X0301800Y0033831D01*
-X0311800Y0033831D02*
-X0311800Y0039769D01*
-X0321800Y0039769D02*
-X0321800Y0033831D01*
-X0346800Y0033831D02*
-X0346800Y0039769D01*
-X0356800Y0039769D02*
-X0356800Y0033831D01*
-X0366800Y0033831D02*
-X0366800Y0039769D01*
-X0366800Y0078831D02*
-X0366800Y0084769D01*
-X0376800Y0084769D02*
-X0376800Y0078831D01*
-X0386800Y0078831D02*
-X0386800Y0084769D01*
-X0341800Y0084769D02*
-X0341800Y0078831D01*
-X0331800Y0078831D02*
-X0331800Y0084769D01*
-X0321800Y0084769D02*
-X0321800Y0078831D01*
-X0296800Y0078831D02*
-X0296800Y0084769D01*
-X0286800Y0084769D02*
-X0286800Y0078831D01*
-X0276800Y0078831D02*
-X0276800Y0084769D01*
-X0251800Y0084769D02*
-X0251800Y0078831D01*
-X0241800Y0078831D02*
-X0241800Y0084769D01*
-X0231800Y0084769D02*
-X0231800Y0078831D01*
-X0206800Y0078831D02*
-X0206800Y0084769D01*
-X0196800Y0084769D02*
-X0196800Y0078831D01*
-X0186800Y0078831D02*
-X0186800Y0084769D01*
-X0161800Y0084769D02*
-X0161800Y0078831D01*
-X0151800Y0078831D02*
-X0151800Y0084769D01*
-X0141800Y0084769D02*
-X0141800Y0078831D01*
-X0116800Y0078831D02*
-X0116800Y0084769D01*
-X0106800Y0084769D02*
-X0106800Y0078831D01*
-X0096800Y0078831D02*
-X0096800Y0084769D01*
-X0071800Y0084769D02*
-X0071800Y0078831D01*
-X0061800Y0078831D02*
-X0061800Y0084769D01*
-X0051800Y0084769D02*
-X0051800Y0078831D01*
-X0051800Y0243831D02*
-X0051800Y0249769D01*
-X0061800Y0249769D02*
-X0061800Y0243831D01*
-X0071800Y0243831D02*
-X0071800Y0249769D01*
-X0096800Y0249769D02*
-X0096800Y0243831D01*
-X0106800Y0243831D02*
-X0106800Y0249769D01*
-X0116800Y0249769D02*
-X0116800Y0243831D01*
-X0141800Y0243831D02*
-X0141800Y0249769D01*
-X0151800Y0249769D02*
-X0151800Y0243831D01*
-X0161800Y0243831D02*
-X0161800Y0249769D01*
-X0186800Y0249769D02*
-X0186800Y0243831D01*
-X0196800Y0243831D02*
-X0196800Y0249769D01*
-X0206800Y0249769D02*
-X0206800Y0243831D01*
-X0231800Y0243831D02*
-X0231800Y0249769D01*
-X0241800Y0249769D02*
-X0241800Y0243831D01*
-X0251800Y0243831D02*
-X0251800Y0249769D01*
-X0276800Y0249769D02*
-X0276800Y0243831D01*
-X0286800Y0243831D02*
-X0286800Y0249769D01*
-X0296800Y0249769D02*
-X0296800Y0243831D01*
-X0321800Y0243831D02*
-X0321800Y0249769D01*
-X0331800Y0249769D02*
-X0331800Y0243831D01*
-X0341800Y0243831D02*
-X0341800Y0249769D01*
-X0366800Y0249769D02*
-X0366800Y0243831D01*
-X0376800Y0243831D02*
-X0376800Y0249769D01*
-X0386800Y0249769D02*
-X0386800Y0243831D01*
-X0366800Y0288831D02*
-X0366800Y0294769D01*
-X0356800Y0294769D02*
-X0356800Y0288831D01*
-X0346800Y0288831D02*
-X0346800Y0294769D01*
-X0321800Y0294769D02*
-X0321800Y0288831D01*
-X0311800Y0288831D02*
-X0311800Y0294769D01*
-X0301800Y0294769D02*
-X0301800Y0288831D01*
-X0276800Y0288831D02*
-X0276800Y0294769D01*
-X0266800Y0294769D02*
-X0266800Y0288831D01*
-X0256800Y0288831D02*
-X0256800Y0294769D01*
-X0231800Y0294769D02*
-X0231800Y0288831D01*
-X0221800Y0288831D02*
-X0221800Y0294769D01*
-X0211800Y0294769D02*
-X0211800Y0288831D01*
-X0186800Y0288831D02*
-X0186800Y0294769D01*
-X0176800Y0294769D02*
-X0176800Y0288831D01*
-X0166800Y0288831D02*
-X0166800Y0294769D01*
-X0141800Y0294769D02*
-X0141800Y0288831D01*
-X0131800Y0288831D02*
-X0131800Y0294769D01*
-X0121800Y0294769D02*
-X0121800Y0288831D01*
-X0096800Y0288831D02*
-X0096800Y0294769D01*
-X0086800Y0294769D02*
-X0086800Y0288831D01*
-X0076800Y0288831D02*
-X0076800Y0294769D01*
-X0051800Y0294769D02*
-X0051800Y0288831D01*
-X0041800Y0288831D02*
-X0041800Y0294769D01*
-X0031800Y0294769D02*
-X0031800Y0288831D01*
-D15*
-X0176800Y0051800D03*
-M02*
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.GTL
--- a/pcb/Gerbers/collidoscope_pcb.GTL
+++ /dev/null
@@ -1,9175 +0,0 @@
-G75*
-%MOIN*%
-%OFA0B0*%
-%FSLAX25Y25*%
-%IPPOS*%
-%LPD*%
-%AMOC8*
-5,1,8,0,0,1.08239X$1,22.5*
-%
-%ADD10C,0.00000*%
-%ADD11R,0.07400X0.07400*%
-%ADD12C,0.07400*%
-%ADD13C,0.04500*%
-%ADD14C,0.05937*%
-%ADD15C,0.01600*%
-%ADD16C,0.01200*%
-%ADD17C,0.04000*%
-D10*
-X0011800Y0006800D02*
-X0011800Y0321761D01*
-X0405501Y0321761D01*
-X0405501Y0006800D01*
-X0011800Y0006800D01*
-X0090894Y0171800D02*
-X0090896Y0171953D01*
-X0090902Y0172107D01*
-X0090912Y0172260D01*
-X0090926Y0172412D01*
-X0090944Y0172565D01*
-X0090966Y0172716D01*
-X0090991Y0172867D01*
-X0091021Y0173018D01*
-X0091055Y0173168D01*
-X0091092Y0173316D01*
-X0091133Y0173464D01*
-X0091178Y0173610D01*
-X0091227Y0173756D01*
-X0091280Y0173900D01*
-X0091336Y0174042D01*
-X0091396Y0174183D01*
-X0091460Y0174323D01*
-X0091527Y0174461D01*
-X0091598Y0174597D01*
-X0091673Y0174731D01*
-X0091750Y0174863D01*
-X0091832Y0174993D01*
-X0091916Y0175121D01*
-X0092004Y0175247D01*
-X0092095Y0175370D01*
-X0092189Y0175491D01*
-X0092287Y0175609D01*
-X0092387Y0175725D01*
-X0092491Y0175838D01*
-X0092597Y0175949D01*
-X0092706Y0176057D01*
-X0092818Y0176162D01*
-X0092932Y0176263D01*
-X0093050Y0176362D01*
-X0093169Y0176458D01*
-X0093291Y0176551D01*
-X0093416Y0176640D01*
-X0093543Y0176727D01*
-X0093672Y0176809D01*
-X0093803Y0176889D01*
-X0093936Y0176965D01*
-X0094071Y0177038D01*
-X0094208Y0177107D01*
-X0094347Y0177172D01*
-X0094487Y0177234D01*
-X0094629Y0177292D01*
-X0094772Y0177347D01*
-X0094917Y0177398D01*
-X0095063Y0177445D01*
-X0095210Y0177488D01*
-X0095358Y0177527D01*
-X0095507Y0177563D01*
-X0095657Y0177594D01*
-X0095808Y0177622D01*
-X0095959Y0177646D01*
-X0096112Y0177666D01*
-X0096264Y0177682D01*
-X0096417Y0177694D01*
-X0096570Y0177702D01*
-X0096723Y0177706D01*
-X0096877Y0177706D01*
-X0097030Y0177702D01*
-X0097183Y0177694D01*
-X0097336Y0177682D01*
-X0097488Y0177666D01*
-X0097641Y0177646D01*
-X0097792Y0177622D01*
-X0097943Y0177594D01*
-X0098093Y0177563D01*
-X0098242Y0177527D01*
-X0098390Y0177488D01*
-X0098537Y0177445D01*
-X0098683Y0177398D01*
-X0098828Y0177347D01*
-X0098971Y0177292D01*
-X0099113Y0177234D01*
-X0099253Y0177172D01*
-X0099392Y0177107D01*
-X0099529Y0177038D01*
-X0099664Y0176965D01*
-X0099797Y0176889D01*
-X0099928Y0176809D01*
-X0100057Y0176727D01*
-X0100184Y0176640D01*
-X0100309Y0176551D01*
-X0100431Y0176458D01*
-X0100550Y0176362D01*
-X0100668Y0176263D01*
-X0100782Y0176162D01*
-X0100894Y0176057D01*
-X0101003Y0175949D01*
-X0101109Y0175838D01*
-X0101213Y0175725D01*
-X0101313Y0175609D01*
-X0101411Y0175491D01*
-X0101505Y0175370D01*
-X0101596Y0175247D01*
-X0101684Y0175121D01*
-X0101768Y0174993D01*
-X0101850Y0174863D01*
-X0101927Y0174731D01*
-X0102002Y0174597D01*
-X0102073Y0174461D01*
-X0102140Y0174323D01*
-X0102204Y0174183D01*
-X0102264Y0174042D01*
-X0102320Y0173900D01*
-X0102373Y0173756D01*
-X0102422Y0173610D01*
-X0102467Y0173464D01*
-X0102508Y0173316D01*
-X0102545Y0173168D01*
-X0102579Y0173018D01*
-X0102609Y0172867D01*
-X0102634Y0172716D01*
-X0102656Y0172565D01*
-X0102674Y0172412D01*
-X0102688Y0172260D01*
-X0102698Y0172107D01*
-X0102704Y0171953D01*
-X0102706Y0171800D01*
-X0102704Y0171647D01*
-X0102698Y0171493D01*
-X0102688Y0171340D01*
-X0102674Y0171188D01*
-X0102656Y0171035D01*
-X0102634Y0170884D01*
-X0102609Y0170733D01*
-X0102579Y0170582D01*
-X0102545Y0170432D01*
-X0102508Y0170284D01*
-X0102467Y0170136D01*
-X0102422Y0169990D01*
-X0102373Y0169844D01*
-X0102320Y0169700D01*
-X0102264Y0169558D01*
-X0102204Y0169417D01*
-X0102140Y0169277D01*
-X0102073Y0169139D01*
-X0102002Y0169003D01*
-X0101927Y0168869D01*
-X0101850Y0168737D01*
-X0101768Y0168607D01*
-X0101684Y0168479D01*
-X0101596Y0168353D01*
-X0101505Y0168230D01*
-X0101411Y0168109D01*
-X0101313Y0167991D01*
-X0101213Y0167875D01*
-X0101109Y0167762D01*
-X0101003Y0167651D01*
-X0100894Y0167543D01*
-X0100782Y0167438D01*
-X0100668Y0167337D01*
-X0100550Y0167238D01*
-X0100431Y0167142D01*
-X0100309Y0167049D01*
-X0100184Y0166960D01*
-X0100057Y0166873D01*
-X0099928Y0166791D01*
-X0099797Y0166711D01*
-X0099664Y0166635D01*
-X0099529Y0166562D01*
-X0099392Y0166493D01*
-X0099253Y0166428D01*
-X0099113Y0166366D01*
-X0098971Y0166308D01*
-X0098828Y0166253D01*
-X0098683Y0166202D01*
-X0098537Y0166155D01*
-X0098390Y0166112D01*
-X0098242Y0166073D01*
-X0098093Y0166037D01*
-X0097943Y0166006D01*
-X0097792Y0165978D01*
-X0097641Y0165954D01*
-X0097488Y0165934D01*
-X0097336Y0165918D01*
-X0097183Y0165906D01*
-X0097030Y0165898D01*
-X0096877Y0165894D01*
-X0096723Y0165894D01*
-X0096570Y0165898D01*
-X0096417Y0165906D01*
-X0096264Y0165918D01*
-X0096112Y0165934D01*
-X0095959Y0165954D01*
-X0095808Y0165978D01*
-X0095657Y0166006D01*
-X0095507Y0166037D01*
-X0095358Y0166073D01*
-X0095210Y0166112D01*
-X0095063Y0166155D01*
-X0094917Y0166202D01*
-X0094772Y0166253D01*
-X0094629Y0166308D01*
-X0094487Y0166366D01*
-X0094347Y0166428D01*
-X0094208Y0166493D01*
-X0094071Y0166562D01*
-X0093936Y0166635D01*
-X0093803Y0166711D01*
-X0093672Y0166791D01*
-X0093543Y0166873D01*
-X0093416Y0166960D01*
-X0093291Y0167049D01*
-X0093169Y0167142D01*
-X0093050Y0167238D01*
-X0092932Y0167337D01*
-X0092818Y0167438D01*
-X0092706Y0167543D01*
-X0092597Y0167651D01*
-X0092491Y0167762D01*
-X0092387Y0167875D01*
-X0092287Y0167991D01*
-X0092189Y0168109D01*
-X0092095Y0168230D01*
-X0092004Y0168353D01*
-X0091916Y0168479D01*
-X0091832Y0168607D01*
-X0091750Y0168737D01*
-X0091673Y0168869D01*
-X0091598Y0169003D01*
-X0091527Y0169139D01*
-X0091460Y0169277D01*
-X0091396Y0169417D01*
-X0091336Y0169558D01*
-X0091280Y0169700D01*
-X0091227Y0169844D01*
-X0091178Y0169990D01*
-X0091133Y0170136D01*
-X0091092Y0170284D01*
-X0091055Y0170432D01*
-X0091021Y0170582D01*
-X0090991Y0170733D01*
-X0090966Y0170884D01*
-X0090944Y0171035D01*
-X0090926Y0171188D01*
-X0090912Y0171340D01*
-X0090902Y0171493D01*
-X0090896Y0171647D01*
-X0090894Y0171800D01*
-X0380894Y0301800D02*
-X0380896Y0301953D01*
-X0380902Y0302107D01*
-X0380912Y0302260D01*
-X0380926Y0302412D01*
-X0380944Y0302565D01*
-X0380966Y0302716D01*
-X0380991Y0302867D01*
-X0381021Y0303018D01*
-X0381055Y0303168D01*
-X0381092Y0303316D01*
-X0381133Y0303464D01*
-X0381178Y0303610D01*
-X0381227Y0303756D01*
-X0381280Y0303900D01*
-X0381336Y0304042D01*
-X0381396Y0304183D01*
-X0381460Y0304323D01*
-X0381527Y0304461D01*
-X0381598Y0304597D01*
-X0381673Y0304731D01*
-X0381750Y0304863D01*
-X0381832Y0304993D01*
-X0381916Y0305121D01*
-X0382004Y0305247D01*
-X0382095Y0305370D01*
-X0382189Y0305491D01*
-X0382287Y0305609D01*
-X0382387Y0305725D01*
-X0382491Y0305838D01*
-X0382597Y0305949D01*
-X0382706Y0306057D01*
-X0382818Y0306162D01*
-X0382932Y0306263D01*
-X0383050Y0306362D01*
-X0383169Y0306458D01*
-X0383291Y0306551D01*
-X0383416Y0306640D01*
-X0383543Y0306727D01*
-X0383672Y0306809D01*
-X0383803Y0306889D01*
-X0383936Y0306965D01*
-X0384071Y0307038D01*
-X0384208Y0307107D01*
-X0384347Y0307172D01*
-X0384487Y0307234D01*
-X0384629Y0307292D01*
-X0384772Y0307347D01*
-X0384917Y0307398D01*
-X0385063Y0307445D01*
-X0385210Y0307488D01*
-X0385358Y0307527D01*
-X0385507Y0307563D01*
-X0385657Y0307594D01*
-X0385808Y0307622D01*
-X0385959Y0307646D01*
-X0386112Y0307666D01*
-X0386264Y0307682D01*
-X0386417Y0307694D01*
-X0386570Y0307702D01*
-X0386723Y0307706D01*
-X0386877Y0307706D01*
-X0387030Y0307702D01*
-X0387183Y0307694D01*
-X0387336Y0307682D01*
-X0387488Y0307666D01*
-X0387641Y0307646D01*
-X0387792Y0307622D01*
-X0387943Y0307594D01*
-X0388093Y0307563D01*
-X0388242Y0307527D01*
-X0388390Y0307488D01*
-X0388537Y0307445D01*
-X0388683Y0307398D01*
-X0388828Y0307347D01*
-X0388971Y0307292D01*
-X0389113Y0307234D01*
-X0389253Y0307172D01*
-X0389392Y0307107D01*
-X0389529Y0307038D01*
-X0389664Y0306965D01*
-X0389797Y0306889D01*
-X0389928Y0306809D01*
-X0390057Y0306727D01*
-X0390184Y0306640D01*
-X0390309Y0306551D01*
-X0390431Y0306458D01*
-X0390550Y0306362D01*
-X0390668Y0306263D01*
-X0390782Y0306162D01*
-X0390894Y0306057D01*
-X0391003Y0305949D01*
-X0391109Y0305838D01*
-X0391213Y0305725D01*
-X0391313Y0305609D01*
-X0391411Y0305491D01*
-X0391505Y0305370D01*
-X0391596Y0305247D01*
-X0391684Y0305121D01*
-X0391768Y0304993D01*
-X0391850Y0304863D01*
-X0391927Y0304731D01*
-X0392002Y0304597D01*
-X0392073Y0304461D01*
-X0392140Y0304323D01*
-X0392204Y0304183D01*
-X0392264Y0304042D01*
-X0392320Y0303900D01*
-X0392373Y0303756D01*
-X0392422Y0303610D01*
-X0392467Y0303464D01*
-X0392508Y0303316D01*
-X0392545Y0303168D01*
-X0392579Y0303018D01*
-X0392609Y0302867D01*
-X0392634Y0302716D01*
-X0392656Y0302565D01*
-X0392674Y0302412D01*
-X0392688Y0302260D01*
-X0392698Y0302107D01*
-X0392704Y0301953D01*
-X0392706Y0301800D01*
-X0392704Y0301647D01*
-X0392698Y0301493D01*
-X0392688Y0301340D01*
-X0392674Y0301188D01*
-X0392656Y0301035D01*
-X0392634Y0300884D01*
-X0392609Y0300733D01*
-X0392579Y0300582D01*
-X0392545Y0300432D01*
-X0392508Y0300284D01*
-X0392467Y0300136D01*
-X0392422Y0299990D01*
-X0392373Y0299844D01*
-X0392320Y0299700D01*
-X0392264Y0299558D01*
-X0392204Y0299417D01*
-X0392140Y0299277D01*
-X0392073Y0299139D01*
-X0392002Y0299003D01*
-X0391927Y0298869D01*
-X0391850Y0298737D01*
-X0391768Y0298607D01*
-X0391684Y0298479D01*
-X0391596Y0298353D01*
-X0391505Y0298230D01*
-X0391411Y0298109D01*
-X0391313Y0297991D01*
-X0391213Y0297875D01*
-X0391109Y0297762D01*
-X0391003Y0297651D01*
-X0390894Y0297543D01*
-X0390782Y0297438D01*
-X0390668Y0297337D01*
-X0390550Y0297238D01*
-X0390431Y0297142D01*
-X0390309Y0297049D01*
-X0390184Y0296960D01*
-X0390057Y0296873D01*
-X0389928Y0296791D01*
-X0389797Y0296711D01*
-X0389664Y0296635D01*
-X0389529Y0296562D01*
-X0389392Y0296493D01*
-X0389253Y0296428D01*
-X0389113Y0296366D01*
-X0388971Y0296308D01*
-X0388828Y0296253D01*
-X0388683Y0296202D01*
-X0388537Y0296155D01*
-X0388390Y0296112D01*
-X0388242Y0296073D01*
-X0388093Y0296037D01*
-X0387943Y0296006D01*
-X0387792Y0295978D01*
-X0387641Y0295954D01*
-X0387488Y0295934D01*
-X0387336Y0295918D01*
-X0387183Y0295906D01*
-X0387030Y0295898D01*
-X0386877Y0295894D01*
-X0386723Y0295894D01*
-X0386570Y0295898D01*
-X0386417Y0295906D01*
-X0386264Y0295918D01*
-X0386112Y0295934D01*
-X0385959Y0295954D01*
-X0385808Y0295978D01*
-X0385657Y0296006D01*
-X0385507Y0296037D01*
-X0385358Y0296073D01*
-X0385210Y0296112D01*
-X0385063Y0296155D01*
-X0384917Y0296202D01*
-X0384772Y0296253D01*
-X0384629Y0296308D01*
-X0384487Y0296366D01*
-X0384347Y0296428D01*
-X0384208Y0296493D01*
-X0384071Y0296562D01*
-X0383936Y0296635D01*
-X0383803Y0296711D01*
-X0383672Y0296791D01*
-X0383543Y0296873D01*
-X0383416Y0296960D01*
-X0383291Y0297049D01*
-X0383169Y0297142D01*
-X0383050Y0297238D01*
-X0382932Y0297337D01*
-X0382818Y0297438D01*
-X0382706Y0297543D01*
-X0382597Y0297651D01*
-X0382491Y0297762D01*
-X0382387Y0297875D01*
-X0382287Y0297991D01*
-X0382189Y0298109D01*
-X0382095Y0298230D01*
-X0382004Y0298353D01*
-X0381916Y0298479D01*
-X0381832Y0298607D01*
-X0381750Y0298737D01*
-X0381673Y0298869D01*
-X0381598Y0299003D01*
-X0381527Y0299139D01*
-X0381460Y0299277D01*
-X0381396Y0299417D01*
-X0381336Y0299558D01*
-X0381280Y0299700D01*
-X0381227Y0299844D01*
-X0381178Y0299990D01*
-X0381133Y0300136D01*
-X0381092Y0300284D01*
-X0381055Y0300432D01*
-X0381021Y0300582D01*
-X0380991Y0300733D01*
-X0380966Y0300884D01*
-X0380944Y0301035D01*
-X0380926Y0301188D01*
-X0380912Y0301340D01*
-X0380902Y0301493D01*
-X0380896Y0301647D01*
-X0380894Y0301800D01*
-X0385894Y0031800D02*
-X0385896Y0031953D01*
-X0385902Y0032107D01*
-X0385912Y0032260D01*
-X0385926Y0032412D01*
-X0385944Y0032565D01*
-X0385966Y0032716D01*
-X0385991Y0032867D01*
-X0386021Y0033018D01*
-X0386055Y0033168D01*
-X0386092Y0033316D01*
-X0386133Y0033464D01*
-X0386178Y0033610D01*
-X0386227Y0033756D01*
-X0386280Y0033900D01*
-X0386336Y0034042D01*
-X0386396Y0034183D01*
-X0386460Y0034323D01*
-X0386527Y0034461D01*
-X0386598Y0034597D01*
-X0386673Y0034731D01*
-X0386750Y0034863D01*
-X0386832Y0034993D01*
-X0386916Y0035121D01*
-X0387004Y0035247D01*
-X0387095Y0035370D01*
-X0387189Y0035491D01*
-X0387287Y0035609D01*
-X0387387Y0035725D01*
-X0387491Y0035838D01*
-X0387597Y0035949D01*
-X0387706Y0036057D01*
-X0387818Y0036162D01*
-X0387932Y0036263D01*
-X0388050Y0036362D01*
-X0388169Y0036458D01*
-X0388291Y0036551D01*
-X0388416Y0036640D01*
-X0388543Y0036727D01*
-X0388672Y0036809D01*
-X0388803Y0036889D01*
-X0388936Y0036965D01*
-X0389071Y0037038D01*
-X0389208Y0037107D01*
-X0389347Y0037172D01*
-X0389487Y0037234D01*
-X0389629Y0037292D01*
-X0389772Y0037347D01*
-X0389917Y0037398D01*
-X0390063Y0037445D01*
-X0390210Y0037488D01*
-X0390358Y0037527D01*
-X0390507Y0037563D01*
-X0390657Y0037594D01*
-X0390808Y0037622D01*
-X0390959Y0037646D01*
-X0391112Y0037666D01*
-X0391264Y0037682D01*
-X0391417Y0037694D01*
-X0391570Y0037702D01*
-X0391723Y0037706D01*
-X0391877Y0037706D01*
-X0392030Y0037702D01*
-X0392183Y0037694D01*
-X0392336Y0037682D01*
-X0392488Y0037666D01*
-X0392641Y0037646D01*
-X0392792Y0037622D01*
-X0392943Y0037594D01*
-X0393093Y0037563D01*
-X0393242Y0037527D01*
-X0393390Y0037488D01*
-X0393537Y0037445D01*
-X0393683Y0037398D01*
-X0393828Y0037347D01*
-X0393971Y0037292D01*
-X0394113Y0037234D01*
-X0394253Y0037172D01*
-X0394392Y0037107D01*
-X0394529Y0037038D01*
-X0394664Y0036965D01*
-X0394797Y0036889D01*
-X0394928Y0036809D01*
-X0395057Y0036727D01*
-X0395184Y0036640D01*
-X0395309Y0036551D01*
-X0395431Y0036458D01*
-X0395550Y0036362D01*
-X0395668Y0036263D01*
-X0395782Y0036162D01*
-X0395894Y0036057D01*
-X0396003Y0035949D01*
-X0396109Y0035838D01*
-X0396213Y0035725D01*
-X0396313Y0035609D01*
-X0396411Y0035491D01*
-X0396505Y0035370D01*
-X0396596Y0035247D01*
-X0396684Y0035121D01*
-X0396768Y0034993D01*
-X0396850Y0034863D01*
-X0396927Y0034731D01*
-X0397002Y0034597D01*
-X0397073Y0034461D01*
-X0397140Y0034323D01*
-X0397204Y0034183D01*
-X0397264Y0034042D01*
-X0397320Y0033900D01*
-X0397373Y0033756D01*
-X0397422Y0033610D01*
-X0397467Y0033464D01*
-X0397508Y0033316D01*
-X0397545Y0033168D01*
-X0397579Y0033018D01*
-X0397609Y0032867D01*
-X0397634Y0032716D01*
-X0397656Y0032565D01*
-X0397674Y0032412D01*
-X0397688Y0032260D01*
-X0397698Y0032107D01*
-X0397704Y0031953D01*
-X0397706Y0031800D01*
-X0397704Y0031647D01*
-X0397698Y0031493D01*
-X0397688Y0031340D01*
-X0397674Y0031188D01*
-X0397656Y0031035D01*
-X0397634Y0030884D01*
-X0397609Y0030733D01*
-X0397579Y0030582D01*
-X0397545Y0030432D01*
-X0397508Y0030284D01*
-X0397467Y0030136D01*
-X0397422Y0029990D01*
-X0397373Y0029844D01*
-X0397320Y0029700D01*
-X0397264Y0029558D01*
-X0397204Y0029417D01*
-X0397140Y0029277D01*
-X0397073Y0029139D01*
-X0397002Y0029003D01*
-X0396927Y0028869D01*
-X0396850Y0028737D01*
-X0396768Y0028607D01*
-X0396684Y0028479D01*
-X0396596Y0028353D01*
-X0396505Y0028230D01*
-X0396411Y0028109D01*
-X0396313Y0027991D01*
-X0396213Y0027875D01*
-X0396109Y0027762D01*
-X0396003Y0027651D01*
-X0395894Y0027543D01*
-X0395782Y0027438D01*
-X0395668Y0027337D01*
-X0395550Y0027238D01*
-X0395431Y0027142D01*
-X0395309Y0027049D01*
-X0395184Y0026960D01*
-X0395057Y0026873D01*
-X0394928Y0026791D01*
-X0394797Y0026711D01*
-X0394664Y0026635D01*
-X0394529Y0026562D01*
-X0394392Y0026493D01*
-X0394253Y0026428D01*
-X0394113Y0026366D01*
-X0393971Y0026308D01*
-X0393828Y0026253D01*
-X0393683Y0026202D01*
-X0393537Y0026155D01*
-X0393390Y0026112D01*
-X0393242Y0026073D01*
-X0393093Y0026037D01*
-X0392943Y0026006D01*
-X0392792Y0025978D01*
-X0392641Y0025954D01*
-X0392488Y0025934D01*
-X0392336Y0025918D01*
-X0392183Y0025906D01*
-X0392030Y0025898D01*
-X0391877Y0025894D01*
-X0391723Y0025894D01*
-X0391570Y0025898D01*
-X0391417Y0025906D01*
-X0391264Y0025918D01*
-X0391112Y0025934D01*
-X0390959Y0025954D01*
-X0390808Y0025978D01*
-X0390657Y0026006D01*
-X0390507Y0026037D01*
-X0390358Y0026073D01*
-X0390210Y0026112D01*
-X0390063Y0026155D01*
-X0389917Y0026202D01*
-X0389772Y0026253D01*
-X0389629Y0026308D01*
-X0389487Y0026366D01*
-X0389347Y0026428D01*
-X0389208Y0026493D01*
-X0389071Y0026562D01*
-X0388936Y0026635D01*
-X0388803Y0026711D01*
-X0388672Y0026791D01*
-X0388543Y0026873D01*
-X0388416Y0026960D01*
-X0388291Y0027049D01*
-X0388169Y0027142D01*
-X0388050Y0027238D01*
-X0387932Y0027337D01*
-X0387818Y0027438D01*
-X0387706Y0027543D01*
-X0387597Y0027651D01*
-X0387491Y0027762D01*
-X0387387Y0027875D01*
-X0387287Y0027991D01*
-X0387189Y0028109D01*
-X0387095Y0028230D01*
-X0387004Y0028353D01*
-X0386916Y0028479D01*
-X0386832Y0028607D01*
-X0386750Y0028737D01*
-X0386673Y0028869D01*
-X0386598Y0029003D01*
-X0386527Y0029139D01*
-X0386460Y0029277D01*
-X0386396Y0029417D01*
-X0386336Y0029558D01*
-X0386280Y0029700D01*
-X0386227Y0029844D01*
-X0386178Y0029990D01*
-X0386133Y0030136D01*
-X0386092Y0030284D01*
-X0386055Y0030432D01*
-X0386021Y0030582D01*
-X0385991Y0030733D01*
-X0385966Y0030884D01*
-X0385944Y0031035D01*
-X0385926Y0031188D01*
-X0385912Y0031340D01*
-X0385902Y0031493D01*
-X0385896Y0031647D01*
-X0385894Y0031800D01*
-D11*
-X0306800Y0176800D03*
-X0116800Y0136800D03*
-D12*
-X0126800Y0136800D03*
-X0136800Y0136800D03*
-X0146800Y0136800D03*
-X0156800Y0136800D03*
-X0166800Y0136800D03*
-X0176800Y0136800D03*
-X0186800Y0136800D03*
-X0196800Y0136800D03*
-X0206800Y0136800D03*
-X0216800Y0136800D03*
-X0226800Y0136800D03*
-X0236800Y0136800D03*
-X0246800Y0136800D03*
-X0256800Y0136800D03*
-X0266800Y0136800D03*
-X0276800Y0136800D03*
-X0286800Y0136800D03*
-X0296800Y0136800D03*
-X0306800Y0136800D03*
-X0306800Y0156800D03*
-X0306800Y0166800D03*
-X0276800Y0166800D03*
-X0276800Y0176800D03*
-X0266800Y0176800D03*
-X0256800Y0176800D03*
-X0246800Y0176800D03*
-X0246800Y0166800D03*
-X0256800Y0166800D03*
-X0266800Y0166800D03*
-X0266800Y0196800D03*
-X0256800Y0196800D03*
-X0246800Y0196800D03*
-X0236800Y0196800D03*
-X0226800Y0196800D03*
-X0216800Y0196800D03*
-X0206800Y0196800D03*
-X0196800Y0196800D03*
-X0186800Y0196800D03*
-X0176800Y0196800D03*
-X0166800Y0196800D03*
-X0156800Y0196800D03*
-X0146800Y0196800D03*
-X0136800Y0196800D03*
-X0126800Y0196800D03*
-X0116800Y0196800D03*
-X0276800Y0196800D03*
-X0286800Y0196800D03*
-X0296800Y0196800D03*
-X0306800Y0196800D03*
-D13*
-X0175800Y0170400D03*
-X0175800Y0165200D03*
-D14*
-X0186800Y0084769D02*
-X0186800Y0078831D01*
-X0196800Y0078831D02*
-X0196800Y0084769D01*
-X0206800Y0084769D02*
-X0206800Y0078831D01*
-X0231800Y0078831D02*
-X0231800Y0084769D01*
-X0241800Y0084769D02*
-X0241800Y0078831D01*
-X0251800Y0078831D02*
-X0251800Y0084769D01*
-X0276800Y0084769D02*
-X0276800Y0078831D01*
-X0286800Y0078831D02*
-X0286800Y0084769D01*
-X0296800Y0084769D02*
-X0296800Y0078831D01*
-X0321800Y0078831D02*
-X0321800Y0084769D01*
-X0331800Y0084769D02*
-X0331800Y0078831D01*
-X0341800Y0078831D02*
-X0341800Y0084769D01*
-X0366800Y0084769D02*
-X0366800Y0078831D01*
-X0376800Y0078831D02*
-X0376800Y0084769D01*
-X0386800Y0084769D02*
-X0386800Y0078831D01*
-X0366800Y0039769D02*
-X0366800Y0033831D01*
-X0356800Y0033831D02*
-X0356800Y0039769D01*
-X0346800Y0039769D02*
-X0346800Y0033831D01*
-X0321800Y0033831D02*
-X0321800Y0039769D01*
-X0311800Y0039769D02*
-X0311800Y0033831D01*
-X0301800Y0033831D02*
-X0301800Y0039769D01*
-X0276800Y0039769D02*
-X0276800Y0033831D01*
-X0266800Y0033831D02*
-X0266800Y0039769D01*
-X0256800Y0039769D02*
-X0256800Y0033831D01*
-X0231800Y0033831D02*
-X0231800Y0039769D01*
-X0221800Y0039769D02*
-X0221800Y0033831D01*
-X0211800Y0033831D02*
-X0211800Y0039769D01*
-X0186800Y0039769D02*
-X0186800Y0033831D01*
-X0176800Y0033831D02*
-X0176800Y0039769D01*
-X0166800Y0039769D02*
-X0166800Y0033831D01*
-X0141800Y0033831D02*
-X0141800Y0039769D01*
-X0131800Y0039769D02*
-X0131800Y0033831D01*
-X0121800Y0033831D02*
-X0121800Y0039769D01*
-X0096800Y0039769D02*
-X0096800Y0033831D01*
-X0086800Y0033831D02*
-X0086800Y0039769D01*
-X0076800Y0039769D02*
-X0076800Y0033831D01*
-X0051800Y0033831D02*
-X0051800Y0039769D01*
-X0041800Y0039769D02*
-X0041800Y0033831D01*
-X0031800Y0033831D02*
-X0031800Y0039769D01*
-X0051800Y0078831D02*
-X0051800Y0084769D01*
-X0061800Y0084769D02*
-X0061800Y0078831D01*
-X0071800Y0078831D02*
-X0071800Y0084769D01*
-X0096800Y0084769D02*
-X0096800Y0078831D01*
-X0106800Y0078831D02*
-X0106800Y0084769D01*
-X0116800Y0084769D02*
-X0116800Y0078831D01*
-X0141800Y0078831D02*
-X0141800Y0084769D01*
-X0151800Y0084769D02*
-X0151800Y0078831D01*
-X0161800Y0078831D02*
-X0161800Y0084769D01*
-X0161800Y0243831D02*
-X0161800Y0249769D01*
-X0151800Y0249769D02*
-X0151800Y0243831D01*
-X0141800Y0243831D02*
-X0141800Y0249769D01*
-X0116800Y0249769D02*
-X0116800Y0243831D01*
-X0106800Y0243831D02*
-X0106800Y0249769D01*
-X0096800Y0249769D02*
-X0096800Y0243831D01*
-X0071800Y0243831D02*
-X0071800Y0249769D01*
-X0061800Y0249769D02*
-X0061800Y0243831D01*
-X0051800Y0243831D02*
-X0051800Y0249769D01*
-X0051800Y0288831D02*
-X0051800Y0294769D01*
-X0041800Y0294769D02*
-X0041800Y0288831D01*
-X0031800Y0288831D02*
-X0031800Y0294769D01*
-X0076800Y0294769D02*
-X0076800Y0288831D01*
-X0086800Y0288831D02*
-X0086800Y0294769D01*
-X0096800Y0294769D02*
-X0096800Y0288831D01*
-X0121800Y0288831D02*
-X0121800Y0294769D01*
-X0131800Y0294769D02*
-X0131800Y0288831D01*
-X0141800Y0288831D02*
-X0141800Y0294769D01*
-X0166800Y0294769D02*
-X0166800Y0288831D01*
-X0176800Y0288831D02*
-X0176800Y0294769D01*
-X0186800Y0294769D02*
-X0186800Y0288831D01*
-X0211800Y0288831D02*
-X0211800Y0294769D01*
-X0221800Y0294769D02*
-X0221800Y0288831D01*
-X0231800Y0288831D02*
-X0231800Y0294769D01*
-X0256800Y0294769D02*
-X0256800Y0288831D01*
-X0266800Y0288831D02*
-X0266800Y0294769D01*
-X0276800Y0294769D02*
-X0276800Y0288831D01*
-X0301800Y0288831D02*
-X0301800Y0294769D01*
-X0311800Y0294769D02*
-X0311800Y0288831D01*
-X0321800Y0288831D02*
-X0321800Y0294769D01*
-X0346800Y0294769D02*
-X0346800Y0288831D01*
-X0356800Y0288831D02*
-X0356800Y0294769D01*
-X0366800Y0294769D02*
-X0366800Y0288831D01*
-X0366800Y0249769D02*
-X0366800Y0243831D01*
-X0376800Y0243831D02*
-X0376800Y0249769D01*
-X0386800Y0249769D02*
-X0386800Y0243831D01*
-X0341800Y0243831D02*
-X0341800Y0249769D01*
-X0331800Y0249769D02*
-X0331800Y0243831D01*
-X0321800Y0243831D02*
-X0321800Y0249769D01*
-X0296800Y0249769D02*
-X0296800Y0243831D01*
-X0286800Y0243831D02*
-X0286800Y0249769D01*
-X0276800Y0249769D02*
-X0276800Y0243831D01*
-X0251800Y0243831D02*
-X0251800Y0249769D01*
-X0241800Y0249769D02*
-X0241800Y0243831D01*
-X0231800Y0243831D02*
-X0231800Y0249769D01*
-X0206800Y0249769D02*
-X0206800Y0243831D01*
-X0196800Y0243831D02*
-X0196800Y0249769D01*
-X0186800Y0249769D02*
-X0186800Y0243831D01*
-D15*
-X0191112Y0241781D02*
-X0192493Y0241781D01*
-X0192381Y0242001D02*
-X0192722Y0241332D01*
-X0193163Y0240725D01*
-X0193694Y0240194D01*
-X0194301Y0239753D01*
-X0194970Y0239412D01*
-X0195683Y0239180D01*
-X0196425Y0239063D01*
-X0196616Y0239063D01*
-X0196616Y0246616D01*
-X0196984Y0246616D01*
-X0196984Y0239063D01*
-X0197175Y0239063D01*
-X0197917Y0239180D01*
-X0198630Y0239412D01*
-X0199299Y0239753D01*
-X0199906Y0240194D01*
-X0200437Y0240725D01*
-X0200878Y0241332D01*
-X0201219Y0242001D01*
-X0201451Y0242715D01*
-X0201568Y0243456D01*
-X0201568Y0246616D01*
-X0196984Y0246616D01*
-X0196984Y0246984D01*
-X0201568Y0246984D01*
-X0201568Y0250144D01*
-X0201451Y0250885D01*
-X0201219Y0251599D01*
-X0200878Y0252268D01*
-X0200437Y0252875D01*
-X0199906Y0253406D01*
-X0199299Y0253847D01*
-X0198630Y0254188D01*
-X0197917Y0254420D01*
-X0197175Y0254537D01*
-X0196984Y0254537D01*
-X0196984Y0246984D01*
-X0196616Y0246984D01*
-X0196616Y0246616D01*
-X0192031Y0246616D01*
-X0192031Y0243456D01*
-X0192149Y0242715D01*
-X0192381Y0242001D01*
-X0191568Y0242883D02*
-X0191568Y0250717D01*
-X0190843Y0252470D01*
-X0189501Y0253811D01*
-X0187749Y0254537D01*
-X0185851Y0254537D01*
-X0184099Y0253811D01*
-X0182757Y0252470D01*
-X0182031Y0250717D01*
-X0182031Y0242883D01*
-X0182757Y0241130D01*
-X0184099Y0239789D01*
-X0185851Y0239063D01*
-X0187749Y0239063D01*
-X0189501Y0239789D01*
-X0190843Y0241130D01*
-X0191568Y0242883D01*
-X0191568Y0243380D02*
-X0192044Y0243380D01*
-X0192031Y0244978D02*
-X0191568Y0244978D01*
-X0191568Y0246577D02*
-X0192031Y0246577D01*
-X0192031Y0246984D02*
-X0196616Y0246984D01*
-X0196616Y0254537D01*
-X0196425Y0254537D01*
-X0195683Y0254420D01*
-X0194970Y0254188D01*
-X0194301Y0253847D01*
-X0193694Y0253406D01*
-X0193163Y0252875D01*
-X0192722Y0252268D01*
-X0192381Y0251599D01*
-X0192149Y0250885D01*
-X0192031Y0250144D01*
-X0192031Y0246984D01*
-X0192031Y0248175D02*
-X0191568Y0248175D01*
-X0191568Y0249774D02*
-X0192031Y0249774D01*
-X0192307Y0251372D02*
-X0191297Y0251372D01*
-X0190341Y0252971D02*
-X0193259Y0252971D01*
-X0196616Y0252971D02*
-X0196984Y0252971D01*
-X0196984Y0251372D02*
-X0196616Y0251372D01*
-X0196616Y0249774D02*
-X0196984Y0249774D01*
-X0196984Y0248175D02*
-X0196616Y0248175D01*
-X0196616Y0246577D02*
-X0196984Y0246577D01*
-X0196984Y0244978D02*
-X0196616Y0244978D01*
-X0196616Y0243380D02*
-X0196984Y0243380D01*
-X0196984Y0241781D02*
-X0196616Y0241781D01*
-X0196616Y0240183D02*
-X0196984Y0240183D01*
-X0199890Y0240183D02*
-X0203705Y0240183D01*
-X0204099Y0239789D02*
-X0202757Y0241130D01*
-X0202031Y0242883D01*
-X0202031Y0250717D01*
-X0202757Y0252470D01*
-X0204099Y0253811D01*
-X0205851Y0254537D01*
-X0207749Y0254537D01*
-X0209501Y0253811D01*
-X0210843Y0252470D01*
-X0211568Y0250717D01*
-X0211568Y0242883D01*
-X0210843Y0241130D01*
-X0209501Y0239789D01*
-X0207749Y0239063D01*
-X0205851Y0239063D01*
-X0204099Y0239789D01*
-X0202488Y0241781D02*
-X0201107Y0241781D01*
-X0201556Y0243380D02*
-X0202031Y0243380D01*
-X0202031Y0244978D02*
-X0201568Y0244978D01*
-X0201568Y0246577D02*
-X0202031Y0246577D01*
-X0202031Y0248175D02*
-X0201568Y0248175D01*
-X0201568Y0249774D02*
-X0202031Y0249774D01*
-X0202303Y0251372D02*
-X0201293Y0251372D01*
-X0200341Y0252971D02*
-X0203259Y0252971D01*
-X0210341Y0252971D02*
-X0228259Y0252971D01*
-X0227757Y0252470D02*
-X0227031Y0250717D01*
-X0227031Y0242883D01*
-X0227757Y0241130D01*
-X0229099Y0239789D01*
-X0230851Y0239063D01*
-X0232749Y0239063D01*
-X0234501Y0239789D01*
-X0235843Y0241130D01*
-X0236568Y0242883D01*
-X0236568Y0250717D01*
-X0235843Y0252470D01*
-X0234501Y0253811D01*
-X0232749Y0254537D01*
-X0230851Y0254537D01*
-X0229099Y0253811D01*
-X0227757Y0252470D01*
-X0227303Y0251372D02*
-X0211297Y0251372D01*
-X0211568Y0249774D02*
-X0227031Y0249774D01*
-X0227031Y0248175D02*
-X0211568Y0248175D01*
-X0211568Y0246577D02*
-X0227031Y0246577D01*
-X0227031Y0244978D02*
-X0211568Y0244978D01*
-X0211568Y0243380D02*
-X0227031Y0243380D01*
-X0227488Y0241781D02*
-X0211112Y0241781D01*
-X0209895Y0240183D02*
-X0228705Y0240183D01*
-X0234895Y0240183D02*
-X0238705Y0240183D01*
-X0239099Y0239789D02*
-X0240851Y0239063D01*
-X0242749Y0239063D01*
-X0244501Y0239789D01*
-X0245843Y0241130D01*
-X0246568Y0242883D01*
-X0246568Y0250717D01*
-X0245843Y0252470D01*
-X0244501Y0253811D01*
-X0242749Y0254537D01*
-X0240851Y0254537D01*
-X0239099Y0253811D01*
-X0237757Y0252470D01*
-X0237031Y0250717D01*
-X0237031Y0242883D01*
-X0237757Y0241130D01*
-X0239099Y0239789D01*
-X0237488Y0241781D02*
-X0236112Y0241781D01*
-X0236568Y0243380D02*
-X0237031Y0243380D01*
-X0237031Y0244978D02*
-X0236568Y0244978D01*
-X0236568Y0246577D02*
-X0237031Y0246577D01*
-X0237031Y0248175D02*
-X0236568Y0248175D01*
-X0236568Y0249774D02*
-X0237031Y0249774D01*
-X0237303Y0251372D02*
-X0236297Y0251372D01*
-X0235341Y0252971D02*
-X0238259Y0252971D01*
-X0245341Y0252971D02*
-X0248259Y0252971D01*
-X0248163Y0252875D02*
-X0247722Y0252268D01*
-X0247381Y0251599D01*
-X0247149Y0250885D01*
-X0247031Y0250144D01*
-X0247031Y0246984D01*
-X0251616Y0246984D01*
-X0251616Y0246616D01*
-X0251984Y0246616D01*
-X0251984Y0239063D01*
-X0252175Y0239063D01*
-X0252917Y0239180D01*
-X0253630Y0239412D01*
-X0254299Y0239753D01*
-X0254906Y0240194D01*
-X0255437Y0240725D01*
-X0255878Y0241332D01*
-X0256219Y0242001D01*
-X0256451Y0242715D01*
-X0256568Y0243456D01*
-X0256568Y0246616D01*
-X0251984Y0246616D01*
-X0251984Y0246984D01*
-X0256568Y0246984D01*
-X0256568Y0250144D01*
-X0256451Y0250885D01*
-X0256219Y0251599D01*
-X0255878Y0252268D01*
-X0255437Y0252875D01*
-X0254906Y0253406D01*
-X0254299Y0253847D01*
-X0253630Y0254188D01*
-X0252917Y0254420D01*
-X0252175Y0254537D01*
-X0251984Y0254537D01*
-X0251984Y0246984D01*
-X0251616Y0246984D01*
-X0251616Y0254537D01*
-X0251425Y0254537D01*
-X0250683Y0254420D01*
-X0249970Y0254188D01*
-X0249301Y0253847D01*
-X0248694Y0253406D01*
-X0248163Y0252875D01*
-X0247307Y0251372D02*
-X0246297Y0251372D01*
-X0246568Y0249774D02*
-X0247031Y0249774D01*
-X0247031Y0248175D02*
-X0246568Y0248175D01*
-X0246568Y0246577D02*
-X0247031Y0246577D01*
-X0247031Y0246616D02*
-X0247031Y0243456D01*
-X0247149Y0242715D01*
-X0247381Y0242001D01*
-X0247722Y0241332D01*
-X0248163Y0240725D01*
-X0248694Y0240194D01*
-X0249301Y0239753D01*
-X0249970Y0239412D01*
-X0250683Y0239180D01*
-X0251425Y0239063D01*
-X0251616Y0239063D01*
-X0251616Y0246616D01*
-X0247031Y0246616D01*
-X0247031Y0244978D02*
-X0246568Y0244978D01*
-X0246568Y0243380D02*
-X0247044Y0243380D01*
-X0247493Y0241781D02*
-X0246112Y0241781D01*
-X0244895Y0240183D02*
-X0248710Y0240183D01*
-X0251616Y0240183D02*
-X0251984Y0240183D01*
-X0251984Y0241781D02*
-X0251616Y0241781D01*
-X0251616Y0243380D02*
-X0251984Y0243380D01*
-X0251984Y0244978D02*
-X0251616Y0244978D01*
-X0251616Y0246577D02*
-X0251984Y0246577D01*
-X0251984Y0248175D02*
-X0251616Y0248175D01*
-X0251616Y0249774D02*
-X0251984Y0249774D01*
-X0251984Y0251372D02*
-X0251616Y0251372D01*
-X0251616Y0252971D02*
-X0251984Y0252971D01*
-X0255341Y0252971D02*
-X0256900Y0252971D01*
-X0256900Y0254569D02*
-X0181700Y0254569D01*
-X0181700Y0252971D02*
-X0183259Y0252971D01*
-X0182303Y0251372D02*
-X0181700Y0251372D01*
-X0181700Y0249774D02*
-X0182031Y0249774D01*
-X0182031Y0248175D02*
-X0181700Y0248175D01*
-X0181700Y0246577D02*
-X0182031Y0246577D01*
-X0182031Y0244978D02*
-X0181700Y0244978D01*
-X0181700Y0243380D02*
-X0182031Y0243380D01*
-X0181700Y0241781D02*
-X0182488Y0241781D01*
-X0181700Y0240183D02*
-X0183705Y0240183D01*
-X0181700Y0238584D02*
-X0256900Y0238584D01*
-X0256900Y0236986D02*
-X0181700Y0236986D01*
-X0181700Y0235387D02*
-X0256900Y0235387D01*
-X0256900Y0233789D02*
-X0181700Y0233789D01*
-X0181700Y0232190D02*
-X0256900Y0232190D01*
-X0256900Y0230592D02*
-X0181700Y0230592D01*
-X0181700Y0228993D02*
-X0256900Y0228993D01*
-X0256900Y0227395D02*
-X0181700Y0227395D01*
-X0181700Y0225796D02*
-X0256900Y0225796D01*
-X0256900Y0224198D02*
-X0181700Y0224198D01*
-X0181700Y0222599D02*
-X0256900Y0222599D01*
-X0256900Y0221001D02*
-X0181700Y0221001D01*
-X0181700Y0219402D02*
-X0256900Y0219402D01*
-X0256900Y0217803D02*
-X0181700Y0217803D01*
-X0181700Y0216205D02*
-X0256900Y0216205D01*
-X0256900Y0214606D02*
-X0181700Y0214606D01*
-X0181700Y0213008D02*
-X0256900Y0213008D01*
-X0256900Y0211409D02*
-X0181700Y0211409D01*
-X0181700Y0210294D02*
-X0181700Y0282277D01*
-X0181335Y0283159D01*
-X0180659Y0283835D01*
-X0179603Y0284891D01*
-X0180843Y0286130D01*
-X0181568Y0287883D01*
-X0181568Y0295717D01*
-X0180843Y0297470D01*
-X0179501Y0298811D01*
-X0177749Y0299537D01*
-X0175851Y0299537D01*
-X0174099Y0298811D01*
-X0172757Y0297470D01*
-X0172031Y0295717D01*
-X0172031Y0287883D01*
-X0172757Y0286130D01*
-X0174099Y0284789D01*
-X0174400Y0284664D01*
-X0174400Y0283823D01*
-X0174765Y0282941D01*
-X0176900Y0280806D01*
-X0176900Y0208823D01*
-X0177265Y0207941D01*
-X0183726Y0201480D01*
-X0183684Y0201463D01*
-X0182137Y0199915D01*
-X0181800Y0199101D01*
-X0181463Y0199915D01*
-X0179915Y0201463D01*
-X0177894Y0202300D01*
-X0175706Y0202300D01*
-X0173684Y0201463D01*
-X0172137Y0199915D01*
-X0171800Y0199101D01*
-X0171463Y0199915D01*
-X0169915Y0201463D01*
-X0169200Y0201759D01*
-X0169200Y0202277D01*
-X0168835Y0203159D01*
-X0168159Y0203835D01*
-X0136700Y0235294D01*
-X0136700Y0282277D01*
-X0136335Y0283159D01*
-X0135659Y0283835D01*
-X0134603Y0284891D01*
-X0135843Y0286130D01*
-X0136568Y0287883D01*
-X0136568Y0295717D01*
-X0135843Y0297470D01*
-X0134501Y0298811D01*
-X0132749Y0299537D01*
-X0130851Y0299537D01*
-X0129099Y0298811D01*
-X0127757Y0297470D01*
-X0127031Y0295717D01*
-X0127031Y0287883D01*
-X0127757Y0286130D01*
-X0129099Y0284789D01*
-X0129400Y0284664D01*
-X0129400Y0283823D01*
-X0129765Y0282941D01*
-X0131900Y0280806D01*
-X0131900Y0233823D01*
-X0132265Y0232941D01*
-X0163726Y0201480D01*
-X0163684Y0201463D01*
-X0162137Y0199915D01*
-X0161800Y0199101D01*
-X0161463Y0199915D01*
-X0159915Y0201463D01*
-X0157894Y0202300D01*
-X0155706Y0202300D01*
-X0153684Y0201463D01*
-X0152137Y0199915D01*
-X0151800Y0199101D01*
-X0151463Y0199915D01*
-X0149915Y0201463D01*
-X0147894Y0202300D01*
-X0145706Y0202300D01*
-X0143684Y0201463D01*
-X0142137Y0199915D01*
-X0141800Y0199101D01*
-X0141463Y0199915D01*
-X0139915Y0201463D01*
-X0137894Y0202300D01*
-X0135706Y0202300D01*
-X0133684Y0201463D01*
-X0132137Y0199915D01*
-X0131800Y0199101D01*
-X0131463Y0199915D01*
-X0129915Y0201463D01*
-X0127894Y0202300D01*
-X0125706Y0202300D01*
-X0123684Y0201463D01*
-X0122137Y0199915D01*
-X0121800Y0199101D01*
-X0121463Y0199915D01*
-X0119915Y0201463D01*
-X0117894Y0202300D01*
-X0115706Y0202300D01*
-X0113684Y0201463D01*
-X0112137Y0199915D01*
-X0111300Y0197894D01*
-X0111300Y0195706D01*
-X0112137Y0193684D01*
-X0113684Y0192137D01*
-X0115706Y0191300D01*
-X0117894Y0191300D01*
-X0119915Y0192137D01*
-X0121463Y0193684D01*
-X0121800Y0194499D01*
-X0122137Y0193684D01*
-X0123684Y0192137D01*
-X0125706Y0191300D01*
-X0127894Y0191300D01*
-X0129915Y0192137D01*
-X0131463Y0193684D01*
-X0131800Y0194499D01*
-X0132137Y0193684D01*
-X0133684Y0192137D01*
-X0135706Y0191300D01*
-X0137894Y0191300D01*
-X0139915Y0192137D01*
-X0141463Y0193684D01*
-X0141800Y0194499D01*
-X0142137Y0193684D01*
-X0143684Y0192137D01*
-X0145706Y0191300D01*
-X0147894Y0191300D01*
-X0149915Y0192137D01*
-X0151463Y0193684D01*
-X0151800Y0194499D01*
-X0152137Y0193684D01*
-X0153684Y0192137D01*
-X0155706Y0191300D01*
-X0157894Y0191300D01*
-X0159915Y0192137D01*
-X0161463Y0193684D01*
-X0161800Y0194499D01*
-X0162137Y0193684D01*
-X0163684Y0192137D01*
-X0165706Y0191300D01*
-X0167894Y0191300D01*
-X0169915Y0192137D01*
-X0171463Y0193684D01*
-X0171800Y0194499D01*
-X0172137Y0193684D01*
-X0173684Y0192137D01*
-X0175706Y0191300D01*
-X0177894Y0191300D01*
-X0179915Y0192137D01*
-X0181463Y0193684D01*
-X0181800Y0194499D01*
-X0182137Y0193684D01*
-X0183684Y0192137D01*
-X0185706Y0191300D01*
-X0187894Y0191300D01*
-X0189915Y0192137D01*
-X0191463Y0193684D01*
-X0191800Y0194499D01*
-X0192137Y0193684D01*
-X0193684Y0192137D01*
-X0195706Y0191300D01*
-X0197894Y0191300D01*
-X0199915Y0192137D01*
-X0201463Y0193684D01*
-X0201800Y0194499D01*
-X0202137Y0193684D01*
-X0203684Y0192137D01*
-X0205706Y0191300D01*
-X0207894Y0191300D01*
-X0209915Y0192137D01*
-X0211463Y0193684D01*
-X0211800Y0194499D01*
-X0212096Y0193917D01*
-X0212605Y0193217D01*
-X0213217Y0192605D01*
-X0213917Y0192096D01*
-X0214689Y0191703D01*
-X0215512Y0191435D01*
-X0216367Y0191300D01*
-X0216600Y0191300D01*
-X0216600Y0196600D01*
-X0217000Y0196600D01*
-X0217000Y0191300D01*
-X0217233Y0191300D01*
-X0218088Y0191435D01*
-X0218911Y0191703D01*
-X0219683Y0192096D01*
-X0220383Y0192605D01*
-X0220995Y0193217D01*
-X0221504Y0193917D01*
-X0221800Y0194499D01*
-X0222137Y0193684D01*
-X0223684Y0192137D01*
-X0225706Y0191300D01*
-X0227894Y0191300D01*
-X0229915Y0192137D01*
-X0231463Y0193684D01*
-X0231800Y0194499D01*
-X0232137Y0193684D01*
-X0233684Y0192137D01*
-X0235706Y0191300D01*
-X0237894Y0191300D01*
-X0239915Y0192137D01*
-X0241463Y0193684D01*
-X0241800Y0194499D01*
-X0242137Y0193684D01*
-X0243684Y0192137D01*
-X0245706Y0191300D01*
-X0247894Y0191300D01*
-X0249915Y0192137D01*
-X0251463Y0193684D01*
-X0251800Y0194499D01*
-X0252137Y0193684D01*
-X0253684Y0192137D01*
-X0255706Y0191300D01*
-X0257894Y0191300D01*
-X0259915Y0192137D01*
-X0261463Y0193684D01*
-X0261800Y0194499D01*
-X0262137Y0193684D01*
-X0263684Y0192137D01*
-X0265706Y0191300D01*
-X0267894Y0191300D01*
-X0269915Y0192137D01*
-X0271463Y0193684D01*
-X0271800Y0194499D01*
-X0272137Y0193684D01*
-X0273684Y0192137D01*
-X0275706Y0191300D01*
-X0277894Y0191300D01*
-X0279915Y0192137D01*
-X0281463Y0193684D01*
-X0281800Y0194499D01*
-X0282137Y0193684D01*
-X0283684Y0192137D01*
-X0285706Y0191300D01*
-X0287894Y0191300D01*
-X0289915Y0192137D01*
-X0291463Y0193684D01*
-X0291800Y0194499D01*
-X0292137Y0193684D01*
-X0293684Y0192137D01*
-X0295706Y0191300D01*
-X0297894Y0191300D01*
-X0299915Y0192137D01*
-X0301463Y0193684D01*
-X0301800Y0194499D01*
-X0302137Y0193684D01*
-X0303684Y0192137D01*
-X0305706Y0191300D01*
-X0307894Y0191300D01*
-X0309915Y0192137D01*
-X0311463Y0193684D01*
-X0312300Y0195706D01*
-X0312300Y0197894D01*
-X0311463Y0199915D01*
-X0309915Y0201463D01*
-X0307894Y0202300D01*
-X0305706Y0202300D01*
-X0303684Y0201463D01*
-X0302137Y0199915D01*
-X0301800Y0199101D01*
-X0301463Y0199915D01*
-X0299915Y0201463D01*
-X0297894Y0202300D01*
-X0295706Y0202300D01*
-X0293684Y0201463D01*
-X0292137Y0199915D01*
-X0291800Y0199101D01*
-X0291463Y0199915D01*
-X0289915Y0201463D01*
-X0287894Y0202300D01*
-X0285706Y0202300D01*
-X0283684Y0201463D01*
-X0282137Y0199915D01*
-X0281800Y0199101D01*
-X0281463Y0199915D01*
-X0279915Y0201463D01*
-X0277894Y0202300D01*
-X0275706Y0202300D01*
-X0273684Y0201463D01*
-X0272137Y0199915D01*
-X0271800Y0199101D01*
-X0271463Y0199915D01*
-X0269915Y0201463D01*
-X0267894Y0202300D01*
-X0265706Y0202300D01*
-X0263684Y0201463D01*
-X0262137Y0199915D01*
-X0261800Y0199101D01*
-X0261463Y0199915D01*
-X0261136Y0200242D01*
-X0261335Y0200441D01*
-X0261700Y0201323D01*
-X0261700Y0275806D01*
-X0268835Y0282941D01*
-X0269200Y0283823D01*
-X0269200Y0284664D01*
-X0269501Y0284789D01*
-X0270843Y0286130D01*
-X0271568Y0287883D01*
-X0271568Y0295717D01*
-X0270843Y0297470D01*
-X0269501Y0298811D01*
-X0267749Y0299537D01*
-X0265851Y0299537D01*
-X0264099Y0298811D01*
-X0262757Y0297470D01*
-X0262031Y0295717D01*
-X0262031Y0287883D01*
-X0262757Y0286130D01*
-X0263997Y0284891D01*
-X0257941Y0278835D01*
-X0257265Y0278159D01*
-X0256900Y0277277D01*
-X0256900Y0202794D01*
-X0256406Y0202300D01*
-X0255706Y0202300D01*
-X0253684Y0201463D01*
-X0252137Y0199915D01*
-X0251800Y0199101D01*
-X0251463Y0199915D01*
-X0249915Y0201463D01*
-X0247894Y0202300D01*
-X0245706Y0202300D01*
-X0243684Y0201463D01*
-X0242137Y0199915D01*
-X0241800Y0199101D01*
-X0241463Y0199915D01*
-X0239915Y0201463D01*
-X0237894Y0202300D01*
-X0235706Y0202300D01*
-X0233684Y0201463D01*
-X0232137Y0199915D01*
-X0231800Y0199101D01*
-X0231463Y0199915D01*
-X0229915Y0201463D01*
-X0227894Y0202300D01*
-X0225706Y0202300D01*
-X0223684Y0201463D01*
-X0222137Y0199915D01*
-X0221800Y0199101D01*
-X0221504Y0199683D01*
-X0220995Y0200383D01*
-X0220383Y0200995D01*
-X0219683Y0201504D01*
-X0218911Y0201897D01*
-X0218088Y0202165D01*
-X0217233Y0202300D01*
-X0217000Y0202300D01*
-X0217000Y0197000D01*
-X0216600Y0197000D01*
-X0216600Y0202300D01*
-X0216367Y0202300D01*
-X0215512Y0202165D01*
-X0214689Y0201897D01*
-X0213917Y0201504D01*
-X0213217Y0200995D01*
-X0212605Y0200383D01*
-X0212096Y0199683D01*
-X0211800Y0199101D01*
-X0211463Y0199915D01*
-X0209915Y0201463D01*
-X0207894Y0202300D01*
-X0205706Y0202300D01*
-X0203684Y0201463D01*
-X0202137Y0199915D01*
-X0201800Y0199101D01*
-X0201463Y0199915D01*
-X0199915Y0201463D01*
-X0197894Y0202300D01*
-X0195706Y0202300D01*
-X0193684Y0201463D01*
-X0192137Y0199915D01*
-X0191800Y0199101D01*
-X0191463Y0199915D01*
-X0189915Y0201463D01*
-X0189200Y0201759D01*
-X0189200Y0202277D01*
-X0188835Y0203159D01*
-X0188159Y0203835D01*
-X0181700Y0210294D01*
-X0182183Y0209811D02*
-X0256900Y0209811D01*
-X0256900Y0208212D02*
-X0183782Y0208212D01*
-X0185380Y0206614D02*
-X0256900Y0206614D01*
-X0256900Y0205015D02*
-X0186979Y0205015D01*
-X0188577Y0203417D02*
-X0256900Y0203417D01*
-X0254543Y0201818D02*
-X0249057Y0201818D01*
-X0251158Y0200220D02*
-X0252442Y0200220D01*
-X0252079Y0193826D02*
-X0251521Y0193826D01*
-X0250005Y0192227D02*
-X0253595Y0192227D01*
-X0260005Y0192227D02*
-X0263595Y0192227D01*
-X0262079Y0193826D02*
-X0261521Y0193826D01*
-X0261158Y0200220D02*
-X0262442Y0200220D01*
-X0261700Y0201818D02*
-X0264543Y0201818D01*
-X0261700Y0203417D02*
-X0314400Y0203417D01*
-X0314400Y0205015D02*
-X0261700Y0205015D01*
-X0261700Y0206614D02*
-X0314400Y0206614D01*
-X0314400Y0208212D02*
-X0261700Y0208212D01*
-X0261700Y0209811D02*
-X0314400Y0209811D01*
-X0314400Y0211409D02*
-X0261700Y0211409D01*
-X0261700Y0213008D02*
-X0314400Y0213008D01*
-X0314400Y0214606D02*
-X0261700Y0214606D01*
-X0261700Y0216205D02*
-X0314400Y0216205D01*
-X0314400Y0217803D02*
-X0261700Y0217803D01*
-X0261700Y0219402D02*
-X0314400Y0219402D01*
-X0314400Y0221001D02*
-X0261700Y0221001D01*
-X0261700Y0222599D02*
-X0314400Y0222599D01*
-X0314400Y0224198D02*
-X0261700Y0224198D01*
-X0261700Y0225796D02*
-X0314400Y0225796D01*
-X0314400Y0227395D02*
-X0261700Y0227395D01*
-X0261700Y0228993D02*
-X0314400Y0228993D01*
-X0314400Y0230592D02*
-X0261700Y0230592D01*
-X0261700Y0232190D02*
-X0314400Y0232190D01*
-X0314400Y0233789D02*
-X0261700Y0233789D01*
-X0261700Y0235387D02*
-X0314653Y0235387D01*
-X0314765Y0235659D02*
-X0314400Y0234777D01*
-X0314400Y0162794D01*
-X0311480Y0159874D01*
-X0311463Y0159915D01*
-X0309915Y0161463D01*
-X0309101Y0161800D01*
-X0309915Y0162137D01*
-X0311463Y0163684D01*
-X0312300Y0165706D01*
-X0312300Y0167894D01*
-X0311463Y0169915D01*
-X0310078Y0171300D01*
-X0311246Y0171300D01*
-X0312300Y0172354D01*
-X0312300Y0181246D01*
-X0311246Y0182300D01*
-X0302354Y0182300D01*
-X0301300Y0181246D01*
-X0301300Y0172354D01*
-X0302354Y0171300D01*
-X0303522Y0171300D01*
-X0302137Y0169915D01*
-X0301300Y0167894D01*
-X0301300Y0165706D01*
-X0302137Y0163684D01*
-X0303684Y0162137D01*
-X0304499Y0161800D01*
-X0303684Y0161463D01*
-X0302137Y0159915D01*
-X0301300Y0157894D01*
-X0301300Y0155706D01*
-X0302137Y0153684D01*
-X0303684Y0152137D01*
-X0305706Y0151300D01*
-X0307894Y0151300D01*
-X0309915Y0152137D01*
-X0311463Y0153684D01*
-X0311759Y0154400D01*
-X0312277Y0154400D01*
-X0313159Y0154765D01*
-X0313835Y0155441D01*
-X0318835Y0160441D01*
-X0319200Y0161323D01*
-X0319200Y0233306D01*
-X0323835Y0237941D01*
-X0324200Y0238823D01*
-X0324200Y0239664D01*
-X0324501Y0239789D01*
-X0325843Y0241130D01*
-X0326568Y0242883D01*
-X0326568Y0250717D01*
-X0325843Y0252470D01*
-X0324501Y0253811D01*
-X0322749Y0254537D01*
-X0320851Y0254537D01*
-X0319099Y0253811D01*
-X0317757Y0252470D01*
-X0317031Y0250717D01*
-X0317031Y0242883D01*
-X0317757Y0241130D01*
-X0318997Y0239891D01*
-X0315441Y0236335D01*
-X0314765Y0235659D01*
-X0316092Y0236986D02*
-X0261700Y0236986D01*
-X0261700Y0238584D02*
-X0317690Y0238584D01*
-X0318705Y0240183D02*
-X0299890Y0240183D01*
-X0299906Y0240194D02*
-X0300437Y0240725D01*
-X0300878Y0241332D01*
-X0301219Y0242001D01*
-X0301451Y0242715D01*
-X0301568Y0243456D01*
-X0301568Y0246616D01*
-X0296984Y0246616D01*
-X0296984Y0239063D01*
-X0297175Y0239063D01*
-X0297917Y0239180D01*
-X0298630Y0239412D01*
-X0299299Y0239753D01*
-X0299906Y0240194D01*
-X0301107Y0241781D02*
-X0317488Y0241781D01*
-X0317031Y0243380D02*
-X0301556Y0243380D01*
-X0301568Y0244978D02*
-X0317031Y0244978D01*
-X0317031Y0246577D02*
-X0301568Y0246577D01*
-X0301568Y0246984D02*
-X0301568Y0250144D01*
-X0301451Y0250885D01*
-X0301219Y0251599D01*
-X0300878Y0252268D01*
-X0300437Y0252875D01*
-X0299906Y0253406D01*
-X0299299Y0253847D01*
-X0298630Y0254188D01*
-X0297917Y0254420D01*
-X0297175Y0254537D01*
-X0296984Y0254537D01*
-X0296984Y0246984D01*
-X0301568Y0246984D01*
-X0301568Y0248175D02*
-X0317031Y0248175D01*
-X0317031Y0249774D02*
-X0301568Y0249774D01*
-X0301293Y0251372D02*
-X0317303Y0251372D01*
-X0318259Y0252971D02*
-X0300341Y0252971D01*
-X0296984Y0252971D02*
-X0296616Y0252971D01*
-X0296616Y0254537D02*
-X0296425Y0254537D01*
-X0295683Y0254420D01*
-X0294970Y0254188D01*
-X0294301Y0253847D01*
-X0293694Y0253406D01*
-X0293163Y0252875D01*
-X0292722Y0252268D01*
-X0292381Y0251599D01*
-X0292149Y0250885D01*
-X0292031Y0250144D01*
-X0292031Y0246984D01*
-X0296616Y0246984D01*
-X0296616Y0246616D01*
-X0296984Y0246616D01*
-X0296984Y0246984D01*
-X0296616Y0246984D01*
-X0296616Y0254537D01*
-X0296616Y0251372D02*
-X0296984Y0251372D01*
-X0296984Y0249774D02*
-X0296616Y0249774D01*
-X0296616Y0248175D02*
-X0296984Y0248175D01*
-X0296984Y0246577D02*
-X0296616Y0246577D01*
-X0296616Y0246616D02*
-X0296616Y0239063D01*
-X0296425Y0239063D01*
-X0295683Y0239180D01*
-X0294970Y0239412D01*
-X0294301Y0239753D01*
-X0293694Y0240194D01*
-X0293163Y0240725D01*
-X0292722Y0241332D01*
-X0292381Y0242001D01*
-X0292149Y0242715D01*
-X0292031Y0243456D01*
-X0292031Y0246616D01*
-X0296616Y0246616D01*
-X0296616Y0244978D02*
-X0296984Y0244978D01*
-X0296984Y0243380D02*
-X0296616Y0243380D01*
-X0296616Y0241781D02*
-X0296984Y0241781D01*
-X0296984Y0240183D02*
-X0296616Y0240183D01*
-X0293710Y0240183D02*
-X0289895Y0240183D01*
-X0289501Y0239789D02*
-X0290843Y0241130D01*
-X0291568Y0242883D01*
-X0291568Y0250717D01*
-X0290843Y0252470D01*
-X0289501Y0253811D01*
-X0287749Y0254537D01*
-X0285851Y0254537D01*
-X0284099Y0253811D01*
-X0282757Y0252470D01*
-X0282031Y0250717D01*
-X0282031Y0242883D01*
-X0282757Y0241130D01*
-X0284099Y0239789D01*
-X0285851Y0239063D01*
-X0287749Y0239063D01*
-X0289501Y0239789D01*
-X0291112Y0241781D02*
-X0292493Y0241781D01*
-X0292044Y0243380D02*
-X0291568Y0243380D01*
-X0291568Y0244978D02*
-X0292031Y0244978D01*
-X0292031Y0246577D02*
-X0291568Y0246577D01*
-X0291568Y0248175D02*
-X0292031Y0248175D01*
-X0292031Y0249774D02*
-X0291568Y0249774D01*
-X0291297Y0251372D02*
-X0292307Y0251372D01*
-X0293259Y0252971D02*
-X0290341Y0252971D01*
-X0283259Y0252971D02*
-X0280341Y0252971D01*
-X0280843Y0252470D02*
-X0279501Y0253811D01*
-X0277749Y0254537D01*
-X0275851Y0254537D01*
-X0274099Y0253811D01*
-X0272757Y0252470D01*
-X0272031Y0250717D01*
-X0272031Y0242883D01*
-X0272757Y0241130D01*
-X0274099Y0239789D01*
-X0275851Y0239063D01*
-X0277749Y0239063D01*
-X0279501Y0239789D01*
-X0280843Y0241130D01*
-X0281568Y0242883D01*
-X0281568Y0250717D01*
-X0280843Y0252470D01*
-X0281297Y0251372D02*
-X0282303Y0251372D01*
-X0282031Y0249774D02*
-X0281568Y0249774D01*
-X0281568Y0248175D02*
-X0282031Y0248175D01*
-X0282031Y0246577D02*
-X0281568Y0246577D01*
-X0281568Y0244978D02*
-X0282031Y0244978D01*
-X0282031Y0243380D02*
-X0281568Y0243380D01*
-X0281112Y0241781D02*
-X0282488Y0241781D01*
-X0283705Y0240183D02*
-X0279895Y0240183D01*
-X0273705Y0240183D02*
-X0261700Y0240183D01*
-X0261700Y0241781D02*
-X0272488Y0241781D01*
-X0272031Y0243380D02*
-X0261700Y0243380D01*
-X0261700Y0244978D02*
-X0272031Y0244978D01*
-X0272031Y0246577D02*
-X0261700Y0246577D01*
-X0261700Y0248175D02*
-X0272031Y0248175D01*
-X0272031Y0249774D02*
-X0261700Y0249774D01*
-X0261700Y0251372D02*
-X0272303Y0251372D01*
-X0273259Y0252971D02*
-X0261700Y0252971D01*
-X0261700Y0254569D02*
-X0400701Y0254569D01*
-X0400701Y0252971D02*
-X0390341Y0252971D01*
-X0390437Y0252875D02*
-X0389906Y0253406D01*
-X0389299Y0253847D01*
-X0388630Y0254188D01*
-X0387917Y0254420D01*
-X0387175Y0254537D01*
-X0386984Y0254537D01*
-X0386984Y0246984D01*
-X0391568Y0246984D01*
-X0391568Y0250144D01*
-X0391451Y0250885D01*
-X0391219Y0251599D01*
-X0390878Y0252268D01*
-X0390437Y0252875D01*
-X0391293Y0251372D02*
-X0400701Y0251372D01*
-X0400701Y0249774D02*
-X0391568Y0249774D01*
-X0391568Y0248175D02*
-X0400701Y0248175D01*
-X0400701Y0246577D02*
-X0391568Y0246577D01*
-X0391568Y0246616D02*
-X0386984Y0246616D01*
-X0386984Y0239063D01*
-X0387175Y0239063D01*
-X0387917Y0239180D01*
-X0388630Y0239412D01*
-X0389299Y0239753D01*
-X0389906Y0240194D01*
-X0390437Y0240725D01*
-X0390878Y0241332D01*
-X0391219Y0242001D01*
-X0391451Y0242715D01*
-X0391568Y0243456D01*
-X0391568Y0246616D01*
-X0391568Y0244978D02*
-X0400701Y0244978D01*
-X0400701Y0243380D02*
-X0391556Y0243380D01*
-X0391107Y0241781D02*
-X0400701Y0241781D01*
-X0400701Y0240183D02*
-X0389890Y0240183D01*
-X0386984Y0240183D02*
-X0386616Y0240183D01*
-X0386616Y0239063D02*
-X0386616Y0246616D01*
-X0386984Y0246616D01*
-X0386984Y0246984D01*
-X0386616Y0246984D01*
-X0386616Y0246616D01*
-X0382031Y0246616D01*
-X0382031Y0243456D01*
-X0382149Y0242715D01*
-X0382381Y0242001D01*
-X0382722Y0241332D01*
-X0383163Y0240725D01*
-X0383694Y0240194D01*
-X0384301Y0239753D01*
-X0384970Y0239412D01*
-X0385683Y0239180D01*
-X0386425Y0239063D01*
-X0386616Y0239063D01*
-X0386616Y0241781D02*
-X0386984Y0241781D01*
-X0386984Y0243380D02*
-X0386616Y0243380D01*
-X0386616Y0244978D02*
-X0386984Y0244978D01*
-X0386984Y0246577D02*
-X0386616Y0246577D01*
-X0386616Y0246984D02*
-X0382031Y0246984D01*
-X0382031Y0250144D01*
-X0382149Y0250885D01*
-X0382381Y0251599D01*
-X0382722Y0252268D01*
-X0383163Y0252875D01*
-X0383694Y0253406D01*
-X0384301Y0253847D01*
-X0384970Y0254188D01*
-X0385683Y0254420D01*
-X0386425Y0254537D01*
-X0386616Y0254537D01*
-X0386616Y0246984D01*
-X0386616Y0248175D02*
-X0386984Y0248175D01*
-X0386984Y0249774D02*
-X0386616Y0249774D01*
-X0386616Y0251372D02*
-X0386984Y0251372D01*
-X0386984Y0252971D02*
-X0386616Y0252971D01*
-X0383259Y0252971D02*
-X0380341Y0252971D01*
-X0380843Y0252470D02*
-X0379501Y0253811D01*
-X0377749Y0254537D01*
-X0375851Y0254537D01*
-X0374099Y0253811D01*
-X0372757Y0252470D01*
-X0372031Y0250717D01*
-X0372031Y0242883D01*
-X0372757Y0241130D01*
-X0374099Y0239789D01*
-X0375851Y0239063D01*
-X0377749Y0239063D01*
-X0379501Y0239789D01*
-X0380843Y0241130D01*
-X0381568Y0242883D01*
-X0381568Y0250717D01*
-X0380843Y0252470D01*
-X0381297Y0251372D02*
-X0382307Y0251372D01*
-X0382031Y0249774D02*
-X0381568Y0249774D01*
-X0381568Y0248175D02*
-X0382031Y0248175D01*
-X0382031Y0246577D02*
-X0381568Y0246577D01*
-X0381568Y0244978D02*
-X0382031Y0244978D01*
-X0382044Y0243380D02*
-X0381568Y0243380D01*
-X0381112Y0241781D02*
-X0382493Y0241781D01*
-X0383710Y0240183D02*
-X0379895Y0240183D01*
-X0373705Y0240183D02*
-X0369895Y0240183D01*
-X0369501Y0239789D02*
-X0370843Y0241130D01*
-X0371568Y0242883D01*
-X0371568Y0250717D01*
-X0370843Y0252470D01*
-X0369501Y0253811D01*
-X0367749Y0254537D01*
-X0365851Y0254537D01*
-X0364099Y0253811D01*
-X0362757Y0252470D01*
-X0362031Y0250717D01*
-X0362031Y0242883D01*
-X0362757Y0241130D01*
-X0364099Y0239789D01*
-X0365851Y0239063D01*
-X0367749Y0239063D01*
-X0369501Y0239789D01*
-X0371112Y0241781D02*
-X0372488Y0241781D01*
-X0372031Y0243380D02*
-X0371568Y0243380D01*
-X0371568Y0244978D02*
-X0372031Y0244978D01*
-X0372031Y0246577D02*
-X0371568Y0246577D01*
-X0371568Y0248175D02*
-X0372031Y0248175D01*
-X0372031Y0249774D02*
-X0371568Y0249774D01*
-X0371297Y0251372D02*
-X0372303Y0251372D01*
-X0373259Y0252971D02*
-X0370341Y0252971D01*
-X0363259Y0252971D02*
-X0345341Y0252971D01*
-X0345437Y0252875D02*
-X0344906Y0253406D01*
-X0344299Y0253847D01*
-X0343630Y0254188D01*
-X0342917Y0254420D01*
-X0342175Y0254537D01*
-X0341984Y0254537D01*
-X0341984Y0246984D01*
-X0346568Y0246984D01*
-X0346568Y0250144D01*
-X0346451Y0250885D01*
-X0346219Y0251599D01*
-X0345878Y0252268D01*
-X0345437Y0252875D01*
-X0346293Y0251372D02*
-X0362303Y0251372D01*
-X0362031Y0249774D02*
-X0346568Y0249774D01*
-X0346568Y0248175D02*
-X0362031Y0248175D01*
-X0362031Y0246577D02*
-X0346568Y0246577D01*
-X0346568Y0246616D02*
-X0341984Y0246616D01*
-X0341984Y0239063D01*
-X0342175Y0239063D01*
-X0342917Y0239180D01*
-X0343630Y0239412D01*
-X0344299Y0239753D01*
-X0344906Y0240194D01*
-X0345437Y0240725D01*
-X0345878Y0241332D01*
-X0346219Y0242001D01*
-X0346451Y0242715D01*
-X0346568Y0243456D01*
-X0346568Y0246616D01*
-X0346568Y0244978D02*
-X0362031Y0244978D01*
-X0362031Y0243380D02*
-X0346556Y0243380D01*
-X0346107Y0241781D02*
-X0362488Y0241781D01*
-X0363705Y0240183D02*
-X0344890Y0240183D01*
-X0341984Y0240183D02*
-X0341616Y0240183D01*
-X0341616Y0239063D02*
-X0341616Y0246616D01*
-X0341984Y0246616D01*
-X0341984Y0246984D01*
-X0341616Y0246984D01*
-X0341616Y0246616D01*
-X0337031Y0246616D01*
-X0337031Y0243456D01*
-X0337149Y0242715D01*
-X0337381Y0242001D01*
-X0337722Y0241332D01*
-X0338163Y0240725D01*
-X0338694Y0240194D01*
-X0339301Y0239753D01*
-X0339970Y0239412D01*
-X0340683Y0239180D01*
-X0341425Y0239063D01*
-X0341616Y0239063D01*
-X0341616Y0241781D02*
-X0341984Y0241781D01*
-X0341984Y0243380D02*
-X0341616Y0243380D01*
-X0341616Y0244978D02*
-X0341984Y0244978D01*
-X0341984Y0246577D02*
-X0341616Y0246577D01*
-X0341616Y0246984D02*
-X0337031Y0246984D01*
-X0337031Y0250144D01*
-X0337149Y0250885D01*
-X0337381Y0251599D01*
-X0337722Y0252268D01*
-X0338163Y0252875D01*
-X0338694Y0253406D01*
-X0339301Y0253847D01*
-X0339970Y0254188D01*
-X0340683Y0254420D01*
-X0341425Y0254537D01*
-X0341616Y0254537D01*
-X0341616Y0246984D01*
-X0341616Y0248175D02*
-X0341984Y0248175D01*
-X0341984Y0249774D02*
-X0341616Y0249774D01*
-X0341616Y0251372D02*
-X0341984Y0251372D01*
-X0341984Y0252971D02*
-X0341616Y0252971D01*
-X0338259Y0252971D02*
-X0335341Y0252971D01*
-X0335843Y0252470D02*
-X0334501Y0253811D01*
-X0332749Y0254537D01*
-X0330851Y0254537D01*
-X0329099Y0253811D01*
-X0327757Y0252470D01*
-X0327031Y0250717D01*
-X0327031Y0242883D01*
-X0327757Y0241130D01*
-X0329099Y0239789D01*
-X0330851Y0239063D01*
-X0332749Y0239063D01*
-X0334501Y0239789D01*
-X0335843Y0241130D01*
-X0336568Y0242883D01*
-X0336568Y0250717D01*
-X0335843Y0252470D01*
-X0336297Y0251372D02*
-X0337307Y0251372D01*
-X0337031Y0249774D02*
-X0336568Y0249774D01*
-X0336568Y0248175D02*
-X0337031Y0248175D01*
-X0337031Y0246577D02*
-X0336568Y0246577D01*
-X0336568Y0244978D02*
-X0337031Y0244978D01*
-X0337044Y0243380D02*
-X0336568Y0243380D01*
-X0336112Y0241781D02*
-X0337493Y0241781D01*
-X0338710Y0240183D02*
-X0334895Y0240183D01*
-X0328705Y0240183D02*
-X0324895Y0240183D01*
-X0324101Y0238584D02*
-X0400701Y0238584D01*
-X0400701Y0236986D02*
-X0322880Y0236986D01*
-X0321281Y0235387D02*
-X0400701Y0235387D01*
-X0400701Y0233789D02*
-X0319683Y0233789D01*
-X0319200Y0232190D02*
-X0400701Y0232190D01*
-X0400701Y0230592D02*
-X0319200Y0230592D01*
-X0319200Y0228993D02*
-X0400701Y0228993D01*
-X0400701Y0227395D02*
-X0319200Y0227395D01*
-X0319200Y0225796D02*
-X0400701Y0225796D01*
-X0400701Y0224198D02*
-X0319200Y0224198D01*
-X0319200Y0222599D02*
-X0400701Y0222599D01*
-X0400701Y0221001D02*
-X0319200Y0221001D01*
-X0319200Y0219402D02*
-X0400701Y0219402D01*
-X0400701Y0217803D02*
-X0319200Y0217803D01*
-X0319200Y0216205D02*
-X0400701Y0216205D01*
-X0400701Y0214606D02*
-X0319200Y0214606D01*
-X0319200Y0213008D02*
-X0400701Y0213008D01*
-X0400701Y0211409D02*
-X0319200Y0211409D01*
-X0319200Y0209811D02*
-X0400701Y0209811D01*
-X0400701Y0208212D02*
-X0319200Y0208212D01*
-X0319200Y0206614D02*
-X0400701Y0206614D01*
-X0400701Y0205015D02*
-X0319200Y0205015D01*
-X0319200Y0203417D02*
-X0400701Y0203417D01*
-X0400701Y0201818D02*
-X0319200Y0201818D01*
-X0319200Y0200220D02*
-X0400701Y0200220D01*
-X0400701Y0198621D02*
-X0319200Y0198621D01*
-X0319200Y0197023D02*
-X0400701Y0197023D01*
-X0400701Y0195424D02*
-X0319200Y0195424D01*
-X0319200Y0193826D02*
-X0400701Y0193826D01*
-X0400701Y0192227D02*
-X0319200Y0192227D01*
-X0319200Y0190629D02*
-X0400701Y0190629D01*
-X0400701Y0189030D02*
-X0319200Y0189030D01*
-X0319200Y0187432D02*
-X0400701Y0187432D01*
-X0400701Y0185833D02*
-X0319200Y0185833D01*
-X0319200Y0184235D02*
-X0400701Y0184235D01*
-X0400701Y0182636D02*
-X0319200Y0182636D01*
-X0319200Y0181038D02*
-X0400701Y0181038D01*
-X0400701Y0179439D02*
-X0319200Y0179439D01*
-X0319200Y0177841D02*
-X0400701Y0177841D01*
-X0400701Y0176242D02*
-X0319200Y0176242D01*
-X0319200Y0174644D02*
-X0400701Y0174644D01*
-X0400701Y0173045D02*
-X0319200Y0173045D01*
-X0319200Y0171447D02*
-X0400701Y0171447D01*
-X0400701Y0169848D02*
-X0319200Y0169848D01*
-X0319200Y0168250D02*
-X0400701Y0168250D01*
-X0400701Y0166651D02*
-X0319200Y0166651D01*
-X0319200Y0165053D02*
-X0400701Y0165053D01*
-X0400701Y0163454D02*
-X0319200Y0163454D01*
-X0319200Y0161856D02*
-X0400701Y0161856D01*
-X0400701Y0160257D02*
-X0318651Y0160257D01*
-X0317053Y0158659D02*
-X0400701Y0158659D01*
-X0400701Y0157060D02*
-X0315454Y0157060D01*
-X0313856Y0155462D02*
-X0400701Y0155462D01*
-X0400701Y0153863D02*
-X0311537Y0153863D01*
-X0310043Y0152265D02*
-X0400701Y0152265D01*
-X0400701Y0150666D02*
-X0016600Y0150666D01*
-X0016600Y0149068D02*
-X0400701Y0149068D01*
-X0400701Y0147469D02*
-X0016600Y0147469D01*
-X0016600Y0145870D02*
-X0400701Y0145870D01*
-X0400701Y0144272D02*
-X0016600Y0144272D01*
-X0016600Y0142673D02*
-X0400701Y0142673D01*
-X0400701Y0141075D02*
-X0310303Y0141075D01*
-X0309915Y0141463D02*
-X0311463Y0139915D01*
-X0312300Y0137894D01*
-X0312300Y0135706D01*
-X0311463Y0133684D01*
-X0309915Y0132137D01*
-X0307894Y0131300D01*
-X0305706Y0131300D01*
-X0303684Y0132137D01*
-X0302137Y0133684D01*
-X0301800Y0134499D01*
-X0301463Y0133684D01*
-X0299915Y0132137D01*
-X0297894Y0131300D01*
-X0295706Y0131300D01*
-X0293684Y0132137D01*
-X0292137Y0133684D01*
-X0291800Y0134499D01*
-X0291463Y0133684D01*
-X0291136Y0133358D01*
-X0333835Y0090659D01*
-X0334200Y0089777D01*
-X0334200Y0088936D01*
-X0334501Y0088811D01*
-X0335843Y0087470D01*
-X0336568Y0085717D01*
-X0336568Y0077883D01*
-X0335843Y0076130D01*
-X0334501Y0074789D01*
-X0332749Y0074063D01*
-X0330851Y0074063D01*
-X0329099Y0074789D01*
-X0327757Y0076130D01*
-X0327031Y0077883D01*
-X0327031Y0085717D01*
-X0327757Y0087470D01*
-X0328997Y0088709D01*
-X0286406Y0131300D01*
-X0285706Y0131300D01*
-X0283684Y0132137D01*
-X0282137Y0133684D01*
-X0281800Y0134499D01*
-X0281463Y0133684D01*
-X0279915Y0132137D01*
-X0279874Y0132120D01*
-X0306335Y0105659D01*
-X0306700Y0104777D01*
-X0306700Y0052794D01*
-X0313835Y0045659D01*
-X0314200Y0044777D01*
-X0314200Y0043936D01*
-X0314501Y0043811D01*
-X0315843Y0042470D01*
-X0316568Y0040717D01*
-X0316568Y0032883D01*
-X0315843Y0031130D01*
-X0314501Y0029789D01*
-X0312749Y0029063D01*
-X0310851Y0029063D01*
-X0309099Y0029789D01*
-X0307757Y0031130D01*
-X0307031Y0032883D01*
-X0307031Y0040717D01*
-X0307757Y0042470D01*
-X0308997Y0043709D01*
-X0302941Y0049765D01*
-X0302265Y0050441D01*
-X0301900Y0051323D01*
-X0301900Y0103306D01*
-X0275441Y0129765D01*
-X0274765Y0130441D01*
-X0274400Y0131323D01*
-X0274400Y0131841D01*
-X0273684Y0132137D01*
-X0272137Y0133684D01*
-X0271800Y0134499D01*
-X0271463Y0133684D01*
-X0269915Y0132137D01*
-X0267894Y0131300D01*
-X0265706Y0131300D01*
-X0263684Y0132137D01*
-X0262137Y0133684D01*
-X0261800Y0134499D01*
-X0261463Y0133684D01*
-X0261136Y0133358D01*
-X0261335Y0133159D01*
-X0261700Y0132277D01*
-X0261700Y0052794D01*
-X0268835Y0045659D01*
-X0269200Y0044777D01*
-X0269200Y0043936D01*
-X0269501Y0043811D01*
-X0270843Y0042470D01*
-X0271568Y0040717D01*
-X0271568Y0032883D01*
-X0270843Y0031130D01*
-X0269501Y0029789D01*
-X0267749Y0029063D01*
-X0265851Y0029063D01*
-X0264099Y0029789D01*
-X0262757Y0031130D01*
-X0262031Y0032883D01*
-X0262031Y0040717D01*
-X0262757Y0042470D01*
-X0263997Y0043709D01*
-X0257941Y0049765D01*
-X0257941Y0049765D01*
-X0257265Y0050441D01*
-X0256900Y0051323D01*
-X0256900Y0130806D01*
-X0256406Y0131300D01*
-X0255706Y0131300D01*
-X0253684Y0132137D01*
-X0252137Y0133684D01*
-X0251800Y0134499D01*
-X0251463Y0133684D01*
-X0249915Y0132137D01*
-X0247894Y0131300D01*
-X0245706Y0131300D01*
-X0243684Y0132137D01*
-X0242137Y0133684D01*
-X0241800Y0134499D01*
-X0241463Y0133684D01*
-X0239915Y0132137D01*
-X0239200Y0131841D01*
-X0239200Y0131323D01*
-X0238835Y0130441D01*
-X0226700Y0118306D01*
-X0226700Y0046323D01*
-X0226335Y0045441D01*
-X0225659Y0044765D01*
-X0224603Y0043709D01*
-X0225843Y0042470D01*
-X0226568Y0040717D01*
-X0226568Y0032883D01*
-X0225843Y0031130D01*
-X0224501Y0029789D01*
-X0222749Y0029063D01*
-X0220851Y0029063D01*
-X0219099Y0029789D01*
-X0217757Y0031130D01*
-X0217031Y0032883D01*
-X0217031Y0040717D01*
-X0217757Y0042470D01*
-X0219099Y0043811D01*
-X0219400Y0043936D01*
-X0219400Y0044777D01*
-X0219765Y0045659D01*
-X0221900Y0047794D01*
-X0221900Y0119777D01*
-X0222265Y0120659D01*
-X0233726Y0132120D01*
-X0233684Y0132137D01*
-X0232137Y0133684D01*
-X0231800Y0134499D01*
-X0231463Y0133684D01*
-X0229915Y0132137D01*
-X0227894Y0131300D01*
-X0225706Y0131300D01*
-X0223684Y0132137D01*
-X0222137Y0133684D01*
-X0221800Y0134499D01*
-X0221463Y0133684D01*
-X0219915Y0132137D01*
-X0217894Y0131300D01*
-X0215706Y0131300D01*
-X0213684Y0132137D01*
-X0212137Y0133684D01*
-X0211800Y0134499D01*
-X0211463Y0133684D01*
-X0209915Y0132137D01*
-X0207894Y0131300D01*
-X0205706Y0131300D01*
-X0203684Y0132137D01*
-X0202137Y0133684D01*
-X0201800Y0134499D01*
-X0201463Y0133684D01*
-X0199915Y0132137D01*
-X0197894Y0131300D01*
-X0195706Y0131300D01*
-X0193684Y0132137D01*
-X0192137Y0133684D01*
-X0191800Y0134499D01*
-X0191463Y0133684D01*
-X0189915Y0132137D01*
-X0187894Y0131300D01*
-X0185706Y0131300D01*
-X0183684Y0132137D01*
-X0182137Y0133684D01*
-X0181800Y0134499D01*
-X0181463Y0133684D01*
-X0179915Y0132137D01*
-X0179200Y0131841D01*
-X0179200Y0131323D01*
-X0178835Y0130441D01*
-X0178159Y0129765D01*
-X0136700Y0088306D01*
-X0136700Y0068823D01*
-X0136335Y0067941D01*
-X0135659Y0067265D01*
-X0134777Y0066900D01*
-X0115294Y0066900D01*
-X0091700Y0043306D01*
-X0091700Y0038823D01*
-X0091568Y0038505D01*
-X0091568Y0032883D01*
-X0090843Y0031130D01*
-X0089501Y0029789D01*
-X0087749Y0029063D01*
-X0085851Y0029063D01*
-X0084099Y0029789D01*
-X0082757Y0031130D01*
-X0082031Y0032883D01*
-X0082031Y0040717D01*
-X0082757Y0042470D01*
-X0084099Y0043811D01*
-X0085851Y0044537D01*
-X0086900Y0044537D01*
-X0086900Y0044777D01*
-X0087265Y0045659D01*
-X0112265Y0070659D01*
-X0112941Y0071335D01*
-X0113823Y0071700D01*
-X0131900Y0071700D01*
-X0131900Y0089777D01*
-X0132265Y0090659D01*
-X0173726Y0132120D01*
-X0173684Y0132137D01*
-X0172137Y0133684D01*
-X0171800Y0134499D01*
-X0171463Y0133684D01*
-X0169915Y0132137D01*
-X0167894Y0131300D01*
-X0165706Y0131300D01*
-X0163684Y0132137D01*
-X0162137Y0133684D01*
-X0161800Y0134499D01*
-X0161463Y0133684D01*
-X0159915Y0132137D01*
-X0157894Y0131300D01*
-X0155706Y0131300D01*
-X0153684Y0132137D01*
-X0152137Y0133684D01*
-X0151800Y0134499D01*
-X0151463Y0133684D01*
-X0149915Y0132137D01*
-X0147894Y0131300D01*
-X0145706Y0131300D01*
-X0143684Y0132137D01*
-X0142137Y0133684D01*
-X0141800Y0134499D01*
-X0141463Y0133684D01*
-X0139915Y0132137D01*
-X0137894Y0131300D01*
-X0135706Y0131300D01*
-X0133684Y0132137D01*
-X0132137Y0133684D01*
-X0131800Y0134499D01*
-X0131463Y0133684D01*
-X0129915Y0132137D01*
-X0127894Y0131300D01*
-X0125706Y0131300D01*
-X0123684Y0132137D01*
-X0122300Y0133522D01*
-X0122300Y0132863D01*
-X0122177Y0132405D01*
-X0121940Y0131995D01*
-X0121605Y0131660D01*
-X0121195Y0131423D01*
-X0120737Y0131300D01*
-X0117000Y0131300D01*
-X0117000Y0136600D01*
-X0116600Y0136600D01*
-X0116600Y0131300D01*
-X0112863Y0131300D01*
-X0112405Y0131423D01*
-X0111995Y0131660D01*
-X0111660Y0131995D01*
-X0111423Y0132405D01*
-X0111300Y0132863D01*
-X0111300Y0136600D01*
-X0116600Y0136600D01*
-X0116600Y0137000D01*
-X0116600Y0142300D01*
-X0112863Y0142300D01*
-X0112405Y0142177D01*
-X0111995Y0141940D01*
-X0111660Y0141605D01*
-X0111423Y0141195D01*
-X0111300Y0140737D01*
-X0111300Y0137000D01*
-X0116600Y0137000D01*
-X0117000Y0137000D01*
-X0117000Y0142300D01*
-X0120737Y0142300D01*
-X0121195Y0142177D01*
-X0121605Y0141940D01*
-X0121940Y0141605D01*
-X0122177Y0141195D01*
-X0122300Y0140737D01*
-X0122300Y0140078D01*
-X0123684Y0141463D01*
-X0125706Y0142300D01*
-X0127894Y0142300D01*
-X0129915Y0141463D01*
-X0131463Y0139915D01*
-X0131800Y0139101D01*
-X0132137Y0139915D01*
-X0133684Y0141463D01*
-X0135706Y0142300D01*
-X0137894Y0142300D01*
-X0139915Y0141463D01*
-X0141463Y0139915D01*
-X0141800Y0139101D01*
-X0142137Y0139915D01*
-X0143684Y0141463D01*
-X0145706Y0142300D01*
-X0147894Y0142300D01*
-X0149915Y0141463D01*
-X0151463Y0139915D01*
-X0151800Y0139101D01*
-X0152137Y0139915D01*
-X0153684Y0141463D01*
-X0155706Y0142300D01*
-X0157894Y0142300D01*
-X0159915Y0141463D01*
-X0161463Y0139915D01*
-X0161800Y0139101D01*
-X0162137Y0139915D01*
-X0163684Y0141463D01*
-X0165706Y0142300D01*
-X0167894Y0142300D01*
-X0169915Y0141463D01*
-X0171463Y0139915D01*
-X0171800Y0139101D01*
-X0172137Y0139915D01*
-X0173684Y0141463D01*
-X0175706Y0142300D01*
-X0177894Y0142300D01*
-X0179915Y0141463D01*
-X0181463Y0139915D01*
-X0181800Y0139101D01*
-X0182137Y0139915D01*
-X0183684Y0141463D01*
-X0185706Y0142300D01*
-X0187894Y0142300D01*
-X0189915Y0141463D01*
-X0191463Y0139915D01*
-X0191800Y0139101D01*
-X0192137Y0139915D01*
-X0193684Y0141463D01*
-X0195706Y0142300D01*
-X0197894Y0142300D01*
-X0199915Y0141463D01*
-X0201463Y0139915D01*
-X0201800Y0139101D01*
-X0202137Y0139915D01*
-X0203684Y0141463D01*
-X0205706Y0142300D01*
-X0207894Y0142300D01*
-X0209915Y0141463D01*
-X0211463Y0139915D01*
-X0211800Y0139101D01*
-X0212137Y0139915D01*
-X0213684Y0141463D01*
-X0215706Y0142300D01*
-X0217894Y0142300D01*
-X0219915Y0141463D01*
-X0221463Y0139915D01*
-X0221800Y0139101D01*
-X0222137Y0139915D01*
-X0223684Y0141463D01*
-X0225706Y0142300D01*
-X0227894Y0142300D01*
-X0229915Y0141463D01*
-X0231463Y0139915D01*
-X0231800Y0139101D01*
-X0232137Y0139915D01*
-X0233684Y0141463D01*
-X0235706Y0142300D01*
-X0237894Y0142300D01*
-X0239915Y0141463D01*
-X0241463Y0139915D01*
-X0241800Y0139101D01*
-X0242137Y0139915D01*
-X0243684Y0141463D01*
-X0245706Y0142300D01*
-X0247894Y0142300D01*
-X0249915Y0141463D01*
-X0251463Y0139915D01*
-X0251800Y0139101D01*
-X0252137Y0139915D01*
-X0253684Y0141463D01*
-X0255706Y0142300D01*
-X0257894Y0142300D01*
-X0259915Y0141463D01*
-X0261463Y0139915D01*
-X0261800Y0139101D01*
-X0262137Y0139915D01*
-X0263684Y0141463D01*
-X0265706Y0142300D01*
-X0267894Y0142300D01*
-X0269915Y0141463D01*
-X0271463Y0139915D01*
-X0271800Y0139101D01*
-X0272137Y0139915D01*
-X0273684Y0141463D01*
-X0275706Y0142300D01*
-X0277894Y0142300D01*
-X0279915Y0141463D01*
-X0281463Y0139915D01*
-X0281800Y0139101D01*
-X0282137Y0139915D01*
-X0283684Y0141463D01*
-X0285706Y0142300D01*
-X0287894Y0142300D01*
-X0289915Y0141463D01*
-X0291463Y0139915D01*
-X0291800Y0139101D01*
-X0292137Y0139915D01*
-X0293684Y0141463D01*
-X0295706Y0142300D01*
-X0297894Y0142300D01*
-X0299915Y0141463D01*
-X0301463Y0139915D01*
-X0301800Y0139101D01*
-X0302137Y0139915D01*
-X0303684Y0141463D01*
-X0305706Y0142300D01*
-X0307894Y0142300D01*
-X0309915Y0141463D01*
-X0311645Y0139476D02*
-X0400701Y0139476D01*
-X0400701Y0137878D02*
-X0312300Y0137878D01*
-X0312300Y0136279D02*
-X0400701Y0136279D01*
-X0400701Y0134681D02*
-X0311875Y0134681D01*
-X0310861Y0133082D02*
-X0400701Y0133082D01*
-X0400701Y0131484D02*
-X0308338Y0131484D01*
-X0305262Y0131484D02*
-X0298338Y0131484D01*
-X0300861Y0133082D02*
-X0302739Y0133082D01*
-X0301955Y0139476D02*
-X0301645Y0139476D01*
-X0300303Y0141075D02*
-X0303297Y0141075D01*
-X0293297Y0141075D02*
-X0290303Y0141075D01*
-X0291645Y0139476D02*
-X0291955Y0139476D01*
-X0291412Y0133082D02*
-X0292739Y0133082D01*
-X0293010Y0131484D02*
-X0295262Y0131484D01*
-X0294609Y0129885D02*
-X0400701Y0129885D01*
-X0400701Y0128287D02*
-X0296207Y0128287D01*
-X0297806Y0126688D02*
-X0400701Y0126688D01*
-X0400701Y0125090D02*
-X0299404Y0125090D01*
-X0301003Y0123491D02*
-X0400701Y0123491D01*
-X0400701Y0121893D02*
-X0302601Y0121893D01*
-X0304200Y0120294D02*
-X0400701Y0120294D01*
-X0400701Y0118696D02*
-X0305798Y0118696D01*
-X0307397Y0117097D02*
-X0400701Y0117097D01*
-X0400701Y0115499D02*
-X0308995Y0115499D01*
-X0310594Y0113900D02*
-X0400701Y0113900D01*
-X0400701Y0112302D02*
-X0312192Y0112302D01*
-X0313791Y0110703D02*
-X0400701Y0110703D01*
-X0400701Y0109105D02*
-X0315389Y0109105D01*
-X0316988Y0107506D02*
-X0400701Y0107506D01*
-X0400701Y0105908D02*
-X0318586Y0105908D01*
-X0320185Y0104309D02*
-X0400701Y0104309D01*
-X0400701Y0102711D02*
-X0321783Y0102711D01*
-X0323382Y0101112D02*
-X0400701Y0101112D01*
-X0400701Y0099514D02*
-X0324980Y0099514D01*
-X0326579Y0097915D02*
-X0400701Y0097915D01*
-X0400701Y0096317D02*
-X0328177Y0096317D01*
-X0329776Y0094718D02*
-X0400701Y0094718D01*
-X0400701Y0093120D02*
-X0331374Y0093120D01*
-X0332973Y0091521D02*
-X0400701Y0091521D01*
-X0400701Y0089923D02*
-X0334140Y0089923D01*
-X0334988Y0088324D02*
-X0338612Y0088324D01*
-X0338694Y0088406D02*
-X0338163Y0087875D01*
-X0337722Y0087268D01*
-X0337381Y0086599D01*
-X0337149Y0085885D01*
-X0337031Y0085144D01*
-X0337031Y0081984D01*
-X0341616Y0081984D01*
-X0341616Y0081616D01*
-X0341984Y0081616D01*
-X0341984Y0074063D01*
-X0342175Y0074063D01*
-X0342917Y0074180D01*
-X0343630Y0074412D01*
-X0344299Y0074753D01*
-X0344906Y0075194D01*
-X0345437Y0075725D01*
-X0345878Y0076332D01*
-X0346219Y0077001D01*
-X0346451Y0077715D01*
-X0346568Y0078456D01*
-X0346568Y0081616D01*
-X0341984Y0081616D01*
-X0341984Y0081984D01*
-X0346568Y0081984D01*
-X0346568Y0085144D01*
-X0346451Y0085885D01*
-X0346219Y0086599D01*
-X0345878Y0087268D01*
-X0345437Y0087875D01*
-X0344906Y0088406D01*
-X0344299Y0088847D01*
-X0343630Y0089188D01*
-X0342917Y0089420D01*
-X0342175Y0089537D01*
-X0341984Y0089537D01*
-X0341984Y0081984D01*
-X0341616Y0081984D01*
-X0341616Y0089537D01*
-X0341425Y0089537D01*
-X0340683Y0089420D01*
-X0339970Y0089188D01*
-X0339301Y0088847D01*
-X0338694Y0088406D01*
-X0337445Y0086726D02*
-X0336151Y0086726D01*
-X0336568Y0085127D02*
-X0337031Y0085127D01*
-X0337031Y0083529D02*
-X0336568Y0083529D01*
-X0336568Y0081930D02*
-X0341616Y0081930D01*
-X0341616Y0081616D02*
-X0337031Y0081616D01*
-X0337031Y0078456D01*
-X0337149Y0077715D01*
-X0337381Y0077001D01*
-X0337722Y0076332D01*
-X0338163Y0075725D01*
-X0338694Y0075194D01*
-X0339301Y0074753D01*
-X0339970Y0074412D01*
-X0340683Y0074180D01*
-X0341425Y0074063D01*
-X0341616Y0074063D01*
-X0341616Y0081616D01*
-X0341984Y0081930D02*
-X0362031Y0081930D01*
-X0362031Y0080332D02*
-X0346568Y0080332D01*
-X0346568Y0078733D02*
-X0362031Y0078733D01*
-X0362031Y0077883D02*
-X0362757Y0076130D01*
-X0364099Y0074789D01*
-X0365851Y0074063D01*
-X0367749Y0074063D01*
-X0369501Y0074789D01*
-X0370843Y0076130D01*
-X0371568Y0077883D01*
-X0371568Y0085717D01*
-X0370843Y0087470D01*
-X0369501Y0088811D01*
-X0367749Y0089537D01*
-X0365851Y0089537D01*
-X0364099Y0088811D01*
-X0362757Y0087470D01*
-X0362031Y0085717D01*
-X0362031Y0077883D01*
-X0362342Y0077134D02*
-X0346262Y0077134D01*
-X0345248Y0075536D02*
-X0363352Y0075536D01*
-X0370248Y0075536D02*
-X0373352Y0075536D01*
-X0372757Y0076130D02*
-X0374099Y0074789D01*
-X0375851Y0074063D01*
-X0377749Y0074063D01*
-X0379501Y0074789D01*
-X0380843Y0076130D01*
-X0381568Y0077883D01*
-X0381568Y0085717D01*
-X0380843Y0087470D01*
-X0379501Y0088811D01*
-X0377749Y0089537D01*
-X0375851Y0089537D01*
-X0374099Y0088811D01*
-X0372757Y0087470D01*
-X0372031Y0085717D01*
-X0372031Y0077883D01*
-X0372757Y0076130D01*
-X0372342Y0077134D02*
-X0371258Y0077134D01*
-X0371568Y0078733D02*
-X0372031Y0078733D01*
-X0372031Y0080332D02*
-X0371568Y0080332D01*
-X0371568Y0081930D02*
-X0372031Y0081930D01*
-X0372031Y0083529D02*
-X0371568Y0083529D01*
-X0371568Y0085127D02*
-X0372031Y0085127D01*
-X0372449Y0086726D02*
-X0371151Y0086726D01*
-X0369988Y0088324D02*
-X0373612Y0088324D01*
-X0379988Y0088324D02*
-X0383612Y0088324D01*
-X0383694Y0088406D02*
-X0383163Y0087875D01*
-X0382722Y0087268D01*
-X0382381Y0086599D01*
-X0382149Y0085885D01*
-X0382031Y0085144D01*
-X0382031Y0081984D01*
-X0386616Y0081984D01*
-X0386616Y0081616D01*
-X0386984Y0081616D01*
-X0386984Y0074063D01*
-X0387175Y0074063D01*
-X0387917Y0074180D01*
-X0388630Y0074412D01*
-X0389299Y0074753D01*
-X0389906Y0075194D01*
-X0390437Y0075725D01*
-X0390878Y0076332D01*
-X0391219Y0077001D01*
-X0391451Y0077715D01*
-X0391568Y0078456D01*
-X0391568Y0081616D01*
-X0386984Y0081616D01*
-X0386984Y0081984D01*
-X0391568Y0081984D01*
-X0391568Y0085144D01*
-X0391451Y0085885D01*
-X0391219Y0086599D01*
-X0390878Y0087268D01*
-X0390437Y0087875D01*
-X0389906Y0088406D01*
-X0389299Y0088847D01*
-X0388630Y0089188D01*
-X0387917Y0089420D01*
-X0387175Y0089537D01*
-X0386984Y0089537D01*
-X0386984Y0081984D01*
-X0386616Y0081984D01*
-X0386616Y0089537D01*
-X0386425Y0089537D01*
-X0385683Y0089420D01*
-X0384970Y0089188D01*
-X0384301Y0088847D01*
-X0383694Y0088406D01*
-X0382445Y0086726D02*
-X0381151Y0086726D01*
-X0381568Y0085127D02*
-X0382031Y0085127D01*
-X0382031Y0083529D02*
-X0381568Y0083529D01*
-X0381568Y0081930D02*
-X0386616Y0081930D01*
-X0386616Y0081616D02*
-X0382031Y0081616D01*
-X0382031Y0078456D01*
-X0382149Y0077715D01*
-X0382381Y0077001D01*
-X0382722Y0076332D01*
-X0383163Y0075725D01*
-X0383694Y0075194D01*
-X0384301Y0074753D01*
-X0384970Y0074412D01*
-X0385683Y0074180D01*
-X0386425Y0074063D01*
-X0386616Y0074063D01*
-X0386616Y0081616D01*
-X0386984Y0081930D02*
-X0400701Y0081930D01*
-X0400701Y0080332D02*
-X0391568Y0080332D01*
-X0391568Y0078733D02*
-X0400701Y0078733D01*
-X0400701Y0077134D02*
-X0391262Y0077134D01*
-X0390248Y0075536D02*
-X0400701Y0075536D01*
-X0400701Y0073937D02*
-X0306700Y0073937D01*
-X0306700Y0072339D02*
-X0400701Y0072339D01*
-X0400701Y0070740D02*
-X0306700Y0070740D01*
-X0306700Y0069142D02*
-X0400701Y0069142D01*
-X0400701Y0067543D02*
-X0306700Y0067543D01*
-X0306700Y0065945D02*
-X0400701Y0065945D01*
-X0400701Y0064346D02*
-X0306700Y0064346D01*
-X0306700Y0062748D02*
-X0400701Y0062748D01*
-X0400701Y0061149D02*
-X0306700Y0061149D01*
-X0306700Y0059551D02*
-X0400701Y0059551D01*
-X0400701Y0057952D02*
-X0306700Y0057952D01*
-X0306700Y0056354D02*
-X0400701Y0056354D01*
-X0400701Y0054755D02*
-X0306700Y0054755D01*
-X0306700Y0053157D02*
-X0400701Y0053157D01*
-X0400701Y0051558D02*
-X0307936Y0051558D01*
-X0309534Y0049960D02*
-X0400701Y0049960D01*
-X0400701Y0048361D02*
-X0311133Y0048361D01*
-X0312731Y0046763D02*
-X0400701Y0046763D01*
-X0400701Y0045164D02*
-X0314040Y0045164D01*
-X0314746Y0043566D02*
-X0318914Y0043566D01*
-X0318694Y0043406D02*
-X0319301Y0043847D01*
-X0319970Y0044188D01*
-X0320683Y0044420D01*
-X0321425Y0044537D01*
-X0321616Y0044537D01*
-X0321616Y0036984D01*
-X0321616Y0036616D01*
-X0321984Y0036616D01*
-X0321984Y0029063D01*
-X0322175Y0029063D01*
-X0322917Y0029180D01*
-X0323630Y0029412D01*
-X0324299Y0029753D01*
-X0324906Y0030194D01*
-X0325437Y0030725D01*
-X0325878Y0031332D01*
-X0326219Y0032001D01*
-X0326451Y0032715D01*
-X0326568Y0033456D01*
-X0326568Y0036616D01*
-X0321984Y0036616D01*
-X0321984Y0036984D01*
-X0326568Y0036984D01*
-X0326568Y0040144D01*
-X0326451Y0040885D01*
-X0326219Y0041599D01*
-X0325878Y0042268D01*
-X0325437Y0042875D01*
-X0324906Y0043406D01*
-X0324299Y0043847D01*
-X0323630Y0044188D01*
-X0322917Y0044420D01*
-X0322175Y0044537D01*
-X0321984Y0044537D01*
-X0321984Y0036984D01*
-X0321616Y0036984D01*
-X0317031Y0036984D01*
-X0317031Y0040144D01*
-X0317149Y0040885D01*
-X0317381Y0041599D01*
-X0317722Y0042268D01*
-X0318163Y0042875D01*
-X0318694Y0043406D01*
-X0317569Y0041967D02*
-X0316051Y0041967D01*
-X0316568Y0040369D02*
-X0317067Y0040369D01*
-X0317031Y0038770D02*
-X0316568Y0038770D01*
-X0316568Y0037172D02*
-X0317031Y0037172D01*
-X0317031Y0036616D02*
-X0317031Y0033456D01*
-X0317149Y0032715D01*
-X0317381Y0032001D01*
-X0317722Y0031332D01*
-X0318163Y0030725D01*
-X0318694Y0030194D01*
-X0319301Y0029753D01*
-X0319970Y0029412D01*
-X0320683Y0029180D01*
-X0321425Y0029063D01*
-X0321616Y0029063D01*
-X0321616Y0036616D01*
-X0317031Y0036616D01*
-X0317031Y0035573D02*
-X0316568Y0035573D01*
-X0316568Y0033975D02*
-X0317031Y0033975D01*
-X0317259Y0032376D02*
-X0316359Y0032376D01*
-X0315490Y0030778D02*
-X0318125Y0030778D01*
-X0320691Y0029179D02*
-X0313029Y0029179D01*
-X0310571Y0029179D02*
-X0303029Y0029179D01*
-X0302749Y0029063D02*
-X0304501Y0029789D01*
-X0305843Y0031130D01*
-X0306568Y0032883D01*
-X0306568Y0040717D01*
-X0305843Y0042470D01*
-X0304501Y0043811D01*
-X0302749Y0044537D01*
-X0300851Y0044537D01*
-X0299099Y0043811D01*
-X0297757Y0042470D01*
-X0297031Y0040717D01*
-X0297031Y0032883D01*
-X0297757Y0031130D01*
-X0299099Y0029789D01*
-X0300851Y0029063D01*
-X0302749Y0029063D01*
-X0300571Y0029179D02*
-X0277909Y0029179D01*
-X0277917Y0029180D02*
-X0278630Y0029412D01*
-X0279299Y0029753D01*
-X0279906Y0030194D01*
-X0280437Y0030725D01*
-X0280878Y0031332D01*
-X0281219Y0032001D01*
-X0281451Y0032715D01*
-X0281568Y0033456D01*
-X0281568Y0036616D01*
-X0276984Y0036616D01*
-X0276984Y0029063D01*
-X0277175Y0029063D01*
-X0277917Y0029180D01*
-X0276984Y0029179D02*
-X0276616Y0029179D01*
-X0276616Y0029063D02*
-X0276616Y0036616D01*
-X0276984Y0036616D01*
-X0276984Y0036984D01*
-X0281568Y0036984D01*
-X0281568Y0040144D01*
-X0281451Y0040885D01*
-X0281219Y0041599D01*
-X0280878Y0042268D01*
-X0280437Y0042875D01*
-X0279906Y0043406D01*
-X0279299Y0043847D01*
-X0278630Y0044188D01*
-X0277917Y0044420D01*
-X0277175Y0044537D01*
-X0276984Y0044537D01*
-X0276984Y0036984D01*
-X0276616Y0036984D01*
-X0276616Y0036616D01*
-X0272031Y0036616D01*
-X0272031Y0033456D01*
-X0272149Y0032715D01*
-X0272381Y0032001D01*
-X0272722Y0031332D01*
-X0273163Y0030725D01*
-X0273694Y0030194D01*
-X0274301Y0029753D01*
-X0274970Y0029412D01*
-X0275683Y0029180D01*
-X0276425Y0029063D01*
-X0276616Y0029063D01*
-X0275691Y0029179D02*
-X0268029Y0029179D01*
-X0265571Y0029179D02*
-X0258029Y0029179D01*
-X0257749Y0029063D02*
-X0259501Y0029789D01*
-X0260843Y0031130D01*
-X0261568Y0032883D01*
-X0261568Y0040717D01*
-X0260843Y0042470D01*
-X0259501Y0043811D01*
-X0257749Y0044537D01*
-X0255851Y0044537D01*
-X0254099Y0043811D01*
-X0252757Y0042470D01*
-X0252031Y0040717D01*
-X0252031Y0032883D01*
-X0252757Y0031130D01*
-X0254099Y0029789D01*
-X0255851Y0029063D01*
-X0257749Y0029063D01*
-X0255571Y0029179D02*
-X0232909Y0029179D01*
-X0232917Y0029180D02*
-X0233630Y0029412D01*
-X0234299Y0029753D01*
-X0234906Y0030194D01*
-X0235437Y0030725D01*
-X0235878Y0031332D01*
-X0236219Y0032001D01*
-X0236451Y0032715D01*
-X0236568Y0033456D01*
-X0236568Y0036616D01*
-X0231984Y0036616D01*
-X0231984Y0029063D01*
-X0232175Y0029063D01*
-X0232917Y0029180D01*
-X0231984Y0029179D02*
-X0231616Y0029179D01*
-X0231616Y0029063D02*
-X0231616Y0036616D01*
-X0231984Y0036616D01*
-X0231984Y0036984D01*
-X0236568Y0036984D01*
-X0236568Y0040144D01*
-X0236451Y0040885D01*
-X0236219Y0041599D01*
-X0235878Y0042268D01*
-X0235437Y0042875D01*
-X0234906Y0043406D01*
-X0234299Y0043847D01*
-X0233630Y0044188D01*
-X0232917Y0044420D01*
-X0232175Y0044537D01*
-X0231984Y0044537D01*
-X0231984Y0036984D01*
-X0231616Y0036984D01*
-X0231616Y0036616D01*
-X0227031Y0036616D01*
-X0227031Y0033456D01*
-X0227149Y0032715D01*
-X0227381Y0032001D01*
-X0227722Y0031332D01*
-X0228163Y0030725D01*
-X0228694Y0030194D01*
-X0229301Y0029753D01*
-X0229970Y0029412D01*
-X0230683Y0029180D01*
-X0231425Y0029063D01*
-X0231616Y0029063D01*
-X0230691Y0029179D02*
-X0223029Y0029179D01*
-X0220571Y0029179D02*
-X0213029Y0029179D01*
-X0212749Y0029063D02*
-X0214501Y0029789D01*
-X0215843Y0031130D01*
-X0216568Y0032883D01*
-X0216568Y0040717D01*
-X0215843Y0042470D01*
-X0214501Y0043811D01*
-X0212749Y0044537D01*
-X0210851Y0044537D01*
-X0209099Y0043811D01*
-X0207757Y0042470D01*
-X0207031Y0040717D01*
-X0207031Y0032883D01*
-X0207757Y0031130D01*
-X0209099Y0029789D01*
-X0210851Y0029063D01*
-X0212749Y0029063D01*
-X0210571Y0029179D02*
-X0187909Y0029179D01*
-X0187917Y0029180D02*
-X0188630Y0029412D01*
-X0189299Y0029753D01*
-X0189906Y0030194D01*
-X0190437Y0030725D01*
-X0190878Y0031332D01*
-X0191219Y0032001D01*
-X0191451Y0032715D01*
-X0191568Y0033456D01*
-X0191568Y0036616D01*
-X0186984Y0036616D01*
-X0186984Y0029063D01*
-X0187175Y0029063D01*
-X0187917Y0029180D01*
-X0186984Y0029179D02*
-X0186616Y0029179D01*
-X0186616Y0029063D02*
-X0186616Y0036616D01*
-X0186984Y0036616D01*
-X0186984Y0036984D01*
-X0191568Y0036984D01*
-X0191568Y0040144D01*
-X0191451Y0040885D01*
-X0191219Y0041599D01*
-X0190878Y0042268D01*
-X0190437Y0042875D01*
-X0189906Y0043406D01*
-X0189299Y0043847D01*
-X0188630Y0044188D01*
-X0187917Y0044420D01*
-X0187175Y0044537D01*
-X0186984Y0044537D01*
-X0186984Y0036984D01*
-X0186616Y0036984D01*
-X0186616Y0036616D01*
-X0182031Y0036616D01*
-X0182031Y0033456D01*
-X0182149Y0032715D01*
-X0182381Y0032001D01*
-X0182722Y0031332D01*
-X0183163Y0030725D01*
-X0183694Y0030194D01*
-X0184301Y0029753D01*
-X0184970Y0029412D01*
-X0185683Y0029180D01*
-X0186425Y0029063D01*
-X0186616Y0029063D01*
-X0185691Y0029179D02*
-X0178029Y0029179D01*
-X0177749Y0029063D02*
-X0179501Y0029789D01*
-X0180843Y0031130D01*
-X0181568Y0032883D01*
-X0181568Y0040717D01*
-X0180843Y0042470D01*
-X0179501Y0043811D01*
-X0179200Y0043936D01*
-X0179200Y0048826D01*
-X0180021Y0049647D01*
-X0180600Y0051044D01*
-X0180600Y0052556D01*
-X0180021Y0053953D01*
-X0178953Y0055021D01*
-X0177556Y0055600D01*
-X0176044Y0055600D01*
-X0174647Y0055021D01*
-X0173579Y0053953D01*
-X0173000Y0052556D01*
-X0173000Y0051044D01*
-X0173579Y0049647D01*
-X0174400Y0048826D01*
-X0174400Y0043936D01*
-X0174099Y0043811D01*
-X0172757Y0042470D01*
-X0172031Y0040717D01*
-X0172031Y0032883D01*
-X0172757Y0031130D01*
-X0174099Y0029789D01*
-X0175851Y0029063D01*
-X0177749Y0029063D01*
-X0175571Y0029179D02*
-X0168029Y0029179D01*
-X0167749Y0029063D02*
-X0169501Y0029789D01*
-X0170843Y0031130D01*
-X0171568Y0032883D01*
-X0171568Y0040717D01*
-X0170843Y0042470D01*
-X0169501Y0043811D01*
-X0167749Y0044537D01*
-X0165851Y0044537D01*
-X0164099Y0043811D01*
-X0162757Y0042470D01*
-X0162031Y0040717D01*
-X0162031Y0032883D01*
-X0162757Y0031130D01*
-X0164099Y0029789D01*
-X0165851Y0029063D01*
-X0167749Y0029063D01*
-X0165571Y0029179D02*
-X0142909Y0029179D01*
-X0142917Y0029180D02*
-X0143630Y0029412D01*
-X0144299Y0029753D01*
-X0144906Y0030194D01*
-X0145437Y0030725D01*
-X0145878Y0031332D01*
-X0146219Y0032001D01*
-X0146451Y0032715D01*
-X0146568Y0033456D01*
-X0146568Y0036616D01*
-X0141984Y0036616D01*
-X0141984Y0029063D01*
-X0142175Y0029063D01*
-X0142917Y0029180D01*
-X0141984Y0029179D02*
-X0141616Y0029179D01*
-X0141616Y0029063D02*
-X0141616Y0036616D01*
-X0141984Y0036616D01*
-X0141984Y0036984D01*
-X0146568Y0036984D01*
-X0146568Y0040144D01*
-X0146451Y0040885D01*
-X0146219Y0041599D01*
-X0145878Y0042268D01*
-X0145437Y0042875D01*
-X0144906Y0043406D01*
-X0144299Y0043847D01*
-X0143630Y0044188D01*
-X0142917Y0044420D01*
-X0142175Y0044537D01*
-X0141984Y0044537D01*
-X0141984Y0036984D01*
-X0141616Y0036984D01*
-X0141616Y0036616D01*
-X0137031Y0036616D01*
-X0137031Y0033456D01*
-X0137149Y0032715D01*
-X0137381Y0032001D01*
-X0137722Y0031332D01*
-X0138163Y0030725D01*
-X0138694Y0030194D01*
-X0139301Y0029753D01*
-X0139970Y0029412D01*
-X0140683Y0029180D01*
-X0141425Y0029063D01*
-X0141616Y0029063D01*
-X0140691Y0029179D02*
-X0133029Y0029179D01*
-X0132749Y0029063D02*
-X0134501Y0029789D01*
-X0135843Y0031130D01*
-X0136568Y0032883D01*
-X0136568Y0040717D01*
-X0135843Y0042470D01*
-X0134501Y0043811D01*
-X0132749Y0044537D01*
-X0130851Y0044537D01*
-X0129099Y0043811D01*
-X0127757Y0042470D01*
-X0127031Y0040717D01*
-X0127031Y0032883D01*
-X0127757Y0031130D01*
-X0129099Y0029789D01*
-X0130851Y0029063D01*
-X0132749Y0029063D01*
-X0130571Y0029179D02*
-X0123029Y0029179D01*
-X0122749Y0029063D02*
-X0124501Y0029789D01*
-X0125843Y0031130D01*
-X0126568Y0032883D01*
-X0126568Y0040717D01*
-X0125843Y0042470D01*
-X0124501Y0043811D01*
-X0122749Y0044537D01*
-X0120851Y0044537D01*
-X0119099Y0043811D01*
-X0117757Y0042470D01*
-X0117031Y0040717D01*
-X0117031Y0032883D01*
-X0117757Y0031130D01*
-X0119099Y0029789D01*
-X0120851Y0029063D01*
-X0122749Y0029063D01*
-X0120571Y0029179D02*
-X0097909Y0029179D01*
-X0097917Y0029180D02*
-X0098630Y0029412D01*
-X0099299Y0029753D01*
-X0099906Y0030194D01*
-X0100437Y0030725D01*
-X0100878Y0031332D01*
-X0101219Y0032001D01*
-X0101451Y0032715D01*
-X0101568Y0033456D01*
-X0101568Y0036616D01*
-X0096984Y0036616D01*
-X0096984Y0029063D01*
-X0097175Y0029063D01*
-X0097917Y0029180D01*
-X0096984Y0029179D02*
-X0096616Y0029179D01*
-X0096616Y0029063D02*
-X0096616Y0036616D01*
-X0096984Y0036616D01*
-X0096984Y0036984D01*
-X0101568Y0036984D01*
-X0101568Y0040144D01*
-X0101451Y0040885D01*
-X0101219Y0041599D01*
-X0100878Y0042268D01*
-X0100437Y0042875D01*
-X0099906Y0043406D01*
-X0099299Y0043847D01*
-X0098630Y0044188D01*
-X0097917Y0044420D01*
-X0097175Y0044537D01*
-X0096984Y0044537D01*
-X0096984Y0036984D01*
-X0096616Y0036984D01*
-X0096616Y0036616D01*
-X0092031Y0036616D01*
-X0092031Y0033456D01*
-X0092149Y0032715D01*
-X0092381Y0032001D01*
-X0092722Y0031332D01*
-X0093163Y0030725D01*
-X0093694Y0030194D01*
-X0094301Y0029753D01*
-X0094970Y0029412D01*
-X0095683Y0029180D01*
-X0096425Y0029063D01*
-X0096616Y0029063D01*
-X0095691Y0029179D02*
-X0088029Y0029179D01*
-X0085571Y0029179D02*
-X0078029Y0029179D01*
-X0077749Y0029063D02*
-X0079501Y0029789D01*
-X0080843Y0031130D01*
-X0081568Y0032883D01*
-X0081568Y0040717D01*
-X0080843Y0042470D01*
-X0079501Y0043811D01*
-X0077749Y0044537D01*
-X0075851Y0044537D01*
-X0074099Y0043811D01*
-X0072757Y0042470D01*
-X0072031Y0040717D01*
-X0072031Y0032883D01*
-X0072757Y0031130D01*
-X0074099Y0029789D01*
-X0075851Y0029063D01*
-X0077749Y0029063D01*
-X0075571Y0029179D02*
-X0053029Y0029179D01*
-X0052749Y0029063D02*
-X0054501Y0029789D01*
-X0055843Y0031130D01*
-X0056568Y0032883D01*
-X0056568Y0040717D01*
-X0055843Y0042470D01*
-X0054501Y0043811D01*
-X0052749Y0044537D01*
-X0050851Y0044537D01*
-X0049099Y0043811D01*
-X0047757Y0042470D01*
-X0047031Y0040717D01*
-X0047031Y0032883D01*
-X0047757Y0031130D01*
-X0049099Y0029789D01*
-X0050851Y0029063D01*
-X0052749Y0029063D01*
-X0050571Y0029179D02*
-X0042909Y0029179D01*
-X0042917Y0029180D02*
-X0043630Y0029412D01*
-X0044299Y0029753D01*
-X0044906Y0030194D01*
-X0045437Y0030725D01*
-X0045878Y0031332D01*
-X0046219Y0032001D01*
-X0046451Y0032715D01*
-X0046568Y0033456D01*
-X0046568Y0036616D01*
-X0041984Y0036616D01*
-X0041984Y0029063D01*
-X0042175Y0029063D01*
-X0042917Y0029180D01*
-X0041984Y0029179D02*
-X0041616Y0029179D01*
-X0041616Y0029063D02*
-X0041616Y0036616D01*
-X0041984Y0036616D01*
-X0041984Y0036984D01*
-X0046568Y0036984D01*
-X0046568Y0040144D01*
-X0046451Y0040885D01*
-X0046219Y0041599D01*
-X0045878Y0042268D01*
-X0045437Y0042875D01*
-X0044906Y0043406D01*
-X0044299Y0043847D01*
-X0043630Y0044188D01*
-X0042917Y0044420D01*
-X0042175Y0044537D01*
-X0041984Y0044537D01*
-X0041984Y0036984D01*
-X0041616Y0036984D01*
-X0041616Y0036616D01*
-X0037031Y0036616D01*
-X0037031Y0033456D01*
-X0037149Y0032715D01*
-X0037381Y0032001D01*
-X0037722Y0031332D01*
-X0038163Y0030725D01*
-X0038694Y0030194D01*
-X0039301Y0029753D01*
-X0039970Y0029412D01*
-X0040683Y0029180D01*
-X0041425Y0029063D01*
-X0041616Y0029063D01*
-X0040691Y0029179D02*
-X0033029Y0029179D01*
-X0032749Y0029063D02*
-X0034501Y0029789D01*
-X0035843Y0031130D01*
-X0036568Y0032883D01*
-X0036568Y0040717D01*
-X0035843Y0042470D01*
-X0034501Y0043811D01*
-X0032749Y0044537D01*
-X0030851Y0044537D01*
-X0029099Y0043811D01*
-X0027757Y0042470D01*
-X0027031Y0040717D01*
-X0027031Y0032883D01*
-X0027757Y0031130D01*
-X0029099Y0029789D01*
-X0030851Y0029063D01*
-X0032749Y0029063D01*
-X0030571Y0029179D02*
-X0016600Y0029179D01*
-X0016600Y0027581D02*
-X0381874Y0027581D01*
-X0381824Y0027668D02*
-X0383233Y0025227D01*
-X0385227Y0023233D01*
-X0387668Y0021824D01*
-X0390391Y0021094D01*
-X0393209Y0021094D01*
-X0395932Y0021824D01*
-X0398373Y0023233D01*
-X0400367Y0025227D01*
-X0400701Y0025806D01*
-X0400701Y0011600D01*
-X0016600Y0011600D01*
-X0016600Y0316961D01*
-X0400701Y0316961D01*
-X0400701Y0037794D01*
-X0400367Y0038373D01*
-X0398373Y0040367D01*
-X0395932Y0041776D01*
-X0393209Y0042505D01*
-X0390391Y0042505D01*
-X0387668Y0041776D01*
-X0385227Y0040367D01*
-X0383233Y0038373D01*
-X0381824Y0035932D01*
-X0381094Y0033209D01*
-X0381094Y0030391D01*
-X0381824Y0027668D01*
-X0381419Y0029179D02*
-X0367909Y0029179D01*
-X0367917Y0029180D02*
-X0368630Y0029412D01*
-X0369299Y0029753D01*
-X0369906Y0030194D01*
-X0370437Y0030725D01*
-X0370878Y0031332D01*
-X0371219Y0032001D01*
-X0371451Y0032715D01*
-X0371568Y0033456D01*
-X0371568Y0036616D01*
-X0366984Y0036616D01*
-X0366984Y0029063D01*
-X0367175Y0029063D01*
-X0367917Y0029180D01*
-X0366984Y0029179D02*
-X0366616Y0029179D01*
-X0366616Y0029063D02*
-X0366616Y0036616D01*
-X0366984Y0036616D01*
-X0366984Y0036984D01*
-X0371568Y0036984D01*
-X0371568Y0040144D01*
-X0371451Y0040885D01*
-X0371219Y0041599D01*
-X0370878Y0042268D01*
-X0370437Y0042875D01*
-X0369906Y0043406D01*
-X0369299Y0043847D01*
-X0368630Y0044188D01*
-X0367917Y0044420D01*
-X0367175Y0044537D01*
-X0366984Y0044537D01*
-X0366984Y0036984D01*
-X0366616Y0036984D01*
-X0366616Y0036616D01*
-X0362031Y0036616D01*
-X0362031Y0033456D01*
-X0362149Y0032715D01*
-X0362381Y0032001D01*
-X0362722Y0031332D01*
-X0363163Y0030725D01*
-X0363694Y0030194D01*
-X0364301Y0029753D01*
-X0364970Y0029412D01*
-X0365683Y0029180D01*
-X0366425Y0029063D01*
-X0366616Y0029063D01*
-X0365691Y0029179D02*
-X0358029Y0029179D01*
-X0357749Y0029063D02*
-X0359501Y0029789D01*
-X0360843Y0031130D01*
-X0361568Y0032883D01*
-X0361568Y0040717D01*
-X0360843Y0042470D01*
-X0359501Y0043811D01*
-X0357749Y0044537D01*
-X0355851Y0044537D01*
-X0354099Y0043811D01*
-X0352757Y0042470D01*
-X0352031Y0040717D01*
-X0352031Y0032883D01*
-X0352757Y0031130D01*
-X0354099Y0029789D01*
-X0355851Y0029063D01*
-X0357749Y0029063D01*
-X0355571Y0029179D02*
-X0348029Y0029179D01*
-X0347749Y0029063D02*
-X0349501Y0029789D01*
-X0350843Y0031130D01*
-X0351568Y0032883D01*
-X0351568Y0040717D01*
-X0350843Y0042470D01*
-X0349501Y0043811D01*
-X0347749Y0044537D01*
-X0345851Y0044537D01*
-X0344099Y0043811D01*
-X0342757Y0042470D01*
-X0342031Y0040717D01*
-X0342031Y0032883D01*
-X0342757Y0031130D01*
-X0344099Y0029789D01*
-X0345851Y0029063D01*
-X0347749Y0029063D01*
-X0345571Y0029179D02*
-X0322909Y0029179D01*
-X0321984Y0029179D02*
-X0321616Y0029179D01*
-X0321616Y0030778D02*
-X0321984Y0030778D01*
-X0321984Y0032376D02*
-X0321616Y0032376D01*
-X0321616Y0033975D02*
-X0321984Y0033975D01*
-X0321984Y0035573D02*
-X0321616Y0035573D01*
-X0321616Y0037172D02*
-X0321984Y0037172D01*
-X0321984Y0038770D02*
-X0321616Y0038770D01*
-X0321616Y0040369D02*
-X0321984Y0040369D01*
-X0321984Y0041967D02*
-X0321616Y0041967D01*
-X0321616Y0043566D02*
-X0321984Y0043566D01*
-X0324686Y0043566D02*
-X0343854Y0043566D01*
-X0342549Y0041967D02*
-X0326031Y0041967D01*
-X0326533Y0040369D02*
-X0342031Y0040369D01*
-X0342031Y0038770D02*
-X0326568Y0038770D01*
-X0326568Y0037172D02*
-X0342031Y0037172D01*
-X0342031Y0035573D02*
-X0326568Y0035573D01*
-X0326568Y0033975D02*
-X0342031Y0033975D01*
-X0342241Y0032376D02*
-X0326341Y0032376D01*
-X0325475Y0030778D02*
-X0343110Y0030778D01*
-X0350490Y0030778D02*
-X0353110Y0030778D01*
-X0352241Y0032376D02*
-X0351359Y0032376D01*
-X0351568Y0033975D02*
-X0352031Y0033975D01*
-X0352031Y0035573D02*
-X0351568Y0035573D01*
-X0351568Y0037172D02*
-X0352031Y0037172D01*
-X0352031Y0038770D02*
-X0351568Y0038770D01*
-X0351568Y0040369D02*
-X0352031Y0040369D01*
-X0352549Y0041967D02*
-X0351051Y0041967D01*
-X0349746Y0043566D02*
-X0353854Y0043566D01*
-X0359746Y0043566D02*
-X0363914Y0043566D01*
-X0363694Y0043406D02*
-X0363163Y0042875D01*
-X0362722Y0042268D01*
-X0362381Y0041599D01*
-X0362149Y0040885D01*
-X0362031Y0040144D01*
-X0362031Y0036984D01*
-X0366616Y0036984D01*
-X0366616Y0044537D01*
-X0366425Y0044537D01*
-X0365683Y0044420D01*
-X0364970Y0044188D01*
-X0364301Y0043847D01*
-X0363694Y0043406D01*
-X0362569Y0041967D02*
-X0361051Y0041967D01*
-X0361568Y0040369D02*
-X0362067Y0040369D01*
-X0362031Y0038770D02*
-X0361568Y0038770D01*
-X0361568Y0037172D02*
-X0362031Y0037172D01*
-X0362031Y0035573D02*
-X0361568Y0035573D01*
-X0361568Y0033975D02*
-X0362031Y0033975D01*
-X0362259Y0032376D02*
-X0361359Y0032376D01*
-X0360490Y0030778D02*
-X0363125Y0030778D01*
-X0366616Y0030778D02*
-X0366984Y0030778D01*
-X0366984Y0032376D02*
-X0366616Y0032376D01*
-X0366616Y0033975D02*
-X0366984Y0033975D01*
-X0366984Y0035573D02*
-X0366616Y0035573D01*
-X0366616Y0037172D02*
-X0366984Y0037172D01*
-X0366984Y0038770D02*
-X0366616Y0038770D01*
-X0366616Y0040369D02*
-X0366984Y0040369D01*
-X0366984Y0041967D02*
-X0366616Y0041967D01*
-X0366616Y0043566D02*
-X0366984Y0043566D01*
-X0369686Y0043566D02*
-X0400701Y0043566D01*
-X0400701Y0041967D02*
-X0395218Y0041967D01*
-X0398370Y0040369D02*
-X0400701Y0040369D01*
-X0400701Y0038770D02*
-X0399970Y0038770D01*
-X0388382Y0041967D02*
-X0371031Y0041967D01*
-X0371533Y0040369D02*
-X0385230Y0040369D01*
-X0383630Y0038770D02*
-X0371568Y0038770D01*
-X0371568Y0037172D02*
-X0382540Y0037172D01*
-X0381728Y0035573D02*
-X0371568Y0035573D01*
-X0371568Y0033975D02*
-X0381300Y0033975D01*
-X0381094Y0032376D02*
-X0371341Y0032376D01*
-X0370475Y0030778D02*
-X0381094Y0030778D01*
-X0382797Y0025982D02*
-X0016600Y0025982D01*
-X0016600Y0024384D02*
-X0384076Y0024384D01*
-X0386003Y0022785D02*
-X0016600Y0022785D01*
-X0016600Y0021187D02*
-X0390047Y0021187D01*
-X0393553Y0021187D02*
-X0400701Y0021187D01*
-X0400701Y0022785D02*
-X0397597Y0022785D01*
-X0399523Y0024384D02*
-X0400701Y0024384D01*
-X0400701Y0019588D02*
-X0016600Y0019588D01*
-X0016600Y0017990D02*
-X0400701Y0017990D01*
-X0400701Y0016391D02*
-X0016600Y0016391D01*
-X0016600Y0014793D02*
-X0400701Y0014793D01*
-X0400701Y0013194D02*
-X0016600Y0013194D01*
-X0016600Y0030778D02*
-X0028110Y0030778D01*
-X0027241Y0032376D02*
-X0016600Y0032376D01*
-X0016600Y0033975D02*
-X0027031Y0033975D01*
-X0027031Y0035573D02*
-X0016600Y0035573D01*
-X0016600Y0037172D02*
-X0027031Y0037172D01*
-X0027031Y0038770D02*
-X0016600Y0038770D01*
-X0016600Y0040369D02*
-X0027031Y0040369D01*
-X0027549Y0041967D02*
-X0016600Y0041967D01*
-X0016600Y0043566D02*
-X0028854Y0043566D01*
-X0034746Y0043566D02*
-X0038914Y0043566D01*
-X0038694Y0043406D02*
-X0038163Y0042875D01*
-X0037722Y0042268D01*
-X0037381Y0041599D01*
-X0037149Y0040885D01*
-X0037031Y0040144D01*
-X0037031Y0036984D01*
-X0041616Y0036984D01*
-X0041616Y0044537D01*
-X0041425Y0044537D01*
-X0040683Y0044420D01*
-X0039970Y0044188D01*
-X0039301Y0043847D01*
-X0038694Y0043406D01*
-X0037569Y0041967D02*
-X0036051Y0041967D01*
-X0036568Y0040369D02*
-X0037067Y0040369D01*
-X0037031Y0038770D02*
-X0036568Y0038770D01*
-X0036568Y0037172D02*
-X0037031Y0037172D01*
-X0037031Y0035573D02*
-X0036568Y0035573D01*
-X0036568Y0033975D02*
-X0037031Y0033975D01*
-X0037259Y0032376D02*
-X0036359Y0032376D01*
-X0035490Y0030778D02*
-X0038125Y0030778D01*
-X0041616Y0030778D02*
-X0041984Y0030778D01*
-X0041984Y0032376D02*
-X0041616Y0032376D01*
-X0041616Y0033975D02*
-X0041984Y0033975D01*
-X0041984Y0035573D02*
-X0041616Y0035573D01*
-X0041616Y0037172D02*
-X0041984Y0037172D01*
-X0041984Y0038770D02*
-X0041616Y0038770D01*
-X0041616Y0040369D02*
-X0041984Y0040369D01*
-X0041984Y0041967D02*
-X0041616Y0041967D01*
-X0041616Y0043566D02*
-X0041984Y0043566D01*
-X0044686Y0043566D02*
-X0048854Y0043566D01*
-X0047549Y0041967D02*
-X0046031Y0041967D01*
-X0046533Y0040369D02*
-X0047031Y0040369D01*
-X0047031Y0038770D02*
-X0046568Y0038770D01*
-X0046568Y0037172D02*
-X0047031Y0037172D01*
-X0047031Y0035573D02*
-X0046568Y0035573D01*
-X0046568Y0033975D02*
-X0047031Y0033975D01*
-X0047241Y0032376D02*
-X0046341Y0032376D01*
-X0045475Y0030778D02*
-X0048110Y0030778D01*
-X0055490Y0030778D02*
-X0073110Y0030778D01*
-X0072241Y0032376D02*
-X0056359Y0032376D01*
-X0056568Y0033975D02*
-X0072031Y0033975D01*
-X0072031Y0035573D02*
-X0056568Y0035573D01*
-X0056568Y0037172D02*
-X0072031Y0037172D01*
-X0072031Y0038770D02*
-X0056568Y0038770D01*
-X0056568Y0040369D02*
-X0072031Y0040369D01*
-X0072549Y0041967D02*
-X0056051Y0041967D01*
-X0054746Y0043566D02*
-X0073854Y0043566D01*
-X0079746Y0043566D02*
-X0083854Y0043566D01*
-X0082549Y0041967D02*
-X0081051Y0041967D01*
-X0081568Y0040369D02*
-X0082031Y0040369D01*
-X0082031Y0038770D02*
-X0081568Y0038770D01*
-X0081568Y0037172D02*
-X0082031Y0037172D01*
-X0082031Y0035573D02*
-X0081568Y0035573D01*
-X0081568Y0033975D02*
-X0082031Y0033975D01*
-X0082241Y0032376D02*
-X0081359Y0032376D01*
-X0080490Y0030778D02*
-X0083110Y0030778D01*
-X0090490Y0030778D02*
-X0093125Y0030778D01*
-X0092259Y0032376D02*
-X0091359Y0032376D01*
-X0091568Y0033975D02*
-X0092031Y0033975D01*
-X0092031Y0035573D02*
-X0091568Y0035573D01*
-X0092031Y0036984D02*
-X0096616Y0036984D01*
-X0096616Y0044537D01*
-X0096425Y0044537D01*
-X0095683Y0044420D01*
-X0094970Y0044188D01*
-X0094301Y0043847D01*
-X0093694Y0043406D01*
-X0093163Y0042875D01*
-X0092722Y0042268D01*
-X0092381Y0041599D01*
-X0092149Y0040885D01*
-X0092031Y0040144D01*
-X0092031Y0036984D01*
-X0092031Y0037172D02*
-X0091568Y0037172D01*
-X0091678Y0038770D02*
-X0092031Y0038770D01*
-X0092067Y0040369D02*
-X0091700Y0040369D01*
-X0091700Y0041967D02*
-X0092569Y0041967D01*
-X0091960Y0043566D02*
-X0093914Y0043566D01*
-X0093558Y0045164D02*
-X0174400Y0045164D01*
-X0174400Y0046763D02*
-X0095157Y0046763D01*
-X0096755Y0048361D02*
-X0174400Y0048361D01*
-X0173449Y0049960D02*
-X0098354Y0049960D01*
-X0099952Y0051558D02*
-X0173000Y0051558D01*
-X0173249Y0053157D02*
-X0101551Y0053157D01*
-X0103149Y0054755D02*
-X0174381Y0054755D01*
-X0179219Y0054755D02*
-X0221900Y0054755D01*
-X0221900Y0053157D02*
-X0180351Y0053157D01*
-X0180600Y0051558D02*
-X0221900Y0051558D01*
-X0221900Y0049960D02*
-X0180151Y0049960D01*
-X0179200Y0048361D02*
-X0221900Y0048361D01*
-X0220869Y0046763D02*
-X0179200Y0046763D01*
-X0179200Y0045164D02*
-X0219560Y0045164D01*
-X0218854Y0043566D02*
-X0214746Y0043566D01*
-X0216051Y0041967D02*
-X0217549Y0041967D01*
-X0217031Y0040369D02*
-X0216568Y0040369D01*
-X0216568Y0038770D02*
-X0217031Y0038770D01*
-X0217031Y0037172D02*
-X0216568Y0037172D01*
-X0216568Y0035573D02*
-X0217031Y0035573D01*
-X0217031Y0033975D02*
-X0216568Y0033975D01*
-X0216359Y0032376D02*
-X0217241Y0032376D01*
-X0218110Y0030778D02*
-X0215490Y0030778D01*
-X0208110Y0030778D02*
-X0190475Y0030778D01*
-X0191341Y0032376D02*
-X0207241Y0032376D01*
-X0207031Y0033975D02*
-X0191568Y0033975D01*
-X0191568Y0035573D02*
-X0207031Y0035573D01*
-X0207031Y0037172D02*
-X0191568Y0037172D01*
-X0191568Y0038770D02*
-X0207031Y0038770D01*
-X0207031Y0040369D02*
-X0191533Y0040369D01*
-X0191031Y0041967D02*
-X0207549Y0041967D01*
-X0208854Y0043566D02*
-X0189686Y0043566D01*
-X0186984Y0043566D02*
-X0186616Y0043566D01*
-X0186616Y0044537D02*
-X0186425Y0044537D01*
-X0185683Y0044420D01*
-X0184970Y0044188D01*
-X0184301Y0043847D01*
-X0183694Y0043406D01*
-X0183163Y0042875D01*
-X0182722Y0042268D01*
-X0182381Y0041599D01*
-X0182149Y0040885D01*
-X0182031Y0040144D01*
-X0182031Y0036984D01*
-X0186616Y0036984D01*
-X0186616Y0044537D01*
-X0186616Y0041967D02*
-X0186984Y0041967D01*
-X0186984Y0040369D02*
-X0186616Y0040369D01*
-X0186616Y0038770D02*
-X0186984Y0038770D01*
-X0186984Y0037172D02*
-X0186616Y0037172D01*
-X0186616Y0035573D02*
-X0186984Y0035573D01*
-X0186984Y0033975D02*
-X0186616Y0033975D01*
-X0186616Y0032376D02*
-X0186984Y0032376D01*
-X0186984Y0030778D02*
-X0186616Y0030778D01*
-X0183125Y0030778D02*
-X0180490Y0030778D01*
-X0181359Y0032376D02*
-X0182259Y0032376D01*
-X0182031Y0033975D02*
-X0181568Y0033975D01*
-X0181568Y0035573D02*
-X0182031Y0035573D01*
-X0182031Y0037172D02*
-X0181568Y0037172D01*
-X0181568Y0038770D02*
-X0182031Y0038770D01*
-X0182067Y0040369D02*
-X0181568Y0040369D01*
-X0181051Y0041967D02*
-X0182569Y0041967D01*
-X0183914Y0043566D02*
-X0179746Y0043566D01*
-X0173854Y0043566D02*
-X0169746Y0043566D01*
-X0171051Y0041967D02*
-X0172549Y0041967D01*
-X0172031Y0040369D02*
-X0171568Y0040369D01*
-X0171568Y0038770D02*
-X0172031Y0038770D01*
-X0172031Y0037172D02*
-X0171568Y0037172D01*
-X0171568Y0035573D02*
-X0172031Y0035573D01*
-X0172031Y0033975D02*
-X0171568Y0033975D01*
-X0171359Y0032376D02*
-X0172241Y0032376D01*
-X0173110Y0030778D02*
-X0170490Y0030778D01*
-X0163110Y0030778D02*
-X0145475Y0030778D01*
-X0146341Y0032376D02*
-X0162241Y0032376D01*
-X0162031Y0033975D02*
-X0146568Y0033975D01*
-X0146568Y0035573D02*
-X0162031Y0035573D01*
-X0162031Y0037172D02*
-X0146568Y0037172D01*
-X0146568Y0038770D02*
-X0162031Y0038770D01*
-X0162031Y0040369D02*
-X0146533Y0040369D01*
-X0146031Y0041967D02*
-X0162549Y0041967D01*
-X0163854Y0043566D02*
-X0144686Y0043566D01*
-X0141984Y0043566D02*
-X0141616Y0043566D01*
-X0141616Y0044537D02*
-X0141425Y0044537D01*
-X0140683Y0044420D01*
-X0139970Y0044188D01*
-X0139301Y0043847D01*
-X0138694Y0043406D01*
-X0138163Y0042875D01*
-X0137722Y0042268D01*
-X0137381Y0041599D01*
-X0137149Y0040885D01*
-X0137031Y0040144D01*
-X0137031Y0036984D01*
-X0141616Y0036984D01*
-X0141616Y0044537D01*
-X0141616Y0041967D02*
-X0141984Y0041967D01*
-X0141984Y0040369D02*
-X0141616Y0040369D01*
-X0141616Y0038770D02*
-X0141984Y0038770D01*
-X0141984Y0037172D02*
-X0141616Y0037172D01*
-X0141616Y0035573D02*
-X0141984Y0035573D01*
-X0141984Y0033975D02*
-X0141616Y0033975D01*
-X0141616Y0032376D02*
-X0141984Y0032376D01*
-X0141984Y0030778D02*
-X0141616Y0030778D01*
-X0138125Y0030778D02*
-X0135490Y0030778D01*
-X0136359Y0032376D02*
-X0137259Y0032376D01*
-X0137031Y0033975D02*
-X0136568Y0033975D01*
-X0136568Y0035573D02*
-X0137031Y0035573D01*
-X0137031Y0037172D02*
-X0136568Y0037172D01*
-X0136568Y0038770D02*
-X0137031Y0038770D01*
-X0137067Y0040369D02*
-X0136568Y0040369D01*
-X0136051Y0041967D02*
-X0137569Y0041967D01*
-X0138914Y0043566D02*
-X0134746Y0043566D01*
-X0128854Y0043566D02*
-X0124746Y0043566D01*
-X0126051Y0041967D02*
-X0127549Y0041967D01*
-X0127031Y0040369D02*
-X0126568Y0040369D01*
-X0126568Y0038770D02*
-X0127031Y0038770D01*
-X0127031Y0037172D02*
-X0126568Y0037172D01*
-X0126568Y0035573D02*
-X0127031Y0035573D01*
-X0127031Y0033975D02*
-X0126568Y0033975D01*
-X0126359Y0032376D02*
-X0127241Y0032376D01*
-X0128110Y0030778D02*
-X0125490Y0030778D01*
-X0118110Y0030778D02*
-X0100475Y0030778D01*
-X0101341Y0032376D02*
-X0117241Y0032376D01*
-X0117031Y0033975D02*
-X0101568Y0033975D01*
-X0101568Y0035573D02*
-X0117031Y0035573D01*
-X0117031Y0037172D02*
-X0101568Y0037172D01*
-X0101568Y0038770D02*
-X0117031Y0038770D01*
-X0117031Y0040369D02*
-X0101533Y0040369D01*
-X0101031Y0041967D02*
-X0117549Y0041967D01*
-X0118854Y0043566D02*
-X0099686Y0043566D01*
-X0096984Y0043566D02*
-X0096616Y0043566D01*
-X0096616Y0041967D02*
-X0096984Y0041967D01*
-X0096984Y0040369D02*
-X0096616Y0040369D01*
-X0096616Y0038770D02*
-X0096984Y0038770D01*
-X0096984Y0037172D02*
-X0096616Y0037172D01*
-X0096616Y0035573D02*
-X0096984Y0035573D01*
-X0096984Y0033975D02*
-X0096616Y0033975D01*
-X0096616Y0032376D02*
-X0096984Y0032376D01*
-X0096984Y0030778D02*
-X0096616Y0030778D01*
-X0087060Y0045164D02*
-X0016600Y0045164D01*
-X0016600Y0046763D02*
-X0088369Y0046763D01*
-X0089967Y0048361D02*
-X0016600Y0048361D01*
-X0016600Y0049960D02*
-X0091566Y0049960D01*
-X0093164Y0051558D02*
-X0016600Y0051558D01*
-X0016600Y0053157D02*
-X0094763Y0053157D01*
-X0096361Y0054755D02*
-X0016600Y0054755D01*
-X0016600Y0056354D02*
-X0097960Y0056354D01*
-X0099558Y0057952D02*
-X0016600Y0057952D01*
-X0016600Y0059551D02*
-X0101157Y0059551D01*
-X0102755Y0061149D02*
-X0016600Y0061149D01*
-X0016600Y0062748D02*
-X0104354Y0062748D01*
-X0105952Y0064346D02*
-X0016600Y0064346D01*
-X0016600Y0065945D02*
-X0107551Y0065945D01*
-X0109149Y0067543D02*
-X0016600Y0067543D01*
-X0016600Y0069142D02*
-X0110748Y0069142D01*
-X0112346Y0070740D02*
-X0016600Y0070740D01*
-X0016600Y0072339D02*
-X0131900Y0072339D01*
-X0131900Y0073937D02*
-X0016600Y0073937D01*
-X0016600Y0075536D02*
-X0048352Y0075536D01*
-X0047757Y0076130D02*
-X0049099Y0074789D01*
-X0050851Y0074063D01*
-X0052749Y0074063D01*
-X0054501Y0074789D01*
-X0055843Y0076130D01*
-X0056568Y0077883D01*
-X0056568Y0085717D01*
-X0055843Y0087470D01*
-X0054501Y0088811D01*
-X0052749Y0089537D01*
-X0050851Y0089537D01*
-X0049099Y0088811D01*
-X0047757Y0087470D01*
-X0047031Y0085717D01*
-X0047031Y0077883D01*
-X0047757Y0076130D01*
-X0047342Y0077134D02*
-X0016600Y0077134D01*
-X0016600Y0078733D02*
-X0047031Y0078733D01*
-X0047031Y0080332D02*
-X0016600Y0080332D01*
-X0016600Y0081930D02*
-X0047031Y0081930D01*
-X0047031Y0083529D02*
-X0016600Y0083529D01*
-X0016600Y0085127D02*
-X0047031Y0085127D01*
-X0047449Y0086726D02*
-X0016600Y0086726D01*
-X0016600Y0088324D02*
-X0048612Y0088324D01*
-X0054988Y0088324D02*
-X0058612Y0088324D01*
-X0058694Y0088406D02*
-X0058163Y0087875D01*
-X0057722Y0087268D01*
-X0057381Y0086599D01*
-X0057149Y0085885D01*
-X0057031Y0085144D01*
-X0057031Y0081984D01*
-X0061616Y0081984D01*
-X0061616Y0081616D01*
-X0061984Y0081616D01*
-X0061984Y0074063D01*
-X0062175Y0074063D01*
-X0062917Y0074180D01*
-X0063630Y0074412D01*
-X0064299Y0074753D01*
-X0064906Y0075194D01*
-X0065437Y0075725D01*
-X0065878Y0076332D01*
-X0066219Y0077001D01*
-X0066451Y0077715D01*
-X0066568Y0078456D01*
-X0066568Y0081616D01*
-X0061984Y0081616D01*
-X0061984Y0081984D01*
-X0066568Y0081984D01*
-X0066568Y0085144D01*
-X0066451Y0085885D01*
-X0066219Y0086599D01*
-X0065878Y0087268D01*
-X0065437Y0087875D01*
-X0064906Y0088406D01*
-X0064299Y0088847D01*
-X0063630Y0089188D01*
-X0062917Y0089420D01*
-X0062175Y0089537D01*
-X0061984Y0089537D01*
-X0061984Y0081984D01*
-X0061616Y0081984D01*
-X0061616Y0089537D01*
-X0061425Y0089537D01*
-X0060683Y0089420D01*
-X0059970Y0089188D01*
-X0059301Y0088847D01*
-X0058694Y0088406D01*
-X0057445Y0086726D02*
-X0056151Y0086726D01*
-X0056568Y0085127D02*
-X0057031Y0085127D01*
-X0057031Y0083529D02*
-X0056568Y0083529D01*
-X0056568Y0081930D02*
-X0061616Y0081930D01*
-X0061616Y0081616D02*
-X0057031Y0081616D01*
-X0057031Y0078456D01*
-X0057149Y0077715D01*
-X0057381Y0077001D01*
-X0057722Y0076332D01*
-X0058163Y0075725D01*
-X0058694Y0075194D01*
-X0059301Y0074753D01*
-X0059970Y0074412D01*
-X0060683Y0074180D01*
-X0061425Y0074063D01*
-X0061616Y0074063D01*
-X0061616Y0081616D01*
-X0061984Y0081930D02*
-X0067031Y0081930D01*
-X0067031Y0080332D02*
-X0066568Y0080332D01*
-X0066568Y0078733D02*
-X0067031Y0078733D01*
-X0067031Y0077883D02*
-X0067757Y0076130D01*
-X0069099Y0074789D01*
-X0070851Y0074063D01*
-X0072749Y0074063D01*
-X0074501Y0074789D01*
-X0075843Y0076130D01*
-X0076568Y0077883D01*
-X0076568Y0085717D01*
-X0075843Y0087470D01*
-X0074501Y0088811D01*
-X0072749Y0089537D01*
-X0070851Y0089537D01*
-X0069099Y0088811D01*
-X0067757Y0087470D01*
-X0067031Y0085717D01*
-X0067031Y0077883D01*
-X0067342Y0077134D02*
-X0066263Y0077134D01*
-X0065248Y0075536D02*
-X0068352Y0075536D01*
-X0075248Y0075536D02*
-X0093352Y0075536D01*
-X0092757Y0076130D02*
-X0094099Y0074789D01*
-X0095851Y0074063D01*
-X0097749Y0074063D01*
-X0099501Y0074789D01*
-X0100843Y0076130D01*
-X0101568Y0077883D01*
-X0101568Y0085717D01*
-X0100843Y0087470D01*
-X0099501Y0088811D01*
-X0097749Y0089537D01*
-X0095851Y0089537D01*
-X0094099Y0088811D01*
-X0092757Y0087470D01*
-X0092031Y0085717D01*
-X0092031Y0077883D01*
-X0092757Y0076130D01*
-X0092342Y0077134D02*
-X0076258Y0077134D01*
-X0076568Y0078733D02*
-X0092031Y0078733D01*
-X0092031Y0080332D02*
-X0076568Y0080332D01*
-X0076568Y0081930D02*
-X0092031Y0081930D01*
-X0092031Y0083529D02*
-X0076568Y0083529D01*
-X0076568Y0085127D02*
-X0092031Y0085127D01*
-X0092449Y0086726D02*
-X0076151Y0086726D01*
-X0074988Y0088324D02*
-X0093612Y0088324D01*
-X0099988Y0088324D02*
-X0103612Y0088324D01*
-X0104099Y0088811D02*
-X0102757Y0087470D01*
-X0102031Y0085717D01*
-X0102031Y0077883D01*
-X0102757Y0076130D01*
-X0104099Y0074789D01*
-X0105851Y0074063D01*
-X0107749Y0074063D01*
-X0109501Y0074789D01*
-X0110843Y0076130D01*
-X0111568Y0077883D01*
-X0111568Y0085717D01*
-X0110843Y0087470D01*
-X0109501Y0088811D01*
-X0107749Y0089537D01*
-X0105851Y0089537D01*
-X0104099Y0088811D01*
-X0102449Y0086726D02*
-X0101151Y0086726D01*
-X0101568Y0085127D02*
-X0102031Y0085127D01*
-X0102031Y0083529D02*
-X0101568Y0083529D01*
-X0101568Y0081930D02*
-X0102031Y0081930D01*
-X0102031Y0080332D02*
-X0101568Y0080332D01*
-X0101568Y0078733D02*
-X0102031Y0078733D01*
-X0102342Y0077134D02*
-X0101258Y0077134D01*
-X0100248Y0075536D02*
-X0103352Y0075536D01*
-X0110248Y0075536D02*
-X0113352Y0075536D01*
-X0113163Y0075725D02*
-X0113694Y0075194D01*
-X0114301Y0074753D01*
-X0114970Y0074412D01*
-X0115683Y0074180D01*
-X0116425Y0074063D01*
-X0116616Y0074063D01*
-X0116616Y0081616D01*
-X0116984Y0081616D01*
-X0116984Y0074063D01*
-X0117175Y0074063D01*
-X0117917Y0074180D01*
-X0118630Y0074412D01*
-X0119299Y0074753D01*
-X0119906Y0075194D01*
-X0120437Y0075725D01*
-X0120878Y0076332D01*
-X0121219Y0077001D01*
-X0121451Y0077715D01*
-X0121568Y0078456D01*
-X0121568Y0081616D01*
-X0116984Y0081616D01*
-X0116984Y0081984D01*
-X0121568Y0081984D01*
-X0121568Y0085144D01*
-X0121451Y0085885D01*
-X0121219Y0086599D01*
-X0120878Y0087268D01*
-X0120437Y0087875D01*
-X0119906Y0088406D01*
-X0119299Y0088847D01*
-X0118630Y0089188D01*
-X0117917Y0089420D01*
-X0117175Y0089537D01*
-X0116984Y0089537D01*
-X0116984Y0081984D01*
-X0116616Y0081984D01*
-X0116616Y0081616D01*
-X0112031Y0081616D01*
-X0112031Y0078456D01*
-X0112149Y0077715D01*
-X0112381Y0077001D01*
-X0112722Y0076332D01*
-X0113163Y0075725D01*
-X0112337Y0077134D02*
-X0111258Y0077134D01*
-X0111568Y0078733D02*
-X0112031Y0078733D01*
-X0112031Y0080332D02*
-X0111568Y0080332D01*
-X0111568Y0081930D02*
-X0116616Y0081930D01*
-X0116616Y0081984D02*
-X0112031Y0081984D01*
-X0112031Y0085144D01*
-X0112149Y0085885D01*
-X0112381Y0086599D01*
-X0112722Y0087268D01*
-X0113163Y0087875D01*
-X0113694Y0088406D01*
-X0114301Y0088847D01*
-X0114970Y0089188D01*
-X0115683Y0089420D01*
-X0116425Y0089537D01*
-X0116616Y0089537D01*
-X0116616Y0081984D01*
-X0116984Y0081930D02*
-X0131900Y0081930D01*
-X0131900Y0080332D02*
-X0121568Y0080332D01*
-X0121568Y0078733D02*
-X0131900Y0078733D01*
-X0131900Y0077134D02*
-X0121262Y0077134D01*
-X0120248Y0075536D02*
-X0131900Y0075536D01*
-X0136700Y0075536D02*
-X0138352Y0075536D01*
-X0137757Y0076130D02*
-X0139099Y0074789D01*
-X0140851Y0074063D01*
-X0142749Y0074063D01*
-X0144501Y0074789D01*
-X0145843Y0076130D01*
-X0146568Y0077883D01*
-X0146568Y0085717D01*
-X0145843Y0087470D01*
-X0144501Y0088811D01*
-X0142749Y0089537D01*
-X0140851Y0089537D01*
-X0139099Y0088811D01*
-X0137757Y0087470D01*
-X0137031Y0085717D01*
-X0137031Y0077883D01*
-X0137757Y0076130D01*
-X0137342Y0077134D02*
-X0136700Y0077134D01*
-X0136700Y0078733D02*
-X0137031Y0078733D01*
-X0137031Y0080332D02*
-X0136700Y0080332D01*
-X0136700Y0081930D02*
-X0137031Y0081930D01*
-X0137031Y0083529D02*
-X0136700Y0083529D01*
-X0136700Y0085127D02*
-X0137031Y0085127D01*
-X0136700Y0086726D02*
-X0137449Y0086726D01*
-X0136718Y0088324D02*
-X0138612Y0088324D01*
-X0138317Y0089923D02*
-X0221900Y0089923D01*
-X0221900Y0091521D02*
-X0139915Y0091521D01*
-X0141514Y0093120D02*
-X0221900Y0093120D01*
-X0221900Y0094718D02*
-X0143112Y0094718D01*
-X0144711Y0096317D02*
-X0221900Y0096317D01*
-X0221900Y0097915D02*
-X0146309Y0097915D01*
-X0147908Y0099514D02*
-X0221900Y0099514D01*
-X0221900Y0101112D02*
-X0149506Y0101112D01*
-X0151105Y0102711D02*
-X0221900Y0102711D01*
-X0221900Y0104309D02*
-X0152703Y0104309D01*
-X0154302Y0105908D02*
-X0221900Y0105908D01*
-X0221900Y0107506D02*
-X0155900Y0107506D01*
-X0157499Y0109105D02*
-X0221900Y0109105D01*
-X0221900Y0110703D02*
-X0159097Y0110703D01*
-X0160696Y0112302D02*
-X0221900Y0112302D01*
-X0221900Y0113900D02*
-X0162294Y0113900D01*
-X0163893Y0115499D02*
-X0221900Y0115499D01*
-X0221900Y0117097D02*
-X0165491Y0117097D01*
-X0167090Y0118696D02*
-X0221900Y0118696D01*
-X0222114Y0120294D02*
-X0168688Y0120294D01*
-X0170287Y0121893D02*
-X0223499Y0121893D01*
-X0225097Y0123491D02*
-X0171885Y0123491D01*
-X0173484Y0125090D02*
-X0226696Y0125090D01*
-X0228294Y0126688D02*
-X0175082Y0126688D01*
-X0176681Y0128287D02*
-X0229893Y0128287D01*
-X0231491Y0129885D02*
-X0178279Y0129885D01*
-X0179200Y0131484D02*
-X0185262Y0131484D01*
-X0182739Y0133082D02*
-X0180861Y0133082D01*
-X0181645Y0139476D02*
-X0181955Y0139476D01*
-X0183297Y0141075D02*
-X0180303Y0141075D01*
-X0173297Y0141075D02*
-X0170303Y0141075D01*
-X0171645Y0139476D02*
-X0171955Y0139476D01*
-X0172739Y0133082D02*
-X0170861Y0133082D01*
-X0173090Y0131484D02*
-X0168338Y0131484D01*
-X0165262Y0131484D02*
-X0158338Y0131484D01*
-X0160861Y0133082D02*
-X0162739Y0133082D01*
-X0161955Y0139476D02*
-X0161645Y0139476D01*
-X0160303Y0141075D02*
-X0163297Y0141075D01*
-X0153297Y0141075D02*
-X0150303Y0141075D01*
-X0151645Y0139476D02*
-X0151955Y0139476D01*
-X0152739Y0133082D02*
-X0150861Y0133082D01*
-X0148338Y0131484D02*
-X0155262Y0131484D01*
-X0145262Y0131484D02*
-X0138338Y0131484D01*
-X0140861Y0133082D02*
-X0142739Y0133082D01*
-X0141955Y0139476D02*
-X0141645Y0139476D01*
-X0140303Y0141075D02*
-X0143297Y0141075D01*
-X0133297Y0141075D02*
-X0130303Y0141075D01*
-X0131645Y0139476D02*
-X0131955Y0139476D01*
-X0132739Y0133082D02*
-X0130861Y0133082D01*
-X0128338Y0131484D02*
-X0135262Y0131484D01*
-X0125262Y0131484D02*
-X0121301Y0131484D01*
-X0122300Y0133082D02*
-X0122739Y0133082D01*
-X0117000Y0133082D02*
-X0116600Y0133082D01*
-X0116600Y0131484D02*
-X0117000Y0131484D01*
-X0117000Y0134681D02*
-X0116600Y0134681D01*
-X0116600Y0136279D02*
-X0117000Y0136279D01*
-X0117000Y0137878D02*
-X0116600Y0137878D01*
-X0116600Y0139476D02*
-X0117000Y0139476D01*
-X0117000Y0141075D02*
-X0116600Y0141075D01*
-X0111391Y0141075D02*
-X0016600Y0141075D01*
-X0016600Y0139476D02*
-X0111300Y0139476D01*
-X0111300Y0137878D02*
-X0016600Y0137878D01*
-X0016600Y0136279D02*
-X0111300Y0136279D01*
-X0111300Y0134681D02*
-X0016600Y0134681D01*
-X0016600Y0133082D02*
-X0111300Y0133082D01*
-X0112299Y0131484D02*
-X0016600Y0131484D01*
-X0016600Y0129885D02*
-X0171491Y0129885D01*
-X0169893Y0128287D02*
-X0016600Y0128287D01*
-X0016600Y0126688D02*
-X0168294Y0126688D01*
-X0166696Y0125090D02*
-X0016600Y0125090D01*
-X0016600Y0123491D02*
-X0165097Y0123491D01*
-X0163499Y0121893D02*
-X0016600Y0121893D01*
-X0016600Y0120294D02*
-X0161900Y0120294D01*
-X0160302Y0118696D02*
-X0016600Y0118696D01*
-X0016600Y0117097D02*
-X0158703Y0117097D01*
-X0157105Y0115499D02*
-X0016600Y0115499D01*
-X0016600Y0113900D02*
-X0155506Y0113900D01*
-X0153908Y0112302D02*
-X0016600Y0112302D01*
-X0016600Y0110703D02*
-X0152309Y0110703D01*
-X0150711Y0109105D02*
-X0016600Y0109105D01*
-X0016600Y0107506D02*
-X0149112Y0107506D01*
-X0147514Y0105908D02*
-X0016600Y0105908D01*
-X0016600Y0104309D02*
-X0145915Y0104309D01*
-X0144317Y0102711D02*
-X0016600Y0102711D01*
-X0016600Y0101112D02*
-X0142718Y0101112D01*
-X0141120Y0099514D02*
-X0016600Y0099514D01*
-X0016600Y0097915D02*
-X0139521Y0097915D01*
-X0137923Y0096317D02*
-X0016600Y0096317D01*
-X0016600Y0094718D02*
-X0136324Y0094718D01*
-X0134726Y0093120D02*
-X0016600Y0093120D01*
-X0016600Y0091521D02*
-X0133127Y0091521D01*
-X0131960Y0089923D02*
-X0016600Y0089923D01*
-X0055248Y0075536D02*
-X0058352Y0075536D01*
-X0057337Y0077134D02*
-X0056258Y0077134D01*
-X0056568Y0078733D02*
-X0057031Y0078733D01*
-X0057031Y0080332D02*
-X0056568Y0080332D01*
-X0061616Y0080332D02*
-X0061984Y0080332D01*
-X0061984Y0078733D02*
-X0061616Y0078733D01*
-X0061616Y0077134D02*
-X0061984Y0077134D01*
-X0061984Y0075536D02*
-X0061616Y0075536D01*
-X0061616Y0083529D02*
-X0061984Y0083529D01*
-X0061984Y0085127D02*
-X0061616Y0085127D01*
-X0061616Y0086726D02*
-X0061984Y0086726D01*
-X0061984Y0088324D02*
-X0061616Y0088324D01*
-X0064988Y0088324D02*
-X0068612Y0088324D01*
-X0067449Y0086726D02*
-X0066155Y0086726D01*
-X0066568Y0085127D02*
-X0067031Y0085127D01*
-X0067031Y0083529D02*
-X0066568Y0083529D01*
-X0104748Y0056354D02*
-X0221900Y0056354D01*
-X0221900Y0057952D02*
-X0106346Y0057952D01*
-X0107945Y0059551D02*
-X0221900Y0059551D01*
-X0221900Y0061149D02*
-X0109543Y0061149D01*
-X0111142Y0062748D02*
-X0221900Y0062748D01*
-X0221900Y0064346D02*
-X0112741Y0064346D01*
-X0114339Y0065945D02*
-X0221900Y0065945D01*
-X0221900Y0067543D02*
-X0135938Y0067543D01*
-X0136700Y0069142D02*
-X0221900Y0069142D01*
-X0221900Y0070740D02*
-X0136700Y0070740D01*
-X0136700Y0072339D02*
-X0221900Y0072339D01*
-X0221900Y0073937D02*
-X0136700Y0073937D01*
-X0145248Y0075536D02*
-X0148352Y0075536D01*
-X0147757Y0076130D02*
-X0149099Y0074789D01*
-X0150851Y0074063D01*
-X0152749Y0074063D01*
-X0154501Y0074789D01*
-X0155843Y0076130D01*
-X0156568Y0077883D01*
-X0156568Y0085717D01*
-X0155843Y0087470D01*
-X0154501Y0088811D01*
-X0152749Y0089537D01*
-X0150851Y0089537D01*
-X0149099Y0088811D01*
-X0147757Y0087470D01*
-X0147031Y0085717D01*
-X0147031Y0077883D01*
-X0147757Y0076130D01*
-X0147342Y0077134D02*
-X0146258Y0077134D01*
-X0146568Y0078733D02*
-X0147031Y0078733D01*
-X0147031Y0080332D02*
-X0146568Y0080332D01*
-X0146568Y0081930D02*
-X0147031Y0081930D01*
-X0147031Y0083529D02*
-X0146568Y0083529D01*
-X0146568Y0085127D02*
-X0147031Y0085127D01*
-X0147449Y0086726D02*
-X0146151Y0086726D01*
-X0144988Y0088324D02*
-X0148612Y0088324D01*
-X0154988Y0088324D02*
-X0158612Y0088324D01*
-X0158694Y0088406D02*
-X0158163Y0087875D01*
-X0157722Y0087268D01*
-X0157381Y0086599D01*
-X0157149Y0085885D01*
-X0157031Y0085144D01*
-X0157031Y0081984D01*
-X0161616Y0081984D01*
-X0161616Y0081616D01*
-X0161984Y0081616D01*
-X0161984Y0074063D01*
-X0162175Y0074063D01*
-X0162917Y0074180D01*
-X0163630Y0074412D01*
-X0164299Y0074753D01*
-X0164906Y0075194D01*
-X0165437Y0075725D01*
-X0165878Y0076332D01*
-X0166219Y0077001D01*
-X0166451Y0077715D01*
-X0166568Y0078456D01*
-X0166568Y0081616D01*
-X0161984Y0081616D01*
-X0161984Y0081984D01*
-X0166568Y0081984D01*
-X0166568Y0085144D01*
-X0166451Y0085885D01*
-X0166219Y0086599D01*
-X0165878Y0087268D01*
-X0165437Y0087875D01*
-X0164906Y0088406D01*
-X0164299Y0088847D01*
-X0163630Y0089188D01*
-X0162917Y0089420D01*
-X0162175Y0089537D01*
-X0161984Y0089537D01*
-X0161984Y0081984D01*
-X0161616Y0081984D01*
-X0161616Y0089537D01*
-X0161425Y0089537D01*
-X0160683Y0089420D01*
-X0159970Y0089188D01*
-X0159301Y0088847D01*
-X0158694Y0088406D01*
-X0157445Y0086726D02*
-X0156151Y0086726D01*
-X0156568Y0085127D02*
-X0157031Y0085127D01*
-X0157031Y0083529D02*
-X0156568Y0083529D01*
-X0156568Y0081930D02*
-X0161616Y0081930D01*
-X0161616Y0081616D02*
-X0157031Y0081616D01*
-X0157031Y0078456D01*
-X0157149Y0077715D01*
-X0157381Y0077001D01*
-X0157722Y0076332D01*
-X0158163Y0075725D01*
-X0158694Y0075194D01*
-X0159301Y0074753D01*
-X0159970Y0074412D01*
-X0160683Y0074180D01*
-X0161425Y0074063D01*
-X0161616Y0074063D01*
-X0161616Y0081616D01*
-X0161984Y0081930D02*
-X0182031Y0081930D01*
-X0182031Y0080332D02*
-X0166568Y0080332D01*
-X0166568Y0078733D02*
-X0182031Y0078733D01*
-X0182031Y0077883D02*
-X0182757Y0076130D01*
-X0184099Y0074789D01*
-X0185851Y0074063D01*
-X0187749Y0074063D01*
-X0189501Y0074789D01*
-X0190843Y0076130D01*
-X0191568Y0077883D01*
-X0191568Y0085717D01*
-X0190843Y0087470D01*
-X0189501Y0088811D01*
-X0187749Y0089537D01*
-X0185851Y0089537D01*
-X0184099Y0088811D01*
-X0182757Y0087470D01*
-X0182031Y0085717D01*
-X0182031Y0077883D01*
-X0182342Y0077134D02*
-X0166263Y0077134D01*
-X0165248Y0075536D02*
-X0183352Y0075536D01*
-X0190248Y0075536D02*
-X0193352Y0075536D01*
-X0192757Y0076130D02*
-X0194099Y0074789D01*
-X0195851Y0074063D01*
-X0197749Y0074063D01*
-X0199501Y0074789D01*
-X0200843Y0076130D01*
-X0201568Y0077883D01*
-X0201568Y0085717D01*
-X0200843Y0087470D01*
-X0199501Y0088811D01*
-X0197749Y0089537D01*
-X0195851Y0089537D01*
-X0194099Y0088811D01*
-X0192757Y0087470D01*
-X0192031Y0085717D01*
-X0192031Y0077883D01*
-X0192757Y0076130D01*
-X0192342Y0077134D02*
-X0191258Y0077134D01*
-X0191568Y0078733D02*
-X0192031Y0078733D01*
-X0192031Y0080332D02*
-X0191568Y0080332D01*
-X0191568Y0081930D02*
-X0192031Y0081930D01*
-X0192031Y0083529D02*
-X0191568Y0083529D01*
-X0191568Y0085127D02*
-X0192031Y0085127D01*
-X0192449Y0086726D02*
-X0191151Y0086726D01*
-X0189988Y0088324D02*
-X0193612Y0088324D01*
-X0199988Y0088324D02*
-X0203612Y0088324D01*
-X0203694Y0088406D02*
-X0203163Y0087875D01*
-X0202722Y0087268D01*
-X0202381Y0086599D01*
-X0202149Y0085885D01*
-X0202031Y0085144D01*
-X0202031Y0081984D01*
-X0206616Y0081984D01*
-X0206616Y0081616D01*
-X0206984Y0081616D01*
-X0206984Y0074063D01*
-X0207175Y0074063D01*
-X0207917Y0074180D01*
-X0208630Y0074412D01*
-X0209299Y0074753D01*
-X0209906Y0075194D01*
-X0210437Y0075725D01*
-X0210878Y0076332D01*
-X0211219Y0077001D01*
-X0211451Y0077715D01*
-X0211568Y0078456D01*
-X0211568Y0081616D01*
-X0206984Y0081616D01*
-X0206984Y0081984D01*
-X0211568Y0081984D01*
-X0211568Y0085144D01*
-X0211451Y0085885D01*
-X0211219Y0086599D01*
-X0210878Y0087268D01*
-X0210437Y0087875D01*
-X0209906Y0088406D01*
-X0209299Y0088847D01*
-X0208630Y0089188D01*
-X0207917Y0089420D01*
-X0207175Y0089537D01*
-X0206984Y0089537D01*
-X0206984Y0081984D01*
-X0206616Y0081984D01*
-X0206616Y0089537D01*
-X0206425Y0089537D01*
-X0205683Y0089420D01*
-X0204970Y0089188D01*
-X0204301Y0088847D01*
-X0203694Y0088406D01*
-X0202445Y0086726D02*
-X0201151Y0086726D01*
-X0201568Y0085127D02*
-X0202031Y0085127D01*
-X0202031Y0083529D02*
-X0201568Y0083529D01*
-X0201568Y0081930D02*
-X0206616Y0081930D01*
-X0206616Y0081616D02*
-X0202031Y0081616D01*
-X0202031Y0078456D01*
-X0202149Y0077715D01*
-X0202381Y0077001D01*
-X0202722Y0076332D01*
-X0203163Y0075725D01*
-X0203694Y0075194D01*
-X0204301Y0074753D01*
-X0204970Y0074412D01*
-X0205683Y0074180D01*
-X0206425Y0074063D01*
-X0206616Y0074063D01*
-X0206616Y0081616D01*
-X0206984Y0081930D02*
-X0221900Y0081930D01*
-X0221900Y0080332D02*
-X0211568Y0080332D01*
-X0211568Y0078733D02*
-X0221900Y0078733D01*
-X0221900Y0077134D02*
-X0211262Y0077134D01*
-X0210248Y0075536D02*
-X0221900Y0075536D01*
-X0226700Y0075536D02*
-X0228352Y0075536D01*
-X0227757Y0076130D02*
-X0229099Y0074789D01*
-X0230851Y0074063D01*
-X0232749Y0074063D01*
-X0234501Y0074789D01*
-X0235843Y0076130D01*
-X0236568Y0077883D01*
-X0236568Y0085717D01*
-X0235843Y0087470D01*
-X0234501Y0088811D01*
-X0232749Y0089537D01*
-X0230851Y0089537D01*
-X0229099Y0088811D01*
-X0227757Y0087470D01*
-X0227031Y0085717D01*
-X0227031Y0077883D01*
-X0227757Y0076130D01*
-X0227342Y0077134D02*
-X0226700Y0077134D01*
-X0226700Y0078733D02*
-X0227031Y0078733D01*
-X0227031Y0080332D02*
-X0226700Y0080332D01*
-X0226700Y0081930D02*
-X0227031Y0081930D01*
-X0227031Y0083529D02*
-X0226700Y0083529D01*
-X0226700Y0085127D02*
-X0227031Y0085127D01*
-X0226700Y0086726D02*
-X0227449Y0086726D01*
-X0226700Y0088324D02*
-X0228612Y0088324D01*
-X0226700Y0089923D02*
-X0256900Y0089923D01*
-X0256900Y0091521D02*
-X0226700Y0091521D01*
-X0226700Y0093120D02*
-X0256900Y0093120D01*
-X0256900Y0094718D02*
-X0226700Y0094718D01*
-X0226700Y0096317D02*
-X0256900Y0096317D01*
-X0256900Y0097915D02*
-X0226700Y0097915D01*
-X0226700Y0099514D02*
-X0256900Y0099514D01*
-X0256900Y0101112D02*
-X0226700Y0101112D01*
-X0226700Y0102711D02*
-X0256900Y0102711D01*
-X0256900Y0104309D02*
-X0226700Y0104309D01*
-X0226700Y0105908D02*
-X0256900Y0105908D01*
-X0256900Y0107506D02*
-X0226700Y0107506D01*
-X0226700Y0109105D02*
-X0256900Y0109105D01*
-X0256900Y0110703D02*
-X0226700Y0110703D01*
-X0226700Y0112302D02*
-X0256900Y0112302D01*
-X0256900Y0113900D02*
-X0226700Y0113900D01*
-X0226700Y0115499D02*
-X0256900Y0115499D01*
-X0256900Y0117097D02*
-X0226700Y0117097D01*
-X0227090Y0118696D02*
-X0256900Y0118696D01*
-X0256900Y0120294D02*
-X0228688Y0120294D01*
-X0230287Y0121893D02*
-X0256900Y0121893D01*
-X0256900Y0123491D02*
-X0231885Y0123491D01*
-X0233484Y0125090D02*
-X0256900Y0125090D01*
-X0256900Y0126688D02*
-X0235082Y0126688D01*
-X0236681Y0128287D02*
-X0256900Y0128287D01*
-X0256900Y0129885D02*
-X0238279Y0129885D01*
-X0239200Y0131484D02*
-X0245262Y0131484D01*
-X0242739Y0133082D02*
-X0240861Y0133082D01*
-X0241645Y0139476D02*
-X0241955Y0139476D01*
-X0243297Y0141075D02*
-X0240303Y0141075D01*
-X0233297Y0141075D02*
-X0230303Y0141075D01*
-X0231645Y0139476D02*
-X0231955Y0139476D01*
-X0232739Y0133082D02*
-X0230861Y0133082D01*
-X0233090Y0131484D02*
-X0228338Y0131484D01*
-X0225262Y0131484D02*
-X0218338Y0131484D01*
-X0220861Y0133082D02*
-X0222739Y0133082D01*
-X0221955Y0139476D02*
-X0221645Y0139476D01*
-X0220303Y0141075D02*
-X0223297Y0141075D01*
-X0213297Y0141075D02*
-X0210303Y0141075D01*
-X0211645Y0139476D02*
-X0211955Y0139476D01*
-X0212739Y0133082D02*
-X0210861Y0133082D01*
-X0208338Y0131484D02*
-X0215262Y0131484D01*
-X0205262Y0131484D02*
-X0198338Y0131484D01*
-X0200861Y0133082D02*
-X0202739Y0133082D01*
-X0201955Y0139476D02*
-X0201645Y0139476D01*
-X0200303Y0141075D02*
-X0203297Y0141075D01*
-X0193297Y0141075D02*
-X0190303Y0141075D01*
-X0191645Y0139476D02*
-X0191955Y0139476D01*
-X0192739Y0133082D02*
-X0190861Y0133082D01*
-X0188338Y0131484D02*
-X0195262Y0131484D01*
-X0178094Y0161767D02*
-X0179233Y0162906D01*
-X0179850Y0164394D01*
-X0179850Y0166006D01*
-X0179233Y0167494D01*
-X0178928Y0167800D01*
-X0179233Y0168106D01*
-X0179850Y0169594D01*
-X0179850Y0171206D01*
-X0179233Y0172694D01*
-X0178094Y0173833D01*
-X0176606Y0174450D01*
-X0174994Y0174450D01*
-X0173506Y0173833D01*
-X0172367Y0172694D01*
-X0171750Y0171206D01*
-X0171750Y0169594D01*
-X0172367Y0168106D01*
-X0172672Y0167800D01*
-X0172367Y0167494D01*
-X0171750Y0166006D01*
-X0171750Y0164394D01*
-X0172367Y0162906D01*
-X0173506Y0161767D01*
-X0174994Y0161150D01*
-X0176606Y0161150D01*
-X0178094Y0161767D01*
-X0178183Y0161856D02*
-X0244365Y0161856D01*
-X0243684Y0162137D02*
-X0245706Y0161300D01*
-X0247894Y0161300D01*
-X0249915Y0162137D01*
-X0251463Y0163684D01*
-X0251800Y0164499D01*
-X0252137Y0163684D01*
-X0253684Y0162137D01*
-X0255706Y0161300D01*
-X0257894Y0161300D01*
-X0259915Y0162137D01*
-X0261463Y0163684D01*
-X0261800Y0164499D01*
-X0262137Y0163684D01*
-X0263684Y0162137D01*
-X0265706Y0161300D01*
-X0267894Y0161300D01*
-X0269915Y0162137D01*
-X0271463Y0163684D01*
-X0271800Y0164499D01*
-X0272137Y0163684D01*
-X0273684Y0162137D01*
-X0275706Y0161300D01*
-X0277894Y0161300D01*
-X0279915Y0162137D01*
-X0281463Y0163684D01*
-X0282300Y0165706D01*
-X0282300Y0167894D01*
-X0281463Y0169915D01*
-X0279915Y0171463D01*
-X0279101Y0171800D01*
-X0279915Y0172137D01*
-X0281463Y0173684D01*
-X0282300Y0175706D01*
-X0282300Y0177894D01*
-X0281463Y0179915D01*
-X0279915Y0181463D01*
-X0277894Y0182300D01*
-X0275706Y0182300D01*
-X0273684Y0181463D01*
-X0272137Y0179915D01*
-X0271800Y0179101D01*
-X0271463Y0179915D01*
-X0269915Y0181463D01*
-X0267894Y0182300D01*
-X0265706Y0182300D01*
-X0263684Y0181463D01*
-X0262137Y0179915D01*
-X0261800Y0179101D01*
-X0261463Y0179915D01*
-X0259915Y0181463D01*
-X0257894Y0182300D01*
-X0255706Y0182300D01*
-X0253684Y0181463D01*
-X0252137Y0179915D01*
-X0251800Y0179101D01*
-X0251463Y0179915D01*
-X0249915Y0181463D01*
-X0247894Y0182300D01*
-X0245706Y0182300D01*
-X0243684Y0181463D01*
-X0242137Y0179915D01*
-X0241300Y0177894D01*
-X0241300Y0175706D01*
-X0242137Y0173684D01*
-X0243684Y0172137D01*
-X0244499Y0171800D01*
-X0243684Y0171463D01*
-X0242137Y0169915D01*
-X0241300Y0167894D01*
-X0241300Y0165706D01*
-X0242137Y0163684D01*
-X0243684Y0162137D01*
-X0242368Y0163454D02*
-X0179461Y0163454D01*
-X0179850Y0165053D02*
-X0241571Y0165053D01*
-X0241300Y0166651D02*
-X0179583Y0166651D01*
-X0179293Y0168250D02*
-X0241447Y0168250D01*
-X0242109Y0169848D02*
-X0179850Y0169848D01*
-X0179750Y0171447D02*
-X0243669Y0171447D01*
-X0242777Y0173045D02*
-X0178882Y0173045D01*
-X0172718Y0173045D02*
-X0107505Y0173045D01*
-X0107505Y0173209D02*
-X0106776Y0175932D01*
-X0105367Y0178373D01*
-X0103373Y0180367D01*
-X0100932Y0181776D01*
-X0098209Y0182505D01*
-X0095391Y0182505D01*
-X0092668Y0181776D01*
-X0090227Y0180367D01*
-X0088233Y0178373D01*
-X0086824Y0175932D01*
-X0086094Y0173209D01*
-X0086094Y0170391D01*
-X0086824Y0167668D01*
-X0088233Y0165227D01*
-X0090227Y0163233D01*
-X0092668Y0161824D01*
-X0095391Y0161094D01*
-X0098209Y0161094D01*
-X0100932Y0161824D01*
-X0103373Y0163233D01*
-X0105367Y0165227D01*
-X0106776Y0167668D01*
-X0107505Y0170391D01*
-X0107505Y0173209D01*
-X0107121Y0174644D02*
-X0241740Y0174644D01*
-X0241300Y0176242D02*
-X0106597Y0176242D01*
-X0105674Y0177841D02*
-X0241300Y0177841D01*
-X0241940Y0179439D02*
-X0104301Y0179439D01*
-X0102211Y0181038D02*
-X0243260Y0181038D01*
-X0250340Y0181038D02*
-X0253260Y0181038D01*
-X0251940Y0179439D02*
-X0251660Y0179439D01*
-X0260340Y0181038D02*
-X0263260Y0181038D01*
-X0261940Y0179439D02*
-X0261660Y0179439D01*
-X0270340Y0181038D02*
-X0273260Y0181038D01*
-X0271940Y0179439D02*
-X0271660Y0179439D01*
-X0280340Y0181038D02*
-X0301300Y0181038D01*
-X0301300Y0179439D02*
-X0281660Y0179439D01*
-X0282300Y0177841D02*
-X0301300Y0177841D01*
-X0301300Y0176242D02*
-X0282300Y0176242D01*
-X0281860Y0174644D02*
-X0301300Y0174644D01*
-X0301300Y0173045D02*
-X0280823Y0173045D01*
-X0279931Y0171447D02*
-X0302208Y0171447D01*
-X0302109Y0169848D02*
-X0281491Y0169848D01*
-X0282153Y0168250D02*
-X0301447Y0168250D01*
-X0301300Y0166651D02*
-X0282300Y0166651D01*
-X0282029Y0165053D02*
-X0301571Y0165053D01*
-X0302368Y0163454D02*
-X0281232Y0163454D01*
-X0279235Y0161856D02*
-X0304365Y0161856D01*
-X0302479Y0160257D02*
-X0016600Y0160257D01*
-X0016600Y0158659D02*
-X0301617Y0158659D01*
-X0301300Y0157060D02*
-X0016600Y0157060D01*
-X0016600Y0155462D02*
-X0301401Y0155462D01*
-X0302063Y0153863D02*
-X0016600Y0153863D01*
-X0016600Y0152265D02*
-X0303557Y0152265D01*
-X0311121Y0160257D02*
-X0311863Y0160257D01*
-X0313462Y0161856D02*
-X0309235Y0161856D01*
-X0311232Y0163454D02*
-X0314400Y0163454D01*
-X0314400Y0165053D02*
-X0312029Y0165053D01*
-X0312300Y0166651D02*
-X0314400Y0166651D01*
-X0314400Y0168250D02*
-X0312153Y0168250D01*
-X0311491Y0169848D02*
-X0314400Y0169848D01*
-X0314400Y0171447D02*
-X0311392Y0171447D01*
-X0312300Y0173045D02*
-X0314400Y0173045D01*
-X0314400Y0174644D02*
-X0312300Y0174644D01*
-X0312300Y0176242D02*
-X0314400Y0176242D01*
-X0314400Y0177841D02*
-X0312300Y0177841D01*
-X0312300Y0179439D02*
-X0314400Y0179439D01*
-X0314400Y0181038D02*
-X0312300Y0181038D01*
-X0314400Y0182636D02*
-X0016600Y0182636D01*
-X0016600Y0181038D02*
-X0091389Y0181038D01*
-X0089299Y0179439D02*
-X0016600Y0179439D01*
-X0016600Y0177841D02*
-X0087926Y0177841D01*
-X0087003Y0176242D02*
-X0016600Y0176242D01*
-X0016600Y0174644D02*
-X0086479Y0174644D01*
-X0086094Y0173045D02*
-X0016600Y0173045D01*
-X0016600Y0171447D02*
-X0086094Y0171447D01*
-X0086240Y0169848D02*
-X0016600Y0169848D01*
-X0016600Y0168250D02*
-X0086668Y0168250D01*
-X0087411Y0166651D02*
-X0016600Y0166651D01*
-X0016600Y0165053D02*
-X0088407Y0165053D01*
-X0090006Y0163454D02*
-X0016600Y0163454D01*
-X0016600Y0161856D02*
-X0092613Y0161856D01*
-X0100987Y0161856D02*
-X0173417Y0161856D01*
-X0172139Y0163454D02*
-X0103594Y0163454D01*
-X0105192Y0165053D02*
-X0171750Y0165053D01*
-X0172017Y0166651D02*
-X0106189Y0166651D01*
-X0106932Y0168250D02*
-X0172307Y0168250D01*
-X0171750Y0169848D02*
-X0107360Y0169848D01*
-X0107505Y0171447D02*
-X0171850Y0171447D01*
-X0173595Y0192227D02*
-X0170005Y0192227D01*
-X0171521Y0193826D02*
-X0172079Y0193826D01*
-X0172442Y0200220D02*
-X0171158Y0200220D01*
-X0169200Y0201818D02*
-X0174543Y0201818D01*
-X0179057Y0201818D02*
-X0183387Y0201818D01*
-X0182442Y0200220D02*
-X0181158Y0200220D01*
-X0181789Y0203417D02*
-X0168577Y0203417D01*
-X0166979Y0205015D02*
-X0180190Y0205015D01*
-X0178592Y0206614D02*
-X0165380Y0206614D01*
-X0163782Y0208212D02*
-X0177153Y0208212D01*
-X0176900Y0209811D02*
-X0162183Y0209811D01*
-X0160585Y0211409D02*
-X0176900Y0211409D01*
-X0176900Y0213008D02*
-X0158986Y0213008D01*
-X0157388Y0214606D02*
-X0176900Y0214606D01*
-X0176900Y0216205D02*
-X0155789Y0216205D01*
-X0154191Y0217803D02*
-X0176900Y0217803D01*
-X0176900Y0219402D02*
-X0152592Y0219402D01*
-X0150994Y0221001D02*
-X0176900Y0221001D01*
-X0176900Y0222599D02*
-X0149395Y0222599D01*
-X0147797Y0224198D02*
-X0176900Y0224198D01*
-X0176900Y0225796D02*
-X0146198Y0225796D01*
-X0144600Y0227395D02*
-X0176900Y0227395D01*
-X0176900Y0228993D02*
-X0143001Y0228993D01*
-X0141403Y0230592D02*
-X0176900Y0230592D01*
-X0176900Y0232190D02*
-X0139804Y0232190D01*
-X0138205Y0233789D02*
-X0176900Y0233789D01*
-X0176900Y0235387D02*
-X0136700Y0235387D01*
-X0136700Y0236986D02*
-X0176900Y0236986D01*
-X0176900Y0238584D02*
-X0136700Y0238584D01*
-X0136700Y0240183D02*
-X0138705Y0240183D01*
-X0139099Y0239789D02*
-X0140851Y0239063D01*
-X0142749Y0239063D01*
-X0144501Y0239789D01*
-X0145843Y0241130D01*
-X0146568Y0242883D01*
-X0146568Y0250717D01*
-X0145843Y0252470D01*
-X0144501Y0253811D01*
-X0142749Y0254537D01*
-X0140851Y0254537D01*
-X0139099Y0253811D01*
-X0137757Y0252470D01*
-X0137031Y0250717D01*
-X0137031Y0242883D01*
-X0137757Y0241130D01*
-X0139099Y0239789D01*
-X0137488Y0241781D02*
-X0136700Y0241781D01*
-X0136700Y0243380D02*
-X0137031Y0243380D01*
-X0137031Y0244978D02*
-X0136700Y0244978D01*
-X0136700Y0246577D02*
-X0137031Y0246577D01*
-X0137031Y0248175D02*
-X0136700Y0248175D01*
-X0136700Y0249774D02*
-X0137031Y0249774D01*
-X0137303Y0251372D02*
-X0136700Y0251372D01*
-X0136700Y0252971D02*
-X0138259Y0252971D01*
-X0136700Y0254569D02*
-X0176900Y0254569D01*
-X0176900Y0252971D02*
-X0165341Y0252971D01*
-X0165437Y0252875D02*
-X0164906Y0253406D01*
-X0164299Y0253847D01*
-X0163630Y0254188D01*
-X0162917Y0254420D01*
-X0162175Y0254537D01*
-X0161984Y0254537D01*
-X0161984Y0246984D01*
-X0166568Y0246984D01*
-X0166568Y0250144D01*
-X0166451Y0250885D01*
-X0166219Y0251599D01*
-X0165878Y0252268D01*
-X0165437Y0252875D01*
-X0166293Y0251372D02*
-X0176900Y0251372D01*
-X0176900Y0249774D02*
-X0166568Y0249774D01*
-X0166568Y0248175D02*
-X0176900Y0248175D01*
-X0176900Y0246577D02*
-X0166568Y0246577D01*
-X0166568Y0246616D02*
-X0161984Y0246616D01*
-X0161984Y0239063D01*
-X0162175Y0239063D01*
-X0162917Y0239180D01*
-X0163630Y0239412D01*
-X0164299Y0239753D01*
-X0164906Y0240194D01*
-X0165437Y0240725D01*
-X0165878Y0241332D01*
-X0166219Y0242001D01*
-X0166451Y0242715D01*
-X0166568Y0243456D01*
-X0166568Y0246616D01*
-X0166568Y0244978D02*
-X0176900Y0244978D01*
-X0176900Y0243380D02*
-X0166556Y0243380D01*
-X0166107Y0241781D02*
-X0176900Y0241781D01*
-X0176900Y0240183D02*
-X0164890Y0240183D01*
-X0161984Y0240183D02*
-X0161616Y0240183D01*
-X0161616Y0239063D02*
-X0161616Y0246616D01*
-X0161984Y0246616D01*
-X0161984Y0246984D01*
-X0161616Y0246984D01*
-X0161616Y0246616D01*
-X0157031Y0246616D01*
-X0157031Y0243456D01*
-X0157149Y0242715D01*
-X0157381Y0242001D01*
-X0157722Y0241332D01*
-X0158163Y0240725D01*
-X0158694Y0240194D01*
-X0159301Y0239753D01*
-X0159970Y0239412D01*
-X0160683Y0239180D01*
-X0161425Y0239063D01*
-X0161616Y0239063D01*
-X0161616Y0241781D02*
-X0161984Y0241781D01*
-X0161984Y0243380D02*
-X0161616Y0243380D01*
-X0161616Y0244978D02*
-X0161984Y0244978D01*
-X0161984Y0246577D02*
-X0161616Y0246577D01*
-X0161616Y0246984D02*
-X0157031Y0246984D01*
-X0157031Y0250144D01*
-X0157149Y0250885D01*
-X0157381Y0251599D01*
-X0157722Y0252268D01*
-X0158163Y0252875D01*
-X0158694Y0253406D01*
-X0159301Y0253847D01*
-X0159970Y0254188D01*
-X0160683Y0254420D01*
-X0161425Y0254537D01*
-X0161616Y0254537D01*
-X0161616Y0246984D01*
-X0161616Y0248175D02*
-X0161984Y0248175D01*
-X0161984Y0249774D02*
-X0161616Y0249774D01*
-X0161616Y0251372D02*
-X0161984Y0251372D01*
-X0161984Y0252971D02*
-X0161616Y0252971D01*
-X0158259Y0252971D02*
-X0155341Y0252971D01*
-X0155843Y0252470D02*
-X0154501Y0253811D01*
-X0152749Y0254537D01*
-X0150851Y0254537D01*
-X0149099Y0253811D01*
-X0147757Y0252470D01*
-X0147031Y0250717D01*
-X0147031Y0242883D01*
-X0147757Y0241130D01*
-X0149099Y0239789D01*
-X0150851Y0239063D01*
-X0152749Y0239063D01*
-X0154501Y0239789D01*
-X0155843Y0241130D01*
-X0156568Y0242883D01*
-X0156568Y0250717D01*
-X0155843Y0252470D01*
-X0156297Y0251372D02*
-X0157307Y0251372D01*
-X0157031Y0249774D02*
-X0156568Y0249774D01*
-X0156568Y0248175D02*
-X0157031Y0248175D01*
-X0157031Y0246577D02*
-X0156568Y0246577D01*
-X0156568Y0244978D02*
-X0157031Y0244978D01*
-X0157044Y0243380D02*
-X0156568Y0243380D01*
-X0156112Y0241781D02*
-X0157493Y0241781D01*
-X0158710Y0240183D02*
-X0154895Y0240183D01*
-X0148705Y0240183D02*
-X0144895Y0240183D01*
-X0146112Y0241781D02*
-X0147488Y0241781D01*
-X0147031Y0243380D02*
-X0146568Y0243380D01*
-X0146568Y0244978D02*
-X0147031Y0244978D01*
-X0147031Y0246577D02*
-X0146568Y0246577D01*
-X0146568Y0248175D02*
-X0147031Y0248175D01*
-X0147031Y0249774D02*
-X0146568Y0249774D01*
-X0146297Y0251372D02*
-X0147303Y0251372D01*
-X0148259Y0252971D02*
-X0145341Y0252971D01*
-X0136700Y0256168D02*
-X0176900Y0256168D01*
-X0176900Y0257766D02*
-X0136700Y0257766D01*
-X0136700Y0259365D02*
-X0176900Y0259365D01*
-X0176900Y0260963D02*
-X0136700Y0260963D01*
-X0136700Y0262562D02*
-X0176900Y0262562D01*
-X0176900Y0264160D02*
-X0136700Y0264160D01*
-X0136700Y0265759D02*
-X0176900Y0265759D01*
-X0176900Y0267357D02*
-X0136700Y0267357D01*
-X0136700Y0268956D02*
-X0176900Y0268956D01*
-X0176900Y0270554D02*
-X0136700Y0270554D01*
-X0136700Y0272153D02*
-X0176900Y0272153D01*
-X0176900Y0273751D02*
-X0136700Y0273751D01*
-X0136700Y0275350D02*
-X0176900Y0275350D01*
-X0176900Y0276948D02*
-X0136700Y0276948D01*
-X0136700Y0278547D02*
-X0176900Y0278547D01*
-X0176900Y0280145D02*
-X0136700Y0280145D01*
-X0136700Y0281744D02*
-X0175962Y0281744D01*
-X0174599Y0283342D02*
-X0136152Y0283342D01*
-X0134653Y0284941D02*
-X0139042Y0284941D01*
-X0139301Y0284753D02*
-X0139970Y0284412D01*
-X0140683Y0284180D01*
-X0141425Y0284063D01*
-X0141616Y0284063D01*
-X0141616Y0291616D01*
-X0141984Y0291616D01*
-X0141984Y0284063D01*
-X0142175Y0284063D01*
-X0142917Y0284180D01*
-X0143630Y0284412D01*
-X0144299Y0284753D01*
-X0144906Y0285194D01*
-X0145437Y0285725D01*
-X0145878Y0286332D01*
-X0146219Y0287001D01*
-X0146451Y0287715D01*
-X0146568Y0288456D01*
-X0146568Y0291616D01*
-X0141984Y0291616D01*
-X0141984Y0291984D01*
-X0146568Y0291984D01*
-X0146568Y0295144D01*
-X0146451Y0295885D01*
-X0146219Y0296599D01*
-X0145878Y0297268D01*
-X0145437Y0297875D01*
-X0144906Y0298406D01*
-X0144299Y0298847D01*
-X0143630Y0299188D01*
-X0142917Y0299420D01*
-X0142175Y0299537D01*
-X0141984Y0299537D01*
-X0141984Y0291984D01*
-X0141616Y0291984D01*
-X0141616Y0291616D01*
-X0137031Y0291616D01*
-X0137031Y0288456D01*
-X0137149Y0287715D01*
-X0137381Y0287001D01*
-X0137722Y0286332D01*
-X0138163Y0285725D01*
-X0138694Y0285194D01*
-X0139301Y0284753D01*
-X0141616Y0284941D02*
-X0141984Y0284941D01*
-X0141984Y0286539D02*
-X0141616Y0286539D01*
-X0141616Y0288138D02*
-X0141984Y0288138D01*
-X0141984Y0289737D02*
-X0141616Y0289737D01*
-X0141616Y0291335D02*
-X0141984Y0291335D01*
-X0141616Y0291984D02*
-X0137031Y0291984D01*
-X0137031Y0295144D01*
-X0137149Y0295885D01*
-X0137381Y0296599D01*
-X0137722Y0297268D01*
-X0138163Y0297875D01*
-X0138694Y0298406D01*
-X0139301Y0298847D01*
-X0139970Y0299188D01*
-X0140683Y0299420D01*
-X0141425Y0299537D01*
-X0141616Y0299537D01*
-X0141616Y0291984D01*
-X0141616Y0292934D02*
-X0141984Y0292934D01*
-X0141984Y0294532D02*
-X0141616Y0294532D01*
-X0141616Y0296131D02*
-X0141984Y0296131D01*
-X0141984Y0297729D02*
-X0141616Y0297729D01*
-X0141616Y0299328D02*
-X0141984Y0299328D01*
-X0143200Y0299328D02*
-X0165346Y0299328D01*
-X0165851Y0299537D02*
-X0164099Y0298811D01*
-X0162757Y0297470D01*
-X0162031Y0295717D01*
-X0162031Y0287883D01*
-X0162757Y0286130D01*
-X0164099Y0284789D01*
-X0165851Y0284063D01*
-X0167749Y0284063D01*
-X0169501Y0284789D01*
-X0170843Y0286130D01*
-X0171568Y0287883D01*
-X0171568Y0295717D01*
-X0170843Y0297470D01*
-X0169501Y0298811D01*
-X0167749Y0299537D01*
-X0165851Y0299537D01*
-X0168254Y0299328D02*
-X0175346Y0299328D01*
-X0173017Y0297729D02*
-X0170583Y0297729D01*
-X0171397Y0296131D02*
-X0172203Y0296131D01*
-X0172031Y0294532D02*
-X0171568Y0294532D01*
-X0171568Y0292934D02*
-X0172031Y0292934D01*
-X0172031Y0291335D02*
-X0171568Y0291335D01*
-X0171568Y0289737D02*
-X0172031Y0289737D01*
-X0172031Y0288138D02*
-X0171568Y0288138D01*
-X0171012Y0286539D02*
-X0172588Y0286539D01*
-X0173947Y0284941D02*
-X0169653Y0284941D01*
-X0163947Y0284941D02*
-X0144558Y0284941D01*
-X0145984Y0286539D02*
-X0162588Y0286539D01*
-X0162031Y0288138D02*
-X0146518Y0288138D01*
-X0146568Y0289737D02*
-X0162031Y0289737D01*
-X0162031Y0291335D02*
-X0146568Y0291335D01*
-X0146568Y0292934D02*
-X0162031Y0292934D01*
-X0162031Y0294532D02*
-X0146568Y0294532D01*
-X0146371Y0296131D02*
-X0162203Y0296131D01*
-X0163017Y0297729D02*
-X0145543Y0297729D01*
-X0140400Y0299328D02*
-X0133254Y0299328D01*
-X0135583Y0297729D02*
-X0138057Y0297729D01*
-X0137229Y0296131D02*
-X0136397Y0296131D01*
-X0136568Y0294532D02*
-X0137031Y0294532D01*
-X0137031Y0292934D02*
-X0136568Y0292934D01*
-X0136568Y0291335D02*
-X0137031Y0291335D01*
-X0137031Y0289737D02*
-X0136568Y0289737D01*
-X0136568Y0288138D02*
-X0137082Y0288138D01*
-X0137616Y0286539D02*
-X0136012Y0286539D01*
-X0130962Y0281744D02*
-X0016600Y0281744D01*
-X0016600Y0283342D02*
-X0129599Y0283342D01*
-X0128947Y0284941D02*
-X0124653Y0284941D01*
-X0124501Y0284789D02*
-X0125843Y0286130D01*
-X0126568Y0287883D01*
-X0126568Y0295717D01*
-X0125843Y0297470D01*
-X0124501Y0298811D01*
-X0122749Y0299537D01*
-X0120851Y0299537D01*
-X0119099Y0298811D01*
-X0117757Y0297470D01*
-X0117031Y0295717D01*
-X0117031Y0287883D01*
-X0117757Y0286130D01*
-X0119099Y0284789D01*
-X0120851Y0284063D01*
-X0122749Y0284063D01*
-X0124501Y0284789D01*
-X0126012Y0286539D02*
-X0127588Y0286539D01*
-X0127031Y0288138D02*
-X0126568Y0288138D01*
-X0126568Y0289737D02*
-X0127031Y0289737D01*
-X0127031Y0291335D02*
-X0126568Y0291335D01*
-X0126568Y0292934D02*
-X0127031Y0292934D01*
-X0127031Y0294532D02*
-X0126568Y0294532D01*
-X0126397Y0296131D02*
-X0127203Y0296131D01*
-X0128017Y0297729D02*
-X0125583Y0297729D01*
-X0123254Y0299328D02*
-X0130346Y0299328D01*
-X0120346Y0299328D02*
-X0098200Y0299328D01*
-X0097917Y0299420D02*
-X0097175Y0299537D01*
-X0096984Y0299537D01*
-X0096984Y0291984D01*
-X0101568Y0291984D01*
-X0101568Y0295144D01*
-X0101451Y0295885D01*
-X0101219Y0296599D01*
-X0100878Y0297268D01*
-X0100437Y0297875D01*
-X0099906Y0298406D01*
-X0099299Y0298847D01*
-X0098630Y0299188D01*
-X0097917Y0299420D01*
-X0096984Y0299328D02*
-X0096616Y0299328D01*
-X0096616Y0299537D02*
-X0096425Y0299537D01*
-X0095683Y0299420D01*
-X0094970Y0299188D01*
-X0094301Y0298847D01*
-X0093694Y0298406D01*
-X0093163Y0297875D01*
-X0092722Y0297268D01*
-X0092381Y0296599D01*
-X0092149Y0295885D01*
-X0092031Y0295144D01*
-X0092031Y0291984D01*
-X0096616Y0291984D01*
-X0096616Y0291616D01*
-X0096984Y0291616D01*
-X0096984Y0284063D01*
-X0097175Y0284063D01*
-X0097917Y0284180D01*
-X0098630Y0284412D01*
-X0099299Y0284753D01*
-X0099906Y0285194D01*
-X0100437Y0285725D01*
-X0100878Y0286332D01*
-X0101219Y0287001D01*
-X0101451Y0287715D01*
-X0101568Y0288456D01*
-X0101568Y0291616D01*
-X0096984Y0291616D01*
-X0096984Y0291984D01*
-X0096616Y0291984D01*
-X0096616Y0299537D01*
-X0095400Y0299328D02*
-X0088254Y0299328D01*
-X0087749Y0299537D02*
-X0085851Y0299537D01*
-X0084099Y0298811D01*
-X0082757Y0297470D01*
-X0082031Y0295717D01*
-X0082031Y0287883D01*
-X0082757Y0286130D01*
-X0084099Y0284789D01*
-X0085851Y0284063D01*
-X0087749Y0284063D01*
-X0089501Y0284789D01*
-X0090843Y0286130D01*
-X0091568Y0287883D01*
-X0091568Y0295717D01*
-X0090843Y0297470D01*
-X0089501Y0298811D01*
-X0087749Y0299537D01*
-X0085346Y0299328D02*
-X0078254Y0299328D01*
-X0077749Y0299537D02*
-X0075851Y0299537D01*
-X0074099Y0298811D01*
-X0072757Y0297470D01*
-X0072031Y0295717D01*
-X0072031Y0287883D01*
-X0072757Y0286130D01*
-X0074099Y0284789D01*
-X0075851Y0284063D01*
-X0077749Y0284063D01*
-X0079501Y0284789D01*
-X0080843Y0286130D01*
-X0081568Y0287883D01*
-X0081568Y0295717D01*
-X0080843Y0297470D01*
-X0079501Y0298811D01*
-X0077749Y0299537D01*
-X0075346Y0299328D02*
-X0053200Y0299328D01*
-X0052917Y0299420D02*
-X0052175Y0299537D01*
-X0051984Y0299537D01*
-X0051984Y0291984D01*
-X0056568Y0291984D01*
-X0056568Y0295144D01*
-X0056451Y0295885D01*
-X0056219Y0296599D01*
-X0055878Y0297268D01*
-X0055437Y0297875D01*
-X0054906Y0298406D01*
-X0054299Y0298847D01*
-X0053630Y0299188D01*
-X0052917Y0299420D01*
-X0051984Y0299328D02*
-X0051616Y0299328D01*
-X0051616Y0299537D02*
-X0051425Y0299537D01*
-X0050683Y0299420D01*
-X0049970Y0299188D01*
-X0049301Y0298847D01*
-X0048694Y0298406D01*
-X0048163Y0297875D01*
-X0047722Y0297268D01*
-X0047381Y0296599D01*
-X0047149Y0295885D01*
-X0047031Y0295144D01*
-X0047031Y0291984D01*
-X0051616Y0291984D01*
-X0051616Y0291616D01*
-X0051984Y0291616D01*
-X0051984Y0284063D01*
-X0052175Y0284063D01*
-X0052917Y0284180D01*
-X0053630Y0284412D01*
-X0054299Y0284753D01*
-X0054906Y0285194D01*
-X0055437Y0285725D01*
-X0055878Y0286332D01*
-X0056219Y0287001D01*
-X0056451Y0287715D01*
-X0056568Y0288456D01*
-X0056568Y0291616D01*
-X0051984Y0291616D01*
-X0051984Y0291984D01*
-X0051616Y0291984D01*
-X0051616Y0299537D01*
-X0050400Y0299328D02*
-X0043254Y0299328D01*
-X0042749Y0299537D02*
-X0040851Y0299537D01*
-X0039099Y0298811D01*
-X0037757Y0297470D01*
-X0037031Y0295717D01*
-X0037031Y0287883D01*
-X0037757Y0286130D01*
-X0039099Y0284789D01*
-X0040851Y0284063D01*
-X0042749Y0284063D01*
-X0044501Y0284789D01*
-X0045843Y0286130D01*
-X0046568Y0287883D01*
-X0046568Y0295717D01*
-X0045843Y0297470D01*
-X0044501Y0298811D01*
-X0042749Y0299537D01*
-X0040346Y0299328D02*
-X0033254Y0299328D01*
-X0032749Y0299537D02*
-X0030851Y0299537D01*
-X0029099Y0298811D01*
-X0027757Y0297470D01*
-X0027031Y0295717D01*
-X0027031Y0287883D01*
-X0027757Y0286130D01*
-X0029099Y0284789D01*
-X0030851Y0284063D01*
-X0032749Y0284063D01*
-X0034501Y0284789D01*
-X0035843Y0286130D01*
-X0036568Y0287883D01*
-X0036568Y0295717D01*
-X0035843Y0297470D01*
-X0034501Y0298811D01*
-X0032749Y0299537D01*
-X0030346Y0299328D02*
-X0016600Y0299328D01*
-X0016600Y0300926D02*
-X0376094Y0300926D01*
-X0376094Y0300391D02*
-X0376824Y0297668D01*
-X0378233Y0295227D01*
-X0380227Y0293233D01*
-X0382668Y0291824D01*
-X0385391Y0291094D01*
-X0388209Y0291094D01*
-X0390932Y0291824D01*
-X0393373Y0293233D01*
-X0395367Y0295227D01*
-X0396776Y0297668D01*
-X0397505Y0300391D01*
-X0397505Y0303209D01*
-X0396776Y0305932D01*
-X0395367Y0308373D01*
-X0393373Y0310367D01*
-X0390932Y0311776D01*
-X0388209Y0312505D01*
-X0385391Y0312505D01*
-X0382668Y0311776D01*
-X0380227Y0310367D01*
-X0378233Y0308373D01*
-X0376824Y0305932D01*
-X0376094Y0303209D01*
-X0376094Y0300391D01*
-X0376379Y0299328D02*
-X0368200Y0299328D01*
-X0367917Y0299420D02*
-X0367175Y0299537D01*
-X0366984Y0299537D01*
-X0366984Y0291984D01*
-X0371568Y0291984D01*
-X0371568Y0295144D01*
-X0371451Y0295885D01*
-X0371219Y0296599D01*
-X0370878Y0297268D01*
-X0370437Y0297875D01*
-X0369906Y0298406D01*
-X0369299Y0298847D01*
-X0368630Y0299188D01*
-X0367917Y0299420D01*
-X0366984Y0299328D02*
-X0366616Y0299328D01*
-X0366616Y0299537D02*
-X0366425Y0299537D01*
-X0365683Y0299420D01*
-X0364970Y0299188D01*
-X0364301Y0298847D01*
-X0363694Y0298406D01*
-X0363163Y0297875D01*
-X0362722Y0297268D01*
-X0362381Y0296599D01*
-X0362149Y0295885D01*
-X0362031Y0295144D01*
-X0362031Y0291984D01*
-X0366616Y0291984D01*
-X0366616Y0291616D01*
-X0366984Y0291616D01*
-X0366984Y0284063D01*
-X0367175Y0284063D01*
-X0367917Y0284180D01*
-X0368630Y0284412D01*
-X0369299Y0284753D01*
-X0369906Y0285194D01*
-X0370437Y0285725D01*
-X0370878Y0286332D01*
-X0371219Y0287001D01*
-X0371451Y0287715D01*
-X0371568Y0288456D01*
-X0371568Y0291616D01*
-X0366984Y0291616D01*
-X0366984Y0291984D01*
-X0366616Y0291984D01*
-X0366616Y0299537D01*
-X0365400Y0299328D02*
-X0358254Y0299328D01*
-X0357749Y0299537D02*
-X0355851Y0299537D01*
-X0354099Y0298811D01*
-X0352757Y0297470D01*
-X0352031Y0295717D01*
-X0352031Y0287883D01*
-X0352757Y0286130D01*
-X0354099Y0284789D01*
-X0355851Y0284063D01*
-X0357749Y0284063D01*
-X0359501Y0284789D01*
-X0360843Y0286130D01*
-X0361568Y0287883D01*
-X0361568Y0295717D01*
-X0360843Y0297470D01*
-X0359501Y0298811D01*
-X0357749Y0299537D01*
-X0355346Y0299328D02*
-X0348254Y0299328D01*
-X0347749Y0299537D02*
-X0345851Y0299537D01*
-X0344099Y0298811D01*
-X0342757Y0297470D01*
-X0342031Y0295717D01*
-X0342031Y0287883D01*
-X0342757Y0286130D01*
-X0344099Y0284789D01*
-X0345851Y0284063D01*
-X0347749Y0284063D01*
-X0349501Y0284789D01*
-X0350843Y0286130D01*
-X0351568Y0287883D01*
-X0351568Y0295717D01*
-X0350843Y0297470D01*
-X0349501Y0298811D01*
-X0347749Y0299537D01*
-X0345346Y0299328D02*
-X0323200Y0299328D01*
-X0322917Y0299420D02*
-X0323630Y0299188D01*
-X0324299Y0298847D01*
-X0324906Y0298406D01*
-X0325437Y0297875D01*
-X0325878Y0297268D01*
-X0326219Y0296599D01*
-X0326451Y0295885D01*
-X0326568Y0295144D01*
-X0326568Y0291984D01*
-X0321984Y0291984D01*
-X0321984Y0291616D01*
-X0321984Y0284063D01*
-X0322175Y0284063D01*
-X0322917Y0284180D01*
-X0323630Y0284412D01*
-X0324299Y0284753D01*
-X0324906Y0285194D01*
-X0325437Y0285725D01*
-X0325878Y0286332D01*
-X0326219Y0287001D01*
-X0326451Y0287715D01*
-X0326568Y0288456D01*
-X0326568Y0291616D01*
-X0321984Y0291616D01*
-X0321616Y0291616D01*
-X0321616Y0284063D01*
-X0321425Y0284063D01*
-X0320683Y0284180D01*
-X0319970Y0284412D01*
-X0319301Y0284753D01*
-X0318694Y0285194D01*
-X0318163Y0285725D01*
-X0317722Y0286332D01*
-X0317381Y0287001D01*
-X0317149Y0287715D01*
-X0317031Y0288456D01*
-X0317031Y0291616D01*
-X0321616Y0291616D01*
-X0321616Y0291984D01*
-X0317031Y0291984D01*
-X0317031Y0295144D01*
-X0317149Y0295885D01*
-X0317381Y0296599D01*
-X0317722Y0297268D01*
-X0318163Y0297875D01*
-X0318694Y0298406D01*
-X0319301Y0298847D01*
-X0319970Y0299188D01*
-X0320683Y0299420D01*
-X0321425Y0299537D01*
-X0321616Y0299537D01*
-X0321616Y0291984D01*
-X0321984Y0291984D01*
-X0321984Y0299537D01*
-X0322175Y0299537D01*
-X0322917Y0299420D01*
-X0321984Y0299328D02*
-X0321616Y0299328D01*
-X0320400Y0299328D02*
-X0313254Y0299328D01*
-X0312749Y0299537D02*
-X0310851Y0299537D01*
-X0309099Y0298811D01*
-X0307757Y0297470D01*
-X0307031Y0295717D01*
-X0307031Y0287883D01*
-X0307757Y0286130D01*
-X0309099Y0284789D01*
-X0310851Y0284063D01*
-X0312749Y0284063D01*
-X0314501Y0284789D01*
-X0315843Y0286130D01*
-X0316568Y0287883D01*
-X0316568Y0295717D01*
-X0315843Y0297470D01*
-X0314501Y0298811D01*
-X0312749Y0299537D01*
-X0310346Y0299328D02*
-X0303254Y0299328D01*
-X0302749Y0299537D02*
-X0300851Y0299537D01*
-X0299099Y0298811D01*
-X0297757Y0297470D01*
-X0297031Y0295717D01*
-X0297031Y0287883D01*
-X0297757Y0286130D01*
-X0299099Y0284789D01*
-X0300851Y0284063D01*
-X0302749Y0284063D01*
-X0304501Y0284789D01*
-X0305843Y0286130D01*
-X0306568Y0287883D01*
-X0306568Y0295717D01*
-X0305843Y0297470D01*
-X0304501Y0298811D01*
-X0302749Y0299537D01*
-X0300346Y0299328D02*
-X0278200Y0299328D01*
-X0277917Y0299420D02*
-X0277175Y0299537D01*
-X0276984Y0299537D01*
-X0276984Y0291984D01*
-X0281568Y0291984D01*
-X0281568Y0295144D01*
-X0281451Y0295885D01*
-X0281219Y0296599D01*
-X0280878Y0297268D01*
-X0280437Y0297875D01*
-X0279906Y0298406D01*
-X0279299Y0298847D01*
-X0278630Y0299188D01*
-X0277917Y0299420D01*
-X0276984Y0299328D02*
-X0276616Y0299328D01*
-X0276616Y0299537D02*
-X0276425Y0299537D01*
-X0275683Y0299420D01*
-X0274970Y0299188D01*
-X0274301Y0298847D01*
-X0273694Y0298406D01*
-X0273163Y0297875D01*
-X0272722Y0297268D01*
-X0272381Y0296599D01*
-X0272149Y0295885D01*
-X0272031Y0295144D01*
-X0272031Y0291984D01*
-X0276616Y0291984D01*
-X0276616Y0291616D01*
-X0276984Y0291616D01*
-X0276984Y0284063D01*
-X0277175Y0284063D01*
-X0277917Y0284180D01*
-X0278630Y0284412D01*
-X0279299Y0284753D01*
-X0279906Y0285194D01*
-X0280437Y0285725D01*
-X0280878Y0286332D01*
-X0281219Y0287001D01*
-X0281451Y0287715D01*
-X0281568Y0288456D01*
-X0281568Y0291616D01*
-X0276984Y0291616D01*
-X0276984Y0291984D01*
-X0276616Y0291984D01*
-X0276616Y0299537D01*
-X0275400Y0299328D02*
-X0268254Y0299328D01*
-X0270583Y0297729D02*
-X0273057Y0297729D01*
-X0272229Y0296131D02*
-X0271397Y0296131D01*
-X0271568Y0294532D02*
-X0272031Y0294532D01*
-X0272031Y0292934D02*
-X0271568Y0292934D01*
-X0272031Y0291616D02*
-X0272031Y0288456D01*
-X0272149Y0287715D01*
-X0272381Y0287001D01*
-X0272722Y0286332D01*
-X0273163Y0285725D01*
-X0273694Y0285194D01*
-X0274301Y0284753D01*
-X0274970Y0284412D01*
-X0275683Y0284180D01*
-X0276425Y0284063D01*
-X0276616Y0284063D01*
-X0276616Y0291616D01*
-X0272031Y0291616D01*
-X0272031Y0291335D02*
-X0271568Y0291335D01*
-X0271568Y0289737D02*
-X0272031Y0289737D01*
-X0272082Y0288138D02*
-X0271568Y0288138D01*
-X0271012Y0286539D02*
-X0272616Y0286539D01*
-X0274042Y0284941D02*
-X0269653Y0284941D01*
-X0269001Y0283342D02*
-X0400701Y0283342D01*
-X0400701Y0281744D02*
-X0267638Y0281744D01*
-X0266040Y0280145D02*
-X0400701Y0280145D01*
-X0400701Y0278547D02*
-X0264441Y0278547D01*
-X0262843Y0276948D02*
-X0400701Y0276948D01*
-X0400701Y0275350D02*
-X0261700Y0275350D01*
-X0261700Y0273751D02*
-X0400701Y0273751D01*
-X0400701Y0272153D02*
-X0261700Y0272153D01*
-X0261700Y0270554D02*
-X0400701Y0270554D01*
-X0400701Y0268956D02*
-X0261700Y0268956D01*
-X0261700Y0267357D02*
-X0400701Y0267357D01*
-X0400701Y0265759D02*
-X0261700Y0265759D01*
-X0261700Y0264160D02*
-X0400701Y0264160D01*
-X0400701Y0262562D02*
-X0261700Y0262562D01*
-X0261700Y0260963D02*
-X0400701Y0260963D01*
-X0400701Y0259365D02*
-X0261700Y0259365D01*
-X0261700Y0257766D02*
-X0400701Y0257766D01*
-X0400701Y0256168D02*
-X0261700Y0256168D01*
-X0256900Y0256168D02*
-X0181700Y0256168D01*
-X0181700Y0257766D02*
-X0256900Y0257766D01*
-X0256900Y0259365D02*
-X0181700Y0259365D01*
-X0181700Y0260963D02*
-X0256900Y0260963D01*
-X0256900Y0262562D02*
-X0181700Y0262562D01*
-X0181700Y0264160D02*
-X0256900Y0264160D01*
-X0256900Y0265759D02*
-X0181700Y0265759D01*
-X0181700Y0267357D02*
-X0256900Y0267357D01*
-X0256900Y0268956D02*
-X0181700Y0268956D01*
-X0181700Y0270554D02*
-X0256900Y0270554D01*
-X0256900Y0272153D02*
-X0181700Y0272153D01*
-X0181700Y0273751D02*
-X0256900Y0273751D01*
-X0256900Y0275350D02*
-X0181700Y0275350D01*
-X0181700Y0276948D02*
-X0256900Y0276948D01*
-X0257653Y0278547D02*
-X0181700Y0278547D01*
-X0181700Y0280145D02*
-X0259251Y0280145D01*
-X0260850Y0281744D02*
-X0181700Y0281744D01*
-X0181152Y0283342D02*
-X0262448Y0283342D01*
-X0263947Y0284941D02*
-X0259653Y0284941D01*
-X0259501Y0284789D02*
-X0260843Y0286130D01*
-X0261568Y0287883D01*
-X0261568Y0295717D01*
-X0260843Y0297470D01*
-X0259501Y0298811D01*
-X0257749Y0299537D01*
-X0255851Y0299537D01*
-X0254099Y0298811D01*
-X0252757Y0297470D01*
-X0252031Y0295717D01*
-X0252031Y0287883D01*
-X0252757Y0286130D01*
-X0254099Y0284789D01*
-X0255851Y0284063D01*
-X0257749Y0284063D01*
-X0259501Y0284789D01*
-X0261012Y0286539D02*
-X0262588Y0286539D01*
-X0262031Y0288138D02*
-X0261568Y0288138D01*
-X0261568Y0289737D02*
-X0262031Y0289737D01*
-X0262031Y0291335D02*
-X0261568Y0291335D01*
-X0261568Y0292934D02*
-X0262031Y0292934D01*
-X0262031Y0294532D02*
-X0261568Y0294532D01*
-X0261397Y0296131D02*
-X0262203Y0296131D01*
-X0263017Y0297729D02*
-X0260583Y0297729D01*
-X0258254Y0299328D02*
-X0265346Y0299328D01*
-X0255346Y0299328D02*
-X0233200Y0299328D01*
-X0232917Y0299420D02*
-X0232175Y0299537D01*
-X0231984Y0299537D01*
-X0231984Y0291984D01*
-X0236568Y0291984D01*
-X0236568Y0295144D01*
-X0236451Y0295885D01*
-X0236219Y0296599D01*
-X0235878Y0297268D01*
-X0235437Y0297875D01*
-X0234906Y0298406D01*
-X0234299Y0298847D01*
-X0233630Y0299188D01*
-X0232917Y0299420D01*
-X0231984Y0299328D02*
-X0231616Y0299328D01*
-X0231616Y0299537D02*
-X0231425Y0299537D01*
-X0230683Y0299420D01*
-X0229970Y0299188D01*
-X0229301Y0298847D01*
-X0228694Y0298406D01*
-X0228163Y0297875D01*
-X0227722Y0297268D01*
-X0227381Y0296599D01*
-X0227149Y0295885D01*
-X0227031Y0295144D01*
-X0227031Y0291984D01*
-X0231616Y0291984D01*
-X0231616Y0291616D01*
-X0231984Y0291616D01*
-X0231984Y0284063D01*
-X0232175Y0284063D01*
-X0232917Y0284180D01*
-X0233630Y0284412D01*
-X0234299Y0284753D01*
-X0234906Y0285194D01*
-X0235437Y0285725D01*
-X0235878Y0286332D01*
-X0236219Y0287001D01*
-X0236451Y0287715D01*
-X0236568Y0288456D01*
-X0236568Y0291616D01*
-X0231984Y0291616D01*
-X0231984Y0291984D01*
-X0231616Y0291984D01*
-X0231616Y0299537D01*
-X0230400Y0299328D02*
-X0223254Y0299328D01*
-X0222749Y0299537D02*
-X0220851Y0299537D01*
-X0219099Y0298811D01*
-X0217757Y0297470D01*
-X0217031Y0295717D01*
-X0217031Y0287883D01*
-X0217757Y0286130D01*
-X0219099Y0284789D01*
-X0220851Y0284063D01*
-X0222749Y0284063D01*
-X0224501Y0284789D01*
-X0225843Y0286130D01*
-X0226568Y0287883D01*
-X0226568Y0295717D01*
-X0225843Y0297470D01*
-X0224501Y0298811D01*
-X0222749Y0299537D01*
-X0220346Y0299328D02*
-X0213254Y0299328D01*
-X0212749Y0299537D02*
-X0210851Y0299537D01*
-X0209099Y0298811D01*
-X0207757Y0297470D01*
-X0207031Y0295717D01*
-X0207031Y0287883D01*
-X0207757Y0286130D01*
-X0209099Y0284789D01*
-X0210851Y0284063D01*
-X0212749Y0284063D01*
-X0214501Y0284789D01*
-X0215843Y0286130D01*
-X0216568Y0287883D01*
-X0216568Y0295717D01*
-X0215843Y0297470D01*
-X0214501Y0298811D01*
-X0212749Y0299537D01*
-X0210346Y0299328D02*
-X0188200Y0299328D01*
-X0187917Y0299420D02*
-X0187175Y0299537D01*
-X0186984Y0299537D01*
-X0186984Y0291984D01*
-X0191568Y0291984D01*
-X0191568Y0295144D01*
-X0191451Y0295885D01*
-X0191219Y0296599D01*
-X0190878Y0297268D01*
-X0190437Y0297875D01*
-X0189906Y0298406D01*
-X0189299Y0298847D01*
-X0188630Y0299188D01*
-X0187917Y0299420D01*
-X0186984Y0299328D02*
-X0186616Y0299328D01*
-X0186616Y0299537D02*
-X0186425Y0299537D01*
-X0185683Y0299420D01*
-X0184970Y0299188D01*
-X0184301Y0298847D01*
-X0183694Y0298406D01*
-X0183163Y0297875D01*
-X0182722Y0297268D01*
-X0182381Y0296599D01*
-X0182149Y0295885D01*
-X0182031Y0295144D01*
-X0182031Y0291984D01*
-X0186616Y0291984D01*
-X0186616Y0291616D01*
-X0186984Y0291616D01*
-X0186984Y0284063D01*
-X0187175Y0284063D01*
-X0187917Y0284180D01*
-X0188630Y0284412D01*
-X0189299Y0284753D01*
-X0189906Y0285194D01*
-X0190437Y0285725D01*
-X0190878Y0286332D01*
-X0191219Y0287001D01*
-X0191451Y0287715D01*
-X0191568Y0288456D01*
-X0191568Y0291616D01*
-X0186984Y0291616D01*
-X0186984Y0291984D01*
-X0186616Y0291984D01*
-X0186616Y0299537D01*
-X0185400Y0299328D02*
-X0178254Y0299328D01*
-X0180583Y0297729D02*
-X0183057Y0297729D01*
-X0182229Y0296131D02*
-X0181397Y0296131D01*
-X0181568Y0294532D02*
-X0182031Y0294532D01*
-X0182031Y0292934D02*
-X0181568Y0292934D01*
-X0182031Y0291616D02*
-X0182031Y0288456D01*
-X0182149Y0287715D01*
-X0182381Y0287001D01*
-X0182722Y0286332D01*
-X0183163Y0285725D01*
-X0183694Y0285194D01*
-X0184301Y0284753D01*
-X0184970Y0284412D01*
-X0185683Y0284180D01*
-X0186425Y0284063D01*
-X0186616Y0284063D01*
-X0186616Y0291616D01*
-X0182031Y0291616D01*
-X0182031Y0291335D02*
-X0181568Y0291335D01*
-X0181568Y0289737D02*
-X0182031Y0289737D01*
-X0182082Y0288138D02*
-X0181568Y0288138D01*
-X0181012Y0286539D02*
-X0182616Y0286539D01*
-X0184042Y0284941D02*
-X0179653Y0284941D01*
-X0186616Y0284941D02*
-X0186984Y0284941D01*
-X0186984Y0286539D02*
-X0186616Y0286539D01*
-X0186616Y0288138D02*
-X0186984Y0288138D01*
-X0186984Y0289737D02*
-X0186616Y0289737D01*
-X0186616Y0291335D02*
-X0186984Y0291335D01*
-X0186984Y0292934D02*
-X0186616Y0292934D01*
-X0186616Y0294532D02*
-X0186984Y0294532D01*
-X0186984Y0296131D02*
-X0186616Y0296131D01*
-X0186616Y0297729D02*
-X0186984Y0297729D01*
-X0190543Y0297729D02*
-X0208017Y0297729D01*
-X0207203Y0296131D02*
-X0191371Y0296131D01*
-X0191568Y0294532D02*
-X0207031Y0294532D01*
-X0207031Y0292934D02*
-X0191568Y0292934D01*
-X0191568Y0291335D02*
-X0207031Y0291335D01*
-X0207031Y0289737D02*
-X0191568Y0289737D01*
-X0191518Y0288138D02*
-X0207031Y0288138D01*
-X0207588Y0286539D02*
-X0190984Y0286539D01*
-X0189558Y0284941D02*
-X0208947Y0284941D01*
-X0214653Y0284941D02*
-X0218947Y0284941D01*
-X0217588Y0286539D02*
-X0216012Y0286539D01*
-X0216568Y0288138D02*
-X0217031Y0288138D01*
-X0217031Y0289737D02*
-X0216568Y0289737D01*
-X0216568Y0291335D02*
-X0217031Y0291335D01*
-X0217031Y0292934D02*
-X0216568Y0292934D01*
-X0216568Y0294532D02*
-X0217031Y0294532D01*
-X0217203Y0296131D02*
-X0216397Y0296131D01*
-X0215583Y0297729D02*
-X0218017Y0297729D01*
-X0225583Y0297729D02*
-X0228057Y0297729D01*
-X0227229Y0296131D02*
-X0226397Y0296131D01*
-X0226568Y0294532D02*
-X0227031Y0294532D01*
-X0227031Y0292934D02*
-X0226568Y0292934D01*
-X0227031Y0291616D02*
-X0227031Y0288456D01*
-X0227149Y0287715D01*
-X0227381Y0287001D01*
-X0227722Y0286332D01*
-X0228163Y0285725D01*
-X0228694Y0285194D01*
-X0229301Y0284753D01*
-X0229970Y0284412D01*
-X0230683Y0284180D01*
-X0231425Y0284063D01*
-X0231616Y0284063D01*
-X0231616Y0291616D01*
-X0227031Y0291616D01*
-X0227031Y0291335D02*
-X0226568Y0291335D01*
-X0226568Y0289737D02*
-X0227031Y0289737D01*
-X0227082Y0288138D02*
-X0226568Y0288138D01*
-X0226012Y0286539D02*
-X0227616Y0286539D01*
-X0229042Y0284941D02*
-X0224653Y0284941D01*
-X0231616Y0284941D02*
-X0231984Y0284941D01*
-X0231984Y0286539D02*
-X0231616Y0286539D01*
-X0231616Y0288138D02*
-X0231984Y0288138D01*
-X0231984Y0289737D02*
-X0231616Y0289737D01*
-X0231616Y0291335D02*
-X0231984Y0291335D01*
-X0231984Y0292934D02*
-X0231616Y0292934D01*
-X0231616Y0294532D02*
-X0231984Y0294532D01*
-X0231984Y0296131D02*
-X0231616Y0296131D01*
-X0231616Y0297729D02*
-X0231984Y0297729D01*
-X0235543Y0297729D02*
-X0253017Y0297729D01*
-X0252203Y0296131D02*
-X0236371Y0296131D01*
-X0236568Y0294532D02*
-X0252031Y0294532D01*
-X0252031Y0292934D02*
-X0236568Y0292934D01*
-X0236568Y0291335D02*
-X0252031Y0291335D01*
-X0252031Y0289737D02*
-X0236568Y0289737D01*
-X0236518Y0288138D02*
-X0252031Y0288138D01*
-X0252588Y0286539D02*
-X0235984Y0286539D01*
-X0234558Y0284941D02*
-X0253947Y0284941D01*
-X0276616Y0284941D02*
-X0276984Y0284941D01*
-X0276984Y0286539D02*
-X0276616Y0286539D01*
-X0276616Y0288138D02*
-X0276984Y0288138D01*
-X0276984Y0289737D02*
-X0276616Y0289737D01*
-X0276616Y0291335D02*
-X0276984Y0291335D01*
-X0276984Y0292934D02*
-X0276616Y0292934D01*
-X0276616Y0294532D02*
-X0276984Y0294532D01*
-X0276984Y0296131D02*
-X0276616Y0296131D01*
-X0276616Y0297729D02*
-X0276984Y0297729D01*
-X0280543Y0297729D02*
-X0298017Y0297729D01*
-X0297203Y0296131D02*
-X0281371Y0296131D01*
-X0281568Y0294532D02*
-X0297031Y0294532D01*
-X0297031Y0292934D02*
-X0281568Y0292934D01*
-X0281568Y0291335D02*
-X0297031Y0291335D01*
-X0297031Y0289737D02*
-X0281568Y0289737D01*
-X0281518Y0288138D02*
-X0297031Y0288138D01*
-X0297588Y0286539D02*
-X0280984Y0286539D01*
-X0279558Y0284941D02*
-X0298947Y0284941D01*
-X0304653Y0284941D02*
-X0308947Y0284941D01*
-X0307588Y0286539D02*
-X0306012Y0286539D01*
-X0306568Y0288138D02*
-X0307031Y0288138D01*
-X0307031Y0289737D02*
-X0306568Y0289737D01*
-X0306568Y0291335D02*
-X0307031Y0291335D01*
-X0307031Y0292934D02*
-X0306568Y0292934D01*
-X0306568Y0294532D02*
-X0307031Y0294532D01*
-X0307203Y0296131D02*
-X0306397Y0296131D01*
-X0305583Y0297729D02*
-X0308017Y0297729D01*
-X0315583Y0297729D02*
-X0318057Y0297729D01*
-X0317229Y0296131D02*
-X0316397Y0296131D01*
-X0316568Y0294532D02*
-X0317031Y0294532D01*
-X0317031Y0292934D02*
-X0316568Y0292934D01*
-X0316568Y0291335D02*
-X0317031Y0291335D01*
-X0317031Y0289737D02*
-X0316568Y0289737D01*
-X0316568Y0288138D02*
-X0317082Y0288138D01*
-X0317616Y0286539D02*
-X0316012Y0286539D01*
-X0314653Y0284941D02*
-X0319042Y0284941D01*
-X0321616Y0284941D02*
-X0321984Y0284941D01*
-X0321984Y0286539D02*
-X0321616Y0286539D01*
-X0321616Y0288138D02*
-X0321984Y0288138D01*
-X0321984Y0289737D02*
-X0321616Y0289737D01*
-X0321616Y0291335D02*
-X0321984Y0291335D01*
-X0321984Y0292934D02*
-X0321616Y0292934D01*
-X0321616Y0294532D02*
-X0321984Y0294532D01*
-X0321984Y0296131D02*
-X0321616Y0296131D01*
-X0321616Y0297729D02*
-X0321984Y0297729D01*
-X0325543Y0297729D02*
-X0343017Y0297729D01*
-X0342203Y0296131D02*
-X0326371Y0296131D01*
-X0326568Y0294532D02*
-X0342031Y0294532D01*
-X0342031Y0292934D02*
-X0326568Y0292934D01*
-X0326568Y0291335D02*
-X0342031Y0291335D01*
-X0342031Y0289737D02*
-X0326568Y0289737D01*
-X0326518Y0288138D02*
-X0342031Y0288138D01*
-X0342588Y0286539D02*
-X0325984Y0286539D01*
-X0324558Y0284941D02*
-X0343947Y0284941D01*
-X0349653Y0284941D02*
-X0353947Y0284941D01*
-X0352588Y0286539D02*
-X0351012Y0286539D01*
-X0351568Y0288138D02*
-X0352031Y0288138D01*
-X0352031Y0289737D02*
-X0351568Y0289737D01*
-X0351568Y0291335D02*
-X0352031Y0291335D01*
-X0352031Y0292934D02*
-X0351568Y0292934D01*
-X0351568Y0294532D02*
-X0352031Y0294532D01*
-X0352203Y0296131D02*
-X0351397Y0296131D01*
-X0350583Y0297729D02*
-X0353017Y0297729D01*
-X0360583Y0297729D02*
-X0363057Y0297729D01*
-X0362229Y0296131D02*
-X0361397Y0296131D01*
-X0361568Y0294532D02*
-X0362031Y0294532D01*
-X0362031Y0292934D02*
-X0361568Y0292934D01*
-X0362031Y0291616D02*
-X0362031Y0288456D01*
-X0362149Y0287715D01*
-X0362381Y0287001D01*
-X0362722Y0286332D01*
-X0363163Y0285725D01*
-X0363694Y0285194D01*
-X0364301Y0284753D01*
-X0364970Y0284412D01*
-X0365683Y0284180D01*
-X0366425Y0284063D01*
-X0366616Y0284063D01*
-X0366616Y0291616D01*
-X0362031Y0291616D01*
-X0362031Y0291335D02*
-X0361568Y0291335D01*
-X0361568Y0289737D02*
-X0362031Y0289737D01*
-X0362082Y0288138D02*
-X0361568Y0288138D01*
-X0361012Y0286539D02*
-X0362616Y0286539D01*
-X0364042Y0284941D02*
-X0359653Y0284941D01*
-X0366616Y0284941D02*
-X0366984Y0284941D01*
-X0366984Y0286539D02*
-X0366616Y0286539D01*
-X0366616Y0288138D02*
-X0366984Y0288138D01*
-X0366984Y0289737D02*
-X0366616Y0289737D01*
-X0366616Y0291335D02*
-X0366984Y0291335D01*
-X0366984Y0292934D02*
-X0366616Y0292934D01*
-X0366616Y0294532D02*
-X0366984Y0294532D01*
-X0366984Y0296131D02*
-X0366616Y0296131D01*
-X0366616Y0297729D02*
-X0366984Y0297729D01*
-X0370543Y0297729D02*
-X0376808Y0297729D01*
-X0377712Y0296131D02*
-X0371371Y0296131D01*
-X0371568Y0294532D02*
-X0378928Y0294532D01*
-X0380746Y0292934D02*
-X0371568Y0292934D01*
-X0371568Y0291335D02*
-X0384493Y0291335D01*
-X0389107Y0291335D02*
-X0400701Y0291335D01*
-X0400701Y0289737D02*
-X0371568Y0289737D01*
-X0371518Y0288138D02*
-X0400701Y0288138D01*
-X0400701Y0286539D02*
-X0370984Y0286539D01*
-X0369558Y0284941D02*
-X0400701Y0284941D01*
-X0400701Y0292934D02*
-X0392854Y0292934D01*
-X0394672Y0294532D02*
-X0400701Y0294532D01*
-X0400701Y0296131D02*
-X0395888Y0296131D01*
-X0396792Y0297729D02*
-X0400701Y0297729D01*
-X0400701Y0299328D02*
-X0397221Y0299328D01*
-X0397505Y0300926D02*
-X0400701Y0300926D01*
-X0400701Y0302525D02*
-X0397505Y0302525D01*
-X0397261Y0304123D02*
-X0400701Y0304123D01*
-X0400701Y0305722D02*
-X0396832Y0305722D01*
-X0395975Y0307320D02*
-X0400701Y0307320D01*
-X0400701Y0308919D02*
-X0394821Y0308919D01*
-X0393112Y0310517D02*
-X0400701Y0310517D01*
-X0400701Y0312116D02*
-X0389664Y0312116D01*
-X0383936Y0312116D02*
-X0016600Y0312116D01*
-X0016600Y0313714D02*
-X0400701Y0313714D01*
-X0400701Y0315313D02*
-X0016600Y0315313D01*
-X0016600Y0316911D02*
-X0400701Y0316911D01*
-X0380488Y0310517D02*
-X0016600Y0310517D01*
-X0016600Y0308919D02*
-X0378779Y0308919D01*
-X0377625Y0307320D02*
-X0016600Y0307320D01*
-X0016600Y0305722D02*
-X0376768Y0305722D01*
-X0376339Y0304123D02*
-X0016600Y0304123D01*
-X0016600Y0302525D02*
-X0376094Y0302525D01*
-X0328259Y0252971D02*
-X0325341Y0252971D01*
-X0326297Y0251372D02*
-X0327303Y0251372D01*
-X0327031Y0249774D02*
-X0326568Y0249774D01*
-X0326568Y0248175D02*
-X0327031Y0248175D01*
-X0327031Y0246577D02*
-X0326568Y0246577D01*
-X0326568Y0244978D02*
-X0327031Y0244978D01*
-X0327031Y0243380D02*
-X0326568Y0243380D01*
-X0326112Y0241781D02*
-X0327488Y0241781D01*
-X0314400Y0201818D02*
-X0309057Y0201818D01*
-X0311158Y0200220D02*
-X0314400Y0200220D01*
-X0314400Y0198621D02*
-X0311999Y0198621D01*
-X0312300Y0197023D02*
-X0314400Y0197023D01*
-X0314400Y0195424D02*
-X0312183Y0195424D01*
-X0311521Y0193826D02*
-X0314400Y0193826D01*
-X0314400Y0192227D02*
-X0310005Y0192227D01*
-X0314400Y0190629D02*
-X0016600Y0190629D01*
-X0016600Y0192227D02*
-X0113595Y0192227D01*
-X0112079Y0193826D02*
-X0016600Y0193826D01*
-X0016600Y0195424D02*
-X0111417Y0195424D01*
-X0111300Y0197023D02*
-X0016600Y0197023D01*
-X0016600Y0198621D02*
-X0111601Y0198621D01*
-X0112442Y0200220D02*
-X0016600Y0200220D01*
-X0016600Y0201818D02*
-X0114543Y0201818D01*
-X0119057Y0201818D02*
-X0124543Y0201818D01*
-X0122442Y0200220D02*
-X0121158Y0200220D01*
-X0121521Y0193826D02*
-X0122079Y0193826D01*
-X0123595Y0192227D02*
-X0120005Y0192227D01*
-X0130005Y0192227D02*
-X0133595Y0192227D01*
-X0132079Y0193826D02*
-X0131521Y0193826D01*
-X0131158Y0200220D02*
-X0132442Y0200220D01*
-X0134543Y0201818D02*
-X0129057Y0201818D01*
-X0139057Y0201818D02*
-X0144543Y0201818D01*
-X0142442Y0200220D02*
-X0141158Y0200220D01*
-X0141521Y0193826D02*
-X0142079Y0193826D01*
-X0143595Y0192227D02*
-X0140005Y0192227D01*
-X0150005Y0192227D02*
-X0153595Y0192227D01*
-X0152079Y0193826D02*
-X0151521Y0193826D01*
-X0151158Y0200220D02*
-X0152442Y0200220D01*
-X0154543Y0201818D02*
-X0149057Y0201818D01*
-X0159057Y0201818D02*
-X0163388Y0201818D01*
-X0162442Y0200220D02*
-X0161158Y0200220D01*
-X0161789Y0203417D02*
-X0016600Y0203417D01*
-X0016600Y0205015D02*
-X0160190Y0205015D01*
-X0158592Y0206614D02*
-X0016600Y0206614D01*
-X0016600Y0208212D02*
-X0156993Y0208212D01*
-X0155395Y0209811D02*
-X0016600Y0209811D01*
-X0016600Y0211409D02*
-X0153796Y0211409D01*
-X0152198Y0213008D02*
-X0016600Y0213008D01*
-X0016600Y0214606D02*
-X0150599Y0214606D01*
-X0149001Y0216205D02*
-X0016600Y0216205D01*
-X0016600Y0217803D02*
-X0147402Y0217803D01*
-X0145804Y0219402D02*
-X0016600Y0219402D01*
-X0016600Y0221001D02*
-X0144205Y0221001D01*
-X0142607Y0222599D02*
-X0016600Y0222599D01*
-X0016600Y0224198D02*
-X0141008Y0224198D01*
-X0139410Y0225796D02*
-X0016600Y0225796D01*
-X0016600Y0227395D02*
-X0137811Y0227395D01*
-X0136213Y0228993D02*
-X0016600Y0228993D01*
-X0016600Y0230592D02*
-X0134614Y0230592D01*
-X0133016Y0232190D02*
-X0016600Y0232190D01*
-X0016600Y0233789D02*
-X0131914Y0233789D01*
-X0131900Y0235387D02*
-X0016600Y0235387D01*
-X0016600Y0236986D02*
-X0131900Y0236986D01*
-X0131900Y0238584D02*
-X0016600Y0238584D01*
-X0016600Y0240183D02*
-X0048705Y0240183D01*
-X0049099Y0239789D02*
-X0050851Y0239063D01*
-X0052749Y0239063D01*
-X0054501Y0239789D01*
-X0055843Y0241130D01*
-X0056568Y0242883D01*
-X0056568Y0250717D01*
-X0055843Y0252470D01*
-X0054501Y0253811D01*
-X0052749Y0254537D01*
-X0050851Y0254537D01*
-X0049099Y0253811D01*
-X0047757Y0252470D01*
-X0047031Y0250717D01*
-X0047031Y0242883D01*
-X0047757Y0241130D01*
-X0049099Y0239789D01*
-X0047488Y0241781D02*
-X0016600Y0241781D01*
-X0016600Y0243380D02*
-X0047031Y0243380D01*
-X0047031Y0244978D02*
-X0016600Y0244978D01*
-X0016600Y0246577D02*
-X0047031Y0246577D01*
-X0047031Y0248175D02*
-X0016600Y0248175D01*
-X0016600Y0249774D02*
-X0047031Y0249774D01*
-X0047303Y0251372D02*
-X0016600Y0251372D01*
-X0016600Y0252971D02*
-X0048259Y0252971D01*
-X0055341Y0252971D02*
-X0058259Y0252971D01*
-X0057757Y0252470D02*
-X0057031Y0250717D01*
-X0057031Y0242883D01*
-X0057757Y0241130D01*
-X0059099Y0239789D01*
-X0060851Y0239063D01*
-X0062749Y0239063D01*
-X0064501Y0239789D01*
-X0065843Y0241130D01*
-X0066568Y0242883D01*
-X0066568Y0250717D01*
-X0065843Y0252470D01*
-X0064501Y0253811D01*
-X0062749Y0254537D01*
-X0060851Y0254537D01*
-X0059099Y0253811D01*
-X0057757Y0252470D01*
-X0057303Y0251372D02*
-X0056297Y0251372D01*
-X0056568Y0249774D02*
-X0057031Y0249774D01*
-X0057031Y0248175D02*
-X0056568Y0248175D01*
-X0056568Y0246577D02*
-X0057031Y0246577D01*
-X0057031Y0244978D02*
-X0056568Y0244978D01*
-X0056568Y0243380D02*
-X0057031Y0243380D01*
-X0057488Y0241781D02*
-X0056112Y0241781D01*
-X0054895Y0240183D02*
-X0058705Y0240183D01*
-X0064895Y0240183D02*
-X0068710Y0240183D01*
-X0068694Y0240194D02*
-X0069301Y0239753D01*
-X0069970Y0239412D01*
-X0070683Y0239180D01*
-X0071425Y0239063D01*
-X0071616Y0239063D01*
-X0071616Y0246616D01*
-X0071984Y0246616D01*
-X0071984Y0239063D01*
-X0072175Y0239063D01*
-X0072917Y0239180D01*
-X0073630Y0239412D01*
-X0074299Y0239753D01*
-X0074906Y0240194D01*
-X0075437Y0240725D01*
-X0075878Y0241332D01*
-X0076219Y0242001D01*
-X0076451Y0242715D01*
-X0076568Y0243456D01*
-X0076568Y0246616D01*
-X0071984Y0246616D01*
-X0071984Y0246984D01*
-X0076568Y0246984D01*
-X0076568Y0250144D01*
-X0076451Y0250885D01*
-X0076219Y0251599D01*
-X0075878Y0252268D01*
-X0075437Y0252875D01*
-X0074906Y0253406D01*
-X0074299Y0253847D01*
-X0073630Y0254188D01*
-X0072917Y0254420D01*
-X0072175Y0254537D01*
-X0071984Y0254537D01*
-X0071984Y0246984D01*
-X0071616Y0246984D01*
-X0071616Y0246616D01*
-X0067031Y0246616D01*
-X0067031Y0243456D01*
-X0067149Y0242715D01*
-X0067381Y0242001D01*
-X0067722Y0241332D01*
-X0068163Y0240725D01*
-X0068694Y0240194D01*
-X0067493Y0241781D02*
-X0066112Y0241781D01*
-X0066568Y0243380D02*
-X0067044Y0243380D01*
-X0067031Y0244978D02*
-X0066568Y0244978D01*
-X0066568Y0246577D02*
-X0067031Y0246577D01*
-X0067031Y0246984D02*
-X0071616Y0246984D01*
-X0071616Y0254537D01*
-X0071425Y0254537D01*
-X0070683Y0254420D01*
-X0069970Y0254188D01*
-X0069301Y0253847D01*
-X0068694Y0253406D01*
-X0068163Y0252875D01*
-X0067722Y0252268D01*
-X0067381Y0251599D01*
-X0067149Y0250885D01*
-X0067031Y0250144D01*
-X0067031Y0246984D01*
-X0067031Y0248175D02*
-X0066568Y0248175D01*
-X0066568Y0249774D02*
-X0067031Y0249774D01*
-X0067307Y0251372D02*
-X0066297Y0251372D01*
-X0065341Y0252971D02*
-X0068259Y0252971D01*
-X0071616Y0252971D02*
-X0071984Y0252971D01*
-X0071984Y0251372D02*
-X0071616Y0251372D01*
-X0071616Y0249774D02*
-X0071984Y0249774D01*
-X0071984Y0248175D02*
-X0071616Y0248175D01*
-X0071616Y0246577D02*
-X0071984Y0246577D01*
-X0071984Y0244978D02*
-X0071616Y0244978D01*
-X0071616Y0243380D02*
-X0071984Y0243380D01*
-X0071984Y0241781D02*
-X0071616Y0241781D01*
-X0071616Y0240183D02*
-X0071984Y0240183D01*
-X0074890Y0240183D02*
-X0093705Y0240183D01*
-X0094099Y0239789D02*
-X0095851Y0239063D01*
-X0097749Y0239063D01*
-X0099501Y0239789D01*
-X0100843Y0241130D01*
-X0101568Y0242883D01*
-X0101568Y0250717D01*
-X0100843Y0252470D01*
-X0099501Y0253811D01*
-X0097749Y0254537D01*
-X0095851Y0254537D01*
-X0094099Y0253811D01*
-X0092757Y0252470D01*
-X0092031Y0250717D01*
-X0092031Y0242883D01*
-X0092757Y0241130D01*
-X0094099Y0239789D01*
-X0092488Y0241781D02*
-X0076107Y0241781D01*
-X0076556Y0243380D02*
-X0092031Y0243380D01*
-X0092031Y0244978D02*
-X0076568Y0244978D01*
-X0076568Y0246577D02*
-X0092031Y0246577D01*
-X0092031Y0248175D02*
-X0076568Y0248175D01*
-X0076568Y0249774D02*
-X0092031Y0249774D01*
-X0092303Y0251372D02*
-X0076293Y0251372D01*
-X0075341Y0252971D02*
-X0093259Y0252971D01*
-X0100341Y0252971D02*
-X0103259Y0252971D01*
-X0102757Y0252470D02*
-X0102031Y0250717D01*
-X0102031Y0242883D01*
-X0102757Y0241130D01*
-X0104099Y0239789D01*
-X0105851Y0239063D01*
-X0107749Y0239063D01*
-X0109501Y0239789D01*
-X0110843Y0241130D01*
-X0111568Y0242883D01*
-X0111568Y0250717D01*
-X0110843Y0252470D01*
-X0109501Y0253811D01*
-X0107749Y0254537D01*
-X0105851Y0254537D01*
-X0104099Y0253811D01*
-X0102757Y0252470D01*
-X0102303Y0251372D02*
-X0101297Y0251372D01*
-X0101568Y0249774D02*
-X0102031Y0249774D01*
-X0102031Y0248175D02*
-X0101568Y0248175D01*
-X0101568Y0246577D02*
-X0102031Y0246577D01*
-X0102031Y0244978D02*
-X0101568Y0244978D01*
-X0101568Y0243380D02*
-X0102031Y0243380D01*
-X0102488Y0241781D02*
-X0101112Y0241781D01*
-X0099895Y0240183D02*
-X0103705Y0240183D01*
-X0109895Y0240183D02*
-X0113710Y0240183D01*
-X0113694Y0240194D02*
-X0114301Y0239753D01*
-X0114970Y0239412D01*
-X0115683Y0239180D01*
-X0116425Y0239063D01*
-X0116616Y0239063D01*
-X0116616Y0246616D01*
-X0116984Y0246616D01*
-X0116984Y0239063D01*
-X0117175Y0239063D01*
-X0117917Y0239180D01*
-X0118630Y0239412D01*
-X0119299Y0239753D01*
-X0119906Y0240194D01*
-X0120437Y0240725D01*
-X0120878Y0241332D01*
-X0121219Y0242001D01*
-X0121451Y0242715D01*
-X0121568Y0243456D01*
-X0121568Y0246616D01*
-X0116984Y0246616D01*
-X0116984Y0246984D01*
-X0121568Y0246984D01*
-X0121568Y0250144D01*
-X0121451Y0250885D01*
-X0121219Y0251599D01*
-X0120878Y0252268D01*
-X0120437Y0252875D01*
-X0119906Y0253406D01*
-X0119299Y0253847D01*
-X0118630Y0254188D01*
-X0117917Y0254420D01*
-X0117175Y0254537D01*
-X0116984Y0254537D01*
-X0116984Y0246984D01*
-X0116616Y0246984D01*
-X0116616Y0246616D01*
-X0112031Y0246616D01*
-X0112031Y0243456D01*
-X0112149Y0242715D01*
-X0112381Y0242001D01*
-X0112722Y0241332D01*
-X0113163Y0240725D01*
-X0113694Y0240194D01*
-X0112493Y0241781D02*
-X0111112Y0241781D01*
-X0111568Y0243380D02*
-X0112044Y0243380D01*
-X0112031Y0244978D02*
-X0111568Y0244978D01*
-X0111568Y0246577D02*
-X0112031Y0246577D01*
-X0112031Y0246984D02*
-X0116616Y0246984D01*
-X0116616Y0254537D01*
-X0116425Y0254537D01*
-X0115683Y0254420D01*
-X0114970Y0254188D01*
-X0114301Y0253847D01*
-X0113694Y0253406D01*
-X0113163Y0252875D01*
-X0112722Y0252268D01*
-X0112381Y0251599D01*
-X0112149Y0250885D01*
-X0112031Y0250144D01*
-X0112031Y0246984D01*
-X0112031Y0248175D02*
-X0111568Y0248175D01*
-X0111568Y0249774D02*
-X0112031Y0249774D01*
-X0112307Y0251372D02*
-X0111297Y0251372D01*
-X0110341Y0252971D02*
-X0113259Y0252971D01*
-X0116616Y0252971D02*
-X0116984Y0252971D01*
-X0116984Y0251372D02*
-X0116616Y0251372D01*
-X0116616Y0249774D02*
-X0116984Y0249774D01*
-X0116984Y0248175D02*
-X0116616Y0248175D01*
-X0116616Y0246577D02*
-X0116984Y0246577D01*
-X0116984Y0244978D02*
-X0116616Y0244978D01*
-X0116616Y0243380D02*
-X0116984Y0243380D01*
-X0116984Y0241781D02*
-X0116616Y0241781D01*
-X0116616Y0240183D02*
-X0116984Y0240183D01*
-X0119890Y0240183D02*
-X0131900Y0240183D01*
-X0131900Y0241781D02*
-X0121107Y0241781D01*
-X0121556Y0243380D02*
-X0131900Y0243380D01*
-X0131900Y0244978D02*
-X0121568Y0244978D01*
-X0121568Y0246577D02*
-X0131900Y0246577D01*
-X0131900Y0248175D02*
-X0121568Y0248175D01*
-X0121568Y0249774D02*
-X0131900Y0249774D01*
-X0131900Y0251372D02*
-X0121293Y0251372D01*
-X0120341Y0252971D02*
-X0131900Y0252971D01*
-X0131900Y0254569D02*
-X0016600Y0254569D01*
-X0016600Y0256168D02*
-X0131900Y0256168D01*
-X0131900Y0257766D02*
-X0016600Y0257766D01*
-X0016600Y0259365D02*
-X0131900Y0259365D01*
-X0131900Y0260963D02*
-X0016600Y0260963D01*
-X0016600Y0262562D02*
-X0131900Y0262562D01*
-X0131900Y0264160D02*
-X0016600Y0264160D01*
-X0016600Y0265759D02*
-X0131900Y0265759D01*
-X0131900Y0267357D02*
-X0016600Y0267357D01*
-X0016600Y0268956D02*
-X0131900Y0268956D01*
-X0131900Y0270554D02*
-X0016600Y0270554D01*
-X0016600Y0272153D02*
-X0131900Y0272153D01*
-X0131900Y0273751D02*
-X0016600Y0273751D01*
-X0016600Y0275350D02*
-X0131900Y0275350D01*
-X0131900Y0276948D02*
-X0016600Y0276948D01*
-X0016600Y0278547D02*
-X0131900Y0278547D01*
-X0131900Y0280145D02*
-X0016600Y0280145D01*
-X0016600Y0284941D02*
-X0028947Y0284941D01*
-X0027588Y0286539D02*
-X0016600Y0286539D01*
-X0016600Y0288138D02*
-X0027031Y0288138D01*
-X0027031Y0289737D02*
-X0016600Y0289737D01*
-X0016600Y0291335D02*
-X0027031Y0291335D01*
-X0027031Y0292934D02*
-X0016600Y0292934D01*
-X0016600Y0294532D02*
-X0027031Y0294532D01*
-X0027203Y0296131D02*
-X0016600Y0296131D01*
-X0016600Y0297729D02*
-X0028017Y0297729D01*
-X0035583Y0297729D02*
-X0038017Y0297729D01*
-X0037203Y0296131D02*
-X0036397Y0296131D01*
-X0036568Y0294532D02*
-X0037031Y0294532D01*
-X0037031Y0292934D02*
-X0036568Y0292934D01*
-X0036568Y0291335D02*
-X0037031Y0291335D01*
-X0037031Y0289737D02*
-X0036568Y0289737D01*
-X0036568Y0288138D02*
-X0037031Y0288138D01*
-X0037588Y0286539D02*
-X0036012Y0286539D01*
-X0034653Y0284941D02*
-X0038947Y0284941D01*
-X0044653Y0284941D02*
-X0049042Y0284941D01*
-X0049301Y0284753D02*
-X0049970Y0284412D01*
-X0050683Y0284180D01*
-X0051425Y0284063D01*
-X0051616Y0284063D01*
-X0051616Y0291616D01*
-X0047031Y0291616D01*
-X0047031Y0288456D01*
-X0047149Y0287715D01*
-X0047381Y0287001D01*
-X0047722Y0286332D01*
-X0048163Y0285725D01*
-X0048694Y0285194D01*
-X0049301Y0284753D01*
-X0051616Y0284941D02*
-X0051984Y0284941D01*
-X0051984Y0286539D02*
-X0051616Y0286539D01*
-X0051616Y0288138D02*
-X0051984Y0288138D01*
-X0051984Y0289737D02*
-X0051616Y0289737D01*
-X0051616Y0291335D02*
-X0051984Y0291335D01*
-X0051984Y0292934D02*
-X0051616Y0292934D01*
-X0051616Y0294532D02*
-X0051984Y0294532D01*
-X0051984Y0296131D02*
-X0051616Y0296131D01*
-X0051616Y0297729D02*
-X0051984Y0297729D01*
-X0055543Y0297729D02*
-X0073017Y0297729D01*
-X0072203Y0296131D02*
-X0056371Y0296131D01*
-X0056568Y0294532D02*
-X0072031Y0294532D01*
-X0072031Y0292934D02*
-X0056568Y0292934D01*
-X0056568Y0291335D02*
-X0072031Y0291335D01*
-X0072031Y0289737D02*
-X0056568Y0289737D01*
-X0056518Y0288138D02*
-X0072031Y0288138D01*
-X0072588Y0286539D02*
-X0055984Y0286539D01*
-X0054558Y0284941D02*
-X0073947Y0284941D01*
-X0079653Y0284941D02*
-X0083947Y0284941D01*
-X0082588Y0286539D02*
-X0081012Y0286539D01*
-X0081568Y0288138D02*
-X0082031Y0288138D01*
-X0082031Y0289737D02*
-X0081568Y0289737D01*
-X0081568Y0291335D02*
-X0082031Y0291335D01*
-X0082031Y0292934D02*
-X0081568Y0292934D01*
-X0081568Y0294532D02*
-X0082031Y0294532D01*
-X0082203Y0296131D02*
-X0081397Y0296131D01*
-X0080583Y0297729D02*
-X0083017Y0297729D01*
-X0090583Y0297729D02*
-X0093057Y0297729D01*
-X0092229Y0296131D02*
-X0091397Y0296131D01*
-X0091568Y0294532D02*
-X0092031Y0294532D01*
-X0092031Y0292934D02*
-X0091568Y0292934D01*
-X0092031Y0291616D02*
-X0092031Y0288456D01*
-X0092149Y0287715D01*
-X0092381Y0287001D01*
-X0092722Y0286332D01*
-X0093163Y0285725D01*
-X0093694Y0285194D01*
-X0094301Y0284753D01*
-X0094970Y0284412D01*
-X0095683Y0284180D01*
-X0096425Y0284063D01*
-X0096616Y0284063D01*
-X0096616Y0291616D01*
-X0092031Y0291616D01*
-X0092031Y0291335D02*
-X0091568Y0291335D01*
-X0091568Y0289737D02*
-X0092031Y0289737D01*
-X0092082Y0288138D02*
-X0091568Y0288138D01*
-X0091012Y0286539D02*
-X0092616Y0286539D01*
-X0094042Y0284941D02*
-X0089653Y0284941D01*
-X0096616Y0284941D02*
-X0096984Y0284941D01*
-X0096984Y0286539D02*
-X0096616Y0286539D01*
-X0096616Y0288138D02*
-X0096984Y0288138D01*
-X0096984Y0289737D02*
-X0096616Y0289737D01*
-X0096616Y0291335D02*
-X0096984Y0291335D01*
-X0096984Y0292934D02*
-X0096616Y0292934D01*
-X0096616Y0294532D02*
-X0096984Y0294532D01*
-X0096984Y0296131D02*
-X0096616Y0296131D01*
-X0096616Y0297729D02*
-X0096984Y0297729D01*
-X0100543Y0297729D02*
-X0118017Y0297729D01*
-X0117203Y0296131D02*
-X0101371Y0296131D01*
-X0101568Y0294532D02*
-X0117031Y0294532D01*
-X0117031Y0292934D02*
-X0101568Y0292934D01*
-X0101568Y0291335D02*
-X0117031Y0291335D01*
-X0117031Y0289737D02*
-X0101568Y0289737D01*
-X0101518Y0288138D02*
-X0117031Y0288138D01*
-X0117588Y0286539D02*
-X0100984Y0286539D01*
-X0099558Y0284941D02*
-X0118947Y0284941D01*
-X0047616Y0286539D02*
-X0046012Y0286539D01*
-X0046568Y0288138D02*
-X0047082Y0288138D01*
-X0047031Y0289737D02*
-X0046568Y0289737D01*
-X0046568Y0291335D02*
-X0047031Y0291335D01*
-X0047031Y0292934D02*
-X0046568Y0292934D01*
-X0046568Y0294532D02*
-X0047031Y0294532D01*
-X0047229Y0296131D02*
-X0046397Y0296131D01*
-X0045583Y0297729D02*
-X0048057Y0297729D01*
-X0161521Y0193826D02*
-X0162079Y0193826D01*
-X0163595Y0192227D02*
-X0160005Y0192227D01*
-X0180005Y0192227D02*
-X0183595Y0192227D01*
-X0182079Y0193826D02*
-X0181521Y0193826D01*
-X0190005Y0192227D02*
-X0193595Y0192227D01*
-X0192079Y0193826D02*
-X0191521Y0193826D01*
-X0191158Y0200220D02*
-X0192442Y0200220D01*
-X0194543Y0201818D02*
-X0189200Y0201818D01*
-X0199057Y0201818D02*
-X0204543Y0201818D01*
-X0202442Y0200220D02*
-X0201158Y0200220D01*
-X0201521Y0193826D02*
-X0202079Y0193826D01*
-X0203595Y0192227D02*
-X0200005Y0192227D01*
-X0210005Y0192227D02*
-X0213737Y0192227D01*
-X0212162Y0193826D02*
-X0211521Y0193826D01*
-X0216600Y0193826D02*
-X0217000Y0193826D01*
-X0217000Y0195424D02*
-X0216600Y0195424D01*
-X0216600Y0197023D02*
-X0217000Y0197023D01*
-X0217000Y0198621D02*
-X0216600Y0198621D01*
-X0216600Y0200220D02*
-X0217000Y0200220D01*
-X0217000Y0201818D02*
-X0216600Y0201818D01*
-X0214534Y0201818D02*
-X0209057Y0201818D01*
-X0211158Y0200220D02*
-X0212486Y0200220D01*
-X0219066Y0201818D02*
-X0224543Y0201818D01*
-X0222442Y0200220D02*
-X0221114Y0200220D01*
-X0229057Y0201818D02*
-X0234543Y0201818D01*
-X0232442Y0200220D02*
-X0231158Y0200220D01*
-X0231521Y0193826D02*
-X0232079Y0193826D01*
-X0233595Y0192227D02*
-X0230005Y0192227D01*
-X0223595Y0192227D02*
-X0219863Y0192227D01*
-X0221437Y0193826D02*
-X0222079Y0193826D01*
-X0217000Y0192227D02*
-X0216600Y0192227D01*
-X0240005Y0192227D02*
-X0243595Y0192227D01*
-X0242079Y0193826D02*
-X0241521Y0193826D01*
-X0241158Y0200220D02*
-X0242442Y0200220D01*
-X0244543Y0201818D02*
-X0239057Y0201818D01*
-X0269057Y0201818D02*
-X0274543Y0201818D01*
-X0272442Y0200220D02*
-X0271158Y0200220D01*
-X0271521Y0193826D02*
-X0272079Y0193826D01*
-X0273595Y0192227D02*
-X0270005Y0192227D01*
-X0280005Y0192227D02*
-X0283595Y0192227D01*
-X0282079Y0193826D02*
-X0281521Y0193826D01*
-X0281158Y0200220D02*
-X0282442Y0200220D01*
-X0284543Y0201818D02*
-X0279057Y0201818D01*
-X0289057Y0201818D02*
-X0294543Y0201818D01*
-X0292442Y0200220D02*
-X0291158Y0200220D01*
-X0291521Y0193826D02*
-X0292079Y0193826D01*
-X0293595Y0192227D02*
-X0290005Y0192227D01*
-X0300005Y0192227D02*
-X0303595Y0192227D01*
-X0302079Y0193826D02*
-X0301521Y0193826D01*
-X0301158Y0200220D02*
-X0302442Y0200220D01*
-X0304543Y0201818D02*
-X0299057Y0201818D01*
-X0314400Y0189030D02*
-X0016600Y0189030D01*
-X0016600Y0187432D02*
-X0314400Y0187432D01*
-X0314400Y0185833D02*
-X0016600Y0185833D01*
-X0016600Y0184235D02*
-X0314400Y0184235D01*
-X0274365Y0161856D02*
-X0269235Y0161856D01*
-X0271232Y0163454D02*
-X0272368Y0163454D01*
-X0264365Y0161856D02*
-X0259235Y0161856D01*
-X0261232Y0163454D02*
-X0262368Y0163454D01*
-X0254365Y0161856D02*
-X0249235Y0161856D01*
-X0251232Y0163454D02*
-X0252368Y0163454D01*
-X0253297Y0141075D02*
-X0250303Y0141075D01*
-X0251645Y0139476D02*
-X0251955Y0139476D01*
-X0252739Y0133082D02*
-X0250861Y0133082D01*
-X0248338Y0131484D02*
-X0255262Y0131484D01*
-X0261367Y0133082D02*
-X0262739Y0133082D01*
-X0261700Y0131484D02*
-X0265262Y0131484D01*
-X0268338Y0131484D02*
-X0274400Y0131484D01*
-X0275321Y0129885D02*
-X0261700Y0129885D01*
-X0261700Y0128287D02*
-X0276919Y0128287D01*
-X0278518Y0126688D02*
-X0261700Y0126688D01*
-X0261700Y0125090D02*
-X0280116Y0125090D01*
-X0281715Y0123491D02*
-X0261700Y0123491D01*
-X0261700Y0121893D02*
-X0283313Y0121893D01*
-X0284912Y0120294D02*
-X0261700Y0120294D01*
-X0261700Y0118696D02*
-X0286510Y0118696D01*
-X0288109Y0117097D02*
-X0261700Y0117097D01*
-X0261700Y0115499D02*
-X0289707Y0115499D01*
-X0291306Y0113900D02*
-X0261700Y0113900D01*
-X0261700Y0112302D02*
-X0292904Y0112302D01*
-X0294503Y0110703D02*
-X0261700Y0110703D01*
-X0261700Y0109105D02*
-X0296101Y0109105D01*
-X0297700Y0107506D02*
-X0261700Y0107506D01*
-X0261700Y0105908D02*
-X0299298Y0105908D01*
-X0300897Y0104309D02*
-X0261700Y0104309D01*
-X0261700Y0102711D02*
-X0301900Y0102711D01*
-X0301900Y0101112D02*
-X0261700Y0101112D01*
-X0261700Y0099514D02*
-X0301900Y0099514D01*
-X0301900Y0097915D02*
-X0261700Y0097915D01*
-X0261700Y0096317D02*
-X0301900Y0096317D01*
-X0301900Y0094718D02*
-X0261700Y0094718D01*
-X0261700Y0093120D02*
-X0301900Y0093120D01*
-X0301900Y0091521D02*
-X0261700Y0091521D01*
-X0261700Y0089923D02*
-X0301900Y0089923D01*
-X0301900Y0088324D02*
-X0299988Y0088324D01*
-X0299906Y0088406D02*
-X0299299Y0088847D01*
-X0298630Y0089188D01*
-X0297917Y0089420D01*
-X0297175Y0089537D01*
-X0296984Y0089537D01*
-X0296984Y0081984D01*
-X0301568Y0081984D01*
-X0301568Y0085144D01*
-X0301451Y0085885D01*
-X0301219Y0086599D01*
-X0300878Y0087268D01*
-X0300437Y0087875D01*
-X0299906Y0088406D01*
-X0301155Y0086726D02*
-X0301900Y0086726D01*
-X0301900Y0085127D02*
-X0301568Y0085127D01*
-X0301568Y0083529D02*
-X0301900Y0083529D01*
-X0301900Y0081930D02*
-X0296984Y0081930D01*
-X0296984Y0081984D02*
-X0296984Y0081616D01*
-X0296984Y0074063D01*
-X0297175Y0074063D01*
-X0297917Y0074180D01*
-X0298630Y0074412D01*
-X0299299Y0074753D01*
-X0299906Y0075194D01*
-X0300437Y0075725D01*
-X0300878Y0076332D01*
-X0301219Y0077001D01*
-X0301451Y0077715D01*
-X0301568Y0078456D01*
-X0301568Y0081616D01*
-X0296984Y0081616D01*
-X0296616Y0081616D01*
-X0296616Y0074063D01*
-X0296425Y0074063D01*
-X0295683Y0074180D01*
-X0294970Y0074412D01*
-X0294301Y0074753D01*
-X0293694Y0075194D01*
-X0293163Y0075725D01*
-X0292722Y0076332D01*
-X0292381Y0077001D01*
-X0292149Y0077715D01*
-X0292031Y0078456D01*
-X0292031Y0081616D01*
-X0296616Y0081616D01*
-X0296616Y0081984D01*
-X0292031Y0081984D01*
-X0292031Y0085144D01*
-X0292149Y0085885D01*
-X0292381Y0086599D01*
-X0292722Y0087268D01*
-X0293163Y0087875D01*
-X0293694Y0088406D01*
-X0294301Y0088847D01*
-X0294970Y0089188D01*
-X0295683Y0089420D01*
-X0296425Y0089537D01*
-X0296616Y0089537D01*
-X0296616Y0081984D01*
-X0296984Y0081984D01*
-X0296616Y0081930D02*
-X0291568Y0081930D01*
-X0291568Y0080332D02*
-X0292031Y0080332D01*
-X0292031Y0078733D02*
-X0291568Y0078733D01*
-X0291568Y0077883D02*
-X0291568Y0085717D01*
-X0290843Y0087470D01*
-X0289501Y0088811D01*
-X0287749Y0089537D01*
-X0285851Y0089537D01*
-X0284099Y0088811D01*
-X0282757Y0087470D01*
-X0282031Y0085717D01*
-X0282031Y0077883D01*
-X0282757Y0076130D01*
-X0284099Y0074789D01*
-X0285851Y0074063D01*
-X0287749Y0074063D01*
-X0289501Y0074789D01*
-X0290843Y0076130D01*
-X0291568Y0077883D01*
-X0291258Y0077134D02*
-X0292337Y0077134D01*
-X0293352Y0075536D02*
-X0290248Y0075536D01*
-X0296616Y0075536D02*
-X0296984Y0075536D01*
-X0296984Y0077134D02*
-X0296616Y0077134D01*
-X0296616Y0078733D02*
-X0296984Y0078733D01*
-X0296984Y0080332D02*
-X0296616Y0080332D01*
-X0296616Y0083529D02*
-X0296984Y0083529D01*
-X0296984Y0085127D02*
-X0296616Y0085127D01*
-X0296616Y0086726D02*
-X0296984Y0086726D01*
-X0296984Y0088324D02*
-X0296616Y0088324D01*
-X0293612Y0088324D02*
-X0289988Y0088324D01*
-X0291151Y0086726D02*
-X0292445Y0086726D01*
-X0292031Y0085127D02*
-X0291568Y0085127D01*
-X0291568Y0083529D02*
-X0292031Y0083529D01*
-X0283612Y0088324D02*
-X0279988Y0088324D01*
-X0279501Y0088811D02*
-X0277749Y0089537D01*
-X0275851Y0089537D01*
-X0274099Y0088811D01*
-X0272757Y0087470D01*
-X0272031Y0085717D01*
-X0272031Y0077883D01*
-X0272757Y0076130D01*
-X0274099Y0074789D01*
-X0275851Y0074063D01*
-X0277749Y0074063D01*
-X0279501Y0074789D01*
-X0280843Y0076130D01*
-X0281568Y0077883D01*
-X0281568Y0085717D01*
-X0280843Y0087470D01*
-X0279501Y0088811D01*
-X0281151Y0086726D02*
-X0282449Y0086726D01*
-X0282031Y0085127D02*
-X0281568Y0085127D01*
-X0281568Y0083529D02*
-X0282031Y0083529D01*
-X0282031Y0081930D02*
-X0281568Y0081930D01*
-X0281568Y0080332D02*
-X0282031Y0080332D01*
-X0282031Y0078733D02*
-X0281568Y0078733D01*
-X0281258Y0077134D02*
-X0282342Y0077134D01*
-X0283352Y0075536D02*
-X0280248Y0075536D01*
-X0273352Y0075536D02*
-X0261700Y0075536D01*
-X0261700Y0077134D02*
-X0272342Y0077134D01*
-X0272031Y0078733D02*
-X0261700Y0078733D01*
-X0261700Y0080332D02*
-X0272031Y0080332D01*
-X0272031Y0081930D02*
-X0261700Y0081930D01*
-X0261700Y0083529D02*
-X0272031Y0083529D01*
-X0272031Y0085127D02*
-X0261700Y0085127D01*
-X0261700Y0086726D02*
-X0272449Y0086726D01*
-X0273612Y0088324D02*
-X0261700Y0088324D01*
-X0256900Y0088324D02*
-X0254988Y0088324D01*
-X0254906Y0088406D02*
-X0254299Y0088847D01*
-X0253630Y0089188D01*
-X0252917Y0089420D01*
-X0252175Y0089537D01*
-X0251984Y0089537D01*
-X0251984Y0081984D01*
-X0256568Y0081984D01*
-X0256568Y0085144D01*
-X0256451Y0085885D01*
-X0256219Y0086599D01*
-X0255878Y0087268D01*
-X0255437Y0087875D01*
-X0254906Y0088406D01*
-X0256155Y0086726D02*
-X0256900Y0086726D01*
-X0256900Y0085127D02*
-X0256568Y0085127D01*
-X0256568Y0083529D02*
-X0256900Y0083529D01*
-X0256900Y0081930D02*
-X0251984Y0081930D01*
-X0251984Y0081984D02*
-X0251984Y0081616D01*
-X0251984Y0074063D01*
-X0252175Y0074063D01*
-X0252917Y0074180D01*
-X0253630Y0074412D01*
-X0254299Y0074753D01*
-X0254906Y0075194D01*
-X0255437Y0075725D01*
-X0255878Y0076332D01*
-X0256219Y0077001D01*
-X0256451Y0077715D01*
-X0256568Y0078456D01*
-X0256568Y0081616D01*
-X0251984Y0081616D01*
-X0251616Y0081616D01*
-X0251616Y0074063D01*
-X0251425Y0074063D01*
-X0250683Y0074180D01*
-X0249970Y0074412D01*
-X0249301Y0074753D01*
-X0248694Y0075194D01*
-X0248163Y0075725D01*
-X0247722Y0076332D01*
-X0247381Y0077001D01*
-X0247149Y0077715D01*
-X0247031Y0078456D01*
-X0247031Y0081616D01*
-X0251616Y0081616D01*
-X0251616Y0081984D01*
-X0247031Y0081984D01*
-X0247031Y0085144D01*
-X0247149Y0085885D01*
-X0247381Y0086599D01*
-X0247722Y0087268D01*
-X0248163Y0087875D01*
-X0248694Y0088406D01*
-X0249301Y0088847D01*
-X0249970Y0089188D01*
-X0250683Y0089420D01*
-X0251425Y0089537D01*
-X0251616Y0089537D01*
-X0251616Y0081984D01*
-X0251984Y0081984D01*
-X0251616Y0081930D02*
-X0246568Y0081930D01*
-X0246568Y0080332D02*
-X0247031Y0080332D01*
-X0247031Y0078733D02*
-X0246568Y0078733D01*
-X0246568Y0077883D02*
-X0246568Y0085717D01*
-X0245843Y0087470D01*
-X0244501Y0088811D01*
-X0242749Y0089537D01*
-X0240851Y0089537D01*
-X0239099Y0088811D01*
-X0237757Y0087470D01*
-X0237031Y0085717D01*
-X0237031Y0077883D01*
-X0237757Y0076130D01*
-X0239099Y0074789D01*
-X0240851Y0074063D01*
-X0242749Y0074063D01*
-X0244501Y0074789D01*
-X0245843Y0076130D01*
-X0246568Y0077883D01*
-X0246258Y0077134D02*
-X0247337Y0077134D01*
-X0248352Y0075536D02*
-X0245248Y0075536D01*
-X0238352Y0075536D02*
-X0235248Y0075536D01*
-X0236258Y0077134D02*
-X0237342Y0077134D01*
-X0237031Y0078733D02*
-X0236568Y0078733D01*
-X0236568Y0080332D02*
-X0237031Y0080332D01*
-X0237031Y0081930D02*
-X0236568Y0081930D01*
-X0236568Y0083529D02*
-X0237031Y0083529D01*
-X0237031Y0085127D02*
-X0236568Y0085127D01*
-X0236151Y0086726D02*
-X0237449Y0086726D01*
-X0238612Y0088324D02*
-X0234988Y0088324D01*
-X0244988Y0088324D02*
-X0248612Y0088324D01*
-X0247445Y0086726D02*
-X0246151Y0086726D01*
-X0246568Y0085127D02*
-X0247031Y0085127D01*
-X0247031Y0083529D02*
-X0246568Y0083529D01*
-X0251616Y0083529D02*
-X0251984Y0083529D01*
-X0251984Y0085127D02*
-X0251616Y0085127D01*
-X0251616Y0086726D02*
-X0251984Y0086726D01*
-X0251984Y0088324D02*
-X0251616Y0088324D01*
-X0251616Y0080332D02*
-X0251984Y0080332D01*
-X0251984Y0078733D02*
-X0251616Y0078733D01*
-X0251616Y0077134D02*
-X0251984Y0077134D01*
-X0251984Y0075536D02*
-X0251616Y0075536D01*
-X0255248Y0075536D02*
-X0256900Y0075536D01*
-X0256900Y0077134D02*
-X0256262Y0077134D01*
-X0256568Y0078733D02*
-X0256900Y0078733D01*
-X0256900Y0080332D02*
-X0256568Y0080332D01*
-X0256900Y0073937D02*
-X0226700Y0073937D01*
-X0226700Y0072339D02*
-X0256900Y0072339D01*
-X0256900Y0070740D02*
-X0226700Y0070740D01*
-X0226700Y0069142D02*
-X0256900Y0069142D01*
-X0256900Y0067543D02*
-X0226700Y0067543D01*
-X0226700Y0065945D02*
-X0256900Y0065945D01*
-X0256900Y0064346D02*
-X0226700Y0064346D01*
-X0226700Y0062748D02*
-X0256900Y0062748D01*
-X0256900Y0061149D02*
-X0226700Y0061149D01*
-X0226700Y0059551D02*
-X0256900Y0059551D01*
-X0256900Y0057952D02*
-X0226700Y0057952D01*
-X0226700Y0056354D02*
-X0256900Y0056354D01*
-X0256900Y0054755D02*
-X0226700Y0054755D01*
-X0226700Y0053157D02*
-X0256900Y0053157D01*
-X0256900Y0051558D02*
-X0226700Y0051558D01*
-X0226700Y0049960D02*
-X0257746Y0049960D01*
-X0259345Y0048361D02*
-X0226700Y0048361D01*
-X0226700Y0046763D02*
-X0260943Y0046763D01*
-X0262542Y0045164D02*
-X0226058Y0045164D01*
-X0224746Y0043566D02*
-X0228914Y0043566D01*
-X0228694Y0043406D02*
-X0228163Y0042875D01*
-X0227722Y0042268D01*
-X0227381Y0041599D01*
-X0227149Y0040885D01*
-X0227031Y0040144D01*
-X0227031Y0036984D01*
-X0231616Y0036984D01*
-X0231616Y0044537D01*
-X0231425Y0044537D01*
-X0230683Y0044420D01*
-X0229970Y0044188D01*
-X0229301Y0043847D01*
-X0228694Y0043406D01*
-X0227569Y0041967D02*
-X0226051Y0041967D01*
-X0226568Y0040369D02*
-X0227067Y0040369D01*
-X0227031Y0038770D02*
-X0226568Y0038770D01*
-X0226568Y0037172D02*
-X0227031Y0037172D01*
-X0227031Y0035573D02*
-X0226568Y0035573D01*
-X0226568Y0033975D02*
-X0227031Y0033975D01*
-X0227259Y0032376D02*
-X0226359Y0032376D01*
-X0225490Y0030778D02*
-X0228125Y0030778D01*
-X0231616Y0030778D02*
-X0231984Y0030778D01*
-X0231984Y0032376D02*
-X0231616Y0032376D01*
-X0231616Y0033975D02*
-X0231984Y0033975D01*
-X0231984Y0035573D02*
-X0231616Y0035573D01*
-X0231616Y0037172D02*
-X0231984Y0037172D01*
-X0231984Y0038770D02*
-X0231616Y0038770D01*
-X0231616Y0040369D02*
-X0231984Y0040369D01*
-X0231984Y0041967D02*
-X0231616Y0041967D01*
-X0231616Y0043566D02*
-X0231984Y0043566D01*
-X0234686Y0043566D02*
-X0253854Y0043566D01*
-X0252549Y0041967D02*
-X0236031Y0041967D01*
-X0236533Y0040369D02*
-X0252031Y0040369D01*
-X0252031Y0038770D02*
-X0236568Y0038770D01*
-X0236568Y0037172D02*
-X0252031Y0037172D01*
-X0252031Y0035573D02*
-X0236568Y0035573D01*
-X0236568Y0033975D02*
-X0252031Y0033975D01*
-X0252241Y0032376D02*
-X0236341Y0032376D01*
-X0235475Y0030778D02*
-X0253110Y0030778D01*
-X0260490Y0030778D02*
-X0263110Y0030778D01*
-X0262241Y0032376D02*
-X0261359Y0032376D01*
-X0261568Y0033975D02*
-X0262031Y0033975D01*
-X0262031Y0035573D02*
-X0261568Y0035573D01*
-X0261568Y0037172D02*
-X0262031Y0037172D01*
-X0262031Y0038770D02*
-X0261568Y0038770D01*
-X0261568Y0040369D02*
-X0262031Y0040369D01*
-X0262549Y0041967D02*
-X0261051Y0041967D01*
-X0259746Y0043566D02*
-X0263854Y0043566D01*
-X0267731Y0046763D02*
-X0305943Y0046763D01*
-X0304345Y0048361D02*
-X0266133Y0048361D01*
-X0264534Y0049960D02*
-X0302746Y0049960D01*
-X0301900Y0051558D02*
-X0262936Y0051558D01*
-X0261700Y0053157D02*
-X0301900Y0053157D01*
-X0301900Y0054755D02*
-X0261700Y0054755D01*
-X0261700Y0056354D02*
-X0301900Y0056354D01*
-X0301900Y0057952D02*
-X0261700Y0057952D01*
-X0261700Y0059551D02*
-X0301900Y0059551D01*
-X0301900Y0061149D02*
-X0261700Y0061149D01*
-X0261700Y0062748D02*
-X0301900Y0062748D01*
-X0301900Y0064346D02*
-X0261700Y0064346D01*
-X0261700Y0065945D02*
-X0301900Y0065945D01*
-X0301900Y0067543D02*
-X0261700Y0067543D01*
-X0261700Y0069142D02*
-X0301900Y0069142D01*
-X0301900Y0070740D02*
-X0261700Y0070740D01*
-X0261700Y0072339D02*
-X0301900Y0072339D01*
-X0301900Y0073937D02*
-X0261700Y0073937D01*
-X0269040Y0045164D02*
-X0307542Y0045164D01*
-X0308854Y0043566D02*
-X0304746Y0043566D01*
-X0306051Y0041967D02*
-X0307549Y0041967D01*
-X0307031Y0040369D02*
-X0306568Y0040369D01*
-X0306568Y0038770D02*
-X0307031Y0038770D01*
-X0307031Y0037172D02*
-X0306568Y0037172D01*
-X0306568Y0035573D02*
-X0307031Y0035573D01*
-X0307031Y0033975D02*
-X0306568Y0033975D01*
-X0306359Y0032376D02*
-X0307241Y0032376D01*
-X0308110Y0030778D02*
-X0305490Y0030778D01*
-X0298110Y0030778D02*
-X0280475Y0030778D01*
-X0281341Y0032376D02*
-X0297241Y0032376D01*
-X0297031Y0033975D02*
-X0281568Y0033975D01*
-X0281568Y0035573D02*
-X0297031Y0035573D01*
-X0297031Y0037172D02*
-X0281568Y0037172D01*
-X0281568Y0038770D02*
-X0297031Y0038770D01*
-X0297031Y0040369D02*
-X0281533Y0040369D01*
-X0281031Y0041967D02*
-X0297549Y0041967D01*
-X0298854Y0043566D02*
-X0279686Y0043566D01*
-X0276984Y0043566D02*
-X0276616Y0043566D01*
-X0276616Y0044537D02*
-X0276425Y0044537D01*
-X0275683Y0044420D01*
-X0274970Y0044188D01*
-X0274301Y0043847D01*
-X0273694Y0043406D01*
-X0273163Y0042875D01*
-X0272722Y0042268D01*
-X0272381Y0041599D01*
-X0272149Y0040885D01*
-X0272031Y0040144D01*
-X0272031Y0036984D01*
-X0276616Y0036984D01*
-X0276616Y0044537D01*
-X0276616Y0041967D02*
-X0276984Y0041967D01*
-X0276984Y0040369D02*
-X0276616Y0040369D01*
-X0276616Y0038770D02*
-X0276984Y0038770D01*
-X0276984Y0037172D02*
-X0276616Y0037172D01*
-X0276616Y0035573D02*
-X0276984Y0035573D01*
-X0276984Y0033975D02*
-X0276616Y0033975D01*
-X0276616Y0032376D02*
-X0276984Y0032376D01*
-X0276984Y0030778D02*
-X0276616Y0030778D01*
-X0273125Y0030778D02*
-X0270490Y0030778D01*
-X0271359Y0032376D02*
-X0272259Y0032376D01*
-X0272031Y0033975D02*
-X0271568Y0033975D01*
-X0271568Y0035573D02*
-X0272031Y0035573D01*
-X0272031Y0037172D02*
-X0271568Y0037172D01*
-X0271568Y0038770D02*
-X0272031Y0038770D01*
-X0272067Y0040369D02*
-X0271568Y0040369D01*
-X0271051Y0041967D02*
-X0272569Y0041967D01*
-X0273914Y0043566D02*
-X0269746Y0043566D01*
-X0300248Y0075536D02*
-X0301900Y0075536D01*
-X0301900Y0077134D02*
-X0301263Y0077134D01*
-X0301568Y0078733D02*
-X0301900Y0078733D01*
-X0301900Y0080332D02*
-X0301568Y0080332D01*
-X0306700Y0080332D02*
-X0317031Y0080332D01*
-X0317031Y0081930D02*
-X0306700Y0081930D01*
-X0306700Y0083529D02*
-X0317031Y0083529D01*
-X0317031Y0085127D02*
-X0306700Y0085127D01*
-X0306700Y0086726D02*
-X0317449Y0086726D01*
-X0317757Y0087470D02*
-X0317031Y0085717D01*
-X0317031Y0077883D01*
-X0317757Y0076130D01*
-X0319099Y0074789D01*
-X0320851Y0074063D01*
-X0322749Y0074063D01*
-X0324501Y0074789D01*
-X0325843Y0076130D01*
-X0326568Y0077883D01*
-X0326568Y0085717D01*
-X0325843Y0087470D01*
-X0324501Y0088811D01*
-X0322749Y0089537D01*
-X0320851Y0089537D01*
-X0319099Y0088811D01*
-X0317757Y0087470D01*
-X0318612Y0088324D02*
-X0306700Y0088324D01*
-X0306700Y0089923D02*
-X0327783Y0089923D01*
-X0328612Y0088324D02*
-X0324988Y0088324D01*
-X0326151Y0086726D02*
-X0327449Y0086726D01*
-X0327031Y0085127D02*
-X0326568Y0085127D01*
-X0326568Y0083529D02*
-X0327031Y0083529D01*
-X0327031Y0081930D02*
-X0326568Y0081930D01*
-X0326568Y0080332D02*
-X0327031Y0080332D01*
-X0327031Y0078733D02*
-X0326568Y0078733D01*
-X0326258Y0077134D02*
-X0327342Y0077134D01*
-X0328352Y0075536D02*
-X0325248Y0075536D01*
-X0318352Y0075536D02*
-X0306700Y0075536D01*
-X0306700Y0077134D02*
-X0317342Y0077134D01*
-X0317031Y0078733D02*
-X0306700Y0078733D01*
-X0306700Y0091521D02*
-X0326185Y0091521D01*
-X0324586Y0093120D02*
-X0306700Y0093120D01*
-X0306700Y0094718D02*
-X0322988Y0094718D01*
-X0321389Y0096317D02*
-X0306700Y0096317D01*
-X0306700Y0097915D02*
-X0319791Y0097915D01*
-X0318192Y0099514D02*
-X0306700Y0099514D01*
-X0306700Y0101112D02*
-X0316594Y0101112D01*
-X0314995Y0102711D02*
-X0306700Y0102711D01*
-X0306700Y0104309D02*
-X0313397Y0104309D01*
-X0311798Y0105908D02*
-X0306086Y0105908D01*
-X0304488Y0107506D02*
-X0310200Y0107506D01*
-X0308601Y0109105D02*
-X0302889Y0109105D01*
-X0301291Y0110703D02*
-X0307003Y0110703D01*
-X0305404Y0112302D02*
-X0299692Y0112302D01*
-X0298094Y0113900D02*
-X0303806Y0113900D01*
-X0302207Y0115499D02*
-X0296495Y0115499D01*
-X0294897Y0117097D02*
-X0300609Y0117097D01*
-X0299010Y0118696D02*
-X0293298Y0118696D01*
-X0291700Y0120294D02*
-X0297412Y0120294D01*
-X0295813Y0121893D02*
-X0290101Y0121893D01*
-X0288503Y0123491D02*
-X0294215Y0123491D01*
-X0292616Y0125090D02*
-X0286904Y0125090D01*
-X0285306Y0126688D02*
-X0291018Y0126688D01*
-X0289419Y0128287D02*
-X0283707Y0128287D01*
-X0282109Y0129885D02*
-X0287821Y0129885D01*
-X0285262Y0131484D02*
-X0280510Y0131484D01*
-X0280861Y0133082D02*
-X0282739Y0133082D01*
-X0281955Y0139476D02*
-X0281645Y0139476D01*
-X0280303Y0141075D02*
-X0283297Y0141075D01*
-X0273297Y0141075D02*
-X0270303Y0141075D01*
-X0271645Y0139476D02*
-X0271955Y0139476D01*
-X0272739Y0133082D02*
-X0270861Y0133082D01*
-X0261955Y0139476D02*
-X0261645Y0139476D01*
-X0260303Y0141075D02*
-X0263297Y0141075D01*
-X0221900Y0088324D02*
-X0209988Y0088324D01*
-X0211155Y0086726D02*
-X0221900Y0086726D01*
-X0221900Y0085127D02*
-X0211568Y0085127D01*
-X0211568Y0083529D02*
-X0221900Y0083529D01*
-X0206984Y0083529D02*
-X0206616Y0083529D01*
-X0206616Y0085127D02*
-X0206984Y0085127D01*
-X0206984Y0086726D02*
-X0206616Y0086726D01*
-X0206616Y0088324D02*
-X0206984Y0088324D01*
-X0206984Y0080332D02*
-X0206616Y0080332D01*
-X0206616Y0078733D02*
-X0206984Y0078733D01*
-X0206984Y0077134D02*
-X0206616Y0077134D01*
-X0206616Y0075536D02*
-X0206984Y0075536D01*
-X0203352Y0075536D02*
-X0200248Y0075536D01*
-X0201258Y0077134D02*
-X0202337Y0077134D01*
-X0202031Y0078733D02*
-X0201568Y0078733D01*
-X0201568Y0080332D02*
-X0202031Y0080332D01*
-X0183612Y0088324D02*
-X0164988Y0088324D01*
-X0166155Y0086726D02*
-X0182449Y0086726D01*
-X0182031Y0085127D02*
-X0166568Y0085127D01*
-X0166568Y0083529D02*
-X0182031Y0083529D01*
-X0161984Y0083529D02*
-X0161616Y0083529D01*
-X0161616Y0085127D02*
-X0161984Y0085127D01*
-X0161984Y0086726D02*
-X0161616Y0086726D01*
-X0161616Y0088324D02*
-X0161984Y0088324D01*
-X0161984Y0080332D02*
-X0161616Y0080332D01*
-X0161616Y0078733D02*
-X0161984Y0078733D01*
-X0161984Y0077134D02*
-X0161616Y0077134D01*
-X0161616Y0075536D02*
-X0161984Y0075536D01*
-X0158352Y0075536D02*
-X0155248Y0075536D01*
-X0156258Y0077134D02*
-X0157337Y0077134D01*
-X0157031Y0078733D02*
-X0156568Y0078733D01*
-X0156568Y0080332D02*
-X0157031Y0080332D01*
-X0131900Y0083529D02*
-X0121568Y0083529D01*
-X0121568Y0085127D02*
-X0131900Y0085127D01*
-X0131900Y0086726D02*
-X0121155Y0086726D01*
-X0119988Y0088324D02*
-X0131900Y0088324D01*
-X0116984Y0088324D02*
-X0116616Y0088324D01*
-X0116616Y0086726D02*
-X0116984Y0086726D01*
-X0116984Y0085127D02*
-X0116616Y0085127D01*
-X0116616Y0083529D02*
-X0116984Y0083529D01*
-X0116984Y0080332D02*
-X0116616Y0080332D01*
-X0116616Y0078733D02*
-X0116984Y0078733D01*
-X0116984Y0077134D02*
-X0116616Y0077134D01*
-X0116616Y0075536D02*
-X0116984Y0075536D01*
-X0112031Y0083529D02*
-X0111568Y0083529D01*
-X0111568Y0085127D02*
-X0112031Y0085127D01*
-X0112445Y0086726D02*
-X0111151Y0086726D01*
-X0109988Y0088324D02*
-X0113612Y0088324D01*
-X0122209Y0141075D02*
-X0123297Y0141075D01*
-X0189895Y0240183D02*
-X0193710Y0240183D01*
-X0254890Y0240183D02*
-X0256900Y0240183D01*
-X0256900Y0241781D02*
-X0256107Y0241781D01*
-X0256556Y0243380D02*
-X0256900Y0243380D01*
-X0256900Y0244978D02*
-X0256568Y0244978D01*
-X0256568Y0246577D02*
-X0256900Y0246577D01*
-X0256900Y0248175D02*
-X0256568Y0248175D01*
-X0256568Y0249774D02*
-X0256900Y0249774D01*
-X0256900Y0251372D02*
-X0256293Y0251372D01*
-X0341616Y0088324D02*
-X0341984Y0088324D01*
-X0341984Y0086726D02*
-X0341616Y0086726D01*
-X0341616Y0085127D02*
-X0341984Y0085127D01*
-X0341984Y0083529D02*
-X0341616Y0083529D01*
-X0341616Y0080332D02*
-X0341984Y0080332D01*
-X0341984Y0078733D02*
-X0341616Y0078733D01*
-X0341616Y0077134D02*
-X0341984Y0077134D01*
-X0341984Y0075536D02*
-X0341616Y0075536D01*
-X0338352Y0075536D02*
-X0335248Y0075536D01*
-X0336258Y0077134D02*
-X0337337Y0077134D01*
-X0337031Y0078733D02*
-X0336568Y0078733D01*
-X0336568Y0080332D02*
-X0337031Y0080332D01*
-X0346568Y0083529D02*
-X0362031Y0083529D01*
-X0362031Y0085127D02*
-X0346568Y0085127D01*
-X0346155Y0086726D02*
-X0362449Y0086726D01*
-X0363612Y0088324D02*
-X0344988Y0088324D01*
-X0381568Y0080332D02*
-X0382031Y0080332D01*
-X0382031Y0078733D02*
-X0381568Y0078733D01*
-X0381258Y0077134D02*
-X0382337Y0077134D01*
-X0383352Y0075536D02*
-X0380248Y0075536D01*
-X0386616Y0075536D02*
-X0386984Y0075536D01*
-X0386984Y0077134D02*
-X0386616Y0077134D01*
-X0386616Y0078733D02*
-X0386984Y0078733D01*
-X0386984Y0080332D02*
-X0386616Y0080332D01*
-X0386616Y0083529D02*
-X0386984Y0083529D01*
-X0386984Y0085127D02*
-X0386616Y0085127D01*
-X0386616Y0086726D02*
-X0386984Y0086726D01*
-X0386984Y0088324D02*
-X0386616Y0088324D01*
-X0389988Y0088324D02*
-X0400701Y0088324D01*
-X0400701Y0086726D02*
-X0391155Y0086726D01*
-X0391568Y0085127D02*
-X0400701Y0085127D01*
-X0400701Y0083529D02*
-X0391568Y0083529D01*
-D16*
-X0331800Y0081800D02*
-X0331800Y0089300D01*
-X0286800Y0134300D01*
-X0286800Y0136800D01*
-X0276800Y0136800D02*
-X0276800Y0131800D01*
-X0304300Y0104300D01*
-X0304300Y0051800D01*
-X0311800Y0044300D01*
-X0311800Y0036800D01*
-X0266800Y0036800D02*
-X0266800Y0044300D01*
-X0259300Y0051800D01*
-X0259300Y0131800D01*
-X0256800Y0134300D01*
-X0256800Y0136800D01*
-X0236800Y0136800D02*
-X0236800Y0131800D01*
-X0224300Y0119300D01*
-X0224300Y0046800D01*
-X0221800Y0044300D01*
-X0221800Y0036800D01*
-X0176800Y0036800D02*
-X0176800Y0051800D01*
-X0134300Y0069300D02*
-X0134300Y0089300D01*
-X0176800Y0131800D01*
-X0176800Y0136800D01*
-X0166800Y0196800D02*
-X0166800Y0201800D01*
-X0134300Y0234300D01*
-X0134300Y0281800D01*
-X0131800Y0284300D01*
-X0131800Y0291800D01*
-X0176800Y0291800D02*
-X0176800Y0284300D01*
-X0179300Y0281800D01*
-X0179300Y0209300D01*
-X0186800Y0201800D01*
-X0186800Y0196800D01*
-X0256800Y0196800D02*
-X0256800Y0199300D01*
-X0259300Y0201800D01*
-X0259300Y0276800D01*
-X0266800Y0284300D01*
-X0266800Y0291800D01*
-X0321800Y0246800D02*
-X0321800Y0239300D01*
-X0316800Y0234300D01*
-X0316800Y0161800D01*
-X0311800Y0156800D01*
-X0306800Y0156800D01*
-X0134300Y0069300D02*
-X0114300Y0069300D01*
-X0089300Y0044300D01*
-X0089300Y0039300D01*
-X0086800Y0036800D01*
-D17*
-X0176800Y0051800D03*
-M02*
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.GTO
--- a/pcb/Gerbers/collidoscope_pcb.GTO
+++ /dev/null
@@ -1,1372 +0,0 @@
-G75*
-%MOIN*%
-%OFA0B0*%
-%FSLAX25Y25*%
-%IPPOS*%
-%LPD*%
-%AMOC8*
-5,1,8,0,0,1.08239X$1,22.5*
-%
-%ADD10C,0.00600*%
-%ADD11C,0.00500*%
-%ADD12C,0.01000*%
-%ADD13C,0.00400*%
-D10*
-X0111800Y0131800D02*
-X0111800Y0141800D01*
-X0111800Y0162800D01*
-X0111926Y0162802D01*
-X0112051Y0162808D01*
-X0112176Y0162818D01*
-X0112301Y0162832D01*
-X0112426Y0162849D01*
-X0112550Y0162871D01*
-X0112673Y0162896D01*
-X0112795Y0162926D01*
-X0112916Y0162959D01*
-X0113036Y0162996D01*
-X0113155Y0163036D01*
-X0113272Y0163081D01*
-X0113389Y0163129D01*
-X0113503Y0163181D01*
-X0113616Y0163236D01*
-X0113727Y0163295D01*
-X0113836Y0163357D01*
-X0113943Y0163423D01*
-X0114048Y0163492D01*
-X0114151Y0163564D01*
-X0114252Y0163639D01*
-X0114350Y0163718D01*
-X0114445Y0163800D01*
-X0114538Y0163884D01*
-X0114628Y0163972D01*
-X0114716Y0164062D01*
-X0114800Y0164155D01*
-X0114882Y0164250D01*
-X0114961Y0164348D01*
-X0115036Y0164449D01*
-X0115108Y0164552D01*
-X0115177Y0164657D01*
-X0115243Y0164764D01*
-X0115305Y0164873D01*
-X0115364Y0164984D01*
-X0115419Y0165097D01*
-X0115471Y0165211D01*
-X0115519Y0165328D01*
-X0115564Y0165445D01*
-X0115604Y0165564D01*
-X0115641Y0165684D01*
-X0115674Y0165805D01*
-X0115704Y0165927D01*
-X0115729Y0166050D01*
-X0115751Y0166174D01*
-X0115768Y0166299D01*
-X0115782Y0166424D01*
-X0115792Y0166549D01*
-X0115798Y0166674D01*
-X0115800Y0166800D01*
-X0115798Y0166926D01*
-X0115792Y0167051D01*
-X0115782Y0167176D01*
-X0115768Y0167301D01*
-X0115751Y0167426D01*
-X0115729Y0167550D01*
-X0115704Y0167673D01*
-X0115674Y0167795D01*
-X0115641Y0167916D01*
-X0115604Y0168036D01*
-X0115564Y0168155D01*
-X0115519Y0168272D01*
-X0115471Y0168389D01*
-X0115419Y0168503D01*
-X0115364Y0168616D01*
-X0115305Y0168727D01*
-X0115243Y0168836D01*
-X0115177Y0168943D01*
-X0115108Y0169048D01*
-X0115036Y0169151D01*
-X0114961Y0169252D01*
-X0114882Y0169350D01*
-X0114800Y0169445D01*
-X0114716Y0169538D01*
-X0114628Y0169628D01*
-X0114538Y0169716D01*
-X0114445Y0169800D01*
-X0114350Y0169882D01*
-X0114252Y0169961D01*
-X0114151Y0170036D01*
-X0114048Y0170108D01*
-X0113943Y0170177D01*
-X0113836Y0170243D01*
-X0113727Y0170305D01*
-X0113616Y0170364D01*
-X0113503Y0170419D01*
-X0113389Y0170471D01*
-X0113272Y0170519D01*
-X0113155Y0170564D01*
-X0113036Y0170604D01*
-X0112916Y0170641D01*
-X0112795Y0170674D01*
-X0112673Y0170704D01*
-X0112550Y0170729D01*
-X0112426Y0170751D01*
-X0112301Y0170768D01*
-X0112176Y0170782D01*
-X0112051Y0170792D01*
-X0111926Y0170798D01*
-X0111800Y0170800D01*
-X0111800Y0191800D01*
-X0311800Y0191800D01*
-X0311800Y0141800D01*
-X0311800Y0131800D01*
-X0111800Y0131800D01*
-X0111800Y0141800D02*
-X0311800Y0141800D01*
-X0322100Y0147100D02*
-X0325303Y0147100D01*
-X0326370Y0148168D01*
-X0326370Y0149235D01*
-X0325303Y0150303D01*
-X0322100Y0150303D01*
-X0322100Y0153505D02*
-X0322100Y0147100D01*
-X0325303Y0150303D02*
-X0326370Y0151370D01*
-X0326370Y0152438D01*
-X0325303Y0153505D01*
-X0322100Y0153505D01*
-X0328545Y0150303D02*
-X0328545Y0148168D01*
-X0329613Y0147100D01*
-X0331748Y0147100D01*
-X0332816Y0149235D02*
-X0328545Y0149235D01*
-X0328545Y0150303D02*
-X0329613Y0151370D01*
-X0331748Y0151370D01*
-X0332816Y0150303D01*
-X0332816Y0149235D01*
-X0334991Y0147100D02*
-X0334991Y0151370D01*
-X0338194Y0151370D01*
-X0339261Y0150303D01*
-X0339261Y0147100D01*
-X0347882Y0147100D02*
-X0347882Y0153505D01*
-X0351085Y0153505D01*
-X0352152Y0152438D01*
-X0352152Y0151370D01*
-X0351085Y0150303D01*
-X0347882Y0150303D01*
-X0351085Y0150303D02*
-X0352152Y0149235D01*
-X0352152Y0148168D01*
-X0351085Y0147100D01*
-X0347882Y0147100D01*
-X0354327Y0148168D02*
-X0354327Y0150303D01*
-X0355395Y0151370D01*
-X0357530Y0151370D01*
-X0358598Y0150303D01*
-X0358598Y0149235D01*
-X0354327Y0149235D01*
-X0354327Y0148168D02*
-X0355395Y0147100D01*
-X0357530Y0147100D01*
-X0360773Y0147100D02*
-X0360773Y0151370D01*
-X0363976Y0151370D01*
-X0365043Y0150303D01*
-X0365043Y0147100D01*
-X0367218Y0148168D02*
-X0367218Y0150303D01*
-X0368286Y0151370D01*
-X0371489Y0151370D01*
-X0371489Y0146032D01*
-X0370421Y0144965D01*
-X0369354Y0144965D01*
-X0368286Y0147100D02*
-X0371489Y0147100D01*
-X0373664Y0147100D02*
-X0375799Y0147100D01*
-X0374732Y0147100D02*
-X0374732Y0153505D01*
-X0373664Y0153505D01*
-X0377961Y0150303D02*
-X0379029Y0151370D01*
-X0381164Y0151370D01*
-X0382231Y0150303D01*
-X0382231Y0149235D01*
-X0377961Y0149235D01*
-X0377961Y0148168D02*
-X0377961Y0150303D01*
-X0377961Y0148168D02*
-X0379029Y0147100D01*
-X0381164Y0147100D01*
-X0384406Y0147100D02*
-X0384406Y0151370D01*
-X0384406Y0149235D02*
-X0386542Y0151370D01*
-X0387609Y0151370D01*
-X0396223Y0152438D02*
-X0397291Y0153505D01*
-X0399426Y0153505D01*
-X0400494Y0152438D01*
-X0400494Y0151370D01*
-X0396223Y0147100D01*
-X0400494Y0147100D01*
-X0402669Y0148168D02*
-X0406939Y0152438D01*
-X0406939Y0148168D01*
-X0405871Y0147100D01*
-X0403736Y0147100D01*
-X0402669Y0148168D01*
-X0402669Y0152438D01*
-X0403736Y0153505D01*
-X0405871Y0153505D01*
-X0406939Y0152438D01*
-X0409114Y0151370D02*
-X0411249Y0153505D01*
-X0411249Y0147100D01*
-X0409114Y0147100D02*
-X0413385Y0147100D01*
-X0415560Y0148168D02*
-X0416627Y0147100D01*
-X0418762Y0147100D01*
-X0419830Y0148168D01*
-X0419830Y0149235D01*
-X0418762Y0150303D01*
-X0415560Y0150303D01*
-X0415560Y0148168D01*
-X0415560Y0150303D02*
-X0417695Y0152438D01*
-X0419830Y0153505D01*
-X0368286Y0147100D02*
-X0367218Y0148168D01*
-X0311800Y0191800D02*
-X0311800Y0201800D01*
-X0111800Y0201800D01*
-X0111800Y0191800D01*
-X0099758Y0176370D02*
-X0097623Y0176370D01*
-X0096555Y0175303D01*
-X0096555Y0173168D01*
-X0097623Y0172100D01*
-X0099758Y0172100D01*
-X0100825Y0174235D02*
-X0096555Y0174235D01*
-X0094380Y0173168D02*
-X0093312Y0172100D01*
-X0090109Y0172100D01*
-X0090109Y0169965D02*
-X0090109Y0176370D01*
-X0093312Y0176370D01*
-X0094380Y0175303D01*
-X0094380Y0173168D01*
-X0099758Y0176370D02*
-X0100825Y0175303D01*
-X0100825Y0174235D01*
-X0087934Y0173168D02*
-X0086867Y0172100D01*
-X0084732Y0172100D01*
-X0083664Y0173168D01*
-X0083664Y0175303D01*
-X0084732Y0176370D01*
-X0086867Y0176370D01*
-X0087934Y0175303D01*
-X0087934Y0173168D01*
-X0081489Y0172100D02*
-X0078286Y0172100D01*
-X0077218Y0173168D01*
-X0077218Y0175303D01*
-X0078286Y0176370D01*
-X0081489Y0176370D01*
-X0075043Y0176370D02*
-X0071841Y0176370D01*
-X0070773Y0175303D01*
-X0071841Y0174235D01*
-X0073976Y0174235D01*
-X0075043Y0173168D01*
-X0073976Y0172100D01*
-X0070773Y0172100D01*
-X0068598Y0173168D02*
-X0068598Y0175303D01*
-X0067530Y0176370D01*
-X0065395Y0176370D01*
-X0064327Y0175303D01*
-X0064327Y0173168D01*
-X0065395Y0172100D01*
-X0067530Y0172100D01*
-X0068598Y0173168D01*
-X0062152Y0172100D02*
-X0058950Y0172100D01*
-X0057882Y0173168D01*
-X0057882Y0175303D01*
-X0058950Y0176370D01*
-X0062152Y0176370D01*
-X0062152Y0178505D02*
-X0062152Y0172100D01*
-X0055720Y0172100D02*
-X0053585Y0172100D01*
-X0054653Y0172100D02*
-X0054653Y0176370D01*
-X0053585Y0176370D01*
-X0054653Y0178505D02*
-X0054653Y0179573D01*
-X0050356Y0178505D02*
-X0050356Y0172100D01*
-X0051423Y0172100D02*
-X0049288Y0172100D01*
-X0047126Y0172100D02*
-X0044991Y0172100D01*
-X0046059Y0172100D02*
-X0046059Y0178505D01*
-X0044991Y0178505D01*
-X0042816Y0175303D02*
-X0041748Y0176370D01*
-X0039613Y0176370D01*
-X0038545Y0175303D01*
-X0038545Y0173168D01*
-X0039613Y0172100D01*
-X0041748Y0172100D01*
-X0042816Y0173168D01*
-X0042816Y0175303D01*
-X0049288Y0178505D02*
-X0050356Y0178505D01*
-X0036370Y0177438D02*
-X0035303Y0178505D01*
-X0033168Y0178505D01*
-X0032100Y0177438D01*
-X0032100Y0173168D01*
-X0033168Y0172100D01*
-X0035303Y0172100D01*
-X0036370Y0173168D01*
-X0062100Y0163505D02*
-X0062100Y0157100D01*
-X0062100Y0159235D02*
-X0065303Y0159235D01*
-X0066370Y0160303D01*
-X0066370Y0162438D01*
-X0065303Y0163505D01*
-X0062100Y0163505D01*
-X0064235Y0159235D02*
-X0066370Y0157100D01*
-X0068545Y0157100D02*
-X0072816Y0157100D01*
-X0074991Y0159235D02*
-X0077126Y0157100D01*
-X0079261Y0159235D01*
-X0079261Y0163505D01*
-X0081436Y0161370D02*
-X0083572Y0163505D01*
-X0085707Y0161370D01*
-X0085707Y0157100D01*
-X0085707Y0160303D02*
-X0081436Y0160303D01*
-X0081436Y0161370D02*
-X0081436Y0157100D01*
-X0074991Y0159235D02*
-X0074991Y0163505D01*
-X0072816Y0163505D02*
-X0068545Y0163505D01*
-X0068545Y0157100D01*
-X0068545Y0160303D02*
-X0070681Y0160303D01*
-D11*
-X0105046Y0145259D02*
-X0109550Y0145259D01*
-X0109550Y0143758D02*
-X0109550Y0146760D01*
-X0106547Y0143758D02*
-X0105046Y0145259D01*
-X0105797Y0142156D02*
-X0105046Y0141406D01*
-X0105046Y0139905D01*
-X0105797Y0139154D01*
-X0106547Y0139154D01*
-X0107298Y0139905D01*
-X0107298Y0141406D01*
-X0108049Y0142156D01*
-X0108799Y0142156D01*
-X0109550Y0141406D01*
-X0109550Y0139905D01*
-X0108799Y0139154D01*
-X0108799Y0137553D02*
-X0105046Y0137553D01*
-X0105046Y0134550D02*
-X0108799Y0134550D01*
-X0109550Y0135301D01*
-X0109550Y0136802D01*
-X0108799Y0137553D01*
-X0110301Y0140655D02*
-X0104296Y0140655D01*
-X0124550Y0149550D02*
-X0124550Y0152553D01*
-X0126051Y0154054D01*
-X0127553Y0152553D01*
-X0127553Y0149550D01*
-X0129154Y0149550D02*
-X0129154Y0154054D01*
-X0131406Y0154054D01*
-X0132156Y0153303D01*
-X0132156Y0151802D01*
-X0131406Y0151051D01*
-X0129154Y0151051D01*
-X0130655Y0151051D02*
-X0132156Y0149550D01*
-X0133758Y0149550D02*
-X0136010Y0149550D01*
-X0136760Y0150301D01*
-X0136760Y0153303D01*
-X0136010Y0154054D01*
-X0133758Y0154054D01*
-X0133758Y0149550D01*
-X0138362Y0150301D02*
-X0138362Y0154054D01*
-X0141364Y0154054D02*
-X0141364Y0150301D01*
-X0140614Y0149550D01*
-X0139112Y0149550D01*
-X0138362Y0150301D01*
-X0142966Y0149550D02*
-X0144467Y0149550D01*
-X0143716Y0149550D02*
-X0143716Y0154054D01*
-X0142966Y0154054D02*
-X0144467Y0154054D01*
-X0146035Y0154054D02*
-X0146035Y0149550D01*
-X0149038Y0149550D02*
-X0146035Y0154054D01*
-X0149038Y0154054D02*
-X0149038Y0149550D01*
-X0150639Y0150301D02*
-X0151390Y0149550D01*
-X0152891Y0149550D01*
-X0153641Y0150301D01*
-X0153641Y0153303D01*
-X0152891Y0154054D01*
-X0151390Y0154054D01*
-X0150639Y0153303D01*
-X0150639Y0150301D01*
-X0155243Y0151802D02*
-X0158245Y0151802D01*
-X0159847Y0154054D02*
-X0162849Y0154054D01*
-X0161348Y0154054D02*
-X0161348Y0149550D01*
-X0164451Y0149550D02*
-X0164451Y0154054D01*
-X0167453Y0154054D01*
-X0169055Y0154054D02*
-X0169055Y0149550D01*
-X0172057Y0149550D01*
-X0173659Y0149550D02*
-X0173659Y0154054D01*
-X0176661Y0149550D01*
-X0176661Y0154054D01*
-X0178262Y0153303D02*
-X0178262Y0152553D01*
-X0179013Y0151802D01*
-X0180514Y0151802D01*
-X0181265Y0151051D01*
-X0181265Y0150301D01*
-X0180514Y0149550D01*
-X0179013Y0149550D01*
-X0178262Y0150301D01*
-X0178262Y0153303D02*
-X0179013Y0154054D01*
-X0180514Y0154054D01*
-X0181265Y0153303D01*
-X0182866Y0153303D02*
-X0184368Y0151802D01*
-X0184368Y0149550D01*
-X0184368Y0151802D02*
-X0185869Y0153303D01*
-X0185869Y0154054D01*
-X0187470Y0151802D02*
-X0190473Y0151802D01*
-X0192074Y0151802D02*
-X0195077Y0151802D01*
-X0193576Y0153303D02*
-X0193576Y0150301D01*
-X0188972Y0150301D02*
-X0188972Y0153303D01*
-X0182866Y0153303D02*
-X0182866Y0154054D01*
-X0172057Y0154054D02*
-X0169055Y0154054D01*
-X0169055Y0151802D02*
-X0170556Y0151802D01*
-X0167453Y0149550D02*
-X0164451Y0149550D01*
-X0164451Y0151802D02*
-X0165952Y0151802D01*
-X0127553Y0151802D02*
-X0124550Y0151802D01*
-D12*
-X0026800Y0041800D02*
-X0026800Y0024300D01*
-X0056800Y0024300D01*
-X0056800Y0041800D01*
-X0026800Y0041800D01*
-X0026800Y0049300D01*
-X0056800Y0049300D01*
-X0056800Y0041800D01*
-X0071800Y0041800D02*
-X0101800Y0041800D01*
-X0101800Y0024300D01*
-X0071800Y0024300D01*
-X0071800Y0041800D01*
-X0071800Y0049300D01*
-X0101800Y0049300D01*
-X0101800Y0041800D01*
-X0116800Y0041800D02*
-X0146800Y0041800D01*
-X0146800Y0024300D01*
-X0116800Y0024300D01*
-X0116800Y0041800D01*
-X0116800Y0049300D01*
-X0146800Y0049300D01*
-X0146800Y0041800D01*
-X0161800Y0041800D02*
-X0191800Y0041800D01*
-X0191800Y0024300D01*
-X0161800Y0024300D01*
-X0161800Y0041800D01*
-X0161800Y0049300D01*
-X0191800Y0049300D01*
-X0191800Y0041800D01*
-X0206800Y0041800D02*
-X0236800Y0041800D01*
-X0236800Y0024300D01*
-X0206800Y0024300D01*
-X0206800Y0041800D01*
-X0206800Y0049300D01*
-X0236800Y0049300D01*
-X0236800Y0041800D01*
-X0251800Y0041800D02*
-X0281800Y0041800D01*
-X0281800Y0024300D01*
-X0251800Y0024300D01*
-X0251800Y0041800D01*
-X0251800Y0049300D01*
-X0281800Y0049300D01*
-X0281800Y0041800D01*
-X0296800Y0041800D02*
-X0326800Y0041800D01*
-X0326800Y0024300D01*
-X0296800Y0024300D01*
-X0296800Y0041800D01*
-X0296800Y0049300D01*
-X0326800Y0049300D01*
-X0326800Y0041800D01*
-X0341800Y0041800D02*
-X0371800Y0041800D01*
-X0371800Y0024300D01*
-X0341800Y0024300D01*
-X0341800Y0041800D01*
-X0341800Y0049300D01*
-X0371800Y0049300D01*
-X0371800Y0041800D01*
-X0361800Y0069300D02*
-X0361800Y0086800D01*
-X0391800Y0086800D01*
-X0391800Y0069300D01*
-X0361800Y0069300D01*
-X0346800Y0069300D02*
-X0316800Y0069300D01*
-X0316800Y0086800D01*
-X0346800Y0086800D01*
-X0346800Y0069300D01*
-X0346800Y0086800D02*
-X0346800Y0094300D01*
-X0316800Y0094300D01*
-X0316800Y0086800D01*
-X0301800Y0086800D02*
-X0271800Y0086800D01*
-X0271800Y0094300D01*
-X0301800Y0094300D01*
-X0301800Y0086800D01*
-X0301800Y0069300D01*
-X0271800Y0069300D01*
-X0271800Y0086800D01*
-X0256800Y0086800D02*
-X0226800Y0086800D01*
-X0226800Y0094300D01*
-X0256800Y0094300D01*
-X0256800Y0086800D01*
-X0256800Y0069300D01*
-X0226800Y0069300D01*
-X0226800Y0086800D01*
-X0211800Y0086800D02*
-X0181800Y0086800D01*
-X0181800Y0094300D01*
-X0211800Y0094300D01*
-X0211800Y0086800D01*
-X0211800Y0069300D01*
-X0181800Y0069300D01*
-X0181800Y0086800D01*
-X0166800Y0086800D02*
-X0136800Y0086800D01*
-X0136800Y0094300D01*
-X0166800Y0094300D01*
-X0166800Y0086800D01*
-X0166800Y0069300D01*
-X0136800Y0069300D01*
-X0136800Y0086800D01*
-X0121800Y0086800D02*
-X0091800Y0086800D01*
-X0091800Y0094300D01*
-X0121800Y0094300D01*
-X0121800Y0086800D01*
-X0121800Y0069300D01*
-X0091800Y0069300D01*
-X0091800Y0086800D01*
-X0076800Y0086800D02*
-X0046800Y0086800D01*
-X0046800Y0094300D01*
-X0076800Y0094300D01*
-X0076800Y0086800D01*
-X0076800Y0069300D01*
-X0046800Y0069300D01*
-X0046800Y0086800D01*
-X0046800Y0234300D02*
-X0046800Y0251800D01*
-X0076800Y0251800D01*
-X0076800Y0234300D01*
-X0046800Y0234300D01*
-X0046800Y0251800D02*
-X0046800Y0259300D01*
-X0076800Y0259300D01*
-X0076800Y0251800D01*
-X0091800Y0251800D02*
-X0121800Y0251800D01*
-X0121800Y0234300D01*
-X0091800Y0234300D01*
-X0091800Y0251800D01*
-X0091800Y0259300D01*
-X0121800Y0259300D01*
-X0121800Y0251800D01*
-X0136800Y0251800D02*
-X0166800Y0251800D01*
-X0166800Y0234300D01*
-X0136800Y0234300D01*
-X0136800Y0251800D01*
-X0136800Y0259300D01*
-X0166800Y0259300D01*
-X0166800Y0251800D01*
-X0181800Y0251800D02*
-X0211800Y0251800D01*
-X0211800Y0234300D01*
-X0181800Y0234300D01*
-X0181800Y0251800D01*
-X0181800Y0259300D01*
-X0211800Y0259300D01*
-X0211800Y0251800D01*
-X0226800Y0251800D02*
-X0256800Y0251800D01*
-X0256800Y0234300D01*
-X0226800Y0234300D01*
-X0226800Y0251800D01*
-X0226800Y0259300D01*
-X0256800Y0259300D01*
-X0256800Y0251800D01*
-X0271800Y0251800D02*
-X0301800Y0251800D01*
-X0301800Y0234300D01*
-X0271800Y0234300D01*
-X0271800Y0251800D01*
-X0271800Y0259300D01*
-X0301800Y0259300D01*
-X0301800Y0251800D01*
-X0316800Y0251800D02*
-X0346800Y0251800D01*
-X0346800Y0234300D01*
-X0316800Y0234300D01*
-X0316800Y0251800D01*
-X0316800Y0259300D01*
-X0346800Y0259300D01*
-X0346800Y0251800D01*
-X0361800Y0251800D02*
-X0391800Y0251800D01*
-X0391800Y0234300D01*
-X0361800Y0234300D01*
-X0361800Y0251800D01*
-X0361800Y0259300D01*
-X0391800Y0259300D01*
-X0391800Y0251800D01*
-X0371800Y0279300D02*
-X0341800Y0279300D01*
-X0341800Y0296800D01*
-X0371800Y0296800D01*
-X0371800Y0279300D01*
-X0371800Y0296800D02*
-X0371800Y0304300D01*
-X0341800Y0304300D01*
-X0341800Y0296800D01*
-X0326800Y0296800D02*
-X0296800Y0296800D01*
-X0296800Y0304300D01*
-X0326800Y0304300D01*
-X0326800Y0296800D01*
-X0326800Y0279300D01*
-X0296800Y0279300D01*
-X0296800Y0296800D01*
-X0281800Y0296800D02*
-X0251800Y0296800D01*
-X0251800Y0304300D01*
-X0281800Y0304300D01*
-X0281800Y0296800D01*
-X0281800Y0279300D01*
-X0251800Y0279300D01*
-X0251800Y0296800D01*
-X0236800Y0296800D02*
-X0206800Y0296800D01*
-X0206800Y0304300D01*
-X0236800Y0304300D01*
-X0236800Y0296800D01*
-X0236800Y0279300D01*
-X0206800Y0279300D01*
-X0206800Y0296800D01*
-X0191800Y0296800D02*
-X0161800Y0296800D01*
-X0161800Y0304300D01*
-X0191800Y0304300D01*
-X0191800Y0296800D01*
-X0191800Y0279300D01*
-X0161800Y0279300D01*
-X0161800Y0296800D01*
-X0146800Y0296800D02*
-X0116800Y0296800D01*
-X0116800Y0304300D01*
-X0146800Y0304300D01*
-X0146800Y0296800D01*
-X0146800Y0279300D01*
-X0116800Y0279300D01*
-X0116800Y0296800D01*
-X0101800Y0296800D02*
-X0071800Y0296800D01*
-X0071800Y0304300D01*
-X0101800Y0304300D01*
-X0101800Y0296800D01*
-X0101800Y0279300D01*
-X0071800Y0279300D01*
-X0071800Y0296800D01*
-X0056800Y0296800D02*
-X0026800Y0296800D01*
-X0026800Y0304300D01*
-X0056800Y0304300D01*
-X0056800Y0296800D01*
-X0056800Y0279300D01*
-X0026800Y0279300D01*
-X0026800Y0296800D01*
-X0361800Y0094300D02*
-X0361800Y0086800D01*
-X0361800Y0094300D02*
-X0391800Y0094300D01*
-X0391800Y0086800D01*
-D13*
-X0361600Y0097601D02*
-X0361600Y0098802D01*
-X0360999Y0099402D01*
-X0360999Y0100683D02*
-X0361600Y0100683D01*
-X0360999Y0100683D02*
-X0358597Y0103085D01*
-X0357997Y0103085D01*
-X0357997Y0100683D01*
-X0358597Y0099402D02*
-X0357997Y0098802D01*
-X0357997Y0097601D01*
-X0358597Y0097000D01*
-X0360999Y0097000D01*
-X0361600Y0097601D01*
-X0340999Y0058085D02*
-X0340399Y0058085D01*
-X0339798Y0057485D01*
-X0339798Y0055683D01*
-X0340999Y0055683D01*
-X0341600Y0056284D01*
-X0341600Y0057485D01*
-X0340999Y0058085D01*
-X0338597Y0056884D02*
-X0339798Y0055683D01*
-X0338597Y0056884D02*
-X0337997Y0058085D01*
-X0338597Y0054402D02*
-X0337997Y0053802D01*
-X0337997Y0052601D01*
-X0338597Y0052000D01*
-X0340999Y0052000D01*
-X0341600Y0052601D01*
-X0341600Y0053802D01*
-X0340999Y0054402D01*
-X0296600Y0053802D02*
-X0295999Y0054402D01*
-X0296600Y0053802D02*
-X0296600Y0052601D01*
-X0295999Y0052000D01*
-X0293597Y0052000D01*
-X0292997Y0052601D01*
-X0292997Y0053802D01*
-X0293597Y0054402D01*
-X0294798Y0055683D02*
-X0294798Y0058085D01*
-X0292997Y0057485D02*
-X0294798Y0055683D01*
-X0292997Y0057485D02*
-X0296600Y0057485D01*
-X0251600Y0058085D02*
-X0251600Y0055683D01*
-X0249198Y0058085D01*
-X0248597Y0058085D01*
-X0247997Y0057485D01*
-X0247997Y0056284D01*
-X0248597Y0055683D01*
-X0248597Y0054402D02*
-X0247997Y0053802D01*
-X0247997Y0052601D01*
-X0248597Y0052000D01*
-X0250999Y0052000D01*
-X0251600Y0052601D01*
-X0251600Y0053802D01*
-X0250999Y0054402D01*
-X0206600Y0053802D02*
-X0205999Y0054402D01*
-X0206600Y0053802D02*
-X0206600Y0052601D01*
-X0205999Y0052000D01*
-X0203597Y0052000D01*
-X0202997Y0052601D01*
-X0202997Y0053802D01*
-X0203597Y0054402D01*
-X0203597Y0055683D02*
-X0202997Y0056284D01*
-X0202997Y0057485D01*
-X0203597Y0058085D01*
-X0205999Y0055683D01*
-X0206600Y0056284D01*
-X0206600Y0057485D01*
-X0205999Y0058085D01*
-X0203597Y0058085D01*
-X0203597Y0055683D02*
-X0205999Y0055683D01*
-X0161600Y0056284D02*
-X0160999Y0055683D01*
-X0158597Y0058085D01*
-X0160999Y0058085D01*
-X0161600Y0057485D01*
-X0161600Y0056284D01*
-X0160999Y0055683D02*
-X0158597Y0055683D01*
-X0157997Y0056284D01*
-X0157997Y0057485D01*
-X0158597Y0058085D01*
-X0157997Y0054402D02*
-X0157997Y0052000D01*
-X0161600Y0052000D01*
-X0161600Y0054402D01*
-X0159798Y0053201D02*
-X0159798Y0052000D01*
-X0116600Y0052000D02*
-X0116600Y0053802D01*
-X0115999Y0054402D01*
-X0113597Y0054402D01*
-X0112997Y0053802D01*
-X0112997Y0052000D01*
-X0116600Y0052000D01*
-X0115999Y0055683D02*
-X0116600Y0056284D01*
-X0116600Y0057485D01*
-X0115999Y0058085D01*
-X0115399Y0058085D01*
-X0114798Y0057485D01*
-X0114798Y0055683D01*
-X0115999Y0055683D01*
-X0114798Y0055683D02*
-X0113597Y0056884D01*
-X0112997Y0058085D01*
-X0071600Y0057485D02*
-X0067997Y0057485D01*
-X0069798Y0055683D01*
-X0069798Y0058085D01*
-X0068597Y0054402D02*
-X0067997Y0053802D01*
-X0067997Y0052000D01*
-X0071600Y0052000D01*
-X0071600Y0053802D01*
-X0070999Y0054402D01*
-X0068597Y0054402D01*
-X0046590Y0052000D02*
-X0044188Y0052000D01*
-X0045389Y0052000D02*
-X0045389Y0055603D01*
-X0044188Y0054402D01*
-X0042907Y0055603D02*
-X0040505Y0052000D01*
-X0039224Y0052601D02*
-X0038623Y0052000D01*
-X0037422Y0052000D01*
-X0036822Y0052601D01*
-X0039224Y0055003D01*
-X0039224Y0052601D01*
-X0039224Y0055003D02*
-X0038623Y0055603D01*
-X0037422Y0055603D01*
-X0036822Y0055003D01*
-X0036822Y0052601D01*
-X0034340Y0052000D02*
-X0034340Y0055603D01*
-X0033139Y0055603D02*
-X0035541Y0055603D01*
-X0031857Y0055603D02*
-X0031857Y0052000D01*
-X0029455Y0055603D01*
-X0029455Y0052000D01*
-X0028201Y0052000D02*
-X0027000Y0052000D01*
-X0027601Y0052000D02*
-X0027601Y0055603D01*
-X0028201Y0055603D02*
-X0027000Y0055603D01*
-X0047000Y0097000D02*
-X0048201Y0097000D01*
-X0047601Y0097000D02*
-X0047601Y0100603D01*
-X0048201Y0100603D02*
-X0047000Y0100603D01*
-X0049455Y0100603D02*
-X0051857Y0097000D01*
-X0051857Y0100603D01*
-X0053139Y0100603D02*
-X0055541Y0100603D01*
-X0054340Y0100603D02*
-X0054340Y0097000D01*
-X0056822Y0097000D02*
-X0059224Y0099402D01*
-X0059224Y0100003D01*
-X0058623Y0100603D01*
-X0057422Y0100603D01*
-X0056822Y0100003D01*
-X0056822Y0097000D02*
-X0059224Y0097000D01*
-X0060505Y0097000D02*
-X0062907Y0100603D01*
-X0064188Y0100003D02*
-X0064789Y0100603D01*
-X0065990Y0100603D01*
-X0066590Y0100003D01*
-X0066590Y0099402D01*
-X0065990Y0098802D01*
-X0066590Y0098201D01*
-X0066590Y0097601D01*
-X0065990Y0097000D01*
-X0064789Y0097000D01*
-X0064188Y0097601D01*
-X0065389Y0098802D02*
-X0065990Y0098802D01*
-X0049455Y0097000D02*
-X0049455Y0100603D01*
-X0087997Y0100683D02*
-X0089798Y0100683D01*
-X0089198Y0101884D01*
-X0089198Y0102485D01*
-X0089798Y0103085D01*
-X0090999Y0103085D01*
-X0091600Y0102485D01*
-X0091600Y0101284D01*
-X0090999Y0100683D01*
-X0090999Y0099402D02*
-X0088597Y0099402D01*
-X0087997Y0098802D01*
-X0087997Y0097000D01*
-X0091600Y0097000D01*
-X0091600Y0098802D01*
-X0090999Y0099402D01*
-X0087997Y0100683D02*
-X0087997Y0103085D01*
-X0132997Y0103085D02*
-X0132997Y0100683D01*
-X0133597Y0099402D02*
-X0132997Y0098802D01*
-X0132997Y0097000D01*
-X0136600Y0097000D01*
-X0136600Y0098802D01*
-X0135999Y0099402D01*
-X0133597Y0099402D01*
-X0135999Y0100683D02*
-X0136600Y0100683D01*
-X0135999Y0100683D02*
-X0133597Y0103085D01*
-X0132997Y0103085D01*
-X0177997Y0101884D02*
-X0181600Y0101884D01*
-X0181600Y0100683D02*
-X0181600Y0103085D01*
-X0179198Y0100683D02*
-X0177997Y0101884D01*
-X0177997Y0099402D02*
-X0177997Y0097000D01*
-X0181600Y0097000D01*
-X0181600Y0099402D01*
-X0179798Y0098201D02*
-X0179798Y0097000D01*
-X0222997Y0097601D02*
-X0223597Y0097000D01*
-X0225999Y0097000D01*
-X0226600Y0097601D01*
-X0226600Y0098802D01*
-X0225999Y0099402D01*
-X0226600Y0100683D02*
-X0226600Y0103085D01*
-X0226600Y0101884D02*
-X0222997Y0101884D01*
-X0224198Y0100683D01*
-X0223597Y0099402D02*
-X0222997Y0098802D01*
-X0222997Y0097601D01*
-X0267997Y0097601D02*
-X0268597Y0097000D01*
-X0270999Y0097000D01*
-X0271600Y0097601D01*
-X0271600Y0098802D01*
-X0270999Y0099402D01*
-X0270999Y0100683D02*
-X0271600Y0101284D01*
-X0271600Y0102485D01*
-X0270999Y0103085D01*
-X0270399Y0103085D01*
-X0269798Y0102485D01*
-X0269798Y0101884D01*
-X0269798Y0102485D02*
-X0269198Y0103085D01*
-X0268597Y0103085D01*
-X0267997Y0102485D01*
-X0267997Y0101284D01*
-X0268597Y0100683D01*
-X0268597Y0099402D02*
-X0267997Y0098802D01*
-X0267997Y0097601D01*
-X0312997Y0097601D02*
-X0313597Y0097000D01*
-X0315999Y0097000D01*
-X0316600Y0097601D01*
-X0316600Y0098802D01*
-X0315999Y0099402D01*
-X0315999Y0100683D02*
-X0316600Y0101284D01*
-X0316600Y0102485D01*
-X0315999Y0103085D01*
-X0314798Y0103085D01*
-X0314198Y0102485D01*
-X0314198Y0101884D01*
-X0314798Y0100683D01*
-X0312997Y0100683D01*
-X0312997Y0103085D01*
-X0313597Y0099402D02*
-X0312997Y0098802D01*
-X0312997Y0097601D01*
-X0312997Y0262000D02*
-X0312997Y0264402D01*
-X0312997Y0265683D02*
-X0314798Y0265683D01*
-X0314198Y0266884D01*
-X0314198Y0267485D01*
-X0314798Y0268085D01*
-X0315999Y0268085D01*
-X0316600Y0267485D01*
-X0316600Y0266284D01*
-X0315999Y0265683D01*
-X0314798Y0263201D02*
-X0314798Y0262000D01*
-X0312997Y0262000D02*
-X0316600Y0262000D01*
-X0312997Y0265683D02*
-X0312997Y0268085D01*
-X0271600Y0267485D02*
-X0271600Y0266284D01*
-X0270999Y0265683D01*
-X0269798Y0266884D02*
-X0269798Y0267485D01*
-X0270399Y0268085D01*
-X0270999Y0268085D01*
-X0271600Y0267485D01*
-X0269798Y0267485D02*
-X0269198Y0268085D01*
-X0268597Y0268085D01*
-X0267997Y0267485D01*
-X0267997Y0266284D01*
-X0268597Y0265683D01*
-X0267997Y0264402D02*
-X0267997Y0262000D01*
-X0271600Y0262000D01*
-X0269798Y0262000D02*
-X0269798Y0263201D01*
-X0226600Y0262000D02*
-X0222997Y0262000D01*
-X0222997Y0264402D01*
-X0224198Y0265683D02*
-X0222997Y0266884D01*
-X0226600Y0266884D01*
-X0226600Y0265683D02*
-X0226600Y0268085D01*
-X0224798Y0263201D02*
-X0224798Y0262000D01*
-X0201590Y0265003D02*
-X0199188Y0262601D01*
-X0199188Y0262000D01*
-X0199188Y0265603D02*
-X0201590Y0265603D01*
-X0201590Y0265003D01*
-X0197907Y0265603D02*
-X0195505Y0262000D01*
-X0194224Y0262601D02*
-X0194224Y0263201D01*
-X0193623Y0263802D01*
-X0191822Y0263802D01*
-X0191822Y0262601D01*
-X0192422Y0262000D01*
-X0193623Y0262000D01*
-X0194224Y0262601D01*
-X0193023Y0265003D02*
-X0191822Y0263802D01*
-X0193023Y0265003D02*
-X0194224Y0265603D01*
-X0190541Y0265603D02*
-X0188139Y0265603D01*
-X0189340Y0265603D02*
-X0189340Y0262000D01*
-X0186857Y0262000D02*
-X0186857Y0265603D01*
-X0184455Y0265603D02*
-X0186857Y0262000D01*
-X0184455Y0262000D02*
-X0184455Y0265603D01*
-X0183201Y0265603D02*
-X0182000Y0265603D01*
-X0182601Y0265603D02*
-X0182601Y0262000D01*
-X0183201Y0262000D02*
-X0182000Y0262000D01*
-X0136600Y0262000D02*
-X0136600Y0263802D01*
-X0135999Y0264402D01*
-X0135399Y0264402D01*
-X0134798Y0263802D01*
-X0134798Y0262000D01*
-X0132997Y0262000D02*
-X0132997Y0263802D01*
-X0133597Y0264402D01*
-X0134198Y0264402D01*
-X0134798Y0263802D01*
-X0134198Y0265683D02*
-X0132997Y0266884D01*
-X0136600Y0266884D01*
-X0136600Y0265683D02*
-X0136600Y0268085D01*
-X0136600Y0262000D02*
-X0132997Y0262000D01*
-X0091600Y0262000D02*
-X0091600Y0263802D01*
-X0090999Y0264402D01*
-X0090399Y0264402D01*
-X0089798Y0263802D01*
-X0089798Y0262000D01*
-X0087997Y0262000D02*
-X0091600Y0262000D01*
-X0089798Y0263802D02*
-X0089198Y0264402D01*
-X0088597Y0264402D01*
-X0087997Y0263802D01*
-X0087997Y0262000D01*
-X0088597Y0265683D02*
-X0087997Y0266284D01*
-X0087997Y0267485D01*
-X0088597Y0268085D01*
-X0089198Y0268085D01*
-X0089798Y0267485D01*
-X0090399Y0268085D01*
-X0090999Y0268085D01*
-X0091600Y0267485D01*
-X0091600Y0266284D01*
-X0090999Y0265683D01*
-X0089798Y0266884D02*
-X0089798Y0267485D01*
-X0046600Y0267485D02*
-X0046600Y0266284D01*
-X0045999Y0265683D01*
-X0044798Y0265683D02*
-X0044198Y0266884D01*
-X0044198Y0267485D01*
-X0044798Y0268085D01*
-X0045999Y0268085D01*
-X0046600Y0267485D01*
-X0044798Y0265683D02*
-X0042997Y0265683D01*
-X0042997Y0268085D01*
-X0043597Y0264402D02*
-X0044198Y0264402D01*
-X0044798Y0263802D01*
-X0044798Y0262000D01*
-X0042997Y0262000D02*
-X0042997Y0263802D01*
-X0043597Y0264402D01*
-X0044798Y0263802D02*
-X0045399Y0264402D01*
-X0045999Y0264402D01*
-X0046600Y0263802D01*
-X0046600Y0262000D01*
-X0042997Y0262000D01*
-X0026600Y0307000D02*
-X0022997Y0307000D01*
-X0022997Y0308802D01*
-X0023597Y0309402D01*
-X0024198Y0309402D01*
-X0024798Y0308802D01*
-X0024798Y0307000D01*
-X0024798Y0308802D02*
-X0025399Y0309402D01*
-X0025999Y0309402D01*
-X0026600Y0308802D01*
-X0026600Y0307000D01*
-X0025999Y0310683D02*
-X0024798Y0310683D01*
-X0024798Y0312485D01*
-X0025399Y0313085D01*
-X0025999Y0313085D01*
-X0026600Y0312485D01*
-X0026600Y0311284D01*
-X0025999Y0310683D01*
-X0024798Y0310683D02*
-X0023597Y0311884D01*
-X0022997Y0313085D01*
-X0067997Y0312485D02*
-X0069798Y0310683D01*
-X0069798Y0313085D01*
-X0067997Y0312485D02*
-X0071600Y0312485D01*
-X0070999Y0309402D02*
-X0071600Y0308802D01*
-X0071600Y0307000D01*
-X0067997Y0307000D01*
-X0067997Y0308802D01*
-X0068597Y0309402D01*
-X0069198Y0309402D01*
-X0069798Y0308802D01*
-X0069798Y0307000D01*
-X0069798Y0308802D02*
-X0070399Y0309402D01*
-X0070999Y0309402D01*
-X0112997Y0308802D02*
-X0112997Y0307000D01*
-X0116600Y0307000D01*
-X0116600Y0308802D01*
-X0115999Y0309402D01*
-X0115399Y0309402D01*
-X0114798Y0308802D01*
-X0114798Y0307000D01*
-X0114798Y0308802D02*
-X0114198Y0309402D01*
-X0113597Y0309402D01*
-X0112997Y0308802D01*
-X0113597Y0310683D02*
-X0112997Y0311284D01*
-X0112997Y0312485D01*
-X0113597Y0313085D01*
-X0114198Y0313085D01*
-X0116600Y0310683D01*
-X0116600Y0313085D01*
-X0157997Y0312485D02*
-X0157997Y0311284D01*
-X0158597Y0310683D01*
-X0160999Y0310683D01*
-X0158597Y0313085D01*
-X0160999Y0313085D01*
-X0161600Y0312485D01*
-X0161600Y0311284D01*
-X0160999Y0310683D01*
-X0160999Y0309402D02*
-X0161600Y0308802D01*
-X0161600Y0307000D01*
-X0157997Y0307000D01*
-X0157997Y0308802D01*
-X0158597Y0309402D01*
-X0159198Y0309402D01*
-X0159798Y0308802D01*
-X0159798Y0307000D01*
-X0159798Y0308802D02*
-X0160399Y0309402D01*
-X0160999Y0309402D01*
-X0157997Y0312485D02*
-X0158597Y0313085D01*
-X0202997Y0312485D02*
-X0202997Y0311284D01*
-X0203597Y0310683D01*
-X0205999Y0310683D01*
-X0203597Y0313085D01*
-X0205999Y0313085D01*
-X0206600Y0312485D01*
-X0206600Y0311284D01*
-X0205999Y0310683D01*
-X0204798Y0308201D02*
-X0204798Y0307000D01*
-X0202997Y0307000D02*
-X0206600Y0307000D01*
-X0202997Y0307000D02*
-X0202997Y0309402D01*
-X0202997Y0312485D02*
-X0203597Y0313085D01*
-X0247997Y0312485D02*
-X0247997Y0311284D01*
-X0248597Y0310683D01*
-X0247997Y0309402D02*
-X0247997Y0307000D01*
-X0251600Y0307000D01*
-X0249798Y0307000D02*
-X0249798Y0308201D01*
-X0251600Y0310683D02*
-X0249198Y0313085D01*
-X0248597Y0313085D01*
-X0247997Y0312485D01*
-X0251600Y0313085D02*
-X0251600Y0310683D01*
-X0292997Y0309402D02*
-X0292997Y0307000D01*
-X0296600Y0307000D01*
-X0294798Y0307000D02*
-X0294798Y0308201D01*
-X0294798Y0310683D02*
-X0294798Y0313085D01*
-X0292997Y0312485D02*
-X0296600Y0312485D01*
-X0294798Y0310683D02*
-X0292997Y0312485D01*
-X0337997Y0313085D02*
-X0338597Y0311884D01*
-X0339798Y0310683D01*
-X0339798Y0312485D01*
-X0340399Y0313085D01*
-X0340999Y0313085D01*
-X0341600Y0312485D01*
-X0341600Y0311284D01*
-X0340999Y0310683D01*
-X0339798Y0310683D01*
-X0337997Y0309402D02*
-X0337997Y0307000D01*
-X0341600Y0307000D01*
-X0339798Y0307000D02*
-X0339798Y0308201D01*
-X0357997Y0268085D02*
-X0358597Y0268085D01*
-X0360999Y0265683D01*
-X0361600Y0265683D01*
-X0359798Y0263201D02*
-X0359798Y0262000D01*
-X0357997Y0262000D02*
-X0357997Y0264402D01*
-X0357997Y0265683D02*
-X0357997Y0268085D01*
-X0357997Y0262000D02*
-X0361600Y0262000D01*
-M02*
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.GTS
--- a/pcb/Gerbers/collidoscope_pcb.GTS
+++ /dev/null
@@ -1,271 +0,0 @@
-G75*
-%MOIN*%
-%OFA0B0*%
-%FSLAX25Y25*%
-%IPPOS*%
-%LPD*%
-%AMOC8*
-5,1,8,0,0,1.08239X$1,22.5*
-%
-%ADD10C,0.12611*%
-%ADD11R,0.08200X0.08200*%
-%ADD12C,0.08200*%
-%ADD13C,0.05300*%
-%ADD14C,0.06737*%
-%ADD15C,0.04800*%
-D10*
-X0096800Y0171800D03*
-X0386800Y0301800D03*
-X0391800Y0031800D03*
-D11*
-X0306800Y0176800D03*
-X0116800Y0136800D03*
-D12*
-X0126800Y0136800D03*
-X0136800Y0136800D03*
-X0146800Y0136800D03*
-X0156800Y0136800D03*
-X0166800Y0136800D03*
-X0176800Y0136800D03*
-X0186800Y0136800D03*
-X0196800Y0136800D03*
-X0206800Y0136800D03*
-X0216800Y0136800D03*
-X0226800Y0136800D03*
-X0236800Y0136800D03*
-X0246800Y0136800D03*
-X0256800Y0136800D03*
-X0266800Y0136800D03*
-X0276800Y0136800D03*
-X0286800Y0136800D03*
-X0296800Y0136800D03*
-X0306800Y0136800D03*
-X0306800Y0156800D03*
-X0306800Y0166800D03*
-X0276800Y0166800D03*
-X0276800Y0176800D03*
-X0266800Y0176800D03*
-X0256800Y0176800D03*
-X0246800Y0176800D03*
-X0246800Y0166800D03*
-X0256800Y0166800D03*
-X0266800Y0166800D03*
-X0266800Y0196800D03*
-X0256800Y0196800D03*
-X0246800Y0196800D03*
-X0236800Y0196800D03*
-X0226800Y0196800D03*
-X0216800Y0196800D03*
-X0206800Y0196800D03*
-X0196800Y0196800D03*
-X0186800Y0196800D03*
-X0176800Y0196800D03*
-X0166800Y0196800D03*
-X0156800Y0196800D03*
-X0146800Y0196800D03*
-X0136800Y0196800D03*
-X0126800Y0196800D03*
-X0116800Y0196800D03*
-X0276800Y0196800D03*
-X0286800Y0196800D03*
-X0296800Y0196800D03*
-X0306800Y0196800D03*
-D13*
-X0175800Y0170400D03*
-X0175800Y0165200D03*
-D14*
-X0031800Y0039769D02*
-X0031800Y0033831D01*
-X0041800Y0033831D02*
-X0041800Y0039769D01*
-X0051800Y0039769D02*
-X0051800Y0033831D01*
-X0076800Y0033831D02*
-X0076800Y0039769D01*
-X0086800Y0039769D02*
-X0086800Y0033831D01*
-X0096800Y0033831D02*
-X0096800Y0039769D01*
-X0121800Y0039769D02*
-X0121800Y0033831D01*
-X0131800Y0033831D02*
-X0131800Y0039769D01*
-X0141800Y0039769D02*
-X0141800Y0033831D01*
-X0166800Y0033831D02*
-X0166800Y0039769D01*
-X0176800Y0039769D02*
-X0176800Y0033831D01*
-X0186800Y0033831D02*
-X0186800Y0039769D01*
-X0211800Y0039769D02*
-X0211800Y0033831D01*
-X0221800Y0033831D02*
-X0221800Y0039769D01*
-X0231800Y0039769D02*
-X0231800Y0033831D01*
-X0256800Y0033831D02*
-X0256800Y0039769D01*
-X0266800Y0039769D02*
-X0266800Y0033831D01*
-X0276800Y0033831D02*
-X0276800Y0039769D01*
-X0301800Y0039769D02*
-X0301800Y0033831D01*
-X0311800Y0033831D02*
-X0311800Y0039769D01*
-X0321800Y0039769D02*
-X0321800Y0033831D01*
-X0346800Y0033831D02*
-X0346800Y0039769D01*
-X0356800Y0039769D02*
-X0356800Y0033831D01*
-X0366800Y0033831D02*
-X0366800Y0039769D01*
-X0366800Y0078831D02*
-X0366800Y0084769D01*
-X0376800Y0084769D02*
-X0376800Y0078831D01*
-X0386800Y0078831D02*
-X0386800Y0084769D01*
-X0341800Y0084769D02*
-X0341800Y0078831D01*
-X0331800Y0078831D02*
-X0331800Y0084769D01*
-X0321800Y0084769D02*
-X0321800Y0078831D01*
-X0296800Y0078831D02*
-X0296800Y0084769D01*
-X0286800Y0084769D02*
-X0286800Y0078831D01*
-X0276800Y0078831D02*
-X0276800Y0084769D01*
-X0251800Y0084769D02*
-X0251800Y0078831D01*
-X0241800Y0078831D02*
-X0241800Y0084769D01*
-X0231800Y0084769D02*
-X0231800Y0078831D01*
-X0206800Y0078831D02*
-X0206800Y0084769D01*
-X0196800Y0084769D02*
-X0196800Y0078831D01*
-X0186800Y0078831D02*
-X0186800Y0084769D01*
-X0161800Y0084769D02*
-X0161800Y0078831D01*
-X0151800Y0078831D02*
-X0151800Y0084769D01*
-X0141800Y0084769D02*
-X0141800Y0078831D01*
-X0116800Y0078831D02*
-X0116800Y0084769D01*
-X0106800Y0084769D02*
-X0106800Y0078831D01*
-X0096800Y0078831D02*
-X0096800Y0084769D01*
-X0071800Y0084769D02*
-X0071800Y0078831D01*
-X0061800Y0078831D02*
-X0061800Y0084769D01*
-X0051800Y0084769D02*
-X0051800Y0078831D01*
-X0051800Y0243831D02*
-X0051800Y0249769D01*
-X0061800Y0249769D02*
-X0061800Y0243831D01*
-X0071800Y0243831D02*
-X0071800Y0249769D01*
-X0096800Y0249769D02*
-X0096800Y0243831D01*
-X0106800Y0243831D02*
-X0106800Y0249769D01*
-X0116800Y0249769D02*
-X0116800Y0243831D01*
-X0141800Y0243831D02*
-X0141800Y0249769D01*
-X0151800Y0249769D02*
-X0151800Y0243831D01*
-X0161800Y0243831D02*
-X0161800Y0249769D01*
-X0186800Y0249769D02*
-X0186800Y0243831D01*
-X0196800Y0243831D02*
-X0196800Y0249769D01*
-X0206800Y0249769D02*
-X0206800Y0243831D01*
-X0231800Y0243831D02*
-X0231800Y0249769D01*
-X0241800Y0249769D02*
-X0241800Y0243831D01*
-X0251800Y0243831D02*
-X0251800Y0249769D01*
-X0276800Y0249769D02*
-X0276800Y0243831D01*
-X0286800Y0243831D02*
-X0286800Y0249769D01*
-X0296800Y0249769D02*
-X0296800Y0243831D01*
-X0321800Y0243831D02*
-X0321800Y0249769D01*
-X0331800Y0249769D02*
-X0331800Y0243831D01*
-X0341800Y0243831D02*
-X0341800Y0249769D01*
-X0366800Y0249769D02*
-X0366800Y0243831D01*
-X0376800Y0243831D02*
-X0376800Y0249769D01*
-X0386800Y0249769D02*
-X0386800Y0243831D01*
-X0366800Y0288831D02*
-X0366800Y0294769D01*
-X0356800Y0294769D02*
-X0356800Y0288831D01*
-X0346800Y0288831D02*
-X0346800Y0294769D01*
-X0321800Y0294769D02*
-X0321800Y0288831D01*
-X0311800Y0288831D02*
-X0311800Y0294769D01*
-X0301800Y0294769D02*
-X0301800Y0288831D01*
-X0276800Y0288831D02*
-X0276800Y0294769D01*
-X0266800Y0294769D02*
-X0266800Y0288831D01*
-X0256800Y0288831D02*
-X0256800Y0294769D01*
-X0231800Y0294769D02*
-X0231800Y0288831D01*
-X0221800Y0288831D02*
-X0221800Y0294769D01*
-X0211800Y0294769D02*
-X0211800Y0288831D01*
-X0186800Y0288831D02*
-X0186800Y0294769D01*
-X0176800Y0294769D02*
-X0176800Y0288831D01*
-X0166800Y0288831D02*
-X0166800Y0294769D01*
-X0141800Y0294769D02*
-X0141800Y0288831D01*
-X0131800Y0288831D02*
-X0131800Y0294769D01*
-X0121800Y0294769D02*
-X0121800Y0288831D01*
-X0096800Y0288831D02*
-X0096800Y0294769D01*
-X0086800Y0294769D02*
-X0086800Y0288831D01*
-X0076800Y0288831D02*
-X0076800Y0294769D01*
-X0051800Y0294769D02*
-X0051800Y0288831D01*
-X0041800Y0288831D02*
-X0041800Y0294769D01*
-X0031800Y0294769D02*
-X0031800Y0288831D01*
-D15*
-X0176800Y0051800D03*
-M02*
diff -r f1ff1a81be20 -r 02467299402e pcb/Gerbers/collidoscope_pcb.TXT
--- a/pcb/Gerbers/collidoscope_pcb.TXT
+++ /dev/null
@@ -1,168 +0,0 @@
-%
-M48
-M72
-T01C0.02400
-T02C0.02500
-T03C0.03937
-T04C0.04000
-T05C0.11811
-%
-T01
-X176800Y51800
-T02
-X175800Y165200
-X175800Y170400
-T03
-X31800Y36800
-X41800Y36800
-X51800Y36800
-X76800Y36800
-X86800Y36800
-X96800Y36800
-X121800Y36800
-X131800Y36800
-X141800Y36800
-X166800Y36800
-X176800Y36800
-X186800Y36800
-X211800Y36800
-X221800Y36800
-X231800Y36800
-X256800Y36800
-X266800Y36800
-X276800Y36800
-X301800Y36800
-X311800Y36800
-X321800Y36800
-X346800Y36800
-X356800Y36800
-X366800Y36800
-X366800Y81800
-X376800Y81800
-X386800Y81800
-X341800Y81800
-X331800Y81800
-X321800Y81800
-X296800Y81800
-X286800Y81800
-X276800Y81800
-X251800Y81800
-X241800Y81800
-X231800Y81800
-X206800Y81800
-X196800Y81800
-X186800Y81800
-X161800Y81800
-X151800Y81800
-X141800Y81800
-X116800Y81800
-X106800Y81800
-X96800Y81800
-X71800Y81800
-X61800Y81800
-X51800Y81800
-X51800Y246800
-X61800Y246800
-X71800Y246800
-X96800Y246800
-X106800Y246800
-X116800Y246800
-X141800Y246800
-X151800Y246800
-X161800Y246800
-X186800Y246800
-X196800Y246800
-X206800Y246800
-X231800Y246800
-X241800Y246800
-X251800Y246800
-X276800Y246800
-X286800Y246800
-X296800Y246800
-X321800Y246800
-X331800Y246800
-X341800Y246800
-X366800Y246800
-X376800Y246800
-X386800Y246800
-X366800Y291800
-X356800Y291800
-X346800Y291800
-X321800Y291800
-X311800Y291800
-X301800Y291800
-X276800Y291800
-X266800Y291800
-X256800Y291800
-X231800Y291800
-X221800Y291800
-X211800Y291800
-X186800Y291800
-X176800Y291800
-X166800Y291800
-X141800Y291800
-X131800Y291800
-X121800Y291800
-X96800Y291800
-X86800Y291800
-X76800Y291800
-X51800Y291800
-X41800Y291800
-X31800Y291800
-T04
-X116800Y196800
-X126800Y196800
-X136800Y196800
-X146800Y196800
-X156800Y196800
-X166800Y196800
-X176800Y196800
-X186800Y196800
-X196800Y196800
-X206800Y196800
-X216800Y196800
-X226800Y196800
-X236800Y196800
-X246800Y196800
-X256800Y196800
-X266800Y196800
-X276800Y196800
-X286800Y196800
-X296800Y196800
-X306800Y196800
-X306800Y176800
-X306800Y166800
-X306800Y156800
-X306800Y136800
-X296800Y136800
-X286800Y136800
-X276800Y136800
-X266800Y136800
-X256800Y136800
-X246800Y136800
-X236800Y136800
-X226800Y136800
-X216800Y136800
-X206800Y136800
-X196800Y136800
-X186800Y136800
-X176800Y136800
-X166800Y136800
-X156800Y136800
-X146800Y136800
-X136800Y136800
-X126800Y136800
-X116800Y136800
-X246800Y166800
-X256800Y166800
-X266800Y166800
-X266800Y176800
-X256800Y176800
-X246800Y176800
-X276800Y176800
-X276800Y166800
-T05
-X386800Y301800
-X96800Y171800
-X391800Y31800
-M30
diff -r f1ff1a81be20 -r 02467299402e pcb/Readme.txt
--- a/pcb/Readme.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-
-Content of the Collidoscope PCB folder
-
-
-collidoscope_pcb.brd: Eagle file to open, modify the board and the create their own gerbers for manufacturing 
-
-collidoscope_pcb.sch: Eagle schematics to open, modify the schematics
-
-collidoscope_pcb_housing.ai: lasercut file for creating the acrylic overlay for the board
-
-Gerbers folder: machine files to manufacture your own Collidoscope PCB board 
diff -r f1ff1a81be20 -r 02467299402e pcb/collidoscope_pcb.brd
--- a/pcb/collidoscope_pcb.brd
+++ /dev/null
@@ -1,837 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE eagle SYSTEM "eagle.dtd">
-<eagle version="7.2.0">
-<drawing>
-<settings>
-<setting alwaysvectorfont="no"/>
-<setting verticaltext="up"/>
-</settings>
-<grid distance="0.05" unitdist="inch" unit="inch" style="lines" multiple="1" display="yes" altdistance="0.000000123031" altunitdist="inch" altunit="inch"/>
-<layers>
-<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
-<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
-<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
-<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
-<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
-<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
-<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
-<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
-<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
-<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
-<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
-<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
-<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
-<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
-<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
-<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
-<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
-<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
-<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
-<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
-<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
-<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
-<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
-<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
-<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
-<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
-<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
-<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
-<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
-<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
-<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
-<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
-<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
-<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
-<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
-<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
-</layers>
-<board>
-<plain>
-<wire x1="0" y1="0" x2="100" y2="0" width="0" layer="20"/>
-<wire x1="100" y1="0" x2="100" y2="80" width="0" layer="20"/>
-<wire x1="100" y1="80" x2="0" y2="80" width="0" layer="20"/>
-<wire x1="0" y1="80" x2="0" y2="0" width="0" layer="20"/>
-</plain>
-<libraries>
-<library name="teensypp">
-<packages>
-<package name="TEENSY++">
-<description>teensy ++</description>
-<wire x1="25.4" y1="8.89" x2="-25.4" y2="8.89" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-8.89" x2="25.4" y2="-8.89" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="8.89" x2="25.4" y2="6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="8.89" x2="-25.4" y2="6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-8.89" x2="-25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="1.016" x2="-25.4" y2="-1.016" width="0.1524" layer="21" curve="-180"/>
-<wire x1="-25.4" y1="6.35" x2="-25.4" y2="1.016" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="6.35" x2="25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-6.35" x2="25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-6.35" x2="-25.4" y2="-1.016" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="-6.35" x2="25.4" y2="-8.89" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="6.35" x2="25.4" y2="6.35" width="0.1524" layer="21"/>
-<pad name="GND" x="-24.13" y="-7.62" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
-<pad name="B7" x="-21.59" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D2" x="-13.97" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D3" x="-11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D0" x="-19.05" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D1" x="-16.51" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D4" x="-8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D5" x="-6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D6" x="-3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D7" x="-1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E0" x="1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E1" x="3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C0" x="6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C1" x="8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C2" x="11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C3" x="13.97" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C4" x="16.51" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C5" x="19.05" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C6" x="21.59" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C7" x="24.13" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F7" x="24.13" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F6" x="21.59" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F5" x="19.05" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F4" x="16.51" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F3" x="13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F2" x="11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F1" x="8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F0" x="6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="REF" x="3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="GRND1" x="1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E6" x="-1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E7" x="-3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B0" x="-6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B1" x="-8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B2" x="-11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B3" x="-13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B4" x="-16.51" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B5" x="-19.05" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B6" x="-21.59" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="+5V" x="-24.13" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="A4" x="8.89" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A5" x="11.43" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A6" x="13.97" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A7" x="16.51" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A3" x="16.51" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A2" x="13.97" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A1" x="11.43" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A0" x="8.89" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="RST" x="24.13" y="2.54" drill="1.016" diameter="1.8796" shape="square"/>
-<pad name="GND2" x="24.13" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="5V" x="24.13" y="-2.54" drill="1.016" diameter="1.8796"/>
-<pad name="E4" x="-9.144" y="0.9144" drill="0.635" diameter="1.0668" rot="R180"/>
-<pad name="E5" x="-9.144" y="-0.4064" drill="0.635" diameter="1.0668" rot="R180"/>
-<text x="-22.225" y="-4.445" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
-<text x="-25.908" y="-8.255" size="1.27" layer="25" ratio="10" rot="R90">&gt;NAME</text>
-<text x="-25.4" y="-11.43" size="1.27" layer="51" font="vector">Licensed Under Creative Commons </text>
-<text x="-25.4" y="-16.51" size="1.27" layer="51" font="vector">Designed by Tamir Emran</text>
-<text x="-25.4" y="-19.05" size="1.27" layer="51" font="vector">July 2011</text>
-<text x="-25.4" y="-13.97" size="1.27" layer="51" font="vector">Attribution-ShareAlike 3.0 Uported License</text>
-</package>
-</packages>
-</library>
-<library name="con-molex">
-<description>&lt;b&gt;Molex Connectors&lt;/b&gt;&lt;p&gt;
-&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
-<packages>
-<package name="22-23-2031">
-<description>.100" (2.54mm) Center Header - 3 Pin</description>
-<wire x1="-3.81" y1="3.175" x2="3.81" y2="3.175" width="0.254" layer="21"/>
-<wire x1="3.81" y1="3.175" x2="3.81" y2="1.27" width="0.254" layer="21"/>
-<wire x1="3.81" y1="1.27" x2="3.81" y2="-3.175" width="0.254" layer="21"/>
-<wire x1="3.81" y1="-3.175" x2="-3.81" y2="-3.175" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="-3.175" x2="-3.81" y2="1.27" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="1.27" x2="-3.81" y2="3.175" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="1.27" x2="3.81" y2="1.27" width="0.254" layer="21"/>
-<pad name="1" x="-2.54" y="0" drill="1" shape="long" rot="R90"/>
-<pad name="2" x="0" y="0" drill="1" shape="long" rot="R90"/>
-<pad name="3" x="2.54" y="0" drill="1" shape="long" rot="R90"/>
-<text x="-3.81" y="3.81" size="1.016" layer="25" ratio="10">&gt;NAME</text>
-<text x="-3.81" y="-5.08" size="1.016" layer="27" ratio="10">&gt;VALUE</text>
-</package>
-</packages>
-</library>
-</libraries>
-<attributes>
-</attributes>
-<variantdefs>
-</variantdefs>
-<classes>
-<class number="0" name="default" width="0" drill="0">
-</class>
-</classes>
-<designrules name="default">
-<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
-&lt;p&gt;
-Die Standard-Design-Rules sind so gewählt, dass sie für 
-die meisten Anwendungen passen. Sollte ihre Platine 
-besondere Anforderungen haben, treffen Sie die erforderlichen
-Einstellungen hier und speichern die Design Rules unter 
-einem neuen Namen ab.</description>
-<description language="en">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
-&lt;p&gt;
-The default Design Rules have been set to cover
-a wide range of applications. Your particular design
-may have different requirements, so please make the
-necessary adjustments and save your customized
-design rules under a new name.</description>
-<param name="layerSetup" value="(1*16)"/>
-<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
-<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
-<param name="mdWireWire" value="8mil"/>
-<param name="mdWirePad" value="8mil"/>
-<param name="mdWireVia" value="8mil"/>
-<param name="mdPadPad" value="8mil"/>
-<param name="mdPadVia" value="8mil"/>
-<param name="mdViaVia" value="8mil"/>
-<param name="mdSmdPad" value="8mil"/>
-<param name="mdSmdVia" value="8mil"/>
-<param name="mdSmdSmd" value="8mil"/>
-<param name="mdViaViaSameLayer" value="8mil"/>
-<param name="mnLayersViaInSmd" value="2"/>
-<param name="mdCopperDimension" value="40mil"/>
-<param name="mdDrill" value="8mil"/>
-<param name="mdSmdStop" value="0mil"/>
-<param name="msWidth" value="10mil"/>
-<param name="msDrill" value="24mil"/>
-<param name="msMicroVia" value="9.99mm"/>
-<param name="msBlindViaRatio" value="0.5"/>
-<param name="rvPadTop" value="0.25"/>
-<param name="rvPadInner" value="0.25"/>
-<param name="rvPadBottom" value="0.25"/>
-<param name="rvViaOuter" value="0.25"/>
-<param name="rvViaInner" value="0.25"/>
-<param name="rvMicroViaOuter" value="0.25"/>
-<param name="rvMicroViaInner" value="0.25"/>
-<param name="rlMinPadTop" value="10mil"/>
-<param name="rlMaxPadTop" value="20mil"/>
-<param name="rlMinPadInner" value="10mil"/>
-<param name="rlMaxPadInner" value="20mil"/>
-<param name="rlMinPadBottom" value="10mil"/>
-<param name="rlMaxPadBottom" value="20mil"/>
-<param name="rlMinViaOuter" value="8mil"/>
-<param name="rlMaxViaOuter" value="20mil"/>
-<param name="rlMinViaInner" value="8mil"/>
-<param name="rlMaxViaInner" value="20mil"/>
-<param name="rlMinMicroViaOuter" value="4mil"/>
-<param name="rlMaxMicroViaOuter" value="20mil"/>
-<param name="rlMinMicroViaInner" value="4mil"/>
-<param name="rlMaxMicroViaInner" value="20mil"/>
-<param name="psTop" value="-1"/>
-<param name="psBottom" value="-1"/>
-<param name="psFirst" value="-1"/>
-<param name="psElongationLong" value="100"/>
-<param name="psElongationOffset" value="100"/>
-<param name="mvStopFrame" value="1"/>
-<param name="mvCreamFrame" value="0"/>
-<param name="mlMinStopFrame" value="4mil"/>
-<param name="mlMaxStopFrame" value="4mil"/>
-<param name="mlMinCreamFrame" value="0mil"/>
-<param name="mlMaxCreamFrame" value="0mil"/>
-<param name="mlViaStopLimit" value="0mil"/>
-<param name="srRoundness" value="0"/>
-<param name="srMinRoundness" value="0mil"/>
-<param name="srMaxRoundness" value="0mil"/>
-<param name="slThermalIsolate" value="10mil"/>
-<param name="slThermalsForVias" value="0"/>
-<param name="dpMaxLengthDifference" value="10mm"/>
-<param name="dpGapFactor" value="2.5"/>
-<param name="checkGrid" value="0"/>
-<param name="checkAngle" value="0"/>
-<param name="checkFont" value="1"/>
-<param name="checkRestrict" value="1"/>
-<param name="useDiameter" value="13"/>
-<param name="maxErrors" value="50"/>
-</designrules>
-<autorouter>
-<pass name="Default">
-<param name="RoutingGrid" value="50mil"/>
-<param name="AutoGrid" value="1"/>
-<param name="Efforts" value="0"/>
-<param name="TopRouterVariant" value="1"/>
-<param name="tpViaShape" value="round"/>
-<param name="PrefDir.1" value="a"/>
-<param name="PrefDir.2" value="0"/>
-<param name="PrefDir.3" value="0"/>
-<param name="PrefDir.4" value="0"/>
-<param name="PrefDir.5" value="0"/>
-<param name="PrefDir.6" value="0"/>
-<param name="PrefDir.7" value="0"/>
-<param name="PrefDir.8" value="0"/>
-<param name="PrefDir.9" value="0"/>
-<param name="PrefDir.10" value="0"/>
-<param name="PrefDir.11" value="0"/>
-<param name="PrefDir.12" value="0"/>
-<param name="PrefDir.13" value="0"/>
-<param name="PrefDir.14" value="0"/>
-<param name="PrefDir.15" value="0"/>
-<param name="PrefDir.16" value="a"/>
-<param name="cfVia" value="8"/>
-<param name="cfNonPref" value="5"/>
-<param name="cfChangeDir" value="2"/>
-<param name="cfOrthStep" value="2"/>
-<param name="cfDiagStep" value="3"/>
-<param name="cfExtdStep" value="0"/>
-<param name="cfBonusStep" value="1"/>
-<param name="cfMalusStep" value="1"/>
-<param name="cfPadImpact" value="4"/>
-<param name="cfSmdImpact" value="4"/>
-<param name="cfBusImpact" value="0"/>
-<param name="cfHugging" value="3"/>
-<param name="cfAvoid" value="4"/>
-<param name="cfPolygon" value="10"/>
-<param name="cfBase.1" value="0"/>
-<param name="cfBase.2" value="1"/>
-<param name="cfBase.3" value="1"/>
-<param name="cfBase.4" value="1"/>
-<param name="cfBase.5" value="1"/>
-<param name="cfBase.6" value="1"/>
-<param name="cfBase.7" value="1"/>
-<param name="cfBase.8" value="1"/>
-<param name="cfBase.9" value="1"/>
-<param name="cfBase.10" value="1"/>
-<param name="cfBase.11" value="1"/>
-<param name="cfBase.12" value="1"/>
-<param name="cfBase.13" value="1"/>
-<param name="cfBase.14" value="1"/>
-<param name="cfBase.15" value="1"/>
-<param name="cfBase.16" value="0"/>
-<param name="mnVias" value="20"/>
-<param name="mnSegments" value="9999"/>
-<param name="mnExtdSteps" value="9999"/>
-<param name="mnRipupLevel" value="10"/>
-<param name="mnRipupSteps" value="100"/>
-<param name="mnRipupTotal" value="100"/>
-</pass>
-<pass name="Follow-me" refer="Default" active="yes">
-</pass>
-<pass name="Busses" refer="Default" active="yes">
-<param name="cfNonPref" value="4"/>
-<param name="cfBusImpact" value="4"/>
-<param name="cfHugging" value="0"/>
-<param name="mnVias" value="0"/>
-</pass>
-<pass name="Route" refer="Default" active="yes">
-</pass>
-<pass name="Optimize1" refer="Default" active="yes">
-<param name="cfVia" value="99"/>
-<param name="cfExtdStep" value="10"/>
-<param name="cfHugging" value="1"/>
-<param name="mnExtdSteps" value="1"/>
-<param name="mnRipupLevel" value="0"/>
-</pass>
-<pass name="Optimize2" refer="Optimize1" active="yes">
-<param name="cfNonPref" value="0"/>
-<param name="cfChangeDir" value="6"/>
-<param name="cfExtdStep" value="0"/>
-<param name="cfBonusStep" value="2"/>
-<param name="cfMalusStep" value="2"/>
-<param name="cfPadImpact" value="2"/>
-<param name="cfSmdImpact" value="2"/>
-<param name="cfHugging" value="0"/>
-</pass>
-<pass name="Optimize3" refer="Optimize2" active="yes">
-<param name="cfChangeDir" value="8"/>
-<param name="cfPadImpact" value="0"/>
-<param name="cfSmdImpact" value="0"/>
-</pass>
-<pass name="Optimize4" refer="Optimize3" active="yes">
-<param name="cfChangeDir" value="25"/>
-</pass>
-</autorouter>
-<elements>
-<element name="U$1" library="teensypp" package="TEENSY++" value="ARDUINO-TEENSY++" x="50.8" y="40.64"/>
-<element name="B6" library="con-molex" package="22-23-2031" value="22-23-2031" x="7.62" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="7.62" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="7.62" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="7.62" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="7.62" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B0" library="con-molex" package="22-23-2031" value="22-23-2031" x="41.91" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="41.91" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="41.91" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="41.91" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="41.91" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="INT6/7" library="con-molex" package="22-23-2031" value="22-23-2031" x="46.99" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="46.99" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="46.99" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="46.99" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="46.99" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="D6" library="con-molex" package="22-23-2031" value="22-23-2031" x="30.48" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="30.48" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="30.48" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="30.48" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="30.48" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F0" library="con-molex" package="22-23-2031" value="22-23-2031" x="53.34" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="53.34" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="53.34" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="53.34" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="53.34" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F1" library="con-molex" package="22-23-2031" value="22-23-2031" x="58.42" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="58.42" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="58.42" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="58.42" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="58.42" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F2" library="con-molex" package="22-23-2031" value="22-23-2031" x="64.77" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="64.77" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="64.77" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="64.77" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="64.77" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F3" library="con-molex" package="22-23-2031" value="22-23-2031" x="69.85" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="69.85" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="69.85" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="69.85" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="69.85" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F4" library="con-molex" package="22-23-2031" value="22-23-2031" x="76.2" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="76.2" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="76.2" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="76.2" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="76.2" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F5" library="con-molex" package="22-23-2031" value="22-23-2031" x="81.28" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="81.28" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="81.28" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="81.28" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="81.28" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F6" library="con-molex" package="22-23-2031" value="22-23-2031" x="87.63" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="87.63" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="87.63" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="87.63" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="87.63" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="INT0/1" library="con-molex" package="22-23-2031" value="22-23-2031" x="7.62" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="7.62" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="7.62" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="7.62" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="7.62" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="F7" library="con-molex" package="22-23-2031" value="22-23-2031" x="92.71" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="92.71" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="92.71" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="92.71" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="92.71" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="D5" library="con-molex" package="22-23-2031" value="22-23-2031" x="24.13" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="24.13" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="24.13" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="24.13" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="24.13" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="D7" library="con-molex" package="22-23-2031" value="22-23-2031" x="35.56" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="35.56" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="35.56" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="35.56" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="35.56" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="E0" library="con-molex" package="22-23-2031" value="22-23-2031" x="41.91" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="41.91" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="41.91" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="41.91" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="41.91" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="E1" library="con-molex" package="22-23-2031" value="22-23-2031" x="46.99" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="46.99" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="46.99" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="46.99" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="46.99" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C0" library="con-molex" package="22-23-2031" value="22-23-2031" x="53.34" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="53.34" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="53.34" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="53.34" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="53.34" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C1" library="con-molex" package="22-23-2031" value="22-23-2031" x="58.42" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="58.42" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="58.42" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="58.42" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="58.42" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C2" library="con-molex" package="22-23-2031" value="22-23-2031" x="64.77" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="64.77" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="64.77" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="64.77" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="64.77" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C3" library="con-molex" package="22-23-2031" value="22-23-2031" x="69.85" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="69.85" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="69.85" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="69.85" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="69.85" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C4" library="con-molex" package="22-23-2031" value="22-23-2031" x="76.2" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="76.2" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="76.2" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="76.2" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="76.2" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="INT2/3" library="con-molex" package="22-23-2031" value="22-23-2031" x="12.7" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="12.7" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="12.7" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="12.7" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="12.7" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C5" library="con-molex" package="22-23-2031" value="22-23-2031" x="81.28" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="81.28" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="81.28" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="81.28" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="81.28" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C6" library="con-molex" package="22-23-2031" value="22-23-2031" x="87.63" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="87.63" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="87.63" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="87.63" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="87.63" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="C7" library="con-molex" package="22-23-2031" value="22-23-2031" x="92.71" y="19.05">
-<attribute name="OC_NEWARK" value="30C0862" x="92.71" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="92.71" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="92.71" y="19.05" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="92.71" y="19.05" size="1.778" layer="27" display="off"/>
-</element>
-<element name="D4" library="con-molex" package="22-23-2031" value="22-23-2031" x="19.05" y="7.62">
-<attribute name="OC_NEWARK" value="30C0862" x="19.05" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="19.05" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="19.05" y="7.62" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="19.05" y="7.62" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B4" library="con-molex" package="22-23-2031" value="22-23-2031" x="19.05" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="19.05" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="19.05" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="19.05" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="19.05" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B5" library="con-molex" package="22-23-2031" value="22-23-2031" x="12.7" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="12.7" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="12.7" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="12.7" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="12.7" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B3" library="con-molex" package="22-23-2031" value="22-23-2031" x="24.13" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="24.13" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="24.13" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="24.13" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="24.13" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B2" library="con-molex" package="22-23-2031" value="22-23-2031" x="30.48" y="72.39">
-<attribute name="OC_NEWARK" value="30C0862" x="30.48" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="30.48" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="30.48" y="72.39" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="30.48" y="72.39" size="1.778" layer="27" display="off"/>
-</element>
-<element name="B1" library="con-molex" package="22-23-2031" value="22-23-2031" x="35.56" y="60.96">
-<attribute name="OC_NEWARK" value="30C0862" x="35.56" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MPN" value="22-23-2031" x="35.56" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="MF" value="MOLEX" x="35.56" y="60.96" size="1.778" layer="27" display="off"/>
-<attribute name="OC_FARNELL" value="1462950" x="35.56" y="60.96" size="1.778" layer="27" display="off"/>
-</element>
-</elements>
-<signals>
-<signal name="GND">
-<contactref element="U$1" pad="GRND1"/>
-<contactref element="B6" pad="3"/>
-<contactref element="B5" pad="3"/>
-<contactref element="B4" pad="3"/>
-<contactref element="B3" pad="3"/>
-<contactref element="B2" pad="3"/>
-<contactref element="B1" pad="3"/>
-<contactref element="B0" pad="3"/>
-<contactref element="F0" pad="3"/>
-<contactref element="F1" pad="3"/>
-<contactref element="F2" pad="3"/>
-<contactref element="F3" pad="3"/>
-<contactref element="F4" pad="3"/>
-<contactref element="F5" pad="3"/>
-<contactref element="F6" pad="3"/>
-<contactref element="F7" pad="3"/>
-<contactref element="INT0/1" pad="2"/>
-<contactref element="INT2/3" pad="2"/>
-<contactref element="D4" pad="3"/>
-<contactref element="D5" pad="3"/>
-<contactref element="INT6/7" pad="2"/>
-<contactref element="D6" pad="3"/>
-<contactref element="D7" pad="3"/>
-<contactref element="E0" pad="3"/>
-<contactref element="E1" pad="3"/>
-<contactref element="C0" pad="3"/>
-<contactref element="C1" pad="3"/>
-<contactref element="C2" pad="3"/>
-<contactref element="C3" pad="3"/>
-<contactref element="C4" pad="3"/>
-<contactref element="C5" pad="3"/>
-<contactref element="C6" pad="3"/>
-<contactref element="C7" pad="3"/>
-<contactref element="U$1" pad="GND"/>
-<polygon width="0.4064" layer="1">
-<vertex x="-2.54" y="83.82"/>
-<vertex x="102.87" y="83.82"/>
-<vertex x="102.87" y="82.55"/>
-<vertex x="102.87" y="-1.27"/>
-<vertex x="-2.54" y="-1.27"/>
-</polygon>
-</signal>
-<signal name="_GND2">
-<contactref element="U$1" pad="GND2"/>
-</signal>
-<signal name="+5V">
-<contactref element="U$1" pad="+5V"/>
-</signal>
-<signal name="VCC">
-<contactref element="B6" pad="1"/>
-<contactref element="U$1" pad="5V"/>
-<contactref element="B5" pad="1"/>
-<contactref element="B4" pad="1"/>
-<contactref element="B3" pad="1"/>
-<contactref element="B2" pad="1"/>
-<contactref element="B1" pad="1"/>
-<contactref element="B0" pad="1"/>
-<contactref element="F0" pad="1"/>
-<contactref element="F1" pad="1"/>
-<contactref element="F2" pad="1"/>
-<contactref element="F3" pad="1"/>
-<contactref element="F4" pad="1"/>
-<contactref element="F5" pad="1"/>
-<contactref element="F6" pad="1"/>
-<contactref element="F7" pad="1"/>
-<contactref element="D4" pad="1"/>
-<contactref element="D5" pad="1"/>
-<contactref element="D6" pad="1"/>
-<contactref element="D7" pad="1"/>
-<contactref element="E0" pad="1"/>
-<contactref element="E1" pad="1"/>
-<contactref element="C0" pad="1"/>
-<contactref element="C1" pad="1"/>
-<contactref element="C2" pad="1"/>
-<contactref element="C3" pad="1"/>
-<contactref element="C4" pad="1"/>
-<contactref element="C5" pad="1"/>
-<contactref element="C6" pad="1"/>
-<contactref element="C7" pad="1"/>
-<wire x1="73.66" y1="72.39" x2="85.09" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="62.23" y1="72.39" x2="73.66" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="50.8" y1="72.39" x2="62.23" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="39.37" y1="72.39" x2="50.8" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="27.94" y1="72.39" x2="39.37" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="16.51" y1="72.39" x2="27.94" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="5.08" y1="72.39" x2="16.51" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="90.17" y1="60.96" x2="85.09" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="78.74" y1="60.96" x2="90.17" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="67.31" y1="60.96" x2="78.74" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="55.88" y1="60.96" x2="67.31" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="33.02" y1="60.96" x2="27.94" y2="72.39" width="0" layer="19" extent="1-1"/>
-<wire x1="21.59" y1="60.96" x2="33.02" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="10.16" y1="60.96" x2="21.59" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="74.93" y1="38.1" x2="78.74" y2="60.96" width="0" layer="19" extent="1-1"/>
-<wire x1="78.74" y1="19.05" x2="74.93" y2="38.1" width="0" layer="19" extent="1-1"/>
-<wire x1="90.17" y1="19.05" x2="78.74" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="67.31" y1="19.05" x2="78.74" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="55.88" y1="19.05" x2="67.31" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="44.45" y1="19.05" x2="55.88" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="33.02" y1="19.05" x2="44.45" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="21.59" y1="19.05" x2="33.02" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="85.09" y1="7.62" x2="90.17" y2="19.05" width="0" layer="19" extent="1-1"/>
-<wire x1="73.66" y1="7.62" x2="85.09" y2="7.62" width="0" layer="19" extent="1-1"/>
-<wire x1="62.23" y1="7.62" x2="73.66" y2="7.62" width="0" layer="19" extent="1-1"/>
-<wire x1="50.8" y1="7.62" x2="62.23" y2="7.62" width="0" layer="19" extent="1-1"/>
-<wire x1="39.37" y1="7.62" x2="50.8" y2="7.62" width="0" layer="19" extent="1-1"/>
-<wire x1="27.94" y1="7.62" x2="39.37" y2="7.62" width="0" layer="19" extent="1-1"/>
-<wire x1="16.51" y1="7.62" x2="27.94" y2="7.62" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$1">
-<contactref element="U$1" pad="B6"/>
-<contactref element="B6" pad="2"/>
-<wire x1="29.21" y1="48.26" x2="7.62" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$2">
-<contactref element="B5" pad="2"/>
-<contactref element="U$1" pad="B5"/>
-<wire x1="12.7" y1="60.96" x2="31.75" y2="48.26" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$3">
-<contactref element="B4" pad="2"/>
-<contactref element="U$1" pad="B4"/>
-<wire x1="34.29" y1="48.26" x2="19.05" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$4">
-<contactref element="B3" pad="2"/>
-<contactref element="U$1" pad="B3"/>
-<wire x1="36.83" y1="48.26" x2="24.13" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$5">
-<contactref element="B2" pad="2"/>
-<contactref element="U$1" pad="B2"/>
-<wire x1="39.37" y1="48.26" x2="30.48" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$6">
-<contactref element="B1" pad="2"/>
-<contactref element="U$1" pad="B1"/>
-<wire x1="41.91" y1="48.26" x2="35.56" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$7">
-<contactref element="B0" pad="2"/>
-<contactref element="U$1" pad="B0"/>
-<wire x1="44.45" y1="48.26" x2="41.91" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$10">
-<contactref element="F0" pad="2"/>
-<contactref element="U$1" pad="F0"/>
-<wire x1="57.15" y1="48.26" x2="53.34" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$11">
-<contactref element="F1" pad="2"/>
-<contactref element="U$1" pad="F1"/>
-<wire x1="59.69" y1="48.26" x2="58.42" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$12">
-<contactref element="F2" pad="2"/>
-<contactref element="U$1" pad="F2"/>
-<wire x1="62.23" y1="48.26" x2="64.77" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$13">
-<contactref element="F3" pad="2"/>
-<contactref element="U$1" pad="F3"/>
-<wire x1="64.77" y1="48.26" x2="69.85" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$14">
-<contactref element="F4" pad="2"/>
-<contactref element="U$1" pad="F4"/>
-<wire x1="67.31" y1="48.26" x2="76.2" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$15">
-<contactref element="F5" pad="2"/>
-<contactref element="U$1" pad="F5"/>
-<wire x1="69.85" y1="48.26" x2="81.28" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$16">
-<contactref element="F6" pad="2"/>
-<contactref element="U$1" pad="F6"/>
-<wire x1="72.39" y1="48.26" x2="87.63" y2="72.39" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$17">
-<contactref element="F7" pad="2"/>
-<contactref element="U$1" pad="F7"/>
-<wire x1="74.93" y1="48.26" x2="92.71" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$8">
-<contactref element="INT6/7" pad="1"/>
-<contactref element="U$1" pad="E7"/>
-<wire x1="46.99" y1="48.26" x2="44.45" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$9">
-<contactref element="INT6/7" pad="3"/>
-<contactref element="U$1" pad="E6"/>
-<wire x1="49.53" y1="48.26" x2="49.53" y2="60.96" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$18">
-<contactref element="INT0/1" pad="1"/>
-<contactref element="U$1" pad="D0"/>
-<wire x1="5.08" y1="7.62" x2="31.75" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$19">
-<contactref element="U$1" pad="D1"/>
-<contactref element="INT0/1" pad="3"/>
-<wire x1="10.16" y1="7.62" x2="34.29" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$20">
-<contactref element="INT2/3" pad="1"/>
-<contactref element="U$1" pad="D2"/>
-<wire x1="10.16" y1="19.05" x2="36.83" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$21">
-<contactref element="INT2/3" pad="3"/>
-<contactref element="U$1" pad="D3"/>
-<wire x1="15.24" y1="19.05" x2="39.37" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$22">
-<contactref element="U$1" pad="D4"/>
-<contactref element="D4" pad="2"/>
-<wire x1="19.05" y1="7.62" x2="41.91" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$23">
-<contactref element="D5" pad="2"/>
-<contactref element="U$1" pad="D5"/>
-<wire x1="24.13" y1="19.05" x2="44.45" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$24">
-<contactref element="D6" pad="2"/>
-<contactref element="U$1" pad="D6"/>
-<wire x1="30.48" y1="7.62" x2="46.99" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$25">
-<contactref element="D7" pad="2"/>
-<contactref element="U$1" pad="D7"/>
-<wire x1="35.56" y1="19.05" x2="49.53" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$26">
-<contactref element="E0" pad="2"/>
-<contactref element="U$1" pad="E0"/>
-<wire x1="41.91" y1="7.62" x2="52.07" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$27">
-<contactref element="E1" pad="2"/>
-<contactref element="U$1" pad="E1"/>
-<wire x1="46.99" y1="19.05" x2="54.61" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$28">
-<contactref element="C0" pad="2"/>
-<contactref element="U$1" pad="C0"/>
-<wire x1="53.34" y1="7.62" x2="57.15" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$29">
-<contactref element="C1" pad="2"/>
-<contactref element="U$1" pad="C1"/>
-<wire x1="58.42" y1="19.05" x2="59.69" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$30">
-<contactref element="C2" pad="2"/>
-<contactref element="U$1" pad="C2"/>
-<wire x1="64.77" y1="7.62" x2="62.23" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$31">
-<contactref element="C3" pad="2"/>
-<contactref element="U$1" pad="C3"/>
-<wire x1="69.85" y1="19.05" x2="64.77" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$32">
-<contactref element="C4" pad="2"/>
-<contactref element="U$1" pad="C4"/>
-<wire x1="76.2" y1="7.62" x2="67.31" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$33">
-<contactref element="C5" pad="2"/>
-<contactref element="U$1" pad="C5"/>
-<wire x1="81.28" y1="19.05" x2="69.85" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$34">
-<contactref element="C6" pad="2"/>
-<contactref element="U$1" pad="C6"/>
-<wire x1="87.63" y1="7.62" x2="72.39" y2="33.02" width="0" layer="19" extent="1-1"/>
-</signal>
-<signal name="N$35">
-<contactref element="C7" pad="2"/>
-<contactref element="U$1" pad="C7"/>
-<wire x1="74.93" y1="33.02" x2="92.71" y2="19.05" width="0" layer="19" extent="1-1"/>
-</signal>
-</signals>
-</board>
-</drawing>
-</eagle>
diff -r f1ff1a81be20 -r 02467299402e pcb/collidoscope_pcb.sch
--- a/pcb/collidoscope_pcb.sch
+++ /dev/null
@@ -1,1323 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE eagle SYSTEM "eagle.dtd">
-<eagle version="7.5.0">
-<drawing>
-<settings>
-<setting alwaysvectorfont="no"/>
-<setting verticaltext="up"/>
-</settings>
-<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
-<layers>
-<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
-<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
-<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
-<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
-<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
-<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
-<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
-<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
-<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
-<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
-<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
-<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
-<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
-<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
-<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
-<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
-<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
-<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
-<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
-<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
-<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
-<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
-<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
-<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
-<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
-<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
-<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
-<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
-<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
-<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
-<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
-<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
-<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
-<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
-<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
-<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
-<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
-<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
-<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
-<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
-<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
-<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
-<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
-<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
-</layers>
-<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
-<libraries>
-<library name="teensypp">
-<packages>
-<package name="TEENSY++">
-<description>teensy ++</description>
-<wire x1="25.4" y1="8.89" x2="-25.4" y2="8.89" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-8.89" x2="25.4" y2="-8.89" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="8.89" x2="25.4" y2="6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="8.89" x2="-25.4" y2="6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-8.89" x2="-25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="1.016" x2="-25.4" y2="-1.016" width="0.1524" layer="21" curve="-180"/>
-<wire x1="-25.4" y1="6.35" x2="-25.4" y2="1.016" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="6.35" x2="25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-6.35" x2="25.4" y2="-6.35" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="-6.35" x2="-25.4" y2="-1.016" width="0.1524" layer="21"/>
-<wire x1="25.4" y1="-6.35" x2="25.4" y2="-8.89" width="0.1524" layer="21"/>
-<wire x1="-25.4" y1="6.35" x2="25.4" y2="6.35" width="0.1524" layer="21"/>
-<pad name="GND" x="-24.13" y="-7.62" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
-<pad name="B7" x="-21.59" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D2" x="-13.97" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D3" x="-11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D0" x="-19.05" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D1" x="-16.51" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D4" x="-8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D5" x="-6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D6" x="-3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="D7" x="-1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E0" x="1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E1" x="3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C0" x="6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C1" x="8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C2" x="11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C3" x="13.97" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C4" x="16.51" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C5" x="19.05" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C6" x="21.59" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="C7" x="24.13" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F7" x="24.13" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F6" x="21.59" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F5" x="19.05" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F4" x="16.51" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F3" x="13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F2" x="11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F1" x="8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="F0" x="6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="REF" x="3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="GRND1" x="1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E6" x="-1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="E7" x="-3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B0" x="-6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B1" x="-8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B2" x="-11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B3" x="-13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B4" x="-16.51" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B5" x="-19.05" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="B6" x="-21.59" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="+5V" x="-24.13" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
-<pad name="A4" x="8.89" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A5" x="11.43" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A6" x="13.97" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A7" x="16.51" y="2.54" drill="1.016" diameter="1.8796"/>
-<pad name="A3" x="16.51" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A2" x="13.97" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A1" x="11.43" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="A0" x="8.89" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="RST" x="24.13" y="2.54" drill="1.016" diameter="1.8796" shape="square"/>
-<pad name="GND2" x="24.13" y="0" drill="1.016" diameter="1.8796"/>
-<pad name="5V" x="24.13" y="-2.54" drill="1.016" diameter="1.8796"/>
-<pad name="E4" x="-9.144" y="0.9144" drill="0.635" diameter="1.0668" rot="R180"/>
-<pad name="E5" x="-9.144" y="-0.4064" drill="0.635" diameter="1.0668" rot="R180"/>
-<text x="-22.225" y="-4.445" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
-<text x="-25.908" y="-8.255" size="1.27" layer="25" ratio="10" rot="R90">&gt;NAME</text>
-<text x="-25.4" y="-11.43" size="1.27" layer="51" font="vector">Licensed Under Creative Commons </text>
-<text x="-25.4" y="-16.51" size="1.27" layer="51" font="vector">Designed by Tamir Emran</text>
-<text x="-25.4" y="-19.05" size="1.27" layer="51" font="vector">July 2011</text>
-<text x="-25.4" y="-13.97" size="1.27" layer="51" font="vector">Attribution-ShareAlike 3.0 Uported License</text>
-</package>
-</packages>
-<symbols>
-<symbol name="ARDUNIO">
-<wire x1="-22.86" y1="30.48" x2="17.78" y2="30.48" width="0.254" layer="94"/>
-<wire x1="17.78" y1="30.48" x2="17.78" y2="-45.72" width="0.254" layer="94"/>
-<wire x1="17.78" y1="-45.72" x2="-22.86" y2="-45.72" width="0.254" layer="94"/>
-<wire x1="-22.86" y1="-45.72" x2="-22.86" y2="30.48" width="0.254" layer="94"/>
-<text x="-20.32" y="33.02" size="1.778" layer="95" font="vector">&gt;NAME</text>
-<text x="-2.54" y="-15.24" size="1.778" layer="96" font="vector" rot="R270">&gt;VALUE</text>
-<text x="-7.62" y="-50.8" size="1.27" layer="97" font="vector">Teensy ++</text>
-<text x="-35.56" y="-55.88" size="1.27" layer="97" font="vector">Licensed Under Creative Commons Attribution-ShareAlike 3.0 Unported</text>
-<text x="-15.24" y="-60.96" size="1.27" layer="97" font="vector">Designed by Tamir Emran</text>
-<text x="-7.62" y="-66.04" size="1.27" layer="97" font="vector">July 2011</text>
-<pin name="GND" x="-27.94" y="27.94" length="middle" direction="pwr"/>
-<pin name="27,PWM" x="-27.94" y="25.4" length="middle"/>
-<pin name="0,PWM,INT0" x="-27.94" y="22.86" length="middle"/>
-<pin name="1,PWM,INT1" x="-27.94" y="20.32" length="middle"/>
-<pin name="2,RX,INT2" x="-27.94" y="17.78" length="middle"/>
-<pin name="3,TX,INT3" x="-27.94" y="15.24" length="middle"/>
-<pin name="4" x="-27.94" y="12.7" length="middle"/>
-<pin name="5" x="-27.94" y="10.16" length="middle"/>
-<pin name="6,LED" x="-27.94" y="7.62" length="middle"/>
-<pin name="7" x="-27.94" y="5.08" length="middle"/>
-<pin name="8" x="-27.94" y="2.54" length="middle"/>
-<pin name="9" x="-27.94" y="0" length="middle"/>
-<pin name="10" x="-27.94" y="-2.54" length="middle"/>
-<pin name="11" x="-27.94" y="-5.08" length="middle"/>
-<pin name="12" x="-27.94" y="-7.62" length="middle"/>
-<pin name="13" x="-27.94" y="-10.16" length="middle"/>
-<pin name="14,PWM" x="-27.94" y="-12.7" length="middle"/>
-<pin name="15,PWM" x="-27.94" y="-15.24" length="middle"/>
-<pin name="16,PWM" x="-27.94" y="-17.78" length="middle"/>
-<pin name="17" x="-27.94" y="-20.32" length="middle"/>
-<pin name="VCC" x="22.86" y="27.94" length="middle" direction="pwr" rot="R180"/>
-<pin name="26,PWM" x="22.86" y="25.4" length="middle" rot="R180"/>
-<pin name="25,PWM" x="22.86" y="22.86" length="middle" rot="R180"/>
-<pin name="24,PWM" x="22.86" y="20.32" length="middle" rot="R180"/>
-<pin name="23" x="22.86" y="17.78" length="middle" rot="R180"/>
-<pin name="22" x="22.86" y="15.24" length="middle" rot="R180"/>
-<pin name="21" x="22.86" y="12.7" length="middle" rot="R180"/>
-<pin name="20" x="22.86" y="10.16" length="middle" rot="R180"/>
-<pin name="19" x="22.86" y="7.62" length="middle" rot="R180"/>
-<pin name="18,INT6" x="22.86" y="5.08" length="middle" rot="R180"/>
-<pin name="GND@1" x="22.86" y="2.54" length="middle" direction="pwr" rot="R180"/>
-<pin name="AREF" x="22.86" y="0" length="middle" direction="in" rot="R180"/>
-<pin name="38,A0" x="22.86" y="-2.54" length="middle" rot="R180"/>
-<pin name="39,A1" x="22.86" y="-5.08" length="middle" rot="R180"/>
-<pin name="40,A2" x="22.86" y="-7.62" length="middle" rot="R180"/>
-<pin name="41,A3" x="22.86" y="-10.16" length="middle" rot="R180"/>
-<pin name="42,A4" x="22.86" y="-12.7" length="middle" rot="R180"/>
-<pin name="43,A5" x="22.86" y="-15.24" length="middle" rot="R180"/>
-<pin name="44,A6" x="22.86" y="-17.78" length="middle" rot="R180"/>
-<pin name="45,A7" x="22.86" y="-20.32" length="middle" rot="R180"/>
-<pin name="28" x="22.86" y="-25.4" length="middle" rot="R180"/>
-<pin name="29" x="22.86" y="-27.94" length="middle" rot="R180"/>
-<pin name="30" x="22.86" y="-30.48" length="middle" rot="R180"/>
-<pin name="31" x="22.86" y="-33.02" length="middle" rot="R180"/>
-<pin name="32" x="22.86" y="-35.56" length="middle" rot="R180"/>
-<pin name="33" x="22.86" y="-38.1" length="middle" rot="R180"/>
-<pin name="34" x="22.86" y="-40.64" length="middle" rot="R180"/>
-<pin name="35" x="22.86" y="-43.18" length="middle" rot="R180"/>
-<pin name="_RST" x="-27.94" y="-25.4" length="middle" direction="in"/>
-<pin name="_GND2" x="-27.94" y="-27.94" length="middle" direction="pwr"/>
-<pin name="+5V" x="-27.94" y="-30.48" length="middle" direction="pwr"/>
-<pin name="36,INT4" x="-27.94" y="-35.56" length="middle"/>
-<pin name="37,INT5" x="-27.94" y="-38.1" length="middle"/>
-</symbol>
-</symbols>
-<devicesets>
-<deviceset name="ARDUINO-TEENSY++">
-<description>&lt;b&gt;Teensy ++&lt;/b&gt;&lt;br&gt;
-Original Design by Mark Gross&lt;br&gt;
-Modified Design by Tamir Emran&lt;br&gt;
-Licensed Under Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</description>
-<gates>
-<gate name="G$1" symbol="ARDUNIO" x="-2.54" y="15.24"/>
-</gates>
-<devices>
-<device name="" package="TEENSY++">
-<connects>
-<connect gate="G$1" pin="+5V" pad="+5V"/>
-<connect gate="G$1" pin="0,PWM,INT0" pad="D0"/>
-<connect gate="G$1" pin="1,PWM,INT1" pad="D1"/>
-<connect gate="G$1" pin="10" pad="C0"/>
-<connect gate="G$1" pin="11" pad="C1"/>
-<connect gate="G$1" pin="12" pad="C2"/>
-<connect gate="G$1" pin="13" pad="C3"/>
-<connect gate="G$1" pin="14,PWM" pad="C4"/>
-<connect gate="G$1" pin="15,PWM" pad="C5"/>
-<connect gate="G$1" pin="16,PWM" pad="C6"/>
-<connect gate="G$1" pin="17" pad="C7"/>
-<connect gate="G$1" pin="18,INT6" pad="E6"/>
-<connect gate="G$1" pin="19" pad="E7"/>
-<connect gate="G$1" pin="2,RX,INT2" pad="D2"/>
-<connect gate="G$1" pin="20" pad="B0"/>
-<connect gate="G$1" pin="21" pad="B1"/>
-<connect gate="G$1" pin="22" pad="B2"/>
-<connect gate="G$1" pin="23" pad="B3"/>
-<connect gate="G$1" pin="24,PWM" pad="B4"/>
-<connect gate="G$1" pin="25,PWM" pad="B5"/>
-<connect gate="G$1" pin="26,PWM" pad="B6"/>
-<connect gate="G$1" pin="27,PWM" pad="B7"/>
-<connect gate="G$1" pin="28" pad="A0"/>
-<connect gate="G$1" pin="29" pad="A1"/>
-<connect gate="G$1" pin="3,TX,INT3" pad="D3"/>
-<connect gate="G$1" pin="30" pad="A2"/>
-<connect gate="G$1" pin="31" pad="A3"/>
-<connect gate="G$1" pin="32" pad="A4"/>
-<connect gate="G$1" pin="33" pad="A5"/>
-<connect gate="G$1" pin="34" pad="A6"/>
-<connect gate="G$1" pin="35" pad="A7"/>
-<connect gate="G$1" pin="36,INT4" pad="E4"/>
-<connect gate="G$1" pin="37,INT5" pad="E5"/>
-<connect gate="G$1" pin="38,A0" pad="F0"/>
-<connect gate="G$1" pin="39,A1" pad="F1"/>
-<connect gate="G$1" pin="4" pad="D4"/>
-<connect gate="G$1" pin="40,A2" pad="F2"/>
-<connect gate="G$1" pin="41,A3" pad="F3"/>
-<connect gate="G$1" pin="42,A4" pad="F4"/>
-<connect gate="G$1" pin="43,A5" pad="F5"/>
-<connect gate="G$1" pin="44,A6" pad="F6"/>
-<connect gate="G$1" pin="45,A7" pad="F7"/>
-<connect gate="G$1" pin="5" pad="D5"/>
-<connect gate="G$1" pin="6,LED" pad="D6"/>
-<connect gate="G$1" pin="7" pad="D7"/>
-<connect gate="G$1" pin="8" pad="E0"/>
-<connect gate="G$1" pin="9" pad="E1"/>
-<connect gate="G$1" pin="AREF" pad="REF"/>
-<connect gate="G$1" pin="GND" pad="GND"/>
-<connect gate="G$1" pin="GND@1" pad="GRND1"/>
-<connect gate="G$1" pin="VCC" pad="5V"/>
-<connect gate="G$1" pin="_GND2" pad="GND2"/>
-<connect gate="G$1" pin="_RST" pad="RST"/>
-</connects>
-<technologies>
-<technology name=""/>
-</technologies>
-</device>
-</devices>
-</deviceset>
-</devicesets>
-</library>
-<library name="con-molex">
-<description>&lt;b&gt;Molex Connectors&lt;/b&gt;&lt;p&gt;
-&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
-<packages>
-<package name="22-23-2031">
-<description>.100" (2.54mm) Center Header - 3 Pin</description>
-<wire x1="-3.81" y1="3.175" x2="3.81" y2="3.175" width="0.254" layer="21"/>
-<wire x1="3.81" y1="3.175" x2="3.81" y2="1.27" width="0.254" layer="21"/>
-<wire x1="3.81" y1="1.27" x2="3.81" y2="-3.175" width="0.254" layer="21"/>
-<wire x1="3.81" y1="-3.175" x2="-3.81" y2="-3.175" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="-3.175" x2="-3.81" y2="1.27" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="1.27" x2="-3.81" y2="3.175" width="0.254" layer="21"/>
-<wire x1="-3.81" y1="1.27" x2="3.81" y2="1.27" width="0.254" layer="21"/>
-<pad name="1" x="-2.54" y="0" drill="1" shape="long" rot="R90"/>
-<pad name="2" x="0" y="0" drill="1" shape="long" rot="R90"/>
-<pad name="3" x="2.54" y="0" drill="1" shape="long" rot="R90"/>
-<text x="-3.81" y="3.81" size="1.016" layer="25" ratio="10">&gt;NAME</text>
-<text x="-3.81" y="-5.08" size="1.016" layer="27" ratio="10">&gt;VALUE</text>
-</package>
-</packages>
-<symbols>
-<symbol name="MV">
-<wire x1="1.27" y1="0" x2="0" y2="0" width="0.6096" layer="94"/>
-<text x="2.54" y="-0.762" size="1.524" layer="95">&gt;NAME</text>
-<text x="-0.762" y="1.397" size="1.778" layer="96">&gt;VALUE</text>
-<pin name="S" x="-2.54" y="0" visible="off" length="short" direction="pas"/>
-</symbol>
-<symbol name="M">
-<wire x1="1.27" y1="0" x2="0" y2="0" width="0.6096" layer="94"/>
-<text x="2.54" y="-0.762" size="1.524" layer="95">&gt;NAME</text>
-<pin name="S" x="-2.54" y="0" visible="off" length="short" direction="pas"/>
-</symbol>
-</symbols>
-<devicesets>
-<deviceset name="22-23-2031" prefix="X">
-<description>.100" (2.54mm) Center Header - 3 Pin</description>
-<gates>
-<gate name="-1" symbol="MV" x="0" y="2.54" addlevel="always" swaplevel="1"/>
-<gate name="-2" symbol="M" x="0" y="0" addlevel="always" swaplevel="1"/>
-<gate name="-3" symbol="M" x="0" y="-2.54" addlevel="always" swaplevel="1"/>
-</gates>
-<devices>
-<device name="" package="22-23-2031">
-<connects>
-<connect gate="-1" pin="S" pad="1"/>
-<connect gate="-2" pin="S" pad="2"/>
-<connect gate="-3" pin="S" pad="3"/>
-</connects>
-<technologies>
-<technology name="">
-<attribute name="MF" value="MOLEX" constant="no"/>
-<attribute name="MPN" value="22-23-2031" constant="no"/>
-<attribute name="OC_FARNELL" value="1462950" constant="no"/>
-<attribute name="OC_NEWARK" value="30C0862" constant="no"/>
-</technology>
-</technologies>
-</device>
-</devices>
-</deviceset>
-</devicesets>
-</library>
-<library name="supply1">
-<description>&lt;b&gt;Supply Symbols&lt;/b&gt;&lt;p&gt;
- GND, VCC, 0V, +5V, -5V, etc.&lt;p&gt;
- Please keep in mind, that these devices are necessary for the
- automatic wiring of the supply signals.&lt;p&gt;
- The pin name defined in the symbol is identical to the net which is to be wired automatically.&lt;p&gt;
- In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.&lt;p&gt;
- &lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
-<packages>
-</packages>
-<symbols>
-<symbol name="GND">
-<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
-<text x="-2.54" y="-2.54" size="1.778" layer="96">&gt;VALUE</text>
-<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
-</symbol>
-<symbol name="VCC">
-<wire x1="1.27" y1="-1.905" x2="0" y2="0" width="0.254" layer="94"/>
-<wire x1="0" y1="0" x2="-1.27" y2="-1.905" width="0.254" layer="94"/>
-<text x="-2.54" y="-2.54" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
-<pin name="VCC" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
-</symbol>
-</symbols>
-<devicesets>
-<deviceset name="GND" prefix="GND">
-<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
-<gates>
-<gate name="1" symbol="GND" x="0" y="0"/>
-</gates>
-<devices>
-<device name="">
-<technologies>
-<technology name=""/>
-</technologies>
-</device>
-</devices>
-</deviceset>
-<deviceset name="VCC" prefix="P+">
-<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
-<gates>
-<gate name="VCC" symbol="VCC" x="0" y="0"/>
-</gates>
-<devices>
-<device name="">
-<technologies>
-<technology name=""/>
-</technologies>
-</device>
-</devices>
-</deviceset>
-</devicesets>
-</library>
-</libraries>
-<attributes>
-</attributes>
-<variantdefs>
-</variantdefs>
-<classes>
-<class number="0" name="default" width="0.3048" drill="0.508">
-<clearance class="0" value="0.254"/>
-</class>
-</classes>
-<parts>
-<part name="U$1" library="teensypp" deviceset="ARDUINO-TEENSY++" device=""/>
-<part name="B6" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="INT0/1" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND1" library="supply1" deviceset="GND" device=""/>
-<part name="P+1" library="supply1" deviceset="VCC" device=""/>
-<part name="P+2" library="supply1" deviceset="VCC" device=""/>
-<part name="B5" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND3" library="supply1" deviceset="GND" device=""/>
-<part name="P+4" library="supply1" deviceset="VCC" device=""/>
-<part name="B4" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND2" library="supply1" deviceset="GND" device=""/>
-<part name="P+3" library="supply1" deviceset="VCC" device=""/>
-<part name="B3" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND4" library="supply1" deviceset="GND" device=""/>
-<part name="P+5" library="supply1" deviceset="VCC" device=""/>
-<part name="B2" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND5" library="supply1" deviceset="GND" device=""/>
-<part name="P+6" library="supply1" deviceset="VCC" device=""/>
-<part name="B1" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND6" library="supply1" deviceset="GND" device=""/>
-<part name="P+7" library="supply1" deviceset="VCC" device=""/>
-<part name="B0" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND7" library="supply1" deviceset="GND" device=""/>
-<part name="P+8" library="supply1" deviceset="VCC" device=""/>
-<part name="INT6/7" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND8" library="supply1" deviceset="GND" device=""/>
-<part name="F0" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND10" library="supply1" deviceset="GND" device=""/>
-<part name="P+11" library="supply1" deviceset="VCC" device=""/>
-<part name="F1" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND11" library="supply1" deviceset="GND" device=""/>
-<part name="P+12" library="supply1" deviceset="VCC" device=""/>
-<part name="F2" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND12" library="supply1" deviceset="GND" device=""/>
-<part name="P+13" library="supply1" deviceset="VCC" device=""/>
-<part name="F3" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND13" library="supply1" deviceset="GND" device=""/>
-<part name="P+14" library="supply1" deviceset="VCC" device=""/>
-<part name="F4" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND14" library="supply1" deviceset="GND" device=""/>
-<part name="P+15" library="supply1" deviceset="VCC" device=""/>
-<part name="F5" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND15" library="supply1" deviceset="GND" device=""/>
-<part name="P+16" library="supply1" deviceset="VCC" device=""/>
-<part name="F6" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND16" library="supply1" deviceset="GND" device=""/>
-<part name="P+17" library="supply1" deviceset="VCC" device=""/>
-<part name="F7" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND17" library="supply1" deviceset="GND" device=""/>
-<part name="P+18" library="supply1" deviceset="VCC" device=""/>
-<part name="GND19" library="supply1" deviceset="GND" device=""/>
-<part name="INT2/3" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND18" library="supply1" deviceset="GND" device=""/>
-<part name="D4" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND20" library="supply1" deviceset="GND" device=""/>
-<part name="P+19" library="supply1" deviceset="VCC" device=""/>
-<part name="D5" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND21" library="supply1" deviceset="GND" device=""/>
-<part name="P+20" library="supply1" deviceset="VCC" device=""/>
-<part name="D6" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND9" library="supply1" deviceset="GND" device=""/>
-<part name="P+9" library="supply1" deviceset="VCC" device=""/>
-<part name="D7" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND22" library="supply1" deviceset="GND" device=""/>
-<part name="P+10" library="supply1" deviceset="VCC" device=""/>
-<part name="E0" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND23" library="supply1" deviceset="GND" device=""/>
-<part name="P+21" library="supply1" deviceset="VCC" device=""/>
-<part name="E1" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND24" library="supply1" deviceset="GND" device=""/>
-<part name="P+22" library="supply1" deviceset="VCC" device=""/>
-<part name="C0" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND25" library="supply1" deviceset="GND" device=""/>
-<part name="P+23" library="supply1" deviceset="VCC" device=""/>
-<part name="C1" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND26" library="supply1" deviceset="GND" device=""/>
-<part name="P+24" library="supply1" deviceset="VCC" device=""/>
-<part name="C2" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND27" library="supply1" deviceset="GND" device=""/>
-<part name="P+25" library="supply1" deviceset="VCC" device=""/>
-<part name="C3" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND28" library="supply1" deviceset="GND" device=""/>
-<part name="P+26" library="supply1" deviceset="VCC" device=""/>
-<part name="C4" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND29" library="supply1" deviceset="GND" device=""/>
-<part name="P+27" library="supply1" deviceset="VCC" device=""/>
-<part name="C5" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND30" library="supply1" deviceset="GND" device=""/>
-<part name="P+28" library="supply1" deviceset="VCC" device=""/>
-<part name="C6" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND31" library="supply1" deviceset="GND" device=""/>
-<part name="P+29" library="supply1" deviceset="VCC" device=""/>
-<part name="C7" library="con-molex" deviceset="22-23-2031" device=""/>
-<part name="GND32" library="supply1" deviceset="GND" device=""/>
-<part name="P+30" library="supply1" deviceset="VCC" device=""/>
-<part name="GND33" library="supply1" deviceset="GND" device=""/>
-</parts>
-<sheets>
-<sheet>
-<plain>
-</plain>
-<instances>
-<instance part="U$1" gate="G$1" x="139.7" y="203.2"/>
-<instance part="B6" gate="-1" x="256.54" y="335.28"/>
-<instance part="B6" gate="-2" x="256.54" y="332.74"/>
-<instance part="B6" gate="-3" x="256.54" y="330.2"/>
-<instance part="INT0/1" gate="-1" x="20.32" y="335.28" rot="MR0"/>
-<instance part="INT0/1" gate="-2" x="20.32" y="332.74" rot="MR0"/>
-<instance part="INT0/1" gate="-3" x="20.32" y="330.2" rot="MR0"/>
-<instance part="GND1" gate="1" x="254" y="325.12"/>
-<instance part="P+1" gate="VCC" x="254" y="340.36"/>
-<instance part="P+2" gate="VCC" x="177.8" y="231.14" rot="R270"/>
-<instance part="B5" gate="-1" x="256.54" y="314.96"/>
-<instance part="B5" gate="-2" x="256.54" y="312.42"/>
-<instance part="B5" gate="-3" x="256.54" y="309.88"/>
-<instance part="GND3" gate="1" x="254" y="304.8"/>
-<instance part="P+4" gate="VCC" x="254" y="320.04"/>
-<instance part="B4" gate="-1" x="256.54" y="294.64"/>
-<instance part="B4" gate="-2" x="256.54" y="292.1"/>
-<instance part="B4" gate="-3" x="256.54" y="289.56"/>
-<instance part="GND2" gate="1" x="254" y="284.48"/>
-<instance part="P+3" gate="VCC" x="254" y="299.72"/>
-<instance part="B3" gate="-1" x="256.54" y="274.32"/>
-<instance part="B3" gate="-2" x="256.54" y="271.78"/>
-<instance part="B3" gate="-3" x="256.54" y="269.24"/>
-<instance part="GND4" gate="1" x="254" y="264.16"/>
-<instance part="P+5" gate="VCC" x="254" y="279.4"/>
-<instance part="B2" gate="-1" x="256.54" y="254"/>
-<instance part="B2" gate="-2" x="256.54" y="251.46"/>
-<instance part="B2" gate="-3" x="256.54" y="248.92"/>
-<instance part="GND5" gate="1" x="254" y="243.84"/>
-<instance part="P+6" gate="VCC" x="254" y="259.08"/>
-<instance part="B1" gate="-1" x="256.54" y="233.68"/>
-<instance part="B1" gate="-2" x="256.54" y="231.14"/>
-<instance part="B1" gate="-3" x="256.54" y="228.6"/>
-<instance part="GND6" gate="1" x="254" y="223.52"/>
-<instance part="P+7" gate="VCC" x="254" y="238.76"/>
-<instance part="B0" gate="-1" x="256.54" y="213.36"/>
-<instance part="B0" gate="-2" x="256.54" y="210.82"/>
-<instance part="B0" gate="-3" x="256.54" y="208.28"/>
-<instance part="GND7" gate="1" x="254" y="203.2"/>
-<instance part="P+8" gate="VCC" x="254" y="218.44"/>
-<instance part="INT6/7" gate="-1" x="256.54" y="193.04"/>
-<instance part="INT6/7" gate="-2" x="256.54" y="190.5"/>
-<instance part="INT6/7" gate="-3" x="256.54" y="187.96"/>
-<instance part="GND8" gate="1" x="248.92" y="190.5" rot="R270"/>
-<instance part="F0" gate="-1" x="256.54" y="149.86"/>
-<instance part="F0" gate="-2" x="256.54" y="147.32"/>
-<instance part="F0" gate="-3" x="256.54" y="144.78"/>
-<instance part="GND10" gate="1" x="254" y="139.7"/>
-<instance part="P+11" gate="VCC" x="254" y="154.94"/>
-<instance part="F1" gate="-1" x="256.54" y="129.54"/>
-<instance part="F1" gate="-2" x="256.54" y="127"/>
-<instance part="F1" gate="-3" x="256.54" y="124.46"/>
-<instance part="GND11" gate="1" x="254" y="119.38"/>
-<instance part="P+12" gate="VCC" x="254" y="134.62"/>
-<instance part="F2" gate="-1" x="256.54" y="109.22"/>
-<instance part="F2" gate="-2" x="256.54" y="106.68"/>
-<instance part="F2" gate="-3" x="256.54" y="104.14"/>
-<instance part="GND12" gate="1" x="254" y="99.06"/>
-<instance part="P+13" gate="VCC" x="254" y="114.3"/>
-<instance part="F3" gate="-1" x="256.54" y="88.9"/>
-<instance part="F3" gate="-2" x="256.54" y="86.36"/>
-<instance part="F3" gate="-3" x="256.54" y="83.82"/>
-<instance part="GND13" gate="1" x="254" y="78.74"/>
-<instance part="P+14" gate="VCC" x="254" y="93.98"/>
-<instance part="F4" gate="-1" x="256.54" y="68.58"/>
-<instance part="F4" gate="-2" x="256.54" y="66.04"/>
-<instance part="F4" gate="-3" x="256.54" y="63.5"/>
-<instance part="GND14" gate="1" x="254" y="58.42"/>
-<instance part="P+15" gate="VCC" x="254" y="73.66"/>
-<instance part="F5" gate="-1" x="256.54" y="48.26"/>
-<instance part="F5" gate="-2" x="256.54" y="45.72"/>
-<instance part="F5" gate="-3" x="256.54" y="43.18"/>
-<instance part="GND15" gate="1" x="254" y="38.1"/>
-<instance part="P+16" gate="VCC" x="254" y="53.34"/>
-<instance part="F6" gate="-1" x="256.54" y="27.94"/>
-<instance part="F6" gate="-2" x="256.54" y="25.4"/>
-<instance part="F6" gate="-3" x="256.54" y="22.86"/>
-<instance part="GND16" gate="1" x="254" y="17.78"/>
-<instance part="P+17" gate="VCC" x="254" y="33.02"/>
-<instance part="F7" gate="-1" x="256.54" y="7.62"/>
-<instance part="F7" gate="-2" x="256.54" y="5.08"/>
-<instance part="F7" gate="-3" x="256.54" y="2.54"/>
-<instance part="GND17" gate="1" x="254" y="-2.54"/>
-<instance part="P+18" gate="VCC" x="254" y="12.7"/>
-<instance part="GND19" gate="1" x="30.48" y="332.74" rot="R90"/>
-<instance part="INT2/3" gate="-1" x="20.32" y="325.12" rot="MR0"/>
-<instance part="INT2/3" gate="-2" x="20.32" y="322.58" rot="MR0"/>
-<instance part="INT2/3" gate="-3" x="20.32" y="320.04" rot="MR0"/>
-<instance part="GND18" gate="1" x="30.48" y="322.58" rot="R90"/>
-<instance part="D4" gate="-1" x="17.78" y="309.88" rot="MR0"/>
-<instance part="D4" gate="-2" x="17.78" y="307.34" rot="MR0"/>
-<instance part="D4" gate="-3" x="17.78" y="304.8" rot="MR0"/>
-<instance part="GND20" gate="1" x="20.32" y="299.72"/>
-<instance part="P+19" gate="VCC" x="20.32" y="314.96"/>
-<instance part="D5" gate="-1" x="17.78" y="287.02" rot="MR0"/>
-<instance part="D5" gate="-2" x="17.78" y="284.48" rot="MR0"/>
-<instance part="D5" gate="-3" x="17.78" y="281.94" rot="MR0"/>
-<instance part="GND21" gate="1" x="20.32" y="276.86"/>
-<instance part="P+20" gate="VCC" x="20.32" y="292.1"/>
-<instance part="D6" gate="-1" x="17.78" y="264.16" rot="MR0"/>
-<instance part="D6" gate="-2" x="17.78" y="261.62" rot="MR0"/>
-<instance part="D6" gate="-3" x="17.78" y="259.08" rot="MR0"/>
-<instance part="GND9" gate="1" x="20.32" y="254"/>
-<instance part="P+9" gate="VCC" x="20.32" y="269.24"/>
-<instance part="D7" gate="-1" x="17.78" y="241.3" rot="MR0"/>
-<instance part="D7" gate="-2" x="17.78" y="238.76" rot="MR0"/>
-<instance part="D7" gate="-3" x="17.78" y="236.22" rot="MR0"/>
-<instance part="GND22" gate="1" x="20.32" y="231.14"/>
-<instance part="P+10" gate="VCC" x="20.32" y="246.38"/>
-<instance part="E0" gate="-1" x="17.78" y="220.98" rot="MR0"/>
-<instance part="E0" gate="-2" x="17.78" y="218.44" rot="MR0"/>
-<instance part="E0" gate="-3" x="17.78" y="215.9" rot="MR0"/>
-<instance part="GND23" gate="1" x="20.32" y="210.82"/>
-<instance part="P+21" gate="VCC" x="20.32" y="226.06"/>
-<instance part="E1" gate="-1" x="17.78" y="198.12" rot="MR0"/>
-<instance part="E1" gate="-2" x="17.78" y="195.58" rot="MR0"/>
-<instance part="E1" gate="-3" x="17.78" y="193.04" rot="MR0"/>
-<instance part="GND24" gate="1" x="20.32" y="187.96"/>
-<instance part="P+22" gate="VCC" x="20.32" y="203.2"/>
-<instance part="C0" gate="-1" x="17.78" y="175.26" rot="MR0"/>
-<instance part="C0" gate="-2" x="17.78" y="172.72" rot="MR0"/>
-<instance part="C0" gate="-3" x="17.78" y="170.18" rot="MR0"/>
-<instance part="GND25" gate="1" x="20.32" y="165.1"/>
-<instance part="P+23" gate="VCC" x="20.32" y="180.34"/>
-<instance part="C1" gate="-1" x="17.78" y="152.4" rot="MR0"/>
-<instance part="C1" gate="-2" x="17.78" y="149.86" rot="MR0"/>
-<instance part="C1" gate="-3" x="17.78" y="147.32" rot="MR0"/>
-<instance part="GND26" gate="1" x="20.32" y="142.24"/>
-<instance part="P+24" gate="VCC" x="20.32" y="157.48"/>
-<instance part="C2" gate="-1" x="17.78" y="129.54" rot="MR0"/>
-<instance part="C2" gate="-2" x="17.78" y="127" rot="MR0"/>
-<instance part="C2" gate="-3" x="17.78" y="124.46" rot="MR0"/>
-<instance part="GND27" gate="1" x="20.32" y="119.38"/>
-<instance part="P+25" gate="VCC" x="20.32" y="134.62"/>
-<instance part="C3" gate="-1" x="17.78" y="106.68" rot="MR0"/>
-<instance part="C3" gate="-2" x="17.78" y="104.14" rot="MR0"/>
-<instance part="C3" gate="-3" x="17.78" y="101.6" rot="MR0"/>
-<instance part="GND28" gate="1" x="20.32" y="96.52"/>
-<instance part="P+26" gate="VCC" x="20.32" y="111.76"/>
-<instance part="C4" gate="-1" x="17.78" y="86.36" rot="MR0"/>
-<instance part="C4" gate="-2" x="17.78" y="83.82" rot="MR0"/>
-<instance part="C4" gate="-3" x="17.78" y="81.28" rot="MR0"/>
-<instance part="GND29" gate="1" x="20.32" y="76.2"/>
-<instance part="P+27" gate="VCC" x="20.32" y="91.44"/>
-<instance part="C5" gate="-1" x="17.78" y="63.5" rot="MR0"/>
-<instance part="C5" gate="-2" x="17.78" y="60.96" rot="MR0"/>
-<instance part="C5" gate="-3" x="17.78" y="58.42" rot="MR0"/>
-<instance part="GND30" gate="1" x="20.32" y="53.34"/>
-<instance part="P+28" gate="VCC" x="20.32" y="68.58"/>
-<instance part="C6" gate="-1" x="17.78" y="40.64" rot="MR0"/>
-<instance part="C6" gate="-2" x="17.78" y="38.1" rot="MR0"/>
-<instance part="C6" gate="-3" x="17.78" y="35.56" rot="MR0"/>
-<instance part="GND31" gate="1" x="20.32" y="30.48"/>
-<instance part="P+29" gate="VCC" x="20.32" y="45.72"/>
-<instance part="C7" gate="-1" x="17.78" y="17.78" rot="MR0"/>
-<instance part="C7" gate="-2" x="17.78" y="15.24" rot="MR0"/>
-<instance part="C7" gate="-3" x="17.78" y="12.7" rot="MR0"/>
-<instance part="GND32" gate="1" x="20.32" y="7.62"/>
-<instance part="P+30" gate="VCC" x="20.32" y="22.86"/>
-<instance part="GND33" gate="1" x="109.22" y="238.76" rot="R180"/>
-</instances>
-<busses>
-</busses>
-<nets>
-<net name="VCC" class="0">
-<segment>
-<pinref part="P+1" gate="VCC" pin="VCC"/>
-<pinref part="B6" gate="-1" pin="S"/>
-<wire x1="254" y1="337.82" x2="254" y2="340.36" width="0.1524" layer="91"/>
-<wire x1="254" y1="337.82" x2="254" y2="335.28" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+2" gate="VCC" pin="VCC"/>
-<pinref part="U$1" gate="G$1" pin="VCC"/>
-<wire x1="175.26" y1="231.14" x2="162.56" y2="231.14" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+4" gate="VCC" pin="VCC"/>
-<pinref part="B5" gate="-1" pin="S"/>
-<wire x1="254" y1="317.5" x2="254" y2="320.04" width="0.1524" layer="91"/>
-<wire x1="254" y1="317.5" x2="254" y2="314.96" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+3" gate="VCC" pin="VCC"/>
-<pinref part="B4" gate="-1" pin="S"/>
-<wire x1="254" y1="297.18" x2="254" y2="299.72" width="0.1524" layer="91"/>
-<wire x1="254" y1="297.18" x2="254" y2="294.64" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+5" gate="VCC" pin="VCC"/>
-<pinref part="B3" gate="-1" pin="S"/>
-<wire x1="254" y1="276.86" x2="254" y2="279.4" width="0.1524" layer="91"/>
-<wire x1="254" y1="274.32" x2="254" y2="276.86" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+6" gate="VCC" pin="VCC"/>
-<pinref part="B2" gate="-1" pin="S"/>
-<wire x1="254" y1="256.54" x2="254" y2="259.08" width="0.1524" layer="91"/>
-<wire x1="254" y1="256.54" x2="254" y2="254" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+7" gate="VCC" pin="VCC"/>
-<pinref part="B1" gate="-1" pin="S"/>
-<wire x1="254" y1="236.22" x2="254" y2="238.76" width="0.1524" layer="91"/>
-<wire x1="254" y1="236.22" x2="254" y2="233.68" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+8" gate="VCC" pin="VCC"/>
-<pinref part="B0" gate="-1" pin="S"/>
-<wire x1="254" y1="215.9" x2="254" y2="218.44" width="0.1524" layer="91"/>
-<wire x1="254" y1="215.9" x2="254" y2="213.36" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+11" gate="VCC" pin="VCC"/>
-<pinref part="F0" gate="-1" pin="S"/>
-<wire x1="254" y1="152.4" x2="254" y2="154.94" width="0.1524" layer="91"/>
-<wire x1="254" y1="152.4" x2="254" y2="149.86" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+12" gate="VCC" pin="VCC"/>
-<pinref part="F1" gate="-1" pin="S"/>
-<wire x1="254" y1="132.08" x2="254" y2="134.62" width="0.1524" layer="91"/>
-<wire x1="254" y1="132.08" x2="254" y2="129.54" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+13" gate="VCC" pin="VCC"/>
-<pinref part="F2" gate="-1" pin="S"/>
-<wire x1="254" y1="111.76" x2="254" y2="114.3" width="0.1524" layer="91"/>
-<wire x1="254" y1="111.76" x2="254" y2="109.22" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+14" gate="VCC" pin="VCC"/>
-<pinref part="F3" gate="-1" pin="S"/>
-<wire x1="254" y1="91.44" x2="254" y2="93.98" width="0.1524" layer="91"/>
-<wire x1="254" y1="91.44" x2="254" y2="88.9" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+15" gate="VCC" pin="VCC"/>
-<pinref part="F4" gate="-1" pin="S"/>
-<wire x1="254" y1="71.12" x2="254" y2="73.66" width="0.1524" layer="91"/>
-<wire x1="254" y1="71.12" x2="254" y2="68.58" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+16" gate="VCC" pin="VCC"/>
-<pinref part="F5" gate="-1" pin="S"/>
-<wire x1="254" y1="50.8" x2="254" y2="53.34" width="0.1524" layer="91"/>
-<wire x1="254" y1="50.8" x2="254" y2="48.26" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+17" gate="VCC" pin="VCC"/>
-<pinref part="F6" gate="-1" pin="S"/>
-<wire x1="254" y1="30.48" x2="254" y2="33.02" width="0.1524" layer="91"/>
-<wire x1="254" y1="30.48" x2="254" y2="27.94" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+18" gate="VCC" pin="VCC"/>
-<pinref part="F7" gate="-1" pin="S"/>
-<wire x1="254" y1="10.16" x2="254" y2="12.7" width="0.1524" layer="91"/>
-<wire x1="254" y1="10.16" x2="254" y2="7.62" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+19" gate="VCC" pin="VCC"/>
-<pinref part="D4" gate="-1" pin="S"/>
-<wire x1="20.32" y1="312.42" x2="20.32" y2="309.88" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+20" gate="VCC" pin="VCC"/>
-<pinref part="D5" gate="-1" pin="S"/>
-<wire x1="20.32" y1="289.56" x2="20.32" y2="287.02" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+9" gate="VCC" pin="VCC"/>
-<pinref part="D6" gate="-1" pin="S"/>
-<wire x1="20.32" y1="266.7" x2="20.32" y2="264.16" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+10" gate="VCC" pin="VCC"/>
-<pinref part="D7" gate="-1" pin="S"/>
-<wire x1="20.32" y1="243.84" x2="20.32" y2="241.3" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+21" gate="VCC" pin="VCC"/>
-<pinref part="E0" gate="-1" pin="S"/>
-<wire x1="20.32" y1="223.52" x2="20.32" y2="220.98" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+22" gate="VCC" pin="VCC"/>
-<pinref part="E1" gate="-1" pin="S"/>
-<wire x1="20.32" y1="200.66" x2="20.32" y2="198.12" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+23" gate="VCC" pin="VCC"/>
-<pinref part="C0" gate="-1" pin="S"/>
-<wire x1="20.32" y1="177.8" x2="20.32" y2="175.26" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+24" gate="VCC" pin="VCC"/>
-<pinref part="C1" gate="-1" pin="S"/>
-<wire x1="20.32" y1="154.94" x2="20.32" y2="152.4" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+25" gate="VCC" pin="VCC"/>
-<pinref part="C2" gate="-1" pin="S"/>
-<wire x1="20.32" y1="132.08" x2="20.32" y2="129.54" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+26" gate="VCC" pin="VCC"/>
-<pinref part="C3" gate="-1" pin="S"/>
-<wire x1="20.32" y1="109.22" x2="20.32" y2="106.68" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+27" gate="VCC" pin="VCC"/>
-<pinref part="C4" gate="-1" pin="S"/>
-<wire x1="20.32" y1="88.9" x2="20.32" y2="86.36" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+28" gate="VCC" pin="VCC"/>
-<pinref part="C5" gate="-1" pin="S"/>
-<wire x1="20.32" y1="66.04" x2="20.32" y2="63.5" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+29" gate="VCC" pin="VCC"/>
-<pinref part="C6" gate="-1" pin="S"/>
-<wire x1="20.32" y1="43.18" x2="20.32" y2="40.64" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="P+30" gate="VCC" pin="VCC"/>
-<pinref part="C7" gate="-1" pin="S"/>
-<wire x1="20.32" y1="20.32" x2="20.32" y2="17.78" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="GND" class="0">
-<segment>
-<pinref part="B6" gate="-3" pin="S"/>
-<pinref part="GND1" gate="1" pin="GND"/>
-<wire x1="254" y1="330.2" x2="254" y2="327.66" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B5" gate="-3" pin="S"/>
-<pinref part="GND3" gate="1" pin="GND"/>
-<wire x1="254" y1="309.88" x2="254" y2="307.34" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B4" gate="-3" pin="S"/>
-<pinref part="GND2" gate="1" pin="GND"/>
-<wire x1="254" y1="289.56" x2="254" y2="287.02" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B3" gate="-3" pin="S"/>
-<pinref part="GND4" gate="1" pin="GND"/>
-<wire x1="254" y1="269.24" x2="254" y2="266.7" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B2" gate="-3" pin="S"/>
-<pinref part="GND5" gate="1" pin="GND"/>
-<wire x1="254" y1="248.92" x2="254" y2="246.38" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B1" gate="-3" pin="S"/>
-<pinref part="GND6" gate="1" pin="GND"/>
-<wire x1="254" y1="228.6" x2="254" y2="226.06" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="B0" gate="-3" pin="S"/>
-<pinref part="GND7" gate="1" pin="GND"/>
-<wire x1="254" y1="208.28" x2="254" y2="205.74" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F0" gate="-3" pin="S"/>
-<pinref part="GND10" gate="1" pin="GND"/>
-<wire x1="254" y1="144.78" x2="254" y2="142.24" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F1" gate="-3" pin="S"/>
-<pinref part="GND11" gate="1" pin="GND"/>
-<wire x1="254" y1="124.46" x2="254" y2="121.92" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F2" gate="-3" pin="S"/>
-<pinref part="GND12" gate="1" pin="GND"/>
-<wire x1="254" y1="104.14" x2="254" y2="101.6" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F3" gate="-3" pin="S"/>
-<pinref part="GND13" gate="1" pin="GND"/>
-<wire x1="254" y1="83.82" x2="254" y2="81.28" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F4" gate="-3" pin="S"/>
-<pinref part="GND14" gate="1" pin="GND"/>
-<wire x1="254" y1="63.5" x2="254" y2="60.96" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F5" gate="-3" pin="S"/>
-<pinref part="GND15" gate="1" pin="GND"/>
-<wire x1="254" y1="43.18" x2="254" y2="40.64" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F6" gate="-3" pin="S"/>
-<pinref part="GND16" gate="1" pin="GND"/>
-<wire x1="254" y1="22.86" x2="254" y2="20.32" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="F7" gate="-3" pin="S"/>
-<pinref part="GND17" gate="1" pin="GND"/>
-<wire x1="254" y1="2.54" x2="254" y2="0" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="GND19" gate="1" pin="GND"/>
-<pinref part="INT0/1" gate="-2" pin="S"/>
-<wire x1="27.94" y1="332.74" x2="22.86" y2="332.74" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="GND18" gate="1" pin="GND"/>
-<pinref part="INT2/3" gate="-2" pin="S"/>
-<wire x1="27.94" y1="322.58" x2="22.86" y2="322.58" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="D4" gate="-3" pin="S"/>
-<pinref part="GND20" gate="1" pin="GND"/>
-<wire x1="20.32" y1="304.8" x2="20.32" y2="302.26" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="D5" gate="-3" pin="S"/>
-<pinref part="GND21" gate="1" pin="GND"/>
-<wire x1="20.32" y1="281.94" x2="20.32" y2="279.4" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="INT6/7" gate="-2" pin="S"/>
-<pinref part="GND8" gate="1" pin="GND"/>
-<wire x1="254" y1="190.5" x2="251.46" y2="190.5" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="D6" gate="-3" pin="S"/>
-<pinref part="GND9" gate="1" pin="GND"/>
-<wire x1="20.32" y1="259.08" x2="20.32" y2="256.54" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="D7" gate="-3" pin="S"/>
-<pinref part="GND22" gate="1" pin="GND"/>
-<wire x1="20.32" y1="236.22" x2="20.32" y2="233.68" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="E0" gate="-3" pin="S"/>
-<pinref part="GND23" gate="1" pin="GND"/>
-<wire x1="20.32" y1="215.9" x2="20.32" y2="213.36" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="E1" gate="-3" pin="S"/>
-<pinref part="GND24" gate="1" pin="GND"/>
-<wire x1="20.32" y1="193.04" x2="20.32" y2="190.5" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C0" gate="-3" pin="S"/>
-<pinref part="GND25" gate="1" pin="GND"/>
-<wire x1="20.32" y1="170.18" x2="20.32" y2="167.64" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C1" gate="-3" pin="S"/>
-<pinref part="GND26" gate="1" pin="GND"/>
-<wire x1="20.32" y1="147.32" x2="20.32" y2="144.78" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C2" gate="-3" pin="S"/>
-<pinref part="GND27" gate="1" pin="GND"/>
-<wire x1="20.32" y1="124.46" x2="20.32" y2="121.92" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C3" gate="-3" pin="S"/>
-<pinref part="GND28" gate="1" pin="GND"/>
-<wire x1="20.32" y1="101.6" x2="20.32" y2="99.06" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C4" gate="-3" pin="S"/>
-<pinref part="GND29" gate="1" pin="GND"/>
-<wire x1="20.32" y1="81.28" x2="20.32" y2="78.74" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C5" gate="-3" pin="S"/>
-<pinref part="GND30" gate="1" pin="GND"/>
-<wire x1="20.32" y1="58.42" x2="20.32" y2="55.88" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C6" gate="-3" pin="S"/>
-<pinref part="GND31" gate="1" pin="GND"/>
-<wire x1="20.32" y1="35.56" x2="20.32" y2="33.02" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="C7" gate="-3" pin="S"/>
-<pinref part="GND32" gate="1" pin="GND"/>
-<wire x1="20.32" y1="12.7" x2="20.32" y2="10.16" width="0.1524" layer="91"/>
-</segment>
-<segment>
-<pinref part="U$1" gate="G$1" pin="GND"/>
-<pinref part="GND33" gate="1" pin="GND"/>
-<wire x1="111.76" y1="231.14" x2="109.22" y2="231.14" width="0.1524" layer="91"/>
-<wire x1="109.22" y1="231.14" x2="109.22" y2="236.22" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$1" class="0">
-<segment>
-<pinref part="U$1" gate="G$1" pin="26,PWM"/>
-<wire x1="162.56" y1="228.6" x2="182.88" y2="228.6" width="0.1524" layer="91"/>
-<wire x1="182.88" y1="228.6" x2="182.88" y2="332.74" width="0.1524" layer="91"/>
-<pinref part="B6" gate="-2" pin="S"/>
-<wire x1="182.88" y1="332.74" x2="254" y2="332.74" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$2" class="0">
-<segment>
-<pinref part="B5" gate="-2" pin="S"/>
-<wire x1="254" y1="312.42" x2="185.42" y2="312.42" width="0.1524" layer="91"/>
-<wire x1="185.42" y1="312.42" x2="185.42" y2="226.06" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="25,PWM"/>
-<wire x1="185.42" y1="226.06" x2="162.56" y2="226.06" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$3" class="0">
-<segment>
-<pinref part="B4" gate="-2" pin="S"/>
-<wire x1="254" y1="292.1" x2="187.96" y2="292.1" width="0.1524" layer="91"/>
-<wire x1="187.96" y1="292.1" x2="187.96" y2="223.52" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="24,PWM"/>
-<wire x1="187.96" y1="223.52" x2="162.56" y2="223.52" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$4" class="0">
-<segment>
-<pinref part="B3" gate="-2" pin="S"/>
-<wire x1="254" y1="271.78" x2="190.5" y2="271.78" width="0.1524" layer="91"/>
-<wire x1="190.5" y1="271.78" x2="190.5" y2="220.98" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="23"/>
-<wire x1="190.5" y1="220.98" x2="162.56" y2="220.98" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$5" class="0">
-<segment>
-<pinref part="B2" gate="-2" pin="S"/>
-<wire x1="254" y1="251.46" x2="193.04" y2="251.46" width="0.1524" layer="91"/>
-<wire x1="193.04" y1="251.46" x2="193.04" y2="218.44" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="22"/>
-<wire x1="193.04" y1="218.44" x2="162.56" y2="218.44" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$6" class="0">
-<segment>
-<pinref part="B1" gate="-2" pin="S"/>
-<wire x1="254" y1="231.14" x2="195.58" y2="231.14" width="0.1524" layer="91"/>
-<wire x1="195.58" y1="231.14" x2="195.58" y2="215.9" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="21"/>
-<wire x1="195.58" y1="215.9" x2="162.56" y2="215.9" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$7" class="0">
-<segment>
-<pinref part="B0" gate="-2" pin="S"/>
-<wire x1="254" y1="210.82" x2="195.58" y2="210.82" width="0.1524" layer="91"/>
-<wire x1="195.58" y1="210.82" x2="195.58" y2="213.36" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="20"/>
-<wire x1="195.58" y1="213.36" x2="162.56" y2="213.36" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$10" class="0">
-<segment>
-<pinref part="F0" gate="-2" pin="S"/>
-<wire x1="254" y1="147.32" x2="187.96" y2="147.32" width="0.1524" layer="91"/>
-<wire x1="187.96" y1="147.32" x2="187.96" y2="200.66" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="38,A0"/>
-<wire x1="187.96" y1="200.66" x2="162.56" y2="200.66" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$11" class="0">
-<segment>
-<pinref part="F1" gate="-2" pin="S"/>
-<wire x1="254" y1="127" x2="185.42" y2="127" width="0.1524" layer="91"/>
-<wire x1="185.42" y1="127" x2="185.42" y2="198.12" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="39,A1"/>
-<wire x1="185.42" y1="198.12" x2="162.56" y2="198.12" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$12" class="0">
-<segment>
-<pinref part="F2" gate="-2" pin="S"/>
-<wire x1="254" y1="106.68" x2="182.88" y2="106.68" width="0.1524" layer="91"/>
-<wire x1="182.88" y1="106.68" x2="182.88" y2="195.58" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="40,A2"/>
-<wire x1="182.88" y1="195.58" x2="162.56" y2="195.58" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$13" class="0">
-<segment>
-<pinref part="F3" gate="-2" pin="S"/>
-<wire x1="254" y1="86.36" x2="180.34" y2="86.36" width="0.1524" layer="91"/>
-<wire x1="180.34" y1="86.36" x2="180.34" y2="193.04" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="41,A3"/>
-<wire x1="180.34" y1="193.04" x2="162.56" y2="193.04" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$14" class="0">
-<segment>
-<pinref part="F4" gate="-2" pin="S"/>
-<wire x1="254" y1="66.04" x2="177.8" y2="66.04" width="0.1524" layer="91"/>
-<wire x1="177.8" y1="66.04" x2="177.8" y2="190.5" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="42,A4"/>
-<wire x1="177.8" y1="190.5" x2="162.56" y2="190.5" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$15" class="0">
-<segment>
-<pinref part="F5" gate="-2" pin="S"/>
-<wire x1="254" y1="45.72" x2="175.26" y2="45.72" width="0.1524" layer="91"/>
-<wire x1="175.26" y1="45.72" x2="175.26" y2="187.96" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="43,A5"/>
-<wire x1="175.26" y1="187.96" x2="162.56" y2="187.96" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$16" class="0">
-<segment>
-<pinref part="F6" gate="-2" pin="S"/>
-<wire x1="254" y1="25.4" x2="172.72" y2="25.4" width="0.1524" layer="91"/>
-<wire x1="172.72" y1="25.4" x2="172.72" y2="185.42" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="44,A6"/>
-<wire x1="172.72" y1="185.42" x2="162.56" y2="185.42" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$17" class="0">
-<segment>
-<pinref part="F7" gate="-2" pin="S"/>
-<wire x1="254" y1="5.08" x2="170.18" y2="5.08" width="0.1524" layer="91"/>
-<wire x1="170.18" y1="5.08" x2="170.18" y2="182.88" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="45,A7"/>
-<wire x1="170.18" y1="182.88" x2="162.56" y2="182.88" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$8" class="0">
-<segment>
-<pinref part="INT6/7" gate="-1" pin="S"/>
-<wire x1="254" y1="193.04" x2="193.04" y2="193.04" width="0.1524" layer="91"/>
-<wire x1="193.04" y1="193.04" x2="193.04" y2="210.82" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="19"/>
-<wire x1="193.04" y1="210.82" x2="162.56" y2="210.82" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$9" class="0">
-<segment>
-<pinref part="INT6/7" gate="-3" pin="S"/>
-<wire x1="254" y1="187.96" x2="190.5" y2="187.96" width="0.1524" layer="91"/>
-<wire x1="190.5" y1="187.96" x2="190.5" y2="208.28" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="18,INT6"/>
-<wire x1="190.5" y1="208.28" x2="162.56" y2="208.28" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$18" class="0">
-<segment>
-<pinref part="INT0/1" gate="-1" pin="S"/>
-<wire x1="22.86" y1="335.28" x2="101.6" y2="335.28" width="0.1524" layer="91"/>
-<wire x1="101.6" y1="335.28" x2="101.6" y2="226.06" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="0,PWM,INT0"/>
-<wire x1="101.6" y1="226.06" x2="111.76" y2="226.06" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$19" class="0">
-<segment>
-<pinref part="U$1" gate="G$1" pin="1,PWM,INT1"/>
-<wire x1="111.76" y1="223.52" x2="99.06" y2="223.52" width="0.1524" layer="91"/>
-<wire x1="99.06" y1="223.52" x2="99.06" y2="330.2" width="0.1524" layer="91"/>
-<pinref part="INT0/1" gate="-3" pin="S"/>
-<wire x1="99.06" y1="330.2" x2="22.86" y2="330.2" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$20" class="0">
-<segment>
-<pinref part="INT2/3" gate="-1" pin="S"/>
-<wire x1="22.86" y1="325.12" x2="96.52" y2="325.12" width="0.1524" layer="91"/>
-<wire x1="96.52" y1="325.12" x2="96.52" y2="220.98" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="2,RX,INT2"/>
-<wire x1="96.52" y1="220.98" x2="111.76" y2="220.98" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$21" class="0">
-<segment>
-<pinref part="INT2/3" gate="-3" pin="S"/>
-<wire x1="22.86" y1="320.04" x2="93.98" y2="320.04" width="0.1524" layer="91"/>
-<wire x1="93.98" y1="320.04" x2="93.98" y2="218.44" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="3,TX,INT3"/>
-<wire x1="93.98" y1="218.44" x2="111.76" y2="218.44" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$22" class="0">
-<segment>
-<pinref part="U$1" gate="G$1" pin="4"/>
-<wire x1="111.76" y1="215.9" x2="91.44" y2="215.9" width="0.1524" layer="91"/>
-<wire x1="91.44" y1="215.9" x2="91.44" y2="307.34" width="0.1524" layer="91"/>
-<pinref part="D4" gate="-2" pin="S"/>
-<wire x1="91.44" y1="307.34" x2="20.32" y2="307.34" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$23" class="0">
-<segment>
-<pinref part="D5" gate="-2" pin="S"/>
-<wire x1="20.32" y1="284.48" x2="88.9" y2="284.48" width="0.1524" layer="91"/>
-<wire x1="88.9" y1="284.48" x2="88.9" y2="213.36" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="5"/>
-<wire x1="88.9" y1="213.36" x2="111.76" y2="213.36" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$24" class="0">
-<segment>
-<pinref part="D6" gate="-2" pin="S"/>
-<wire x1="20.32" y1="261.62" x2="86.36" y2="261.62" width="0.1524" layer="91"/>
-<wire x1="86.36" y1="261.62" x2="86.36" y2="210.82" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="6,LED"/>
-<wire x1="86.36" y1="210.82" x2="111.76" y2="210.82" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$25" class="0">
-<segment>
-<pinref part="D7" gate="-2" pin="S"/>
-<wire x1="20.32" y1="238.76" x2="83.82" y2="238.76" width="0.1524" layer="91"/>
-<wire x1="83.82" y1="238.76" x2="83.82" y2="208.28" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="7"/>
-<wire x1="83.82" y1="208.28" x2="111.76" y2="208.28" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$26" class="0">
-<segment>
-<pinref part="E0" gate="-2" pin="S"/>
-<wire x1="20.32" y1="218.44" x2="81.28" y2="218.44" width="0.1524" layer="91"/>
-<wire x1="81.28" y1="218.44" x2="81.28" y2="205.74" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="8"/>
-<wire x1="81.28" y1="205.74" x2="111.76" y2="205.74" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$27" class="0">
-<segment>
-<pinref part="E1" gate="-2" pin="S"/>
-<wire x1="20.32" y1="195.58" x2="81.28" y2="195.58" width="0.1524" layer="91"/>
-<wire x1="81.28" y1="195.58" x2="81.28" y2="203.2" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="9"/>
-<wire x1="81.28" y1="203.2" x2="111.76" y2="203.2" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$28" class="0">
-<segment>
-<pinref part="C0" gate="-2" pin="S"/>
-<wire x1="20.32" y1="172.72" x2="83.82" y2="172.72" width="0.1524" layer="91"/>
-<wire x1="83.82" y1="172.72" x2="83.82" y2="200.66" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="10"/>
-<wire x1="83.82" y1="200.66" x2="111.76" y2="200.66" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$29" class="0">
-<segment>
-<pinref part="C1" gate="-2" pin="S"/>
-<wire x1="20.32" y1="149.86" x2="86.36" y2="149.86" width="0.1524" layer="91"/>
-<wire x1="86.36" y1="149.86" x2="86.36" y2="198.12" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="11"/>
-<wire x1="86.36" y1="198.12" x2="111.76" y2="198.12" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$30" class="0">
-<segment>
-<pinref part="C2" gate="-2" pin="S"/>
-<wire x1="20.32" y1="127" x2="88.9" y2="127" width="0.1524" layer="91"/>
-<wire x1="88.9" y1="127" x2="88.9" y2="195.58" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="12"/>
-<wire x1="88.9" y1="195.58" x2="111.76" y2="195.58" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$31" class="0">
-<segment>
-<pinref part="C3" gate="-2" pin="S"/>
-<wire x1="20.32" y1="104.14" x2="91.44" y2="104.14" width="0.1524" layer="91"/>
-<wire x1="91.44" y1="104.14" x2="91.44" y2="193.04" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="13"/>
-<wire x1="91.44" y1="193.04" x2="111.76" y2="193.04" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$32" class="0">
-<segment>
-<pinref part="C4" gate="-2" pin="S"/>
-<wire x1="20.32" y1="83.82" x2="93.98" y2="83.82" width="0.1524" layer="91"/>
-<wire x1="93.98" y1="83.82" x2="93.98" y2="190.5" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="14,PWM"/>
-<wire x1="93.98" y1="190.5" x2="111.76" y2="190.5" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$33" class="0">
-<segment>
-<pinref part="C5" gate="-2" pin="S"/>
-<wire x1="20.32" y1="60.96" x2="96.52" y2="60.96" width="0.1524" layer="91"/>
-<wire x1="96.52" y1="60.96" x2="96.52" y2="187.96" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="15,PWM"/>
-<wire x1="96.52" y1="187.96" x2="111.76" y2="187.96" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$34" class="0">
-<segment>
-<pinref part="C6" gate="-2" pin="S"/>
-<wire x1="20.32" y1="38.1" x2="99.06" y2="38.1" width="0.1524" layer="91"/>
-<wire x1="99.06" y1="38.1" x2="99.06" y2="185.42" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="16,PWM"/>
-<wire x1="99.06" y1="185.42" x2="111.76" y2="185.42" width="0.1524" layer="91"/>
-</segment>
-</net>
-<net name="N$35" class="0">
-<segment>
-<pinref part="C7" gate="-2" pin="S"/>
-<wire x1="20.32" y1="15.24" x2="101.6" y2="15.24" width="0.1524" layer="91"/>
-<wire x1="101.6" y1="15.24" x2="101.6" y2="182.88" width="0.1524" layer="91"/>
-<pinref part="U$1" gate="G$1" pin="17"/>
-<wire x1="101.6" y1="182.88" x2="111.76" y2="182.88" width="0.1524" layer="91"/>
-</segment>
-</net>
-</nets>
-</sheet>
-</sheets>
-</schematic>
-</drawing>
-</eagle>
diff -r f1ff1a81be20 -r 02467299402e pcb/collidoscope_pcb_housing.ai
Binary file pcb/collidoscope_pcb_housing.ai has changed
