text:
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-B-S" package="USB-B-SMT">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VUSB"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="OLD" package="USB-MINIB-OLD">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH" package="USB-B-PTH">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-08278" constant="no"/>
<attribute name="VALUE" value="USB-B" constant="no"/>
</technology>
</technologies>
</device>
<device name="-JST-2MM-SMT" package="S4B-PH">
<connects>
<connect gate="G$1" pin="D+" pad="2"/>
<connect gate="G$1" pin="D-" pad="3"/>
<connect gate="G$1" pin="GND" pad="1"/>
<connect gate="G$1" pin="VBUS" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD" package="USB-MINIB">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-08193" constant="no"/>
</technology>
</technologies>
</device>
<device name="PCB" package="USB-A-PCB">
<connects>
<connect gate="G$1" pin="D+" pad="USB_P"/>
<connect gate="G$1" pin="D-" pad="USB_M"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="5V"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-VERTICAL" package="USB-B-PTH-VERTICAL">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="USB-A-S-NOSILK" package="USB-A-S-NOSILK">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-A-SMD" package="USB-A-S-NOSILK-FEMALE">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-09520"/>
</technology>
</technologies>
</device>
<device name="-SMD-NS" package="USB-MINIB-NOSTOP">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_" package="USB-A-S-SILK-FEMALE">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-MICROB" package="USB-MICROB">
<connects>
<connect gate="G$1" pin="D+" pad="D+"/>
<connect gate="G$1" pin="D-" pad="D-"/>
<connect gate="G$1" pin="GND" pad="GND MT1 MT2"/>
<connect gate="G$1" pin="VBUS" pad="VBUS"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-09505"/>
</technology>
</technologies>
</device>
<device name="A-SMD-MALE" package="USB-A-SMT-MALE">
<connects>
<connect gate="G$1" pin="D+" pad="D+1"/>
<connect gate="G$1" pin="D-" pad="D-1"/>
<connect gate="G$1" pin="GND" pad="GND1"/>
<connect gate="G$1" pin="VBUS" pad="VBUS1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="A-SMD-MALE-LOCKING" package="USB-A-SMT-MALE-LOCKING">
<connects>
<connect gate="G$1" pin="D+" pad="D+1"/>
<connect gate="G$1" pin="D-" pad="D-1"/>
<connect gate="G$1" pin="GND" pad="GND1"/>
<connect gate="G$1" pin="VBUS" pad="VBUS1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="M03X2" prefix="JP" uservalue="yes">
<description>2x3 .1" header.

Shrouded, with keying- CONN-10681

SMT- CONN-11415

Pogo pins- HW-11044</description>
<gates>
<gate name="G$1" symbol="M03X2" x="0" y="0"/>
</gates>
<devices>
<device name="SHROUD" package="2X3-SHROUDED">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-10681"/>
</technology>
</technologies>
</device>
<device name="SMT" package="2X3_SMT_POSTS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-11415"/>
</technology>
</technologies>
</device>
<device name="POGO_PINS" package="2X3_POGO">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
<connect gate="G$1" pin="3" pad="P$3"/>
<connect gate="G$1" pin="4" pad="P$4"/>
<connect gate="G$1" pin="5" pad="P$5"/>
<connect gate="G$1" pin="6" pad="P$6"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="HW-11044"/>
</technology>
</technologies>
</device>
<device name="2X3_SILK_SM" package="2X3">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="NO_SILK" package="2X3-NS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="FEMALE_SMD" package="2X3_SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-11290"/>
</technology>
</technologies>
</device>
<device name="" package="2X3_SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-11290" constant="no"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="M08" prefix="JP" uservalue="yes">
<description>Header 8
Standard 8-pin 0.1" header. Use with straight break away headers (SKU : PRT-00116), right angle break away headers (PRT-00553), swiss pins (PRT-00743), machine pins (PRT-00117), and female headers (PRT-00115).</description>
<gates>
<gate name="G$1" symbol="M08" x="-2.54" y="0"/>
</gates>
<devices>
<device name="1X08" package="1X08">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK" package="1X08_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_LONGPADS" package="1X08_LOCK_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LONGPADS" package="1X08_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="3.5MM-8" package="SCREWTERMINAL-3.5MM-8">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD-STRAIGHT" package="1X08_SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD-STRAIGHT-ALT" package="1X08_SMD_ALT">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD-COMBO" package="1X08_SMD_COMBINED">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="BM08B-SRSS-TB" package="BM08B-SRSS-TB">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD-MALE" package="1X08_SMD_MALE">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CONN-11292"/>
</technology>
</technologies>
</device>
<device name="NO_SILK" package="1X08_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="" package="1X08_PIN1_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Resistors">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.

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: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

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="1206">
<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-0.965" y1="0.787" x2="0.965" y2="0.787" width="0.1016" layer="51"/>
<wire x1="-0.965" y1="-0.787" x2="0.965" y2="-0.787" width="0.1016" layer="51"/>
<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<text x="-1.27" y="1.143" size="0.4064" layer="25">>NAME</text>
<text x="-1.397" y="-1.524" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-1.7018" y1="-0.8509" x2="-0.9517" y2="0.8491" layer="51"/>
<rectangle x1="0.9517" y1="-0.8491" x2="1.7018" y2="0.8509" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
<package name="AXIAL-0.3">
<wire x1="-2.54" y1="0.762" x2="2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0.762" x2="2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="-0.762" x2="-2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="-0.762" x2="-2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.794" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.794" y2="0" width="0.2032" layer="21"/>
<pad name="P$1" x="-3.81" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="3.81" y="0" drill="0.9" diameter="1.8796"/>
<text x="-2.54" y="1.27" size="0.4064" layer="25" font="vector">>Name</text>
<text x="-2.032" y="-0.381" size="1.016" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="R2010">
<description>RESISTOR

chip</description>
<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="-1.027" y1="1.245" x2="1.027" y2="1.245" width="0.1524" layer="21"/>
<wire x1="-1.002" y1="-1.245" x2="1.016" y2="-1.245" width="0.1524" layer="21"/>
<smd name="1" x="-2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<smd name="2" x="2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<text x="-2.54" y="1.5875" size="0.4064" layer="25">>NAME</text>
<text x="-2.54" y="-2.032" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
</package>
<package name="0805">
<wire x1="-0.3" y1="0.6" x2="0.3" y2="0.6" width="0.1524" layer="21"/>
<wire x1="-0.3" y1="-0.6" x2="0.3" y2="-0.6" width="0.1524" layer="21"/>
<smd name="1" x="-0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<smd name="2" x="0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<text x="-0.762" y="0.8255" size="0.4064" layer="25">>NAME</text>
<text x="-1.016" y="-1.397" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="0603-RES">
<wire x1="-1.473" y1="0.983" x2="1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.983" x2="1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.983" x2="-1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.983" x2="-1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<smd name="1" x="-0.85" y="0" dx="1.1" dy="1" layer="1"/>
<smd name="2" x="0.85" y="0" dx="1.1" dy="1" layer="1"/>
<text x="-0.889" y="0.762" size="0.4064" layer="25" font="vector">>NAME</text>
<text x="-1.016" y="-1.143" size="0.4064" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
<rectangle x1="-0.2286" y1="-0.381" x2="0.2286" y2="0.381" layer="21"/>
</package>
<package name="1/6W-RES">
<description>1/6W Thru-hole Resistor - *UNPROVEN*</description>
<wire x1="-1.55" y1="0.85" x2="-1.55" y2="-0.85" width="0.2032" layer="21"/>
<wire x1="-1.55" y1="-0.85" x2="1.55" y2="-0.85" width="0.2032" layer="21"/>
<wire x1="1.55" y1="-0.85" x2="1.55" y2="0.85" width="0.2032" layer="21"/>
<wire x1="1.55" y1="0.85" x2="-1.55" y2="0.85" width="0.2032" layer="21"/>
<pad name="1" x="-2.5" y="0" drill="0.762" diameter="1.6764"/>
<pad name="2" x="2.5" y="0" drill="0.762" diameter="1.6764"/>
<text x="-1.2662" y="0.9552" size="0.6096" layer="25">>NAME</text>
<text x="-1.423" y="-0.4286" size="0.8128" layer="21" ratio="15">>VALUE</text>
</package>
<package name="R2512">
<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
<smd name="1" x="-2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<smd name="2" x="2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<text x="-2.54" y="1.905" size="1.27" layer="25">>NAME</text>
<text x="-2.54" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
</package>
<package name="AXIAL-0.4">
<description>1/4W Resistor, 0.4" wide

