text:
4.9784" width="0.2032" layer="21"/>
<wire x1="2.0849" y1="-4.9784" x2="2.0849" y2="4.9784" width="0.2032" layer="21"/>
<wire x1="2.0849" y1="4.9784" x2="-2.0849" y2="4.9784" width="0.2032" layer="21"/>
<wire x1="-2.0849" y1="4.9784" x2="-2.0849" y2="-4.9784" width="0.2032" layer="21"/>
<circle x="-1.285" y="4.164" radius="0.3349" width="0.1016" layer="21"/>
<smd name="1" x="-3.24" y="4.445" dx="1" dy="0.5" layer="1"/>
<smd name="2" x="-3.24" y="3.175" dx="1" dy="0.5" layer="1"/>
<smd name="3" x="-3.24" y="1.905" dx="1" dy="0.5" layer="1"/>
<smd name="4" x="-3.24" y="0.635" dx="1" dy="0.5" layer="1"/>
<smd name="5" x="-3.24" y="-0.635" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="6" x="-3.24" y="-1.905" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="7" x="-3.24" y="-3.175" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="8" x="-3.24" y="-4.445" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="9" x="3.24" y="-4.445" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="10" x="3.24" y="-3.175" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="11" x="3.24" y="-1.905" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="12" x="3.24" y="-0.635" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="13" x="3.24" y="0.635" dx="1" dy="0.5" layer="1"/>
<smd name="14" x="3.24" y="1.905" dx="1" dy="0.5" layer="1"/>
<smd name="15" x="3.24" y="3.175" dx="1" dy="0.5" layer="1"/>
<smd name="16" x="3.24" y="4.445" dx="1" dy="0.5" layer="1"/>
<text x="-1.905" y="5.715" size="1.27" layer="25">>NAME</text>
<text x="-1.905" y="-6.985" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-3.471" y1="4.2545" x2="-2.15" y2="4.6355" layer="51"/>
<rectangle x1="-3.471" y1="2.9845" x2="-2.15" y2="3.3655" layer="51"/>
<rectangle x1="-3.471" y1="1.7145" x2="-2.15" y2="2.0955" layer="51"/>
<rectangle x1="-3.471" y1="0.4445" x2="-2.15" y2="0.8255" layer="51"/>
<rectangle x1="-3.471" y1="-0.8255" x2="-2.15" y2="-0.4445" layer="51" rot="R180"/>
<rectangle x1="-3.471" y1="-2.0955" x2="-2.15" y2="-1.7145" layer="51" rot="R180"/>
<rectangle x1="-3.471" y1="-3.3655" x2="-2.15" y2="-2.9845" layer="51" rot="R180"/>
<rectangle x1="-3.471" y1="-4.6355" x2="-2.15" y2="-4.2545" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="-4.6355" x2="3.471" y2="-4.2545" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="-3.3655" x2="3.471" y2="-2.9845" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="-2.0955" x2="3.471" y2="-1.7145" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="-0.8255" x2="3.471" y2="-0.4445" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="0.4445" x2="3.471" y2="0.8255" layer="51"/>
<rectangle x1="2.15" y1="1.7145" x2="3.471" y2="2.0955" layer="51"/>
<rectangle x1="2.15" y1="2.9845" x2="3.471" y2="3.3655" layer="51"/>
<rectangle x1="2.15" y1="4.2545" x2="3.471" y2="4.6355" layer="51"/>
</package>
<package name="SO016">
<wire x1="4.8768" y1="1.9463" x2="-4.8768" y2="1.9463" width="0.2032" layer="21"/>
<wire x1="4.9768" y1="-1.9463" x2="5.2578" y2="-1.5653" width="0.2032" layer="21" curve="90"/>
<wire x1="-5.2578" y1="1.4653" x2="-4.8768" y2="1.9463" width="0.2032" layer="21" curve="-90.023829"/>
<wire x1="4.8768" y1="1.9463" x2="5.2578" y2="1.5653" width="0.2032" layer="21" curve="-90.030084"/>
<wire x1="-5.2578" y1="-1.6653" x2="-4.8768" y2="-1.9463" width="0.2032" layer="21" curve="90.060185"/>
<wire x1="-4.8768" y1="-1.9463" x2="4.9768" y2="-1.9463" width="0.2032" layer="21"/>
<wire x1="5.2578" y1="-1.5653" x2="5.2578" y2="1.5653" width="0.2032" layer="21"/>
<wire x1="-5.207" y1="0.6096" x2="-5.207" y2="-0.6604" width="0.2032" layer="21" curve="-180"/>
<wire x1="-5.2578" y1="1.4526" x2="-5.2578" y2="0.6096" width="0.2032" layer="21"/>
<wire x1="-5.2578" y1="-1.6653" x2="-5.2578" y2="-0.6604" width="0.2032" layer="21"/>
<smd name="1" x="-4.445" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="2" x="-3.175" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="3" x="-1.905" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="4" x="-0.635" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="5" x="0.635" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="6" x="1.905" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="7" x="3.175" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="8" x="4.445" y="-2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="9" x="4.445" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="10" x="3.175" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="11" x="1.905" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="12" x="0.635" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="13" x="-0.635" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="14" x="-1.905" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="15" x="-3.175" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<smd name="16" x="-4.445" y="2.8" dx="0.6" dy="1.6" layer="1"/>
<text x="-3.81" y="0" size="0.6096" layer="25" ratio="10">>NAME</text>
<text x="-3.81" y="-1.27" size="0.6096" layer="27">>VALUE</text>
<rectangle x1="-4.699" y1="-3.302" x2="-4.191" y2="-2.2733" layer="51"/>
<rectangle x1="-3.429" y1="-3.302" x2="-2.921" y2="-2.2733" layer="51"/>
<rectangle x1="-2.159" y1="-3.302" x2="-1.651" y2="-2.2733" layer="51"/>
<rectangle x1="-0.889" y1="-3.302" x2="-0.381" y2="-2.2733" layer="51"/>
<rectangle x1="0.381" y1="-3.302" x2="0.889" y2="-2.2733" layer="51"/>
<rectangle x1="1.651" y1="-3.302" x2="2.159" y2="-2.2733" layer="51"/>
<rectangle x1="2.921" y1="-3.302" x2="3.429" y2="-2.2733" layer="51"/>
<rectangle x1="4.191" y1="-3.302" x2="4.699" y2="-2.2733" layer="51"/>
<rectangle x1="-4.699" y1="2.286" x2="-4.191" y2="3.3655" layer="51"/>
<rectangle x1="-3.429" y1="2.286" x2="-2.921" y2="3.302" layer="51"/>
<rectangle x1="-2.159" y1="2.286" x2="-1.651" y2="3.302" layer="51"/>
<rectangle x1="-0.889" y1="2.286" x2="-0.381" y2="3.302" layer="51"/>
<rectangle x1="0.381" y1="2.286" x2="0.889" y2="3.302" layer="51"/>
<rectangle x1="1.651" y1="2.286" x2="2.159" y2="3.302" layer="51"/>
<rectangle x1="2.921" y1="2.286" x2="3.429" y2="3.302" layer="51"/>
<rectangle x1="4.191" y1="2.286" x2="4.699" y2="3.302" layer="51"/>
</package>
<package name="SO16">
<description>Small Outline package 150 mil</description>
<wire x1="4.699" y1="1.9558" x2="-4.699" y2="1.9558" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-1.9558" x2="5.08" y2="-1.5748" width="0.1524" layer="21" curve="90"/>
<wire x1="-4.699" y1="1.9558" x2="-5.08" y2="1.5748" width="0.1524" layer="21" curve="90"/>
<wire x1="5.08" y1="1.5748" x2="4.699" y2="1.9558" width="0.1524" layer="21" curve="90"/>
<wire x1="-5.08" y1="-1.5748" x2="-4.699" y2="-1.9558" width="0.1524" layer="21" curve="90"/>
<wire x1="-4.699" y1="-1.9558" x2="4.699" y2="-1.9558" width="0.1524" layer="21"/>
<wire x1="5.08" y1="-1.5748" x2="5.08" y2="1.5748" width="0.1524" layer="21"/>
<wire x1="-5.08" y1="1.5748" x2="-5.08" y2="0.508" width="0.1524" layer="21"/>
<wire x1="-5.08" y1="0.508" x2="-5.08" y2="-0.508" width="0.1524" layer="21"/>
<wire x1="-5.08" y1="-0.508" x2="-5.08" y2="-1.5748" width="0.1524" layer="21"/>
<wire x1="-5.08" y1="-0.508" x2="-5.08" y2="0.508" width="0.1524" layer="21" curve="180"/>
<wire x1="-5.08" y1="-1.6002" x2="5.08" y2="-1.6002" width="0.0508" layer="21"/>
<smd name="1" x="-4.445" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="2" x="-3.175" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="3" x="-1.905" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="4" x="-0.635" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="5" x="0.635" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="6" x="1.905" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="7" x="3.175" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="8" x="4.445" y="-2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="9" x="4.445" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="10" x="3.175" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="11" x="1.905" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="12" x="0.635" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="13" x="-0.635" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="14" x="-1.905" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="15" x="-3.175" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<smd name="16" x="-4.445" y="2.8" dx="0.6" dy="1.2" layer="1"/>
<text x="-4.064" y="-0.635" size="1.27" layer="27" ratio="10">>VALUE</text>
<text x="-5.461" y="-1.778" size="1.27" layer="25" ratio="10" rot="R90">>NAME</text>
<rectangle x1="-0.889" y1="1.9558" x2="-0.381" y2="3.0988" layer="51"/>
<rectangle x1="-4.699" y1="-3.0988" x2="-4.191" y2="-1.9558" layer="51"/>
<rectangle x1="-3.429" y1="-3.0988" x2="-2.921" y2="-1.9558" layer="51"/>
<rectangle x1="-2.159" y1="-3.0734" x2="-1.651" y2="-1.9304" layer="51"/>
<rectangle x1="-0.889" y1="-3.0988" x2="-0.381" y2="-1.9558" layer="51"/>
<rectangle x1="-2.159" y1="1.9558" x2="-1.651" y2="3.0988" layer="51"/>
<rectangle x1="-3.429" y1="1.9558" x2="-2.921" y2="3.0988" layer="51"/>
<rectangle x1="-4.699" y1="1.9558" x2="-4.191" y2="3.0988" layer="51"/>
<rectangle x1="0.381" y1="-3.0988" x2="0.889" y2="-1.9558" layer="51"/>
<rectangle x1="1.651" y1="-3.0988" x2="2.159" y2="-1.9558" layer="51"/>
<rectangle x1="2.921" y1="-3.0988" x2="3.429" y2="-1.9558" layer="51"/>
<rectangle x1="4.191" y1="-3.0988" x2="4.699" y2="-1.9558" layer="51"/>
<rectangle x1="0.381" y1="1.9558" x2="0.889" y2="3.0988" layer="51"/>
<rectangle x1="1.651" y1="1.9558" x2="2.159" y2="3.0988" layer="51"/>
<rectangle x1="2.921" y1="1.9558" x2="3.429" y2="3.0988" layer="51"/>
<rectangle x1="4.191" y1="1.9558" x2="4.699" y2="3.0988" layer="51"/>
</package>
<package name="MTJ-663X1">
<hole x="-5.08" y="0" drill="3.175"/>
<hole x="5.08" y="0" drill="3.175"/>
<pad name="1" x="-3.175" y="8.89" drill="0.889" diameter="1.524" shape="square"/>
<pad name="2" x="-1.905" y="6.35" drill="0.889" diameter="1.6764" shape="octagon"/>
<pad name="3" x="-0.635" y="8.89" drill="0.889" diameter="1.524" shape="octagon"/>
<pad name="4" x="0.635" y="6.35" drill="0.889" diameter="1.6764" shape="octagon"/>
<pad name="5" x="1.905" y="8.89" drill="0.889" diameter="1.524" shape="octagon"/>
<pad name="6" x="3.175" y="6.35" drill="0.889" diameter="1.6764" shape="octagon"/>
<wire x1="-7.874" y1="-6.4262" x2="7.874" y2="-6.4262" width="0.127" layer="48"/>
<wire x1="7.874" y1="-6.4262" x2="7.874" y2="10.16" width="0.127" layer="48"/>
<wire x1="7.874" y1="10.16" x2="-7.874" y2="10.16" width="0.127" layer="48"/>
<wire x1="-7.874" y1="10.16" x2="-7.874" y2="-6.4262" width="0.127" layer="48"/>
</package>
<package name="SOP65P640X120-16N">
<circle x="-4.19" y="2.275" radius="0.1" width="0.2" layer="21"/>
<circle x="-4.19" y="2.275" radius="0.1" width="0.2" layer="51"/>
<wire x1="-2.2" y1="2.5" x2="2.2" y2="2.5" width="0.127" layer="51"/>
<wire x1="-2.2" y1="-2.5" x2="2.2" y2="-2.5" width="0.127" layer="51"/>
<wire x1="-1.765" y1="2.5" x2="1.765" y2="2.5" width="0.127" layer="21"/>
<wire x1="-2.2" y1="2.5" x2="-2.2" y2="-2.5" width="0.127" layer="51"/>
<wire x1="2.2" y1="2.5" x2="2.2" y2="-2.5" width="0.127" layer="51"/>
<wire x1="-3.905" y1="2.75" x2="3.905" y2="2.75" width="0.05" layer="39"/>
<wire x1="-3.905" y1="-2.75" x2="3.905" y2="-2.75" width="0.05" layer="39"/>
<wire x1="-3.905" y1="2.75" x2="-3.905" y2="-2.75" width="0.05" layer="39"/>
<wire x1="3.905" y1="2.75" x2="3.905" y2="-2.75" width="0.05" layer="39"/>
<text x="-3.5" y="-3" size="1.27" layer="27" align="top-left">>VALUE</text>
<text x="-3.5" y="3" size="1.27" layer="25">>NAME</text>
<wire x1="1.765" y1="-2.5" x2="-1.765" y2="-2.5" width="0.127" layer="21"/>
<smd name="1" x="-2.87" y="2.275" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="2" x="-2.87" y="1.625" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="3" x="-2.87" y="0.975" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="4" x="-2.87" y="0.325" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="5" x="-2.87" y="-0.325" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="6" x="-2.87" y="-0.975" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="7" x="-2.87" y="-1.625" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="8" x="-2.87" y="-2.275" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="9" x="2.87" y="-2.275" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="10" x="2.87" y="-1.625" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="11" x="2.87" y="-0.975" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="12" x="2.87" y="-0.325" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="13" x="2.87" y="0.325" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="14" x="2.87" y="0.975" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="15" x="2.87" y="1.625" dx="1.57" dy="0.41" layer="1" roundness="25"/>
<smd name="16" x="2.87" y="2.275" dx="1.57" dy="0.41" layer="1" roundness="25"/>
</package>
<package name="CUI_SJ1-3535N">
<wire x1="12.8" y1="-3.9" x2="-1.2" y2="-3.9" width="0.127" layer="51"/>
<wire x1="-1.2" y1="-3.9" x2="-1.2" y2="0.1" width="0.127" layer="51"/>
<wire x1="-1.2" y1="0.1" x2="-5.2" y2="0.1" width="0.127" layer="51"/>
<wire x1="-5.2" y1="0.1" x2="-5.2" y2="3.7" width="0.127" layer="51"/>
<wire x1="-5.2" y1="3.7" x2="-1.2" y2="3.7" width="0.127" layer="51"/>
<wire x1="-1.2" y1="3.7" x2="-1.2" y2="4.3" width="0.127" layer="51"/>
<wire x1="-1.2" y1="4.3" x2="12.8" y2="4.3" width="0.127" layer="51"/>
<wire x1="12.8" y1="4.3" x2="12.8" y2="-3.9" width="0.127" layer="51"/>
<wire x1="-1.2" y1="4.3" x2="12.8" y2="4.3" width="0.127" layer="21"/>
<wire x1="12.8" y1="4.3" x2="12.8" y2="-3.9" width="0.127" layer="21"/>
<wire x1="12.8" y1="-3.9" x2="-1.2" y2="-3.9" width="0.127" layer="21"/>
<circle x="-1.9" y="-0.55" radius="0.15" width="0.35" layer="21"/>
<wire x1="-1.45" y1="4.55" x2="13.05" y2="4.55" width="0.05" layer="39"/>
<wire x1="13.05" y1="4.55" x2="13.05" y2="-4.15" width="0.05" layer="39"/>
<wire x1="13.05" y1="-4.15" x2="-1.45" y2="-4.15" width="0.05" layer="39"/>
<wire x1="-1.45" y1="-4.15" x2="-1.45" y2="-0.15" width="0.05" layer="39"/>
<wire x1="-1.45" y1="-0.15" x2="-5.45" y2="-0.15" width="0.05" layer="39"/>
<wire x1="-5.45" y1="-0.15" x2="-5.45" y2="3.95" width="0.05" layer="39"/>
<wire x1="-5.45" y1="3.95" x2="-1.45" y2="3.95" width="0.05" layer="39"/>
<wire x1="-1.45" y1="3.95" x2="-1.45" y2="4.55" width="0.05" layer="39"/>
<text x="-1.14451875" y="4.83243125" size="1.271690625" layer="25">>NAME</text>
<text x="-1.2562" y="-5.50161875" size="1.27223125" layer="27">>VALUE</text>
<pad name="1" x="0" y="0" drill="1.7" shape="octagon" rot="R270"/>
<pad name="2" x="2.7175" y="2" drill="1.7" shape="octagon" rot="R270"/>
<pad name="5" x="5.7825" y="0" drill="1.7" shape="octagon" rot="R270"/>
<pad name="3" x="8.2175" y="2" drill="1.7" shape="octagon" rot="R270"/>
<pad name="4" x="11.6" y="0" drill="1.7" shape="octagon" rot="R270"/>
</package>
<package name="MINI-FLAT-4">
<description>TOSHIBA PHOTOCOUPLER GaAs IRED & PHOTO-TRANSISTOR 11-3A1

