text:
05" y2="11.95" layer="94"/>
<rectangle x1="-0.85" y1="11.85" x2="-0.15" y2="11.95" layer="94"/>
<rectangle x1="0.05" y1="11.85" x2="0.15" y2="11.95" layer="94"/>
<rectangle x1="9.85" y1="11.85" x2="10.45" y2="11.95" layer="94"/>
<rectangle x1="10.65" y1="11.85" x2="11.85" y2="11.95" layer="94"/>
<rectangle x1="-12.25" y1="11.95" x2="-10.45" y2="12.05" layer="94"/>
<rectangle x1="-10.15" y1="11.95" x2="-8.25" y2="12.05" layer="94"/>
<rectangle x1="-2.75" y1="11.95" x2="-2.65" y2="12.05" layer="94"/>
<rectangle x1="-2.45" y1="11.95" x2="-1.65" y2="12.05" layer="94"/>
<rectangle x1="-1.55" y1="11.95" x2="-1.15" y2="12.05" layer="94"/>
<rectangle x1="-0.95" y1="11.95" x2="-0.15" y2="12.05" layer="94"/>
<rectangle x1="9.75" y1="11.95" x2="10.55" y2="12.05" layer="94"/>
<rectangle x1="10.75" y1="11.95" x2="11.95" y2="12.05" layer="94"/>
<rectangle x1="-12.25" y1="12.05" x2="-10.65" y2="12.15" layer="94"/>
<rectangle x1="-10.35" y1="12.05" x2="-8.35" y2="12.15" layer="94"/>
<rectangle x1="-1.35" y1="12.05" x2="-1.25" y2="12.15" layer="94"/>
<rectangle x1="-1.05" y1="12.05" x2="-0.75" y2="12.15" layer="94"/>
<rectangle x1="9.85" y1="12.05" x2="10.65" y2="12.15" layer="94"/>
<rectangle x1="10.95" y1="12.05" x2="12.05" y2="12.15" layer="94"/>
<rectangle x1="-12.15" y1="12.15" x2="-10.85" y2="12.25" layer="94"/>
<rectangle x1="-10.55" y1="12.15" x2="-8.65" y2="12.25" layer="94"/>
<rectangle x1="9.65" y1="12.15" x2="9.75" y2="12.25" layer="94"/>
<rectangle x1="9.95" y1="12.15" x2="10.85" y2="12.25" layer="94"/>
<rectangle x1="11.15" y1="12.15" x2="12.05" y2="12.25" layer="94"/>
<rectangle x1="-11.95" y1="12.25" x2="-10.95" y2="12.35" layer="94"/>
<rectangle x1="-10.65" y1="12.25" x2="-8.95" y2="12.35" layer="94"/>
<rectangle x1="9.65" y1="12.25" x2="9.85" y2="12.35" layer="94"/>
<rectangle x1="10.05" y1="12.25" x2="11.05" y2="12.35" layer="94"/>
<rectangle x1="11.35" y1="12.25" x2="12.15" y2="12.35" layer="94"/>
<rectangle x1="-11.85" y1="12.35" x2="-11.15" y2="12.45" layer="94"/>
<rectangle x1="-10.85" y1="12.35" x2="-9.15" y2="12.45" layer="94"/>
<rectangle x1="-8.75" y1="12.35" x2="-8.45" y2="12.45" layer="94"/>
<rectangle x1="9.55" y1="12.35" x2="9.95" y2="12.45" layer="94"/>
<rectangle x1="10.15" y1="12.35" x2="11.25" y2="12.45" layer="94"/>
<rectangle x1="11.55" y1="12.35" x2="12.15" y2="12.45" layer="94"/>
<rectangle x1="-11.75" y1="12.45" x2="-11.25" y2="12.55" layer="94"/>
<rectangle x1="-11.05" y1="12.45" x2="-9.35" y2="12.55" layer="94"/>
<rectangle x1="-8.95" y1="12.45" x2="-8.55" y2="12.55" layer="94"/>
<rectangle x1="9.45" y1="12.45" x2="10.05" y2="12.55" layer="94"/>
<rectangle x1="10.35" y1="12.45" x2="11.35" y2="12.55" layer="94"/>
<rectangle x1="11.65" y1="12.45" x2="12.25" y2="12.55" layer="94"/>
<rectangle x1="-11.65" y1="12.55" x2="-11.35" y2="12.65" layer="94"/>
<rectangle x1="-11.15" y1="12.55" x2="-9.55" y2="12.65" layer="94"/>
<rectangle x1="-9.15" y1="12.55" x2="-8.65" y2="12.65" layer="94"/>
<rectangle x1="9.45" y1="12.55" x2="10.25" y2="12.65" layer="94"/>
<rectangle x1="10.45" y1="12.55" x2="11.55" y2="12.65" layer="94"/>
<rectangle x1="11.75" y1="12.55" x2="12.25" y2="12.65" layer="94"/>
<rectangle x1="-11.55" y1="12.65" x2="-11.45" y2="12.75" layer="94"/>
<rectangle x1="-11.25" y1="12.65" x2="-9.65" y2="12.75" layer="94"/>
<rectangle x1="-9.35" y1="12.65" x2="-8.75" y2="12.75" layer="94"/>
<rectangle x1="9.45" y1="12.65" x2="10.35" y2="12.75" layer="94"/>
<rectangle x1="10.65" y1="12.65" x2="11.65" y2="12.75" layer="94"/>
<rectangle x1="11.85" y1="12.65" x2="12.25" y2="12.75" layer="94"/>
<rectangle x1="-11.35" y1="12.75" x2="-9.85" y2="12.85" layer="94"/>
<rectangle x1="-9.55" y1="12.75" x2="-8.85" y2="12.85" layer="94"/>
<rectangle x1="9.35" y1="12.75" x2="10.55" y2="12.85" layer="94"/>
<rectangle x1="10.75" y1="12.75" x2="11.75" y2="12.85" layer="94"/>
<rectangle x1="11.95" y1="12.75" x2="12.25" y2="12.85" layer="94"/>
<rectangle x1="-11.35" y1="12.85" x2="-9.95" y2="12.95" layer="94"/>
<rectangle x1="-9.65" y1="12.85" x2="-8.95" y2="12.95" layer="94"/>
<rectangle x1="9.45" y1="12.85" x2="10.65" y2="12.95" layer="94"/>
<rectangle x1="10.95" y1="12.85" x2="11.85" y2="12.95" layer="94"/>
<rectangle x1="12.05" y1="12.85" x2="12.25" y2="12.95" layer="94"/>
<rectangle x1="-11.15" y1="12.95" x2="-10.05" y2="13.05" layer="94"/>
<rectangle x1="-9.85" y1="12.95" x2="-9.05" y2="13.05" layer="94"/>
<rectangle x1="9.25" y1="12.95" x2="9.35" y2="13.05" layer="94"/>
<rectangle x1="9.65" y1="12.95" x2="10.85" y2="13.05" layer="94"/>
<rectangle x1="11.05" y1="12.95" x2="11.95" y2="13.05" layer="94"/>
<rectangle x1="12.15" y1="12.95" x2="12.25" y2="13.05" layer="94"/>
<rectangle x1="-11.05" y1="13.05" x2="-10.15" y2="13.15" layer="94"/>
<rectangle x1="-9.95" y1="13.05" x2="-9.15" y2="13.15" layer="94"/>
<rectangle x1="9.25" y1="13.05" x2="9.55" y2="13.15" layer="94"/>
<rectangle x1="9.85" y1="13.05" x2="10.95" y2="13.15" layer="94"/>
<rectangle x1="11.25" y1="13.05" x2="12.05" y2="13.15" layer="94"/>
<rectangle x1="-10.95" y1="13.15" x2="-10.25" y2="13.25" layer="94"/>
<rectangle x1="-10.05" y1="13.15" x2="-9.35" y2="13.25" layer="94"/>
<rectangle x1="9.15" y1="13.15" x2="9.65" y2="13.25" layer="94"/>
<rectangle x1="10.15" y1="13.15" x2="11.15" y2="13.25" layer="94"/>
<rectangle x1="11.35" y1="13.15" x2="12.15" y2="13.25" layer="94"/>
<rectangle x1="-10.75" y1="13.25" x2="-10.35" y2="13.35" layer="94"/>
<rectangle x1="-10.15" y1="13.25" x2="-9.55" y2="13.35" layer="94"/>
<rectangle x1="9.15" y1="13.25" x2="9.85" y2="13.35" layer="94"/>
<rectangle x1="10.35" y1="13.25" x2="11.25" y2="13.35" layer="94"/>
<rectangle x1="11.45" y1="13.25" x2="12.25" y2="13.35" layer="94"/>
<rectangle x1="-10.55" y1="13.35" x2="-10.45" y2="13.45" layer="94"/>
<rectangle x1="-10.35" y1="13.35" x2="-9.85" y2="13.45" layer="94"/>
<rectangle x1="9.15" y1="13.35" x2="10.15" y2="13.45" layer="94"/>
<rectangle x1="10.65" y1="13.35" x2="11.35" y2="13.45" layer="94"/>
<rectangle x1="11.55" y1="13.35" x2="12.15" y2="13.45" layer="94"/>
<rectangle x1="9.05" y1="13.45" x2="10.45" y2="13.55" layer="94"/>
<rectangle x1="10.75" y1="13.45" x2="11.45" y2="13.55" layer="94"/>
<rectangle x1="11.55" y1="13.45" x2="12.15" y2="13.55" layer="94"/>
<rectangle x1="9.05" y1="13.55" x2="10.65" y2="13.65" layer="94"/>
<rectangle x1="10.85" y1="13.55" x2="11.45" y2="13.65" layer="94"/>
<rectangle x1="11.65" y1="13.55" x2="12.15" y2="13.65" layer="94"/>
<rectangle x1="9.05" y1="13.65" x2="10.75" y2="13.75" layer="94"/>
<rectangle x1="10.95" y1="13.65" x2="11.55" y2="13.75" layer="94"/>
<rectangle x1="11.65" y1="13.65" x2="12.05" y2="13.75" layer="94"/>
<rectangle x1="9.05" y1="13.75" x2="10.85" y2="13.85" layer="94"/>
<rectangle x1="11.05" y1="13.75" x2="11.55" y2="13.85" layer="94"/>
<rectangle x1="11.75" y1="13.75" x2="12.05" y2="13.85" layer="94"/>
<rectangle x1="9.05" y1="13.85" x2="10.95" y2="13.95" layer="94"/>
<rectangle x1="11.15" y1="13.85" x2="11.55" y2="13.95" layer="94"/>
<rectangle x1="11.75" y1="13.85" x2="11.95" y2="13.95" layer="94"/>
<rectangle x1="10.25" y1="13.95" x2="10.95" y2="14.05" layer="94"/>
<rectangle x1="11.15" y1="13.95" x2="11.55" y2="14.05" layer="94"/>
<rectangle x1="11.75" y1="13.95" x2="11.85" y2="14.05" layer="94"/>
<rectangle x1="8.95" y1="14.05" x2="9.15" y2="14.15" layer="94"/>
<rectangle x1="9.55" y1="14.05" x2="10.05" y2="14.15" layer="94"/>
<rectangle x1="10.35" y1="14.05" x2="11.05" y2="14.15" layer="94"/>
<rectangle x1="11.25" y1="14.05" x2="11.65" y2="14.15" layer="94"/>
<rectangle x1="9.05" y1="14.15" x2="10.25" y2="14.25" layer="94"/>
<rectangle x1="10.55" y1="14.15" x2="11.05" y2="14.25" layer="94"/>
<rectangle x1="11.25" y1="14.15" x2="11.65" y2="14.25" layer="94"/>
<rectangle x1="9.05" y1="14.25" x2="10.45" y2="14.35" layer="94"/>
<rectangle x1="10.65" y1="14.25" x2="11.15" y2="14.35" layer="94"/>
<rectangle x1="11.25" y1="14.25" x2="11.65" y2="14.35" layer="94"/>
<rectangle x1="9.05" y1="14.35" x2="10.55" y2="14.45" layer="94"/>
<rectangle x1="10.75" y1="14.35" x2="11.15" y2="14.45" layer="94"/>
<rectangle x1="11.35" y1="14.35" x2="11.55" y2="14.45" layer="94"/>
<rectangle x1="9.15" y1="14.45" x2="10.65" y2="14.55" layer="94"/>
<rectangle x1="10.85" y1="14.45" x2="11.15" y2="14.55" layer="94"/>
<rectangle x1="11.35" y1="14.45" x2="11.45" y2="14.55" layer="94"/>
<rectangle x1="9.15" y1="14.55" x2="10.75" y2="14.65" layer="94"/>
<rectangle x1="10.85" y1="14.55" x2="11.25" y2="14.65" layer="94"/>
<rectangle x1="9.35" y1="14.65" x2="10.75" y2="14.75" layer="94"/>
<rectangle x1="10.95" y1="14.65" x2="11.25" y2="14.75" layer="94"/>
<rectangle x1="9.45" y1="14.75" x2="10.85" y2="14.85" layer="94"/>
<rectangle x1="10.95" y1="14.75" x2="11.15" y2="14.85" layer="94"/>
<rectangle x1="9.65" y1="14.85" x2="10.95" y2="14.95" layer="94"/>
<rectangle x1="9.95" y1="14.95" x2="10.95" y2="15.05" layer="94"/>
<rectangle x1="10.25" y1="15.05" x2="10.75" y2="15.15" layer="94"/>
<rectangle x1="-5.15" y1="-4.35" x2="-4.25" y2="-4.25" layer="95"/>
<rectangle x1="2.35" y1="-4.35" x2="2.85" y2="-4.25" layer="95"/>
<rectangle x1="5.25" y1="-4.35" x2="5.65" y2="-4.25" layer="95"/>
<rectangle x1="-5.55" y1="-4.25" x2="-3.85" y2="-4.15" layer="95"/>
<rectangle x1="2.25" y1="-4.25" x2="2.95" y2="-4.15" layer="95"/>
<rectangle x1="5.05" y1="-4.25" x2="5.85" y2="-4.15" layer="95"/>
<rectangle x1="-5.75" y1="-4.15" x2="-3.65" y2="-4.05" layer="95"/>
<rectangle x1="2.15" y1="-4.15" x2="3.05" y2="-4.05" layer="95"/>
<rectangle x1="4.95" y1="-4.15" x2="5.95" y2="-4.05" layer="95"/>
<rectangle x1="-5.95" y1="-4.05" x2="-3.55" y2="-3.95" layer="95"/>
<rectangle x1="2.05" y1="-4.05" x2="3.15" y2="-3.95" layer="95"/>
<rectangle x1="4.95" y1="-4.05" x2="5.95" y2="-3.95" layer="95"/>
<rectangle x1="-6.05" y1="-3.95" x2="-3.35" y2="-3.85" layer="95"/>
<rectangle x1="2.05" y1="-3.95" x2="3.15" y2="-3.85" layer="95"/>
<rectangle x1="4.85" y1="-3.95" x2="6.05" y2="-3.85" layer="95"/>
<rectangle x1="-6.15" y1="-3.85" x2="-3.25" y2="-3.75" layer="95"/>
<rectangle x1="2.05" y1="-3.85" x2="3.15" y2="-3.75" layer="95"/>
<rectangle x1="4.85" y1="-3.85" x2="6.05" y2="-3.75" layer="95"/>
<rectangle x1="-6.25" y1="-3.75" x2="-3.15" y2="-3.65" layer="95"/>
<rectangle x1="1.95" y1="-3.75" x2="3.15" y2="-3.65" layer="95"/>
<rectangle x1="4.85" y1="-3.75" x2="6.05" y2="-3.65" layer="95"/>
<rectangle x1="-6.35" y1="-3.65" x2="-3.05" y2="-3.55" layer="95"/>
<rectangle x1="-0.55" y1="-3.65" x2="-0.45" y2="-3.55" layer="95"/>
<rectangle x1="1.95" y1="-3.65" x2="3.15" y2="-3.55" layer="95"/>
<rectangle x1="4.85" y1="-3.65" x2="6.05" y2="-3.55" layer="95"/>
<rectangle x1="-6.45" y1="-3.55" x2="-2.95" y2="-3.45" layer="95"/>
<rectangle x1="-0.65" y1="-3.55" x2="-0.45" y2="-3.45" layer="95"/>
<rectangle x1="1.95" y1="-3.55" x2="3.15" y2="-3.45" layer="95"/>
<rectangle x1="4.85" y1="-3.55" x2="6.05" y2="-3.45" layer="95"/>
<rectangle x1="-6.55" y1="-3.45" x2="-2.85" y2="-3.35" layer="95"/>
<rectangle x1="-0.65" y1="-3.45" x2="-0.45" y2="-3.35" layer="95"/>
<rectangle x1="1.95" y1="-3.45" x2="3.15" y2="-3.35" layer="95"/>
<rectangle x1="4.85" y1="-3.45" x2="6.05" y2="-3.35" layer="95"/>
<rectangle x1="-6.55" y1="-3.35" x2="-2.85" y2="-3.25" layer="95"/>
<rectangle x1="-0.65" y1="-3.35" x2="-0.45" y2="-3.25" layer="95"/>
<rectangle x1="1.95" y1="-3.35" x2="3.15" y2="-3.25" layer="95"/>
<rectangle x1="4.85" y1="-3.35" x2="6.05" y2="-3.25" layer="95"/>
<rectangle x1="-6.65" y1="-3.25" x2="-2.75" y2="-3.15" layer="95"/>
<rectangle x1="-0.75" y1="-3.25" x2="-0.45" y2="-3.15" layer="95"/>
<rectangle x1="1.95" y1="-3.25" x2="3.15" y2="-3.15" layer="95"/>
<rectangle x1="4.85" y1="-3.25" x2="6.05" y2="-3.15" layer="95"/>
<rectangle x1="-6.75" y1="-3.15" x2="-5.05" y2="-3.05" layer="95"/>
<rectangle x1="-4.35" y1="-3.15" x2="-2.75" y2="-3.05" layer="95"/>
<rectangle x1="-0.85" y1="-3.15" x2="-0.45" y2="-3.05" layer="95"/>
<rectangle x1="1.95" y1="-3.15" x2="3.15" y2="-3.05" layer="95"/>
<rectangle x1="4.85" y1="-3.15" x2="6.05" y2="-3.05" layer="95"/>
<rectangle x1="-6.75" y1="-3.05" x2="-5.25" y2="-2.95" layer="95"/>
<rectangle x1="-4.15" y1="-3.05" x2="-2.65" y2="-2.95" layer="95"/>
<rectangle x1="-0.95" y1="-3.05" x2="-0.45" y2="-2.95" layer="95"/>
<rectangle x1="1.95" y1="-3.05" x2="3.05" y2="-2.95" layer="95"/>
<rectangle x1="4.85" y1="-3.05" x2="6.05" y2="-2.95" layer="95"/>
<rectangle x1="-6.75" y1="-2.95" x2="-5.35" y2="-2.85" layer="95"/>
<rectangle x1="-4.05" y1="-2.95" x2="-2.65" y2="-2.85" layer="95"/>
<rectangle x1="-0.95" y1="-2.95" x2="-0.45" y2="-2.85" layer="95"/>
<rectangle x1="1.85" y1="-2.95" x2="3.05" y2="-2.85" layer="95"/>
<rectangle x1="4.85" y1="-2.95" x2="6.05" y2="-2.85" layer="95"/>
<rectangle x1="-6.85" y1="-2.85" x2="-5.55" y2="-2.75" layer="95"/>
<rectangle x1="-3.85" y1="-2.85" x2="-2.65" y2="-2.75" layer="95"/>
<rectangle x1="-1.05" y1="-2.85" x2="-0.45" y2="-2.75" layer="95"/>
<rectangle x1="1.85" y1="-2.85" x2="3.05" y2="-2.75" layer="95"/>
<rectangle x1="4.85" y1="-2.85" x2="6.05" y2="-2.75" layer="95"/>
<rectangle x1="-6.85" y1="-2.75" x2="-5.55" y2="-2.65" layer="95"/>
<rectangle x1="-3.85" y1="-2.75" x2="-2.55" y2="-2.65" layer="95"/>
<rectangle x1="-1.15" y1="-2.75" x2="-0.45" y2="-2.65" layer="95"/>
<rectangle x1="1.85" y1="-2.75" x2="3.05" y2="-2.65" layer="95"/>
<rectangle x1="4.85" y1="-2.75" x2="6.05" y2="-2.65" layer="95"/>
<rectangle x1="-6.85" y1="-2.65" x2="-5.65" y2="-2.55" layer="95"/>
<rectangle x1="-3.75" y1="-2.65" x2="-2.55" y2="-2.55" layer="95"/>
<rectangle x1="-1.25" y1="-2.65" x2="-0.45" y2="-2.55" layer="95"/>
<rectangle x1="1.85" y1="-2.65" x2="3.05" y2="-2.55" layer="95"/>
<rectangle x1="4.85" y1="-2.65" x2="6.05" y2="-2.55" layer="95"/>
<rectangle x1="-6.95" y1="-2.55" x2="-5.75" y2="-2.45" layer="95"/>
<rectangle x1="-3.75" y1="-2.55" x2="-2.55" y2="-2.45" layer="95"/>
<rectangle x1="-1.35" y1="-2.55" x2="-0.45" y2="-2.45" layer="95"/>
<rectangle x1="1.85" y1="-2.55" x2="3.05" y2="-2.45" layer="95"/>
<rectangle x1="4.85" y1="-2.55" x2="6.05" y2="-2.45" layer="95"/>
<rectangle x1="-6.95" y1="-2.45" x2="-5.75" y2="-2.35" layer="95"/>
<rectangle x1="-3.65" y1="-2.45" x2="-2.45" y2="-2.35" layer="95"/>
<rectangle x1="-1.45" y1="-2.45" x2="-0.45" y2="-2.35" layer="95"/>
<rectangle x1="1.85" y1="-2.45" x2="2.95" y2="-2.35" layer="95"/>
<rectangle x1="4.85" y1="-2.45" x2="6.05" y2="-2.35" layer="95"/>
<rectangle x1="-6.95" y1="-2.35" x2="-5.75" y2="-2.25" layer="95"/>
<rectangle x1="-3.65" y1="-2.35" x2="-2.45" y2="-2.25" layer="95"/>
<rectangle x1="-1.55" y1="-2.35" x2="-0.45" y2="-2.25" layer="95"/>
<rectangle x1="1.85" y1="-2.35" x2="2.95" y2="-2.25" layer="95"/>
<rectangle x1="4.85" y1="-2.35" x2="6.05" y2="-2.25" layer="95"/>
<rectangle x1="-6.95" y1="-2.25" x2="-5.75" y2="-2.15" layer="95"/>
<rectangle x1="-3.65" y1="-2.25" x2="-2.45" y2="-2.15" layer="95"/>
<rectangle x1="-1.65" y1="-2.25" x2="-0.45" y2="-2.15" layer="95"/>
<rectangle x1="1.75" y1="-2.25" x2="2.95" y2="-2.15" layer="95"/>
<rectangle x1="4.85" y1="-2.25" x2="6.05" y2="-2.15" layer="95"/>
<rectangle x1="-6.95" y1="-2.15" x2="-5.75" y2="-2.05" layer="95"/>
<rectangle x1="-3.65" y1="-2.15" x2="-2.45" y2="-2.05" layer="95"/>
<rectangle x1="-1.75" y1="-2.15" x2="-0.45" y2="-2.05" layer="95"/>
<rectangle x1="1.75" y1="-2.15" x2="2.95" y2="-2.05" layer="95"/>
<rectangle x1="4.85" y1="-2.15" x2="6.05" y2="-2.05" layer="95"/>
<rectangle x1="-6.95" y1="-2.05" x2="-5.75" y2="-1.95" layer="95"/>
<rectangle x1="-3.65" y1="-2.05" x2="-2.45" y2="-1.95" layer="95"/>
<rectangle x1="-1.75" y1="-2.05" x2="-0.45" y2="-1.95" layer="95"/>
<rectangle x1="1.75" y1="-2.05" x2="2.95" y2="-1.95" layer="95"/>
<rectangle x1="4.85" y1="-2.05" x2="6.05" y2="-1.95" layer="95"/>
<rectangle x1="-6.95" y1="-1.95" x2="-5.75" y2="-1.85" layer="95"/>
<rectangle x1="-3.65" y1="-1.95" x2="-2.55" y2="-1.85" layer="95"/>
<rectangle x1="-1.75" y1="-1.95" x2="-0.45" y2="-1.85" layer="95"/>
<rectangle x1="1.75" y1="-1.95" x2="2.95" y2="-1.85" layer="95"/>
<rectangle x1="4.85" y1="-1.95" x2="6.05" y2="-1.85" layer="95"/>
<rectangle x1="-6.95" y1="-1.85" x2="-5.75" y2="-1.75" layer="95"/>
<rectangle x1="-3.55" y1="-1.85" x2="-2.55" y2="-1.75" layer="95"/>
<rectangle x1="-1.75" y1="-1.85" x2="-0.45" y2="-1.75" layer="95"/>
<rectangle x1="1.75" y1="-1.85" x2="2.95" y2="-1.75" layer="95"/>
<rectangle x1="4.85" y1="-1.85" x2="6.05" y2="-1.75" layer="95"/>
<rectangle x1="-6.95" y1="-1.75" x2="-5.75" y2="-1.65" layer="95"/>
<rectangle x1="-3.45" y1="-1.75" x2="-2.65" y2="-1.65" layer="95"/>
<rectangle x1="-1.75" y1="-1.75" x2="-0.45" y2="-1.65" layer="95"/>
<rectangle x1="1.75" y1="-1.75" x2="2.85" y2="-1.65" layer="95"/>
<rectangle x1="4.85" y1="-1.75" x2="6.05" y2="-1.65" layer="95"/>
<rectangle x1="-6.95" y1="-1.65" x2="-5.75" y2="-1.55" layer="95"/>
<rectangle x1="-3.35" y1="-1.65" x2="-2.75" y2="-1.55" layer="95"/>
<rectangle x1="-1.75" y1="-1.65" x2="-0.45" y2="-1.55" layer="95"/>
<rectangle x1="1.75" y1="-1.65" x2="2.85" y2="-1.55" layer="95"/>
<rectangle x1="4.85" y1="-1.65" x2="6.05" y2="-1.55" layer="95"/>
<rectangle x1="-6.95" y1="-1.55" x2="-5.75" y2="-1.45" layer="95"/>
<rectangle x1="-1.75" y1="-1.55" x2="-0.45" y2="-1.45" layer="95"/>
<rectangle x1="1.65" y1="-1.55" x2="2.85" y2="-1.45" layer="95"/>
<rectangle x1="4.85" y1="-1.55" x2="6.05" y2="-1.45" layer="95"/>
<rectangle x1="-6.95" y1="-1.45" x2="-5.75" y2="-1.35" layer="95"/>
<rectangle x1="-1.75" y1="-1.45" x2="-0.45" y2="-1.35" layer="95"/>
<rectangle x1="1.65" y1="-1.45" x2="2.85" y2="-1.35" layer="95"/>
<rectangle x1="4.85" y1="-1.45" x2="6.05" y2="-1.35" layer="95"/>
<rectangle x1="-6.95" y1="-1.35" x2="-5.75" y2="-1.25" layer="95"/>
<rectangle x1="-1.75" y1="-1.35" x2="-0.45" y2="-1.25" layer="95"/>
<rectangle x1="1.65" y1="-1.35" x2="2.85" y2="-1.25" layer="95"/>
<rectangle x1="4.85" y1="-1.35" x2="6.05" y2="-1.25" layer="95"/>
<rectangle x1="-6.95" y1="-1.25" x2="-5.75" y2="-1.15" layer="95"/>
<rectangle x1="-1.75" y1="-1.25" x2="-0.45" y2="-1.15" layer="95"/>
<rectangle x1="1.65" y1="-1.25" x2="2.85" y2="-1.15" layer="95"/>
<rectangle x1="4.85" y1="-1.25" x2="6.05" y2="-1.15" layer="95"/>
<rectangle x1="-6.95" y1="-1.15" x2="-5.75" y2="-1.05" layer="95"/>
<rectangle x1="-1.75" y1="-1.15" x2="-0.45" y2="-1.05" layer="95"/>
<rectangle x1="1.65" y1="-1.15" x2="2.85" y2="-1.05" layer="95"/>
<rectangle x1="4.85" y1="-1.15" x2="6.05" y2="-1.05" layer="95"/>
<rectangle x1="-6.95" y1="-1.05" x2="-5.75" y2="-0.95" layer="95"/>
<rectangle x1="-1.75" y1="-1.05" x2="-0.45" y2="-0.95" layer="95"/>
<rectangle x1="1.65" y1="-1.05" x2="2.85" y2="-0.95" layer="95"/>
<rectangle x1="4.85" y1="-1.05" x2="6.05" y2="-0.95" layer="95"/>
<rectangle x1="-6.95" y1="-0.95" x2="-5.75" y2="-0.85" layer="95"/>
<rectangle x1="-1.75" y1="-0.95" x2="-0.45" y2="-0.85" layer="95"/>
<rectangle x1="1.55" y1="-0.95" x2="2.75" y2="-0.85" layer="95"/>
<rectangle x1="4.85" y1="-0.95" x2="6.05" y2="-0.85" layer="95"/>
<rectangle x1="-6.95" y1="-0.85" x2="-5.75" y2="-0.75" layer="95"/>
<rectangle x1="-1.75" y1="-0.85" x2="-0.45" y2="-0.75" layer="95"/>
<rectangle x1="1.55" y1="-0.85" x2="2.75" y2="-0.75" layer="95"/>
<rectangle x1="4.85" y1="-0.85" x2="6.05" y2="-0.75" layer="95"/>
<rectangle x1="-6.95" y1="-0.75" x2="-5.75" y2="-0.65" layer="95"/>
<rectangle x1="-1.75" y1="-0.75" x2="-0.45" y2="-0.65" layer="95"/>
<rectangle x1="1.45" y1="-0.75" x2="2.75" y2="-0.65" layer="95"/>
<rectangle x1="4.85" y1="-0.75" x2="6.05" y2="-0.65" layer="95"/>
<rectangle x1="-6.95" y1="-0.65" x2="-5.75" y2="-0.55" layer="95"/>
<rectangle x1="-1.75" y1="-0.65" x2="-0.45" y2="-0.55" layer="95"/>
<rectangle x1="1.35" y1="-0.65" x2="2.65" y2="-0.55" layer="95"/>
<rectangle x1="4.85" y1="-0.65" x2="6.05" y2="-0.55" layer="95"/>
<rectangle x1="-6.95" y1="-0.55" x2="-5.75" y2="-0.45" layer="95"/>
<rectangle x1="-1.75" y1="-0.55" x2="-0.45" y2="-0.45" layer="95"/>
<rectangle x1="1.25" y1="-0.55" x2="2.65" y2="-0.45" layer="95"/>
<rectangle x1="4.85" y1="-0.55" x2="6.05" y2="-0.45" layer="95"/>
<rectangle x1="-6.95" y1="-0.45" x2="-5.75" y2="-0.35" layer="95"/>
<rectangle x1="-1.75" y1="-0.45" x2="-0.45" y2="-0.35" layer="95"/>
<rectangle x1="1.15" y1="-0.45" x2="2.65" y2="-0.35" layer="95"/>
<rectangle x1="4.85" y1="-0.45" x2="6.05" y2="-0.35" layer="95"/>
<rectangle x1="-6.95" y1="-0.35" x2="-5.75" y2="-0.25" layer="95"/>
<rectangle x1="-1.75" y1="-0.35" x2="-0.35" y2="-0.25" layer="95"/>
<rectangle x1="0.75" y1="-0.35" x2="2.55" y2="-0.25" layer="95"/>
<rectangle x1="4.85" y1="-0.35" x2="6.05" y2="-0.25" layer="95"/>
<rectangle x1="-6.95" y1="-0.25" x2="-5.75" y2="-0.15" layer="95"/>
<rectangle x1="-1.75" y1="-0.25" x2="2.55" y2="-0.15" layer="95"/>
<rectangle x1="4.85" y1="-0.25" x2="6.05" y2="-0.15" layer="95"/>
<rectangle x1="-6.95" y1="-0.15" x2="-5.75" y2="-0.05" layer="95"/>
<rectangle x1="-1.75" y1="-0.15" x2="2.45" y2="-0.05" layer="95"/>
<rectangle x1="4.85" y1="-0.15" x2="6.05" y2="-0.05" layer="95"/>
<rectangle x1="-6.95" y1="-0.05" x2="-5.75" y2="0.05" layer="95"/>
<rectangle x1="-1.75" y1="-0.05" x2="2.35" y2="0.05" layer="95"/>
<rectangle x1="4.85" y1="-0.05" x2="6.05" y2="0.05" layer="95"/>
<rectangle x1="-6.95" y1="0.05" x2="-5.75" y2="0.15" layer="95"/>
<rectangle x1="-1.75" y1="0.05" x2="2.35" y2="0.15" layer="95"/>
<rectangle x1="4.85" y1="0.05" x2="6.05" y2="0.15" layer="95"/>
<rectangle x1="-6.95" y1="0.15" x2="-5.75" y2="0.25" layer="95"/>
<rectangle x1="-1.75" y1="0.15" x2="2.35" y2="0.25" layer="95"/>
<rectangle x1="4.85" y1="0.15" x2="6.05" y2="0.25" layer="95"/>
<rectangle x1="-6.95" y1="0.25" x2="-5.75" y2="0.35" layer="95"/>
<rectangle x1="-1.75" y1="0.25" x2="2.35" y2="0.35" layer="95"/>
<rectangle x1="4.85" y1="0.25" x2="6.05" y2="0.35" layer="95"/>
<rectangle x1="-6.95" y1="0.35" x2="-5.75" y2="0.45" layer="95"/>
<rectangle x1="-1.75" y1="0.35" x2="2.35" y2="0.45" layer="95"/>
<rectangle x1="4.85" y1="0.35" x2="6.05" y2="0.45" layer="95"/>
<rectangle x1="-6.95" y1="0.45" x2="-5.75" y2="0.55" layer="95"/>
<rectangle x1="-1.75" y1="0.45" x2="2.45" y2="0.55" layer="95"/>
<rectangle x1="4.85" y1="0.45" x2="6.05" y2="0.55" layer="95"/>
<rectangle x1="-6.95" y1="0.55" x2="-5.75" y2="0.65" layer="95"/>
<rectangle x1="-1.75" y1="0.55" x2="2.55" y2="0.65" layer="95"/>
<rectangle x1="4.85" y1="0.55" x2="6.05" y2="0.65" layer="95"/>
<rectangle x1="-6.95" y1="0.65" x2="-5.75" y2="0.75" layer="95"/>
<rectangle x1="-1.75" y1="0.65" x2="2.65" y2="0.75" layer="95"/>
<rectangle x1="4.85" y1="0.65" x2="6.05" y2="0.75" layer="95"/>
<rectangle x1="-6.95" y1="0.75" x2="-5.75" y2="0.85" layer="95"/>
<rectangle x1="-1.75" y1="0.75" x2="2.75" y2="0.85" layer="95"/>
<rectangle x1="4.85" y1="0.75" x2="6.05" y2="0.85" layer="95"/>
<rectangle x1="-6.95" y1="0.85" x2="-5.75" y2="0.95" layer="95"/>
<rectangle x1="-1.75" y1="0.85" x2="2.85" y2="0.95" layer="95"/>
<rectangle x1="4.85" y1="0.85" x2="6.05" y2="0.95" layer="95"/>
<rectangle x1="-6.95" y1="0.95" x2="-5.75" y2="1.05" layer="95"/>
<rectangle x1="-1.75" y1="0.95" x2="-0.35" y2="1.05" layer="95"/>
<rectangle x1="1.05" y1="0.95" x2="2.85" y2="1.05" layer="95"/>
<rectangle x1="4.85" y1="0.95" x2="6.05" y2="1.05" layer="95"/>
<rectangle x1="-6.95" y1="1.05" x2="-5.75" y2="1.15" layer="95"/>
<rectangle x1="-1.75" y1="1.05" x2="-0.45" y2="1.15" layer="95"/>
<rectangle x1="1.25" y1="1.05" x2="2.95" y2="1.15" layer="95"/>
<rectangle x1="4.85" y1="1.05" x2="6.05" y2="1.15" layer="95"/>
<rectangle x1="-6.95" y1="1.15" x2="-5.75" y2="1.25" layer="95"/>
<rectangle x1="-1.75" y1="1.15" x2="-0.45" y2="1.25" layer="95"/>
<rectangle x1="1.45" y1="1.15" x2="2.95" y2="1.25" layer="95"/>
<rectangle x1="4.85" y1="1.15" x2="6.05" y2="1.25" layer="95"/>
<rectangle x1="-6.95" y1="1.25" x2="-5.75" y2="1.35" layer="95"/>
<rectangle x1="-1.75" y1="1.25" x2="-0.45" y2="1.35" layer="95"/>
<rectangle x1="1.55" y1="1.25" x2="3.05" y2="1.35" layer="95"/>
<rectangle x1="4.85" y1="1.25" x2="6.05" y2="1.35" layer="95"/>
<rectangle x1="-6.95" y1="1.35" x2="-5.75" y2="1.45" layer="95"/>
<rectangle x1="-1.75" y1="1.35" x2="-0.45" y2="1.45" layer="95"/>
<rectangle x1="1.65" y1="1.35" x2="3.05" y2="1.45" layer="95"/>
<rectangle x1="4.85" y1="1.35" x2="6.05" y2="1.45" layer="95"/>
<rectangle x1="-6.95" y1="1.45" x2="-5.75" y2="1.55" layer="95"/>
<rectangle x1="-1.75" y1="1.45" x2="-0.45" y2="1.55" layer="95"/>
<rectangle x1="1.75" y1="1.45" x2="3.15" y2="1.55" layer="95"/>
<rectangle x1="4.85" y1="1.45" x2="6.05" y2="1.55" layer="95"/>
<rectangle x1="-6.95" y1="1.55" x2="-5.75" y2="1.65" layer="95"/>
<rectangle x1="-1.75" y1="1.55" x2="-0.45" y2="1.65" layer="95"/>
<rectangle x1="1.85" y1="1.55" x2="3.15" y2="1.65" layer="95"/>
<rectangle x1="4.85" y1="1.55" x2="6.05" y2="1.65" layer="95"/>
<rectangle x1="-6.95" y1="1.65" x2="-5.75" y2="1.75" layer="95"/>
<rectangle x1="-1.75" y1="1.65" x2="-0.55" y2="1.75" layer="95"/>
<rectangle x1="1.95" y1="1.65" x2="3.15" y2="1.75" layer="95"/>
<rectangle x1="4.85" y1="1.65" x2="6.05" y2="1.75" layer="95"/>
<rectangle x1="-6.95" y1="1.75" x2="-5.75" y2="1.85" layer="95"/>
<rectangle x1="-1.75" y1="1.75" x2="-0.55" y2="1.85" layer="95"/>
<rectangle x1="1.95" y1="1.75" x2="3.25" y2="1.85" layer="95"/>
<rectangle x1="4.85" y1="1.75" x2="6.05" y2="1.85" layer="95"/>
<rectangle x1="-6.95" y1="1.85" x2="-5.75" y2="1.95" layer="95"/>
<rectangle x1="-1.75" y1="1.85" x2="-0.55" y2="1.95" layer="95"/>
<rectangle x1="1.95" y1="1.85" x2="3.25" y2="1.95" layer="95"/>
<rectangle x1="4.85" y1="1.85" x2="6.05" y2="1.95" layer="95"/>
<rectangle x1="-6.95" y1="1.95" x2="-5.75" y2="2.05" layer="95"/>
<rectangle x1="-1.75" y1="1.95" x2="-0.55" y2="2.05" layer="95"/>
<rectangle x1="2.05" y1="1.95" x2="3.25" y2="2.05" layer="95"/>
<rectangle x1="4.85" y1="1.95" x2="6.05" y2="2.05" layer="95"/>
<rectangle x1="-6.95" y1="2.05" x2="-5.75" y2="2.15" layer="95"/>
<rectangle x1="-1.75" y1="2.05" x2="-0.55" y2="2.15" layer="95"/>
<rectangle x1="2.05" y1="2.05" x2="3.25" y2="2.15" layer="95"/>
<rectangle x1="4.85" y1="2.05" x2="6.05" y2="2.15" layer="95"/>
<rectangle x1="-6.95" y1="2.15" x2="-5.75" y2="2.25" layer="95"/>
<rectangle x1="-3.25" y1="2.15" x2="-2.85" y2="2.25" layer="95"/>
<rectangle x1="-1.75" y1="2.15" x2="-0.55" y2="2.25" layer="95"/>
<rectangle x1="2.05" y1="2.15" x2="3.25" y2="2.25" layer="95"/>
<rectangle x1="4.85" y1="2.15" x2="6.05" y2="2.25" layer="95"/>
<rectangle x1="-6.95" y1="2.25" x2="-5.75" y2="2.35" layer="95"/>
<rectangle x1="-3.45" y1="2.25" x2="-2.75" y2="2.35" layer="95"/>
<rectangle x1="-1.75" y1="2.25" x2="-0.55" y2="2.35" layer="95"/>
<rectangle x1="2.05" y1="2.25" x2="3.35" y2="2.35" layer="95"/>
<rectangle x1="4.85" y1="2.25" x2="6.05" y2="2.35" layer="95"/>
<rectangle x1="-6.95" y1="2.35" x2="-5.75" y2="2.45" layer="95"/>
<rectangle x1="-3.55" y1="2.35" x2="-2.65" y2="2.45" layer="95"/>
<rectangle x1="-1.75" y1="2.35" x2="-0.55" y2="2.45" layer="95"/>
<rectangle x1="2.05" y1="2.35" x2="3.35" y2="2.45" layer="95"/>
<rectangle x1="4.85" y1="2.35" x2="6.05" y2="2.45" layer="95"/>
<rectangle x1="-6.95" y1="2.45" x2="-5.75" y2="2.55" layer="95"/>
<rectangle x1="-3.65" y1="2.45" x2="-2.55" y2="2.55" layer="95"/>
<rectangle x1="-1.75" y1="2.45" x2="-0.55" y2="2.55" layer="95"/>
<rectangle x1="2.05" y1="2.45" x2="3.25" y2="2.55" layer="95"/>
<rectangle x1="4.85" y1="2.45" x2="6.05" y2="2.55" layer="95"/>
<rectangle x1="-6.95" y1="2.55" x2="-5.75" y2="2.65" layer="95"/>
<rectangle x1="-3.65" y1="2.55" x2="-2.55" y2="2.65" layer="95"/>
<rectangle x1="-1.75" y1="2.55" x2="-0.55" y2="2.65" layer="95"/>
<rectangle x1="2.05" y1="2.55" x2="3.25" y2="2.65" layer="95"/>
<rectangle x1="4.85" y1="2.55" x2="6.05" y2="2.65" layer="95"/>
<rectangle x1="-6.95" y1="2.65" x2="-5.75" y2="2.75" layer="95"/>
<rectangle x1="-3.65" y1="2.65" x2="-2.45" y2="2.75" layer="95"/>
<rectangle x1="-1.75" y1="2.65" x2="-0.55" y2="2.75" layer="95"/>
<rectangle x1="2.05" y1="2.65" x2="3.25" y2="2.75" layer="95"/>
<rectangle x1="4.85" y1="2.65" x2="6.05" y2="2.75" layer="95"/>
<rectangle x1="-6.95" y1="2.75" x2="-5.75" y2="2.85" layer="95"/>
<rectangle x1="-3.65" y1="2.75" x2="-2.45" y2="2.85" layer="95"/>
<rectangle x1="-1.75" y1="2.75" x2="-0.55" y2="2.85" layer="95"/>
<rectangle x1="2.05" y1="2.75" x2="3.25" y2="2.85" layer="95"/>
<rectangle x1="4.85" y1="2.75" x2="6.05" y2="2.85" layer="95"/>
<rectangle x1="-6.95" y1="2.85" x2="-5.75" y2="2.95" layer="95"/>
<rectangle x1="-3.75" y1="2.85" x2="-2.45" y2="2.95" layer="95"/>
<rectangle x1="-1.75" y1="2.85" x2="-0.55" y2="2.95" layer="95"/>
<rectangle x1="2.05" y1="2.85" x2="3.25" y2="2.95" layer="95"/>
<rectangle x1="4.85" y1="2.85" x2="6.05" y2="2.95" layer="95"/>
<rectangle x1="-6.95" y1="2.95" x2="-5.75" y2="3.05" layer="95"/>
<rectangle x1="-3.75" y1="2.95" x2="-2.45" y2="3.05" layer="95"/>
<rectangle x1="-1.75" y1="2.95" x2="-0.55" y2="3.05" layer="95"/>
<rectangle x1="1.95" y1="2.95" x2="3.25" y2="3.05" layer="95"/>
<rectangle x1="4.85" y1="2.95" x2="6.05" y2="3.05" layer="95"/>
<rectangle x1="-6.95" y1="3.05" x2="-5.75" y2="3.15" layer="95"/>
<rectangle x1="-3.75" y1="3.05" x2="-2.55" y2="3.15" layer="95"/>
<rectangle x1="-1.75" y1="3.05" x2="-0.55" y2="3.15" layer="95"/>
<rectangle x1="1.95" y1="3.05" x2="3.25" y2="3.15" layer="95"/>
<rectangle x1="4.85" y1="3.05" x2="6.05" y2="3.15" layer="95"/>
<rectangle x1="-6.95" y1="3.15" x2="-5.65" y2="3.25" layer="95"/>
<rectangle x1="-3.75" y1="3.15" x2="-2.55" y2="3.25" layer="95"/>
<rectangle x1="-1.75" y1="3.15" x2="-0.55" y2="3.25" layer="95"/>
<rectangle x1="1.85" y1="3.15" x2="3.15" y2="3.25" layer="95"/>
<rectangle x1="4.85" y1="3.15" x2="6.05" y2="3.25" layer="95"/>
<rectangle x1="-6.85" y1="3.25" x2="-5.65" y2="3.35" layer="95"/>
<rectangle x1="-3.85" y1="3.25" x2="-2.55" y2="3.35" layer="95"/>
<rectangle x1="-1.75" y1="3.25" x2="-0.55" y2="3.35" layer="95"/>
<rectangle x1="1.75" y1="3.25" x2="3.15" y2="3.35" layer="95"/>
<rectangle x1="4.85" y1="3.25" x2="6.05" y2="3.35" layer="95"/>
<rectangle x1="-6.85" y1="3.35" x2="-5.55" y2="3.45" layer="95"/>
<rectangle x1="-3.85" y1="3.35" x2="-2.55" y2="3.45" layer="95"/>
<rectangle x1="-1.75" y1="3.35" x2="-0.55" y2="3.45" layer="95"/>
<rectangle x1="1.75" y1="3.35" x2="3.15" y2="3.45" layer="95"/>
<rectangle x1="4.85" y1="3.35" x2="6.05" y2="3.45" layer="95"/>
<rectangle x1="-6.85" y1="3.45" x2="-5.45" y2="3.55" layer="95"/>
<rectangle x1="-3.95" y1="3.45" x2="-2.65" y2="3.55" layer="95"/>
<rectangle x1="-1.75" y1="3.45" x2="-0.55" y2="3.55" layer="95"/>
<rectangle x1="1.55" y1="3.45" x2="3.05" y2="3.55" layer="95"/>
<rectangle x1="4.85" y1="3.45" x2="6.05" y2="3.55" layer="95"/>
<rectangle x1="-6.75" y1="3.55" x2="-5.35" y2="3.65" layer="95"/>
<rectangle x1="-4.05" y1="3.55" x2="-2.65" y2="3.65" layer="95"/>
<rectangle x1="-1.75" y1="3.55" x2="-0.55" y2="3.65" layer="95"/>
<rectangle x1="1.45" y1="3.55" x2="3.05" y2="3.65" layer="95"/>
<rectangle x1="4.85" y1="3.55" x2="6.05" y2="3.65" layer="95"/>
<rectangle x1="-6.75" y1="3.65" x2="-5.15" y2="3.75" layer="95"/>
<rectangle x1="-4.25" y1="3.65" x2="-2.65" y2="3.75" layer="95"/>
<rectangle x1="-1.75" y1="3.65" x2="-0.45" y2="3.75" layer="95"/>
<rectangle x1="1.25" y1="3.65" x2="2.95" y2="3.75" layer="95"/>
<rectangle x1="4.85" y1="3.65" x2="6.05" y2="3.75" layer="95"/>
<rectangle x1="-6.75" y1="3.75" x2="-4.85" y2="3.85" layer="95"/>
<rectangle x1="-4.55" y1="3.75" x2="-2.75" y2="3.85" layer="95"/>
<rectangle x1="-1.75" y1="3.75" x2="-0.45" y2="3.85" layer="95"/>
<rectangle x1="1.05" y1="3.75" x2="2.95" y2="3.85" layer="95"/>
<rectangle x1="4.85" y1="3.75" x2="6.05" y2="3.85" layer="95"/>
<rectangle x1="-6.65" y1="3.85" x2="-2.75" y2="3.95" layer="95"/>
<rectangle x1="-1.75" y1="3.85" x2="2.85" y2="3.95" layer="95"/>
<rectangle x1="4.85" y1="3.85" x2="6.05" y2="3.95" layer="95"/>
<rectangle x1="-6.55" y1="3.95" x2="-2.85" y2="4.05" layer="95"/>
<rectangle x1="-1.75" y1="3.95" x2="2.75" y2="4.05" layer="95"/>
<rectangle x1="4.85" y1="3.95" x2="6.05" y2="4.05" layer="95"/>
<rectangle x1="-6.55" y1="4.05" x2="-2.95" y2="4.15" layer="95"/>
<rectangle x1="-1.75" y1="4.05" x2="2.65" y2="4.15" layer="95"/>
<rectangle x1="4.85" y1="4.05" x2="6.05" y2="4.15" layer="95"/>
<rectangle x1="-6.45" y1="4.15" x2="-2.95" y2="4.25" layer="95"/>
<rectangle x1="-1.75" y1="4.15" x2="2.55" y2="4.25" layer="95"/>
<rectangle x1="4.85" y1="4.15" x2="6.05" y2="4.25" layer="95"/>
<rectangle x1="-6.35" y1="4.25" x2="-3.05" y2="4.35" layer="95"/>
<rectangle x1="-1.75" y1="4.25" x2="2.45" y2="4.35" layer="95"/>
<rectangle x1="4.85" y1="4.25" x2="6.05" y2="4.35" layer="95"/>
<rectangle x1="-6.25" y1="4.35" x2="-3.15" y2="4.45" layer="95"/>
<rectangle x1="-1.75" y1="4.35" x2="2.35" y2="4.45" layer="95"/>
<rectangle x1="4.85" y1="4.35" x2="6.05" y2="4.45" layer="95"/>
<rectangle x1="-6.15" y1="4.45" x2="-3.25" y2="4.55" layer="95"/>
<rectangle x1="-1.75" y1="4.45" x2="2.25" y2="4.55" layer="95"/>
<rectangle x1="4.85" y1="4.45" x2="6.05" y2="4.55" layer="95"/>
<rectangle x1="-6.05" y1="4.55" x2="-3.45" y2="4.65" layer="95"/>
<rectangle x1="-1.65" y1="4.55" x2="2.05" y2="4.65" layer="95"/>
<rectangle x1="4.85" y1="4.55" x2="6.05" y2="4.65" layer="95"/>
<rectangle x1="-5.95" y1="4.65" x2="-3.55" y2="4.75" layer="95"/>
<rectangle x1="-1.65" y1="4.65" x2="1.95" y2="4.75" layer="95"/>
<rectangle x1="4.95" y1="4.65" x2="5.95" y2="4.75" layer="95"/>
<rectangle x1="-5.75" y1="4.75" x2="-3.75" y2="4.85" layer="95"/>
<rectangle x1="-1.55" y1="4.75" x2="1.75" y2="4.85" layer="95"/>
<rectangle x1="4.95" y1="4.75" x2="5.85" y2="4.85" layer="95"/>
<rectangle x1="-5.55" y1="4.85" x2="-4.05" y2="4.95" layer="95"/>
<rectangle x1="-1.45" y1="4.85" x2="1.45" y2="4.95" layer="95"/>
<rectangle x1="5.15" y1="4.85" x2="5.75" y2="4.95" layer="95"/>
<rectangle x1="-5.25" y1="4.95" x2="-4.35" y2="5.05" layer="95"/>
<rectangle x1="-1.25" y1="4.95" x2="1.05" y2="5.05" layer="95"/>
<rectangle x1="5.25" y1="4.95" x2="5.65" y2="5.05" layer="95"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="LOGO-CRI-NEW-1">
<gates>
<gate name="G$1" symbol="LOGO-CRI-NEW" x="0" y="0"/>
</gates>
<devices>
<device name="" package="LOGO-CRI-NEW-COPPER-SILK+">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SILK-NEGATIVE" package="LOGO-CRI-NEW-SILK-NEGATIVE-COPPER">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="10MM-BOTTOM-SILK" package="LOGO_CRI-NEW-BMP10MM-BOTTOM">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="NEW-RESTRICT" package="LOGO-CRI-NEW-NEW-TRESTRICT">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="NEW-NOTPLACE" package="LOGO-CRI-NEW-NEW-1-NOTPLACE">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="NEW-NEW" package="LOGO-CRI-NEW-NEW-1">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="50MM-TOP-TPLACE" package="LOGO_CRI-NEW-BMP50MM-TOP">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="30MMX30MM-TPLACE" package="LOGO_CRI-NEW-BMP30MM-TOP">
<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="pcbway_smallest" width="0.1016" drill="0.2">
<clearance class="1" value="0.1016"/>
</class>
<class number="2" name="pcbway_cheap" width="0.1524" drill="0.3">
<clearance class="2" value="0.1524"/>
</class>
<class number="3" name="pcbway_5mil" width="0.127" drill="0.25">
<clearance class="3" value="0.127"/>
</class>
<class number="4" name="EC-drill0.15" width="0.1" drill="0.15">
<clearance class="4" value="0.1"/>
</class>
<class number="5" name="Eurocircuits-Classe7-drill0.15" width="0.125" drill="0.15">
<clearance class="5" value="0.125"/>
</class>
</classes>
<parts>
<part name="FRAME2" library="SparkFun-Aesthetics" deviceset="FRAME-A3" device=""/>
<part name="U1" library="movuino" deviceset="MAX30105" device="SMD" value="MAX30105"/>
<part name="GND8" library="SparkFun" deviceset="GND" device=""/>
<part name="GND9" library="SparkFun" deviceset="GND" device=""/>
<part name="C5" library="movuino" deviceset="CAP" device="0402-1UF" value="1uF"/>
<part name="GND10" library="SparkFun" deviceset="GND" device=""/>
<part name="C6" library="movuino" deviceset="CAP" device="0402-1UF" value="1uF"/>
<part name="GND11" library="SparkFun" deviceset="GND" device=""/>
<part name="J1" library="movuino" deviceset="59453-061110EDHLF" device=""/>
<part name="LED1" library="movuino" deviceset="VSMD66694" device=""/>
<part name="LED2" library="movuino" deviceset="VSMD66694" device=""/>
<part name="LED3" library="movuino" deviceset="LED" device="0603"/>
<part name="LED4" library="movuino" deviceset="LED" device="0603"/>
<part name="LED5" library="movuino" deviceset="VSMD66694" device=""/>
<part name="LED6" library="movuino" deviceset="VSMD66694" device=""/>
<part name="LED7" library="movuino" deviceset="LED" device="0603"/>
<part name="LED8" library="movuino" deviceset="LED" device="0603"/>
<part name="U$1" library="circuitects" deviceset="MAX30205" device="MTA+"/>
<part name="GND1" library="supply1" deviceset="GND" device=""/>
<part name="GND2" library="supply1" deviceset="GND" device=""/>
<part name="GND3" library="supply1" deviceset="GND" device=""/>
<part name="GND4" library="supply1" deviceset="GND" device=""/>
<part name="C8" library="movuino" deviceset="CAP" device="0402-10UF-MURATA" value="10uF"/>
<part name="C9" library="movuino" deviceset="CAP" device="0402-0.1UF" value="0.1uF"/>
<part name="GND16" library="SparkFun" deviceset="GND" device=""/>
<part name="GND17" library="SparkFun" deviceset="GND" device=""/>
<part name="C10" library="movuino" deviceset="CAP" device="0402-0.1UF" value="0.1uF"/>
<part name="C11" library="movuino" deviceset="CAP" device="0402-0.1UF" value="4.7uF"/>
<part name="GND25" library="SparkFun" deviceset="GND" device=""/>
<part name="GND26" library="SparkFun" deviceset="GND" device=""/>
<part name="Q2" library="SparkFun-DiscreteSemi" deviceset="MOSFET-NCHANNEL" device="BSS138" value="200mA/50V"/>
<part name="Q3" library="SparkFun-DiscreteSemi" deviceset="MOSFET-NCHANNEL" device="BSS138" value="200mA/50V"/>
<part name="SUPPLY7" library="SparkFun-Aesthetics" deviceset="1.8V" device=""/>
<part name="SUPPLY8" library="SparkFun-Aesthetics" deviceset="1.8V" device=""/>
<part name="R0006" library="movuino" deviceset="RESISTOR" device="0402-4K7" value="4.7K"/>
<part name="R0009" library="movuino" deviceset="RESISTOR" device="0402-4K7" value="4.7K"/>
<part name="C2" library="movuino" deviceset="CAP" device="0402-1UF" value="1uF"/>
<part name="U$3" library="movuino_aestheticsV0" deviceset="LOGO-CRI-NEW-1" device="10MM-BOTTOM-SILK"/>
<part name="U$4" library="movuino_aestheticsV0" deviceset="LOGO-CRI-NEW-1" device="10MM-BOTTOM-SILK"/>
<part name="IC1" library="movuino" deviceset="TLV70018DCKR" device=""/>
<part name="GND5" library="SparkFun" deviceset="GND" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="53.34" y="251.46" size="1.778" layer="94">USB TO SERIAL CONVERTER</text>
<wire x1="5.08" y1="177.8" x2="127" y2="177.8" width="0.6096" layer="97" style="shortdash"/>
<wire x1="127" y1="177.8" x2="127" y2="256.54" width="0.6096" layer="97" style="shortdash"/>
<wire x1="127" y1="177.8" x2="215.9" y2="177.8" width="0.6096" layer="97" style="shortdash"/>
<wire x1="215.9" y1="177.8" x2="309.88" y2="177.8" width="0.6096" layer="97" style="shortdash"/>
<wire x1="309.88" y1="177.8" x2="383.54" y2="177.8" width="0.6096" layer="97" style="shortdash"/>
<wire x1="215.9" y1="177.8" x2="215.9" y2="256.54" width="0.6096" layer="97" style="shortdash"/>
<wire x1="309.88" y1="177.8" x2="309.88" y2="256.54" width="0.6096" layer="97" style="shortdash"/>
<text x="81.28" y="172.72" size="1.778" layer="91">IO12 OUTPUT only</text>
<text x="81.28" y="177.8" size="1.778" layer="91">IO15 silence boot messages</text>
<text x="238.76" y="86.36" size="1.778" layer="91">address : 0x90</text>
</plain>
<instances>
<instance part="FRAME2" gate="G$1" x="0" y="0" smashed="yes">
<attribute name="DRAWING_NAME" x="319.151" y="19.431" size="2.54" layer="94" font="vector"/>
<attribute name="LAST_DATE_TIME" x="309.753" y="9.525" size="2.286" layer="94" font="vector"/>
<attribute name="SHEET" x="368.3" y="4.445" size="2.54" layer="94" font="vector"/>
</instance>
<instance part="U1" gate="U1" x="81.28" y="127" smashed="yes">
<attribute name="NAME" x="71.12" y="137.922" size="1.778" layer="95"/>
<attribute name="VALUE" x="71.12" y="114.3" size="1.778" layer="96"/>
</instance>
<instance part="GND8" gate="1" x="109.22" y="129.54" smashed="yes" rot="R90">
<attribute name="VALUE" x="111.76" y="127" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="GND9" gate="1" x="53.34" y="127" smashed="yes" rot="R270">
<attribute name="VALUE" x="50.8" y="129.54" size="1.778" layer="96" rot="R270"/>
</instance>
<instance part="C5" gate="G$1" x="109.22" y="114.3" smashed="yes" rot="R90">
<attribute name="NAME" x="106.299" y="115.824" size="1.778" layer="95" rot="R90"/>
<attribute name="VALUE" x="111.379" y="115.824" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="GND10" gate="1" x="121.92" y="114.3" smashed="yes" rot="R90">
<attribute name="VALUE" x="124.46" y="111.76" size="1.778" layer="96" rot="R90"/>
</instance>
<instance part="C6" gate="G$1" x="134.62" y="124.46" smashed="yes" rot="R180">
<attribute name="NAME" x="133.096" y="121.539" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="133.096" y="126.619" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="GND11" gate="1" x="134.62" y="111.76" smashed="yes">
<attribute name="VALUE" x="132.08" y="109.22" size="1.778" layer="96"/>
</instance>
<instance part="J1" gate="G$1" x="83.82" y="185.42" smashed="yes" rot="R90">
<attribute name="NAME" x="76.2" y="207.01" size="1.778" layer="95" rot="R90" align="center-left"/>
<attribute name="VALUE" x="78.74" y="207.01" size="1.778" layer="96" rot="R90" align="center-left"/>
</instance>
<instance part="LED1" gate="G$1" x="190.5" y="154.94" smashed="yes">
<attribute name="NAME" x="212.09" y="162.56" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="212.09" y="160.02" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="LED2" gate="G$1" x="190.5" y="139.7" smashed="yes">
<attribute name="NAME" x="212.09" y="147.32" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="212.09" y="144.78" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="LED3" gate="G$1" x="266.7" y="154.94" smashed="yes" rot="R90">
<attribute name="NAME" x="271.272" y="158.496" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="271.272" y="160.655" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="LED4" gate="G$1" x="266.7" y="144.78" smashed="yes" rot="R90">
<attribute name="NAME" x="271.272" y="148.336" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="271.272" y="150.495" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="LED5" gate="G$1" x="190.5" y="167.64" smashed="yes">
<attribute name="NAME" x="212.09" y="175.26" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="212.09" y="172.72" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="LED6" gate="G$1" x="190.5" y="182.88" smashed="yes">
<attribute name="NAME" x="212.09" y="190.5" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="212.09" y="187.96" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="LED7" gate="G$1" x="266.7" y="162.56" smashed="yes" rot="R90">
<attribute name="NAME" x="271.272" y="166.116" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="271.272" y="168.275" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="LED8" gate="G$1" x="266.7" y="170.18" smashed="yes" rot="R90">
<attribute name="NAME" x="271.272" y="173.736" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="271.272" y="175.895" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="U$1" gate="G$1" x="200.66" y="86.36" smashed="yes">
<attribute name="NAME" x="193.04" y="93.98" size="1.27" layer="95"/>
<attribute name="VALUE" x="200.66" y="76.2" size="1.27" layer="96"/>
</instance>
<instance part="GND1" gate="1" x="218.44" y="93.98" smashed="yes">
<attribute name="VALUE" x="215.9" y="91.44" size="1.778" layer="96"/>
</instance>
<instance part="GND2" gate="1" x="215.9" y="71.12" smashed="yes">
<attribute name="VALUE" x="213.36" y="68.58" size="1.778" layer="96"/>
</instance>
<instance part="GND3" gate="1" x="182.88" y="76.2" smashed="yes">
<attribute name="VALUE" x="180.34" y="73.66" size="1.778" layer="96"/>
</instance>
<instance part="GND4" gate="1" x="233.68" y="78.74" smashed="yes">
<attribute name="VALUE" x="231.14" y="76.2" size="1.778" layer="96"/>
</instance>
<instance part="C8" gate="G$1" x="50.8" y="71.12" smashed="yes" rot="R180">
<attribute name="NAME" x="49.276" y="68.199" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="49.276" y="73.279" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="C9" gate="G$1" x="55.88" y="68.58" smashed="yes">
<attribute name="NAME" x="57.404" y="71.501" size="1.778" layer="95"/>
<attribute name="VALUE" x="57.404" y="66.421" size="1.778" layer="96"/>
</instance>
<instance part="GND16" gate="1" x="55.88" y="55.88" smashed="yes">
<attribute name="VALUE" x="53.34" y="53.34" size="1.778" layer="96"/>
</instance>
<instance part="GND17" gate="1" x="50.8" y="55.88" smashed="yes">
<attribute name="VALUE" x="48.26" y="53.34" size="1.778" layer="96"/>
</instance>
<instance part="C10" gate="G$1" x="109.22" y="68.58" smashed="yes">
<attribute name="NAME" x="110.744" y="71.501" size="1.778" layer="95"/>
<attribute name="VALUE" x="110.744" y="66.421" size="1.778" layer="96"/>
</instance>
<instance part="C11" gate="G$1" x="99.06" y="68.58" smashed="yes">
<attribute name="NAME" x="100.584" y="71.501" size="1.778" layer="95"/>
<attribute name="VALUE" x="100.584" y="66.421" size="1.778" layer="96"/>
</instance>
<instance part="GND25" gate="1" x="99.06" y="60.96" smashed="yes">
<attribute name="VALUE" x="96.52" y="58.42" size="1.778" layer="96"/>
</instance>
<instance part="GND26" gate="1" x="109.22" y="60.96" smashed="yes">
<attribute name="VALUE" x="106.68" y="58.42" size="1.778" layer="96"/>
</instance>
<instance part="Q2" gate="G$1" x="116.84" y="27.94" smashed="yes" rot="MR270">
<attribute name="NAME" x="119.38" y="25.4" size="1.778" layer="95"/>
<attribute name="VALUE" x="119.38" y="22.86" size="1.778" layer="96"/>
</instance>
<instance part="Q3" gate="G$1" x="71.12" y="17.78" smashed="yes" rot="MR270">
<attribute name="NAME" x="73.66" y="15.24" size="1.778" layer="95"/>
<attribute name="VALUE" x="73.66" y="12.7" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY7" gate="G$1" x="78.74" y="38.1" smashed="yes">
<attribute name="VALUE" x="77.724" y="41.656" size="1.778" layer="96"/>
</instance>
<instance part="SUPPLY8" gate="G$1" x="124.46" y="45.72" smashed="yes">
<attribute name="VALUE" x="123.444" y="49.276" size="1.778" layer="96"/>
</instance>
<instance part="R0006" gate="G$1" x="78.74" y="25.4" smashed="yes" rot="R270">
<attribute name="NAME" x="80.2386" y="29.21" size="1.778" layer="95" rot="R270"/>
<attribute name="VALUE" x="75.438" y="29.21" size="1.778" layer="96" rot="R270"/>
</instance>
<instance part="R0009" gate="G$1" x="124.46" y="35.56" smashed="yes" rot="R270">
<attribute name="NAME" x="125.9586" y="39.37" size="1.778" layer="95" rot="R270"/>
<attribute name="VALUE" x="121.158" y="39.37" size="1.778" layer="96" rot="R270"/>
</instance>
<instance part="C2" gate="G$1" x="228.6" y="104.14" smashed="yes" rot="R180">
<attribute name="NAME" x="227.076" y="101.219" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="227.076" y="106.299" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="U$3" gate="G$1" x="307.34" y="35.56" smashed="yes"/>
<instance part="U$4" gate="G$1" x="340.36" y="35.56" smashed="yes"/>
<instance part="IC1" gate="G$1" x="68.58" y="91.44" smashed="yes">
<attribute name="NAME" x="90.17" y="99.06" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="90.17" y="96.52" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="GND5" gate="1" x="63.5" y="81.28" smashed="yes">
<attribute name="VALUE" x="60.96" y="78.74" size="1.778" layer="96"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="5">
<segment>
<pinref part="U1" gate="U1" pin="GND"/>
<wire x1="93.98" y1="129.54" x2="106.68" y2="129.54" width="0.1524" layer="91"/>
<pinref part="GND8" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND9" gate="1" pin="GND"/>
<wire x1="55.88" y1="127" x2="63.5" y2="127" width="0.1524" layer="91"/>
<pinref part="U1" gate="U1" pin="PGND"/>
<wire x1="63.5" y1="127" x2="68.58" y2="127" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="C5" gate="G$1" pin="2"/>
<wire x1="111.76" y1="114.3" x2="119.38" y2="114.3" width="0.1524" layer="91"/>
<pinref part="GND10" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C6" gate="G$1" pin="1"/>
<wire x1="134.62" y1="119.38" x2="134.62" y2="114.3" width="0.1524" layer="91"/>
<pinref part="GND11" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="J1" gate="G$1" pin="5"/>
<wire x1="76.2" y1="203.2" x2="63.5" y2="203.2" width="0.1524" layer="91"/>
<label x="66.04" y="203.2" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="218.44" y1="96.52" x2="218.44" y2="99.06" width="0.1524" layer="91"/>
<pinref part="C2" gate="G$1" pin="1"/>
<wire x1="228.6" y1="99.06" x2="218.44" y2="99.06" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="THERM"/>
<wire x1="213.36" y1="81.28" x2="215.9" y2="81.28" width="0.1524" layer="91"/>
<wire x1="215.9" y1="81.28" x2="215.9" y2="73.66" width="0.1524" layer="91"/>
<pinref part="GND2" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="GND"/>
<wire x1="187.96" y1="83.82" x2="182.88" y2="83.82" width="0.1524" layer="91"/>
<wire x1="182.88" y1="83.82" x2="182.88" y2="78.74" width="0.1524" layer="91"/>
<pinref part="GND3" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="U$1" gate="G$1" pin="A0"/>
<wire x1="213.36" y1="88.9" x2="233.68" y2="88.9" width="0.1524" layer="91"/>
<wire x1="233.68" y1="88.9" x2="233.68" y2="86.36" width="0.1524" layer="91"/>
<pinref part="GND4" gate="1" pin="GND"/>
<pinref part="U$1" gate="G$1" pin="A1"/>
<wire x1="233.68" y1="86.36" x2="233.68" y2="83.82" width="0.1524" layer="91"/>
<wire x1="233.68" y1="83.82" x2="233.68" y2="81.28" width="0.1524" layer="91"/>
<wire x1="213.36" y1="86.36" x2="233.68" y2="86.36" width="0.1524" layer="91"/>
<junction x="233.68" y="86.36"/>
<pinref part="U$1" gate="G$1" pin="A2"/>
<wire x1="213.36" y1="83.82" x2="233.68" y2="83.82" width="0.1524" layer="91"/>
<junction x="233.68" y="83.82"/>
</segment>
<segment>
<pinref part="C9" gate="G$1" pin="2"/>
<wire x1="55.88" y1="66.04" x2="55.88" y2="58.42" width="0.1524" layer="91"/>
<pinref part="GND16" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C8" gate="G$1" pin="1"/>
<wire x1="50.8" y1="66.04" x2="50.8" y2="58.42" width="0.1524" layer="91"/>
<pinref part="GND17" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C11" gate="G$1" pin="2"/>
<wire x1="99.06" y1="66.04" x2="99.06" y2="63.5" width="0.1524" layer="91"/>
<pinref part="GND25" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C10" gate="G$1" pin="2"/>
<wire x1="109.22" y1="66.04" x2="109.22" y2="63.5" width="0.1524" layer="91"/>
<pinref part="GND26" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="IC1" gate="G$1" pin="GND"/>
<wire x1="68.58" y1="88.9" x2="63.5" y2="88.9" width="0.1524" layer="91"/>
<wire x1="63.5" y1="88.9" x2="63.5" y2="83.82" width="0.1524" layer="91"/>
<pinref part="GND5" gate="1" pin="GND"/>
</segment>
</net>
<net name="3.3V" class="5">
<segment>
<pinref part="U1" gate="U1" pin="VLED+@9"/>
<wire x1="93.98" y1="121.92" x2="104.14" y2="121.92" width="0.1524" layer="91"/>
<wire x1="104.14" y1="121.92" x2="104.14" y2="114.3" width="0.1524" layer="91"/>
<pinref part="U1" gate="U1" pin="VLED+@10"/>
<wire x1="104.14" y1="114.3" x2="104.14" y2="106.68" width="0.1524" layer="91"/>
<wire x1="93.98" y1="124.46" x2="104.14" y2="124.46" width="0.1524" layer="91"/>
<wire x1="104.14" y1="124.46" x2="104.14" y2="121.92" width="0.1524" layer="91"/>
<junction x="104.14" y="121.92"/>
<pinref part="C5" gate="G$1" pin="1"/>
<junction x="104.14" y="114.3"/>
<label x="106.68" y="106.68" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="J1" gate="G$1" pin="6"/>
<wire x1="76.2" y1="205.74" x2="63.5" y2="205.74" width="0.1524" layer="91"/>
<label x="66.04" y="205.74" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED2" gate="G$1" pin="A_2"/>
<wire x1="215.9" y1="137.16" x2="231.14" y2="137.16" width="0.1524" layer="91"/>
<wire x1="231.14" y1="137.16" x2="231.14" y2="127" width="0.1524" layer="91"/>
<wire x1="231.14" y1="127" x2="190.5" y2="127" width="0.1524" layer="91"/>
<pinref part="LED2" gate="G$1" pin="A_1"/>
<wire x1="190.5" y1="127" x2="190.5" y2="137.16" width="0.1524" layer="91"/>
<label x="233.68" y="132.08" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED1" gate="G$1" pin="A_2"/>
<wire x1="215.9" y1="152.4" x2="228.6" y2="152.4" width="0.1524" layer="91"/>
<pinref part="LED1" gate="G$1" pin="A_1"/>
<wire x1="190.5" y1="152.4" x2="187.96" y2="152.4" width="0.1524" layer="91"/>
<wire x1="187.96" y1="152.4" x2="187.96" y2="147.32" width="0.1524" layer="91"/>
<wire x1="187.96" y1="147.32" x2="228.6" y2="147.32" width="0.1524" layer="91"/>
<wire x1="228.6" y1="147.32" x2="228.6" y2="152.4" width="0.1524" layer="91"/>
<label x="228.6" y="149.86" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED3" gate="G$1" pin="A"/>
<wire x1="264.16" y1="154.94" x2="259.08" y2="154.94" width="0.1524" layer="91"/>
<wire x1="259.08" y1="154.94" x2="259.08" y2="144.78" width="0.1524" layer="91"/>
<pinref part="LED4" gate="G$1" pin="A"/>
<wire x1="259.08" y1="144.78" x2="264.16" y2="144.78" width="0.1524" layer="91"/>
<label x="254" y="149.86" size="1.778" layer="95"/>
<wire x1="259.08" y1="154.94" x2="259.08" y2="162.56" width="0.1524" layer="91"/>
<junction x="259.08" y="154.94"/>
<pinref part="LED8" gate="G$1" pin="A"/>
<wire x1="259.08" y1="162.56" x2="259.08" y2="170.18" width="0.1524" layer="91"/>
<wire x1="259.08" y1="170.18" x2="264.16" y2="170.18" width="0.1524" layer="91"/>
<pinref part="LED7" gate="G$1" pin="A"/>
<wire x1="264.16" y1="162.56" x2="259.08" y2="162.56" width="0.1524" layer="91"/>
<junction x="259.08" y="162.56"/>
</segment>
<segment>
<pinref part="LED6" gate="G$1" pin="A_1"/>
<wire x1="190.5" y1="180.34" x2="187.96" y2="180.34" width="0.1524" layer="91"/>
<wire x1="187.96" y1="180.34" x2="187.96" y2="175.26" width="0.1524" layer="91"/>
<wire x1="187.96" y1="175.26" x2="220.98" y2="175.26" width="0.1524" layer="91"/>
<wire x1="220.98" y1="175.26" x2="220.98" y2="180.34" width="0.1524" layer="91"/>
<pinref part="LED6" gate="G$1" pin="A_2"/>
<wire x1="220.98" y1="180.34" x2="215.9" y2="180.34" width="0.1524" layer="91"/>
<label x="193.04" y="175.26" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED5" gate="G$1" pin="A_1"/>
<wire x1="190.5" y1="165.1" x2="190.5" y2="160.02" width="0.1524" layer="91"/>
<wire x1="190.5" y1="160.02" x2="218.44" y2="160.02" width="0.1524" layer="91"/>
<wire x1="218.44" y1="160.02" x2="218.44" y2="165.1" width="0.1524" layer="91"/>
<pinref part="LED5" gate="G$1" pin="A_2"/>
<wire x1="218.44" y1="165.1" x2="215.9" y2="165.1" width="0.1524" layer="91"/>
<label x="195.58" y="160.02" size="1.778" layer="95"/>
</segment>
<segment>
<wire x1="71.12" y1="73.66" x2="68.58" y2="73.66" width="0.1524" layer="91"/>
<wire x1="68.58" y1="73.66" x2="58.42" y2="73.66" width="0.1524" layer="91"/>
<wire x1="58.42" y1="73.66" x2="55.88" y2="73.66" width="0.1524" layer="91"/>
<wire x1="55.88" y1="73.66" x2="50.8" y2="73.66" width="0.1524" layer="91"/>
<wire x1="50.8" y1="73.66" x2="48.26" y2="73.66" width="0.1524" layer="91"/>
<wire x1="48.26" y1="73.66" x2="48.26" y2="86.36" width="0.1524" layer="91"/>
<label x="48.26" y="83.82" size="1.778" layer="95"/>
<pinref part="C8" gate="G$1" pin="2"/>
<junction x="50.8" y="73.66"/>
<pinref part="C9" gate="G$1" pin="1"/>
<junction x="55.88" y="73.66"/>
<pinref part="IC1" gate="G$1" pin="IN"/>
<wire x1="68.58" y1="91.44" x2="58.42" y2="91.44" width="0.1524" layer="9