Yageo CFR series http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</description>
<wire x1="-3.15" y1="-1.2" x2="-3.15" y2="1.2" width="0.2032" layer="21"/>
<wire x1="-3.15" y1="1.2" x2="3.15" y2="1.2" width="0.2032" layer="21"/>
<wire x1="3.15" y1="1.2" x2="3.15" y2="-1.2" width="0.2032" layer="21"/>
<wire x1="3.15" y1="-1.2" x2="-3.15" y2="-1.2" width="0.2032" layer="21"/>
<pad name="P$1" x="-5.08" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="5.08" y="0" drill="0.9" diameter="1.8796"/>
<text x="-3.175" y="1.905" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-2.286" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.5">
<description>1/2W Resistor, 0.5" wide

Yageo CFR series http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</description>
<wire x1="-4.5" y1="-1.65" x2="-4.5" y2="1.65" width="0.2032" layer="21"/>
<wire x1="-4.5" y1="1.65" x2="4.5" y2="1.65" width="0.2032" layer="21"/>
<wire x1="4.5" y1="1.65" x2="4.5" y2="-1.65" width="0.2032" layer="21"/>
<wire x1="4.5" y1="-1.65" x2="-4.5" y2="-1.65" width="0.2032" layer="21"/>
<pad name="P$1" x="-6.35" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="6.35" y="0" drill="0.9" diameter="1.8796"/>
<text x="-4.445" y="2.54" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-3.429" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.6">
<description>1W Resistor, 0.6" wide

Yageo CFR series http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</description>
<wire x1="-5.75" y1="-2.25" x2="-5.75" y2="2.25" width="0.2032" layer="21"/>
<wire x1="-5.75" y1="2.25" x2="5.75" y2="2.25" width="0.2032" layer="21"/>
<wire x1="5.75" y1="2.25" x2="5.75" y2="-2.25" width="0.2032" layer="21"/>
<wire x1="5.75" y1="-2.25" x2="-5.75" y2="-2.25" width="0.2032" layer="21"/>
<pad name="P$1" x="-7.62" y="0" drill="1.2" diameter="1.8796"/>
<pad name="P$2" x="7.62" y="0" drill="1.2" diameter="1.8796"/>
<text x="-5.715" y="3.175" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-4.064" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.8">
<description>2W Resistor, 0.8" wide

Yageo CFR series http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</description>
<wire x1="-7.75" y1="-2.5" x2="-7.75" y2="2.5" width="0.2032" layer="21"/>
<wire x1="-7.75" y1="2.5" x2="7.75" y2="2.5" width="0.2032" layer="21"/>
<wire x1="7.75" y1="2.5" x2="7.75" y2="-2.5" width="0.2032" layer="21"/>
<wire x1="7.75" y1="-2.5" x2="-7.75" y2="-2.5" width="0.2032" layer="21"/>
<pad name="P$1" x="-10.16" y="0" drill="1.2" diameter="1.8796"/>
<pad name="P$2" x="10.16" y="0" drill="1.2" diameter="1.8796"/>
<text x="-7.62" y="3.175" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-5.969" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.3-KIT">
<description>
AXIAL-0.3-KIT

Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.

Warning: This is the KIT version of the AXIAL-0.3 package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</description>
<wire x1="-2.54" y1="1.27" x2="2.54" y2="1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="1.27" x2="2.54" y2="0" width="0.254" layer="21"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="-1.27" x2="-2.54" y2="-1.27" width="0.254" layer="21"/>
<wire x1="-2.54" y1="-1.27" x2="-2.54" y2="0" width="0.254" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="0" x2="2.794" y2="0" width="0.254" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.794" y2="0" width="0.254" layer="21"/>
<pad name="P$1" x="-3.81" y="0" drill="1.016" diameter="2.032" stop="no"/>
<pad name="P$2" x="3.81" y="0" drill="1.016" diameter="2.032" stop="no"/>
<text x="-2.54" y="1.27" size="0.4064" layer="25" font="vector">>Name</text>
<text x="-2.159" y="-0.762" size="1.27" layer="21" font="vector" ratio="15">>Value</text>
<polygon width="0.127" layer="30">
<vertex x="3.8201" y="-0.9449" curve="-90"/>
<vertex x="2.8652" y="-0.0152" curve="-90.011749"/>
<vertex x="3.8176" y="0.9602" curve="-90"/>
<vertex x="4.7676" y="-0.0178" curve="-90.024193"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="3.8176" y="-0.4369" curve="-90.012891"/>
<vertex x="3.3731" y="-0.0127" curve="-90"/>
<vertex x="3.8176" y="0.4546" curve="-90"/>
<vertex x="4.2595" y="-0.0025" curve="-90.012967"/>
</polygon>
<polygon width="0.127" layer="30">
<vertex x="-3.8075" y="-0.9525" curve="-90"/>
<vertex x="-4.7624" y="-0.0228" curve="-90.011749"/>
<vertex x="-3.81" y="0.9526" curve="-90"/>
<vertex x="-2.86" y="-0.0254" curve="-90.024193"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="-3.81" y="-0.4445" curve="-90.012891"/>
<vertex x="-4.2545" y="-0.0203" curve="-90"/>
<vertex x="-3.81" y="0.447" curve="-90"/>
<vertex x="-3.3681" y="-0.0101" curve="-90.012967"/>
</polygon>
</package>
<package name="AXIAL-0.3EZ">
<description>This is the "EZ" version of the standard .3" spaced resistor package.