Source: http://www.semicon.toshiba.co.jp/td/en/Opto/Photocoupler/en_20050928_TLP283_datasheet.pdf</description>
<wire x1="-2.0849" y1="-1.1684" x2="2.0849" y2="-1.1684" width="0.2032" layer="21"/>
<wire x1="2.0849" y1="-1.1684" x2="2.0849" y2="1.1684" width="0.2032" layer="21"/>
<wire x1="2.0849" y1="1.1684" x2="-2.0849" y2="1.1684" width="0.2032" layer="21"/>
<wire x1="-2.0849" y1="1.1684" x2="-2.0849" y2="-1.1684" width="0.2032" layer="21"/>
<circle x="-1.285" y="0.354" radius="0.3349" width="0.1016" layer="21"/>
<smd name="1" x="-3.24" y="0.635" dx="1" dy="0.5" layer="1"/>
<smd name="2" x="-3.24" y="-0.635" dx="1" dy="0.5" layer="1"/>
<smd name="3" x="3.24" y="-0.635" dx="1" dy="0.5" layer="1" rot="R180"/>
<smd name="4" x="3.24" y="0.635" dx="1" dy="0.5" layer="1" rot="R180"/>
<text x="-1.905" y="1.905" size="1.27" layer="25">>NAME</text>
<text x="-1.905" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-3.471" y1="0.4445" x2="-2.15" y2="0.8255" layer="51"/>
<rectangle x1="-3.471" y1="-0.8255" x2="-2.15" y2="-0.4445" layer="51"/>
<rectangle x1="2.15" y1="-0.8255" x2="3.471" y2="-0.4445" layer="51" rot="R180"/>
<rectangle x1="2.15" y1="0.4445" x2="3.471" y2="0.8255" layer="51" rot="R180"/>
</package>
<package name="LED-TRICOLOR-SMD">
<wire x1="-1.3" y1="1.3" x2="-1.6" y2="1.3" width="0.2032" layer="21"/>
<wire x1="-1.6" y1="1.3" x2="-1.6" y2="-1.3" width="0.2032" layer="21"/>
<wire x1="-1.6" y1="-1.3" x2="-1.3" y2="-1.3" width="0.2032" layer="21"/>
<wire x1="1.3" y1="1.3" x2="1.6" y2="1.3" width="0.2032" layer="21"/>
<wire x1="1.6" y1="1.3" x2="1.6" y2="-1.3" width="0.2032" layer="21"/>
<wire x1="1.6" y1="-1.3" x2="1.3" y2="-1.3" width="0.2032" layer="21"/>
<wire x1="0" y1="-1.6" x2="0" y2="-1.8" width="0.2032" layer="21"/>
<smd name="G" x="-0.7" y="1.5" dx="0.7" dy="1.2" layer="1"/>
<smd name="B" x="0.7" y="1.5" dx="0.7" dy="1.2" layer="1"/>
<smd name="R" x="-0.7" y="-1.5" dx="0.7" dy="1.2" layer="1"/>
<smd name="A" x="0.7" y="-1.5" dx="0.7" dy="1.2" layer="1"/>
<text x="-1.016" y="0.127" size="0.4064" layer="25">>NAME</text>
<text x="-1.016" y="-0.635" size="0.4064" layer="27">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="OK">
<wire x1="-2.413" y1="-1.143" x2="-1.016" y2="0.254" width="0.1524" layer="94"/>
<wire x1="-1.016" y1="0.254" x2="-1.905" y2="-0.127" width="0.1524" layer="94"/>
<wire x1="-1.905" y1="-0.127" x2="-1.397" y2="-0.635" width="0.1524" layer="94"/>
<wire x1="-1.397" y1="-0.635" x2="-1.016" y2="0.254" width="0.1524" layer="94"/>
<wire x1="-1.143" y1="1.397" x2="-2.032" y2="1.016" width="0.1524" layer="94"/>
<wire x1="-2.032" y1="1.016" x2="-1.524" y2="0.508" width="0.1524" layer="94"/>
<wire x1="-1.524" y1="0.508" x2="-1.143" y2="1.397" width="0.1524" layer="94"/>
<wire x1="-2.54" y1="0" x2="-1.143" y2="1.397" width="0.1524" layer="94"/>
<wire x1="-3.175" y1="1.27" x2="-4.445" y2="-1.27" width="0.254" layer="94"/>
<wire x1="-4.445" y1="-1.27" x2="-5.715" y2="1.27" width="0.254" layer="94"/>
<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.254" layer="94"/>
<wire x1="-4.445" y1="-1.27" x2="-5.715" y2="-1.27" width="0.254" layer="94"/>
<wire x1="-3.175" y1="1.27" x2="-4.445" y2="1.27" width="0.254" layer="94"/>
<wire x1="-4.445" y1="1.27" x2="-4.445" y2="-1.27" width="0.254" layer="94"/>
<wire x1="-4.445" y1="1.27" x2="-5.715" y2="1.27" width="0.254" layer="94"/>
<wire x1="-6.985" y1="5.08" x2="4.445" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-6.985" y1="-5.08" x2="4.445" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="-4.445" y1="2.54" x2="-4.445" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-6.985" y1="5.08" x2="-6.985" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="-4.445" y1="-1.27" x2="-4.445" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="4.445" y1="5.08" x2="4.445" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="-4.445" y1="2.54" x2="-7.62" y2="2.54" width="0.1524" layer="94"/>
<wire x1="-4.445" y1="-2.54" x2="-7.62" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.54" y1="2.54" x2="0" y2="0" width="0.1524" layer="94"/>
<wire x1="0" y1="0" x2="2.286" y2="-2.286" width="0.1524" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="5.08" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.54" y1="2.54" x2="5.08" y2="2.54" width="0.1524" layer="94"/>
<wire x1="1.778" y1="-1.016" x2="2.286" y2="-2.286" width="0.1524" layer="94"/>
<wire x1="2.286" y1="-2.286" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.286" y1="-2.286" x2="1.016" y2="-1.778" width="0.1524" layer="94"/>
<wire x1="1.016" y1="-1.778" x2="1.778" y2="-1.016" width="0.1524" layer="94"/>
<text x="-6.985" y="5.715" size="1.778" layer="95">>NAME</text>
<text x="-6.985" y="-7.62" size="1.778" layer="96">>VALUE</text>
<rectangle x1="-0.381" y1="-2.54" x2="0.381" y2="2.54" layer="94"/>
<pin name="A" x="-10.16" y="2.54" visible="pad" length="short" direction="pas"/>
<pin name="C" x="-10.16" y="-2.54" visible="pad" length="short" direction="pas"/>
<pin name="EMIT" x="7.62" y="-2.54" visible="pad" length="short" direction="pas" rot="R180"/>
<pin name="COL" x="7.62" y="2.54" visible="pad" length="short" direction="pas" rot="R180"/>
</symbol>
<symbol name="ST-4">
<pin name="NC" x="-5.08" y="25.4" length="middle" direction="nc"/>
<pin name="GND" x="-5.08" y="20.32" length="middle" direction="in"/>
<pin name="+RA" x="-5.08" y="15.24" length="middle" direction="in"/>
<pin name="+DEC" x="-5.08" y="10.16" length="middle" direction="in"/>
<pin name="-DEC" x="-5.08" y="5.08" length="middle" direction="in"/>
<pin name="-RA" x="-5.08" y="0" length="middle" direction="in"/>
<wire x1="0" y1="-2.54" x2="0" y2="27.94" width="0.254" layer="94"/>
<wire x1="0" y1="27.94" x2="17.78" y2="27.94" width="0.254" layer="94"/>
<wire x1="17.78" y1="27.94" x2="17.78" y2="-2.54" width="0.254" layer="94"/>
<wire x1="17.78" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
<text x="0" y="-5.08" size="1.27" layer="95">>NAME</text>
<text x="0" y="-7.62" size="1.27" layer="96">>VALUE</text>
</symbol>
<symbol name="PCA9554PW">
<wire x1="-12.7" y1="20.32" x2="12.7" y2="20.32" width="0.41" layer="94"/>
<wire x1="12.7" y1="20.32" x2="12.7" y2="-20.32" width="0.41" layer="94"/>
<wire x1="12.7" y1="-20.32" x2="-12.7" y2="-20.32" width="0.41" layer="94"/>
<wire x1="-12.7" y1="-20.32" x2="-12.7" y2="20.32" width="0.41" layer="94"/>
<text x="-12.7" y="21.32" size="2.0828" layer="95" ratio="10" rot="SR0">>NAME</text>
<text x="-12.7" y="-24.32" size="2.0828" layer="96" ratio="10" rot="SR0">>VALUE</text>
<pin name="A0" x="17.78" y="7.62" length="middle" direction="in" rot="R180"/>
<pin name="A1" x="17.78" y="5.08" length="middle" direction="in" rot="R180"/>
<pin name="A2" x="17.78" y="2.54" length="middle" direction="in" rot="R180"/>
<pin name="SCL" x="-17.78" y="-15.24" length="middle" direction="in"/>
<pin name="P0" x="-17.78" y="17.78" length="middle"/>
<pin name="P1" x="-17.78" y="15.24" length="middle"/>
<pin name="P2" x="-17.78" y="12.7" length="middle"/>
<pin name="P3" x="-17.78" y="10.16" length="middle"/>
<pin name="SDA" x="-17.78" y="-10.16" length="middle"/>
<pin name="VCC" x="17.78" y="17.78" length="middle" direction="pwr" rot="R180"/>
<pin name="!INT" x="17.78" y="12.7" length="middle" direction="out" rot="R180"/>
<pin name="P4" x="-17.78" y="7.62" length="middle"/>
<pin name="P5" x="-17.78" y="5.08" length="middle"/>
<pin name="P6" x="-17.78" y="2.54" length="middle"/>
<pin name="P7" x="-17.78" y="0" length="middle"/>
<pin name="GND" x="17.78" y="-15.24" length="middle" direction="pwr" rot="R180"/>
</symbol>
<symbol name="SJ1-3535N">
<wire x1="-7.62" y1="7.62" x2="7.62" y2="7.62" width="0.254" layer="94"/>
<wire x1="7.62" y1="7.62" x2="7.62" y2="5.08" width="0.254" layer="94"/>
<wire x1="7.62" y1="5.08" x2="7.62" y2="2.54" width="0.254" layer="94"/>
<wire x1="7.62" y1="2.54" x2="7.62" y2="0" width="0.254" layer="94"/>
<wire x1="7.62" y1="0" x2="7.62" y2="-2.54" width="0.254" layer="94"/>
<wire x1="7.62" y1="-2.54" x2="7.62" y2="-5.08" width="0.254" layer="94"/>
<wire x1="7.62" y1="-5.08" x2="7.62" y2="-7.62" width="0.254" layer="94"/>
<wire x1="7.62" y1="-7.62" x2="-7.62" y2="-7.62" width="0.254" layer="94"/>
<wire x1="-7.62" y1="-7.62" x2="-7.62" y2="7.62" width="0.254" layer="94"/>
<wire x1="7.62" y1="5.08" x2="-5.08" y2="5.08" width="0.1524" layer="94"/>
<wire x1="-5.08" y1="5.08" x2="-5.08" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-5.08" y1="1.27" x2="-4.064" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-4.064" y1="1.27" x2="-4.064" y2="-4.191" width="0.1524" layer="94"/>
<wire x1="-4.064" y1="-4.191" x2="-6.096" y2="-4.191" width="0.1524" layer="94"/>
<wire x1="-6.096" y1="-4.191" x2="-6.096" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-6.096" y1="1.27" x2="-5.08" y2="1.27" width="0.1524" layer="94"/>
<wire x1="7.62" y1="2.54" x2="3.81" y2="2.54" width="0.1524" layer="94"/>
<wire x1="3.81" y1="2.54" x2="-0.762" y2="2.54" width="0.1524" layer="94"/>
<wire x1="-0.762" y1="2.54" x2="-2.032" y2="1.27" width="0.1524" layer="94"/>
<wire x1="-2.032" y1="1.27" x2="-3.302" y2="2.54" width="0.1524" layer="94"/>
<wire x1="7.62" y1="-5.08" x2="3.81" y2="-5.08" width="0.1524" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="1.27" y2="-5.08" width="0.1524" layer="94"/>
<wire x1="1.27" y1="-5.08" x2="0" y2="-3.81" width="0.1524" layer="94"/>
<wire x1="0" y1="-3.81" x2="-1.27" y2="-5.08" width="0.1524" layer="94"/>
<wire x1="7.62" y1="0" x2="3.81" y2="0" width="0.1524" layer="94"/>
<wire x1="3.81" y1="0" x2="3.81" y2="2.54" width="0.1524" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="3.81" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="7.62" y1="-2.54" x2="3.81" y2="-2.54" width="0.1524" layer="94"/>
<polygon width="0.1524" layer="94">
<vertex x="3.81" y="-5.08"/>
<vertex x="3.4925" y="-3.81"/>
<vertex x="4.1275" y="-3.81"/>
</polygon>
<polygon width="0.1524" layer="94">
<vertex x="3.81" y="2.54"/>
<vertex x="4.1275" y="1.27"/>
<vertex x="3.4925" y="1.27"/>
</polygon>
<text x="-7.6296" y="8.138240625" size="2.5432" layer="95">>NAME</text>
<text x="-7.626209375" y="-10.4225" size="2.54206875" layer="96">>VALUE</text>
<pin name="1" x="12.7" y="5.08" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="2" x="12.7" y="-5.08" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="3" x="12.7" y="2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="4" x="12.7" y="-2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="5" x="12.7" y="0" visible="pad" length="middle" direction="pas" rot="R180"/>
</symbol>
<symbol name="LED-TRICOLORSMD">
<wire x1="10.16" y1="2.54" x2="10.16" y2="-7.62" width="0.254" layer="94"/>
<wire x1="10.16" y1="-7.62" x2="-7.62" y2="-7.62" width="0.254" layer="94"/>
<wire x1="-7.62" y1="-7.62" x2="-7.62" y2="2.54" width="0.254" layer="94"/>
<wire x1="-7.62" y1="2.54" x2="10.16" y2="2.54" width="0.254" layer="94"/>
<wire x1="2.54" y1="-3.81" x2="2.54" y2="-2.54" width="0.254" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="2.54" y2="-1.27" width="0.254" layer="94"/>
<wire x1="2.54" y1="-1.27" x2="1.27" y2="-2.54" width="0.254" layer="94"/>
<wire x1="1.27" y1="-2.54" x2="2.54" y2="-3.81" width="0.254" layer="94"/>
<wire x1="1.27" y1="-3.81" x2="1.27" y2="-2.54" width="0.254" layer="94"/>
<wire x1="1.27" y1="-2.54" x2="1.27" y2="-1.27" width="0.254" layer="94"/>
<wire x1="1.27" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="3.81" y2="-2.54" width="0.254" layer="94"/>
<text x="-7.62" y="3.302" size="1.778" layer="95">>NAME</text>
<text x="-7.62" y="-10.16" size="1.778" layer="95">>VALUE</text>
<pin name="GRN" x="-10.16" y="-5.08" visible="pin" length="short"/>
<pin name="BLU" x="-10.16" y="-2.54" visible="pin" length="short"/>
<pin name="A" x="12.7" y="-2.54" visible="pin" length="short" rot="R180"/>
<pin name="RED" x="-10.16" y="0" visible="pin" length="short"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="TLP283-4" prefix="OK">
<description>TOSHIBA PHOTOCOUPLER GaAs IRED & PHOTO-TRANSISTOR