text:
1"/>
<wire x1="58.42" y1="91.44" x2="58.42" y2="73.66" width="0.1524" layer="91"/>
<junction x="58.42" y="73.66"/>
<pinref part="IC1" gate="G$1" pin="EN"/>
<wire x1="68.58" y1="86.36" x2="68.58" y2="73.66" width="0.1524" layer="91"/>
<junction x="68.58" y="73.66"/>
</segment>
</net>
<net name="1.8V" class="5">
<segment>
<pinref part="U1" gate="U1" pin="VDD"/>
<wire x1="93.98" y1="127" x2="134.62" y2="127" width="0.1524" layer="91"/>
<pinref part="C6" gate="G$1" pin="2"/>
<wire x1="134.62" y1="127" x2="137.16" y2="127" width="0.1524" layer="91"/>
<junction x="134.62" y="127"/>
<label x="134.62" y="127" size="1.778" layer="95"/>
</segment>
<segment>
<wire x1="88.9" y1="73.66" x2="93.98" y2="73.66" width="0.1524" layer="91"/>
<wire x1="93.98" y1="73.66" x2="99.06" y2="73.66" width="0.1524" layer="91"/>
<wire x1="99.06" y1="73.66" x2="109.22" y2="73.66" width="0.1524" layer="91"/>
<wire x1="109.22" y1="73.66" x2="114.3" y2="73.66" width="0.1524" layer="91"/>
<wire x1="114.3" y1="73.66" x2="114.3" y2="81.28" width="0.1524" layer="91"/>
<pinref part="C10" gate="G$1" pin="1"/>
<junction x="109.22" y="73.66"/>
<pinref part="C11" gate="G$1" pin="1"/>
<junction x="99.06" y="73.66"/>
<label x="116.84" y="78.74" size="1.778" layer="95"/>
<pinref part="IC1" gate="G$1" pin="OUT"/>
<wire x1="93.98" y1="88.9" x2="93.98" y2="73.66" width="0.1524" layer="91"/>
<junction x="93.98" y="73.66"/>
</segment>
<segment>
<wire x1="124.46" y1="45.72" x2="124.46" y2="43.18" width="0.1524" layer="91"/>
<pinref part="Q2" gate="G$1" pin="G"/>
<wire x1="124.46" y1="43.18" x2="124.46" y2="40.64" width="0.1524" layer="91"/>
<wire x1="116.84" y1="35.56" x2="116.84" y2="43.18" width="0.1524" layer="91"/>
<wire x1="116.84" y1="43.18" x2="124.46" y2="43.18" width="0.1524" layer="91"/>
<junction x="124.46" y="43.18"/>
<pinref part="SUPPLY8" gate="G$1" pin="1.8V"/>
<pinref part="R0009" gate="G$1" pin="1"/>
</segment>
<segment>
<wire x1="78.74" y1="38.1" x2="78.74" y2="33.02" width="0.1524" layer="91"/>
<pinref part="Q3" gate="G$1" pin="G"/>
<wire x1="78.74" y1="33.02" x2="78.74" y2="30.48" width="0.1524" layer="91"/>
<wire x1="71.12" y1="25.4" x2="71.12" y2="33.02" width="0.1524" layer="91"/>
<wire x1="71.12" y1="33.02" x2="78.74" y2="33.02" width="0.1524" layer="91"/>
<junction x="78.74" y="33.02"/>
<pinref part="SUPPLY7" gate="G$1" pin="1.8V"/>
<pinref part="R0006" gate="G$1" pin="1"/>
</segment>
</net>
<net name="LV_SCL" class="5">
<segment>
<pinref part="U1" gate="U1" pin="SCL"/>
<wire x1="68.58" y1="132.08" x2="58.42" y2="132.08" width="0.1524" layer="91"/>
<label x="58.42" y="132.08" size="1.778" layer="95"/>
</segment>
<segment>
<wire x1="78.74" y1="20.32" x2="78.74" y2="17.78" width="0.1524" layer="91"/>
<junction x="78.74" y="17.78"/>
<pinref part="Q3" gate="G$1" pin="S"/>
<wire x1="78.74" y1="17.78" x2="76.2" y2="17.78" width="0.1524" layer="91"/>
<wire x1="81.28" y1="17.78" x2="78.74" y2="17.78" width="0.1524" layer="91"/>
<label x="81.28" y="17.78" size="1.778" layer="95"/>
<pinref part="R0006" gate="G$1" pin="2"/>
</segment>
</net>
<net name="LV_SDA" class="5">
<segment>
<pinref part="U1" gate="U1" pin="SDA"/>
<wire x1="68.58" y1="129.54" x2="58.42" y2="129.54" width="0.1524" layer="91"/>
<label x="58.42" y="129.54" size="1.778" layer="95"/>
</segment>
<segment>
<wire x1="127" y1="27.94" x2="124.46" y2="27.94" width="0.1524" layer="91"/>
<wire x1="124.46" y1="30.48" x2="124.46" y2="27.94" width="0.1524" layer="91"/>
<junction x="124.46" y="27.94"/>
<pinref part="Q2" gate="G$1" pin="S"/>
<wire x1="124.46" y1="27.94" x2="121.92" y2="27.94" width="0.1524" layer="91"/>
<label x="127" y="27.94" size="1.778" layer="95"/>
<pinref part="R0009" gate="G$1" pin="2"/>
</segment>
</net>
<net name="IR_DRV" class="5">
<segment>
<pinref part="U1" gate="U1" pin="IR_DRV"/>
<wire x1="68.58" y1="121.92" x2="60.96" y2="121.92" width="0.1524" layer="91"/>
<label x="60.96" y="121.92" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED2" gate="G$1" pin="K_1"/>
<wire x1="190.5" y1="139.7" x2="172.72" y2="139.7" width="0.1524" layer="91"/>
<wire x1="172.72" y1="139.7" x2="172.72" y2="154.94" width="0.1524" layer="91"/>
<pinref part="LED1" gate="G$1" pin="K_1"/>
<wire x1="190.5" y1="154.94" x2="172.72" y2="154.94" width="0.1524" layer="91"/>
<junction x="172.72" y="154.94"/>
<label x="177.8" y="154.94" size="1.778" layer="95"/>
<pinref part="LED6" gate="G$1" pin="K_1"/>
<wire x1="190.5" y1="182.88" x2="172.72" y2="182.88" width="0.1524" layer="91"/>
<wire x1="172.72" y1="182.88" x2="172.72" y2="167.64" width="0.1524" layer="91"/>
<pinref part="LED5" gate="G$1" pin="K_1"/>
<wire x1="172.72" y1="167.64" x2="172.72" y2="154.94" width="0.1524" layer="91"/>
<wire x1="190.5" y1="167.64" x2="172.72" y2="167.64" width="0.1524" layer="91"/>
<junction x="172.72" y="167.64"/>
</segment>
</net>
<net name="G_DRV" class="5">
<segment>
<pinref part="U1" gate="U1" pin="G_DRV"/>
<wire x1="68.58" y1="119.38" x2="60.96" y2="119.38" width="0.1524" layer="91"/>
<label x="60.96" y="116.84" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED4" gate="G$1" pin="C"/>
<pinref part="LED3" gate="G$1" pin="C"/>
<wire x1="271.78" y1="144.78" x2="271.78" y2="154.94" width="0.1524" layer="91"/>
<label x="271.78" y="149.86" size="1.778" layer="95"/>
<pinref part="LED8" gate="G$1" pin="C"/>
<pinref part="LED7" gate="G$1" pin="C"/>
<wire x1="271.78" y1="170.18" x2="271.78" y2="162.56" width="0.1524" layer="91"/>
<wire x1="271.78" y1="162.56" x2="271.78" y2="154.94" width="0.1524" layer="91"/>
<junction x="271.78" y="162.56"/>
<junction x="271.78" y="154.94"/>
</segment>
</net>
<net name="R_DRV" class="5">
<segment>
<pinref part="U1" gate="U1" pin="R_DRV"/>
<wire x1="68.58" y1="124.46" x2="66.04" y2="124.46" width="0.1524" layer="91"/>
<wire x1="60.96" y1="124.46" x2="66.04" y2="124.46" width="0.1524" layer="91"/>
<label x="60.96" y="124.46" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="LED1" gate="G$1" pin="K_2"/>
<wire x1="215.9" y1="154.94" x2="236.22" y2="154.94" width="0.1524" layer="91"/>
<pinref part="LED2" gate="G$1" pin="K_2"/>
<wire x1="215.9" y1="139.7" x2="236.22" y2="139.7" width="0.1524" layer="91"/>
<wire x1="236.22" y1="139.7" x2="236.22" y2="154.94" width="0.1524" layer="91"/>
<label x="236.22" y="149.86" size="1.778" layer="95"/>
<pinref part="LED5" gate="G$1" pin="K_2"/>
<wire x1="215.9" y1="167.64" x2="236.22" y2="167.64" width="0.1524" layer="91"/>
<wire x1="236.22" y1="167.64" x2="236.22" y2="154.94" width="0.1524" layer="91"/>
<junction x="236.22" y="154.94"/>
<pinref part="LED6" gate="G$1" pin="K_2"/>
<wire x1="215.9" y1="182.88" x2="236.22" y2="182.88" width="0.1524" layer="91"/>
<wire x1="236.22" y1="182.88" x2="236.22" y2="167.64" width="0.1524" layer="91"/>
<junction x="236.22" y="167.64"/>
</segment>
</net>
<net name="3V3" class="5">
<segment>
<pinref part="U$1" gate="G$1" pin="VDD"/>
<wire x1="213.36" y1="91.44" x2="213.36" y2="106.68" width="0.1524" layer="91"/>
<wire x1="213.36" y1="106.68" x2="213.36" y2="109.22" width="0.1524" layer="91"/>
<junction x="213.36" y="106.68"/>
<label x="215.9" y="109.22" size="1.778" layer="95"/>
<pinref part="C2" gate="G$1" pin="2"/>
<wire x1="213.36" y1="106.68" x2="228.6" y2="106.68" width="0.1524" layer="91"/>
</segment>
</net>
<net name="SCL" class="5">
<segment>
<pinref part="U$1" gate="G$1" pin="SCL"/>
<wire x1="187.96" y1="88.9" x2="170.18" y2="88.9" width="0.1524" layer="91"/>
<label x="170.18" y="88.9" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="Q3" gate="G$1" pin="D"/>
<wire x1="66.04" y1="17.78" x2="55.88" y2="17.78" width="0.1524" layer="91"/>
<label x="55.88" y="17.78" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="J1" gate="G$1" pin="3"/>
<wire x1="76.2" y1="198.12" x2="63.5" y2="198.12" width="0.1524" layer="91"/>
<label x="66.04" y="198.12" size="1.778" layer="95"/>
</segment>
</net>
<net name="SDA" class="5">
<segment>
<pinref part="U$1" gate="G$1" pin="SDA"/>
<wire x1="187.96" y1="91.44" x2="170.18" y2="91.44" width="0.1524" layer="91"/>
<label x="170.18" y="91.44" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="D"/>
<wire x1="111.76" y1="27.94" x2="101.6" y2="27.94" width="0.1524" layer="91"/>
<label x="104.14" y="30.48" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="J1" gate="G$1" pin="4"/>
<wire x1="76.2" y1="200.66" x2="63.5" y2="200.66" width="0.1524" layer="91"/>
<label x="66.04" y="200.66" size="1.778" layer="95"/>
</segment>
</net>
<net name="INT_PPG" class="5">
<segment>
<pinref part="J1" gate="G$1" pin="2"/>
<wire x1="76.2" y1="195.58" x2="63.5" y2="195.58" width="0.1524" layer="91"/>
<label x="66.04" y="195.58" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="U1" gate="U1" pin="!INT"/>
<wire x1="93.98" y1="132.08" x2="109.22" y2="132.08" width="0.1524" layer="91"/>
<wire x1="109.22" y1="132.08" x2="109.22" y2="147.32" width="0.1524" layer="91"/>
<label x="109.22" y="149.86" size="1.778" layer="95"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="113,1,267.97,155.262,LED3,,,,,"/>
<approved hash="113,1,267.97,145.102,LED4,,,,,"/>
<approved hash="113,1,267.97,162.882,LED7,,,,,"/>
<approved hash="113,1,267.97,170.502,LED8,,,,,"/>
</errors>
</schematic>
</drawing>
<compatibility>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