It has a reduced top mask to make it harder to install upside-down.</description>
<wire x1="-2.54" y1="0.762" x2="2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0.762" x2="2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="-0.762" x2="-2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="-0.762" x2="-2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.794" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.794" y2="0" width="0.2032" layer="21"/>
<pad name="P$1" x="-3.81" y="0" drill="0.9" diameter="1.8796" stop="no"/>
<pad name="P$2" x="3.81" y="0" drill="0.9" diameter="1.8796" stop="no"/>
<text x="-2.54" y="1.27" size="0.4064" layer="25" font="vector">>Name</text>
<text x="-2.032" y="-0.381" size="1.016" layer="21" font="vector" ratio="15">>Value</text>
<circle x="-3.81" y="0" radius="0.508" width="0" layer="29"/>
<circle x="3.81" y="0" radius="0.523634375" width="0" layer="29"/>
<circle x="-3.81" y="0" radius="1.02390625" width="0" layer="30"/>
<circle x="3.81" y="0" radius="1.04726875" width="0" layer="30"/>
</package>
<package name="AXIAL-0.1EZ">
<wire x1="1.27" y1="-0.762" x2="1.27" y2="0" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0" x2="1.27" y2="0.762" width="0.2032" layer="21"/>
<wire x1="1.524" y1="0" x2="1.27" y2="0" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0" x2="1.016" y2="0" width="0.2032" layer="21"/>
<pad name="P$1" x="0" y="0" drill="0.9" diameter="1.8796" stop="no"/>
<pad name="P$2" x="2.54" y="0" drill="0.9" diameter="1.8796" stop="no"/>
<text x="0" y="1.27" size="1.016" layer="25" font="vector" ratio="15">>Name</text>
<text x="0" y="-2.159" size="1.016" layer="21" font="vector" ratio="15">>Value</text>
<circle x="0" y="0" radius="0.4572" width="0" layer="29"/>
<circle x="0" y="0" radius="1.016" width="0" layer="30"/>
<circle x="2.54" y="0" radius="1.016" width="0" layer="30"/>
<circle x="0" y="0" radius="0.4572" width="0" layer="29"/>
<circle x="2.54" y="0" radius="0.4572" width="0" layer="29"/>
</package>
<package name="AXIAL-0.1">
<wire x1="1.27" y1="-0.762" x2="1.27" y2="0" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0" x2="1.27" y2="0.762" width="0.2032" layer="21"/>
<wire x1="1.524" y1="0" x2="1.27" y2="0" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0" x2="1.016" y2="0" width="0.2032" layer="21"/>
<pad name="P$1" x="0" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="2.54" y="0" drill="0.9" diameter="1.8796"/>
<text x="0" y="1.27" size="1.016" layer="25" font="vector" ratio="15">>Name</text>
<text x="0" y="-2.159" size="1.016" layer="21" font="vector" ratio="15">>Value</text>
</package>
</packages>
<symbols>
<symbol name="RESISTOR">
<wire x1="-2.54" y1="0" x2="-2.159" y2="1.016" width="0.1524" layer="94"/>
<wire x1="-2.159" y1="1.016" x2="-1.524" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="-1.524" y1="-1.016" x2="-0.889" y2="1.016" width="0.1524" layer="94"/>
<wire x1="-0.889" y1="1.016" x2="-0.254" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="-0.254" y1="-1.016" x2="0.381" y2="1.016" width="0.1524" layer="94"/>
<wire x1="0.381" y1="1.016" x2="1.016" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="1.016" y1="-1.016" x2="1.651" y2="1.016" width="0.1524" layer="94"/>
<wire x1="1.651" y1="1.016" x2="2.286" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="2.286" y1="-1.016" x2="2.54" y2="0" width="0.1524" layer="94"/>
<text x="-3.81" y="1.4986" size="1.778" layer="95">>NAME</text>
<text x="-3.81" y="-3.302" size="1.778" layer="96">>VALUE</text>
<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="RESISTOR" prefix="R" uservalue="yes">
<description>Resistor
Basic schematic elements and footprints for 0603, 1206, and PTH resistors.</description>
<gates>
<gate name="G$1" symbol="RESISTOR" x="0" y="0"/>
</gates>
<devices>
<device name="1206" package="1206">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="AXIAL-0.3" package="AXIAL-0.3">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="2010" package="R2010">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="0805-RES" package="0805">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="0603-RES" package="0603-RES">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="0603" package="0603-RES">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1/6W" package="1/6W-RES">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="2512" package="R2512">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1/4W" package="AXIAL-0.4">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1/2W" package="AXIAL-0.5">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1W" package="AXIAL-0.6">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-2W" package="AXIAL-0.8">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="KIT" package="AXIAL-0.3-KIT">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="EZ" package="AXIAL-0.3EZ">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1/4W-VERT-KIT" package="AXIAL-0.1EZ">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH-1/4W-VERT" package="AXIAL-0.1">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="IC1" library="atmel" deviceset="TINY26*" device="S" technology="L" value="ATTINY861"/>
<part name="C1" library="SparkFun-Capacitors" deviceset="1.0UF-16V-10%(0603)" device="" value="0.1uF"/>
<part name="C2" library="SparkFun-Capacitors" deviceset="1.0UF-16V-10%(0603)" device="" value="0.1uF"/>
<part name="SUPPLY1" library="SparkFun-Aesthetics" deviceset="5V" device=""/>
<part name="IC2" library="Class Sample" deviceset="PLCC6" device=""/>
<part name="GND1" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND2" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="JP1" library="SparkFun-Connectors" deviceset="USB" device="SMD"/>
<part name="GND3" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="SUPPLY2" library="SparkFun-Aesthetics" deviceset="5V" device=""/>
<part name="JP2" library="SparkFun-Connectors" deviceset="M03X2" device="2X3_SILK_SM" value="ISP"/>
<part name="GND4" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="SUPPLY3" library="SparkFun-Aesthetics" deviceset="5V" device=""/>
<part name="R1" library="SparkFun-Resistors" deviceset="RESISTOR" device="0603" value="220"/>
<part name="R2" library="SparkFun-Resistors" deviceset="RESISTOR" device="0603" value="220"/>
<part name="R3" library="SparkFun-Resistors" deviceset="RESISTOR" device="0603" value="220"/>
<part name="JP3" library="SparkFun-Connectors" deviceset="M08" device=""/>
<part name="JP4" library="SparkFun-Connectors" deviceset="M08" device=""/>
<part name="GND5" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
</parts>
<sheets>
<sheet>
<plain>
</plain>
<instances>
<instance part="IC1" gate="G$1" x="73.66" y="45.72"/>
<instance part="C1" gate="G$1" x="35.56" y="35.56" rot="R180"/>
<instance part="C2" gate="G$1" x="45.72" y="30.48" rot="R180"/>
<instance part="SUPPLY1" gate="G$1" x="35.56" y="48.26"/>
<instance part="IC2" gate="G$1" x="172.72" y="55.88"/>
<instance part="GND1" gate="1" x="50.8" y="15.24"/>
<instance part="GND2" gate="1" x="187.96" y="40.64"/>
<instance part="JP1" gate="G$1" x="40.64" y="96.52" rot="R180"/>
<instance part="GND3" gate="1" x="66.04" y="83.82"/>
<instance part="SUPPLY2" gate="G$1" x="60.96" y="86.36" rot="R180"/>
<instance part="JP2" gate="G$1" x="101.6" y="91.44"/>
<instance part="GND4" gate="1" x="111.76" y="83.82"/>
<instance part="SUPPLY3" gate="G$1" x="111.76" y="99.06"/>
<instance part="R1" gate="G$1" x="144.78" y="60.96"/>
<instance part="R2" gate="G$1" x="149.86" y="55.88"/>
<instance part="R3" gate="G$1" x="154.94" y="50.8"/>
<instance part="JP3" gate="G$1" x="149.86" y="93.98" rot="R180"/>
<instance part="JP4" gate="G$1" x="182.88" y="93.98" rot="R180"/>
<instance part="GND5" gate="1" x="142.24" y="76.2"/>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GND@1"/>
<wire x1="53.34" y1="25.4" x2="50.8" y2="25.4" width="0.1524" layer="91"/>
<wire x1="50.8" y1="25.4" x2="50.8" y2="20.32" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="GND"/>
<wire x1="50.8" y1="20.32" x2="50.8" y2="17.78" width="0.1524" layer="91"/>
<wire x1="53.34" y1="27.94" x2="50.8" y2="27.94" width="0.1524" layer="91"/>
<wire x1="50.8" y1="27.94" x2="50.8" y2="25.4" width="0.1524" layer="91"/>
<junction x="50.8" y="25.4"/>
<pinref part="C2" gate="G$1" pin="1"/>
<wire x1="50.8" y1="25.4" x2="45.72" y2="25.4" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="1"/>
<wire x1="50.8" y1="20.32" x2="35.56" y2="20.32" width="0.1524" layer="91"/>
<wire x1="35.56" y1="20.32" x2="35.56" y2="30.48" width="0.1524" layer="91"/>
<junction x="50.8" y="20.32"/>
<pinref part="GND1" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="IC2" gate="G$1" pin="BGND"/>
<wire x1="185.42" y1="50.8" x2="187.96" y2="50.8" width="0.1524" layer="91"/>
<wire x1="187.96" y1="50.8" x2="187.96" y2="43.18" width="0.1524" layer="91"/>
<pinref part="IC2" gate="G$1" pin="GGND"/>
<wire x1="185.42" y1="55.88" x2="187.96" y2="55.88" width="0.1524" layer="91"/>
<wire x1="187.96" y1="55.88" x2="187.96" y2="50.8" width="0.1524" layer="91"/>
<pinref part="IC2" gate="G$1" pin="RGND"/>
<wire x1="185.42" y1="60.96" x2="187.96" y2="60.96" width="0.1524" layer="91"/>
<wire x1="187.96" y1="60.96" x2="187.96" y2="55.88" width="0.1524" layer="91"/>
<junction x="187.96" y="55.88"/>
<junction x="187.96" y="50.8"/>
<pinref part="GND2" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="JP1" gate="G$1" pin="GND"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="43.18" y1="96.52" x2="66.04" y2="96.52" width="0.1524" layer="91"/>
<wire x1="66.04" y1="96.52" x2="66.04" y2="86.36" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="JP2" gate="G$1" pin="6"/>
<pinref part="GND4" gate="1" pin="GND"/>
<wire x1="109.22" y1="88.9" x2="111.76" y2="88.9" width="0.1524" layer="91"/>
<wire x1="111.76" y1="88.9" x2="111.76" y2="86.36" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="7"/>
<wire x1="144.78" y1="86.36" x2="129.54" y2="86.36" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="4"/>
<pinref part="GND5" gate="1" pin="GND"/>
<wire x1="144.78" y1="93.98" x2="142.24" y2="93.98" width="0.1524" layer="91"/>
<wire x1="142.24" y1="93.98" x2="142.24" y2="78.74" width="0.1524" layer="91"/>
</segment>
</net>
<net name="5V" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="VCC"/>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="53.34" y1="38.1" x2="45.72" y2="38.1" width="0.1524" layer="91"/>
<pinref part="SUPPLY1" gate="G$1" pin="5V"/>
<wire x1="45.72" y1="38.1" x2="35.56" y2="38.1" width="0.1524" layer="91"/>
<wire x1="35.56" y1="48.26" x2="35.56" y2="38.1" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="AVCC"/>
<pinref part="C2" gate="G$1" pin="2"/>
<wire x1="53.34" y1="33.02" x2="45.72" y2="33.02" width="0.1524" layer="91"/>
<junction x="45.72" y="33.02"/>
<wire x1="45.72" y1="33.02" x2="45.72" y2="38.1" width="0.1524" layer="91"/>
<junction x="45.72" y="38.1"/>
<junction x="35.56" y="38.1"/>
</segment>
<segment>
<pinref part="JP1" gate="G$1" pin="VBUS"/>
<pinref part="SUPPLY2" gate="G$1" pin="5V"/>
<wire x1="43.18" y1="93.98" x2="60.96" y2="93.98" width="0.1524" layer="91"/>
<wire x1="60.96" y1="93.98" x2="60.96" y2="86.36" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="SUPPLY3" gate="G$1" pin="5V"/>
<wire x1="111.76" y1="99.06" x2="111.76" y2="93.98" width="0.1524" layer="91"/>
<pinref part="JP2" gate="G$1" pin="2"/>
<wire x1="111.76" y1="93.98" x2="109.22" y2="93.98" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="8"/>
<wire x1="144.78" y1="83.82" x2="129.54" y2="83.82" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D4" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC8/XTAL2)PB5"/>
<wire x1="91.44" y1="60.96" x2="101.6" y2="60.96" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="132.08" y1="55.88" x2="144.78" y2="55.88" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D8(MISO)" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(MISO/DO/OC1A)PB1"/>
<wire x1="91.44" y1="50.8" x2="101.6" y2="50.8" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP2" gate="G$1" pin="1"/>
<wire x1="93.98" y1="93.98" x2="83.82" y2="93.98" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="2"/>
<wire x1="144.78" y1="99.06" x2="129.54" y2="99.06" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D7(SCK)" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(SCK/SCL/!OC1B!)PB2"/>
<wire x1="91.44" y1="53.34" x2="104.14" y2="53.34" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP2" gate="G$1" pin="3"/>
<wire x1="93.98" y1="91.44" x2="83.82" y2="91.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="3"/>
<wire x1="144.78" y1="96.52" x2="129.54" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D15(RST)" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC10/!RESET!)PB7"/>
<wire x1="91.44" y1="66.04" x2="101.6" y2="66.04" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP2" gate="G$1" pin="5"/>
<wire x1="93.98" y1="88.9" x2="83.82" y2="88.9" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="6"/>
<wire x1="144.78" y1="88.9" x2="129.54" y2="88.9" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D9(MOSI)" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(MOSI/DI/SDA/!OC1A!)PB0"/>
<wire x1="91.44" y1="48.26" x2="101.6" y2="48.26" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP2" gate="G$1" pin="4"/>
<wire x1="109.22" y1="91.44" x2="119.38" y2="91.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="1"/>
<wire x1="144.78" y1="101.6" x2="129.54" y2="101.6" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="R1" gate="G$1" pin="2"/>
<pinref part="IC2" gate="G$1" pin="R"/>
<wire x1="149.86" y1="60.96" x2="160.02" y2="60.96" width="0.1524" layer="91"/>
</segment>
</net>
<net name="D5" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC7/XTAL1)PB4"/>
<wire x1="91.44" y1="58.42" x2="101.6" y2="58.42" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="139.7" y1="60.96" x2="132.08" y2="60.96" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$5" class="0">
<segment>
<pinref part="R2" gate="G$1" pin="2"/>
<pinref part="IC2" gate="G$1" pin="G"/>
<wire x1="154.94" y1="55.88" x2="160.02" y2="55.88" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<pinref part="IC2" gate="G$1" pin="B"/>
<pinref part="R3" gate="G$1" pin="2"/>
</segment>
</net>
<net name="D6" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(OC1B)PB3"/>
<wire x1="91.44" y1="55.88" x2="101.6" y2="55.88" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D0" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC0)PA0"/>
<wire x1="91.44" y1="25.4" x2="99.06" y2="25.4" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="1"/>
<wire x1="177.8" y1="101.6" x2="165.1" y2="101.6" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D1" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC1)PA1"/>
<wire x1="91.44" y1="27.94" x2="99.06" y2="27.94" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="2"/>
<wire x1="177.8" y1="99.06" x2="165.1" y2="99.06" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D2" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC2)PA2"/>
<wire x1="91.44" y1="30.48" x2="99.06" y2="30.48" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="3"/>
<wire x1="177.8" y1="96.52" x2="165.1" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D14" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(AREF)PA3"/>
<wire x1="91.44" y1="33.02" x2="99.06" y2="33.02" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="4"/>
<wire x1="177.8" y1="93.98" x2="165.1" y2="93.98" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D10" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC3)PA4"/>
<wire x1="91.44" y1="35.56" x2="99.06" y2="35.56" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="5"/>
<wire x1="177.8" y1="91.44" x2="165.1" y2="91.44" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D11" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC4)PA5"/>
<wire x1="91.44" y1="38.1" x2="99.06" y2="38.1" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="6"/>
<wire x1="177.8" y1="88.9" x2="165.1" y2="88.9" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D12" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC5/AIN0)PA6"/>
<wire x1="91.44" y1="40.64" x2="99.06" y2="40.64" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="7"/>
<wire x1="177.8" y1="86.36" x2="165.1" y2="86.36" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D13" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC6/AIN1)PA7"/>
<wire x1="91.44" y1="43.18" x2="99.06" y2="43.18" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP4" gate="G$1" pin="8"/>
<wire x1="177.8" y1="83.82" x2="165.1" y2="83.82" width="0.1524" layer="91"/>