Source: http://www.semicon.toshiba.co.jp/td/en/Opto/Photocoupler/en_20050928_TLP283_datasheet.pdf</description>
<gates>
<gate name="A" symbol="OK" x="0" y="27.94"/>
<gate name="B" symbol="OK" x="0" y="10.16"/>
<gate name="C" symbol="OK" x="0" y="-7.62"/>
<gate name="D" symbol="OK" x="0" y="-25.4"/>
</gates>
<devices>
<device name="-MINIFLAT16" package="MINI-FLAT-16">
<connects>
<connect gate="A" pin="A" pad="1"/>
<connect gate="A" pin="C" pad="2"/>
<connect gate="A" pin="COL" pad="16"/>
<connect gate="A" pin="EMIT" pad="15"/>
<connect gate="B" pin="A" pad="3"/>
<connect gate="B" pin="C" pad="4"/>
<connect gate="B" pin="COL" pad="14"/>
<connect gate="B" pin="EMIT" pad="13"/>
<connect gate="C" pin="A" pad="5"/>
<connect gate="C" pin="C" pad="6"/>
<connect gate="C" pin="COL" pad="12"/>
<connect gate="C" pin="EMIT" pad="11"/>
<connect gate="D" pin="A" pad="7"/>
<connect gate="D" pin="C" pad="8"/>
<connect gate="D" pin="COL" pad="10"/>
<connect gate="D" pin="EMIT" pad="9"/>
</connects>
<technologies>
<technology name="">
<attribute name="MF" value="" constant="no"/>
<attribute name="MPN" value="" constant="no"/>
<attribute name="OC_FARNELL" value="unknown" constant="no"/>
<attribute name="OC_NEWARK" value="unknown" constant="no"/>
</technology>
</technologies>
</device>
<device name="-SO016" package="SO016">
<connects>
<connect gate="A" pin="A" pad="1"/>
<connect gate="A" pin="C" pad="2"/>
<connect gate="A" pin="COL" pad="10"/>
<connect gate="A" pin="EMIT" pad="9"/>
<connect gate="B" pin="A" pad="3"/>
<connect gate="B" pin="C" pad="4"/>
<connect gate="B" pin="COL" pad="12"/>
<connect gate="B" pin="EMIT" pad="11"/>
<connect gate="C" pin="A" pad="5"/>
<connect gate="C" pin="C" pad="6"/>
<connect gate="C" pin="COL" pad="14"/>
<connect gate="C" pin="EMIT" pad="13"/>
<connect gate="D" pin="A" pad="7"/>
<connect gate="D" pin="C" pad="8"/>
<connect gate="D" pin="COL" pad="16"/>
<connect gate="D" pin="EMIT" pad="15"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-SO16" package="SO16">
<connects>
<connect gate="A" pin="A" pad="1"/>
<connect gate="A" pin="C" pad="2"/>
<connect gate="A" pin="COL" pad="10"/>
<connect gate="A" pin="EMIT" pad="9"/>
<connect gate="B" pin="A" pad="3"/>
<connect gate="B" pin="C" pad="4"/>
<connect gate="B" pin="COL" pad="12"/>
<connect gate="B" pin="EMIT" pad="11"/>
<connect gate="C" pin="A" pad="5"/>
<connect gate="C" pin="C" pad="6"/>
<connect gate="C" pin="COL" pad="14"/>
<connect gate="C" pin="EMIT" pad="13"/>
<connect gate="D" pin="A" pad="7"/>
<connect gate="D" pin="C" pad="8"/>
<connect gate="D" pin="COL" pad="16"/>
<connect gate="D" pin="EMIT" pad="15"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="ST-4" prefix="X">
<gates>
<gate name="G$1" symbol="ST-4" x="0" y="0"/>
</gates>
<devices>
<device name="-MTJ-663X1" package="MTJ-663X1">
<connects>
<connect gate="G$1" pin="+DEC" pad="4"/>
<connect gate="G$1" pin="+RA" pad="3"/>
<connect gate="G$1" pin="-DEC" pad="5"/>
<connect gate="G$1" pin="-RA" pad="6"/>
<connect gate="G$1" pin="GND" pad="2"/>
<connect gate="G$1" pin="NC" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="PCA9554PW" prefix="U">
<gates>
<gate name="A" symbol="PCA9554PW" x="0" y="0"/>
</gates>
<devices>
<device name="" package="SOP65P640X120-16N">
<connects>
<connect gate="A" pin="!INT" pad="13"/>
<connect gate="A" pin="A0" pad="1"/>
<connect gate="A" pin="A1" pad="2"/>
<connect gate="A" pin="A2" pad="3"/>
<connect gate="A" pin="GND" pad="8"/>
<connect gate="A" pin="P0" pad="4"/>
<connect gate="A" pin="P1" pad="5"/>
<connect gate="A" pin="P2" pad="6"/>
<connect gate="A" pin="P3" pad="7"/>
<connect gate="A" pin="P4" pad="9"/>
<connect gate="A" pin="P5" pad="10"/>
<connect gate="A" pin="P6" pad="11"/>
<connect gate="A" pin="P7" pad="12"/>
<connect gate="A" pin="SCL" pad="14"/>
<connect gate="A" pin="SDA" pad="15"/>
<connect gate="A" pin="VCC" pad="16"/>
</connects>
<technologies>
<technology name="">
<attribute name="AVAILABILITY" value="Unavailable"/>
<attribute name="DESCRIPTION" value=" Remote 8-Bit I2C and SMBus I/O Expander with Interrupt Output and Configuration Registers 16-TSSOP -40 to 85 "/>
<attribute name="MF" value="Texas Instruments"/>
<attribute name="MP" value="PCA9554PW"/>
<attribute name="PACKAGE" value="TSSOP-16 Texas Instruments"/>
<attribute name="PRICE" value="None"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="SJ1-3535N" prefix="J">
<description>SJ1 Series 3.5 mm 12 V Right Angle Through Hole Isolated Stereo Audio Jack Check prices</description>
<gates>
<gate name="G$1" symbol="SJ1-3535N" x="0" y="0"/>
</gates>
<devices>
<device name="" package="CUI_SJ1-3535N">
<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"/>
</connects>
<technologies>
<technology name="">
<attribute name="AVAILABILITY" value="Good"/>
<attribute name="CUI_PURCHASE_URL" value="https://www.cuidevices.com/product/interconnect/connectors/audio-connectors/jacks/sj1-353xn-series?utm_source=snapeda.com&utm_medium=referral&utm_campaign=snapedaBOM"/>
<attribute name="DESCRIPTION" value=" 3.5 mm, Stereo, Right Angle, Through Hole, Audio Jack Connector "/>
<attribute name="MF" value="CUI Devices"/>
<attribute name="MP" value="SJ1-3535N"/>
<attribute name="PACKAGE" value="None"/>
<attribute name="PRICE" value="None"/>
<attribute name="PURCHASE-URL" value="https://pricing.snapeda.com/search/part/SJ1-3535N/?ref=eda"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="TLP283" prefix="OK">
<description>TOSHIBA PHOTOCOUPLER GaAs IRED & PHOTO-TRANSISTOR

