text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="6.5.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.05" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" 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="no" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" 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="no" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" 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="no" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="yes"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" 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"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="no" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="no" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="no" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="no" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="no" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="no" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="no" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="no" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="no" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="no" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="no" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="no" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="no" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="no" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="no" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="no" active="yes"/>
</layers>
<board>
<plain>
<wire x1="0" y1="0" x2="177.78" y2="0" width="0" layer="20"/>
<wire x1="177.78" y1="0" x2="177.78" y2="93.65" width="0" layer="20"/>
<wire x1="177.78" y1="93.65" x2="0" y2="93.65" width="0" layer="20"/>
<wire x1="0" y1="93.65" x2="0" y2="0" width="0" layer="20"/>
<text x="9.525" y="36.195" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">12V</text>
<text x="90.17" y="88.9" size="1.778" layer="1" rot="MR0" align="bottom-right">5V</text>
<text x="22.86" y="68.58" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">CW</text>
<text x="13.97" y="26.67" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">CW</text>
<text x="63.5" y="27.94" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">CW</text>
<text x="67.31" y="66.04" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">R-G</text>
<text x="125.73" y="68.58" size="1.778" layer="1" font="vector" ratio="19" rot="MR0" align="bottom-right">RB-RB</text>
<text x="92.075" y="67.945" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">G-RB</text>
<text x="99.695" y="27.305" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">B-B</text>
<text x="132.08" y="27.94" size="1.778" layer="1" font="vector" ratio="19" rot="MR0">B-NUL</text>
<text x="140.97" y="5.08" size="1.778" layer="1" font="vector" ratio="15" rot="MR0">LED Aquarium Lights
Current Driver</text>
</plain>
<libraries>
<library name="SparkFun-Connectors">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find connectors and sockets- basically anything that can be plugged into or onto.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.

