text:
32" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.255" y1="-1.27" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="17.145" y1="1.27" x2="18.415" y2="1.27" width="0.2032" layer="21"/>
<wire x1="18.415" y1="1.27" x2="19.05" y2="0.635" width="0.2032" layer="21"/>
<wire x1="19.05" y1="-0.635" x2="18.415" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="17.145" y1="1.27" x2="16.51" y2="0.635" width="0.2032" layer="21"/>
<wire x1="16.51" y1="-0.635" x2="17.145" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="18.415" y1="-1.27" x2="17.145" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="19.685" y1="1.27" x2="20.955" y2="1.27" width="0.2032" layer="21"/>
<wire x1="20.955" y1="1.27" x2="21.59" y2="0.635" width="0.2032" layer="21"/>
<wire x1="21.59" y1="-0.635" x2="20.955" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="19.685" y1="1.27" x2="19.05" y2="0.635" width="0.2032" layer="21"/>
<wire x1="19.05" y1="-0.635" x2="19.685" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="20.955" y1="-1.27" x2="19.685" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="22.225" y1="1.27" x2="23.495" y2="1.27" width="0.2032" layer="21"/>
<wire x1="23.495" y1="1.27" x2="24.13" y2="0.635" width="0.2032" layer="21"/>
<wire x1="24.13" y1="0.635" x2="24.13" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="24.13" y1="-0.635" x2="23.495" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="22.225" y1="1.27" x2="21.59" y2="0.635" width="0.2032" layer="21"/>
<wire x1="21.59" y1="-0.635" x2="22.225" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="23.495" y1="-1.27" x2="22.225" y2="-1.27" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="4" x="7.62" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="5" x="10.16" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="6" x="12.7" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="7" x="15.24" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="8" x="17.78" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="9" x="20.32" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="10" x="22.86" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="14.986" y1="-0.254" x2="15.494" y2="0.254" layer="51"/>
<rectangle x1="12.446" y1="-0.254" x2="12.954" y2="0.254" layer="51"/>
<rectangle x1="9.906" y1="-0.254" x2="10.414" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="17.526" y1="-0.254" x2="18.034" y2="0.254" layer="51"/>
<rectangle x1="20.066" y1="-0.254" x2="20.574" y2="0.254" layer="51"/>
<rectangle x1="22.606" y1="-0.254" x2="23.114" y2="0.254" layer="51"/>
</package>
<package name="1X10_LOCK_LONGPADS">
<wire x1="1.524" y1="0" x2="1.016" y2="0" width="0.2032" layer="21"/>
<wire x1="4.064" y1="0" x2="3.556" y2="0" width="0.2032" layer="21"/>
<wire x1="6.604" y1="0" x2="6.096" y2="0" width="0.2032" layer="21"/>
<wire x1="9.144" y1="0" x2="8.636" y2="0" width="0.2032" layer="21"/>
<wire x1="11.684" y1="0" x2="11.176" y2="0" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0" x2="-1.016" y2="0" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0" x2="-1.27" y2="0.9906" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.9906" x2="-0.9906" y2="1.27" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0" x2="-1.27" y2="-0.9906" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.9906" x2="-0.9906" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="14.224" y1="0" x2="13.716" y2="0" width="0.2032" layer="21"/>
<wire x1="16.764" y1="0" x2="16.256" y2="0" width="0.2032" layer="21"/>
<wire x1="19.304" y1="0" x2="18.796" y2="0" width="0.2032" layer="21"/>
<wire x1="21.844" y1="0" x2="21.336" y2="0" width="0.2032" layer="21"/>
<wire x1="24.13" y1="0" x2="24.13" y2="-0.9906" width="0.2032" layer="21"/>
<wire x1="24.13" y1="-0.9906" x2="23.8506" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="24.13" y1="0" x2="24.13" y2="0.9906" width="0.2032" layer="21"/>
<wire x1="24.13" y1="0.9906" x2="23.8506" y2="1.27" width="0.2032" layer="21"/>
<wire x1="24.13" y1="0" x2="23.876" y2="0" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="4" x="7.62" y="-0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="5" x="10.16" y="0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="6" x="12.7" y="-0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="7" x="15.24" y="0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="8" x="17.78" y="-0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="9" x="20.32" y="0.127" drill="1.016" shape="long" rot="R90"/>
<pad name="10" x="22.86" y="-0.127" drill="1.016" shape="long" rot="R90"/>
<text x="-1.27" y="1.905" size="1.27" layer="25" font="vector">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.2921" y1="-0.2921" x2="0.2921" y2="0.2921" layer="51"/>
<rectangle x1="2.2479" y1="-0.2921" x2="2.8321" y2="0.2921" layer="51"/>
<rectangle x1="4.7879" y1="-0.2921" x2="5.3721" y2="0.2921" layer="51"/>
<rectangle x1="7.3279" y1="-0.2921" x2="7.9121" y2="0.2921" layer="51" rot="R90"/>
<rectangle x1="9.8679" y1="-0.2921" x2="10.4521" y2="0.2921" layer="51"/>
<rectangle x1="12.4079" y1="-0.2921" x2="12.9921" y2="0.2921" layer="51"/>
<rectangle x1="14.9479" y1="-0.2921" x2="15.5321" y2="0.2921" layer="51"/>
<rectangle x1="17.4879" y1="-0.2921" x2="18.0721" y2="0.2921" layer="51"/>
<rectangle x1="20.0279" y1="-0.2921" x2="20.6121" y2="0.2921" layer="51"/>
<rectangle x1="22.5679" y1="-0.2921" x2="23.1521" y2="0.2921" layer="51" rot="R90"/>
</package>
</packages>
<symbols>
<symbol name="M10">
<wire x1="6.35" y1="-20.32" x2="0" y2="-20.32" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-12.7" x2="5.08" y2="-12.7" width="0.6096" layer="94"/>
<wire x1="3.81" y1="-15.24" x2="5.08" y2="-15.24" width="0.6096" layer="94"/>
<wire x1="3.81" y1="-17.78" x2="5.08" y2="-17.78" width="0.6096" layer="94"/>
<wire x1="0" y1="7.62" x2="0" y2="-20.32" width="0.4064" layer="94"/>
<wire x1="6.35" y1="-20.32" x2="6.35" y2="7.62" width="0.4064" layer="94"/>
<wire x1="0" y1="7.62" x2="6.35" y2="7.62" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-7.62" x2="5.08" y2="-7.62" width="0.6096" layer="94"/>
<wire x1="3.81" y1="-10.16" x2="5.08" y2="-10.16" width="0.6096" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="5.08" y2="-5.08" width="0.6096" layer="94"/>
<wire x1="3.81" y1="-2.54" x2="5.08" y2="-2.54" width="0.6096" layer="94"/>
<wire x1="3.81" y1="0" x2="5.08" y2="0" width="0.6096" layer="94"/>
<wire x1="3.81" y1="2.54" x2="5.08" y2="2.54" width="0.6096" layer="94"/>
<wire x1="3.81" y1="5.08" x2="5.08" y2="5.08" width="0.6096" layer="94"/>
<text x="0" y="-22.86" size="1.778" layer="96">>VALUE</text>
<text x="0" y="8.89" size="1.778" layer="95">>NAME</text>
<pin name="1" x="10.16" y="-17.78" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="10.16" y="-15.24" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="3" x="10.16" y="-12.7" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="4" x="10.16" y="-10.16" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="5" x="10.16" y="-7.62" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="6" x="10.16" y="-5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="7" x="10.16" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="8" x="10.16" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="9" x="10.16" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="10" x="10.16" y="5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="M10" prefix="JP">
<description><b>Header 10</b>
Standard 10-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="M10" x="0" y="7.62"/>
</gates>
<devices>
<device name=""" package="1X10">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<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"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="2MM" package="1X10-2MM">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<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"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="2MMSMD" package="1X10-2MM-SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<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"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK" package="1X10_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<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"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_LONGPADS" package="1X10_LOCK_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<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"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="gd3x-dazzler">
<packages>
<package name="DAZZLER-SOCKET">
<wire x1="-24.13" y1="-20.32" x2="25.87" y2="-20.32" width="0.127" layer="21"/>
<wire x1="25.87" y1="-20.32" x2="25.87" y2="21.68" width="0.127" layer="21"/>
<wire x1="25.87" y1="21.68" x2="-24.13" y2="21.68" width="0.127" layer="21"/>
<wire x1="-24.13" y1="21.68" x2="-24.13" y2="-20.32" width="0.127" layer="21"/>
<pad name="P$1" x="9.87" y="21.68" drill="0.8"/>
<pad name="P$2" x="7.87" y="21.68" drill="0.8"/>
<pad name="P$3" x="5.87" y="21.68" drill="0.8"/>
<pad name="P$4" x="3.87" y="21.68" drill="0.8"/>
<pad name="P$5" x="1.87" y="21.68" drill="0.8"/>
<pad name="P$6" x="-0.13" y="21.68" drill="0.8"/>
<pad name="P$7" x="-2.13" y="21.68" drill="0.8"/>
<pad name="P$G1" x="-4.13" y="21.68" drill="0.8"/>
<pad name="P$8" x="-6.13" y="21.68" drill="0.8"/>
<pad name="P$9" x="-8.13" y="21.68" drill="0.8"/>
<pad name="P$10" x="-10.13" y="21.68" drill="0.8"/>
<pad name="P$11" x="-12.13" y="21.68" drill="0.8"/>
<pad name="P$12" x="-14.13" y="21.68" drill="0.8"/>
<pad name="P$13" x="-16.13" y="21.68" drill="0.8"/>
<pad name="P$14" x="-18.13" y="21.68" drill="0.8"/>
<hole x="-21.33" y="18.88" drill="2.5"/>
<pad name="P$15" x="-24.13" y="15.68" drill="0.8"/>
<pad name="P$16" x="-24.13" y="13.68" drill="0.8"/>
<pad name="P$17" x="-24.13" y="11.68" drill="0.8"/>
<pad name="P$18" x="-24.13" y="9.68" drill="0.8"/>
<pad name="P$19" x="-24.13" y="7.68" drill="0.8"/>
<pad name="P$20" x="-24.13" y="5.68" drill="0.8"/>
<pad name="P$21" x="-24.13" y="3.68" drill="0.8"/>
<pad name="P$G2" x="-24.13" y="1.68" drill="0.8"/>
<pad name="P$22" x="-24.13" y="-0.32" drill="0.8"/>
<pad name="P$23" x="-24.13" y="-2.32" drill="0.8"/>
<pad name="P$24" x="-24.13" y="-4.32" drill="0.8"/>
<pad name="P$25" x="-24.13" y="-6.32" drill="0.8"/>
<pad name="P$26" x="-24.13" y="-8.32" drill="0.8"/>
<pad name="P$27" x="-24.13" y="-10.32" drill="0.8"/>
<pad name="P$28" x="-24.13" y="-12.32" drill="0.8"/>
<pad name="P$29" x="-24.13" y="-14.32" drill="0.8"/>
<hole x="-21.33" y="-17.52" drill="2.5"/>
<pad name="P$32" x="-16.13" y="-20.32" drill="0.8"/>
<pad name="P$33" x="-14.13" y="-20.32" drill="0.8"/>
<pad name="P$34" x="-12.13" y="-20.32" drill="0.8"/>
<pad name="P$35" x="-10.13" y="-20.32" drill="0.8"/>
<pad name="P$36" x="-8.13" y="-20.32" drill="0.8"/>
<pad name="P$37" x="-4.13" y="-20.32" drill="0.8"/>
<pad name="P$38" x="-2.13" y="-20.32" drill="0.8"/>
<pad name="P$39" x="-0.13" y="-20.32" drill="0.8"/>
<pad name="P$40" x="1.87" y="-20.32" drill="0.8"/>
<pad name="P$41" x="5.87" y="-20.32" drill="0.8"/>
<pad name="P$42" x="7.87" y="-20.32" drill="0.8"/>
<pad name="P$43" x="9.87" y="-20.32" drill="0.8"/>
<hole x="23.07" y="-17.52" drill="2.5"/>
<circle x="-21.33" y="18.88" radius="2.5" width="0.127" layer="21"/>
<circle x="-21.33" y="-17.52" radius="2.5" width="0.127" layer="21"/>
<circle x="23.07" y="-17.52" radius="2.5" width="0.127" layer="21"/>
<wire x1="26.87" y1="20.68" x2="26.87" y2="4.68" width="0.127" layer="21"/>
<wire x1="26.87" y1="4.68" x2="15.87" y2="4.68" width="0.127" layer="21"/>
<wire x1="15.87" y1="4.68" x2="15.87" y2="20.68" width="0.127" layer="21"/>
<wire x1="15.87" y1="20.68" x2="26.87" y2="20.68" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="DAZZLER-6850">
<wire x1="-22.86" y1="48.26" x2="22.86" y2="48.26" width="0.254" layer="97"/>
<wire x1="22.86" y1="48.26" x2="22.86" y2="-48.26" width="0.254" layer="97"/>
<wire x1="22.86" y1="-48.26" x2="-22.86" y2="-48.26" width="0.254" layer="97"/>
<wire x1="-22.86" y1="-48.26" x2="-22.86" y2="48.26" width="0.254" layer="97"/>
<pin name="GND.1" x="-5.08" y="-53.34" length="middle" rot="R90"/>
<pin name="RXDATA" x="-27.94" y="7.62" length="middle"/>
<pin name="RXCLK" x="-27.94" y="2.54" length="middle"/>
<pin name="TXCLK" x="-27.94" y="-2.54" length="middle"/>
<pin name="RTS" x="-27.94" y="-7.62" length="middle"/>
<pin name="TXDATA" x="-27.94" y="-12.7" length="middle"/>
<pin name="IRQ" x="-27.94" y="-17.78" length="middle"/>
<pin name="CS0" x="-27.94" y="-22.86" length="middle"/>
<pin name="CS2" x="-27.94" y="-27.94" length="middle"/>
<pin name="CS1" x="-27.94" y="-33.02" length="middle"/>
<pin name="RS" x="-27.94" y="-38.1" length="middle"/>
<pin name="5V" x="-27.94" y="33.02" length="middle"/>
<pin name="R/W" x="27.94" y="-43.18" length="middle" rot="R180"/>
<pin name="E" x="27.94" y="-38.1" length="middle" rot="R180"/>
<pin name="D7" x="27.94" y="-33.02" length="middle" rot="R180"/>
<pin name="D6" x="27.94" y="-27.94" length="middle" rot="R180"/>
<pin name="D5" x="27.94" y="-22.86" length="middle" rot="R180"/>
<pin name="D4" x="27.94" y="-17.78" length="middle" rot="R180"/>
<pin name="D3" x="27.94" y="-12.7" length="middle" rot="R180"/>
<pin name="D2" x="27.94" y="-7.62" length="middle" rot="R180"/>
<pin name="D1" x="27.94" y="-2.54" length="middle" rot="R180"/>
<pin name="D0" x="27.94" y="2.54" length="middle" rot="R180"/>
<pin name="DCD" x="27.94" y="7.62" length="middle" rot="R180"/>
<pin name="CTS" x="27.94" y="12.7" length="middle" rot="R180"/>
<pin name="CS5" x="27.94" y="22.86" length="middle" rot="R180"/>
<pin name="CS4" x="27.94" y="27.94" length="middle" rot="R180"/>
<pin name="CS3" x="27.94" y="33.02" length="middle" rot="R180"/>
<pin name="BUS-DIR" x="27.94" y="38.1" length="middle" rot="R180"/>
<pin name="KBD-IN" x="27.94" y="43.18" length="middle" rot="R180"/>
<pin name="CONSOLE-IN" x="-27.94" y="43.18" length="middle"/>
<pin name="CONSOLE-OUT" x="-27.94" y="38.1" length="middle"/>
<pin name="3.3V" x="-27.94" y="27.94" length="middle"/>
<pin name="GND.2" x="0" y="-53.34" length="middle" rot="R90"/>
<pin name="GND.3" x="5.08" y="-53.34" length="middle" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="DAZZLER-6850-SOCKET">
<gates>
<gate name="G$1" symbol="DAZZLER-6850" x="0" y="0"/>
</gates>
<devices>
<device name="" package="DAZZLER-SOCKET">
<connects>
<connect gate="G$1" pin="3.3V" pad="P$41"/>
<connect gate="G$1" pin="5V" pad="P$43"/>
<connect gate="G$1" pin="BUS-DIR" pad="P$28"/>
<connect gate="G$1" pin="CONSOLE-IN" pad="P$1"/>
<connect gate="G$1" pin="CONSOLE-OUT" pad="P$2"/>
<connect gate="G$1" pin="CS0" pad="P$9"/>
<connect gate="G$1" pin="CS1" pad="P$11"/>
<connect gate="G$1" pin="CS2" pad="P$10"/>
<connect gate="G$1" pin="CS3" pad="P$27"/>
<connect gate="G$1" pin="CS4" pad="P$26"/>
<connect gate="G$1" pin="CS5" pad="P$25"/>
<connect gate="G$1" pin="CTS" pad="P$24"/>
<connect gate="G$1" pin="D0" pad="P$22"/>
<connect gate="G$1" pin="D1" pad="P$21"/>
<connect gate="G$1" pin="D2" pad="P$20"/>
<connect gate="G$1" pin="D3" pad="P$19"/>
<connect gate="G$1" pin="D4" pad="P$18"/>
<connect gate="G$1" pin="D5" pad="P$17"/>
<connect gate="G$1" pin="D6" pad="P$16"/>
<connect gate="G$1" pin="D7" pad="P$15"/>
<connect gate="G$1" pin="DCD" pad="P$23"/>
<connect gate="G$1" pin="E" pad="P$14"/>
<connect gate="G$1" pin="GND.1" pad="P$G1"/>
<connect gate="G$1" pin="GND.2" pad="P$G2"/>
<connect gate="G$1" pin="GND.3" pad="P$42"/>
<connect gate="G$1" pin="IRQ" pad="P$8"/>
<connect gate="G$1" pin="KBD-IN" pad="P$29"/>
<connect gate="G$1" pin="R/W" pad="P$13"/>
<connect gate="G$1" pin="RS" pad="P$12"/>
<connect gate="G$1" pin="RTS" pad="P$6"/>
<connect gate="G$1" pin="RXCLK" pad="P$4"/>
<connect gate="G$1" pin="RXDATA" pad="P$3"/>
<connect gate="G$1" pin="TXCLK" pad="P$5"/>
<connect gate="G$1" pin="TXDATA" pad="P$7"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="supply1" urn="urn:adsk.eagle:library:371">
<description><b>Supply Symbols</b><p>
 GND, VCC, 0V, +5V, -5V, etc.<p>
 Please keep in mind, that these devices are necessary for the
 automatic wiring of the supply signals.<p>
 The pin name defined in the symbol is identical to the net which is to be wired automatically.<p>
 In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.<p>
 <author>Created by librarian@cadsoft.de</author></description>
<packages>
</packages>
<symbols>
<symbol name="GND" urn="urn:adsk.eagle:symbol:26925/1" library_version="1">
<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
<text x="-2.54" y="-2.54" size="1.778" layer="96">>VALUE</text>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" urn="urn:adsk.eagle:component:26954/1" prefix="GND" library_version="1">
<description><b>SUPPLY SYMBOL</b></description>
<gates>
<gate name="1" symbol="GND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="RC2014_BUS" library="pinhead" library_urn="urn:adsk.eagle:library:325" deviceset="PINHD-1X40" device="" package3d_urn="urn:adsk.eagle:package:22496/2" value="RC2014 BUS"/>
<part name="FRAME1" library="frames" library_urn="urn:adsk.eagle:library:229" deviceset="DINA4_L" device=""/>
<part name="ENHANCED_BUS" library="SparkFun" deviceset="M10" device="""/>
<part name="U$1" library="gd3x-dazzler" deviceset="DAZZLER-6850-SOCKET" device=""/>
<part name="GND1" library="supply1" library_urn="urn:adsk.eagle:library:371" deviceset="GND" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="103.632" y="-24.13" size="2.54" layer="97" ratio="9">Excamera Labs - 2020</text>
</plain>
<instances>
<instance part="RC2014_BUS" gate="-1" x="-35.56" y="59.69" smashed="yes" rot="MR0">
<attribute name="NAME" x="-38.735" y="62.23" size="1.778" layer="95" rot="MR270"/>
</instance>
<instance part="FRAME1" gate="G$1" x="-60.96" y="-50.8" smashed="yes"/>
<instance part="FRAME1" gate="G$2" x="101.6" y="-50.8" smashed="yes">
<attribute name="LAST_DATE_TIME" x="114.3" y="-49.53" size="2.54" layer="94"/>
<attribute name="SHEET" x="187.96" y="-49.53" size="2.54" layer="94"/>
<attribute name="DRAWING_NAME" x="119.38" y="-31.75" size="2.54" layer="94"/>
</instance>
<instance part="ENHANCED_BUS" gate="G$1" x="-36.83" y="-17.78" smashed="yes" rot="MR180">
<attribute name="VALUE" x="-36.83" y="5.08" size="1.778" layer="96" rot="MR180"/>
<attribute name="NAME" x="-38.1" y="-1.27" size="1.778" layer="95" rot="MR270"/>
</instance>
<instance part="U$1" gate="G$1" x="66.04" y="58.42" smashed="yes"/>
<instance part="GND1" gate="1" x="119.38" y="63.5" smashed="yes">
<attribute name="VALUE" x="116.84" y="60.96" size="1.778" layer="96"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="$GND" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="17"/>
<wire x1="-22.86" y1="67.31" x2="-33.02" y2="67.31" width="0.1524" layer="91"/>
<label x="-21.59" y="67.31" size="1.778" layer="95"/>
<junction x="-22.86" y="67.31"/>
</segment>
</net>
<net name="$VCC" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="18"/>
<wire x1="-22.86" y1="64.77" x2="-33.02" y2="64.77" width="0.1524" layer="91"/>
<label x="-21.59" y="64.77" size="1.778" layer="95"/>
<junction x="-22.86" y="64.77"/>
</segment>
</net>
<net name="M1" class="0">
<segment>
<label x="-21.59" y="62.23" size="1.778" layer="95"/>
<pinref part="RC2014_BUS" gate="-1" pin="19"/>
<wire x1="-33.02" y1="62.23" x2="-22.86" y2="62.23" width="0.1524" layer="91"/>
<junction x="-22.86" y="62.23"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="CS0"/>
<wire x1="38.1" y1="35.56" x2="25.4" y2="35.56" width="0.1524" layer="91"/>
<label x="25.4" y="35.56" size="1.778" layer="95"/>
</segment>
</net>
<net name="CLK" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="21"/>
<wire x1="-33.02" y1="57.15" x2="-13.97" y2="57.15" width="0.1524" layer="91"/>
<label x="-21.59" y="57.15" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="TXCLK"/>
<pinref part="U$1" gate="G$1" pin="RXCLK"/>
<wire x1="38.1" y1="55.88" x2="38.1" y2="60.96" width="0.1524" layer="91"/>
<wire x1="38.1" y1="60.96" x2="25.4" y2="60.96" width="0.1524" layer="91"/>
<junction x="38.1" y="60.96"/>
<label x="25.4" y="60.96" size="1.778" layer="95"/>
</segment>
</net>
<net name="!INT" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="22"/>
<wire x1="-33.02" y1="54.61" x2="-22.86" y2="54.61" width="0.1524" layer="91"/>
<label x="-21.59" y="54.61" size="1.778" layer="95"/>
<junction x="-22.86" y="54.61"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="IRQ"/>
<wire x1="38.1" y1="40.64" x2="25.4" y2="40.64" width="0.1524" layer="91"/>
<label x="25.4" y="40.64" size="1.778" layer="95"/>
</segment>
</net>
<net name="!MREQ" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="23"/>
<label x="-21.59" y="52.07" size="1.778" layer="95"/>
<wire x1="-33.02" y1="52.07" x2="-14.49605" y2="52.07" width="0.1524" layer="91"/>
</segment>
</net>
<net name="!WR" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="24"/>
<label x="-21.59" y="49.53" size="1.778" layer="95"/>
<wire x1="-33.02" y1="49.53" x2="-13.97" y2="49.53" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="R/W"/>
<wire x1="93.98" y1="15.24" x2="106.68" y2="15.24" width="0.1524" layer="91"/>
<label x="101.6" y="15.24" size="1.778" layer="95"/>
</segment>
</net>
<net name="!RD" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="25"/>
<label x="-21.59" y="46.99" size="1.778" layer="95"/>
<wire x1="-33.02" y1="46.99" x2="-13.97" y2="46.99" width="0.1524" layer="91"/>
</segment>
</net>
<net name="!IORQ" class="0">
<segment>
<label x="-21.59" y="44.45" size="1.778" layer="95"/>
<pinref part="RC2014_BUS" gate="-1" pin="26"/>
<wire x1="-33.02" y1="44.45" x2="-13.97" y2="44.45" width="0.1524" layer="91"/>
</segment>
</net>
<net name="D0" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="27"/>
<wire x1="-15.24" y1="41.91" x2="-33.02" y2="41.91" width="0.1524" layer="91"/>
<label x="-21.59" y="41.91" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D0"/>
<wire x1="93.98" y1="60.96" x2="106.68" y2="60.96" width="0.1524" layer="91"/>
<label x="101.6" y="60.96" size="1.778" layer="95"/>
</segment>
</net>
<net name="D1" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="28"/>
<wire x1="-15.24" y1="39.37" x2="-33.02" y2="39.37" width="0.1524" layer="91"/>
<label x="-21.59" y="39.37" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D1"/>
<wire x1="93.98" y1="55.88" x2="106.68" y2="55.88" width="0.1524" layer="91"/>
<label x="101.6" y="55.88" size="1.778" layer="95"/>
</segment>
</net>
<net name="D2" class="0">
<segment>
<wire x1="-15.24" y1="36.83" x2="-33.02" y2="36.83" width="0.1524" layer="91"/>
<label x="-21.59" y="36.83" size="1.778" layer="95"/>
<pinref part="RC2014_BUS" gate="-1" pin="29"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D2"/>
<wire x1="93.98" y1="50.8" x2="106.68" y2="50.8" width="0.1524" layer="91"/>
<label x="101.6" y="50.8" size="1.778" layer="95"/>
</segment>
</net>
<net name="D3" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="30"/>
<wire x1="-15.24" y1="34.29" x2="-33.02" y2="34.29" width="0.1524" layer="91"/>
<label x="-21.59" y="34.29" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D3"/>
<wire x1="93.98" y1="45.72" x2="106.68" y2="45.72" width="0.1524" layer="91"/>
<label x="101.6" y="45.72" size="1.778" layer="95"/>
</segment>
</net>
<net name="D4" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="31"/>
<wire x1="-15.24" y1="31.75" x2="-33.02" y2="31.75" width="0.1524" layer="91"/>
<label x="-21.59" y="31.75" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D4"/>
<wire x1="93.98" y1="40.64" x2="106.68" y2="40.64" width="0.1524" layer="91"/>
<label x="101.6" y="40.64" size="1.778" layer="95"/>
</segment>
</net>
<net name="D5" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="32"/>
<wire x1="-15.24" y1="29.21" x2="-33.02" y2="29.21" width="0.1524" layer="91"/>
<label x="-21.59" y="29.21" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D5"/>
<wire x1="93.98" y1="35.56" x2="106.68" y2="35.56" width="0.1524" layer="91"/>
<label x="101.6" y="35.56" size="1.778" layer="95"/>
</segment>
</net>
<net name="D6" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="33"/>
<wire x1="-15.24" y1="26.67" x2="-33.02" y2="26.67" width="0.1524" layer="91"/>
<label x="-21.59" y="26.67" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D6"/>
<wire x1="93.98" y1="30.48" x2="106.68" y2="30.48" width="0.1524" layer="91"/>
<label x="101.6" y="30.48" size="1.778" layer="95"/>
</segment>
</net>
<net name="D7" class="0">
<segment>
<wire x1="-15.24" y1="24.13" x2="-33.02" y2="24.13" width="0.1524" layer="91"/>
<label x="-21.59" y="24.13" size="1.778" layer="95"/>
<pinref part="RC2014_BUS" gate="-1" pin="34"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="D7"/>
<wire x1="93.98" y1="25.4" x2="106.68" y2="25.4" width="0.1524" layer="91"/>
<label x="101.6" y="25.4" size="1.778" layer="95"/>
</segment>
</net>
<net name="TX" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="35"/>
<wire x1="-22.86" y1="21.59" x2="-33.02" y2="21.59" width="0.1524" layer="91"/>
<label x="-21.59" y="21.59" size="1.778" layer="95"/>
<junction x="-22.86" y="21.59"/>
</segment>
</net>
<net name="RX" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="36"/>
<wire x1="-22.86" y1="19.05" x2="-33.02" y2="19.05" width="0.1524" layer="91"/>
<label x="-21.59" y="19.05" size="1.778" layer="95"/>
<junction x="-22.86" y="19.05"/>
</segment>
</net>
<net name="!WAIT_U" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="37"/>
<wire x1="-13.97" y1="16.51" x2="-33.02" y2="16.51" width="0.1524" layer="91"/>
<label x="-21.59" y="16.51" size="1.778" layer="95"/>
</segment>
</net>
<net name="!NMI_U" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="38"/>
<wire x1="-13.97" y1="13.97" x2="-33.02" y2="13.97" width="0.1524" layer="91"/>
<label x="-21.59" y="13.97" size="1.778" layer="95"/>
</segment>
</net>
<net name="PAGE_U" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="39"/>
<wire x1="-22.86" y1="11.43" x2="-33.02" y2="11.43" width="0.1524" layer="91"/>
<label x="-21.59" y="11.43" size="1.778" layer="95"/>
<junction x="-22.86" y="11.43"/>
</segment>
</net>
<net name="BA4" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="12"/>
<wire x1="-33.02" y1="80.01" x2="-13.97" y2="80.01" width="0.1524" layer="91"/>
<label x="-21.59" y="80.01" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA3" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="13"/>
<wire x1="-33.02" y1="77.47" x2="-13.97" y2="77.47" width="0.1524" layer="91"/>
<label x="-21.59" y="77.47" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA2" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="14"/>
<wire x1="-33.02" y1="74.93" x2="-13.97" y2="74.93" width="0.1524" layer="91"/>
<label x="-21.59" y="74.93" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA0" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="16"/>
<label x="-21.59" y="69.85" size="1.778" layer="95"/>
<wire x1="-33.02" y1="69.85" x2="-13.97" y2="69.85" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="RS"/>
<wire x1="38.1" y1="20.32" x2="25.4" y2="20.32" width="0.1524" layer="91"/>
<label x="25.4" y="20.32" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA1" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="15"/>
<wire x1="-33.02" y1="72.39" x2="-13.97" y2="72.39" width="0.1524" layer="91"/>
<label x="-21.59" y="72.39" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA14" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="2"/>
<wire x1="-22.86" y1="105.41" x2="-33.02" y2="105.41" width="0.1524" layer="91"/>
<label x="-21.59" y="105.41" size="1.778" layer="95"/>
<junction x="-22.86" y="105.41"/>
</segment>
</net>
<net name="BA13" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="3"/>
<wire x1="-22.86" y1="102.87" x2="-33.02" y2="102.87" width="0.1524" layer="91"/>
<label x="-21.59" y="102.87" size="1.778" layer="95"/>
<junction x="-22.86" y="102.87"/>
</segment>
</net>
<net name="BA12" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="4"/>
<wire x1="-22.86" y1="100.33" x2="-33.02" y2="100.33" width="0.1524" layer="91"/>
<label x="-21.59" y="100.33" size="1.778" layer="95"/>
<junction x="-22.86" y="100.33"/>
</segment>
</net>
<net name="BA11" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="5"/>
<wire x1="-22.86" y1="97.79" x2="-33.02" y2="97.79" width="0.1524" layer="91"/>
<label x="-21.59" y="97.79" size="1.778" layer="95"/>
<junction x="-22.86" y="97.79"/>
</segment>
</net>
<net name="BA10" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="6"/>
<wire x1="-22.86" y1="95.25" x2="-33.02" y2="95.25" width="0.1524" layer="91"/>
<label x="-21.59" y="95.25" size="1.778" layer="95"/>
<junction x="-22.86" y="95.25"/>
</segment>
</net>
<net name="BA9" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="7"/>
<wire x1="-22.86" y1="92.71" x2="-33.02" y2="92.71" width="0.1524" layer="91"/>
<label x="-21.59" y="92.71" size="1.778" layer="95"/>
<junction x="-22.86" y="92.71"/>
</segment>
</net>
<net name="BA8" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="8"/>
<wire x1="-22.86" y1="90.17" x2="-33.02" y2="90.17" width="0.1524" layer="91"/>
<label x="-21.59" y="90.17" size="1.778" layer="95"/>
<junction x="-22.86" y="90.17"/>
</segment>
</net>
<net name="BA15" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="1"/>
<wire x1="-33.02" y1="107.95" x2="-22.86" y2="107.95" width="0.1524" layer="91"/>
<label x="-21.59" y="107.95" size="1.778" layer="95"/>
<junction x="-22.86" y="107.95"/>
</segment>
</net>
<net name="BA7" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="9"/>
<wire x1="-33.02" y1="87.63" x2="-13.97" y2="87.63" width="0.1524" layer="91"/>
<label x="-21.59" y="87.63" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="CS1"/>
<wire x1="38.1" y1="25.4" x2="25.4" y2="25.4" width="0.1524" layer="91"/>
<label x="25.4" y="25.4" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA6" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="10"/>
<wire x1="-33.02" y1="85.09" x2="-13.97" y2="85.09" width="0.1524" layer="91"/>
<label x="-21.59" y="85.09" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="CS2"/>
<wire x1="38.1" y1="30.48" x2="25.4" y2="30.48" width="0.1524" layer="91"/>
<label x="25.4" y="30.48" size="1.778" layer="95"/>
</segment>
</net>
<net name="BA5" class="0">
<segment>
<pinref part="RC2014_BUS" gate="-1" pin="11"/>
<wire x1="-33.02" y1="82.55" x2="-13.97" y2="82.55" width="0.1524" layer="91"/>
<label x="-21.59" y="82.55" size="1.778" layer="95"/>
</segment>
</net>
<net name="VCC" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="5V"/>
<wire x1="38.1" y1="91.44" x2="30.48" y2="91.44" width="0.1524" layer="91"/>
<label x="25.4" y="91.44" size="1.778" layer="95"/>
</segment>
</net>
<net name="RTS" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="RTS"/>
<wire x1="38.1" y1="50.8" x2="25.4" y2="50.8" width="0.1524" layer="91"/>
<label x="25.4" y="50.8" size="1.778" layer="95"/>
</segment>
</net>
<net name="TXDATA" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="TXDATA"/>
<wire x1="38.1" y1="45.72" x2="25.4" y2="45.72" width="0.1524" layer="91"/>
<label x="25.4" y="45.72" size="1.778" layer="95"/>
</segment>
</net>
<net name="IORQ" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="E"/>
<wire x1="93.98" y1="20.32" x2="106.68" y2="20.32" width="0.1524" layer="91"/>
<label x="101.6" y="20.32" size="1.778" layer="95"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="CS5"/>
<wire x1="93.98" y1="81.28" x2="106.68" y2="81.28" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$14" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="CS4"/>
<wire x1="93.98" y1="86.36" x2="106.68" y2="86.36" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$15" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="CS3"/>
<wire x1="93.98" y1="91.44" x2="106.68" y2="91.44" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$16" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="BUS-DIR"/>
<wire x1="93.98" y1="96.52" x2="106.68" y2="96.52" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$17" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="KBD-IN"/>
<wire x1="93.98" y1="101.6" x2="106.68" y2="101.6" width="0.1524" layer="91"/>
</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="U$1" gate="G$1" pin="DCD"/>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="119.38" y1="66.04" x2="106.68" y2="66.04" width="0.1524" layer="91"/>
<pinref part="U$1" gate="G$1" pin="CTS"/>
<wire x1="106.68" y1="66.04" x2="93.98" y2="66.04" width="0.1524" layer="91"/>
<wire x1="93.98" y1="71.12" x2="106.68" y2="71.12" width="0.1524" layer="91"/>
<wire x1="106.68" y1="71.12" x2="106.68" y2="66.04" width="0.1524" layer="91"/>
<junction x="106.68" y="66.04"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="106,1,-33.02,54.61,!INT,,,,,"/>
<approved hash="106,1,-33.02,90.17,BA8,,,,,"/>
<approved hash="106,1,-33.02,92.71,BA9,,,,,"/>
<approved hash="106,1,-33.02,95.25,BA10,,,,,"/>
<approved hash="106,1,-33.02,97.79,BA11,,,,,"/>
<approved hash="106,1,-33.02,100.33,BA12,,,,,"/>
<approved hash="106,1,-33.02,102.87,BA13,,,,,"/>
<approved hash="106,1,-33.02,105.41,BA14,,,,,"/>
<approved hash="106,1,-33.02,107.95,BA15,,,,,"/>
<approved hash="106,1,-33.02,-12.7,BUSACK_E,,,,,"/>
<approved hash="106,1,-33.02,-17.78,BUSRQ_E,,,,,"/>
<approved hash="106,1,-33.02,-10.16,CLK2_E,,,,,"/>
<approved hash="106,1,-33.02,-15.24,HALT_E,,,,,"/>
<approved hash="106,1,-33.02,62.23,M1,,,,,"/>
<approved hash="106,1,-33.02,-7.62,PAGE_E,,,,,"/>
<approved hash="106,1,-33.02,11.43,PAGE_U,,,,,"/>
<approved hash="106,1,-33.02,-5.08,RFSH_E,,,,,"/>
<approved hash="106,1,-33.02,19.05,RX,,,,,"/>
<approved hash="106,1,-33.02,21.59,TX,,,,,"/>
<approved hash="108,1,171.45,0,$GND,,,,,"/>
<approved hash="108,1,162.56,0,$GND,,,,,"/>
<approved hash="108,1,162.56,35.56,$GND,,,,,"/>
<approved hash="108,1,144.526,0,$GND,,,,,"/>
<approved hash="108,1,74.93,-19.05,$GND,,,,,"/>
<approved hash="108,1,135.89,0,$GND,,,,,"/>
<approved hash="108,1,128.27,22.86,$GND,,,,,"/>
<approved hash="108,1,74.93,-21.59,$GND,,,,,"/>
<approved hash="108,1,153.67,0,$GND,,,,,"/>
<approved hash="108,1,162.56,30.48,$GND,,,,,"/>
<approved hash="108,1,111.76,91.44,$VCC,,,,,"/>
<approved hash="108,1,76.2,91.44,$VCC,,,,,"/>
<approved hash="108,1,144.78,10.16,$VCC,,,,,"/>
<approved hash="108,1,135.89,10.16,$VCC,,,,,"/>
<approved hash="108,1,162.56,10.16,$VCC,,,,,"/>
<approved hash="108,1,153.67,10.16,$VCC,,,,,"/>
<approved hash="108,1,171.45,10.16,$VCC,,,,,"/>
<approved hash="108,1,91.44,59.69,!RESET,,,,,"/>
<approved hash="108,1,69.85,66.04,CLOCK,,,,,"/>
<approved hash="108,1,28.684,52.07,!MREQ,,,,,"/>
<approved hash="108,1,24.13,83.82,N$2,,,,,"/>
<approved hash="108,1,31.75,83.82,N$2,,,,,"/>
<approved hash="108,1,27.94,83.82,N$2,,,,,"/>
<approved hash="108,1,142.24,99.06,N$10,,,,,"/>
<approved hash="108,1,139.7,85.09,N$10,,,,,"/>
<approved hash="108,1,105.41,85.09,N$3,,,,,"/>
<approved hash="108,1,12.7,-30.48,!WAIT_E,,,,,"/>
<approved hash="108,1,10.16,-39.37,!NMI_E,,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,128.27,30.48,$GND,$VCC,,,,"/>
<approved hash="110,1,76.2,82.55,$VCC,N$4,,,,"/>
<approved hash="110,1,76.2,82.55,$VCC,N$4,,,,"/>
<approved hash="110,1,128.27,30.48,$VCC,$GND,,,,"/>
<approved hash="110,1,128.27,30.48,$VCC,$GND,,,,"/>
<approved hash="110,1,128.27,30.48,$VCC,$GND,,,,"/>
<approved hash="110,1,128.27,30.48,$VCC,$GND,,,,"/>
<approved hash="110,1,76.2,77.47,CLOCK,$VCC,,,,"/>
<approved hash="110,1,76.2,77.47,CLOCK,$VCC,,,,"/>
<approved hash="110,1,111.76,77.47,CLOCK,$VCC,,,,"/>
<approved hash="110,1,111.76,77.47,CLOCK,$VCC,,,,"/>
<approved hash="109,1,102.87,67.31,CLOCK,,,,,"/>
<approved hash="109,1,105.41,67.31,CLOCK,,,,,"/>
<approved hash="109,1,105.41,67.31,CLOCK,,,,,"/>
<approved hash="110,1,1.27,107.95,BA7,BA6,,,,"/>
<approved hash="110,1,1.27,107.95,BA7,BA6,,,,"/>
<approved hash="110,1,1.27,107.95,BA7,BA6,,,,"/>
<approved hash="110,1,1.27,107.95,BA7,BA6,,,,"/>
<approved hash="110,1,1.27,107.95,BA6,BA7,,,,"/>
<approved hash="110,1,1.27,107.95,BA6,BA7,,,,"/>
<approved hash="110,1,1.27,107.95,BA6,BA7,,,,"/>
<approved hash="110,1,1.27,107.95,BA6,BA7,,,,"/>
<approved hash="110,1,3.81,110.49,BA6,BA5,,,,"/>
<approved hash="110,1,3.81,110.49,BA6,BA5,,,,"/>
<approved hash="110,1,3.81,110.49,BA6,BA5,,,,"/>
<approved hash="110,1,3.81,110.49,BA6,BA5,,,,"/>
<approved hash="110,1,3.81,110.49,BA5,BA6,,,,"/>
<approved hash="110,1,3.81,110.49,BA5,BA6,,,,"/>
<approved hash="110,1,3.81,110.49,BA5,BA6,,,,"/>
<approved hash="110,1,3.81,110.49,BA5,BA6,,,,"/>
<approved hash="110,1,6.35,74.93,BA2,BA1,,,,"/>
<approved hash="110,1,6.35,74.93,BA2,BA1,,,,"/>
<approved hash="110,1,143.51,74.93,N$11,$VCC,,,,"/>
<approved hash="110,1,143.51,74.93,N$11,$VCC,,,,"/>
<approved hash="113,1,71.016,39.266,FRAME1,,,,,"/>
<approved hash="113,1,11.7898,0.225844,BOOST_VDD,,,,,"/>
<approved hash="113,1,62.6006,105.541,ADDR_SELECT,,,,,"/>
<approved hash="113,1,11.9422,-21.59,U_BUS,,,,,"/>
</errors>
</schematic>
</drawing>
<compatibility>
<note version="8.2" severity="warning">
Since Version 8.2, EAGLE supports online libraries. The ids
of those online libraries will not be understood (or retained)
with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports the association of 3D packages
with devices in libraries, schematics, and board files. Those 3D
packages will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