Source: http://www.semicon.toshiba.co.jp/td/en/Opto/Photocoupler/en_20050928_TLP283_datasheet.pdf</description>
<gates>
<gate name="G$1" symbol="OK" x="0" y="0"/>
</gates>
<devices>
<device name="" package="MINI-FLAT-4">
<connects>
<connect gate="G$1" pin="A" pad="1"/>
<connect gate="G$1" pin="C" pad="2"/>
<connect gate="G$1" pin="COL" pad="4"/>
<connect gate="G$1" pin="EMIT" pad="3"/>
</connects>
<technologies>
<technology name="">
<attribute name="MF" value="" constant="no"/>
<attribute name="MPN" value="" constant="no"/>
<attribute name="OC_FARNELL" value="unknown" constant="no"/>
<attribute name="OC_NEWARK" value="unknown" constant="no"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="LED-TRICOLOR">
<description>Tri-Color LED SMD
Proven layout and schematic for triple color LED in SMD package - common anode. Spark Fun Electronics SKU : COM-07844</description>
<gates>
<gate name="G$1" symbol="LED-TRICOLORSMD" x="0" y="2.54"/>
</gates>
<devices>
<device name="" package="LED-TRICOLOR-SMD">
<connects>
<connect gate="G$1" pin="A" pad="A"/>
<connect gate="G$1" pin="BLU" pad="B"/>
<connect gate="G$1" pin="GRN" pad="G"/>
<connect gate="G$1" pin="RED" pad="R"/>
</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>
<class number="1" name="vcc" width="1.016" drill="0">
<clearance class="1" value="0.2032"/>
</class>
<class number="2" name="antenna" width="0.36321875" drill="0">
<clearance class="2" value="0.3048"/>
</class>
<class number="3" name="1.8v" width="0.4572" drill="0">
<clearance class="3" value="0.254"/>
</class>
</classes>
<parts>
<part name="FRAME1" library="frames" deviceset="DINA3_L" device=""/>
<part name="X1" library="openmv" deviceset="OPENMV3" device=""/>
<part name="P+1" library="iofault" deviceset="VIN" device=""/>
<part name="GND1" library="supply1" deviceset="GND" device=""/>
<part name="3V2" library="supply" deviceset="3V3" device=""/>
<part name="U2" library="guider-shield" deviceset="TLP283-4" device="-SO016" value="TLP291"/>
<part name="R1" library="sfe" deviceset="RESISTOR" device="0603-RES" value="4K7"/>
<part name="R2" library="sfe" deviceset="RESISTOR" device="0603-RES" value="4K7"/>
<part name="R3" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="R4" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="R5" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="R6" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="3V3" library="supply" deviceset="3V3" device=""/>
<part name="3V4" library="supply" deviceset="3V3" device=""/>
<part name="3V5" library="supply" deviceset="3V3" device=""/>
<part name="3V6" library="supply" deviceset="3V3" device=""/>
<part name="3V7" library="supply" deviceset="3V3" device=""/>
<part name="GND4" library="supply1" deviceset="GND" device=""/>
<part name="3V8" library="supply" deviceset="3V3" device=""/>
<part name="C4" library="sfe" deviceset="CAP" device="0603-CAP" value="0.1uF"/>
<part name="GND5" library="supply1" deviceset="GND" device=""/>
<part name="X2" library="guider-shield" deviceset="ST-4" device="-MTJ-663X1" value="MTJ-663X1"/>
<part name="U1" library="guider-shield" deviceset="PCA9554PW" device=""/>
<part name="GND2" library="supply1" deviceset="GND" device=""/>
<part name="X3" library="guider-shield" deviceset="SJ1-3535N" device=""/>
<part name="U3" library="guider-shield" deviceset="TLP283" device=""/>
<part name="R7" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="3V1" library="supply" deviceset="3V3" device=""/>
<part name="LED1" library="guider-shield" deviceset="LED-TRICOLOR" device="">
<attribute name="MFG-MODEL" value="	CLV1A-FKB-CK1VW1DE1BB7C3C3"/>
</part>
<part name="3V9" library="supply" deviceset="3V3" device=""/>
<part name="R8" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="R9" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
<part name="R10" library="sfe" deviceset="RESISTOR" device="0603-RES" value="220R"/>
</parts>
<sheets>
<sheet>
<plain>
<wire x1="314.96" y1="231.14" x2="314.96" y2="0" width="0.1524" layer="94"/>
<wire x1="314.96" y1="0" x2="0" y2="0" width="0.1524" layer="94"/>
<text x="307.34" y="7.62" size="2.54" layer="94" ratio="12">2</text>
<wire x1="314.96" y1="231.14" x2="0" y2="231.14" width="0.1524" layer="94"/>
<wire x1="0" y1="231.14" x2="0" y2="0" width="0.1524" layer="94"/>
</plain>
<instances>
<instance part="FRAME1" gate="G$2" x="213.36" y="0"/>
<instance part="X1" gate="G$1" x="251.46" y="109.22"/>
<instance part="P+1" gate="G$1" x="218.44" y="127"/>
<instance part="GND1" gate="1" x="226.06" y="78.74"/>
<instance part="3V2" gate="G$1" x="226.06" y="137.16"/>
<instance part="U2" gate="A" x="220.98" y="215.9"/>
<instance part="U2" gate="B" x="220.98" y="200.66"/>
<instance part="U2" gate="C" x="220.98" y="185.42"/>
<instance part="U2" gate="D" x="220.98" y="170.18"/>
<instance part="R1" gate="G$1" x="38.1" y="198.12" smashed="yes" rot="R90">
<attribute name="NAME" x="38.1" y="193.04" size="1.778" layer="95" rot="R90"/>
<attribute name="VALUE" x="40.64" y="200.66" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="R2" gate="G$1" x="33.02" y="198.12" smashed="yes" rot="R90">
<attribute name="NAME" x="33.02" y="193.04" size="1.778" layer="95" rot="R90"/>
<attribute name="VALUE" x="35.56" y="200.66" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="R3" gate="G$1" x="203.2" y="213.36" smashed="yes" rot="R180">
<attribute name="NAME" x="200.66" y="210.82" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="200.66" y="215.9" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R4" gate="G$1" x="203.2" y="198.12" smashed="yes" rot="R180">
<attribute name="NAME" x="200.66" y="195.58" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="200.66" y="200.66" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R5" gate="G$1" x="203.2" y="182.88" smashed="yes" rot="R180">
<attribute name="NAME" x="200.66" y="180.34" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="200.66" y="185.42" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R6" gate="G$1" x="203.2" y="167.64" smashed="yes" rot="R180">
<attribute name="NAME" x="200.66" y="165.1" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="200.66" y="170.18" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="3V3" gate="G$1" x="208.28" y="223.52"/>
<instance part="3V4" gate="G$1" x="208.28" y="208.28"/>
<instance part="3V5" gate="G$1" x="208.28" y="193.04"/>
<instance part="3V6" gate="G$1" x="208.28" y="177.8"/>
<instance part="3V7" gate="G$1" x="99.06" y="220.98"/>
<instance part="GND4" gate="1" x="96.52" y="172.72"/>
<instance part="3V8" gate="G$1" x="33.02" y="213.36"/>
<instance part="C4" gate="G$1" x="109.22" y="210.82" smashed="yes" rot="R90">
<attribute name="NAME" x="109.22" y="213.36" size="1.778" layer="95"/>
<attribute name="VALUE" x="109.22" y="215.9" size="1.778" layer="96"/>
</instance>
<instance part="GND5" gate="1" x="114.3" y="205.74"/>
<instance part="X2" gate="G$1" x="279.4" y="177.8"/>
<instance part="U1" gate="A" x="76.2" y="193.04"/>
<instance part="GND2" gate="1" x="96.52" y="190.5"/>
<instance part="X3" gate="G$1" x="96.52" y="144.78" rot="R180"/>
<instance part="U3" gate="G$1" x="55.88" y="142.24"/>
<instance part="R7" gate="G$1" x="38.1" y="139.7" smashed="yes" rot="R180">
<attribute name="NAME" x="35.56" y="137.16" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="35.56" y="142.24" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="3V1" gate="G$1" x="43.18" y="149.86"/>
<instance part="LED1" gate="G$1" x="73.66" y="111.76">
<attribute name="MFG-MODEL" x="73.66" y="111.76" size="1.27" layer="96" display="off"/>
</instance>
<instance part="3V9" gate="G$1" x="93.98" y="116.84"/>
<instance part="R8" gate="G$1" x="53.34" y="111.76" smashed="yes" rot="R180">
<attribute name="NAME" x="47.498" y="112.268" size="1.778" layer="95"/>
<attribute name="VALUE" x="50.8" y="114.554" size="1.778" layer="96"/>
</instance>
<instance part="R9" gate="G$1" x="53.34" y="109.22" smashed="yes" rot="R180">
<attribute name="NAME" x="56.134" y="109.474" size="1.778" layer="95"/>
</instance>
<instance part="R10" gate="G$1" x="53.34" y="106.68" smashed="yes" rot="R180">
<attribute name="NAME" x="50.8" y="106.172" size="1.778" layer="95" rot="R180"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="GND"/>
<wire x1="233.68" y1="93.98" x2="226.06" y2="93.98" width="0.1524" layer="91"/>
<wire x1="226.06" y1="93.98" x2="226.06" y2="81.28" width="0.1524" layer="91"/>
<pinref part="GND1" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND4" gate="1" pin="GND"/>
<wire x1="96.52" y1="177.8" x2="96.52" y2="175.26" width="0.1524" layer="91"/>
<pinref part="U1" gate="A" pin="GND"/>
<wire x1="96.52" y1="177.8" x2="93.98" y2="177.8" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="GND5" gate="1" pin="GND"/>
<wire x1="114.3" y1="208.28" x2="114.3" y2="210.82" width="0.1524" layer="91"/>
<pinref part="C4" gate="G$1" pin="2"/>
<wire x1="114.3" y1="210.82" x2="111.76" y2="210.82" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U1" gate="A" pin="A0"/>
<pinref part="GND2" gate="1" pin="GND"/>
<wire x1="93.98" y1="200.66" x2="96.52" y2="200.66" width="0.1524" layer="91"/>
<wire x1="96.52" y1="200.66" x2="96.52" y2="198.12" width="0.1524" layer="91"/>
<pinref part="U1" gate="A" pin="A1"/>
<wire x1="96.52" y1="198.12" x2="96.52" y2="195.58" width="0.1524" layer="91"/>
<wire x1="96.52" y1="195.58" x2="96.52" y2="193.04" width="0.1524" layer="91"/>
<wire x1="93.98" y1="198.12" x2="96.52" y2="198.12" width="0.1524" layer="91"/>
<pinref part="U1" gate="A" pin="A2"/>
<wire x1="93.98" y1="195.58" x2="96.52" y2="195.58" width="0.1524" layer="91"/>
<junction x="96.52" y="195.58"/>
<junction x="96.52" y="198.12"/>
</segment>
</net>
<net name="VIN" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="VIN"/>
<wire x1="233.68" y1="116.84" x2="218.44" y2="116.84" width="0.1524" layer="91"/>
<wire x1="218.44" y1="116.84" x2="218.44" y2="127" width="0.1524" layer="91"/>
<pinref part="P+1" gate="G$1" pin="VIN"/>
</segment>
</net>
<net name="RESET" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="PWM1"/>
<wire x1="269.24" y1="106.68" x2="284.48" y2="106.68" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SSEL" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="SSEL"/>
<wire x1="269.24" y1="119.38" x2="284.48" y2="119.38" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SCLK" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="SCLK"/>
<wire x1="269.24" y1="116.84" x2="284.48" y2="116.84" width="0.1524" layer="91"/>

</segment>
</net>
<net name="MISO" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="MISO"/>
<wire x1="269.24" y1="114.3" x2="284.48" y2="114.3" width="0.1524" layer="91"/>

</segment>
</net>
<net name="MOSI" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="MOSI"/>
<wire x1="269.24" y1="111.76" x2="284.48" y2="111.76" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SCL" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="TXD/SCL"/>
<wire x1="269.24" y1="99.06" x2="284.48" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="58.42" y1="177.8" x2="38.1" y2="177.8" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="38.1" y1="177.8" x2="25.4" y2="177.8" width="0.1524" layer="91"/>
<wire x1="38.1" y1="193.04" x2="38.1" y2="177.8" width="0.1524" layer="91"/>

<junction x="38.1" y="177.8"/>
<pinref part="U1" gate="A" pin="SCL"/>
</segment>
</net>
<net name="SDA" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="RXD/SDA"/>
<wire x1="269.24" y1="96.52" x2="284.48" y2="96.52" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="58.42" y1="182.88" x2="33.02" y2="182.88" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="33.02" y1="182.88" x2="25.4" y2="182.88" width="0.1524" layer="91"/>
<wire x1="33.02" y1="193.04" x2="33.02" y2="182.88" width="0.1524" layer="91"/>

<junction x="33.02" y="182.88"/>
<pinref part="U1" gate="A" pin="SDA"/>
</segment>
</net>
<net name="IRQ" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="PWM2"/>
<wire x1="269.24" y1="104.14" x2="284.48" y2="104.14" width="0.1524" layer="91"/>