</segment>
</net>
<net name="D3" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="(ADC9/INT0/T0)PB6"/>
<wire x1="91.44" y1="63.5" x2="101.6" y2="63.5" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="JP3" gate="G$1" pin="5"/>
<wire x1="144.78" y1="91.44" x2="129.54" y2="91.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R3" gate="G$1" pin="1"/>
<wire x1="132.08" y1="50.8" x2="149.86" y2="50.8" width="0.1524" layer="91"/>

</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</drawing>
</eagle>

license: MIT

repository: JohnSL/PcbClass

path: /Sample Tiny861.sch

license_type: permissive

repo_name: JohnSL/PcbClass

branch_name: refs/heads/master

extension: sch

filename: Sample Tiny861.sch


text:
gareth blanks was beaten as he walked home from the shops in truro .
the 31-year-old has autism and police confirmed that he is vulnerable .
three men and a woman began punching and kicking him for no reason .
police believe that the four attackers are all in their late teens or early 20s .

repository: ninikolov/summary-denoising

repo_name: ninikolov/summary-denoising

extension: ref


text:
@inproceedings{magelinski2020canadian,
  title={Canadian Federal Election and Hashtags that Do Not Belong},
  author={Magelinski, Thomas and Bartulovic, Mihovil and Carley, Kathleen M},
  booktitle={International Conference on Social Computing, Behavioral-Cultural Modeling and Prediction and Behavior Representation in Modeling and Simulation},
  pages={161--170},
  year={2020},
  organization={Springer}
}

repository: tmagelinski/tmagelinski-src

repo_name: tmagelinski/tmagelinski-src

extension: bib


text:
require recipes-images/angstrom/console-image.bb

PV = '1.0'
PR = 'r0'

DEPENDS += "bash perl gcc i2c-tools"

IMAGE_INSTALL += " \
	kernel-image \
	kernel-modules \
	kernel-dev \
	linux-firmware \
	vim vim-vimrc \
	gcc \
	gdb gdbserver \
	lighttpd \
	lighttpd-module-cgi \
	bash gcc i2c-tools ethtool \
	packagegroup-sdk-target \
	ne10 \
	ne10-dev \
	vim \
	curl \
	e2fsprogs \
	python-multiprocessing \
	python-compiler \
	python-misc \
	packagegroup-tools-bluetooth \
	de10-nano-adxl-apps \
	de10-nano-lighttpd-conf \
	de10-nano-webcontent \
	de10-nano-gpio-apps \
	de10-nano-fpga-init \
	de10-nano-fpga-leds \
	de10-nano-usb-gadget \
	de10-nano-linux-firmware \
	de10-nano-fftsw-apps \
	de10-nano-fftdriver-mod \
	"

export IMAGE_BASENAME = "de10-nano-image"

extension: bb