license_type: permissive

branch_name: refs/heads/master


text:
SRC_URI = "git://github.com/kergoth/tslib.git;protocol=git"
S = "${WORKDIR}/git"
SRCREV = "43abb4bcac12bed4dfa7"
PV = "1.0+gitr${SRCPV}"
PR = "${INC_PR}.1"

DEFAULT_PREFERENCE = "-1"

include tslib.inc

license: MIT

repository: libo/openembedded

repo_name: libo/openembedded

branch_name: HEAD

extension: bb


text:
/*
 * Copyright (c) 2020-2021 Huawei Device Co., Ltd.
 * 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.
 */

#include "components/ui_circle_progress.h"

#include <climits>
#include <gtest/gtest.h>

using namespace testing::ext;
namespace OHOS {
namespace {
    constexpr uint16_t MAX_ANGLE_VALUE = 360;
    constexpr uint16_t MIN_ANGLE_VALUE = 0;
}
class UICircleProgressTest : public testing::Test {
public:
    static void SetUpTestCase();
    static void TearDownTestCase();
    static UICircleProgress* circleProgress_;
};

UICircleProgress* UICircleProgressTest::circleProgress_ = nullptr;

void UICircleProgressTest::SetUpTestCase()
{
    if (circleProgress_ == nullptr) {
        circleProgress_ = new UICircleProgress();
    }
}

void UICircleProgressTest::TearDownTestCase()
{
    if (circleProgress_ != nullptr) {
        delete circleProgress_;
        circleProgress_ = nullptr;
    }
}

/**
 * @tc.name: UICircleProgressGetViewType_001
 * @tc.desc: Verify GetViewType function, equal.
 * @tc.type: FUNC
 * @tc.require: AR000DSMQG
 */
HWTEST_F(UICircleProgressTest, UICircleProgressGetViewType_001, TestSize.Level0)
{
    if (circleProgress_ == nullptr) {
        EXPECT_NE(0, 0);
        return;
    }
    EXPECT_EQ(circleProgress_->GetViewType(), UI_CIRCLE_PROGRESS);
}

/**
 * @tc.name: UICircleProgressSetRadius_001
 * @tc.desc: Verify SetRadius function, equal.
 * @tc.type: FUNC
 * @tc.require: AR000DSMQG
 */
HWTEST_F(UICircleProgressTest, UICircleProgressSetRadius_001, TestSize.Level0)
{
    if (circleProgress_ == nullptr) {
        EXPECT_NE(0, 0);
        return;
    }
    const uint16_t radius = 1;

    circleProgress_->SetRadius(radius);
    EXPECT_EQ(circleProgress_->GetRadius(), radius);
}

/**
 * @tc.name: UICircleProgressSetCenterPosition_001
 * @tc.desc: Verify SetCenterPosition function, equal.
 * @tc.type: FUNC
 * @tc.require: AR000DSMQG
 */
HWTEST_F(UICircleProgressTest, UICircleProgressSetCenterPosition_001, TestSize.Level0)
{
    if (circleProgress_ == nullptr) {
        EXPECT_NE(0, 0);
        return;
    }
    const int16_t presetLength = 100;
    const int16_t centerX = 50;
    const int16_t centerY = 50;

    circleProgress_->Resize(presetLength, presetLength);
    circleProgress_->SetCenterPosition(centerX, centerY);
    EXPECT_EQ(circleProgress_->GetCenterPosition().x, centerX);
    EXPECT_EQ(circleProgress_->GetCenterPosition().y, centerY);
}

/**
 * @tc.name: UICircleProgressSetLineColor_001
 * @tc.desc: Verify SetLineColor function, equal.
 * @tc.type: FUNC
 * @tc.require: AR000DSMQG
 */
HWTEST_F(UICircleProgressTest, UICircleProgressSetLineColor_001, TestSize.Level0)
{
    if (circleProgress_ == nullptr) {
        EXPECT_NE(0, 0);
        return;
    }
    circleProgress_->SetLineColor(Color::Red());
    EXPECT_EQ(circleProgress_->GetForegroundStyle(STYLE_LINE_COLOR), Color::Red().full);
}

/**
 * @tc.name: UICircleProgressSetAngle_001
 * @tc.desc: Verify SetAngle function, equal.
 * @tc.type: FUNC
 * @tc.require: AR000DSMQG
 */
HWTEST_F(UICircleProgressTest, UICircleProgressSetStartAngle_001, TestSize.Level0)
{
    if (circleProgress_ == nullptr) {
        EXPECT_NE(0, 0);
        return;
    }
    const int16_t startAngle = 0;
    const int16_t endAngle = 90;

    EXPECT_EQ(circleProgress_->GetStartAngle(), MIN_ANGLE_VALUE);
    circleProgress_->SetStartAngle(startAngle);
    EXPECT_EQ(circleProgress_->GetStartAngle(), startAngle);

    EXPECT_EQ(circleProgress_->GetEndAngle(), MAX_ANGLE_VALUE);
    circleProgress_->SetEndAngle(endAngle);
    EXPECT_EQ(circleProgress_->GetEndAngle(), endAngle);
}
} // namespace OHOS