</segment>
</net>
<net name="3V3" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="3.3V"/>
<wire x1="226.06" y1="119.38" x2="233.68" y2="119.38" width="0.1524" layer="91"/>
<pinref part="3V2" gate="G$1" pin="3V3"/>
<wire x1="226.06" y1="134.62" x2="226.06" y2="119.38" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="A" pin="A"/>
<pinref part="3V3" gate="G$1" pin="3V3"/>
<wire x1="210.82" y1="218.44" x2="208.28" y2="218.44" width="0.1524" layer="91"/>
<wire x1="208.28" y1="218.44" x2="208.28" y2="220.98" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="B" pin="A"/>
<pinref part="3V4" gate="G$1" pin="3V3"/>
<wire x1="210.82" y1="203.2" x2="208.28" y2="203.2" width="0.1524" layer="91"/>
<wire x1="208.28" y1="203.2" x2="208.28" y2="205.74" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="C" pin="A"/>
<pinref part="3V5" gate="G$1" pin="3V3"/>
<wire x1="210.82" y1="187.96" x2="208.28" y2="187.96" width="0.1524" layer="91"/>
<wire x1="208.28" y1="187.96" x2="208.28" y2="190.5" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="D" pin="A"/>
<pinref part="3V6" gate="G$1" pin="3V3"/>
<wire x1="210.82" y1="172.72" x2="208.28" y2="172.72" width="0.1524" layer="91"/>
<wire x1="208.28" y1="172.72" x2="208.28" y2="175.26" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="3V7" gate="G$1" pin="3V3"/>
<pinref part="C4" gate="G$1" pin="1"/>
<wire x1="99.06" y1="210.82" x2="99.06" y2="218.44" width="0.1524" layer="91"/>
<wire x1="104.14" y1="210.82" x2="99.06" y2="210.82" width="0.1524" layer="91"/>
<pinref part="U1" gate="A" pin="VCC"/>
<wire x1="99.06" y1="210.82" x2="93.98" y2="210.82" width="0.1524" layer="91"/>
<junction x="99.06" y="210.82"/>
</segment>
<segment>
<pinref part="R2" gate="G$1" pin="2"/>
<pinref part="3V8" gate="G$1" pin="3V3"/>
<wire x1="33.02" y1="203.2" x2="33.02" y2="208.28" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="2"/>
<wire x1="33.02" y1="208.28" x2="33.02" y2="210.82" width="0.1524" layer="91"/>
<wire x1="38.1" y1="203.2" x2="38.1" y2="208.28" width="0.1524" layer="91"/>
<wire x1="38.1" y1="208.28" x2="33.02" y2="208.28" width="0.1524" layer="91"/>
<junction x="33.02" y="208.28"/>
</segment>
<segment>
<pinref part="U3" gate="G$1" pin="A"/>
<pinref part="3V1" gate="G$1" pin="3V3"/>
<wire x1="45.72" y1="144.78" x2="43.18" y2="144.78" width="0.1524" layer="91"/>
<wire x1="43.18" y1="144.78" x2="43.18" y2="147.32" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="LED1" gate="G$1" pin="A"/>
<pinref part="3V9" gate="G$1" pin="3V3"/>
<wire x1="86.36" y1="109.22" x2="93.98" y2="109.22" width="0.1524" layer="91"/>
<wire x1="93.98" y1="109.22" x2="93.98" y2="114.3" width="0.1524" layer="91"/>
</segment>
</net>
<net name="CHIP_EN" class="0">
<segment>
<pinref part="X1" gate="G$1" pin="ADC/DAC"/>
<wire x1="269.24" y1="93.98" x2="284.48" y2="93.98" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$8" class="0">
<segment>
<pinref part="U2" gate="A" pin="C"/>
<pinref part="R3" gate="G$1" pin="1"/>
<wire x1="208.28" y1="213.36" x2="210.82" y2="213.36" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$16" class="0">
<segment>
<pinref part="U2" gate="B" pin="C"/>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="208.28" y1="198.12" x2="210.82" y2="198.12" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$20" class="0">
<segment>
<pinref part="U2" gate="C" pin="C"/>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="208.28" y1="182.88" x2="210.82" y2="182.88" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$21" class="0">
<segment>
<pinref part="U2" gate="D" pin="C"/>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="208.28" y1="167.64" x2="210.82" y2="167.64" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$24" class="0">
<segment>
<pinref part="X2" gate="G$1" pin="GND"/>
<wire x1="274.32" y1="198.12" x2="256.54" y2="198.12" width="0.1524" layer="91"/>
<wire x1="256.54" y1="198.12" x2="256.54" y2="167.64" width="0.1524" layer="91"/>
<pinref part="U2" gate="D" pin="EMIT"/>
<wire x1="256.54" y1="167.64" x2="251.46" y2="167.64" width="0.1524" layer="91"/>
<pinref part="U2" gate="C" pin="EMIT"/>
<wire x1="251.46" y1="167.64" x2="228.6" y2="167.64" width="0.1524" layer="91"/>
<wire x1="228.6" y1="182.88" x2="251.46" y2="182.88" width="0.1524" layer="91"/>
<wire x1="251.46" y1="182.88" x2="251.46" y2="167.64" width="0.1524" layer="91"/>
<pinref part="U2" gate="B" pin="EMIT"/>
<wire x1="228.6" y1="198.12" x2="251.46" y2="198.12" width="0.1524" layer="91"/>
<wire x1="251.46" y1="198.12" x2="251.46" y2="182.88" width="0.1524" layer="91"/>
<pinref part="U2" gate="A" pin="EMIT"/>
<wire x1="228.6" y1="213.36" x2="251.46" y2="213.36" width="0.1524" layer="91"/>
<wire x1="251.46" y1="213.36" x2="251.46" y2="198.12" width="0.1524" layer="91"/>
<junction x="251.46" y="167.64"/>
<junction x="251.46" y="182.88"/>
<junction x="251.46" y="198.12"/>
</segment>
</net>
<net name="EAST" class="0">
<segment>
<pinref part="U2" gate="A" pin="COL"/>
<wire x1="228.6" y1="218.44" x2="231.14" y2="218.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="X2" gate="G$1" pin="+RA"/>
<wire x1="274.32" y1="193.04" x2="271.78" y2="193.04" width="0.1524" layer="91"/>

</segment>
</net>
<net name="NORTH" class="0">
<segment>
<pinref part="U2" gate="B" pin="COL"/>
<wire x1="228.6" y1="203.2" x2="231.14" y2="203.2" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="X2" gate="G$1" pin="+DEC"/>
<wire x1="274.32" y1="187.96" x2="271.78" y2="187.96" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SOUTH" class="0">
<segment>
<pinref part="U2" gate="C" pin="COL"/>
<wire x1="228.6" y1="187.96" x2="231.14" y2="187.96" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="X2" gate="G$1" pin="-DEC"/>
<wire x1="274.32" y1="182.88" x2="271.78" y2="182.88" width="0.1524" layer="91"/>

</segment>
</net>
<net name="WEST" class="0">
<segment>
<pinref part="U2" gate="D" pin="COL"/>
<wire x1="228.6" y1="172.72" x2="231.14" y2="172.72" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="X2" gate="G$1" pin="-RA"/>
<wire x1="274.32" y1="177.8" x2="271.78" y2="177.8" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-7" class="0">
<segment>
<pinref part="U1" gate="A" pin="P7"/>
<wire x1="58.42" y1="193.04" x2="55.88" y2="193.04" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R8" gate="G$1" pin="2"/>
<wire x1="48.26" y1="111.76" x2="40.64" y2="111.76" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-6" class="0">
<segment>
<pinref part="U1" gate="A" pin="P6"/>
<wire x1="58.42" y1="195.58" x2="55.88" y2="195.58" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R10" gate="G$1" pin="2"/>
<wire x1="48.26" y1="106.68" x2="40.64" y2="106.68" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-5" class="0">
<segment>
<pinref part="U1" gate="A" pin="P5"/>
<wire x1="58.42" y1="198.12" x2="55.88" y2="198.12" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R9" gate="G$1" pin="2"/>
<wire x1="48.26" y1="109.22" x2="40.64" y2="109.22" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-4" class="0">
<segment>
<pinref part="U1" gate="A" pin="P4"/>
<wire x1="58.42" y1="200.66" x2="55.88" y2="200.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R7" gate="G$1" pin="2"/>
<wire x1="33.02" y1="139.7" x2="22.86" y2="139.7" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-3" class="0">
<segment>
<pinref part="U1" gate="A" pin="P3"/>
<wire x1="58.42" y1="203.2" x2="55.88" y2="203.2" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="190.5" y1="213.36" x2="198.12" y2="213.36" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-2" class="0">
<segment>
<pinref part="U1" gate="A" pin="P2"/>
<wire x1="58.42" y1="205.74" x2="55.88" y2="205.74" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="190.5" y1="198.12" x2="198.12" y2="198.12" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-1" class="0">
<segment>
<pinref part="U1" gate="A" pin="P1"/>
<wire x1="58.42" y1="208.28" x2="55.88" y2="208.28" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R5" gate="G$1" pin="2"/>
<wire x1="190.5" y1="182.88" x2="198.12" y2="182.88" width="0.1524" layer="91"/>

</segment>
</net>
<net name="IO-0" class="0">
<segment>
<pinref part="U1" gate="A" pin="P0"/>
<wire x1="58.42" y1="210.82" x2="55.88" y2="210.82" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R6" gate="G$1" pin="2"/>
<wire x1="198.12" y1="167.64" x2="190.5" y2="167.64" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="U3" gate="G$1" pin="C"/>
<pinref part="R7" gate="G$1" pin="1"/>
<wire x1="45.72" y1="139.7" x2="43.18" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$14" class="0">
<segment>
<pinref part="X3" gate="G$1" pin="1"/>
<pinref part="U3" gate="G$1" pin="EMIT"/>
<wire x1="83.82" y1="139.7" x2="63.5" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$15" class="0">
<segment>
<pinref part="U3" gate="G$1" pin="COL"/>
<wire x1="63.5" y1="144.78" x2="68.58" y2="144.78" width="0.1524" layer="91"/>
<wire x1="68.58" y1="144.78" x2="68.58" y2="149.86" width="0.1524" layer="91"/>
<pinref part="X3" gate="G$1" pin="2"/>
<wire x1="68.58" y1="149.86" x2="78.74" y2="149.86" width="0.1524" layer="91"/>
<pinref part="X3" gate="G$1" pin="3"/>
<wire x1="78.74" y1="149.86" x2="83.82" y2="149.86" width="0.1524" layer="91"/>
<wire x1="83.82" y1="142.24" x2="78.74" y2="142.24" width="0.1524" layer="91"/>
<wire x1="78.74" y1="142.24" x2="78.74" y2="149.86" width="0.1524" layer="91"/>
<junction x="78.74" y="149.86"/>
</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="LED1" gate="G$1" pin="RED"/>
<pinref part="R8" gate="G$1" pin="1"/>
<wire x1="63.5" y1="111.76" x2="58.42" y2="111.76" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="LED1" gate="G$1" pin="BLU"/>
<pinref part="R9" gate="G$1" pin="1"/>
<wire x1="63.5" y1="109.22" x2="58.42" y2="109.22" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="LED1" gate="G$1" pin="GRN"/>
<pinref part="R10" gate="G$1" pin="1"/>
<wire x1="63.5" y1="106.68" x2="58.42" y2="106.68" width="0.1524" layer="91"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</drawing>
</eagle>

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
DESCRIPTION = "The Battle for Wesnoth is a turn-based strategy game with a fantasy theme."
HOMEPAGE = "http://www.wesnoth.org/"
SECTION = "games"
LICENSE = "GPL"

DEPENDS = "freetype libsdl-image libsdl-mixer libsdl-net libsdl-ttf zlib boost imagemagick-native"

PR = "r0"

SRC_URI = "${SOURCEFORGE_MIRROR}/wesnoth/${PN}-${PV}.tar.bz2"

EXTRA_OECONF = "\
	--enable-tinygui \
	--enable-editor \
	--enable-lowmem \
	--with-boost=${STAGING_INCDIR} \
	--with-freetype=${STAGING_INCDIR} \
	--without-fribidi \
	--disable-python \
"

inherit autotools

PACKAGES = "wesnoth-editor wesnoth-doc wesnoth-music wesnoth-sounds \
	wesnoth-aoi wesnoth-did wesnoth-ei wesnoth-httt wesnoth-l \
	wesnoth-nr wesnoth-sof wesnoth-sotbe wesnoth-thot wesnoth-trow \
	wesnoth-tsg wesnoth-tb wesnoth-utbs \
	wesnoth-data \
	wesnoth-all-campaigns \
	wesnoth-all \
	wesnoth wesnoth-dbg \
	"

DESCRIPTION_wesnoth-editor = "Map Editor for The Battle for Wesnoth"
DESCRIPTION_wesnoth-all = "The Battle for Wesnoth with all campaigns, music and sounds"
DESCRIPTION_wesnoth-all-campaigns = "The Battle for Wesnoth with all campaigns."
DESCRIPTION_wesnoth-sounds = "Optional sound package for The Battle for Wesnoth"
DESCRIPTION_wesnoth-music = "Optional music package for The Battle for Wesnoth"
DESCRIPTION_wesnoth-data = "Mandatory data package for The Battle for Wesnoth"

do_install_append() {
	# icons directory should not be packaged/installed
	if [ -d ${D}${datadir}/wesnoth/icons ]; then
		rm -rf ${D}${datadir}/wesnoth/icons
	fi
}

RDEPENDS_wesnoth = "wesnoth-data"

RDEPENDS_wesnoth-editor = "wesnoth-data"

RDEPENDS_wesnoth-all-campaigns = "wesnoth \
	wesnoth-aoi wesnoth-did wesnoth-ei wesnoth-httt wesnoth-l \
	wesnoth-nr wesnoth-sof wesnoth-sotbe wesnoth-thot wesnoth-trow \
	wesnoth-tsg wesnoth-tb wesnoth-utbs"