license: MIT

repository: movuino/OpenHealthBand

license_type: permissive

repo_name: movuino/OpenHealthBand

branch_name: refs/heads/master

extension: sch


text:
###################################################################
# Compiler path and name
###################################################################

# Be shure that the GCC_PATH varible points to your cross compiler
# This is a Linux system variable
set(ARM_TOOLCHAIN_DIR $ENV{GCC_PATH})

# set toochain name
set(TOOL_CHAIN_PREFIX arm-none-eabi)

# set Toolchain
set(CMAKE_AR               ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-ar)
set(CMAKE_RANLIB           ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-ranlib)
set(CMAKE_LD               ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-ld)
set(CMAKE_C_COMPILER       ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER     ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-g++)

# STM32 somehow fails to compile the startup_s file if the arm-none-eabi-as is added
# so the GCC have to be added for the assembly compile
set(CMAKE_ASM_COMPILER     ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-gcc)

set(CMAKE_OBJCOPY     	   ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-objcopy CACHE INTERNAL "objcopy command")
set(CMAKE_OBJDUMP     	   ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-objdump CACHE INTERNAL "objdump command")
set(CMAKE_GDB              ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-gdb)
set(CMAKE_SIZE             ${ARM_TOOLCHAIN_DIR}/${TOOL_CHAIN_PREFIX}-size)