extension: cpp


text:
package snapshotfs

import (
	"bufio"
	"bytes"
	"context"
	"crypto/rand"
	"fmt"
	"os"
	"os/exec"
	"path/filepath"
	"runtime"
	"strings"
	"time"

	"github.com/pkg/errors"

	"github.com/kopia/kopia/fs"
	"github.com/kopia/kopia/fs/localfs"
	"github.com/kopia/kopia/repo"
	"github.com/kopia/kopia/snapshot/policy"
)

const (
	actionCommandTimeout    = 3 * time.Minute
	actionScriptPermissions = 0o700
)

// actionContext carries state between before/after actions.
type actionContext struct {
	ActionsEnabled bool
	SnapshotID     string
	SourcePath     string
	SnapshotPath   string
	WorkDir        string
}

func (hc *actionContext) envars(actionType string) []string {
	return []string{
		fmt.Sprintf("KOPIA_ACTION=%v", actionType),
		fmt.Sprintf("KOPIA_SNAPSHOT_ID=%v", hc.SnapshotID),
		fmt.Sprintf("KOPIA_SOURCE_PATH=%v", hc.SourcePath),
		fmt.Sprintf("KOPIA_SNAPSHOT_PATH=%v", hc.SnapshotPath),
		fmt.Sprintf("KOPIA_VERSION=%v", repo.BuildVersion),
	}
}