text:
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace CoreWCF.Dispatcher
{
    internal sealed class FlowThrottle
    {
        private int _capacity;
        private int _count;
        //private bool _warningIssued;
        private readonly int _warningRestoreLimit;
        private readonly object _mutex;
        // TODO: See if there's a way to pool resettable awaitables to remove allocation. Same in QuotaThrottle
        private readonly Queue<TaskCompletionSource<object>> _waiters;
#pragma warning disable IDE0052 // Remove unread private members - Will be used once events are restored
        private readonly string _propertyName;
        private readonly string _configName;
#pragma warning restore IDE0052 // Remove unread private members
        private Action _acquired;
        private Action _released;
        private Action<int> _ratio;

        internal FlowThrottle(int capacity, string propertyName, string configName)
        {
            if (capacity <= 0)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.SFxThrottleLimitMustBeGreaterThanZero0));
            }

            _count = 0;
            _capacity = capacity;
            _mutex = new object();
            _waiters = new Queue<TaskCompletionSource<object>>();
            _propertyName = propertyName;
            _configName = configName;
            _warningRestoreLimit = (int)Math.Floor(0.7 * (double)capacity);
        }

        internal int Capacity
        {
            get { return _capacity; }
            set
            {
                if (value <= 0)
                {
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.SFxThrottleLimitMustBeGreaterThanZero0));
                }

                _capacity = value;
            }
        }

        internal async ValueTask AcquireAsync()
        {
            TaskCompletionSource<object> tcs = null;
            bool acquiredThrottle = true;

            lock (_mutex)
            {
                if (_count < _capacity)
                {
                    _count++;
                }
                else
                {
                    if (_waiters.Count == 0)
                    {
                        //if (TD.MessageThrottleExceededIsEnabled())
                        //{
                        //    if (!this.warningIssued)
                        //    {
                        //        TD.MessageThrottleExceeded(this.propertyName, this.capacity);
                        //        this.warningIssued = true;
                        //    }
                        //}
                        //if (DiagnosticUtility.ShouldTraceWarning)
                        //{
                        //    string traceMessage;
                        //    if (this.propertyName != null)
                        //    {
                        //        traceMessage = SR.GetString(SR.TraceCodeServiceThrottleLimitReached,
                        //                         this.propertyName, this.capacity, this.configName);
                        //    }
                        //    else
                        //    {
                        //        traceMessage = SR.GetString(SR.TraceCodeServiceThrottleLimitReachedInternal,
                        //                         this.capacity);
                        //    }

                        //    TraceUtility.TraceEvent(
                        //        TraceEventType.Warning, TraceCode.ServiceThrottleLimitReached, traceMessage);

                        //}
                    }

                    // To prevent the thread that's releasing a throttle being hijacked to run the continuations,
                    // set the TaskCreationOptions to make the waiting method run on a new thread.
                    tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
                    _waiters.Enqueue(tcs);
                    acquiredThrottle = false;
                }

                _acquired?.Invoke();
                _ratio?.Invoke(_count);
            }

            if (!acquiredThrottle && tcs != null)
            {
                _ = await tcs.Task;
            }
        }

        internal void Release()
        {
            TaskCompletionSource<object> next = null;

            lock (_mutex)
            {
                if (_waiters.Count > 0)
                {
                    next = _waiters.Dequeue();
                    if (_waiters.Count == 0)
                    {
                        _waiters.TrimExcess();
                    }
                }
                else
                {
                    _count--;
                    if (_count < _warningRestoreLimit)
                    {
                        //if (TD.MessageThrottleAtSeventyPercentIsEnabled() && this.warningIssued)
                        //{
                        //    TD.MessageThrottleAtSeventyPercent(this.propertyName, this.capacity);
                        //}
                        //_warningIssued = false;
                    }
                }
            }

            if (next != null)
            {
                next.TrySetResult(null);
            }

            _released?.Invoke();
            _ratio?.Invoke(_count);
        }

        internal void SetReleased(Action action)
        {
            _released = action;
        }

        internal void SetAcquired(Action action)
        {
            _acquired = action;
        }

        internal void SetRatio(Action<int> action)
        {
            _ratio = action;
        }
    }
}

repository: CoreWCF/CoreWCF

repo_name: CoreWCF/CoreWCF

branch_name: refs/heads/main

gha_license_id: MIT

gha_language: C#

extension: cs


text:
package main

import (
	"fmt"
	"net/http"
	"os"
	"os/signal"
	"syscall"

	"github.com/go-kit/kit/log"
	"github.com/julienschmidt/httprouter"
	"golang.org/x/net/context"
)

func main() {
	// Mechanical stuff
	logger := log.NewJSONLogger(os.Stdout)
	errc := make(chan error)
	ctx := context.Background()

	// Business domain
	var s UserService
	{
		s = newInmemUserService()
		s = loggingMiddleware{logger, s}
	}

	// Transport domain
	r := httprouter.New()
	httpBinding{
		ctx: ctx,
		// This is incredibly laborious when we want to add e.g. rate
		// limiters. It would be better to bundle all the endpoints up,
		// somehow... or, use code generation, of course.
		createEndpoint: makeCreateEndpoint(s),
		getEndpoint:    makeGetEndpoint(s),
		deleteEndpoint: makeDeleteEndpoint(s),
	}.register(r)

	// Goroutines
	go func() {
		logger.Log("msg", "HTTP server listening on :8080")
		errc <- http.ListenAndServe(":8080", r)
	}()

	go func() {
		c := make(chan os.Signal)
		signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
		logger.Log("signal", fmt.Sprint(<-c))
		errc <- nil
	}()

	if err := <-errc; err != nil {
		os.Exit(1)
	}
}

repository: peterbourgon/reference

repo_name: peterbourgon/reference

extension: go


text:
SECTION = "console/utils"
SUMMARY = "A free SOCKS server"
DESCRIPTION = "Dante consists of a SOCKS server and a SOCKS client,\
implementing RFC 1928 and related standards. It is a flexible product\
that can be used to provide convenient and secure network\
connectivity. Once installed, Dante can in most cases be made\
transparent to clients, providing functionality somewhat similar to\
what could be described as a non-transparent Layer 4 router."
HOMEPAGE = "http://www.inet.no/dante/"

LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=edd508404db7339042dfc861a3a690ad"

SRC_URI = "https://www.inet.no/dante/files/dante-${PV}.tar.gz \
          "
SRC_URI[sha256sum] = "418a065fe1a4b8ace8fbf77c2da269a98f376e7115902e76cda7e741e4846a5d"

# without --without-gssapi, config.log will contain reference to /usr/lib
# as a consequence of GSSAPI path being set to /usr by default.
# --with-gssapi-path=PATH specify gssapi path
# --without-gssapi        disable gssapi support
# --enable-release        build prerelease as full release
EXTRA_OECONF += "--without-gssapi --sbindir=${bindir}"

DEPENDS += "flex-native bison-native libpam libtirpc"
inherit autotools-brokensep features_check

CPPFLAGS += "-P"
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
LIBS += "-ltirpc"

REQUIRED_DISTRO_FEATURES = "pam"

EXTRA_AUTORECONF = "-I ${S}"

PACKAGECONFIG[libwrap] = ",--disable-libwrap,tcp-wrappers,libwrap"

PACKAGECONFIG ??= ""

do_install:append() {
    install -d ${D}${sysconfdir}
    cp ${S}/example/sock[sd].conf ${D}${sysconfdir}
}

PACKAGES =+ "${PN}-sockd ${PN}-libdsocks "

FILES:${PN}-libdsocks = "${libdir}/libdsocks.so"
FILES:${PN}-sockd = "${bindir}/sockd ${sysconfdir}/sockd.conf"

INSANE_SKIP:${PN}-libdsocks = "dev-elf"

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded

gha_language: BitBake


text:
DESCRIPTION = "GENIVI Remote Vehicle Interaction (RVI) package group"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${IVI_COREBASE}/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"

# Avoid hardcoding the full layer path into the checksums
LIC_FILES_CHKSUM[vardepsexclude] += "IVI_COREBASE"

inherit packagegroup

PACKAGES = "\
    packagegroup-gdp-rvi \
    "

ALLOW_EMPTY_${PN} = "1"

RDEPENDS_${PN} += "\
    rvi \
    genivi-swm \
    rvi-default-config \
    aktualizr \
    "

repository: GENIVI/genivi-dev-platform

repo_name: GENIVI/genivi-dev-platform

gha_language: Shell


text:
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Effects;
using SoundInTheory.DynamicImage.ShaderEffects;
using SoundInTheory.DynamicImage.Sources;
using System.Web.UI;
using System.Drawing.Design;
using SoundInTheory.DynamicImage.Util;

namespace SoundInTheory.DynamicImage.Filters
{
	/// <summary>
	/// Clips (reveals) the content of the layer based on the
	/// non-transparent content of the specified image.
	/// </summary>
	/// <include file="../documentation.xml" path="docs/types/type[@name = 'ClippingMaskFilter']/*" />
	public class ClippingMaskFilter : ShaderEffectFilter
	{
		#region Fields

		private ImageSourceCollection _maskImage;
		private int _maskImageWidth, _maskImageHeight;

		#endregion

		#region Properties