# Installing wesnoth-all should pull everything in (like in Debian).
RDEPENDS_wesnoth-all = "wesnoth wesnoth-sounds wesnoth-music"

FILES_wesnoth-music = "\
	${datadir}/wesnoth/data/core/music \
"

FILES_wesnoth-sounds = "\
	${datadir}/wesnoth/data/core/sounds \
"

# Picks up remaining translations and data. Must be packaged after
# wesnoth-music, wesnoth-sounds and all campaigns.
FILES_wesnoth-data = "\
  ${datadir}/wesnoth/sounds \
  ${datadir}/wesnoth/images \
  ${datadir}/wesnoth/data \
  ${datadir}/wesnoth/fonts \
  ${datadir}/wesnoth/translations \
"

FILES_${PN} = "\
  ${bindir}/wesnoth \
	${datadir}/icons \
	${datadir}/applications \
"

FILES_wesnoth-editor = "\
	${bindir}/wesnoth_editor \
"

FILES_wesnoth-aoi = "\
	${datadir}/wesnoth/data/campaigns/An_Orcish_Incursion \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-aoi.mo \
"

FILES_wesnoth-did = "\
	${datadir}/wesnoth/data/campaigns/Descent_Into_Darkness \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-did.mo \
"

FILES_wesnoth-ei = "\
	${datadir}/wesnoth/data/campaigns/Eastern_Invasion \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-ei.mo \
"

FILES_wesnoth-httt = "\
	${datadir}/wesnoth/data/campaigns/Heir_To_The_Throne \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-httt.mo \
"

FILES_wesnoth-l = "\
	${datadir}/wesnoth/data/campaigns/Liberty \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-l.mo \
"

FILES_wesnoth-nr = "\
	${datadir}/wesnoth/data/campaigns/Northern_Rebirth \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-nr.mo \
"

FILES_wesnoth-sof = "\
	${datadir}/wesnoth/data/campaigns/Sceptre_Of_Fire \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-sof.mo \
"

FILES_wesnoth-sotbe = "\
	${datadir}/wesnoth/data/campaigns/Son_Of_The_Black_Eye \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-sotbe.mo \
"

FILES_wesnoth-thot = "\
	${datadir}/wesnoth/data/campaigns/The_Hammer_Of_Thursagan \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-thot.mo \
"

FILES_wesnoth-trow = "\
	${datadir}/wesnoth/data/campaigns/The_Rise_Of_Wesnoth \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-trow.mo \
"

FILES_wesnoth-tsg = "\
	${datadir}/wesnoth/data/campaigns/The_South_Guard \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-tsg.mo \
"

FILES_wesnoth-tb = "\
	${datadir}/wesnoth/data/campaigns/Two_Brothers \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-tb.mo \
"

FILES_wesnoth-utbs = "\
	${datadir}/wesnoth/data/campaigns/Under_the_Burning_Suns \
	${datadir}/wesnoth/translations/*/LC_MESSAGES/wesnoth-utbs.mo \
"

SRC_URI[md5sum] = "9e92234b29f062b3779750ba3cd0a71b"
SRC_URI[sha256sum] = "87caf592bd81922908e7ee6ff356c7d46cf5a2cbe46847df7d64aff537ca16b6"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD

extension: bb


text:
DESCRIPTION = "D1 nezha init files"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://GPL-2;md5=ef841af1f51e0456cc3c472bed908d71"

inherit bin_package systemd
DEPENDS_append = " update-rc.d-native"

COMPATIBLE_MACHINE = "(^d1*)"

SRC_URI = "\
    file://d1-nezha-init.service \
    file://d1-nezha-init.sh \
    file://GPL-2 "

S = "${WORKDIR}"

do_install() {

    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
        install -d ${D}${systemd_system_unitdir}
        install -d ${D}${sysconfdir}/nezha/

        install -m 0644 ${WORKDIR}/d1-nezha-init.service ${D}${systemd_system_unitdir}/d1-nezha-init.service
        install -m 0755 ${WORKDIR}/d1-nezha-init.sh ${D}${sysconfdir}/nezha/d1-nezha-init.sh
    fi

    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
        install -d ${D}${sysconfdir}/init.d
        install -m 0755 ${WORKDIR}/d1-nezha-init.sh ${D}${sysconfdir}/init.d
        update-rc.d -r ${D} d1-nezha-init.sh start 02 S .
    fi
}

SYSTEMD_SERVICE_${PN} = "d1-nezha-init.service"
SYSTEMD_AUTO_ENABLE_${PN} = "enable"

FILES_${PN} += " ${systemd_system_unitdir} "
FILES_${PN} += " ${sysconfdir} "

PACKAGES = "${PN}"

repository: heysion/xuantie-yocto

repo_name: heysion/xuantie-yocto


text:
package main

import (
	"flag"
	"fmt"
	"os"
	"regexp"
	"sort"
	"strconv"
	"strings"

	"github.com/nyxtom/broadcast/client/go/broadcast"
)

var helpCommands = [][]string{}
var helpCommandsMap = make(map[string]int)

func main() {
	var ip = flag.String("h", "127.0.0.1", "webterm server ip (default 127.0.0.1)")
	var port = flag.Int("p", 7337, "webterm server port (default 7331)")
	var bprotocol = flag.String("bprotocol", "redis", "broadcast server protocol to follow")
	var maxIdle = flag.Int("i", 1, "max idle client connections to pool from")

	flag.Parse()

	addr := *ip + ":" + strconv.Itoa(*port)
	c, err := broadcast.NewClient(*port, *ip, *maxIdle, *bprotocol)
	if err != nil {
		fmt.Printf(err.Error())
		os.Exit(1)
	}

	reply, err := c.Do("cmds")
	if err != nil {
		fmt.Printf("%s", err.Error())
	} else {
		printReply("cmds", reply, "")
	}

	SetCompletionHandler(completionHandler)
	setHistoryCapacity(100)

	reg, _ := regexp.Compile(`'.*?'|".*?"|\S+`)
	prompt := ""

	for {
		prompt = fmt.Sprintf("%s> ", addr)

		cmd, err := line(prompt)
		if err != nil {
			fmt.Printf("%s\n", err.Error())
			return
		}

		cmds := reg.FindAllString(cmd, -1)
		if len(cmds) == 0 {
			continue
		} else {
			addHistory(cmd)

			args := make([]interface{}, len(cmds[1:]))
			for i := range args {
				item := strings.Trim(string(cmds[1+i]), "\"'")
				if a, err := strconv.Atoi(item); err == nil {
					args[i] = a
				} else if a, err := strconv.ParseFloat(item, 64); err == nil {
					args[i] = a
				} else if a, err := strconv.ParseBool(item); err == nil {
					args[i] = a
				} else if len(item) == 1 {
					b := []byte(item)
					args[i] = string(b[0])
				} else {
					args[i] = item
				}
			}

			cmd := strings.ToUpper(cmds[0])
			if strings.ToLower(cmd) == "help" || cmd == "?" {
				printHelp(cmds)
			} else if cmd == "CMDS" {
				printCmds()
			} else {
				async := isCmdAsync(cmd)
				if async {
					c.DoAsync(cmd, args...)
				} else {
					reply, err := c.Do(cmd, args...)
					if err != nil {
						fmt.Printf("%s", err.Error())
					} else {
						printReply(cmd, reply, "")
					}
				}
				fmt.Printf("\n")
			}
		}
	}
}

func isCmdAsync(cmd string) bool {
	for _, v := range helpCommands {
		if v[0] == cmd && v[3] == "true" {
			return true
		}
	}
	return false
}

func printReply(cmd string, reply interface{}, indent string) {
	if strings.ToLower(cmd) == "cmds" {
		r, ok := reply.(map[string]interface{})
		if !ok {
			fmt.Printf("%s\n", string(reply.(error).Error()))
			return
		}
		helpReply := false
		if helpCommands == nil || len(helpCommands) == 0 {
			helpReply = true
			helpCommands = make([][]string, 0)
		}
		for k, v := range r {
			cmd := v.(map[string]interface{})
			desc := cmd["Description"].(string)
			usage := cmd["Usage"].(string)
			async := fmt.Sprintf("%v", (cmd["FireForget"].(bool)))
			if helpReply {
				helpCommands = append(helpCommands, []string{k, usage, desc, async})
				helpCommandsMap[k] = len(helpCommands) - 1
			} else {
				printCommandHelp([]string{k, usage, desc, async})
			}
		}
		return
	}
	switch reply := reply.(type) {
	case int64:
		fmt.Printf("(integer) %d\n", reply)
	case float64:
		fmt.Printf("(float) %f\n", reply)
	case string:
		fmt.Printf("%s\n", reply)
	case []byte:
		fmt.Printf("%q\n", reply)
	case nil:
		fmt.Printf("(nil)\n")
	case bool:
		fmt.Printf("%v\n", reply)
	case error:
		fmt.Printf("%s\n", string(reply.Error()))
	case map[string]interface{}:
		mk := make([]string, len(reply))
		i := 0
		for k, _ := range reply {
			mk[i] = k
			i++
		}
		sort.Strings(mk)
		for _, v := range mk {
			replyV := reply[v]
			if replyV != nil {
				fmt.Printf(indent+"%s-> ", v)
				if _, ok := replyV.([]interface{}); ok {
					fmt.Printf("\n")
				}
				if _, ok := replyV.(map[string]interface{}); ok {
					fmt.Printf("\n")
				}
				printReply(cmd, replyV, indent+"  ")
			}
		}
	case []interface{}:
		if len(reply) > 10 {
			reply = reply[:10]
		}
		for i, v := range reply {
			if _, ok := v.(map[string]interface{}); ok {
				fmt.Printf(indent+"%d) \n", i+1)
			} else {
				fmt.Printf(indent+"%d) ", i+1)
			}
			printReply(cmd, v, indent+"  ")
		}
	}
}

func printGenericHelp() {
	msg :=
		`broadcast-cli
Type:   "help <command>" for help on <command>
    `
	fmt.Println(msg)
}

func printCommandHelp(arr []string) {
	fmt.Printf("%s\n %s", arr[0], arr[2])
	if len(arr[1]) > 0 {
		fmt.Printf("\n usage: %s", arr[1])
	}
	fmt.Printf("\n\n")
}

func printCmds() {
	var cmds []string
	for _, v := range helpCommands {
		cmds = append(cmds, v[0])
	}

	sort.Strings(cmds)
	for _, v := range cmds {
		i := helpCommandsMap[v]
		printCommandHelp(helpCommands[i])
	}
}

func printHelp(cmds []string) {
	args := cmds[1:]
	if len(args) == 0 {
		printGenericHelp()
	} else if len(args) > 1 {
		fmt.Println()
	} else {
		cmd := strings.ToUpper(args[0])
		for i := 0; i < len(helpCommands); i++ {
			if helpCommands[i][0] == cmd {
				printCommandHelp(helpCommands[i])
			}
		}
	}
}

func completionHandler(in string) []string {
	var keywords []string
	for _, i := range helpCommands {
		if strings.HasPrefix(i[0], strings.ToUpper(in)) {
			keywords = append(keywords, i[0])
		}
	}
	return keywords
}

repository: nyxtom/webterm

repo_name: nyxtom/webterm

extension: go


text:
SUMMARY = "Meta-oe ptest packagegroups"

PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup

PROVIDES = "${PACKAGES}"
PACKAGES = ' \
    packagegroup-meta-oe \
    packagegroup-meta-oe-benchmarks \
    packagegroup-meta-oe-connectivity \
    packagegroup-meta-oe-core \
    packagegroup-meta-oe-crypto \
    packagegroup-meta-oe-bsp \
    packagegroup-meta-oe-dbs \
    packagegroup-meta-oe-devtools \
    packagegroup-meta-oe-extended \
    packagegroup-meta-oe-kernel \
    packagegroup-meta-oe-multimedia \
    packagegroup-meta-oe-navigation \
    packagegroup-meta-oe-security \
    packagegroup-meta-oe-support \
    packagegroup-meta-oe-test \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \
'

RDEPENDS_packagegroup-meta-oe = "\
    packagegroup-meta-oe-benchmarks \
    packagegroup-meta-oe-connectivity \
    packagegroup-meta-oe-core \
    packagegroup-meta-oe-crypto \
    packagegroup-meta-oe-bsp \
    packagegroup-meta-oe-dbs \
    packagegroup-meta-oe-devtools \
    packagegroup-meta-oe-extended \
    packagegroup-meta-oe-kernel \
    packagegroup-meta-oe-multimedia \
    packagegroup-meta-oe-navigation \
    packagegroup-meta-oe-security \
    packagegroup-meta-oe-support \
    packagegroup-meta-oe-test \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \
"

RDEPENDS_packagegroup-meta-oe-benchmarks = "\
    dhrystone iperf2 linpack phoronix-test-suite \
    tiobench bonnie++ fio iperf2 iperf3 lmbench s-suite whetstone \
    libc-bench memtester sysbench dbench iozone3 libhugetlbfs \
    nbench-byte tinymembench \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "glmark2", "", d)} \
"

RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mipsarch = "libhugetlbfs"
RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64 = "tinymembench"
RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64el = "tinymembench"
RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv64 = "libhugetlbfs"
RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv32 = "libhugetlbfs"