func (hc *actionContext) ensureInitialized(ctx context.Context, actionType, dirPathOrEmpty string, uploaderEnabled bool) error {
	if dirPathOrEmpty == "" {
		return nil
	}

	if hc.ActionsEnabled {
		// already initialized
		return nil
	}

	if !uploaderEnabled {
		uploadLog(ctx).Infof("Not executing %v action on %v because it's been disabled for this client.", actionType, dirPathOrEmpty)
		return nil
	}

	var randBytes [8]byte

	if _, err := rand.Read(randBytes[:]); err != nil {
		return errors.Wrap(err, "error reading random bytes")
	}

	hc.SnapshotID = fmt.Sprintf("%x", randBytes[:])
	hc.SourcePath = dirPathOrEmpty
	hc.SnapshotPath = hc.SourcePath

	wd, err := os.MkdirTemp("", "kopia-action")
	if err != nil {
		return errors.Wrap(err, "error temporary directory for action execution")
	}

	hc.WorkDir = wd
	hc.ActionsEnabled = true

	return nil
}

func actionScriptExtension() string {
	if runtime.GOOS == "windows" {
		return ".cmd"
	}

	return ".sh"
}

// prepareCommandForAction prepares *exec.Cmd that will run the provided action command in the provided
// working directory.
func prepareCommandForAction(ctx context.Context, actionType string, h *policy.ActionCommand, workDir string) (*exec.Cmd, context.CancelFunc, error) {
	timeout := actionCommandTimeout
	if h.TimeoutSeconds != 0 {
		timeout = time.Duration(h.TimeoutSeconds) * time.Second
	}

	ctx, cancel := context.WithTimeout(ctx, timeout)

	var c *exec.Cmd

	switch {
	case h.Script != "":
		scriptFile := filepath.Join(workDir, actionType+actionScriptExtension())
		if err := os.WriteFile(scriptFile, []byte(h.Script), actionScriptPermissions); err != nil {
			cancel()

			return nil, nil, errors.Wrap(err, "error writing script for execution")
		}

		switch {
		case runtime.GOOS == "windows":
			c = exec.CommandContext(ctx, os.Getenv("COMSPEC"), "/c", scriptFile) //nolint:gosec
		case strings.HasPrefix(h.Script, "#!"):
			// on unix if a script starts with #!, it will run under designated interpreter
			c = exec.CommandContext(ctx, scriptFile) //nolint:gosec
		default:
			c = exec.CommandContext(ctx, "sh", "-e", scriptFile) //nolint:gosec
		}

	case h.Command != "":
		c = exec.CommandContext(ctx, h.Command, h.Arguments...) //nolint:gosec

	default:
		cancel()

		return nil, nil, errors.Errorf("action did not provide either script nor command to run")
	}

	// all actions run inside temporary working directory
	c.Dir = workDir

	return c, cancel, nil
}