		[PersistenceMode(PersistenceMode.InnerProperty), Editor("SoundInTheory.DynamicImage.Design.ImageSourceCollectionEditor, SoundInTheory.DynamicImage.Design, Version=1.0.0.0, Culture=neutral, PublicKeyToken=fa44558110383067", typeof(UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), NotifyParentProperty(true)]
		public ImageSourceCollection MaskImage
		{
			get
			{
				if (_maskImage == null)
				{
					_maskImage = new ImageSourceCollection();
					if (((IStateManager) this).IsTrackingViewState)
						((IStateManager) _maskImage).TrackViewState();
				}
				return _maskImage;
			}
		}

		/// <summary>
		/// Gets or sets the x-position of the left side of the mask image.
		/// </summary>
		[DefaultValue(0), Description("Gets or sets the x-position of the left side of the mask image.")]
		public int MaskPositionX
		{
			get { return (int) (ViewState["MaskPositionX"] ?? 0); }
			set { ViewState["MaskPositionX"] = value; }
		}

		/// <summary>
		/// Gets or sets the y-position of the top side of the mask image.
		/// </summary>
		[DefaultValue(0), Description("Gets or sets the y-position of the top side of the mask image.")]
		public int MaskPositionY
		{
			get { return (int)(ViewState["MaskPositionY"] ?? 0); }
			set { ViewState["MaskPositionY"] = value; }
		}

		public override Control BindingContainer
		{
			get
			{
				return base.BindingContainer;
			}
			internal set
			{
				this.MaskImage.SingleSource.BindingContainer = value;
				base.BindingContainer = value;
			}
		}

		#endregion

		#region Methods

		public override void DataBind()
		{
			base.DataBind();
			MaskImage.SingleSource.DataBind();
		}

		protected override void ConfigureDrawingVisual(FastBitmap source, DrawingVisual drawingVisual)
		{
			base.ConfigureDrawingVisual(source, drawingVisual);

		}

		protected override Effect GetEffect(FastBitmap source)
		{
			FastBitmap maskBitmap = MaskImage.SingleSource.GetBitmap(Site, DesignMode);
			_maskImageWidth = maskBitmap.Width;
			_maskImageHeight = maskBitmap.Height;
			return new ClippingMaskEffect
			{
				Mask = new ImageBrush(maskBitmap.InnerBitmap),
				InputCoordsOffset = new Vector(MaskPositionX / (double) source.Width, MaskPositionY / (double) source.Height),
				InputCoordsScale = new Vector(_maskImageWidth / (double) source.Width, _maskImageHeight / (double) source.Height)
			};
		}

		protected override void ApplyFilter(FastBitmap source, DrawingContext dc, int width, int height)
		{
			dc.DrawImage(source.InnerBitmap, new Rect(MaskPositionX, MaskPositionY, _maskImageWidth, _maskImageHeight));
		}

		public override string ToString()
		{
			return "Clipping Mask";
		}

		#region View state implementation

		/// <summary>
		/// /// <summary>
		/// Loads the previously saved state of the <see cref="ClippingMaskFilter" /> object.
		/// </summary>
		/// <param name="savedState">
		/// An object containing the saved view state values for the <see cref="ClippingMaskFilter" /> object.
		/// </param>
		/// </summary>
		/// <param name="savedState"></param>
		protected override void LoadViewState(object savedState)
		{
			if (savedState != null)
			{
				Pair pair = (Pair) savedState;
				if (pair.First != null)
					base.LoadViewState(pair.First);
				if (pair.Second != null)
					((IStateManager) this.MaskImage).LoadViewState(pair.Second);
			}
		}

		/// <summary>
		/// Saves the current view state of the <see cref="ClippingMaskFilter" /> object.
		/// </summary>
		/// <param name="saveAll"><c>true</c> if all values should be saved regardless
		/// of whether they are dirty; otherwise <c>false</c>.</param>
		/// <returns>An object that represents the saved state. The default is <c>null</c>.</returns>
		protected override object SaveViewState(bool saveAll)
		{
			Pair pair = new Pair();
			pair.First = base.SaveViewState(saveAll);
			if (_maskImage != null)
				pair.Second = ((IStateManagedObject) _maskImage).SaveViewState(saveAll);
			return (pair.First == null && pair.Second == null) ? null : pair;
		}

		/// <summary>
		/// Tracks view state changes to the <see cref="ClippingMaskFilter" /> object.
		/// </summary>
		protected override void TrackViewState()
		{
			base.TrackViewState();
			if (_maskImage != null)
				((IStateManager) _maskImage).TrackViewState();
		}

		#endregion

		#endregion
	}
}


text:
import {Component, Input} from '@angular/core';
import {ExerciseBase} from './exercise.base';
import {FileConfig} from '../interfaces/file-config';
import {MonacoConfigService} from '../services/monaco-config.service';
import {SlideComponent} from '../../presentation/slide/slide.component';

@Component({
  selector: 'slides-exercise',
  templateUrl: 'exercise.component.html',
  styleUrls: ['exercise.component.css']
})
export class ExerciseComponent extends ExerciseBase {
  @Input() milestone;
  @Input() config;
  currentFile: FileConfig;

  constructor(slide: SlideComponent,
              monacoConfig: MonacoConfigService) {
    super(slide, monacoConfig);
    this.slide.isExercise = true;
  }

  onSelectFile(fileConfig: FileConfig): void {
    this.currentFile = fileConfig;
  }
}

repository: KBVE/angular-presentation

repo_name: KBVE/angular-presentation

extension: ts


text:
package main

import (
	"github.com/cheneylew/gocms/database"
	"github.com/cheneylew/gocms/models"
	"github.com/cheneylew/goutil/utils"
	"time"
)

func MockMain()  {
	if database.DB.DBBaseTableCount("user_role") == 0 {
		var role *models.UserRole
		role = &models.UserRole{
			Name:"普通用户",
			Grade:0,
		}
		database.DB.Orm.Insert(role)

		role = &models.UserRole{
			Name:"管理员",
			Grade:1,
		}
		database.DB.Orm.Insert(role)

		role = &models.UserRole{
			Name:"超级管理员",
			Grade:2,
		}
		database.DB.Orm.Insert(role)
	}

	if database.DB.DBBaseTableCount("user") == 0 {
		var obj *models.User
		obj = &models.User{
			Username:"cheneylew",
			Password:"tough1988",
			UserLastLogin:time.Now(),
			UserReferrer:&models.User{
				UserId:0,
			},
			UserRole:&models.UserRole{
				UserRoleId:3,
				Name:"超级管理员",
				Grade:2,
			},
		}
		a, err := database.DB.Orm.Insert(obj)
		utils.JJKPrintln(a, err)
	}

	if database.DB.DBBaseTableCount("language") == 0 {
		database.DB.Orm.InsertMulti(3, []*models.Language{&models.Language{Name:"简体中文"},&models.Language{Name:"繁体中文"},&models.Language{Name:"English"}})
	}

	//上传文件目录
	utils.MKDir(utils.SelfDir()+"/static/upload")
}

repository: cheneylew/gocms

repo_name: cheneylew/gocms


text:
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package installer_test

import (
	"errors"
	"fmt"
	"net/http"
	"reflect"
	"testing"

	"github.com/emicklei/go-restful"
	"github.com/google/k8s-stateless-subresource/pkg/internal/apiserver/installer"
	"k8s.io/apimachinery/pkg/api/meta"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/runtime/schema"
	"k8s.io/apimachinery/pkg/runtime/serializer"
	"k8s.io/apiserver/pkg/endpoints"
	"k8s.io/apiserver/pkg/endpoints/discovery"
	"k8s.io/apiserver/pkg/server"
)

func TestAPIGroupVersion_InstallREST(t *testing.T) {
	t.Parallel()

	container := &restful.Container{
		ServeMux: http.NewServeMux(),
	}
	gv := apiGV(nil)

	err := gv.InstallREST(container)

	if err != nil {
		t.Fatal(err)
	}

	// Assert that the route was setup on the container.
	if actual, expected := len(container.RegisteredWebServices()), 1; actual != expected {
		t.Fatalf("expected %d, got %d", expected, actual)
	}

	ws := container.RegisteredWebServices()[0]

	if actual, expected := len(ws.Routes()), 1; actual != expected {
		t.Fatalf("expected %d, got %d", expected, actual)
	}
	r := ws.Routes()[0]

	if actual, expected := r.Method, "GET"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
	if actual, expected := r.Path, "/apis/"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
	if actual, expected := r.Doc, "get available resources"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
	if actual, expected := r.Operation, "getAPIResources"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
	if actual, expected := r.Produces, []string{"application/json", "application/yaml", "application/vnd.kubernetes.protobuf"}; !reflect.DeepEqual(actual, expected) {
		t.Fatalf("expected %v, got %v", expected, actual)
	}
	if actual, expected := r.Consumes, []string{"application/json", "application/yaml", "application/vnd.kubernetes.protobuf"}; !reflect.DeepEqual(actual, expected) {
		t.Fatalf("expected %v, got %v", expected, actual)
	}
}

func TestAPIGroupVersion_InstallREST_registerErr(t *testing.T) {
	t.Parallel()

	container := &restful.Container{
		ServeMux: http.NewServeMux(),
	}
	gv := apiGV(errors.New("some-error"))

	err := gv.InstallREST(container)

	if actual, expected := fmt.Sprintf("%v", err), "error in registering resource: some-error"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
}

func TestAPIGroupVersion_InstallREST_errorForEmptyResourceLister(t *testing.T) {
	t.Parallel()

	gv := apiGV(nil)
	gv.ResourceLister = nil

	err := gv.InstallREST(nil)

	if actual, expected := fmt.Sprintf("%v", err), "must provide a dynamic lister for dynamic API groups"; actual != expected {
		t.Fatalf("expected %s, got %s", expected, actual)
	}
}

func apiGV(registerErr error) *installer.APIGroupVersion {
	resource := metav1.APIResource{}
	groupVersion := schema.GroupVersion{}
	register := func(*restful.WebService) error {
		return registerErr
	}

	scheme := runtime.NewScheme()
	codec := serializer.NewCodecFactory(scheme)

	groupInfo := server.NewDefaultAPIGroupInfo(
		resource.Group,
		scheme,
		runtime.NewParameterCodec(scheme),
		codec,
	)

	return &installer.APIGroupVersion{
		APIGroupVersion: &endpoints.APIGroupVersion{
			Root:             server.APIGroupPrefix,
			GroupVersion:     groupVersion,
			MetaGroupVersion: groupInfo.MetaGroupVersion,

			ParameterCodec:  groupInfo.ParameterCodec,
			Serializer:      groupInfo.NegotiatedSerializer,
			Creater:         groupInfo.Scheme,
			Convertor:       groupInfo.Scheme,
			UnsafeConvertor: runtime.UnsafeObjectConvertor(groupInfo.Scheme),
			Typer:           groupInfo.Scheme,
			Linker:          runtime.SelfLinker(meta.NewAccessor()),
		},

		ResourceLister: discovery.APIResourceListerFunc(func() []metav1.APIResource {
			return []metav1.APIResource{resource}
		}),
		Register: register,
	}
}

repository: google/kf

repo_name: google/kf

gha_language: Go


text:
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef GARNET_LIB_PERFMON_CONTROLLER_H_
#define GARNET_LIB_PERFMON_CONTROLLER_H_

#include <cstdint>
#include <memory>

#include "src/lib/files/unique_fd.h"
#include <lib/zircon-internal/device/cpu-trace/perf-mon.h>

#include "garnet/lib/perfmon/device_reader.h"
#include "garnet/lib/perfmon/properties.h"

namespace perfmon {

class Controller {
 public:
  enum class Mode {
    // Collect profile-based samples.
    kSample,
    // Collect simple counts of events.
    kTally,
  };