Licensing: CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="1X06_LOCK_LONGPADS">
<description>This footprint was designed to help hold the alignment of a through-hole component (i.e.  6-pin header) while soldering it into place.
You may notice that each hole has been shifted either up or down by 0.005 of an inch from it's more standard position (which is a perfectly straight line).
This slight alteration caused the pins (the squares in the middle) to touch the edges of the holes.  Because they are alternating, it causes a "brace"
to hold the component in place.  0.005 has proven to be the perfect amount of "off-center" position when using our standard breakaway headers.
Although looks a little odd when you look at the bare footprint, once you have a header in there, the alteration is very hard to notice.  Also,
if you push a header all the way into place, it is covered up entirely on the bottom side.  This idea of altering the position of holes to aid alignment
will be further integrated into the Sparkfun Library for other footprints.  It can help hold any component with 3 or more connection pins.</description>
<wire x1="1.524" y1="-0.127" x2="1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="4.064" y1="-0.127" x2="3.556" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="6.604" y1="-0.127" x2="6.096" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="9.144" y1="-0.127" x2="8.636" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="11.684" y1="-0.127" x2="11.176" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.8636" x2="-0.9906" y2="1.143" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-1.1176" x2="-0.9906" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="13.97" y1="-0.127" x2="13.716" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="13.97" y1="-0.127" x2="13.97" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="13.97" y1="-1.1176" x2="13.6906" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="13.97" y1="-0.127" x2="13.97" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="13.97" y1="0.8636" x2="13.6906" y2="1.143" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="4" x="7.62" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<pad name="5" x="10.16" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="6" x="12.7" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<text x="-1.27" y="1.778" size="1.27" layer="25" font="vector">>NAME</text>
<text x="-1.27" y="-3.302" size="1.27" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.2921" y1="-0.4191" x2="0.2921" y2="0.1651" layer="51"/>
<rectangle x1="2.2479" y1="-0.4191" x2="2.8321" y2="0.1651" layer="51"/>
<rectangle x1="4.7879" y1="-0.4191" x2="5.3721" y2="0.1651" layer="51"/>
<rectangle x1="7.3279" y1="-0.4191" x2="7.9121" y2="0.1651" layer="51" rot="R90"/>
<rectangle x1="9.8679" y1="-0.4191" x2="10.4521" y2="0.1651" layer="51"/>
<rectangle x1="12.4079" y1="-0.4191" x2="12.9921" y2="0.1651" layer="51"/>
</package>
<package name="M25HP">
<description>SUB-D</description>
<wire x1="19.304" y1="-17.526" x2="19.05" y2="-17.526" width="0.1524" layer="21"/>
<wire x1="19.304" y1="-17.526" x2="19.812" y2="-17.018" width="0.1524" layer="21" curve="90"/>
<wire x1="-19.812" y1="-17.018" x2="-19.304" y2="-17.526" width="0.1524" layer="21" curve="90"/>
<wire x1="19.431" y1="-11.684" x2="19.431" y2="-17.018" width="0.1524" layer="21"/>
<wire x1="19.431" y1="-11.684" x2="-19.431" y2="-11.684" width="0.1524" layer="21"/>
<wire x1="-19.431" y1="-11.684" x2="-19.431" y2="-17.018" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-7.62" x2="21.463" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-7.62" x2="26.543" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-7.62" x2="26.543" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-10.668" x2="24.003" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-10.668" x2="26.543" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-11.176" x2="26.543" y2="-11.684" width="0.1524" layer="21"/>
<wire x1="-26.543" y1="-11.684" x2="-26.543" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-26.543" y1="-11.176" x2="-26.543" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="-26.543" y1="-10.668" x2="-26.543" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-26.543" y1="-7.62" x2="-26.543" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="24.003" y1="-10.414" x2="21.463" y2="-10.414" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-11.176" x2="24.003" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="24.003" y1="-11.176" x2="21.463" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="24.003" y1="-10.668" x2="24.003" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="24.003" y1="-10.668" x2="24.003" y2="-10.414" width="0.1524" layer="21"/>
<wire x1="21.463" y1="-10.414" x2="21.463" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="21.463" y1="-10.668" x2="21.463" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="26.543" y1="-7.493" x2="21.463" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="21.463" y1="-7.493" x2="21.463" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="21.463" y1="-10.668" x2="21.336" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="21.336" y1="-10.668" x2="-21.336" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="20.701" y1="-7.62" x2="21.336" y2="-8.255" width="0.1524" layer="21" curve="-90"/>
<wire x1="21.463" y1="-7.62" x2="20.574" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="20.574" y1="-7.62" x2="20.32" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="21.336" y1="-8.255" x2="21.336" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="20.32" y1="-7.62" x2="20.32" y2="-6.858" width="0.1524" layer="21"/>
<wire x1="20.32" y1="-7.62" x2="-20.32" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="20.32" y1="-6.858" x2="-20.32" y2="-6.858" width="0.1524" layer="21"/>
<wire x1="-20.32" y1="-7.62" x2="-20.32" y2="-6.858" width="0.1524" layer="21"/>
<wire x1="-20.32" y1="-7.62" x2="-20.574" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-20.574" y1="-7.62" x2="-21.463" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-7.493" x2="-26.543" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="-24.003" y1="-10.668" x2="-24.003" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-24.003" y1="-10.668" x2="-26.543" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="-24.003" y1="-11.176" x2="-26.543" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-10.414" x2="-24.003" y2="-10.414" width="0.1524" layer="21"/>
<wire x1="-24.003" y1="-10.668" x2="-24.003" y2="-10.414" width="0.1524" layer="21"/>
<wire x1="21.463" y1="-11.176" x2="-21.463" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-11.176" x2="-24.003" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-10.414" x2="-21.463" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-10.668" x2="-21.463" y2="-11.176" width="0.1524" layer="21"/>
<wire x1="-21.336" y1="-8.255" x2="-21.336" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="-21.336" y1="-10.668" x2="-21.463" y2="-10.668" width="0.1524" layer="21"/>
<wire x1="-21.336" y1="-8.255" x2="-20.701" y2="-7.62" width="0.1524" layer="21" curve="-90"/>
<wire x1="25.908" y1="3.175" x2="26.543" y2="2.54" width="0.1524" layer="21"/>
<wire x1="26.543" y1="2.54" x2="26.543" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="21.082" y1="3.175" x2="25.908" y2="3.175" width="0.1524" layer="21"/>
<wire x1="21.082" y1="3.175" x2="20.574" y2="2.667" width="0.1524" layer="21"/>
<wire x1="20.574" y1="2.667" x2="20.574" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-20.574" y1="2.667" x2="-20.574" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-20.574" y1="2.667" x2="-21.082" y2="3.175" width="0.1524" layer="21"/>
<wire x1="-21.082" y1="3.175" x2="-26.035" y2="3.175" width="0.1524" layer="21"/>
<wire x1="-26.035" y1="3.175" x2="-26.543" y2="2.667" width="0.1524" layer="21"/>
<wire x1="-26.543" y1="2.667" x2="-26.543" y2="-7.493" width="0.1524" layer="21"/>
<wire x1="-2.7686" y1="1.143" x2="-2.7686" y2="0.127" width="0.8128" layer="51"/>
<wire x1="0" y1="1.143" x2="0" y2="0.127" width="0.8128" layer="51"/>
<wire x1="2.7686" y1="1.143" x2="2.7686" y2="0.127" width="0.8128" layer="51"/>
<wire x1="1.3716" y1="-1.397" x2="1.3716" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="-1.3716" y1="-1.397" x2="-1.3716" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="-4.1402" y1="-1.397" x2="-4.1402" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="-5.5118" y1="1.143" x2="-5.5118" y2="0.127" width="0.8128" layer="51"/>
<wire x1="-6.9088" y1="-1.397" x2="-6.9088" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="-8.2804" y1="1.143" x2="-8.2804" y2="0.127" width="0.8128" layer="51"/>
<wire x1="-5.08" y1="-13.97" x2="-2.794" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-2.794" y1="-13.97" x2="-2.794" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-2.794" y1="-16.256" x2="-3.175" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="-16.256" x2="-3.175" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="-14.351" x2="-4.699" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-4.699" y1="-14.351" x2="-4.699" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-4.699" y1="-16.256" x2="-5.08" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-5.08" y1="-16.256" x2="-5.08" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-1.143" y1="-13.97" x2="1.143" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="1.143" y1="-13.97" x2="1.143" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="1.143" y1="-16.256" x2="0.762" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="0.762" y1="-16.256" x2="0.762" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="0.762" y1="-14.351" x2="-0.762" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-0.762" y1="-14.351" x2="-0.762" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-0.762" y1="-16.256" x2="-1.143" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-1.143" y1="-16.256" x2="-1.143" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="2.794" y1="-13.97" x2="5.08" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="5.08" y1="-13.97" x2="5.08" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="5.08" y1="-16.256" x2="4.699" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-16.256" x2="4.699" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-14.351" x2="3.175" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="3.175" y1="-14.351" x2="3.175" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="3.175" y1="-16.256" x2="2.794" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="2.794" y1="-16.256" x2="2.794" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-7.493" x2="-21.463" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-21.463" y1="-7.62" x2="-26.543" y2="-7.62" width="0.1524" layer="21"/>
<wire x1="-19.431" y1="-11.684" x2="-26.543" y2="-11.684" width="0.1524" layer="21"/>
<wire x1="-19.812" y1="-12.319" x2="-19.812" y2="-17.018" width="0.1524" layer="21"/>
<wire x1="-20.447" y1="-11.684" x2="-19.812" y2="-12.319" width="0.1524" layer="21" curve="-90"/>
<wire x1="26.543" y1="-11.684" x2="19.431" y2="-11.684" width="0.1524" layer="21"/>
<wire x1="19.812" y1="-12.319" x2="19.812" y2="-17.018" width="0.1524" layer="21"/>
<wire x1="19.812" y1="-12.319" x2="20.447" y2="-11.684" width="0.1524" layer="21" curve="-90"/>
<wire x1="-9.652" y1="-1.3716" x2="-9.652" y2="-2.3876" width="0.8128" layer="51"/>
<wire x1="-11.049" y1="1.143" x2="-11.049" y2="0.127" width="0.8128" layer="51"/>
<wire x1="4.1402" y1="-1.397" x2="4.1402" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="5.5118" y1="1.143" x2="5.5118" y2="0.127" width="0.8128" layer="51"/>
<wire x1="6.9088" y1="-1.397" x2="6.9088" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="8.2804" y1="1.143" x2="8.2804" y2="0.127" width="0.8128" layer="51"/>
<wire x1="-9.017" y1="-13.97" x2="-6.731" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-6.731" y1="-13.97" x2="-6.731" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-6.731" y1="-16.256" x2="-7.112" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-7.112" y1="-16.256" x2="-7.112" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-7.112" y1="-14.351" x2="-8.636" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-8.636" y1="-14.351" x2="-8.636" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-8.636" y1="-16.256" x2="-9.017" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-9.017" y1="-16.256" x2="-9.017" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="6.731" y1="-13.97" x2="9.017" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="9.017" y1="-13.97" x2="9.017" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="9.017" y1="-16.256" x2="8.636" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="8.636" y1="-16.256" x2="8.636" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="8.636" y1="-14.351" x2="7.112" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-14.351" x2="7.112" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="7.112" y1="-16.256" x2="6.731" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="6.731" y1="-16.256" x2="6.731" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="9.652" y1="-1.397" x2="9.652" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="11.049" y1="1.143" x2="11.049" y2="0.127" width="0.8128" layer="51"/>
<wire x1="13.7922" y1="1.143" x2="13.7922" y2="0.127" width="0.8128" layer="51"/>
<wire x1="12.4206" y1="-1.397" x2="12.4206" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="16.5608" y1="1.143" x2="16.5608" y2="0.127" width="0.1524" layer="51"/>
<wire x1="15.1892" y1="-1.397" x2="15.1892" y2="-2.413" width="0.8128" layer="51"/>
<wire x1="-13.7922" y1="1.143" x2="-13.7922" y2="0.127" width="0.8128" layer="51"/>
<wire x1="-12.4206" y1="-1.3716" x2="-12.4206" y2="-2.3876" width="0.8128" layer="51"/>
<wire x1="-15.1892" y1="-1.3716" x2="-15.1892" y2="-2.3876" width="0.8128" layer="51"/>
<wire x1="-16.5608" y1="1.143" x2="-16.5608" y2="0.127" width="0.8128" layer="51"/>
<wire x1="-12.954" y1="-13.97" x2="-10.668" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-10.668" y1="-13.97" x2="-10.668" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-10.668" y1="-16.256" x2="-11.049" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-11.049" y1="-16.256" x2="-11.049" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-11.049" y1="-14.351" x2="-12.573" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="-12.573" y1="-14.351" x2="-12.573" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-12.573" y1="-16.256" x2="-12.954" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="-12.954" y1="-16.256" x2="-12.954" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="10.668" y1="-13.97" x2="12.954" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="12.954" y1="-13.97" x2="12.954" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="12.954" y1="-16.256" x2="12.573" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="12.573" y1="-16.256" x2="12.573" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="12.573" y1="-14.351" x2="11.049" y2="-14.351" width="0.1524" layer="21"/>
<wire x1="11.049" y1="-14.351" x2="11.049" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="11.049" y1="-16.256" x2="10.668" y2="-16.256" width="0.1524" layer="21"/>
<wire x1="10.668" y1="-16.256" x2="10.668" y2="-13.97" width="0.1524" layer="21"/>
<wire x1="-19.05" y1="-12.192" x2="-19.05" y2="-17.526" width="0.1524" layer="21"/>
<wire x1="-19.05" y1="-17.526" x2="-19.304" y2="-17.526" width="0.1524" layer="21"/>
<wire x1="19.05" y1="-12.192" x2="19.05" y2="-17.526" width="0.1524" layer="21"/>
<wire x1="19.05" y1="-17.526" x2="-19.05" y2="-17.526" width="0.1524" layer="21"/>
<circle x="23.5204" y="0" radius="1.651" width="0.1524" layer="21"/>
<circle x="-23.5204" y="0" radius="1.651" width="0.1524" layer="21"/>
<pad name="13" x="16.5608" y="1.27" drill="1.016" shape="octagon"/>
<pad name="12" x="13.7922" y="1.27" drill="1.016" shape="octagon"/>
<pad name="11" x="11.049" y="1.27" drill="1.016" shape="octagon"/>
<pad name="10" x="8.2804" y="1.27" drill="1.016" shape="octagon"/>
<pad name="9" x="5.5118" y="1.27" drill="1.016" shape="octagon"/>
<pad name="8" x="2.7686" y="1.27" drill="1.016" shape="octagon"/>
<pad name="7" x="0" y="1.27" drill="1.016" shape="octagon"/>
<pad name="6" x="-2.7686" y="1.27" drill="1.016" shape="octagon"/>
<pad name="5" x="-5.5118" y="1.27" drill="1.016" shape="octagon"/>
<pad name="4" x="-8.2804" y="1.27" drill="1.016" shape="octagon"/>
<pad name="3" x="-11.049" y="1.27" drill="1.016" shape="octagon"/>
<pad name="2" x="-13.7922" y="1.27" drill="1.016" shape="octagon"/>
<pad name="1" x="-16.5608" y="1.27" drill="1.016" shape="octagon"/>
<pad name="25" x="15.1892" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="24" x="12.4206" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="23" x="9.652" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="22" x="6.9088" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="21" x="4.1402" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="20" x="1.3716" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="19" x="-1.3716" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="18" x="-4.1402" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="17" x="-6.9088" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="16" x="-9.652" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="15" x="-12.4206" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="14" x="-15.1892" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="G1" x="-23.5204" y="0" drill="3.302" diameter="5.08"/>
<pad name="G2" x="23.5204" y="0" drill="3.302" diameter="5.08"/>
<text x="-26.416" y="4.445" size="1.778" layer="25" ratio="10">>NAME</text>
<text x="-17.78" y="-20.447" size="1.778" layer="27" ratio="10">>VALUE</text>
<text x="-18.669" y="0.635" size="1.27" layer="21" ratio="10">1</text>
<text x="17.907" y="0.635" size="1.27" layer="21" ratio="10">13</text>
<text x="-19.812" y="-2.032" size="1.27" layer="21" ratio="10">14</text>
<text x="17.653" y="-1.905" size="1.27" layer="21" ratio="10">25</text>
<text x="-24.638" y="-6.858" size="1.27" layer="21" ratio="10" rot="R90">2,54</text>
<text x="-18.669" y="-9.779" size="1.27" layer="21" ratio="10">M25</text>
<rectangle x1="20.701" y1="-10.668" x2="20.955" y2="-8.255" layer="21"/>
<rectangle x1="-20.955" y1="-10.668" x2="-20.701" y2="-8.255" layer="21"/>
<rectangle x1="23.0632" y1="-7.62" x2="24.0792" y2="-5.969" layer="21"/>
<rectangle x1="-24.0792" y1="-7.62" x2="-23.0632" y2="-5.969" layer="21"/>
<rectangle x1="-26.543" y1="-11.684" x2="26.543" y2="-11.176" layer="21"/>
<rectangle x1="-20.32" y1="-7.62" x2="20.32" y2="-6.858" layer="21"/>
<rectangle x1="-16.9672" y1="-6.858" x2="-16.1544" y2="0.381" layer="21"/>
<rectangle x1="-15.5956" y1="-6.858" x2="-14.7828" y2="-2.159" layer="21"/>
<rectangle x1="-14.1986" y1="-6.858" x2="-13.3858" y2="0.381" layer="21"/>
<rectangle x1="-12.827" y1="-6.858" x2="-12.0142" y2="-2.159" layer="21"/>
<rectangle x1="-11.4554" y1="-6.858" x2="-10.6426" y2="0.381" layer="21"/>
<rectangle x1="-10.0584" y1="-6.858" x2="-9.2456" y2="-2.159" layer="21"/>
<rectangle x1="-8.6868" y1="-6.858" x2="-7.874" y2="0.381" layer="21"/>
<rectangle x1="-7.3152" y1="-6.858" x2="-6.5024" y2="-2.159" layer="21"/>
<rectangle x1="-5.9182" y1="-6.858" x2="-5.1054" y2="0.381" layer="21"/>
<rectangle x1="-4.5466" y1="-6.858" x2="-3.7338" y2="-2.159" layer="21"/>
<rectangle x1="-3.175" y1="-6.858" x2="-2.3622" y2="0.381" layer="21"/>
<rectangle x1="-1.778" y1="-6.858" x2="-0.9652" y2="-2.159" layer="21"/>
<rectangle x1="-0.4064" y1="-6.858" x2="0.4064" y2="0.381" layer="21"/>
<rectangle x1="0.9652" y1="-6.858" x2="1.778" y2="-2.159" layer="21"/>
<rectangle x1="2.3622" y1="-6.858" x2="3.175" y2="0.381" layer="21"/>
<rectangle x1="3.7338" y1="-6.858" x2="4.5466" y2="-2.159" layer="21"/>
<rectangle x1="5.1054" y1="-6.858" x2="5.9182" y2="0.381" layer="21"/>
<rectangle x1="6.5024" y1="-6.858" x2="7.3152" y2="-2.159" layer="21"/>
<rectangle x1="7.874" y1="-6.858" x2="8.6868" y2="0.381" layer="21"/>
<rectangle x1="9.2456" y1="-6.858" x2="10.0584" y2="-2.159" layer="21"/>
<rectangle x1="10.6426" y1="-6.858" x2="11.4554" y2="0.381" layer="21"/>
<rectangle x1="12.0142" y1="-6.858" x2="12.827" y2="-2.159" layer="21"/>
<rectangle x1="13.3858" y1="-6.858" x2="14.1986" y2="0.381" layer="21"/>
<rectangle x1="14.7828" y1="-6.858" x2="15.5956" y2="-2.159" layer="21"/>
<rectangle x1="16.1544" y1="-6.858" x2="16.9672" y2="0.381" layer="21"/>
</package>
<package name="DB15">
<wire x1="-8.128" y1="12.079" x2="-7.62" y2="12.587" width="0.2032" layer="51" curve="-90"/>
<wire x1="7.62" y1="12.587" x2="8.128" y2="12.079" width="0.2032" layer="51" curve="-90"/>
<wire x1="-15.4" y1="-9.65" x2="-15.4" y2="2.38" width="0.2032" layer="21"/>
<wire x1="-15.4" y1="2.38" x2="-15.4" y2="6.35" width="0.2032" layer="51"/>
<wire x1="15.4" y1="-9.65" x2="15.4" y2="2.38" width="0.2032" layer="21"/>
<wire x1="15.4" y1="2.38" x2="15.4" y2="6.35" width="0.2032" layer="51"/>
<wire x1="-8.128" y1="6.999" x2="-8.128" y2="12.079" width="0.2032" layer="51"/>
<wire x1="-8.763" y1="6.364" x2="-8.128" y2="6.999" width="0.2032" layer="51" curve="90"/>
<wire x1="-15.4" y1="6.35" x2="15.4" y2="6.35" width="0.2032" layer="51"/>
<wire x1="8.128" y1="6.999" x2="8.128" y2="12.079" width="0.2032" layer="51"/>
<wire x1="8.128" y1="6.999" x2="8.763" y2="6.364" width="0.2032" layer="51" curve="90"/>
<wire x1="-7.62" y1="12.587" x2="7.62" y2="12.587" width="0.2032" layer="51"/>
<wire x1="-15.4" y1="-9.65" x2="15.4" y2="-9.65" width="0.2032" layer="21"/>
<pad name="7" x="-3.17" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="8" x="-0.88" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="9" x="1.41" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="10" x="3.7" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="11" x="-4.32" y="-2.54" drill="1.016" diameter="1.8796"/>
<pad name="12" x="-2.03" y="-2.54" drill="1.016" diameter="1.8796"/>
<pad name="13" x="0.26" y="-2.54" drill="1.016" diameter="1.8796"/>
<pad name="14" x="2.55" y="-2.54" drill="1.016" diameter="1.8796"/>
<pad name="G1" x="-12.5" y="-5.08" drill="3.302" diameter="5.08"/>
<pad name="G2" x="12.5" y="-5.08" drill="3.302" diameter="5.08"/>
<text x="-0.795" y="-1.19" size="0.4064" layer="25" ratio="10">>NAME</text>
<text x="-0.69" y="-0.395" size="0.4064" layer="27" ratio="10">>VALUE</text>
<pad name="6" x="-5.46" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="15" x="4.84" y="-2.54" drill="1.016" diameter="1.8796"/>
<pad name="1" x="-4.32" y="-7.62" drill="1.016" diameter="1.8796"/>
<pad name="2" x="-2.03" y="-7.62" drill="1.016" diameter="1.8796"/>
<pad name="3" x="0.26" y="-7.62" drill="1.016" diameter="1.8796"/>
<pad name="4" x="2.55" y="-7.62" drill="1.016" diameter="1.8796"/>
<pad name="5" x="4.84" y="-7.62" drill="1.016" diameter="1.8796"/>
</package>
</packages>
</library>
<library name="con-amp-quick">
<description>AMP Connectors, Type QUICK

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="02P">
<description>AMP QUICK CONNECTOR</description>
<wire x1="-2.286" y1="2.54" x2="-2.286" y2="1.778" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="1.778" x2="-0.381" y2="1.778" width="0.1524" layer="21"/>
<wire x1="-0.381" y1="1.778" x2="-0.254" y2="1.651" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="1.651" x2="0" y2="1.397" width="0.1524" layer="21"/>
<wire x1="0" y1="1.397" x2="0.254" y2="1.651" width="0.1524" layer="21"/>
<wire x1="0.254" y1="1.651" x2="0.381" y2="1.778" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="-2.159" x2="-0.254" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="-2.286" x2="-2.286" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="0.254" y1="-2.159" x2="-0.254" y2="-2.159" width="0.1524" layer="21"/>
<wire x1="0.254" y1="-2.159" x2="0.254" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="2.286" y1="-2.286" x2="0.254" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="0.381" y1="1.778" x2="2.286" y2="1.778" width="0.1524" layer="21"/>
<wire x1="2.286" y1="1.778" x2="2.286" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="1.778" x2="-2.286" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="-1.778" x2="-2.286" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="-1.778" x2="-1.905" y2="-1.778" width="0.1524" layer="21"/>
<wire x1="2.286" y1="-1.778" x2="2.286" y2="-2.286" width="0.1524" layer="21"/>
<wire x1="2.286" y1="-1.778" x2="1.905" y2="-1.778" width="0.1524" layer="21"/>
<wire x1="2.286" y1="1.778" x2="2.286" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-1.778" x2="1.905" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.778" x2="-0.635" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.778" x2="-1.905" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.778" x2="0.635" y2="-1.778" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.524" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-1.778" x2="0.635" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-1.524" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="0.254" y1="-1.524" x2="0.635" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="0.254" y1="-1.524" x2="0.254" y2="1.651" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.524" x2="-0.254" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="-1.524" x2="0.254" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="-1.524" x2="-0.254" y2="1.651" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-1.524" x2="2.286" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-1.524" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="2.286" y1="-1.524" x2="2.286" y2="-1.778" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.524" x2="-2.286" y2="-1.524" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.524" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="-1.524" x2="-2.286" y2="-1.778" width="0.1524" layer="21"/>
<wire x1="-2.286" y1="2.54" x2="-1.524" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-1.524" y1="2.54" x2="-1.524" y2="2.667" width="0.1524" layer="21"/>
<wire x1="-1.016" y1="2.54" x2="-1.016" y2="2.667" width="0.1524" layer="21"/>
<wire x1="-1.016" y1="2.667" x2="-1.524" y2="2.667" width="0.1524" layer="21"/>
<wire x1="1.016" y1="2.54" x2="1.016" y2="2.667" width="0.1524" layer="21"/>
<wire x1="1.524" y1="2.54" x2="2.286" y2="2.54" width="0.1524" layer="21"/>
<wire x1="1.524" y1="2.54" x2="1.524" y2="2.667" width="0.1524" layer="21"/>
<wire x1="1.524" y1="2.667" x2="1.016" y2="2.667" width="0.1524" layer="21"/>
<wire x1="0.254" y1="2.413" x2="0.254" y2="2.54" width="0.1524" layer="21"/>
<wire x1="0.254" y1="2.54" x2="1.016" y2="2.54" width="0.1524" layer="21"/>
<wire x1="0.254" y1="2.413" x2="-0.254" y2="2.413" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="2.413" x2="-0.254" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-0.254" y1="2.54" x2="-1.016" y2="2.54" width="0.1524" layer="21"/>
<pad name="1" x="-1.27" y="0" drill="0.9144" shape="long" rot="R90"/>
<pad name="2" x="1.27" y="0" drill="0.9144" shape="long" rot="R90"/>
<text x="-0.762" y="0.9398" size="0.9906" layer="21" ratio="12" rot="R90">1</text>
<text x="-2.286" y="2.9464" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-2.286" y="-3.8354" size="1.27" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-1.6002" y1="-0.3302" x2="-0.9398" y2="0.3302" layer="51"/>
<rectangle x1="0.9398" y1="-0.3302" x2="1.6002" y2="0.3302" layer="51"/>
</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">EAGLE Design Rules

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">EAGLE Design Rules

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="tpViaShape" value="round"/>
<param name="PrefDir.1" value="|"/>
<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="-"/>
<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="CW2" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="17.78" y="66.04" rot="R270"/>
<element name="CW3" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="59.69" y="25.4" rot="R270"/>
<element name="R-G" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="59.69" y="66.04" rot="R270"/>
<element name="G-RB" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="93.98" y="66.04" rot="R270"/>
<element name="RB-RB" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="134.62" y="66.04" rot="R270"/>
<element name="B-B" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="92.71" y="25.4" rot="R270"/>
<element name="B-NUL" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="133.35" y="25.4" rot="R270"/>
<element name="CW1" library="SparkFun-Connectors" package="1X06_LOCK_LONGPADS" value="" x="17.78" y="25.4" rot="R270"/>
<element name="JP9" library="con-amp-quick" package="02P" value="" x="2.54" y="41.91" rot="R270">
<attribute name="OC_NEWARK" value="unknown" x="2.54" y="41.91" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MPN" value="" x="2.54" y="41.91" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MF" value="" x="2.54" y="41.91" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="2.54" y="41.91" size="1.778" layer="27" rot="R270" display="off"/>
</element>
<element name="X1" library="SparkFun-Connectors" package="M25HP" value="" x="81.28" y="5.08" rot="R180"/>
<element name="U$2" library="SparkFun-Connectors" package="DB15" value="DB15" x="80.01" y="86.36"/>
</elements>
<signals>
<signal name="GND">
<contactref element="CW1" pad="1"/>
<contactref element="CW2" pad="1"/>
<contactref element="CW3" pad="1"/>
<contactref element="R-G" pad="1"/>
<contactref element="G-RB" pad="1"/>
<contactref element="RB-RB" pad="1"/>
<contactref element="B-B" pad="1"/>
<contactref element="B-NUL" pad="1"/>
<contactref element="JP9" pad="1"/>
<contactref element="U$2" pad="7"/>
<contactref element="U$2" pad="8"/>
<contactref element="U$2" pad="9"/>
<contactref element="U$2" pad="10"/>
<contactref element="U$2" pad="6"/>
<wire x1="2.54" y1="43.18" x2="2.54" y2="85.09" width="0.8128" layer="1"/>
<wire x1="2.54" y1="85.09" x2="8.89" y2="91.44" width="0.8128" layer="1"/>
<wire x1="8.89" y1="91.44" x2="67.31" y2="91.44" width="0.8128" layer="1"/>
<wire x1="67.31" y1="91.44" x2="72.39" y2="86.36" width="0.8128" layer="1"/>
<wire x1="72.39" y1="86.36" x2="72.39" y2="83.82" width="0.8128" layer="1"/>
<wire x1="72.39" y1="83.82" x2="74.55" y2="81.66" width="0.8128" layer="1"/>
<wire x1="74.55" y1="81.66" x2="74.55" y2="81.28" width="0.8128" layer="1"/>
<wire x1="133.35" y1="25.4" x2="92.71" y2="25.4" width="0.6096" layer="16"/>
<wire x1="92.71" y1="25.4" x2="59.69" y2="25.4" width="0.6096" layer="16"/>
<wire x1="17.78" y1="25.4" x2="59.69" y2="25.4" width="0.6096" layer="16"/>
<wire x1="134.62" y1="66.04" x2="93.98" y2="66.04" width="0.6096" layer="16"/>
<wire x1="93.98" y1="66.04" x2="59.69" y2="66.04" width="0.6096" layer="16"/>
<wire x1="17.78" y1="66.04" x2="59.69" y2="66.04" width="0.6096" layer="16"/>
<wire x1="74.55" y1="81.28" x2="76.84" y2="81.28" width="0.6096" layer="1"/>
<wire x1="76.84" y1="81.28" x2="79.13" y2="81.28" width="0.6096" layer="1"/>
<wire x1="79.13" y1="81.28" x2="81.42" y2="81.28" width="0.6096" layer="1"/>
<wire x1="81.42" y1="81.28" x2="83.71" y2="81.28" width="0.6096" layer="1"/>
<wire x1="2.54" y1="43.18" x2="12.7" y2="43.18" width="0.6096" layer="1"/>
<wire x1="12.7" y1="43.18" x2="17.78" y2="38.1" width="0.6096" layer="1"/>
<wire x1="17.78" y1="38.1" x2="17.78" y2="25.4" width="0.6096" layer="1"/>
<wire x1="48.26" y1="60.96" x2="48.26" y2="30.48" width="0.8128" layer="1"/>
<wire x1="48.26" y1="30.48" x2="53.34" y2="25.4" width="0.8128" layer="1"/>
<wire x1="53.34" y1="25.4" x2="59.69" y2="25.4" width="0.8128" layer="1"/>
<wire x1="59.69" y1="66.04" x2="53.34" y2="66.04" width="0.8128" layer="1"/>
<wire x1="53.34" y1="66.04" x2="48.26" y2="60.96" width="0.8128" layer="1"/>
<polygon width="0.8128" layer="1" isolate="0.5334">
<vertex x="-1.27" y="95.25"/>
<vertex x="179.07" y="95.25"/>
<vertex x="179.07" y="-1.27"/>
<vertex x="-1.27" y="-1.27"/>
</polygon>
</signal>
<signal name="5V">
<contactref element="CW1" pad="6"/>
<contactref element="CW2" pad="6"/>
<contactref element="R-G" pad="6"/>
<contactref element="G-RB" pad="6"/>
<contactref element="RB-RB" pad="6"/>
<contactref element="B-B" pad="6"/>
<contactref element="B-NUL" pad="6"/>
<contactref element="CW3" pad="6"/>
<contactref element="U$2" pad="15"/>
<wire x1="17.526" y1="53.34" x2="59.436" y2="53.34" width="0.6096" layer="16"/>
<wire x1="59.436" y1="53.34" x2="93.726" y2="53.34" width="0.6096" layer="16"/>
<wire x1="93.726" y1="53.34" x2="134.366" y2="53.34" width="0.6096" layer="16"/>
<wire x1="59.436" y1="12.7" x2="17.526" y2="12.7" width="0.6096" layer="16"/>
<wire x1="59.436" y1="12.7" x2="92.456" y2="12.7" width="0.6096" layer="16"/>
<wire x1="92.456" y1="12.7" x2="133.096" y2="12.7" width="0.6096" layer="16"/>
<wire x1="84.85" y1="83.82" x2="88.66" y2="87.63" width="0.6096" layer="1"/>
<wire x1="88.66" y1="87.63" x2="133.35" y2="87.63" width="0.6096" layer="1"/>
<wire x1="133.35" y1="87.63" x2="140.97" y2="80.01" width="0.6096" layer="1"/>
<wire x1="140.97" y1="80.01" x2="140.97" y2="13.97" width="0.6096" layer="1"/>
<wire x1="140.97" y1="13.97" x2="139.7" y2="12.7" width="0.6096" layer="1"/>
<wire x1="139.7" y1="12.7" x2="133.096" y2="12.7" width="0.6096" layer="1"/>
<wire x1="22.86" y1="15.24" x2="20.32" y2="12.7" width="0.6096" layer="1"/>
<wire x1="20.32" y1="12.7" x2="17.526" y2="12.7" width="0.6096" layer="1"/>
<wire x1="22.86" y1="15.24" x2="22.86" y2="50.8" width="0.6096" layer="1"/>
<wire x1="22.86" y1="50.8" x2="20.32" y2="53.34" width="0.6096" layer="1"/>
<wire x1="20.32" y1="53.34" x2="17.526" y2="53.34" width="0.6096" layer="1"/>
<contactref element="U$2" pad="14"/>
<wire x1="84.85" y1="83.82" x2="82.56" y2="83.82" width="0.8128" layer="1"/>
<contactref element="U$2" pad="11"/>
<contactref element="U$2" pad="12"/>
<contactref element="U$2" pad="13"/>
<wire x1="75.69" y1="83.82" x2="77.98" y2="83.82" width="0.8128" layer="1"/>
<wire x1="77.98" y1="83.82" x2="80.27" y2="83.82" width="0.8128" layer="1"/>
<wire x1="80.27" y1="83.82" x2="82.56" y2="83.82" width="0.8128" layer="1"/>
</signal>
<signal name="N$7">
<contactref element="CW2" pad="2"/>
<contactref element="X1" pad="24"/>
<contactref element="CW2" pad="3"/>
<wire x1="68.8594" y1="6.35" x2="68.58" y2="6.6294" width="0.8128" layer="1"/>
<wire x1="68.58" y1="6.6294" x2="68.58" y2="7.62" width="0.8128" layer="1"/>
<wire x1="68.58" y1="7.62" x2="66.04" y2="10.16" width="0.8128" layer="1"/>
<wire x1="66.04" y1="10.16" x2="29.21" y2="10.16" width="0.8128" layer="1"/>
<wire x1="20.32" y1="60.96" x2="17.78" y2="60.96" width="0.8128" layer="1"/>
<wire x1="17.78" y1="60.96" x2="17.526" y2="61.214" width="0.8128" layer="1"/>
<wire x1="17.526" y1="61.214" x2="17.526" y2="63.5" width="0.8128" layer="1"/>
<wire x1="20.32" y1="60.96" x2="26.67" y2="54.61" width="0.8128" layer="1"/>
<wire x1="26.67" y1="54.61" x2="26.67" y2="12.7" width="0.8128" layer="1"/>
<wire x1="26.67" y1="12.7" x2="29.21" y2="10.16" width="0.8128" layer="1"/>
</signal>
<signal name="N$13">
<contactref element="G-RB" pad="5"/>
<contactref element="R-G" pad="4"/>
<contactref element="U$2" pad="3"/>
<wire x1="80.27" y1="78.74" x2="80.645" y2="78.365" width="0.6096" layer="1"/>
<wire x1="80.645" y1="78.365" x2="80.645" y2="73.66" width="0.6096" layer="1"/>
<wire x1="80.645" y1="73.66" x2="83.185" y2="71.12" width="0.6096" layer="1"/>
<wire x1="83.185" y1="71.12" x2="95.25" y2="71.12" width="0.6096" layer="1"/>
<wire x1="95.25" y1="71.12" x2="97.79" y2="68.58" width="0.6096" layer="1"/>
<wire x1="97.79" y1="68.58" x2="97.79" y2="57.15" width="0.6096" layer="1"/>
<wire x1="97.79" y1="57.15" x2="96.52" y2="55.88" width="0.6096" layer="1"/>
<wire x1="96.52" y1="55.88" x2="93.98" y2="55.88" width="0.6096" layer="1"/>
<wire x1="59.436" y1="58.42" x2="57.15" y2="58.42" width="0.6096" layer="1"/>
<wire x1="57.15" y1="58.42" x2="55.88" y2="57.15" width="0.6096" layer="1"/>
<wire x1="55.88" y1="57.15" x2="55.88" y2="52.07" width="0.6096" layer="1"/>
<wire x1="55.88" y1="52.07" x2="59.69" y2="48.26" width="0.6096" layer="1"/>
<wire x1="59.69" y1="48.26" x2="63.5" y2="48.26" width="0.6096" layer="1"/>
<wire x1="63.5" y1="48.26" x2="83.185" y2="67.945" width="0.6096" layer="1"/>
<wire x1="83.185" y1="67.945" x2="83.185" y2="71.12" width="0.6096" layer="1"/>
</signal>
<signal name="N$15">
<contactref element="RB-RB" pad="5"/>
<contactref element="G-RB" pad="4"/>
<contactref element="RB-RB" pad="4"/>
<contactref element="U$2" pad="4"/>
<wire x1="82.56" y1="78.74" x2="82.55" y2="78.73" width="0.6096" layer="1"/>
<wire x1="82.55" y1="78.73" x2="82.55" y2="74.93" width="0.6096" layer="1"/>
<wire x1="82.55" y1="74.93" x2="83.82" y2="73.66" width="0.6096" layer="1"/>
<wire x1="83.82" y1="73.66" x2="100.33" y2="73.66" width="0.6096" layer="1"/>
<wire x1="100.33" y1="73.66" x2="133.35" y2="73.66" width="0.6096" layer="1"/>
<wire x1="133.35" y1="73.66" x2="138.43" y2="68.58" width="0.6096" layer="1"/>
<wire x1="138.43" y1="68.58" x2="138.43" y2="58.42" width="0.6096" layer="1"/>
<wire x1="138.43" y1="58.42" x2="135.89" y2="55.88" width="0.6096" layer="1"/>
<wire x1="135.89" y1="55.88" x2="134.62" y2="55.88" width="0.6096" layer="1"/>
<wire x1="134.366" y1="58.42" x2="134.62" y2="58.166" width="0.6096" layer="1"/>
<wire x1="134.62" y1="58.166" x2="134.62" y2="55.88" width="0.6096" layer="1"/>
<wire x1="93.726" y1="58.42" x2="90.17" y2="58.42" width="0.6096" layer="1"/>
<wire x1="90.17" y1="58.42" x2="88.9" y2="57.15" width="0.6096" layer="1"/>
<wire x1="88.9" y1="57.15" x2="88.9" y2="52.07" width="0.6096" layer="1"/>
<wire x1="88.9" y1="52.07" x2="90.17" y2="50.8" width="0.6096" layer="1"/>
<wire x1="90.17" y1="50.8" x2="99.06" y2="50.8" width="0.6096" layer="1"/>
<wire x1="99.06" y1="50.8" x2="100.33" y2="52.07" width="0.6096" layer="1"/>
<wire x1="100.33" y1="52.07" x2="100.33" y2="73.66" width="0.6096" layer="1"/>
</signal>
<signal name="N$21">
<contactref element="CW3" pad="3"/>
<contactref element="CW3" pad="2"/>
<contactref element="X1" pad="23"/>
<wire x1="71.628" y1="6.35" x2="71.755" y2="6.477" width="0.8128" layer="1"/>
<wire x1="71.755" y1="6.477" x2="71.755" y2="9.525" width="1.016" layer="1"/>
<wire x1="71.755" y1="9.525" x2="60.96" y2="20.32" width="1.016" layer="1"/>
<wire x1="60.96" y1="20.32" x2="59.69" y2="20.32" width="0.8128" layer="1"/>
<wire x1="59.69" y1="20.32" x2="59.436" y2="20.574" width="0.6096" layer="1"/>
<wire x1="59.436" y1="20.574" x2="59.436" y2="22.86" width="1.016" layer="1"/>
</signal>
<signal name="N$22">
<contactref element="R-G" pad="3"/>
<contactref element="X1" pad="21"/>
<wire x1="77.1398" y1="6.35" x2="77.47" y2="6.6802" width="0.8128" layer="1"/>
<wire x1="77.47" y1="6.6802" x2="77.47" y2="26.67" width="1.016" layer="1"/>
<wire x1="77.47" y1="26.67" x2="53.34" y2="50.8" width="1.016" layer="1"/>
<wire x1="53.34" y1="50.8" x2="53.34" y2="57.15" width="1.016" layer="1"/>
<wire x1="53.34" y1="57.15" x2="57.15" y2="60.96" width="1.016" layer="1"/>
<wire x1="57.15" y1="60.96" x2="59.69" y2="60.96" width="1.016" layer="1"/>
</signal>
<signal name="N$23">
<contactref element="R-G" pad="2"/>
<contactref element="X1" pad="22"/>
<wire x1="74.3712" y1="6.35" x2="74.295" y2="6.4262" width="0.8128" layer="1"/>
<wire x1="74.295" y1="6.4262" x2="74.295" y2="25.4" width="1.016" layer="1"/>
<wire x1="74.295" y1="25.4" x2="50.8" y2="48.895" width="1.016" layer="1"/>
<wire x1="50.8" y1="48.895" x2="50.8" y2="58.42" width="1.016" layer="1"/>
<wire x1="50.8" y1="58.42" x2="55.88" y2="63.5" width="1.016" layer="1"/>
<wire x1="55.88" y1="63.5" x2="59.436" y2="63.5" width="1.016" layer="1"/>
</signal>
<signal name="N$24">
<contactref element="G-RB" pad="2"/>
<contactref element="X1" pad="20"/>
<wire x1="79.9084" y1="6.35" x2="80.01" y2="6.4516" width="0.8128" layer="1"/>
<wire x1="80.01" y1="6.4516" x2="80.01" y2="59.69" width="1.016" layer="1"/>
<wire x1="80.01" y1="59.69" x2="83.82" y2="63.5" width="1.016" layer="1"/>
<wire x1="83.82" y1="63.5" x2="93.726" y2="63.5" width="1.016" layer="1"/>
</signal>
<signal name="N$25">
<contactref element="CW1" pad="2"/>
<contactref element="X1" pad="25"/>
<contactref element="CW1" pad="3"/>
<wire x1="66.0908" y1="6.35" x2="63.5" y2="6.35" width="0.8128" layer="1"/>
<wire x1="63.5" y1="6.35" x2="60.96" y2="8.89" width="0.8128" layer="1"/>
<wire x1="60.96" y1="8.89" x2="16.51" y2="8.89" width="0.8128" layer="1"/>
<wire x1="16.51" y1="8.89" x2="12.7" y2="12.7" width="0.8128" layer="1"/>
<wire x1="12.7" y1="12.7" x2="12.7" y2="19.05" width="0.8128" layer="1"/>
<wire x1="12.7" y1="19.05" x2="13.97" y2="20.32" width="0.8128" layer="1"/>
<wire x1="13.97" y1="20.32" x2="17.78" y2="20.32" width="0.8128" layer="1"/>
<wire x1="17.78" y1="20.32" x2="17.526" y2="20.574" width="0.6096" layer="1"/>
<wire x1="17.526" y1="20.574" x2="17.526" y2="22.86" width="1.016" layer="1"/>
</signal>
<signal name="N$27">
<contactref element="G-RB" pad="3"/>
<contactref element="X1" pad="19"/>
<wire x1="82.6516" y1="6.35" x2="82.55" y2="6.4516" width="0.8128" layer="1"/>
<wire x1="82.55" y1="6.4516" x2="82.55" y2="57.15" width="1.016" layer="1"/>
<wire x1="82.55" y1="57.15" x2="86.36" y2="60.96" width="1.016" layer="1"/>
<wire x1="86.36" y