// runActionCommand executes the action command passing the provided inputs as environment
// variables. It analyzes the standard output of the command looking for 'key=value'
// where the key is present in the provided outputs map and sets the corresponding map value.
func runActionCommand(
	ctx context.Context,
	actionType string,
	h *policy.ActionCommand,
	inputs []string,
	captures map[string]string,
	workDir string,
) error {
	cmd, cancel, err := prepareCommandForAction(ctx, actionType, h, workDir)
	if err != nil {
		return errors.Wrap(err, "error preparing command")
	}

	defer cancel()

	cmd.Env = append(os.Environ(), inputs...)
	cmd.Stderr = os.Stderr

	if h.Mode == "async" {
		return errors.Wrap(cmd.Start(), "error starting action command asynchronously")
	}

	v, err := cmd.Output()
	if err != nil {
		if h.Mode == "essential" {
			return errors.Wrap(err, "essential action failed")
		}

		uploadLog(ctx).Errorf("error running non-essential action command: %v", err)
	}

	return parseCaptures(v, captures)
}

// parseCaptures analyzes given byte array and updated the provided map values whenever
// map keys match lines inside the byte array. The lines must be formatted as k=v.
func parseCaptures(v []byte, captures map[string]string) error {
	s := bufio.NewScanner(bytes.NewReader(v))
	for s.Scan() {
		//nolint:gomnd
		l := strings.SplitN(s.Text(), "=", 2)
		if len(l) <= 1 {
			continue
		}

		key, value := l[0], l[1]
		if _, ok := captures[key]; ok {
			captures[key] = value
		}
	}

	//nolint:wrapcheck
	return s.Err()
}