  // The protcol specifies buffer sizes in 4K pages.
  static constexpr uint32_t kLog2PageSize = 12;
  static constexpr uint32_t kPageSize = 1 << kLog2PageSize;
  // The protocol restricts buffer sizes to 256MB.
  static constexpr uint32_t kMaxBufferSizeInPages =
      (256 * 1024 * 1024) / kPageSize;

  // Return true if perfmon is supported on this device.
  static bool IsSupported();

  // Fetch the properties of this device.
  static bool GetProperties(Properties* props);

  static bool Create(uint32_t buffer_size_in_pages,
                     const perfmon_config_t& config,
                     std::unique_ptr<Controller>* out_controller);

  ~Controller();

  bool Start();
  // It is ok to call this while stopped.
  void Stop();

  bool started() const { return started_; }

  Mode mode() const { return mode_; }

  uint32_t num_traces() const { return num_traces_; }

  std::unique_ptr<DeviceReader> GetReader();

 private:
  static bool Alloc(int fd, uint32_t num_traces, uint32_t buffer_size_in_pages,
                    const perfmon_config_t& config);
  Controller(fxl::UniqueFD fd, Mode mode, uint32_t num_traces,
             uint32_t buffer_size, const perfmon_config_t& config);
  bool Stage();
  void Free();
  void Reset();

  fxl::UniqueFD fd_;
  const Mode mode_;
  // The number of traces we will collect (== #cpus for now).
  uint32_t num_traces_;
  // This is the actual buffer size we use, in pages.
  const uint32_t buffer_size_in_pages_;
  const perfmon_config_t config_;
  bool started_ = false;
};

}  // namespace perfmon

#endif  // GARNET_LIB_PERFMON_CONTROLLER_H_

repository: yanyushr/fuchsia

repo_name: yanyushr/fuchsia

extension: h


text:
DESCRIPTION = "Gmu is a music player for portable handheld consoles."
HOMEPAGE = "http://wejp.k.vu/projects/gmu/"
LICENSE = "GPLv2"
PR = "r0"

DEPENDS = "virtual/libsdl libsdl-image libsdl-gfx tremor flac mpg123"

SRC_URI = "http://wejp.k.vu/files/gmu-${PV}.tar.gz \
	   file://nanonote-lcd-blank.patch \
	   file://set-base-dir.patch \
	   file://gmu.desktop \
	   file://unknown.mk \
	   file://Makefile"

SRC_URI_append_ben-nanonote = " file://nanonote.mk file://nanonote.keymap "

FILES_${PN}-dbg += " /usr/lib/gmu/frontends/.debug/ "
CONFFILES_${PN} = "/etc/gmu/gmu.conf /etc/gmu/gmuinput.conf /etc/gmu/default.keymap"

do_configure() {
	mv ${WORKDIR}/Makefile ${S}/Makefile
	mv ${WORKDIR}/unknown.mk ${S}/unknown.mk
	mv ${S}/gmu.unknown.conf ${S}/gmu.conf
	mv ${S}/gmuinput.unknown.conf ${S}/gmuinput.conf
	sed -i 's/gmuinput.unknown.conf/gmuinput.conf/g' ${S}/gmu.conf
}

do_configure_ben-nanonote() {
	mv ${WORKDIR}/Makefile ${S}/Makefile
	mv ${WORKDIR}/nanonote.mk ${S}/nanonote.mk
	mv ${WORKDIR}/nanonote.keymap ${S}/default.keymap
	mv ${S}/gmu.nanonote.conf ${S}/gmu.conf
	mv ${S}/gmuinput.nanonote.conf ${S}/gmuinput.conf
	sed -i 's/gmuinput.nanonote.conf/gmuinput.conf/g' ${S}/gmu.conf
	sed -i 's/nanonote.keymap/default.keymap/g' ${S}/gmu.conf
}

do_compile_prepend_ben-nanonote() {
	export TARGET=nanonote
}

do_install() {
	oe_runmake install DESTDIR=${D}
	install -d ${D}${datadir}/applications
	install -m 0755 ${WORKDIR}/gmu.desktop ${D}${datadir}/applications
}

SRC_URI[md5sum] = "62653037d2046d992626eaf6d0a365e3"
SRC_URI[sha256sum] = "9b075a191a8d7fb09164d14ffa489af883b1fae51f579bec95c9c8d8d4758545"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
include ${PN}.inc

PR = "r1"

SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/core/settings/security \
           ${HANDHELDS_CVS};tag=${TAG};module=opie/pics \
           ${HANDHELDS_CVS};tag=${TAG};module=opie/apps"

repository: BackupTheBerlios/openslug-svn

repo_name: BackupTheBerlios/openslug-svn


text:
/*
 *  Phusion Passenger - https://www.phusionpassenger.com/
 *  Copyright (c) 2010-2018 Phusion Holding B.V.
 *
 *  "Passenger", "Phusion Passenger" and "Union Station" are registered
 *  trademarks of Phusion Holding B.V.
 *
 *  Permission is hereby granted, free of charge, to any person obtaining a copy
 *  of this software and associated documentation files (the "Software"), to deal
 *  in the Software without restriction, including without limitation the rights
 *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 *  copies of the Software, and to permit persons to whom the Software is
 *  furnished to do so, subject to the following conditions:
 *
 *  The above copyright notice and this permission notice shall be included in
 *  all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 *  THE SOFTWARE.
 */
#ifndef _PASSENGER_APACHE2_DIRECTORY_MAPPER_H_
#define _PASSENGER_APACHE2_DIRECTORY_MAPPER_H_

#include <string>
#include <set>
#include <cstring>

#include <oxt/backtrace.hpp>
#include <boost/thread.hpp>

#include <AppTypeDetector/Detector.h>
#include <Utils.h>
#include <Utils/CachedFileStat.hpp>

// The APR headers must come after the Passenger headers.
// See Hooks.cpp to learn why.
#include <httpd.h>
#include <http_core.h>
#include "Config.h"

namespace Passenger {
namespace Apache2Module {

using namespace std;
using namespace oxt;

class DocumentRootDeterminationError: public oxt::tracable_exception {
private:
	string msg;
public:
	DocumentRootDeterminationError(const string &message): msg(message) {}
	virtual ~DocumentRootDeterminationError() throw() {}
	virtual const char *what() const throw() { return msg.c_str(); }
};

/**
 * Utility class for determining URI-to-application directory mappings.
 * Given a URI, it will determine whether that URI belongs to a Phusion
 * Passenger-handled application, what the base URI of that application is,
 * and what the associated 'public' directory is.
 *
 * @note This class is not thread-safe, but is reentrant.
 * @ingroup Core
 */
class DirectoryMapper {
private:
	const WrapperRegistry::Registry &registry;
	DirConfig *config;
	request_rec *r;
	CachedFileStat *cstat;
	boost::mutex *cstatMutex;
	boost::mutex *configMutex;
	const char *baseURI;
	string publicDir;
	string appRoot;
	unsigned int throttleRate;
	AppTypeDetector::Detector::Result detectorResult;
	bool autoDetectionDone;

	const char *findBaseURI() const {
		set<string>::const_iterator it, end = config->getBaseURIs().end();
		const char *uri = r->uri;
		size_t uri_len = strlen(uri);

		for (it = config->getBaseURIs().begin(); it != end; it++) {
			const string &base = *it;

			if (base == "/") {
                /* Ignore 'PassengerBaseURI /' options. Users usually
                 * specify this out of ignorance.
                 */
                continue;
            }

			if (  base == "/"
			 || ( uri_len == base.size() && memcmp(uri, base.c_str(), uri_len) == 0 )
			 || ( uri_len  > base.size() && memcmp(uri, base.c_str(), base.size()) == 0
			                             && uri[base.size()] == '/' )
			) {
				return base.c_str();
			}
		}
		return NULL;
	}