repository: Ranthalion/AquariumLED

repo_name: Ranthalion/AquariumLED


text:
1="60.96" x2="93.98" y2="60.96" width="1.016" layer="1"/>
</signal>
<signal name="N$28">
<contactref element="RB-RB" pad="2"/>
<contactref element="X1" pad="18"/>
<wire x1="85.4202" y1="6.35" x2="85.09" y2="6.6802" width="0.8128" layer="1"/>
<wire x1="85.09" y1="6.6802" x2="85.09" y2="39.37" width="1.016" layer="1"/>
<wire x1="110.49" y1="50.8" x2="123.19" y2="63.5" width="1.016" layer="1"/>
<wire x1="123.19" y1="63.5" x2="134.366" y2="63.5" width="1.016" layer="1"/>
<wire x1="110.49" y1="50.8" x2="109.22" y2="49.53" width="0.6096" layer="1"/>
<wire x1="109.22" y1="49.53" x2="95.25" y2="49.53" width="1.016" layer="1"/>
<wire x1="95.25" y1="49.53" x2="85.09" y2="39.37" width="1.016" layer="1"/>
</signal>
<signal name="N$29">
<contactref element="RB-RB" pad="3"/>
<contactref element="X1" pad="17"/>
<wire x1="88.1888" y1="6.35" x2="88.265" y2="6.4262" width="0.8128" layer="1"/>
<wire x1="88.265" y1="6.4262" x2="88.265" y2="39.37" width="1.016" layer="1"/>
<wire x1="88.265" y1="39.37" x2="95.885" y2="46.99" width="1.016" layer="1"/>
<wire x1="95.885" y1="46.99" x2="111.76" y2="46.99" width="1.016" layer="1"/>
<wire x1="111.76" y1="46.99" x2="125.73" y2="60.96" width="1.016" layer="1"/>
<wire x1="125.73" y1="60.96" x2="134.62" y2="60.96" width="1.016" layer="1"/>
</signal>
<signal name="N$30">
<contactref element="B-B" pad="2"/>
<contactref element="X1" pad="16"/>
<wire x1="90.932" y1="6.35" x2="90.805" y2="6.477" width="0.8128" layer="1"/>
<wire x1="90.805" y1="6.477" x2="90.805" y2="8.89" width="1.016" layer="1"/>
<wire x1="90.805" y1="8.89" x2="90.17" y2="9.525" width="1.016" layer="1"/>
<wire x1="90.17" y1="9.525" x2="90.17" y2="21.59" width="1.016" layer="1"/>
<wire x1="90.17" y1="21.59" x2="91.44" y2="22.86" width="1.016" layer="1"/>
<wire x1="91.44" y1="22.86" x2="92.456" y2="22.86" width="0.8128" layer="1"/>
</signal>
<signal name="N$31">
<contactref element="B-B" pad="3"/>
<contactref element="X1" pad="15"/>
<wire x1="93.7006" y1="6.35" x2="93.98" y2="6.6294" width="0.8128" layer="1"/>
<wire x1="93.98" y1="6.6294" x2="93.98" y2="8.89" width="1.016" layer="1"/>
<wire x1="93.98" y1="8.89" x2="95.25" y2="10.16" width="1.016" layer="1"/>
<wire x1="95.25" y1="10.16" x2="95.25" y2="19.05" width="1.016" layer="1"/>
<wire x1="95.25" y1="19.05" x2="93.98" y2="20.32" width="1.016" layer="1"/>
<wire x1="93.98" y1="20.32" x2="92.71" y2="20.32" width="0.8128" layer="1"/>
</signal>
<signal name="N$32">
<contactref element="B-NUL" pad="2"/>
<contactref element="X1" pad="14"/>
<wire x1="96.4692" y1="6.35" x2="97.79" y2="7.6708" width="1.016" layer="1"/>
<wire x1="97.79" y1="7.6708" x2="97.79" y2="19.05" width="1.016" layer="1"/>
<wire x1="97.79" y1="19.05" x2="101.6" y2="22.86" width="1.016" layer="1"/>
<wire x1="101.6" y1="22.86" x2="133.096" y2="22.86" width="1.016" layer="1"/>
</signal>
<signal name="+12V">
<contactref element="JP9" pad="2"/>
<contactref element="X1" pad="1"/>
<contactref element="X1" pad="2"/>
<contactref element="X1" pad="13"/>
<contactref element="X1" pad="12"/>
<contactref element="X1" pad="11"/>
<contactref element="X1" pad="10"/>
<contactref element="X1" pad="9"/>
<contactref element="X1" pad="8"/>
<contactref element="X1" pad="7"/>
<contactref element="X1" pad="6"/>
<contactref element="X1" pad="5"/>
<contactref element="X1" pad="4"/>
<contactref element="X1" pad="3"/>
<wire x1="2.54" y1="40.64" x2="2.54" y2="5.08" width="1.016" layer="1"/>
<wire x1="2.54" y1="5.08" x2="6.35" y2="1.27" width="1.016" layer="1"/>
<wire x1="6.35" y1="1.27" x2="63.5" y2="1.27" width="1.016" layer="1"/>
<wire x1="63.5" y1="1.27" x2="64.7192" y2="2.4892" width="1.016" layer="1"/>
<wire x1="64.7192" y1="2.4892" x2="64.7192" y2="3.81" width="1.016" layer="1"/>
<wire x1="64.7192" y1="3.81" x2="67.4878" y2="3.81" width="1.016" layer="1"/>
<wire x1="67.4878" y1="3.81" x2="70.231" y2="3.81" width="1.016" layer="1"/>
<wire x1="70.231" y1="3.81" x2="72.9996" y2="3.81" width="1.016" layer="1"/>
<wire x1="72.9996" y1="3.81" x2="75.7682" y2="3.81" width="1.016" layer="1"/>
<wire x1="75.7682" y1="3.81" x2="78.5114" y2="3.81" width="1.016" layer="1"/>
<wire x1="78.5114" y1="3.81" x2="81.28" y2="3.81" width="1.016" layer="1"/>
<wire x1="81.28" y1="3.81" x2="84.0486" y2="3.81" width="1.016" layer="1"/>
<wire x1="84.0486" y1="3.81" x2="86.7918" y2="3.81" width="1.016" layer="1"/>
<wire x1="86.7918" y1="3.81" x2="89.5604" y2="3.81" width="1.016" layer="1"/>
<wire x1="89.5604" y1="3.81" x2="92.329" y2="3.81" width="1.016" layer="1"/>
<wire x1="92.329" y1="3.81" x2="95.0722" y2="3.81" width="1.016" layer="1"/>
<wire x1="95.0722" y1="3.81" x2="97.8408" y2="3.81" width="1.016" layer="1"/>
</signal>
<signal name="N$1">
<contactref element="U$2" pad="2"/>
<contactref element="R-G" pad="5"/>
<wire x1="77.98" y1="78.74" x2="78.105" y2="78.615" width="0.6096" layer="1"/>
<wire x1="78.105" y1="78.615" x2="78.105" y2="73.66" width="0.6096" layer="1"/>
<wire x1="78.105" y1="73.66" x2="67.31" y2="62.865" width="0.6096" layer="1"/>
<wire x1="67.31" y1="62.865" x2="67.31" y2="58.42" width="0.6096" layer="1"/>
<wire x1="67.31" y1="58.42" x2="64.77" y2="55.88" width="0.6096" layer="1"/>
<wire x1="64.77" y1="55.88" x2="59.69" y2="55.88" width="0.6096" layer="1"/>
</signal>
<signal name="N$2">
<contactref element="B-B" pad="5"/>
<contactref element="B-B" pad="4"/>
<contactref element="U$2" pad="5"/>
<contactref element="B-NUL" pad="5"/>
<wire x1="92.71" y1="15.24" x2="133.35" y2="15.24" width="0.6096" layer="16"/>
<wire x1="92.71" y1="15.24" x2="92.456" y2="15.494" width="0.6096" layer="1"/>
<wire x1="92.456" y1="15.494" x2="92.456" y2="17.78" width="0.6096" layer="1"/>
<wire x1="84.85" y1="78.74" x2="87.39" y2="76.2" width="0.6096" layer="1"/>
<wire x1="87.39" y1="76.2" x2="133.35" y2="76.2" width="0.6096" layer="1"/>
<wire x1="133.35" y1="76.2" x2="139.7" y2="69.85" width="0.6096" layer="1"/>
<wire x1="139.7" y1="69.85" x2="139.7" y2="17.78" width="0.6096" layer="1"/>
<wire x1="139.7" y1="17.78" x2="137.16" y2="15.24" width="0.6096" layer="1"/>
<wire x1="137.16" y1="15.24" x2="133.35" y2="15.24" width="0.6096" layer="1"/>
</signal>
<signal name="N$3">
<contactref element="CW2" pad="4"/>
<contactref element="CW2" pad="5"/>
<wire x1="17.526" y1="58.42" x2="17.78" y2="58.166" width="0.6096" layer="1"/>
<wire x1="17.78" y1="58.166" x2="17.78" y2="55.88" width="0.6096" layer="1"/>
<contactref element="CW3" pad="5"/>
<contactref element="CW3" pad="4"/>
<contactref element="U$2" pad="1"/>
<contactref element="CW1" pad="4"/>
<contactref element="CW1" pad="5"/>
<wire x1="75.69" y1="78.74" x2="73.405" y2="76.455" width="0.6096" layer="1"/>
<wire x1="73.405" y1="76.455" x2="66.8" y2="69.85" width="0.6096" layer="1"/>
<wire x1="66.8" y1="69.85" x2="54.61" y2="69.85" width="0.6096" layer="1"/>
<wire x1="49.53" y1="17.78" x2="59.436" y2="17.78" width="0.6096" layer="1"/>
<wire x1="59.69" y1="15.24" x2="59.436" y2="15.494" width="0.6096" layer="1"/>
<wire x1="59.436" y1="15.494" x2="59.436" y2="17.78" width="0.6096" layer="1"/>
<wire x1="17.78" y1="15.24" x2="17.526" y2="15.494" width="0.6096" layer="1"/>
<wire x1="17.526" y1="17.78" x2="19.05" y2="17.78" width="0.6096" layer="1"/>
<wire x1="19.05" y1="17.78" x2="20.32" y2="19.05" width="0.6096" layer="1"/>
<wire x1="20.32" y1="19.05" x2="20.32" y2="41.91" width="0.6096" layer="1"/>
<wire x1="20.32" y1="41.91" x2="13.97" y2="48.26" width="0.6096" layer="1"/>
<wire x1="13.97" y1="48.26" x2="13.97" y2="55.88" width="0.6096" layer="1"/>
<wire x1="13.97" y1="55.88" x2="13.97" y2="68.58" width="0.6096" layer="1"/>
<wire x1="13.97" y1="68.58" x2="21.845" y2="76.455" width="0.6096" layer="1"/>
<wire x1="21.845" y1="76.455" x2="73.405" y2="76.455" width="0.6096" layer="1"/>
<wire x1="17.78" y1="55.88" x2="13.97" y2="55.88" width="0.6096" layer="1"/>
<wire x1="49.53" y1="17.78" x2="44.45" y2="22.86" width="0.8128" layer="1"/>
<wire x1="44.45" y1="22.86" x2="44.45" y2="62.23" width="0.8128" layer="1"/>
<wire x1="44.45" y1="62.23" x2="52.07" y2="69.85" width="0.8128" layer="1"/>
<wire x1="52.07" y1="69.85" x2="54.61" y2="69.85" width="0.8128" layer="1"/>
<wire x1="17.526" y1="15.494" x2="17.526" y2="17.78" width="0.6096" layer="1"/>
</signal>
<signal name="N$4">
<polygon width="0.254" layer="1" pour="cutout" rank="6">
<vertex x="3.81" y="39.37"/>
<vertex x="11.43" y="39.37"/>
<vertex x="11.43" y="34.29"/>
<vertex x="3.81" y="34.29"/>
</polygon>
</signal>
<signal name="N$5">
<polygon width="0.254" layer="1" pour="cutout">
<vertex x="19.05" y="68.58"/>
<vertex x="19.05" y="71.12"/>
<vertex x="24.13" y="71.12"/>
<vertex x="24.13" y="67.31"/>
<vertex x="19.05" y="67.31"/>
</polygon>
</signal>
<signal name="N$6">
<polygon width="0.254" layer="1" pour="cutout">
<vertex x="62.23" y="68.58"/>
<vertex x="68.58" y="68.58"/>
<vertex x="68.58" y="64.77"/>
<vertex x="62.23" y="64.77"/>
</polygon>
</signal>
<signal name="N$8">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="85.09" y="69.85"/>
<vertex x="92.71" y="69.85"/>
<vertex x="92.71" y="67.31"/>
<vertex x="85.09" y="67.31"/>
</polygon>
</signal>
<signal name="N$9">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="123.19" y="72.39"/>
<vertex x="134.62" y="72.39"/>
<vertex x="134.62" y="67.31"/>
<vertex x="123.19" y="67.31"/>
<vertex x="123.19" y="71.12"/>
</polygon>
</signal>
<signal name="N$10">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="133.35" y="26.67"/>
<vertex x="123.19" y="26.67"/>
<vertex x="123.19" y="30.48"/>
<vertex x="133.35" y="30.48"/>
</polygon>
</signal>
<signal name="N$11">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="93.98" y="30.48"/>
<vertex x="101.6" y="30.48"/>
<vertex x="101.6" y="26.67"/>
<vertex x="93.98" y="26.67"/>
<vertex x="93.98" y="29.21"/>
</polygon>
</signal>
<signal name="N$12">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="59.69" y="30.48"/>
<vertex x="64.77" y="30.48"/>
<vertex x="64.77" y="26.67"/>
<vertex x="59.69" y="26.67"/>
</polygon>
</signal>
<signal name="N$14">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="10.16" y="30.48"/>
<vertex x="15.24" y="30.48"/>
<vertex x="15.24" y="25.4"/>
<vertex x="10.16" y="25.4"/>
</polygon>
</signal>
<signal name="N$16">
<polygon width="0" layer="1" pour="cutout" isolate="0.254">
<vertex x="110.49" y="11.43"/>
<vertex x="143.51" y="11.43"/>
<vertex x="143.51" y="3.81"/>
<vertex x="110.49" y="3.81"/>
</polygon>
</signal>
</signals>
</board>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
</compatibility>
</eagle>

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: brd