func (u *Uploader) executeBeforeFolderAction(ctx context.Context, actionType string, h *policy.ActionCommand, dirPathOrEmpty string, hc *actionContext) (fs.Directory, error) {
	if h == nil {
		return nil, nil
	}

	if err := hc.ensureInitialized(ctx, actionType, dirPathOrEmpty, u.EnableActions); err != nil {
		return nil, errors.Wrap(err, "error initializing action context")
	}

	if !hc.ActionsEnabled {
		return nil, nil
	}

	uploadLog(ctx).Debugf("running action %v on %v %#v", actionType, hc.SourcePath, *h)

	captures := map[string]string{
		"KOPIA_SNAPSHOT_PATH": "",
	}

	if err := runActionCommand(ctx, actionType, h, hc.envars(actionType), captures, hc.WorkDir); err != nil {
		return nil, errors.Wrapf(err, "error running '%v' action", actionType)
	}

	if p := captures["KOPIA_SNAPSHOT_PATH"]; p != "" {
		hc.SnapshotPath = p
		d, err := localfs.Directory(hc.SnapshotPath)

		return d, errors.Wrap(err, "error getting local directory specified in KOPIA_SNAPSHOT_PATH")
	}

	return nil, nil
}

func (u *Uploader) executeAfterFolderAction(ctx context.Context, actionType string, h *policy.ActionCommand, dirPathOrEmpty string, hc *actionContext) {
	if h == nil {
		return
	}

	if err := hc.ensureInitialized(ctx, actionType, dirPathOrEmpty, u.EnableActions); err != nil {
		uploadLog(ctx).Errorf("error initializing action context: %v", err)
	}

	if !hc.ActionsEnabled {
		return
	}

	if err := runActionCommand(ctx, actionType, h, hc.envars(actionType), nil, hc.WorkDir); err != nil {
		uploadLog(ctx).Errorf("error running '%v' action: %v", actionType, err)
	}
}