branch_name: refs/heads/main

extension: cmake


text:
#include "jni_scouter.hpp"
#include "Scouter.hpp"

using namespace std;

inline void vector_Rect_to_Mat(vector<Rect>& v_rect, Mat& mat) {
	mat = Mat(v_rect, true);
}

JNIEXPORT jlong JNICALL Java_com_polysfactory_scouter_jni_ScouterProcessor_nativeCreateObject(
		JNIEnv *jenv, jobject, jstring jFaceXml, jstring jeyeXml1,
		jstring jeyeXml2, jstring jFaceModelFile) {
	const char* faceXml = jenv->GetStringUTFChars(jFaceXml, NULL);
	const char* eyeXml1 = jenv->GetStringUTFChars(jeyeXml1, NULL);
	const char* eyeXml2 = jenv->GetStringUTFChars(jeyeXml2, NULL);
	const char* faceModelFile = jenv->GetStringUTFChars(jFaceModelFile, NULL);
	Scouter* scouter = new Scouter(string(faceXml), string(eyeXml1),
			string(eyeXml2), string(faceModelFile));
	return (jlong) scouter;
}

JNIEXPORT jint JNICALL Java_com_polysfactory_scouter_jni_ScouterProcessor_nativeProcess(
		JNIEnv *jenv, jobject, jlong thiz, jlong image, jlong faceRectMat) {
	try {
		vector < Rect > faceRectVec;
		int power = ((Scouter*) thiz)->process(*((Mat*) image), faceRectVec);
		vector_Rect_to_Mat(faceRectVec, *((Mat*) faceRectMat));
		return (jint) power;
	} catch (...) {
		jclass je = jenv->FindClass("java/lang/Exception");
		jenv->ThrowNew(je, "native error");
	}
}