text:
// Copyright 2015 Philip Schlump
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

import (
	"fmt"
	"io/ioutil"
	"os"

	"github.com/jessevdk/go-flags"
	"github.com/pschlump/css/scanner"
)

var opts struct {
	CssFileName string `short:"s" long:"cssFile"    description:"Path to css file"        default:""`
}

func main() {

	_, err := flags.ParseArgs(&opts, os.Args)

	if err != nil {
		fmt.Printf("Invalid Command Line: %s\n", err)
		os.Exit(1)
	}

	if opts.CssFileName == "" {
		fmt.Printf("Usage test1 -s File.css\n")
		os.Exit(1)
	}

	myCSS, err := ioutil.ReadFile(opts.CssFileName)
	if err != nil {
		fmt.Printf("Errror: %s\n", err)
		os.Exit(1)
	}

	s := scanner.New(string(myCSS))
	for {
		token := s.Next()
		if token.Type == scanner.TokenEOF || token.Type == scanner.TokenError {
			break
		}
		// Do something with the token...
		fmt.Printf("%+v\n", token)
	}

}

repository: pschlump/css

repo_name: pschlump/css

extension: go


text:
package main

import (
	"bytes"
	"encoding/base64"
	"fmt"
	"image"
	"image/gif"

	"github.com/divan/txqr"
	"github.com/divan/txqr/qr"
)