RDEPENDS_packagegroup-meta-oe-connectivity ="\
    gammu hostapd irssi krb5 libev libimobiledevice \
    libmbim libmtp libndp libqmi libtorrent \
    libuv libwebsockets linuxptp loudmouth \
    modemmanager mosh  \
    paho-mqtt-c phonet-utils rabbitmq-c rfkill rtorrent \
    ser2net smstools3 telepathy-glib thrift \
    usbmuxd zabbix zeromq \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "obex-data-server", "", d)} \
    libmikmod \
    obexftp openobex libnet \
    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
    "
RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial"

# dracut needs dracut
RDEPENDS_packagegroup-meta-oe-core ="\
    dbus-daemon-proxy libdbus-c++ \
    ell glibmm libsigc++-2.0 libxml++ distro-feed-configs \
    mm-common opencl-headers opencl-icd-loader \
    proxy-libintl usleep \
    ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker ndctl", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-crypto ="\
    botan cryptsetup libkcapi libmcrypt \
    libsodium pkcs11-helper \
    "
RDEPENDS_packagegroup-meta-oe-bsp ="\
    acpitool cpufrequtils edac-utils efibootmgr \
    efivar flashrom lmsensors lmsensors-config \
    lsscsi nvme-cli pcmciautils pointercal \
    "
RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64le = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr"
RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr"

RDEPENDS_packagegroup-meta-oe-dbs ="\
    leveldb libdbi mariadb mariadb-native \
    postgresql psqlodbc rocksdb soci \
    sqlite \
    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-devtools ="\
    android-tools android-tools-conf bootchart breakpad \
    capnproto cgdb cscope ctags \
    debootstrap dmalloc flatbuffers \
    giflib grpc icon-slicer iptraf-ng jq jsoncpp jsonrpc json-spirit \
    kconfig-frontends lemon libedit libgee libsombok3 \
    libubox log4cplus lshw ltrace lua mcpp memstat mercurial \
    mpich msgpack-c nlohmann-json openocd pax-utils \
    ipc-run libdbd-mysql-perl libdbi-perl libio-pty-perl php \
    protobuf protobuf-c \
    rapidjson serialcheck sip3 tclap uftrace uw-imap valijson \
    xmlrpc-c yajl yasm \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany geany-plugins glade tk", "", d)} \
    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-devtools_remove_armv5 = "uftrace nodejs"
RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "nodejs"
RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "nodejs"
RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad ltrace nodejs uftrace lshw"
RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad ltrace nodejs uftrace lshw"

RDEPENDS_packagegroup-meta-oe-extended ="\
    byacc cfengine cfengine-masterfiles cmpi-bindings \
    ddrescue dialog dumb-init enscript fluentbit \
    haveged hexedit hiredis hplip hwloc indent iotop isomd5sum \
    jansson konkretcmpi libblockdev libcec libconfig \
    libdivecomputer libplist libusbmuxd \
    liblockfile liblogging liblognorm libmodbus libmodbus \
    libpwquality libqb libuio \
    lockfile-progs logwatch lprng mailx md5deep \
    mraa nana nicstat \
    p7zip p8platform libfile-fnmatch-perl \
    rarpd redis rrdtool libfastjson librelp rsyslog sanlock \
    sblim-cmpi-devel sblim-sfc-common sblim-sfcc \
    scsirastools sgpio smartmontools snappy \
    can-utils libsocketcan tipcutils tiptop \
    tmux uml-utilities upm vlock volume-key wipe zlog zram \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim gnuplot libwmf", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "bluez", "collectd", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-ssh-agent-auth openwsman sblim-sfcb ", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit polkit-group-rule-datetime ", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-network ", "", d)} \
    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \
    "
RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa tiptop"
RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa"
RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa"
RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa"
RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa tiptop"
RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa tiptop"

RDEPENDS_packagegroup-meta-oe-gnome ="\
    atkmm gnome-common gnome-doc-utils-stub gtkmm \
    gtkmm3 pyxdg vte9 \
    "

RDEPENDS_packagegroup-meta-oe-graphics ="\
    cairomm dietsplash directfb directfb-examples \
    ${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnfdragora dnf-plugin-tui", "", d)} \
    fbgrab fbida fontforge fvwm glm gphoto2 libgphoto2 \
    gtkperf jasper leptonica libmng libsdl2-image libsdl2-mixer libsdl2-net \
    libsdl-gfx libsdl-image libsdl-mixer libsdl-net libsdl-ttf \
    libvncserver libyui libyui-ncurses lxdm numlockx openbox openjpeg \
    packagegroup-fonts-truetype pangomm qrencode takao-fonts terminus-font \
    tesseract tesseract-lang tigervnc tslib source-han-sans-cn-fonts \
    source-han-sans-jp-fonts source-han-sans-kr-fonts source-han-sans-tw-fonts ttf-abyssinica \
    libvdpau x11vnc xcursorgen xdotool \
    bdftopcf iceauth sessreg setxkbmap twm xclock xfontsel xgamma xkbevd xkbprint xkbutils \
    xlsatoms xlsclients xlsfonts xmag xmessage xrdb xrefresh xsetmode xsetroot xstdcmap \
    xterm xwd xwud xbitmaps xorg-sgml-doctools \
    font-adobe-100dpi font-adobe-utopia-100dpi \
    font-bh-100dpi font-bh-lucidatypewriter-100dpi font-bitstream-100dpi font-cursor-misc \
    font-misc-misc xorg-fonts-100dpi liblbxutil libxaw libxkbui libxpresent xserver-common \
    ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "freeglut libsdl2-ttf", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-kernel ="\
    agent-proxy broadcom-bt-firmware cpupower \
    crash ipmitool minicoredumper oprofile \
    "
RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " pm-graph "
RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " pm-graph "

RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash minicoredumper"

RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash"

RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv64 = "crash oprofile"
RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv32 = "crash oprofile"

RDEPENDS_packagegroup-meta-oe-multimedia ="\
    alsa-oss audiofile cdrkit id3lib \
    a2jmidid jack libass libburn libcdio libcdio-paranoia \
    libdvdread libmms libmodplug libopus live555 \
    opus-tools \
    sound-theme-freedesktop v4l-utils yavta wavpack libvpx \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xpext pavucontrol xsp", "", d)} \
    libmikmod \
    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \
    "
RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"

RDEPENDS_packagegroup-meta-oe-navigation ="\
    geoclue geos libspatialite proj \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "orrery", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "bluz4", "gpsd gpsd-machine-conf", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-security ="\
    tomoyo-tools \
    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "passwdqc", "", d)} \
    ${@bb.utils.contains("DISTRO_FEATURES", "bluz5", "nmap", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-shells ="\
    dash tcsh zsh \
    "

NE10 = ""
NE10_aarch64 = "ne10"
NE10_armv7a = "ne10"
NE10_armv7ve = "ne10"

RDEPENDS_packagegroup-meta-oe-support ="\
    anthy asio atop augeas avro-c bdwgc frame grail c-ares \
    ccid ceres-solver ckermit cpprest ctapi-common daemonize \
    daemontools devmem2 dfu-util dfu-util-native digitemp \
    dstat eject enca epeg espeak fbset fbset-modes \
    fftw fltk-native gd gflags glog gnulib gperftools \
    gpm gradm gsl gsoap hddtemp hidapi htop hunspell hwdata iksemel \
    libinih inotify-tools joe lcms lcov libatasmart libbytesize \
    libcereal libcyusbserial libee libeigen libestr libftdi libgit2 \
    libgpiod libiio libjs-jquery libjs-sizzle liblinebreak libmicrohttpd \
    libmxml liboauth libol liboop libp11 libraw1394 libsmi libsoc libssh2 \
    libssh libtar libteam libtinyxml2 libtinyxml libusbg libusb-compat libutempter \
    links lockdev log4c log4cpp logwarn libdevmapper lvm2 \
    mailcap mbuffer mg minini \
    multipath-tools nano neon nmon numactl onig openct openldap \
    opensc wbxml2 p910nd pcsc-lite picocom libotr pidgin \
    pngcheck poco poppler poppler-data portaudio-v19 pps-tools \
    pv pxaregs raptor2 rdfind read-edid rsnapshot \
    satyr sdparm pty-forward-native serial-forward \
    sg3-utils sharutils spitools srecord ssiapi stm32flash \
    syslog-ng system-config-keyboard tbb thin-provisioning-tools tokyocabinet \
    tree uhubctl unixodbc uriparser usb-modeswitch \
    usb-modeswitch-data uthash utouch-evemu utouch-frame \
    vim vim-tiny websocketpp xdelta3 xdg-user-dirs xmlstarlet \
    zbar zile \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis toscoterm uim synergy utouch-mtview links-x11 fltk pidgin-otr", "", d)} \
    libcanberra \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \
    procmail \
    ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks2 upower", "", d)} \
    ${NE10} \
    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \
    "

RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl"
RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools"
RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim"
RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim"
RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi"

RDEPENDS_packagegroup-meta-oe-support-egl ="\
    freerdp libnice opencv \
    "

RDEPENDS_packagegroup-meta-oe-test ="\
    catch2 cppunit cunit cxxtest evtest fb-test \
    fwts googletest pm-qa stress-ng testfloat \
    "
RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa"
RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts"
RDEPENDS_packagegroup-meta-oe-test_remove_mipsarch = "fwts"
RDEPENDS_packagegroup-meta-oe-test_remove_powerpc = "fwts"
RDEPENDS_packagegroup-meta-oe-test_remove_riscv64 = "fwts"
RDEPENDS_packagegroup-meta-oe-test_remove_riscv32 = "fwts"

RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
    zeromq-ptest \
    leveldb-ptest \
    psqlodbc-ptest \
    lua-ptest \
    protobuf-ptest \
    rsyslog-ptest \
    oprofile-ptest \
    libteam-ptest \
    uthash-ptest \
    libee-ptest \
    poco-ptest \
    "
RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv64 = "oprofile-ptest"
RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv32 = "oprofile-ptest"

RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = "\
    mcelog-ptest \
"
RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = "\
    mcelog-ptest \
"
RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_arm = "numactl-ptest"

gha_license_id: MIT


text:
DESCRIPTION = "LCDproc is a client/Server suite to drive all kinds of LCD (-like) devices."
DESCRIPTION_append_lcdproc = " The client shipped with this package can be used to acquire various kinds of system stats."
DESCRIPTION_append_lcdd = " This package contains the LCDd server."
HOMEPAGE = "http://lcdproc.org"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "utils"
PV = "0.4.99+cvs${SRCDATE}"
PR = "r1"

DEFAULT_PREFERENCE = "-1"

DEPENDS = "${@((bb.data.getVar('LCDPROC_DRIVERS',d) or 'curses,text').find('curses') != -1) and 'ncurses' or ''}"
RRECOMMENDS_lcdproc = "lcdd"

SRC_URI = "cvs://anonymous@lcdproc.cvs.sourceforge.net/cvsroot/lcdproc;module=lcdproc"
S = "${WORKDIR}/lcdproc"

inherit autotools update-rc.d

PACKAGES =+ "lcdd"

CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
CONFFILES_lcdproc = "${sysconfdir}/lcdproc.conf"

FILES_lcdd = "${CONFFILES_lcdd} \
	${sbindir}/LCDd \
	${sysconfdir}/init.d/lcdd \
	${libdir}/lcdproc/"
FILES_lcdproc = "${CONFFILES_lcdproc} \
	${bindir}/lcdproc \
	${sysconfdir}/init.d/lcdproc"

INITSCRIPT_PACKAGES = "lcdd lcdproc"
INITSCRIPT_NAME_lcdd = "lcdd"
INITSCRIPT_NAME_lcdproc = "lcdproc"
INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"

EXTRA_OECONF = "${@'--enable-drivers=' + (bb.data.getVar('LCDPROC_DRIVERS',d) or 'curses,text')}"