JNIEXPORT void JNICALL Java_com_polysfactory_scouter_jni_ScouterProcessor_nativeDestroyObject
(JNIEnv *, jobject, jlong) {

}

repository: thorikawa/Glascouter

repo_name: thorikawa/Glascouter

extension: cpp


text:
SUMMARY = "KDE games meta"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

inherit packagegroup

RDEPENDS_${PN} = " \
    bovo \
    kapman \
    katomic \
    kbounce \
    kdiamond \
    kreversi \
    libkdegames \
"

extension: bb


text:
SUMMARY = "Firmware for the DE0-Nano and DE10-Nano FPGAs"

LICENSE = "Firmware-de10-nano & Firmware-de0-nano & MIT"

LIC_FILES_CHKSUM = "\
	file://${WORKDIR}/hardware/de10-nano/output_files/LICENSE.de10-nano.rbf;md5=b023c4e641168784dd29eca3d87d3dba \
	file://${WORKDIR}/hardware/de0-nano/output_files/LICENSE.de0-nano.rbf;md5=4f612b7b520cc528f216ce2b7a6fd620 \
	file://${WORKDIR}/hardware/LICENSE;md5=d252b8b27e3e6ea89c9c6912b3c4373d \
"

NO_GENERIC_LICENSE[Firmware-de10-nano] = "${WORKDIR}/hardware/de10-nano/output_files/LICENSE.de10-nano.rbf"
NO_GENERIC_LICENSE[Firmware-de0-nano] = "${WORKDIR}/hardware/de0-nano/output_files/LICENSE.de0-nano.rbf"