func AnimatedGif(data []byte, imgSize int, setup *testSetup) ([]byte, error) {
	str := base64.StdEncoding.EncodeToString(data)
	fmt.Printf("Generating Animated QR Gif for %d bytes\n", len(str))
	chunks, err := txqr.NewEncoder(setup.size).Encode(str)
	if err != nil {
		return nil, fmt.Errorf("encode: %v", err)
	}

	out := &gif.GIF{
		Image: make([]*image.Paletted, len(chunks)),
		Delay: make([]int, len(chunks)),
	}
	for i, chunk := range chunks {
		qr, err := qr.Encode(chunk, imgSize, setup.lvl)
		if err != nil {
			return nil, fmt.Errorf("QR encode: %v", err)
		}
		out.Image[i] = qr.(*image.Paletted)
		out.Delay[i] = fpsToGifDelay(setup.fps)
	}

	var buf bytes.Buffer
	err = gif.EncodeAll(&buf, out)
	if err != nil {
		return nil, fmt.Errorf("gif create: %v", err)
	}
	return buf.Bytes(), nil
}

// fpsToGifDelay converts fps value into animated GIF
// delay value, which is in 100th of second
func fpsToGifDelay(fps int) int {
	if fps == 0 {
		return 100 // default value, 1 sec
	}
	return 100 / fps
}