	/**
	 * @throws FileSystemException An error occured while examening the filesystem.
	 * @throws DocumentRootDeterminationError Unable to query the location of the document root.
	 * @throws TimeRetrievalException
	 * @throws boost::thread_interrupted
	 */
	void autoDetect() {
		if (autoDetectionDone) {
			return;
		}

		TRACE_POINT();

		/* Determine the document root without trailing slashes. */
		StaticString docRoot = ap_document_root(r);
		if (docRoot.size() > 1 && docRoot[docRoot.size() - 1] == '/') {
			docRoot = docRoot.substr(0, docRoot.size() - 1);
		}
		if (docRoot.empty()) {
			throw DocumentRootDeterminationError("Cannot determine the document root");
		}

		/* Find the base URI for this web application, if any. */
		const char *baseURI = findBaseURI();
		if (baseURI != NULL) {
			/* We infer that the 'public' directory of the web application
			 * is document root + base URI.
			 */
			publicDir = docRoot + baseURI;
		} else {
			/* No base URI directives are applicable for this request. So assume that
			 * the web application's public directory is the document root.
			 */
			publicDir = docRoot;
		}

		UPDATE_TRACE_POINT();
		AppTypeDetector::Detector detector(registry, cstat,
			cstatMutex, throttleRate, configMutex);
		AppTypeDetector::Detector::Result detectorResult;
		string appRoot;
		// If `AppStartCommand` is set, then it means the config specified that it is
		// either a generic app or a Kuria app.
		if (!config->getAppStartCommand().empty()) {
			appRoot = config->getAppRoot();
		} else if (config->getAppType().empty()) {
			// If neither `AppStartCommand` nor `AppType` are set, then
			// autodetect what kind of app this is.
			if (config->getAppRoot().empty()) {
				detectorResult = detector.checkDocumentRoot(publicDir,
					baseURI != NULL,
					&appRoot);
			} else {
				appRoot = config->getAppRoot();
				detectorResult = detector.checkAppRoot(appRoot);
			}
		} else if (!config->getAppRoot().empty()) {
			// If `AppStartCommand` is not set but `AppType` is (as well as
			// the required `AppRoot`), then verify whether the given
			// `AppType` value is supported and resolve aliases.
			appRoot = config->getAppRoot().toString();
			detectorResult.wrapperRegistryEntry = &registry.lookup(
				config->getAppType());
		}

		this->appRoot = appRoot;
		this->baseURI = baseURI;
		this->detectorResult = detectorResult;
		autoDetectionDone = true;
	}

public:
	/**
	 * Create a new DirectoryMapper object.
	 *
	 * @param cstat A CachedFileStat object used for statting files.
	 * @param cstatMutex A mutex for locking CachedFileStat, making its
	 *                   usage thread-safe.
	 * @param throttleRate A throttling rate for cstat.
	 * @warning Do not use this object after the destruction of <tt>r</tt>,
	 *          <tt>config</tt> or <tt>cstat</tt>.
	 */
	DirectoryMapper(request_rec *r, DirConfig *config,
		const WrapperRegistry::Registry &_registry,
		CachedFileStat *cstat, boost::mutex *cstatMutex,
		unsigned int throttleRate, boost::mutex *configMutex)
		: registry(_registry)
	{
		this->r = r;
		this->config = config;
		this->cstat = cstat;
		this->cstatMutex = cstatMutex;
		this->configMutex = configMutex;
		this->throttleRate = throttleRate;
		baseURI = NULL;
		autoDetectionDone = false;
	}

	/**
	 * Determines whether the given HTTP request falls under one of the specified
	 * PassengerBaseURIs. If yes, then the first matching base URI will be returned.
	 * Otherwise, NULL will be returned.
	 *
	 * @throws FileSystemException An error occured while examening the filesystem.
	 * @throws DocumentRoot
	 * @throws TimeRetrievalException
	 * @throws boost::thread_interrupted
	 * @warning The return value may only be used as long as <tt>config</tt>
	 *          hasn't been destroyed.
	 */
	const char *getBaseURI() {
		TRACE_POINT();
		autoDetect();
		return baseURI;
	}

	/**
	 * Returns the filename of the 'public' directory of the application
	 * that's associated with the HTTP request.
	 *
	 * @throws FileSystemException An error occured while examening the filesystem.
	 * @throws DocumentRootDeterminationError Unable to query the location of the document root.
	 * @throws TimeRetrievalException
	 * @throws boost::thread_interrupted
	 */
	const string &getPublicDirectory() {
		autoDetect();
		return publicDir;
	}

	/**
	 * Returns the application root, or the empty string if this request does not
	 * belong to an application.
	 *
	 * @throws FileSystemException An error occured while examening the filesystem.
	 * @throws DocumentRootDeterminationError Unable to query the location of the document root.
	 * @throws TimeRetrievalException
	 * @throws boost::thread_interrupted
	 */
	const string &getAppRoot() {
		autoDetect();
		return appRoot;
	}

	/**
	 * Returns the application detector result associated with the HTTP request.
	 *
	 * @throws FileSystemException An error occured while examening the filesystem.
	 * @throws DocumentRootDeterminationError Unable to query the location of the document root.
	 * @throws TimeRetrievalException
	 * @throws boost::thread_interrupted
	 */
	AppTypeDetector::Detector::Result getDetectorResult() {
		autoDetect();
		return detectorResult;
	}
};

} // namespace Apache2Module
} // namespace Passenger

#endif /* _PASSENGER_APACHE2_DIRECTORY_MAPPER_H_ */

repository: phusion/passenger

repo_name: phusion/passenger


text:
//go:build windows
// +build windows

// Package driveletter returns whether a name is a valid drive letter
package driveletter

// IsDriveLetter returns a bool indicating whether name is a valid
// Windows drive letter
func IsDriveLetter(name string) bool {
	if len(name) != 1 {
		return false
	}
	c := name[0]
	return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
}

repository: rclone/rclone

repo_name: rclone/rclone


text:
#pragma once

#include "APIQuadcopterUpdateEvent.hpp"

namespace kitrokopter {
class APIQuadcopterListener {
public:

	virtual void updateQuadcopterValues(APIQuadcopterUpdateEvent e)  = 0;

	// virtual destructor for interface
	virtual ~APIQuadcopterListener()
	{
	}
};
}

repository: KITrokopter/API-Application

repo_name: KITrokopter/API-Application

extension: hpp


text:
#pragma once
#include <memory>

// Logger of simulation data
class ILogger
{
public:
	virtual ~ILogger() {}
	virtual void save(double xBeadl, double xMT, double xBeadr, double xMol) = 0;
};

enum class LoggerType {
	CONSOLE,
	BINARY_FILE
};

template <typename... Args>
static std::shared_ptr <ILogger> createLogger(LoggerType type, Args&&... args);


text:
#ifndef C0P_PARAM_OBJECTS_SURFER__US_1O0__SURFTIMECONST_5O0__REORIENTATIONTIME_3O0_GROUP_HOMOGENEOUS_MEMBER_AGENT_BEHAVIOUR_SENSOR_DIRECTION_CHOICE_H
#define C0P_PARAM_OBJECTS_SURFER__US_1O0__SURFTIMECONST_5O0__REORIENTATIONTIME_3O0_GROUP_HOMOGENEOUS_MEMBER_AGENT_BEHAVIOUR_SENSOR_DIRECTION_CHOICE_H
#pragma once

// THIS FILE SHOULD NOT BE EDITED DIRECTLY BY THE USERS.
// THIS FILE WILL BE AUTOMATICALLY EDITED WHEN THE
// CHOOSE COMMAND IS USED

// choose your behaviour
#include "core/env/objects/object/agent/behaviour/sensor/direction/accurate/core.h"
#include "param/env/objects/surfer__us_1o0__surftimeconst_5o0__reorientationtime_3o0/group/homogeneous/_member/agent/_behaviour/_sensor/direction/accurate/parameters.h"
namespace c0p {
    template<typename SurferUs1O0Surftimeconst5O0Reorientationtime3O0GroupHomogeneousMemberAgentActiveStep>
    using SurferUs1O0Surftimeconst5O0Reorientationtime3O0GroupHomogeneousMemberAgentBehaviourSensorDirection = AgentBehaviourSensorDirectionAccurate<SurferUs1O0Surftimeconst5O0Reorientationtime3O0GroupHomogeneousMemberAgentBehaviourSensorDirectionAccurateParameters, SurferUs1O0Surftimeconst5O0Reorientationtime3O0GroupHomogeneousMemberAgentActiveStep>;
}

#endif