inherit deploy

PACKAGE_ARCH = "${MACHINE_ARCH}"

SRCREV_FORMAT = "hardware"

# Build:03-22-17_01.32.46 QUARTUS:Version=16.1.2.203
SRCREV_hardware = "d03450606b22a5f4f0d39da79fe169745ceffbec"

PV="${PN}+git${SRCPV}"

SRC_URI += " \
	git://github.com/01org/de10-nano-hardware.git;destsuffix=hardware;name=hardware;branch=RELEASE_BUILDS;protocol=https \
"

do_install () {
        cd ${WORKDIR}/hardware
	install -d ${D}${base_libdir}/firmware
	install -m 0644 LICENSE ${D}${base_libdir}/firmware/LICENSE.${MACHINE}.dtbo
        install -m 0644 devicetrees/${MACHINE}.dtbo ${D}${base_libdir}/firmware

}

do_deploy () {
        cd ${WORKDIR}/hardware
	install -d ${DEPLOYDIR}
	install -m 0644 ${MACHINE}/output_files/LICENSE.${MACHINE}.rbf ${DEPLOYDIR}
	install -m 0644 ${MACHINE}/output_files/${MACHINE}.rbf ${DEPLOYDIR}
}

addtask deploy after do_install

FILES_${PN} = "${base_libdir}/firmware"
LICENSE_${PN} = "MIT"