repository: tomalikem/Theory-of-Concurrency

repo_name: tomalikem/Theory-of-Concurrency


text:
package claircore

// ScanRecord is an entry in the ScanReport.
//
// A ScanRecord identifies a discovered package along with its
// Distribution and Repository information if present.
type ScanRecord struct {
	Package      *Package
	Distribution *Distribution
	Repository   *Repository
}

// ScanReport provides a package database for a container image.
//
// A ScanReport is used to inventory a discrete package information found
// within in each layer of a container image.
type ScanReport struct {
	// the manifest hash this scan result is assocaited with
	Hash string `json:"manifest_hash"`
	// the current state of the scan.
	State string `json:"state"`
	// packages found after applying all layers
	Packages map[int]*Package `json:"packages"`
	// distributions found after applying all layers
	Distributions map[int]*Distribution `json:"distributions"`
	// repositories found after applying all layers
	Repositories map[int]*Repository `json:"repository"`
	// PackagesByDistribution maps a package id to it's associated distribution id
	DistributionByPackage map[int]int `json:"distribution_by_package"`
	// PackagesByRepositories maps a package id to it's associated repository id
	RepositoryByPackage map[int]int `json:"repository_by_package"`
	// layer hash that introduced the given package id
	PackageIntroduced map[int]string `json:"package_introduced"`
	// whether the scan was successful
	Success bool `json:"success"`
	// the first fatal error that occured during a scan process
	Err string `json:"err"`
}

// ScanRecords returns a list of ScanRecords derived from the ScanReport
//
// If a field in the ScanRecord is not found in the ScanReport the empty value
// is returned to provide nil safey.
func (report *ScanReport) ScanRecords() []*ScanRecord {
	out := []*ScanRecord{}
	for _, pkg := range report.Packages {
		record := &ScanRecord{}
		record.Package = pkg

		if record.Package.Source == nil {
			record.Package.Source = &Package{}
		}

		if id, ok := report.DistributionByPackage[pkg.ID]; ok {
			record.Distribution = report.Distributions[id]
		} else {
			record.Distribution = &Distribution{}
		}

		if id, ok := report.RepositoryByPackage[pkg.ID]; ok {
			record.Repository = report.Repositories[id]
		} else {
			record.Repository = &Repository{}
		}
		out = append(out, record)
	}
	return out
}

repository: jpkrohling/claircore

repo_name: jpkrohling/claircore


text:
package vpx

/*
#cgo pkg-config: vpx
#include <vpx/vp8dx.h>
#include <vpx/vp8cx.h>
#include <stdlib.h>
*/
import "C"

func DecoderIfaceVP8() *CodecIface {
	return (*CodecIface)(C.vpx_codec_vp8_dx())
}

func DecoderIfaceVP9() *CodecIface {
	return (*CodecIface)(C.vpx_codec_vp9_dx())
}

// func DecoderIfaceVP10() *CodecIface {
// 	return (*CodecIface)(C.vpx_codec_vp10_dx())
// }

func DecoderFor(fourcc int) *CodecIface {
	switch fourcc {
	case Vp8Fourcc:
		return DecoderIfaceVP8()
	case Vp9Fourcc:
		return DecoderIfaceVP9()
	}
	return nil
}

func EncoderIfaceVP8() *CodecIface {
	return (*CodecIface)(C.vpx_codec_vp8_cx())
}

func EncoderIfaceVP9() *CodecIface {
	return (*CodecIface)(C.vpx_codec_vp9_cx())
}

// func EncoderIfaceVP10() *CodecIface {
// 	return (*CodecIface)(C.vpx_codec_vp10_cx())
// }

func EncoderFor(fourcc int) *CodecIface {
	switch fourcc {
	case Vp8Fourcc:
		return EncoderIfaceVP8()
	case Vp9Fourcc:
		return EncoderIfaceVP9()
	}
	return nil
}

repository: xlab/libvpx-go

repo_name: xlab/libvpx-go

gha_license_id: MIT

gha_language: C