do_install () {
	# binaries
	install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
	install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc

	# init scripts
	install -d ${D}${sysconfdir}/init.d
	# so far, not fixed :-( and now even uglier :-((
	cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd
	chmod 0755 ${D}${sysconfdir}/init.d/lcdd
	# prevent lcdproc from starting if no SCREENS are set.
	# will be fixed in next upstream release
	cat scripts/init-lcdproc.debian | sed -e 's/C X//' | sed -e 's/case/[ -n "$SCREENS" ] || exit 0\n\ncase/' | sed -e s'/--oknodo//' > ${D}${sysconfdir}/init.d/lcdproc
	chmod 0755 ${D}${sysconfdir}/init.d/lcdproc

	# configuration files
	install -D -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf
	# don't start lcdproc by default
	# will be fixed in next upstream release
	cat scripts/lcdproc.conf | sed -e 's/C X//' > ${D}${sysconfdir}/lcdproc.conf
	chmod 0644 ${D}${sysconfdir}/lcdproc.conf

	# driver library files
	install -d ${D}${libdir}/lcdproc
	for i in server/drivers/*.so; do
		install -m 0644 $i ${D}${libdir}/lcdproc/
	done
}


text:
SUMMARY = "Python bindings for DBus AT-SPI2 accessibility"
DESCRIPTION = "AT-SPI2 is a protocol over DBus, toolkit widgets use to provide content to screen readers such as Orca"
SECTION = "devel/python"
HOMEPAGE = "https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=db29218e6ba3794c56df7d4987dc7e4d \
                    file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject"

SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=master"
SRCREV = "c9cb2a2289a6eb1fb95b66c25d5351bfea54c47e"

S = "${WORKDIR}/git"

# Same restriction as gtk+
inherit features_check setuptools3
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"

inherit pkgconfig autotools python3native

FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*"

RDEPENDS:${PN} += "python3-pygobject"

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded

gha_language: BitBake


text:
/*
Copyright © 2019 Portworx

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 context

import (
	"fmt"
	"io/ioutil"

	pxcmd "github.com/portworx/pxc/cmd"
	"github.com/portworx/pxc/pkg/commander"
	"github.com/portworx/pxc/pkg/contextconfig"
	"github.com/portworx/pxc/pkg/util"

	"github.com/spf13/cobra"
)

var contextCreateCmd *cobra.Command

var _ = commander.RegisterCommandVar(func() {
	// contextCreateCmd represents the contextCreate command
	contextCreateCmd = &cobra.Command{
		Use:   "create [NAME]",
		Short: "Create a context",
		Example: `
  # Create a context called k8s which will communicate to a Kubernetes
  # cluster and to one of the nodes running Portworx
  pxc context create mycluster --kubeconfig=/path/to/kubeconfig --endpoint=123.456.1.10:9020

  # Create a context called mycluster which will point to one of the Portworx
  # nodes on the cluster
  pxc context create mycluster --endpoint=123.456.1.10:9020`,
		Args: func(cmd *cobra.Command, args []string) error {
			if len(args) < 1 {
				return fmt.Errorf("Must supply a name for context")
			}
			return nil
		},
		Long: `A context is the information needed to connect to
Portworx and any other system. This information will be saved
to a file called config.yml in a directory called .px under
your home directory.`,
		RunE: contextCreateExec,
	}
})

var _ = commander.RegisterCommandInit(func() {
	pxcmd.ContextAddCommand(contextCreateCmd)

	contextCreateCmd.Flags().String("token", "", "Token for use in this context")
	contextCreateCmd.Flags().String("endpoint", "", "Portworx service endpoint. Ex. 127.0.0.1:9020")
	contextCreateCmd.Flags().Bool("secure", false, "Use secure connection")
	contextCreateCmd.Flags().String("cafile", "", "Path to client CA certificate if needed")
	contextCreateCmd.Flags().String("kubeconfig", "", "Path to Kubeconfig file if any")
})

func CreateAddCommand(cmd *cobra.Command) {
	contextCreateCmd.AddCommand(cmd)
}

func contextCreateExec(cmd *cobra.Command, args []string) error {

	c := new(contextconfig.ClientContext)
	c.Name = args[0]

	// Check if this an update
	update := false
	contextManager, err := contextconfig.NewContextManager(pxcmd.GetConfigFile())
	if err == nil {
		// Check if we need to update a context
		existingContext, err := contextManager.GetNamedContext(c.Name)
		if err == nil {
			update = true
			c = existingContext
		}
	} else {
		contextManager = contextconfig.New(pxcmd.GetConfigFile())
	}

	// Update endpoint
	if s, _ := cmd.Flags().GetString("endpoint"); len(s) != 0 {
		// If no port is provided, assume 9020
		endpoint, err := util.ValidateEndpoint(s)
		if err != nil {
			return fmt.Errorf("Invalid endpoint for the context")
		}

		c.Endpoint = endpoint
	} else {
		return fmt.Errorf("Must supply an endpoint for the context")
	}

	// Optional
	if s, _ := cmd.Flags().GetString("kubeconfig"); len(s) != 0 {
		if !util.IsFileExists(s) {
			return fmt.Errorf("kubeconfig file: %s does not exists", s)
		}
		c.Kubeconfig = s
	}
	if s, _ := cmd.Flags().GetString("token"); len(s) != 0 {
		// TODO: Check the token is a JWT token
		c.Token = s
	}
	if s, _ := cmd.Flags().GetBool("secure"); s {
		c.Secure = true
	} else {
		c.Secure = false
	}
	if s, _ := cmd.Flags().GetString("cafile"); len(s) != 0 {
		if !util.IsFileExists(s) {
			return fmt.Errorf("CA file: %s does not exists", s)
		}
		data, err := ioutil.ReadFile(s)
		if err != nil {
			return fmt.Errorf("Unable to read CA file %s", s)
		}
		c.TlsData.Cacert = string(data)
		// If CA cert is provided, make "secure" default to true
		c.Secure = true
	}

	if err = contextManager.Add(c); err != nil {
		return err
	}

	if update {
		util.Printf("Updated context %s in %s\n", c.Name, pxcmd.GetConfigFile())
	} else {
		util.Printf("New context %s saved to %s\n", c.Name, pxcmd.GetConfigFile())
	}

	return nil
}


text:
DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"

DEPENDS = "udev libusb1 libplist"

inherit autotools pkgconfig gitpkgv

PKGV = "${GITPKGVTAG}"

SRCREV = "ce98c346b7c1dc2a21faea4fd3f32c88e27ca2af"
SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https;branch=master"

S = "${WORKDIR}/git"

FILES:${PN} += "${base_libdir}/udev/rules.d/"


text:
package eos

import (
	"bytes"
	"encoding/json"
	"errors"
	"fmt"
	"io/ioutil"
	"net/http"
)

// Client - EOS client
type Client struct {
	BaseURL string
}

// GetAccountResp - response of get account
type GetAccountResp struct {
	AccountName string `json:"account_name"`
}

// GetABIResp - response of get abi
type GetABIResp struct {
	AccountName string      `json:"account_name"`
	ABI         interface{} `json:"abi"`
}

func (c *Client) getABI(account string) (*GetABIResp, error) {
	body := map[string]string{"account_name": account}
	var resp GetABIResp
	err := c.call("chain", "get_abi", body, &resp)
	if err != nil {
		return nil, err
	}
	return &resp, nil
}

func (c *Client) getAccount(account string) (*GetAccountResp, error) {
	body := map[string]string{"account_name": account}
	var resp GetAccountResp
	err := c.call("chain", "get_account", body, &resp)
	if err != nil {
		return nil, err
	}
	return &resp, nil
}

func (c *Client) call(baseAPI string, endpoint string, body interface{}, out interface{}) error {
	reqBody, err := json.Marshal(body)
	if err != nil {
		return err
	}

	url := fmt.Sprintf("%s/v1/%s/%s", c.BaseURL, baseAPI, endpoint)
	resp, err := http.Post(url, "application/json", bytes.NewBuffer(reqBody))
	if err != nil {
		return err
	}

	defer resp.Body.Close()

	respBody, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return err
	}

	if resp.StatusCode > 299 {
		return errors.New(string(respBody))
	}

	err = json.Unmarshal(respBody, out)

	if err != nil {
		return err
	}

	return nil
}

repository: peatio/ava

repo_name: peatio/ava

gha_language: Go


text:
DESCRIPTION = "Devicekit power"
LICENSE = "GPLv2"
DEPENDS = "devicekit glib-2.0 dbus-glib policykit"

SRC_URI = "http://cgit.freedesktop.org/DeviceKit/DeviceKit-power/snapshot/DeviceKit-power-${PV}.tar.gz"
S = "${WORKDIR}/DeviceKit-power-${PV}"

inherit autotools pkgconfig

do_configure_prepend() {
	sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
}

FILES_${PN} += "${datadir}/dbus-1/ \
                ${datadir}/PolicyKit \
                ${base_libdir}/udev/* \
               "

FILES_${PN}-dbg += "${base_libdir}/udev/.debug"

SRC_URI[md5sum] = "2ec93fbd14926101a12c9e4dbbe5937f"
SRC_URI[sha256sum] = "6dfa2623cb5c0b2df9aff00ad6d3213815d7de498855cc6f72c2cd18d50a4cd1"


text:
SUMMARY = "Extremely basic live image init script"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://init.sh"

S = "${WORKDIR}"

RDEPENDS_${PN} = "initramfs-module-udev udev parted bc util-linux-lsblk"

PV = "3"

do_install() {
	install -dm 0755 ${D}/etc
	touch ${D}/etc/initrd-release
	install -dm 0755 ${D}/dev
	install -dm 0755 ${D}/sbin
	install -m 0755 ${WORKDIR}/init.sh ${D}/sbin/init
}

inherit allarch

FILES_${PN} += " /dev /etc/initrd-release /sbin/init "

repository: fluxos-iot/meta-flux

repo_name: fluxos-iot/meta-flux


text:
package git

import (
	"encoding/json"
	"log"
	"testing"

	"github.com/lzecca78/one/internal/config"
	"github.com/lzecca78/one/internal/jenkins"
)

//const token = "token"
//const owner = "owner"

func getTestGitClient() (*GitClient, *config.RepositoriesProperties) {
	v, reposConfig := config.GetConfig()
	return NewGitClient(v), reposConfig
}

func TestNewClient(t *testing.T) {
	getTestGitClient()
}

func TestPortalListBranches(t *testing.T) {
	client, _ := getTestGitClient()

	commits, err := client.ListBranchesByRepo("portal")
	if err != nil || len(commits) == 0 {
		t.Error("no commit found in portal: ", err)
	}
	sha := *commits[0].Commit.SHA
	commit, err := client.GetCommit(sha, "portal")
	if err != nil {
		t.Error("error getting commit ", sha, "in repo portal", err)
	}
	log.Println(*commit.Commit.Message)

}

func TestPortalListBranchesWithComment(t *testing.T) {
	client, _ := getTestGitClient()

	client.ListBranchesByRepoWithComment("portal")

}

func TestGetRepos(t *testing.T) {
	client, _ := getTestGitClient()

	reposProp := &config.RepositoriesProperties{Conf: map[string]jenkins.JenkinsJobConfig{"portal": {"asasasas", "343243423"}}}
	repos, err := client.GetRepos(reposProp)
	if err != nil {
		t.Error(err)
	}
	//log.Println(repos)
	jsonRepos, _ := json.MarshalIndent(repos, "", " ")
	log.Println(string(jsonRepos))
}


text:
package responses

import (
	"github.com/gofiber/fiber/v2"
)

// ResultJSON show the result of responses using JSON.
func ResultJSON(c *fiber.Ctx, statusCode int, data interface{}, err error) {
	if err != nil {
		c.JSON(fiber.Map{"status": statusCode, "data": nil, "error": err.Error()})
		return
	}
	c.JSON(fiber.Map{"status": statusCode, "data": data, "error": nil})
}

repository: elton/cerp-api

repo_name: elton/cerp-api

branch_name: refs/heads/main


text:
package eksconfig

import (
	"errors"
	"fmt"
	"strconv"
	"time"

	"github.com/aws/aws-k8s-tester/pkg/timeutil"
)

// AddOnClusterVersionUpgrade defines parameters
// for EKS cluster version upgrade add-on.
type AddOnClusterVersionUpgrade struct {
	// Enable is 'true' to create this add-on.
	Enable bool `json:"enable"`
	// Created is true when the resource has been created.
	// Used for delete operations.
	Created         bool               `json:"created" read-only:"true"`
	TimeFrameCreate timeutil.TimeFrame `json:"time-frame-create" read-only:"true"`

	// WaitBeforeUpgrade is the wait duration before it starts cluster version upgrade.
	WaitBeforeUpgrade       time.Duration `json:"wait-before-upgrade"`
	WaitBeforeUpgradeString string        `json:"wait-before-upgrade-string" read-only:"true"`

	// Version is the target version of EKS Kubernetes "cluster".
	// If empty, set default version.
	Version      string  `json:"version"`
	VersionValue float64 `json:"version-value" read-only:"true"`
}

// EnvironmentVariablePrefixAddOnClusterVersionUpgrade is the environment variable prefix used for "eksconfig".
const EnvironmentVariablePrefixAddOnClusterVersionUpgrade = AWS_K8S_TESTER_EKS_PREFIX + "ADD_ON_CLUSTER_VERSION_UPGRADE_"

// IsEnabledAddOnClusterVersionUpgrade returns true if "AddOnClusterVersionUpgrade" is enabled.
// Otherwise, nil the field for "omitempty".
func (cfg *Config) IsEnabledAddOnClusterVersionUpgrade() bool {
	if cfg.AddOnClusterVersionUpgrade == nil {
		return false
	}
	if cfg.AddOnClusterVersionUpgrade.Enable {
		return true
	}
	cfg.AddOnClusterVersionUpgrade = nil
	return false
}

func getDefaultAddOnClusterVersionUpgrade() *AddOnClusterVersionUpgrade {
	return &AddOnClusterVersionUpgrade{
		Enable:            false,
		Version:           "1.20",
		WaitBeforeUpgrade: 3 * time.Minute,
	}
}

func (cfg *Config) validateAddOnClusterVersionUpgrade() error {
	if !cfg.IsEnabledAddOnClusterVersionUpgrade() {
		return nil
	}

	cfg.AddOnClusterVersionUpgrade.WaitBeforeUpgradeString = cfg.AddOnClusterVersionUpgrade.WaitBeforeUpgrade.String()

	if cfg.AddOnClusterVersionUpgrade.Version == "" {
		return errors.New("empty AddOnClusterVersionUpgrade.Version")
	}
	var err error
	cfg.AddOnClusterVersionUpgrade.VersionValue, err = strconv.ParseFloat(cfg.AddOnClusterVersionUpgrade.Version, 64)
	if err != nil {
		return fmt.Errorf("cannot parse AddOnClusterVersionUpgrade.Version %q (%v)", cfg.Version, err)
	}
	delta := cfg.AddOnClusterVersionUpgrade.VersionValue - cfg.VersionValue
	if fmt.Sprintf("%.2f", delta) != "0.01" {
		return fmt.Errorf("AddOnClusterVersionUpgrade only supports one minor version upgrade but got %.2f [invalid: %q -> %q]", delta, cfg.Version, cfg.AddOnClusterVersionUpgrade.Version)
	}

	return nil
}