gha_license_id: MIT

gha_language: C


text:
namespace ElevatorSharp.Game
{
    public enum ElevatorDirection
    {
        Stopped,
        Up,
        Down
    }
}

repository: LeedsSharp/ElevatorSharp

repo_name: LeedsSharp/ElevatorSharp

gha_language: JavaScript

extension: cs


text:
package commands

import (
	"github.com/jfrogdev/jfrog-cli-go/artifactory/utils"
	"os"
	"strings"
)

func BuildCollectEnv(buildName, buildNumber string) (err error) {
	if err = utils.SaveBuildGeneralDetails(buildName, buildNumber); err != nil {
		return
	}
	populateFunc := func(tempWrapper *utils.ArtifactBuildInfoWrapper) {
		tempWrapper.Env = getEnvVariables()
	}
	err = utils.SavePartialBuildInfo(buildName, buildNumber, populateFunc)
	return
}

func getEnvVariables() utils.BuildEnv {
	m := make(map[string]string)
	for _, e := range os.Environ() {
		pair := strings.Split(e, "=")
		if len(pair[0]) != 0 {
			m["buildInfo.env." + pair[0]] = pair[1]
		}
	}
	return m
}

repository: TamirHadad/jfrog-cli-go

repo_name: TamirHadad/jfrog-cli-go

extension: go


text:
import { cleanup, tmpProjPath } from '@nrwl/nx-plugin/testing';
import { getPackageManagerCommand } from '@nrwl/tao/src/shared/package-manager';
import { appRootPath } from '@nrwl/workspace/src/utils/app-root';
import { execSync } from 'child_process';
import {
  ensureDirSync,
  existsSync,
  moveSync,
  readFileSync,
  removeSync,
  writeFileSync,
} from 'fs-extra';
import { tmpdir } from 'os';
import * as path from 'path';

function runNxNewCommand(args?: string, silent?: boolean) {
  const localTmpDir = path.dirname(tmpProjPath());
  return execSync(
    `node ${require.resolve(
      '@nrwl/tao'
    )} new proj --nx-workspace-root=${localTmpDir} --no-interactive --skip-install --collection=@nrwl/workspace --npmScope=proj --preset=empty ${
      args || ''
    }`,
    {
      cwd: localTmpDir,
      ...(silent && false ? { stdio: ['ignore', 'ignore', 'ignore'] } : {}),
    }
  );
}

function patchPackageJsonForPlugin(
  npmPackageName: string,
  distPath: string,
  ng: boolean = false
) {
  const p = JSON.parse(readFileSync(tmpProjPath('package.json')).toString());
  p.devDependencies[npmPackageName] = `file:${appRootPath}/${distPath}`;
  writeFileSync(tmpProjPath('package.json'), JSON.stringify(p, null, 2));
}

/**
 * Run the appropriate package manager install command in the e2e directory
 * @param silent silent output from the install
 */
function runPackageManagerInstall(silent: boolean = true) {
  const install = execSync(getPackageManagerCommand().install, {
    cwd: tmpProjPath(),
    ...(silent ? { stdio: ['ignore', 'ignore', 'ignore'] } : {}),
  });
  return install ? install.toString() : '';
}

/**
 * Creates a new nx project in the e2e directory
 *
 * @param npmPackageName package name to test
 * @param pluginDistPath dist path where the plugin was outputted to
 * @param cli
 */
function newNxProject(
  npmPackageName: string,
  pluginDistPath: string,
  cli: 'nx' | 'angular' = 'nx'
): void {
  cleanup();
  runNxNewCommand(`--cli=${cli}`, true);
  patchPackageJsonForPlugin(npmPackageName, pluginDistPath);
  runPackageManagerInstall();
}

export function ensureNxProject(
  pluginNpmName: string,
  pluginDistPath: string,
  cli: 'nx' | 'angular' = 'nx'
) {
  ensureDirSync(tmpProjPath());
  newNxProject(pluginNpmName, pluginDistPath, cli);
}

export function remove(folder: string) {
  const parentFolder = path.basename(folder);
  const folderName = path.basename(folder);
  try {
    removeSync(folder);
  } catch (err) {
    execSync(`rm -rf ${folderName}`, { cwd: parentFolder });
    if (existsSync(folder)) {
      throw new Error(
        `didnt succeed to remove folder ${folder}: ${err.toString()}`
      );
    }
  }
}

function runNgNewCommand() {
  const localTmpDir = `./tmp/nx-e2e`;
  const osTmpDir = tmpdir();
  const projPath = path.join(osTmpDir, 'proj');
  remove(projPath);
  remove(localTmpDir);
  execSync(
    `npx @angular/cli new proj --defaults --minimal --routing=false --skip-git --skip-install --style=scss`,
    { cwd: osTmpDir }
  );
  moveSync(projPath, path.join(localTmpDir, 'proj'));
}

function newNgProject(pluginNpmName: string, pluginDistPath: string) {
  cleanup();
  runNgNewCommand();
  patchPackageJsonForPlugin(pluginNpmName, pluginDistPath, true);
  runPackageManagerInstall();
}

export function ensureNgProject(pluginNpmName: string, pluginDistPath: string) {
  ensureDirSync(tmpProjPath());
  newNgProject(pluginNpmName, pluginDistPath);
}

repository: RicardoTrejoSanjuan/tailwind

repo_name: RicardoTrejoSanjuan/tailwind

extension: ts