text:
find_program(HEMTT "hemtt")
if(HEMTT)
    message("Found hemtt!")
    execute_process(COMMAND HEMTT build --release --force-release WORKING_DIRECTORY ${SRC_PATH})
    execute_process(COMMAND HEMTT zip)
else()
    message("Could not find hemtt!")
endif()

extension: cmake


text:
DESCRIPTION = "BACnet open source protocol stack for embedded systems"
HOMEPAGE = "http://bacnet.sourceforge.net/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://license/gpl-2.txt;md5=3040850b26eed151876dcd4b841f5235"

PARALLEL_MAKE = "-j 1"

PR = "r0"

RDEPENDS_${PN} = "bash"

SRC_URI = "http://sourceforge.net/projects/bacnet/files/bacnet-stack/bacnet-stack-${PV}/bacnet-stack-${PV}.tgz \
           file://bip-init.c.diff \
           file://s_ptransfer.c.diff \
           "

SRC_URI[md5sum] = "cb7d0bc58bfe36ce3789923b9e5acd2d"
SRC_URI[sha256sum] = "4646d3148b9e2921f0c93605fb7a18d87224dcad3adc3127762f3788f9a13f04"

inherit autotools-brokensep

do_install() {
  # main library file
  install -D -m 0644 ${S}/lib/libbacnet.a ${D}${libdir}/libbacnet.a

  # includes
  install -d ${D}${includedir}/${PN}/
  install -m 0644 ${S}/include/* ${D}${includedir}/${PN}/

  # demos & docs
  install -d ${D}${bindir}/
  install -m 0755 ${S}/bin/* ${D}${bindir}/
  install -D -m 0644 ${S}/bin/readme.txt ${D}$docdir/${PN}/readme.txt
  rm -rf ${D}${bindir}/readme.txt
  rm -rf ${D}${bindir}/bacrpd.bat
  rm -rf ${D}${bindir}/bvlc.bat
}

gha_language: BitBake

extension: bb


text:
package handler

import (
	"testing"

	"github.com/stretchr/testify/assert"

	"sagikazarmark.dev/mga/pkg/gentypes"
)

func TestGenerate(t *testing.T) {
	file := File{
		File: gentypes.File{
			Package: gentypes.PackageRef{
				Name: "pkggen",
				Path: "app.dev/pkg/pkggen",
			},
			HeaderText: `// Copyright 2020 Acme Inc.
// All rights reserved.
//
// Licensed under "Only for testing purposes" license.
`,
		},
		EventHandlers: []EventHandler{
			{
				Name: "Event",
				Event: Event{
					Name: "Event",
					Package: gentypes.PackageRef{
						Name: "pkg",
						Path: "app.dev/pkg",
					},
				},
			},
		},
	}

	expected := `//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Copyright 2020 Acme Inc.
// All rights reserved.
//
// Licensed under "Only for testing purposes" license.

// Code generated by mga tool. DO NOT EDIT.

package pkggen

import (
	"app.dev/pkg"
	"context"
	"emperror.dev/errors"
	"fmt"
)

// EventHandler handles Event events.
type EventHandler interface {
	// Event handles a(n) Event event.
	Event(ctx context.Context, event pkg.Event) error
}

// EventEventHandler handles Event events.
type EventEventHandler struct {
	handler EventHandler
	name    string
}

// NewEventEventHandler returns a new EventEventHandler instance.
func NewEventEventHandler(handler EventHandler, name string) EventEventHandler {
	return EventEventHandler{
		handler: handler,
		name:    name,
	}
}

// HandlerName returns the name of the event handler.
func (h EventEventHandler) HandlerName() string {
	return h.name
}

// NewEvent returns a new empty event used for serialization.
func (h EventEventHandler) NewEvent() interface{} {
	return &pkg.Event{}
}

// Handle handles an event.
func (h EventEventHandler) Handle(ctx context.Context, event interface{}) error {
	e, ok := event.(*pkg.Event)
	if !ok {
		return errors.NewWithDetails("unexpected event type", "type", fmt.Sprintf("%T", event))
	}

	return h.handler.Event(ctx, *e)
}
`

	actual, err := Generate(file)
	if err != nil {
		t.Fatal(err)
	}

	assert.Equal(t, expected, string(actual), "the generated code does not match the expected one")
}

repository: sagikazarmark/mga

repo_name: sagikazarmark/mga

gha_language: Go


text:
package security

// Elements 结构体
type Elements struct {
	// 材料值类型
	ValueMeta string `json:"value_meta,omitempty" xml:"value_meta,omitempty"`
	// url
	Value string `json:"value,omitempty" xml:"value,omitempty"`
	// 材料名字
	Name string `json:"name,omitempty" xml:"name,omitempty"`
}

repository: bububa/opentaobao

repo_name: bububa/opentaobao

branch_name: refs/heads/main


text:
DESCRIPTION = "Media asset management for Python, with glue code for various frameworks"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b810770075a29bf44b96607440e7c801"

SRC_URI[md5sum] = "e8d5dbe36e53d5a35cff227e795e8bbf"
SRC_URI[sha256sum] = "59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9"

PYPI_PACKAGE = "speaklater"
inherit pypi setuptools3

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded


text:
package port

import (
	"errors"
	"fmt"
	"regexp"
	"strings"

	"k8s.io/apimachinery/pkg/util/intstr"
)

const (
	// K9sAutoPortForwardKey represents an auto portforwards annotation.
	K9sAutoPortForwardsKey = "k9scli.io/auto-port-forwards"

	// K9sPortForwardKey represents a portforwards annotation.
	K9sPortForwardsKey = "k9scli.io/port-forwards"
)

var (
	pfRX      = regexp.MustCompile(`\A([\w-]+)::(\d*):?(\d*|[\w-]*)/?(\d+)?\z`)
	pfPlainRX = regexp.MustCompile(`\A(\d*):?(\d*|[\w-]*)\z`)
)

// PFAnn represents a portforward annotation value.
// Shape: container/portname|portNum:localPort
type PFAnn struct {
	Container        string
	ContainerPort    intstr.IntOrString
	LocalPort        string
	containerPortNum string
}

func ParsePlainPF(ann string) (*PFAnn, error) {
	if len(ann) == 0 {
		return nil, fmt.Errorf("invalid annotation %q", ann)
	}
	var pf PFAnn
	mm := pfPlainRX.FindStringSubmatch(strings.TrimSpace(ann))
	if len(mm) < 3 {
		return nil, fmt.Errorf("Invalid plain port-forward %s", ann)
	}
	if len(mm[2]) == 0 {
		pf.ContainerPort = intstr.Parse(mm[1])
		pf.LocalPort = mm[1]
		return &pf, nil
	}
	pf.LocalPort, pf.ContainerPort = mm[1], intstr.Parse(mm[2])

	return &pf, nil
}

// ParsePF hydrate a portforward annotation from string.
func ParsePF(ann string) (*PFAnn, error) {
	if pf, err := ParsePlainPF(ann); err == nil {
		return pf, nil
	}
	var pf PFAnn
	if mm := pfPlainRX.FindStringSubmatch(strings.TrimSpace(ann)); len(mm) == 3 {
		pf.containerPortNum = mm[0]
	}
	r := pfRX.FindStringSubmatch(strings.TrimSpace(ann))
	if len(r) < 4 {
		return &pf, fmt.Errorf("invalid port-forward specification %s", ann)
	}
	pf.Container = r[1]
	pf.LocalPort, pf.ContainerPort = r[2], intstr.Parse(r[3])
	if r[3] == "" {
		pf.ContainerPort = intstr.Parse(pf.LocalPort)
	}

	// Testing only!
	if len(r) == 5 && r[4] != "" {
		pf.containerPortNum = r[4]
	}
	if pf.LocalPort == "" {
		pf.LocalPort = pf.containerPortNum
	}

	return &pf, nil
}

// Match checks if annotation matches any of the container ports.
func (p *PFAnn) Match(ss ContainerPortSpecs) bool {
	for _, s := range ss {
		if s.Match(p) {
			p.containerPortNum = s.PortNum
			return true
		}
	}

	return false
}

func (p *PFAnn) AsSpec() string {
	s := p.Container + "::"
	if p.containerPortNum != "" {
		return s + p.containerPortNum
	}
	return s + p.LocalPort
}

// String dumps the annotation.
func (p *PFAnn) String() string {
	return p.Container + "::" + p.LocalPort + ":" + p.containerPortNum
}

func (p *PFAnn) PortNum() (string, error) {
	if p.ContainerPort.Type == intstr.Int {
		return p.ContainerPort.String(), nil
	}
	if p.containerPortNum != "" {
		return p.containerPortNum, nil
	}

	return "", errors.New("no port number assigned")
}

func (p *PFAnn) ToTunnel(address string) (PortTunnel, error) {
	var pt PortTunnel
	port, err := p.PortNum()
	if err != nil {
		return pt, err
	}

	pt.Address, pt.Container = address, p.Container
	pt.ContainerPort, pt.LocalPort = port, p.LocalPort

	return pt, nil
}


text:
#include <algorithm>
#include <cmath>
#include <iostream>
#include <set>
#include <vector>

using namespace std;

int main() {
  int t;
  cin >> t;

  vector<bool> primes(1000000 + 1, true);
  primes[0] = primes[1] = false;
  for (int i = 2; i < primes.size(); i++) {
    if (primes[i]) {
      for (int j = i * 2; j < primes.size(); j += i) {
        primes[j] = false;
      }
    }
  }

  while (t > 0) {
    int n;
    cin >> n;
    vector<int> counts(1000000 + 1, 0);
    set<int> divs;
    int min_primary_divisor = 0;
    for (int i = 0; i < n; i++) {
      int a;
      cin >> a;
      divs.insert(a);
      for (int k = 0; k < primes.size(); k++) {
        if (primes[k]) {
          int counter = 0;
          int r = a;
          while (r % k == 0) {
            r /= k;
            counter++;
          }
          if (counter > 0 && min_primary_divisor == 0) {
            min_primary_divisor = k;
          }
          if (counter > counts[k]) {
            counts[k] = counter;
          }
        }
      }
    }

    long long answer = 1;
    for (int k = 0; k < counts.size(); k++) {
      while (counts[k] > 0) {
        answer = answer * k;
        counts[k]--;
      }
    }
    int m = *(divs.begin());
    for (auto it = ++divs.begin(); it != divs.end(); it++) {
      m = max(m, *it);
    }
    if (answer == m) {
      answer = answer * min_primary_divisor;
    }
    int count_divs = 0;
    long long q = (long long)(sqrt(answer));
    for (long long d = 2; d <= q; d++) {
      if (answer % d == 0) {
        count_divs += 2;
      }
    }
    if ((answer % q == 0) && answer == q * q) {
      count_divs--;
    }
    if (count_divs == divs.size()) {
      cout << answer << endl;
    } else {
      cout << "-1" << endl;
    }
    t--;
  }
  return 0;
}

extension: cpp


text:
package server

type Config struct {
	Log                 LogConfig              `json:"log" yaml:"log" cloud:"log"`
	Server              ServerConfig           `json:"server" yaml:"server" cloud:"server"`
	Oauth2              Oauth2Config           `json:"oauth2" yaml:"oauth2" cloud:"oauth2"`
	SBSource            SBSourceConfig         `json:"sb_source" yaml:"sb_source" cloud:"sb_source"`
	Reconciliator       ReconciliatorConfig    `json:"reconciliator" yaml:"reconciliator" cloud:"reconciliator"`
	SkipSSLVerification bool                   `json:"skip_ssl_verification" yaml:"skip_ssl_verification" cloud:"skip_ssl_verification"`
	MiddlewareParams    map[string]interface{} `json:"middleware_params" yaml:"middleware_params"`
}

type LogConfig struct {
	Level   string `json:"level" yaml:"level"`
	InJson  bool   `json:"in_json" yaml:"in_json"`
	NoColor bool   `json:"no_color" yaml:"no_color"`
}

type ServerConfig struct {
	Host               string   `json:"host" yaml:"host"`
	Port               int      `json:"port" yaml:"port"`
	Cert               string   `json:"cert" yaml:"cert" cloud-default:"server.crt"`
	Key                string   `json:"key" yaml:"key" cloud-default:"server.key"`
	LetsEncryptDomains []string `json:"lets_encrypt_domains" yaml:"lets_encrypt_domains"`
}

type ReconciliatorConfig struct {
	Endpoint           string `json:"endpoint" yaml:"endpoint" cloud:"endpoint"`
	UseSharedByDefault bool   `json:"use_shared_by_default" yaml:"use_shared_by_default"`
}

type Oauth2Config struct {
	TokenURI     string   `json:"token_uri" yaml:"token_uri" cloud:"token_uri"`
	ClientId     string   `json:"client_id" yaml:"client_id" cloud:"client_id"`
	ClientSecret string   `json:"client_secret" yaml:"client_secret" cloud:"client_secret"`
	Scopes       []string `json:"scopes" yaml:"scopes" cloud:"scopes"`
}

type SBSourceConfig struct {
	Username string `json:"username" yaml:"username" cloud:"username"`
	Password string `json:"password" yaml:"password" cloud:"password"`
	URL      string `json:"url" yaml:"url" cloud:"url"`
}

repository: orange-cloudfoundry/sbomzo

repo_name: orange-cloudfoundry/sbomzo


text:
#include "il2cpp-config.h"

#if IL2CPP_TARGET_POSIX && !IL2CPP_TINY_WITHOUT_DEBUGGER

#include <errno.h>

#include "os/LastError.h"

namespace il2cpp
{
namespace os
{
    uint32_t LastError::GetLastError()
    {
        return errno;
    }
} /* namespace os */
} /* namespace il2cpp*/