func cleanupActionContext(ctx context.Context, hc *actionContext) {
	if hc.WorkDir != "" {
		if err := os.RemoveAll(hc.WorkDir); err != nil {
			uploadLog(ctx).Debugf("unable to remove action working directory: %v", err)
		}
	}
}

repository: kopia/kopia

repo_name: kopia/kopia

gha_language: Go

extension: go


text:
package sqlreflect

// ConstraintType represents a type of constraint.
//
// The defined types, expressed as constants, are CHECK, PRIMARY KEY, FOREIGN KEY, and UNIQUE.
type ConstraintType string

const (
	ConstraintCheck      ConstraintType = "CHECK"
	ConstraintPrimaryKey ConstraintType = "PRIMARY KEY"
	ConstraintForeignKey ConstraintType = "FOREIGN KEY"
	ConstraintUnique     ConstraintType = "UNIQUE"
)

type ConstraintLocator struct {
	ConstraintCatalog string `stbl:"constraint_catalog"`
	ConstraintSchema  string `stbl:"constraint_schema"`
	ConstraintName    string `stbl:"constraint_name"`
}

type ConstraintColumnUsage struct {
	//TableLocator
	TableCatalog   string `stbl:"table_catalog"`
	TableSchema    string `stbl:"table_schema"`
	TableNameField string `stbl:"table_name"`

	ColumnName string `stbl:"column_name"`

	// ConstraintLocator
	ConstraintCatalog string `stbl:"constraint_catalog"`
	ConstraintSchema  string `stbl:"constraint_schema"`
	ConstraintName    string `stbl:"constraint_name"`
}

repository: apito-io/sqlreflect

repo_name: apito-io/sqlreflect


text:
SECTION = "devel/chicken"
DESCRIPTION = "Bindings to the Twilio API"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://twilio.meta;md5=313efa0a6ddb1308d39c83b90c7b6258"
DEPENDS_append_class-cross = " chicken-egg-hahn-cross chicken-egg-htmlprag-cross chicken-egg-http-client-cross chicken-egg-matchable-cross chicken-egg-s-cross chicken-egg-setup-helper-cross"
DEPENDS_append_class-crosssdk = " chicken-egg-hahn-crosssdk chicken-egg-htmlprag-crosssdk chicken-egg-http-client-crosssdk chicken-egg-matchable-crosssdk chicken-egg-s-crosssdk chicken-egg-setup-helper-crosssdk"
DEPENDS_append_class-nativesdk = " nativesdk-chicken-egg-hahn nativesdk-chicken-egg-htmlprag nativesdk-chicken-egg-http-client nativesdk-chicken-egg-matchable nativesdk-chicken-egg-s nativesdk-chicken-egg-setup-helper chicken-egg-hahn-crosssdk chicken-egg-htmlprag-crosssdk chicken-egg-http-client-crosssdk chicken-egg-matchable-crosssdk chicken-egg-s-crosssdk chicken-egg-setup-helper-crosssdk"
DEPENDS = " chicken-egg-hahn chicken-egg-htmlprag chicken-egg-http-client chicken-egg-matchable chicken-egg-s chicken-egg-setup-helper chicken-egg-hahn-cross chicken-egg-htmlprag-cross chicken-egg-http-client-cross chicken-egg-matchable-cross chicken-egg-s-cross chicken-egg-setup-helper-cross"
RDEPENDS_${PN} = " chicken-egg-hahn chicken-egg-htmlprag chicken-egg-http-client chicken-egg-matchable chicken-egg-s chicken-egg-setup-helper"

SRC_URI = "http://code.call-cc.org/egg-tarballs/4/twilio/twilio-${PV}.tar.gz"

SRC_URI[md5sum] = "b1f9cf078a28ddb51643257bedb35681"
SRC_URI[sha256sum] = "5bda4c9dee4ec72042da6dbeaf6648798ab17d7ebc2613e10228cf1e642387af"

S = "${WORKDIR}/twilio-${PV}"

inherit chicken_install

BBCLASSEXTEND = "cross crosssdk nativesdk"

repository: OSSystems/meta-chicken

repo_name: OSSystems/meta-chicken


text:
package handlers

import (
	"encoding/json"
	"github.com/CodeWithSameera/Vehicles/helpers"
	"github.com/CodeWithSameera/Vehicles/model"
	"github.com/gorilla/mux"
	"gorm.io/gorm"
	"net/http"
)

var db  *gorm.DB

var GetAllVehiclesHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request){
	// Here we are converting the slice of products to JSON
	vehicles := []model.Vehicle{}
	db = helpers.ConnectDB()
	db.Find(&vehicles)
	respondJSON(w, http.StatusOK, vehicles)
})
var SearchVehiclesHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request){
	vars := mux.Vars(r)

	vno := vars["vno"]
	db = helpers.ConnectDB()
	vehicle := getVehicleOr404(db, vno, w, r)
	if vehicle == nil {
		return
	}
	respondJSON(w, http.StatusOK, vehicle)
})

var CreateVehiclesHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request){
	vehicle := model.Vehicle{}

	decoder := json.NewDecoder(r.Body)
	if err := decoder.Decode(&vehicle); err != nil {
		respondError(w, http.StatusBadRequest, err.Error())
		return
	}
	defer r.Body.Close()
	db = helpers.ConnectDB()
	if err := db.Save(&vehicle).Error; err != nil {
		respondError(w, http.StatusInternalServerError, err.Error())
		return
	}
	SaveEntity(vehicle.VNo,vehicle.Modal)

	respondJSON(w, http.StatusCreated, vehicle)
})

var UpdateVehiclesHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request){
	vars := mux.Vars(r)

	vno := vars["vno"]
	db = helpers.ConnectDB()
	vehicle := getVehicleOr404(db, vno, w, r)
	if vehicle == nil {
		return
	}

	decoder := json.NewDecoder(r.Body)
	if err := decoder.Decode(&vehicle); err != nil {
		respondError(w, http.StatusBadRequest, err.Error())
		return
	}
	defer r.Body.Close()

	if err := db.Save(&vehicle).Error; err != nil {
		respondError(w, http.StatusInternalServerError, err.Error())
		return
	}
	respondJSON(w, http.StatusOK, vehicle)
})

var DeleteVehiclesHandler = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request){
	vars := mux.Vars(r)
	db = helpers.ConnectDB()
	vno := vars["vno"]
	vehicle := getVehicleOr404(db, vno, w, r)
	if vehicle == nil {
		return
	}
	if err := db.Delete(&vehicle).Error; err != nil {
		respondError(w, http.StatusInternalServerError, err.Error())
		return
	}
	respondJSON(w, http.StatusNoContent, nil)
})

func getVehicleOr404(db *gorm.DB, vno string, w http.ResponseWriter, r *http.Request) *model.Vehicle {
	vehicle := model.Vehicle{}
	if err := db.First(&vehicle, model.Vehicle{VNo: vno}).Error; err != nil {
		respondError(w, http.StatusNotFound, err.Error())
		return nil
	}
	return &vehicle
}

repository: CodeWithSameera/Vehicles

repo_name: CodeWithSameera/Vehicles

branch_name: refs/heads/main


text:
using System.Windows;
using VaraniumSharp.Initiator.Monitoring;

namespace AppInsightClientUsageExample
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        /// <summary>
        /// Constructor
        /// </summary>
        public MainWindow()
        {
            InitializeComponent();
            AppInsightClient.TrackPageView(nameof(MainWindow));
        }
    }
}

repository: NinetailLabs/ApplicationInsightExample

repo_name: NinetailLabs/ApplicationInsightExample

extension: cs


text:
package presenter

import (
	"encoding/json"
	"time"
)

type NetworkAccessListResponse struct {
	Links      []Links             `json:"links"`
	Results    []NetworkAccessList `json:"results"`
	Totalcount int                 `json:"totalCount"`
}
type Links struct {
	Href string `json:"href"`
	Rel  string `json:"rel"`
}
type NetworkAccessList struct {
	Cidrblock       string    `json:"cidrBlock,omitempty"`
	Comment         string    `json:"comment,omitempty"`
	Groupid         string    `json:"groupId,omitempty"`
	Ipaddress       string    `json:"ipAddress,omitempty"`
	Links           []Links   `json:"links,omitempty"`
	Deleteafterdate time.Time `json:"deleteAfterDate,omitempty"`
}

func (model *NetworkAccessList) CreateJSON() ([]byte, error) {
	type RequestNWAccess struct {
		cidrBlock string
		ipAddress string
		groupId   string
		comment   string
	}
	var request = make(map[string]string)
	if model.Cidrblock != "" {
		request["cidrBlock"] = model.Cidrblock
	}

	if model.Ipaddress != "" {
		request["ipAddress"] = model.Ipaddress
	}
	if model.Comment != "" {
		request["comment"] = model.Comment
	}
	if model.Groupid != "" {
		request["groupId"] = model.Groupid
	}
	requestArr := [](map[string]string){request}

	j, err := json.Marshal(requestArr)
	return j, err

}

//Database user access request
type DBAccessRequest struct {
	Awsiamtype   string        `json:"awsIAMType"`
	Databasename string        `json:"databaseName"`
	Groupid      string        `json:"groupId"`
	Labels       []interface{} `json:"labels"`
	Ldapauthtype string        `json:"ldapAuthType"`
	Links        []Links       `json:"links"`
	Roles        []Roles       `json:"roles"`
	Scopes       []interface{} `json:"scopes"`
	Username     string        `json:"username"`
	X509Type     string        `json:"x509Type"`
	Password     string        `json:"password"`
}

type Roles struct {
	Databasename string `json:"databaseName"`
	Rolename     string `json:"roleName"`
}

func (model *DBAccessRequest) CreateJSON() ([]byte, error) {
	var request = make(map[string]interface{})

	if model.Databasename != "" {
		request["databaseName"] = model.Databasename
	}
	if model.Groupid != "" {
		request["groupId"] = model.Groupid
	}

	if model.Password != "" {
		request["password"] = model.Password
	}
	if model.Username != "" {
		request["username"] = model.Username
	}
	if model.Roles != nil {
		request["roles"] = model.Roles
	}
	j, err := json.Marshal(request)
	return j, err

}

repository: PeerIslands/api-mobile-console

repo_name: PeerIslands/api-mobile-console


text:
/*
 * modular_arithmetic.cpp
 * Author: Aven Bross,
 *         based on code by Riccardo Murri (Stack Overflow)
 * Date: 2/24/2015
 * Template class to do modular arithmetic
 */

#ifndef MODULAR_ARITHMETIC_CPP
#define MODULAR_ARITHMETIC_CPP

#include "modular_arithmetic.h"

template<typename T>
T Modular<T>::_modulus;

template<typename T>
Modular<T>::Modular(const T& value) : _val(value) { };

// Sets the modulus
template<typename T>
void Modular<T>::globalSetModulus(const T& modulus) {
    _modulus = modulus;
}

template<typename T>
Modular<T> Modular<T>::addInverse() const{
    return Modular<T>(_modulus-_val);
}

// Finds multiplicative inverse via extended euclidean algorithm
template<typename T>
Modular<T> Modular<T>::mulInverse() const{
    T t = 0;
    T r = _modulus;
    T new_t = 1;
    T new_r = _val;
    while(new_r != 0){
        T quotient = r / new_r;
        T temp_t = t;
        t = new_t;
        new_t = temp_t - quotient * new_t;
        T temp_r = r;
        r = new_r;
        new_r = temp_r - quotient * new_r;
    }
    if(r>1) throw;    // Should never happen for prime field
    if(t<0) t = t+_modulus;
    return Modular<T>(t);
}

// Self modifying arithmethic operations
template<typename T>
Modular<T>& Modular<T>::operator=(const Modular<T>& other) {
    _val = other._val;
    return *this;
}

template<typename T>
Modular<T>& Modular<T>::operator+=(const Modular<T>& other) {
    _val += other._val;
    _val %= _modulus;
    return *this;
}

template<typename T>
Modular<T>& Modular<T>::operator-=(const Modular<T>& other) {
    _val += _modulus - other._val;
    _val %= _modulus;
    return *this;
}

template<typename T>
Modular<T>& Modular<T>::operator*=(const Modular<T>& other) {
    _val *= other._val;
    _val %= _modulus;
    return *this;
}

template<typename T>
Modular<T>& Modular<T>::operator/=(const Modular<T>& other) {
    _val *= other.mulInverse()._val;
    _val %= _modulus; return *this;
}

// Non modifying arithmetic operations
template<typename T>
Modular<T> Modular<T>::operator+(const Modular<T>& b) const {
    return Modular<T>((this->_val + b._val) % _modulus);
}

template<typename T>
Modular<T> Modular<T>::operator-(const Modular<T>& b) const {
    return Modular<T>((this->_val + (_modulus - b._val)) % _modulus);
}

template<typename T>
Modular<T> Modular<T>::operator*(const Modular<T>& b) const {
    return Modular<T>((this->_val * b._val) % _modulus);
}

template<typename T>
Modular<T> Modular<T>::operator/(const Modular<T>& b) const {
    return Modular<T>((this->_val * b.mulInverse()._val) % _modulus);
}

// Comparison operations
template<typename T>
bool Modular<T>::operator==(const Modular<T>& other) {
    return _val == other._val;
}

template<typename T>
bool Modular<T>::operator<(const Modular<T>& other) {
    return _val < other._val;
}

template<typename T>
bool Modular<T>::operator>(const Modular<T>& other) {
    return _val > other._val;
}

template<typename T>
bool Modular<T>::operator<=(const Modular<T>& other) {
    return _val <= other._val;
}

template<typename T>
bool Modular<T>::operator>=(const Modular<T>& other) {
    return _val >= other._val;
}

template<typename T>
T Modular<T>::value() const{
    return _val;
}

#endif