text:
@inproceedings{abdelaziz2015sub,
 author = {Abdelaziz, Mahmoud and Tarver, Chance and Li, Kaipeng and Anttila, Lauri and Martinez, Raul and Valkama, Mikko and Cavallaro, Joseph R},
 booktitle = {2015 49th Asilomar conference on signals, systems and computers},
 organization = {IEEE},
 pages = {1180--1186},
 title = {Sub-band digital predistortion for noncontiguous transmissions: Algorithm development and real-time prototype implementation},
 year = {2015}
}

extension: bib


text:
SUMMARY = "Use previously captured traffic to test network devices"

HOMEPAGE = "http://tcpreplay.synfin.net/"
SECTION = "console/network"

LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=c33cccf72cc1603e8a72a84811ae3ac8"

SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz \
           file://tcpreplay-3.4.4-cross-compile.patch \
           file://tcpreplay-3.4.4-no-bfp-support.patch \
           file://tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch \
           "
SRC_URI[md5sum] = "22725feb9b2590809f9350308ec65180"
SRC_URI[sha256sum] = "7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f"

DEPENDS = "libpcap"

EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"

inherit siteinfo autotools

repository: ni/meta-oe

repo_name: ni/meta-oe

gha_language: BlitzBasic


text:
package retryresource

import (
	"context"
	"time"

	"github.com/giantswarm/backoff"
	"github.com/giantswarm/microerror"
	"github.com/giantswarm/micrologger"

	"github.com/giantswarm/operatorkit/v7/pkg/resource"
)

type basicResourceConfig struct {
	BackOff  backoff.Interface
	Logger   micrologger.Logger
	Resource resource.Interface
}

type basicResource struct {
	backOff  backoff.Interface
	logger   micrologger.Logger
	resource resource.Interface
}

func newBasicResource(config basicResourceConfig) (*basicResource, error) {
	if config.BackOff == nil {
		return nil, microerror.Maskf(invalidConfigError, "%T.BackOff must not be empty", config)
	}
	if config.Logger == nil {
		return nil, microerror.Maskf(invalidConfigError, "%T.Logger must not be empty", config)
	}
	if config.Resource == nil {
		return nil, microerror.Maskf(invalidConfigError, "%T.Resource must not be empty", config)
	}

	r := &basicResource{
		backOff:  config.BackOff,
		logger:   config.Logger,
		resource: config.Resource,
	}

	return r, nil
}

func (r *basicResource) EnsureCreated(ctx context.Context, obj interface{}) error {
	var err error

	o := func() error {
		err = r.resource.EnsureCreated(ctx, obj)
		if err != nil {
			return microerror.Mask(err)
		}

		return nil
	}

	n := func(err error, dur time.Duration) {
		r.logger.Errorf(ctx, err, "retrying due to error")
	}

	err = backoff.RetryNotify(o, r.backOff, n)
	if err != nil {
		return microerror.Mask(err)
	}

	return nil
}

func (r *basicResource) EnsureDeleted(ctx context.Context, obj interface{}) error {
	var err error

	o := func() error {
		err = r.resource.EnsureDeleted(ctx, obj)
		if err != nil {
			return microerror.Mask(err)
		}

		return nil
	}

	n := func(err error, dur time.Duration) {
		r.logger.Errorf(ctx, err, "retrying due to error")
	}

	err = backoff.RetryNotify(o, r.backOff, n)
	if err != nil {
		return microerror.Mask(err)
	}

	return nil
}

func (r *basicResource) Name() string {
	return r.resource.Name()
}

repository: giantswarm/operatorkit

repo_name: giantswarm/operatorkit

gha_language: Go


text:
// Code generated by gotemplate. DO NOT EDIT.

package exception

import (
	"bytes"
	"encoding/json"
	"reflect"
	"strconv"

	"github.com/eosspark/eos-go/log"
)

// template type Exception(PARENT,CODE,WHAT)

var PluginExceptionName = reflect.TypeOf(PluginException{}).Name()

type PluginException struct {
	_PluginException
	Elog log.Messages
}

func NewPluginException(parent _PluginException, message log.Message) *PluginException {
	return &PluginException{parent, log.Messages{message}}
}

func (e PluginException) Code() int64 {
	return 3110000
}

func (e PluginException) Name() string {
	return PluginExceptionName
}

func (e PluginException) What() string {
	return "Plugin exception"
}

func (e *PluginException) AppendLog(l log.Message) {
	e.Elog = append(e.Elog, l)
}

func (e PluginException) GetLog() log.Messages {
	return e.Elog
}

func (e PluginException) TopMessage() string {
	for _, l := range e.Elog {
		if msg := l.GetMessage(); len(msg) > 0 {
			return msg
		}
	}
	return e.String()
}

func (e PluginException) DetailMessage() string {
	var buffer bytes.Buffer
	buffer.WriteString(strconv.Itoa(int(e.Code())))
	buffer.WriteByte(' ')
	buffer.WriteString(e.Name())
	buffer.Write([]byte{':', ' '})
	buffer.WriteString(e.What())
	buffer.WriteByte('\n')
	for _, l := range e.Elog {
		buffer.WriteByte('[')
		buffer.WriteString(l.GetMessage())
		buffer.Write([]byte{']', ' '})
		buffer.WriteString(l.GetContext().String())
		buffer.WriteByte('\n')
	}
	return buffer.String()
}

func (e PluginException) String() string {
	return e.DetailMessage()
}

func (e PluginException) MarshalJSON() ([]byte, error) {
	type Exception struct {
		Code int64  `json:"code"`
		Name string `json:"name"`
		What string `json:"what"`
	}

	except := Exception{
		Code: 3110000,
		Name: PluginExceptionName,
		What: "Plugin exception",
	}

	return json.Marshal(except)
}

func (e PluginException) Callback(f interface{}) bool {
	switch callback := f.(type) {
	case func(*PluginException):
		callback(&e)
		return true
	case func(PluginException):
		callback(e)
		return true
	default:
		return false
	}
}

repository: eosspark/geos

repo_name: eosspark/geos


text:
#ifndef QUEUE_H
#define QUEUE_H

#include <exception>
#include <string>

class QueueUnderflowException : public std::exception
{
  public:
    std::string getMsg()
    {
        return "ERROR: QUEUE UNDERFLOW";
    }
};

template <class T>
class Queue
{
    T *array;
    int size;
    int head, tail;
    int numOfElements;

  public:
    Queue()
    {
        this->size = 4;
        this->array = new T[size];
        this->head = -1;
        this->tail = -1;
        this->numOfElements = 0;
    }
    Queue(const Queue &queue)
    {
        this->size = queue.size;
        this->array = new T[this->size];
        for (int i = 0; i < size; i++)
        {
            this->array[i] = queue.array[i];
        }
        this->head = queue.head;
        this->tail = queue.tail;
        this->numOfElements = queue.numOfElements;
    }
    ~Queue()
    {
        delete[] array;
    }
    void enqueue(T data)
    {
        if (tail == -1)
        {
            head = tail = 0;
            this->array[tail] = data;
        }
        else if (numOfElements < this->size)
        {
            tail = (tail + 1) % this->size;
            array[tail] = data;
        }
        else
        {
            int tempSize = this->size * 2;
            T *tempArray = new T[tempSize];
            for (int i = 0; i < this->size; i++)
            {
                tempArray[i] = this->array[i];
            }
            delete[] this->array;
            this->array = tempArray;
            this->size = tempSize;
            tail = (tail + 1) % this->size;
            this->array[tail] = data;
        }
        this->numOfElements++;
    }

    void dequeue() throw(QueueUnderflowException)
    {
        if (this->isEmpty())
        {
            QueueUnderflowException e;
            throw e;
        }
        else if(head == tail)
        {
            head = tail = -1;
        }
        else
        {
            this->numOfElements--;
            head = (head + 1) % this->size;
        }
    }

    T front()
    {
        if (this->isEmpty())
        {
            QueueUnderflowException e;
            throw e;
        }
        return this->array[head];
    }
    bool isEmpty()
    {
        return head==-1 && tail ==-1;
    }
};

#endif

extension: h


text:
require gpsd.inc

PR = "r2"
# make attempts to link gpspacket.so without waiting for all compiler tasks:
PARALLEL_MAKE = ""

SRC_URI[gpsd.md5sum] = "725c320ca6fa35bcdaa1de2d8908f392"
SRC_URI[gpsd.sha256sum] = "ae828da850ac0590fd47768856c4ec29021332204182abe4ad94098d72168474"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
DESCRIPTION = "Sega 8/16 bit emu - picodrive arm optimised libretro core"

LICENSE = "proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=4613340462793d879916d43aa44d4236"

inherit libretro

LIBRETRO_GIT_REPO = "github.com/libretro/picodrive.git"

repository: hansenlabs/meta-retro

repo_name: hansenlabs/meta-retro


text:
/*
 * Copyright (c) Facebook, Inc. and its affiliates.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree.
 */

package obsidian

import (
	"fmt"
	"net/http"
	"reflect"
	"strings"

	"magma/orc8r/cloud/go/obsidian"
	"magma/orc8r/cloud/go/services/configurator"

	"github.com/labstack/echo"
)

// Since the config service does not differentiate between configs that belong
// to networks vs network entities, this is a bit of a hack that relies on the
// current naming pattern to differentiate between the two.
// The current naming pattern is "*_network" and "*_gateway"
func getConfigTypeForConfigurator(configType string) ConfigType {
	split := strings.Split(configType, "_")
	lastIndex := len(split) - 1
	if len(split) > 1 && split[lastIndex] == "network" {
		return Network
	} else if len(split) == 2 && split[lastIndex] == "gateway" {
		return Gateway
	} else {
		return Entity
	}
}

// Networks

func configuratorCreateNetworkConfig(c echo.Context, networkID string, configType string, iConfig interface{}) error {
	config, nerr := GetConfigAndValidate(c, iConfig)
	if nerr != nil {
		return nerr
	}
	err := configurator.UpdateNetworkConfig(networkID, configType, config)
	if err != nil {
		return obsidian.HttpError(err, http.StatusInternalServerError)
	}
	return c.JSON(http.StatusCreated, networkID)
}

func configuratorGetNetworkConfig(c echo.Context, networkID string, configType string) error {
	cfg, err := configurator.GetNetworkConfigsByType(networkID, configType)
	if err != nil {
		return obsidian.HttpError(err, http.StatusInternalServerError)
	}
	if cfg == nil {
		return echo.NewHTTPError(http.StatusNotFound)
	}
	return c.JSON(http.StatusOK, cfg)
}

func configuratorUpdateNetworkConfig(c echo.Context, networkID string, configType string, iConfig interface{}) error {
	config, nerr := GetConfigAndValidate(c, iConfig)
	if nerr != nil {
		return nerr
	}
	err := configurator.UpdateNetworkConfig(networkID, configType, config)
	if err != nil {
		return obsidian.HttpError(err, http.StatusInternalServerError)
	}
	return c.NoContent(http.StatusOK)
}

func configuratorDeleteNetworkConfig(c echo.Context, networkID string, configType string) error {
	err := configurator.DeleteNetworkConfig(networkID, configType)
	if err != nil {
		return obsidian.HttpError(err, http.StatusInternalServerError)
	}
	return c.NoContent(http.StatusOK)
}

func GetConfigAndValidate(c echo.Context, iConfig interface{}) (ConvertibleUserModel, error) {
	cfgInstance := reflect.New(reflect.TypeOf(iConfig).Elem()).Interface().(ConvertibleUserModel)
	if err := c.Bind(cfgInstance); err != nil {
		return nil, obsidian.HttpError(err, http.StatusBadRequest)
	}
	if err := cfgInstance.ValidateModel(); err != nil {
		return nil, obsidian.HttpError(fmt.Errorf("Invalid config: %s", err), http.StatusBadRequest)
	}
	return cfgInstance, nil
}

repository: snwfdhmp/magma

repo_name: snwfdhmp/magma

gha_license_id: NOASSERTION


text:
SUMMARY = "log4cplus provides a simple C++ logging API for log management"
SECTION = "libs"
HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"

LICENSE = "Apache-2.0 & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=65053a46f707ee2b93f09ad22f692170"

SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz"
SRC_URI[md5sum] = "104bd6dd07ee71bc52ee9adca4d4d5fc"
SRC_URI[sha256sum] = "96905e763fc6f1e3a854c3d1964c21e877de909bdddd0aed99806c62a68be838"

inherit autotools pkgconfig

BBCLASSEXTEND += "native"

branch_name: refs/heads/fido

gha_language: BitBake


text:
using BeatPulse.Core;
using Microsoft.AspNetCore.Http;
using System;
using System.Linq;
using System.Net;
using System.Threading;
using System.Threading.Tasks;

namespace BeatPulse.Network
{
    public class DnsResolveLiveness : IBeatPulseLiveness
    {
        private readonly DnsResolveOptions _options;

        public DnsResolveLiveness(DnsResolveOptions options)
        {
            _options = options;
        }
        public async Task<(string, bool)> IsHealthy(HttpContext context, LivenessExecutionContext livenessContext, CancellationToken cancellationToken = default)
        {
            try
            {
                foreach (var item in _options.ConfigureHosts.Values)
                {
                    var ipAddresses = Dns.GetHostAddresses(item.Host)
                                         .Select(h => h.ToString());

                    foreach (var ipAddress in ipAddresses)
                    {
                        if (!item.Resolutions.Contains(ipAddress))
                        {
                            return await Task.FromResult(($"Ip Address {ipAddress} was not resolved from host {item.Host}", false));
                        }
                    }
                }

                return await Task.FromResult((BeatPulseKeys.BEATPULSE_HEALTHCHECK_DEFAULT_OK_MESSAGE, true));
            }
            catch (Exception ex)
            {
                var message = !livenessContext.IsDevelopment ? string.Format(BeatPulseKeys.BEATPULSE_HEALTHCHECK_DEFAULT_ERROR_MESSAGE, livenessContext.Name)
                    : $"Exception {ex.GetType().Name} with message ('{ex.Message}')";

                return await Task.FromResult((message, false));
            }
        }
    }
}


text:
DESCRIPTION =""
LICENSE = "None"

inherit packagegroup

# Packages
RDEPENDS_${PN} += "\
    bzip2 \
    devmem2 \
    dosfstools \
    ethtool \
    fbset \
    findutils \
    i2c-tools \
    iproute2 \
    less \
    memtester \
    vim \
    netcat \
    procps \
    rsync \
    sysfsutils \
    tcpdump \
    unzip \
    util-linux \
    wget \
    zip \
    dtc \
"

RDEPENDS_${PN} += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-analyze", "", d)}'

repository: FoundationOS/meta-foundationos

repo_name: FoundationOS/meta-foundationos