#endif

gha_language: C#


text:
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QMessageBox>
#include <QDebug>
#include <QFileDialog>
#include <QXmlStreamWriter>

#include "views/createclientdialog.h"
#include "views/createmiscdialog.h"
#include "views/createstaffdialog.h"
#include "views/staffview.h"
#include "model/accountmodel.h"
#include "model/staffmodel.h"
#include "model/clientmodel.h"
#include "model/appointmentmodel.h"

MainWindow::MainWindow(QWidget *parent)
	: QMainWindow(parent)
	, ui(new Ui::MainWindow)
{
	// Load the UI.
	ui->setupUi(this);

	// Maximize the window.
	//setWindowState(Qt::WindowMaximized);

	// Connections.
	connect(ui->actionCreateClient, SIGNAL(triggered(bool)), this, SLOT(onCreateClientAction()));
    connect(ui->actionDivers, SIGNAL(triggered(bool)), this, SLOT(onDiversAction()));
	connect(ui->actionToolbarCreateClient, SIGNAL(triggered(bool)), this, SLOT(onCreateClientAction()));
	connect(ui->actionCreateStaff, SIGNAL(triggered(bool)), this, SLOT(onCreateStaffAction()));
	connect(ui->actionToolbarCreateStaff, SIGNAL(triggered(bool)), this, SLOT(onCreateStaffAction()));
	connect(ui->actionAboutUs, SIGNAL(triggered(bool)), this, SLOT(onAboutUsAction()));
	connect(ui->actionAboutQt, SIGNAL(triggered(bool)), this, SLOT(onAboutQtAction()));

	connect(ui->modifyStaffButton, SIGNAL(clicked(bool)), this, SLOT(onModifyStaffButtonCliked()));
	connect(ui->deleteStaffButton, SIGNAL(clicked(bool)), this, SLOT(onDeleteStaffButtonCliked()));

	connect(ui->clientSearchPushButton, SIGNAL(clicked(bool)), this, SLOT(onClientSearch()));
	connect(ui->clientSearchFirstNameEdit, SIGNAL(textChanged(QString)), this, SLOT(onClientSearch()));
	connect(ui->clientSearchLastNameEdit, SIGNAL(textChanged(QString)), this, SLOT(onClientSearch()));
	connect(ui->clientSearchStartDate, SIGNAL(dateChanged(QDate)), this, SLOT(onClientSearch()));
	connect(ui->clientSearchEndDate, SIGNAL(dateChanged(QDate)), this, SLOT(onClientSearch()));

	connect(ui->modifyClientPushButton, SIGNAL(clicked(bool)), this, SLOT(onModifyClientButtonClicked()));
	connect(ui->removeClientPushButton, SIGNAL(clicked(bool)), this, SLOT(onDeleteClientButtonClicked()));

    connect(ui->exportStaffToXMLPushButton, SIGNAL(clicked(bool)), this, SLOT(onExportStaffToXMLPushButton()));

	// Client table view.
    QSqlQueryModel *model = ClientModel::getClientsModel();
    ui->clientSearchTableView->setModel(model);
    ui->clientSearchTableView->verticalHeader()->setVisible(false);
    ui->clientSearchTableView->sortByColumn(1);
}

MainWindow::~MainWindow()
{
	delete ui;
}

void MainWindow::onCreateClientAction()
{
	setStatusTip("Creating a new client");

    CreateClientDialog *ccd = new CreateClientDialog(0, this);
	ccd->exec();

	// Refresh the client view.
    QSqlQueryModel *model = ClientModel::getClientsModel();
    ui->clientSearchTableView->setModel(model);
}

void MainWindow::onCreateStaffAction()
{
	setStatusTip("Creating a new staff");

    CreateStaffDialog *csd = new CreateStaffDialog(-1, this);
	csd->exec();

	// Refresh the staff view.
	ui->staffTreeView->refreshData();
}

void MainWindow::onAboutUsAction()
{
	QMessageBox box(QString("À propos"), QString("Créateurs : Louis & Maxime"), QMessageBox::NoIcon, QMessageBox::Ok | QMessageBox::Default, QMessageBox::NoButton, QMessageBox::NoButton, this);
	box.setIconPixmap(QPixmap(":/icons/polytechtours-166x166.png"));
	box.exec();
}

void MainWindow::onAboutQtAction()
{
	QMessageBox::aboutQt(this);
}

void MainWindow::onModifyStaffButtonCliked()
{
	setStatusTip("Modifying a staff member");

    CreateStaffDialog *csd = new CreateStaffDialog(ui->staffTreeView->getSelectedStaffId(), this);
    csd->exec();

    // Refresh the staff view.
    ui->staffTreeView->refreshData();
}

void MainWindow::onDeleteStaffButtonCliked()
{
	setStatusTip("Deleting a staff member");

	int staffId = ui->staffTreeView->getSelectedStaffId();

	if(staffId == -1)
		return;

	Staff staff = StaffModel::getStaffById(staffId);

	if(staff.getId() == -1)
		qDebug() << "Error while retrieving the staff : id = -1";

	// Remove the staff.
	StaffModel::removeStaff(staff.getId());

	// Check the type.
	if(staff.getTypeId() == 7) // Type 7 = Informaticien
		AccountModel::removeAccountOfStaff(staff.getId());

	// Update staff view.
	ui->staffTreeView->refreshData();
}

void MainWindow::onClientSearch()
{
	QSqlQueryModel *model = ClientModel::getClientsModelFiltered(ui->clientSearchFirstNameEdit->text(), ui->clientSearchLastNameEdit->text(), ui->clientSearchStartDate->date(), ui->clientSearchEndDate->date());
    ui->clientSearchTableView->setModel(model);
}

void MainWindow::onModifyClientButtonClicked()
{
	// Get the selected client.
	QModelIndex selectedClient = ui->clientSearchTableView->currentIndex();

    int clientId = ui->clientSearchTableView->model()->index(selectedClient.row(), 0).data().toString().toInt();

    CreateClientDialog *csd = new CreateClientDialog(clientId, this);
    csd->exec();

    // Refresh the staff view.
    QSqlQueryModel *model = ClientModel::getClientsModel();
    ui->clientSearchTableView->setModel(model);
}

void MainWindow::onDeleteClientButtonClicked()
{
	// Get the selected client.
    QModelIndex selectedClient = ui->clientSearchTableView->currentIndex();

    int clientId = ui->clientSearchTableView->model()->index(selectedClient.row(), 0).data().toString().toInt();

    // Delete Appointments and client
    ClientModel::deleteClientById(clientId);
    AppointmentModel::deleteAppointmentByClientId(clientId);

    // Refresh the staff view.
    QSqlQueryModel *model = ClientModel::getClientsModel();
    ui->clientSearchTableView->setModel(model);
}

void MainWindow::onClientAdded()
{
    setStatusTip("Ajout de personne terminé");
}

void MainWindow::onExportStaffToXMLPushButton()
{
    // Get the filename.
    QString filename = QFileDialog::getSaveFileName(this, "Exporter en XML", "C:\\", "Fichiers XML (*.xml)");

    // Open the file.
    QFile file(filename);
    if(!file.open(QIODevice::WriteOnly))
        QMessageBox::critical(this, "Erreur export XML", "Impossible d'écrire le fichier \"" + filename + "\".");

    // Start the xml writer.
    QXmlStreamWriter xmlWriter(&file);

    // Start document.
    xmlWriter.setAutoFormatting(true);
    xmlWriter.writeStartDocument();
    xmlWriter.writeStartElement("TRessource");

    QList<Staff> staffList = StaffModel::getStaffList();

    for(int i(0) ; i < staffList.size() ; ++i)
    {
        Staff& s = staffList[i];

        xmlWriter.writeStartElement("Ressource");
        xmlWriter.writeAttribute("Id", QString::number(s.getId()));
            xmlWriter.writeTextElement("Nom", s.getLastName());
            xmlWriter.writeTextElement("Prenom", s.getFirstName());
        xmlWriter.writeEndElement();
    }

    // End document.
    xmlWriter.writeEndElement();
    xmlWriter.writeEndDocument();
    file.close();

    // Notify success.
    QMessageBox::information(this, "Export XML réussi", "L'export XML vers le fichier \"" + filename + "\" a réussi.");
}

void MainWindow::onDiversAction()
{
    CreateMiscDialog *cmd = new CreateMiscDialog(this);
    cmd->exec();

    // Update staff view.
    ui->staffTreeView->refreshData();
}


text:
DESCRIPTION = "cpufreqd is meant to be a replacement of the speedstep \
applet you can find in Windows. It monitors battery level, CPU usage, \
AC state, and running programs and adjusts the frequency governor \
according to a set of rules specified in the config file."
SECTION = "console/utils"
LICENSE = "GPL"

SRC_URI = "${SOURCEFORGE_MIRROR}/cpufreqd/cpufreqd-${PV}.tar.gz \
	   file://nonrootinstall.patch"

inherit autotools

FILES_${PN} = "${sbindir} ${sysconfdir} ${libdir}/libsys_*.so"
FILES_${PN}-dev = "${libdir}/*.la ${libdir}/*.a"

SRC_URI[md5sum] = "d06dcf3e3b2f8eb25216431ec055aa4b"
SRC_URI[sha256sum] = "c64eb1923366934357c917ff9a94237a8157de24a1fd96e0f91c4d5dfad83026"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD