text:
6" y1="3.5814" x2="20.8026" y2="3.6322" layer="21"/>
<rectangle x1="21.1582" y1="3.5814" x2="21.3614" y2="3.6322" layer="21"/>
<rectangle x1="22.5806" y1="3.5814" x2="22.8346" y2="3.6322" layer="21"/>
<rectangle x1="23.241" y1="3.5814" x2="23.4442" y2="3.6322" layer="21"/>
<rectangle x1="24.1046" y1="3.5814" x2="24.3586" y2="3.6322" layer="21"/>
<rectangle x1="24.7142" y1="3.5814" x2="24.9682" y2="3.6322" layer="21"/>
<rectangle x1="26.6446" y1="3.5814" x2="26.8986" y2="3.6322" layer="21"/>
<rectangle x1="2.0574" y1="3.6322" x2="3.1242" y2="3.683" layer="21"/>
<rectangle x1="5.9182" y1="3.6322" x2="7.0358" y2="3.683" layer="21"/>
<rectangle x1="7.6962" y1="3.6322" x2="7.9502" y2="3.683" layer="21"/>
<rectangle x1="9.525" y1="3.6322" x2="9.7282" y2="3.683" layer="21"/>
<rectangle x1="10.0838" y1="3.6322" x2="10.3378" y2="3.683" layer="21"/>
<rectangle x1="10.6934" y1="3.6322" x2="10.8966" y2="3.683" layer="21"/>
<rectangle x1="12.1158" y1="3.6322" x2="12.319" y2="3.683" layer="21"/>
<rectangle x1="12.6746" y1="3.6322" x2="12.9286" y2="3.683" layer="21"/>
<rectangle x1="14.097" y1="3.6322" x2="14.351" y2="3.683" layer="21"/>
<rectangle x1="14.6558" y1="3.6322" x2="14.9098" y2="3.683" layer="21"/>
<rectangle x1="15.9258" y1="3.6322" x2="16.2306" y2="3.683" layer="21"/>
<rectangle x1="17.0942" y1="3.6322" x2="17.2974" y2="3.683" layer="21"/>
<rectangle x1="18.5166" y1="3.6322" x2="18.7706" y2="3.683" layer="21"/>
<rectangle x1="19.1262" y1="3.6322" x2="19.3294" y2="3.683" layer="21"/>
<rectangle x1="20.5486" y1="3.6322" x2="20.8026" y2="3.683" layer="21"/>
<rectangle x1="21.1582" y1="3.6322" x2="21.3614" y2="3.683" layer="21"/>
<rectangle x1="22.5806" y1="3.6322" x2="22.8346" y2="3.683" layer="21"/>
<rectangle x1="23.241" y1="3.6322" x2="23.4442" y2="3.683" layer="21"/>
<rectangle x1="24.1046" y1="3.6322" x2="24.3586" y2="3.683" layer="21"/>
<rectangle x1="24.7142" y1="3.6322" x2="24.9682" y2="3.683" layer="21"/>
<rectangle x1="26.5938" y1="3.6322" x2="26.8478" y2="3.683" layer="21"/>
<rectangle x1="2.0574" y1="3.683" x2="3.1242" y2="3.7338" layer="21"/>
<rectangle x1="5.969" y1="3.683" x2="7.0358" y2="3.7338" layer="21"/>
<rectangle x1="7.6962" y1="3.683" x2="7.9502" y2="3.7338" layer="21"/>
<rectangle x1="9.525" y1="3.683" x2="9.7282" y2="3.7338" layer="21"/>
<rectangle x1="10.0838" y1="3.683" x2="10.3378" y2="3.7338" layer="21"/>
<rectangle x1="10.6934" y1="3.683" x2="10.8966" y2="3.7338" layer="21"/>
<rectangle x1="12.1158" y1="3.683" x2="12.319" y2="3.7338" layer="21"/>
<rectangle x1="12.6746" y1="3.683" x2="12.9286" y2="3.7338" layer="21"/>
<rectangle x1="14.1478" y1="3.683" x2="14.351" y2="3.7338" layer="21"/>
<rectangle x1="14.6558" y1="3.683" x2="14.9098" y2="3.7338" layer="21"/>
<rectangle x1="15.875" y1="3.683" x2="16.1798" y2="3.7338" layer="21"/>
<rectangle x1="17.0942" y1="3.683" x2="17.2974" y2="3.7338" layer="21"/>
<rectangle x1="18.5166" y1="3.683" x2="18.7706" y2="3.7338" layer="21"/>
<rectangle x1="19.1262" y1="3.683" x2="19.3294" y2="3.7338" layer="21"/>
<rectangle x1="20.5486" y1="3.683" x2="20.8026" y2="3.7338" layer="21"/>
<rectangle x1="21.1582" y1="3.683" x2="21.3614" y2="3.7338" layer="21"/>
<rectangle x1="22.5806" y1="3.683" x2="22.8346" y2="3.7338" layer="21"/>
<rectangle x1="23.241" y1="3.683" x2="23.4442" y2="3.7338" layer="21"/>
<rectangle x1="24.1046" y1="3.683" x2="24.3586" y2="3.7338" layer="21"/>
<rectangle x1="24.7142" y1="3.683" x2="24.9682" y2="3.7338" layer="21"/>
<rectangle x1="26.5938" y1="3.683" x2="26.8478" y2="3.7338" layer="21"/>
<rectangle x1="2.0574" y1="3.7338" x2="3.1242" y2="3.7846" layer="21"/>
<rectangle x1="5.969" y1="3.7338" x2="7.0358" y2="3.7846" layer="21"/>
<rectangle x1="7.6962" y1="3.7338" x2="7.9502" y2="3.7846" layer="21"/>
<rectangle x1="9.525" y1="3.7338" x2="9.7282" y2="3.7846" layer="21"/>
<rectangle x1="10.0838" y1="3.7338" x2="10.3378" y2="3.7846" layer="21"/>
<rectangle x1="10.6934" y1="3.7338" x2="10.8966" y2="3.7846" layer="21"/>
<rectangle x1="12.1158" y1="3.7338" x2="12.319" y2="3.7846" layer="21"/>
<rectangle x1="12.6746" y1="3.7338" x2="12.9286" y2="3.7846" layer="21"/>
<rectangle x1="14.1478" y1="3.7338" x2="14.351" y2="3.7846" layer="21"/>
<rectangle x1="14.6558" y1="3.7338" x2="14.9098" y2="3.7846" layer="21"/>
<rectangle x1="15.113" y1="3.7338" x2="16.383" y2="3.7846" layer="21"/>
<rectangle x1="17.0942" y1="3.7338" x2="17.2974" y2="3.7846" layer="21"/>
<rectangle x1="18.5166" y1="3.7338" x2="18.7706" y2="3.7846" layer="21"/>
<rectangle x1="19.1262" y1="3.7338" x2="19.3294" y2="3.7846" layer="21"/>
<rectangle x1="20.5486" y1="3.7338" x2="20.8026" y2="3.7846" layer="21"/>
<rectangle x1="21.1582" y1="3.7338" x2="21.3614" y2="3.7846" layer="21"/>
<rectangle x1="22.5806" y1="3.7338" x2="22.8346" y2="3.7846" layer="21"/>
<rectangle x1="23.241" y1="3.7338" x2="23.4442" y2="3.7846" layer="21"/>
<rectangle x1="24.1046" y1="3.7338" x2="24.3586" y2="3.7846" layer="21"/>
<rectangle x1="24.7142" y1="3.7338" x2="24.9682" y2="3.7846" layer="21"/>
<rectangle x1="26.5938" y1="3.7338" x2="26.8478" y2="3.7846" layer="21"/>
<rectangle x1="2.0574" y1="3.7846" x2="3.1242" y2="3.8354" layer="21"/>
<rectangle x1="5.969" y1="3.7846" x2="7.0358" y2="3.8354" layer="21"/>
<rectangle x1="7.6962" y1="3.7846" x2="7.9502" y2="3.8354" layer="21"/>
<rectangle x1="9.525" y1="3.7846" x2="9.7282" y2="3.8354" layer="21"/>
<rectangle x1="10.0838" y1="3.7846" x2="10.3378" y2="3.8354" layer="21"/>
<rectangle x1="10.6934" y1="3.7846" x2="10.8966" y2="3.8354" layer="21"/>
<rectangle x1="12.1158" y1="3.7846" x2="12.319" y2="3.8354" layer="21"/>
<rectangle x1="12.6746" y1="3.7846" x2="12.9286" y2="3.8354" layer="21"/>
<rectangle x1="14.1478" y1="3.7846" x2="14.351" y2="3.8354" layer="21"/>
<rectangle x1="14.6558" y1="3.7846" x2="14.9098" y2="3.8354" layer="21"/>
<rectangle x1="15.113" y1="3.7846" x2="16.4846" y2="3.8354" layer="21"/>
<rectangle x1="17.0942" y1="3.7846" x2="17.2974" y2="3.8354" layer="21"/>
<rectangle x1="18.5166" y1="3.7846" x2="18.7706" y2="3.8354" layer="21"/>
<rectangle x1="19.1262" y1="3.7846" x2="19.3294" y2="3.8354" layer="21"/>
<rectangle x1="20.5486" y1="3.7846" x2="20.8026" y2="3.8354" layer="21"/>
<rectangle x1="21.1582" y1="3.7846" x2="21.3614" y2="3.8354" layer="21"/>
<rectangle x1="22.5806" y1="3.7846" x2="22.8346" y2="3.8354" layer="21"/>
<rectangle x1="23.241" y1="3.7846" x2="23.4442" y2="3.8354" layer="21"/>
<rectangle x1="24.1046" y1="3.7846" x2="24.3586" y2="3.8354" layer="21"/>
<rectangle x1="24.7142" y1="3.7846" x2="24.9682" y2="3.8354" layer="21"/>
<rectangle x1="26.5938" y1="3.7846" x2="26.8478" y2="3.8354" layer="21"/>
<rectangle x1="2.0574" y1="3.8354" x2="3.1242" y2="3.8862" layer="21"/>
<rectangle x1="5.969" y1="3.8354" x2="7.0358" y2="3.8862" layer="21"/>
<rectangle x1="7.6962" y1="3.8354" x2="7.9502" y2="3.8862" layer="21"/>
<rectangle x1="9.4742" y1="3.8354" x2="9.7282" y2="3.8862" layer="21"/>
<rectangle x1="10.0838" y1="3.8354" x2="10.3378" y2="3.8862" layer="21"/>
<rectangle x1="10.6934" y1="3.8354" x2="10.8966" y2="3.8862" layer="21"/>
<rectangle x1="12.1158" y1="3.8354" x2="12.319" y2="3.8862" layer="21"/>
<rectangle x1="12.7254" y1="3.8354" x2="12.9286" y2="3.8862" layer="21"/>
<rectangle x1="14.097" y1="3.8354" x2="14.351" y2="3.8862" layer="21"/>
<rectangle x1="14.6558" y1="3.8354" x2="14.9098" y2="3.8862" layer="21"/>
<rectangle x1="15.113" y1="3.8354" x2="16.5862" y2="3.8862" layer="21"/>
<rectangle x1="17.0942" y1="3.8354" x2="17.3482" y2="3.8862" layer="21"/>
<rectangle x1="18.5166" y1="3.8354" x2="18.7706" y2="3.8862" layer="21"/>
<rectangle x1="19.1262" y1="3.8354" x2="19.3802" y2="3.8862" layer="21"/>
<rectangle x1="20.5486" y1="3.8354" x2="20.8026" y2="3.8862" layer="21"/>
<rectangle x1="21.1582" y1="3.8354" x2="21.4122" y2="3.8862" layer="21"/>
<rectangle x1="22.5806" y1="3.8354" x2="22.7838" y2="3.8862" layer="21"/>
<rectangle x1="23.241" y1="3.8354" x2="23.4442" y2="3.8862" layer="21"/>
<rectangle x1="24.1046" y1="3.8354" x2="24.3586" y2="3.8862" layer="21"/>
<rectangle x1="24.765" y1="3.8354" x2="25.019" y2="3.8862" layer="21"/>
<rectangle x1="26.5938" y1="3.8354" x2="26.8478" y2="3.8862" layer="21"/>
<rectangle x1="2.0574" y1="3.8862" x2="3.1242" y2="3.937" layer="21"/>
<rectangle x1="5.969" y1="3.8862" x2="7.0358" y2="3.937" layer="21"/>
<rectangle x1="7.6962" y1="3.8862" x2="7.9502" y2="3.937" layer="21"/>
<rectangle x1="9.4234" y1="3.8862" x2="9.7282" y2="3.937" layer="21"/>
<rectangle x1="10.0838" y1="3.8862" x2="10.3378" y2="3.937" layer="21"/>
<rectangle x1="10.6934" y1="3.8862" x2="10.8966" y2="3.937" layer="21"/>
<rectangle x1="12.1158" y1="3.8862" x2="12.319" y2="3.937" layer="21"/>
<rectangle x1="12.7254" y1="3.8862" x2="12.9794" y2="3.937" layer="21"/>
<rectangle x1="14.0462" y1="3.8862" x2="14.351" y2="3.937" layer="21"/>
<rectangle x1="14.6558" y1="3.8862" x2="14.9098" y2="3.937" layer="21"/>
<rectangle x1="15.113" y1="3.8862" x2="16.637" y2="3.937" layer="21"/>
<rectangle x1="17.0942" y1="3.8862" x2="17.399" y2="3.937" layer="21"/>
<rectangle x1="18.4658" y1="3.8862" x2="18.7198" y2="3.937" layer="21"/>
<rectangle x1="19.1262" y1="3.8862" x2="19.431" y2="3.937" layer="21"/>
<rectangle x1="20.4978" y1="3.8862" x2="20.7518" y2="3.937" layer="21"/>
<rectangle x1="21.1582" y1="3.8862" x2="21.463" y2="3.937" layer="21"/>
<rectangle x1="22.5298" y1="3.8862" x2="22.7838" y2="3.937" layer="21"/>
<rectangle x1="23.241" y1="3.8862" x2="23.4442" y2="3.937" layer="21"/>
<rectangle x1="24.1046" y1="3.8862" x2="24.3586" y2="3.937" layer="21"/>
<rectangle x1="24.765" y1="3.8862" x2="25.019" y2="3.937" layer="21"/>
<rectangle x1="26.5938" y1="3.8862" x2="26.8986" y2="3.937" layer="21"/>
<rectangle x1="2.0574" y1="3.937" x2="3.1242" y2="3.9878" layer="21"/>
<rectangle x1="5.969" y1="3.937" x2="7.0358" y2="3.9878" layer="21"/>
<rectangle x1="7.6962" y1="3.937" x2="7.9502" y2="3.9878" layer="21"/>
<rectangle x1="9.3726" y1="3.937" x2="9.6774" y2="3.9878" layer="21"/>
<rectangle x1="10.0838" y1="3.937" x2="10.3378" y2="3.9878" layer="21"/>
<rectangle x1="10.6934" y1="3.937" x2="10.8966" y2="3.9878" layer="21"/>
<rectangle x1="12.1158" y1="3.937" x2="12.319" y2="3.9878" layer="21"/>
<rectangle x1="12.7254" y1="3.937" x2="14.3002" y2="3.9878" layer="21"/>
<rectangle x1="14.6558" y1="3.937" x2="14.9098" y2="3.9878" layer="21"/>
<rectangle x1="16.2814" y1="3.937" x2="16.637" y2="3.9878" layer="21"/>
<rectangle x1="17.145" y1="3.937" x2="18.7198" y2="3.9878" layer="21"/>
<rectangle x1="19.1262" y1="3.937" x2="20.7518" y2="3.9878" layer="21"/>
<rectangle x1="21.209" y1="3.937" x2="22.7838" y2="3.9878" layer="21"/>
<rectangle x1="23.1394" y1="3.937" x2="23.7998" y2="3.9878" layer="21"/>
<rectangle x1="24.1046" y1="3.937" x2="24.3586" y2="3.9878" layer="21"/>
<rectangle x1="24.765" y1="3.937" x2="26.035" y2="3.9878" layer="21"/>
<rectangle x1="26.6446" y1="3.937" x2="27.8638" y2="3.9878" layer="21"/>
<rectangle x1="2.0574" y1="3.9878" x2="3.1242" y2="4.0386" layer="21"/>
<rectangle x1="5.969" y1="3.9878" x2="7.0358" y2="4.0386" layer="21"/>
<rectangle x1="7.6962" y1="3.9878" x2="9.6266" y2="4.0386" layer="21"/>
<rectangle x1="10.0838" y1="3.9878" x2="10.3378" y2="4.0386" layer="21"/>
<rectangle x1="10.6934" y1="3.9878" x2="10.8966" y2="4.0386" layer="21"/>
<rectangle x1="12.1158" y1="3.9878" x2="12.319" y2="4.0386" layer="21"/>
<rectangle x1="12.7762" y1="3.9878" x2="14.2494" y2="4.0386" layer="21"/>
<rectangle x1="14.6558" y1="3.9878" x2="14.9098" y2="4.0386" layer="21"/>
<rectangle x1="16.383" y1="3.9878" x2="16.6878" y2="4.0386" layer="21"/>
<rectangle x1="17.1958" y1="3.9878" x2="18.669" y2="4.0386" layer="21"/>
<rectangle x1="19.1262" y1="3.9878" x2="20.701" y2="4.0386" layer="21"/>
<rectangle x1="21.2598" y1="3.9878" x2="22.733" y2="4.0386" layer="21"/>
<rectangle x1="23.0378" y1="3.9878" x2="23.8506" y2="4.0386" layer="21"/>
<rectangle x1="24.1046" y1="3.9878" x2="24.3586" y2="4.0386" layer="21"/>
<rectangle x1="24.8158" y1="3.9878" x2="26.0858" y2="4.0386" layer="21"/>
<rectangle x1="26.6954" y1="3.9878" x2="27.9146" y2="4.0386" layer="21"/>
<rectangle x1="2.0574" y1="4.0386" x2="3.1242" y2="4.0894" layer="21"/>
<rectangle x1="5.969" y1="4.0386" x2="7.0358" y2="4.0894" layer="21"/>
<rectangle x1="7.6962" y1="4.0386" x2="9.5758" y2="4.0894" layer="21"/>
<rectangle x1="10.0838" y1="4.0386" x2="10.3378" y2="4.0894" layer="21"/>
<rectangle x1="10.6934" y1="4.0386" x2="10.8966" y2="4.0894" layer="21"/>
<rectangle x1="12.1158" y1="4.0386" x2="12.319" y2="4.0894" layer="21"/>
<rectangle x1="12.827" y1="4.0386" x2="14.1986" y2="4.0894" layer="21"/>
<rectangle x1="14.6558" y1="4.0386" x2="14.9098" y2="4.0894" layer="21"/>
<rectangle x1="16.4338" y1="4.0386" x2="16.6878" y2="4.0894" layer="21"/>
<rectangle x1="17.2466" y1="4.0386" x2="18.6182" y2="4.0894" layer="21"/>
<rectangle x1="19.1262" y1="4.0386" x2="20.6502" y2="4.0894" layer="21"/>
<rectangle x1="21.3106" y1="4.0386" x2="22.6822" y2="4.0894" layer="21"/>
<rectangle x1="23.0378" y1="4.0386" x2="23.8506" y2="4.0894" layer="21"/>
<rectangle x1="24.1046" y1="4.0386" x2="24.3586" y2="4.0894" layer="21"/>
<rectangle x1="24.8666" y1="4.0386" x2="26.0858" y2="4.0894" layer="21"/>
<rectangle x1="26.7462" y1="4.0386" x2="27.9654" y2="4.0894" layer="21"/>
<rectangle x1="2.0574" y1="4.0894" x2="3.1242" y2="4.1402" layer="21"/>
<rectangle x1="5.969" y1="4.0894" x2="7.0358" y2="4.1402" layer="21"/>
<rectangle x1="7.6962" y1="4.0894" x2="9.525" y2="4.1402" layer="21"/>
<rectangle x1="10.0838" y1="4.0894" x2="10.3378" y2="4.1402" layer="21"/>
<rectangle x1="10.6934" y1="4.0894" x2="10.8966" y2="4.1402" layer="21"/>
<rectangle x1="12.1158" y1="4.0894" x2="12.319" y2="4.1402" layer="21"/>
<rectangle x1="12.9286" y1="4.0894" x2="14.1478" y2="4.1402" layer="21"/>
<rectangle x1="14.6558" y1="4.0894" x2="14.9098" y2="4.1402" layer="21"/>
<rectangle x1="16.4846" y1="4.0894" x2="16.6878" y2="4.1402" layer="21"/>
<rectangle x1="17.2974" y1="4.0894" x2="18.5674" y2="4.1402" layer="21"/>
<rectangle x1="19.1262" y1="4.0894" x2="20.5486" y2="4.1402" layer="21"/>
<rectangle x1="21.3614" y1="4.0894" x2="22.5806" y2="4.1402" layer="21"/>
<rectangle x1="23.0886" y1="4.0894" x2="23.8506" y2="4.1402" layer="21"/>
<rectangle x1="24.1554" y1="4.0894" x2="24.3586" y2="4.1402" layer="21"/>
<rectangle x1="24.9682" y1="4.0894" x2="26.0858" y2="4.1402" layer="21"/>
<rectangle x1="26.797" y1="4.0894" x2="27.9146" y2="4.1402" layer="21"/>
<rectangle x1="2.0574" y1="4.1402" x2="3.1242" y2="4.191" layer="21"/>
<rectangle x1="5.9182" y1="4.1402" x2="7.0358" y2="4.191" layer="21"/>
<rectangle x1="7.6962" y1="4.1402" x2="9.4742" y2="4.191" layer="21"/>
<rectangle x1="10.0838" y1="4.1402" x2="10.3378" y2="4.191" layer="21"/>
<rectangle x1="14.6558" y1="4.1402" x2="14.9098" y2="4.191" layer="21"/>
<rectangle x1="16.4846" y1="4.1402" x2="16.7386" y2="4.191" layer="21"/>
<rectangle x1="19.1262" y1="4.1402" x2="19.3294" y2="4.191" layer="21"/>
<rectangle x1="23.241" y1="4.1402" x2="23.495" y2="4.191" layer="21"/>
<rectangle x1="2.0574" y1="4.191" x2="3.1242" y2="4.2418" layer="21"/>
<rectangle x1="5.9182" y1="4.191" x2="6.985" y2="4.2418" layer="21"/>
<rectangle x1="7.6962" y1="4.191" x2="7.9502" y2="4.2418" layer="21"/>
<rectangle x1="9.1694" y1="4.191" x2="9.4742" y2="4.2418" layer="21"/>
<rectangle x1="10.0838" y1="4.191" x2="10.3378" y2="4.2418" layer="21"/>
<rectangle x1="14.6558" y1="4.191" x2="14.9098" y2="4.2418" layer="21"/>
<rectangle x1="16.4846" y1="4.191" x2="16.7386" y2="4.2418" layer="21"/>
<rectangle x1="19.1262" y1="4.191" x2="19.3294" y2="4.2418" layer="21"/>
<rectangle x1="23.241" y1="4.191" x2="23.4442" y2="4.2418" layer="21"/>
<rectangle x1="2.0574" y1="4.2418" x2="3.1242" y2="4.2926" layer="21"/>
<rectangle x1="5.9182" y1="4.2418" x2="6.985" y2="4.2926" layer="21"/>
<rectangle x1="7.6962" y1="4.2418" x2="7.9502" y2="4.2926" layer="21"/>
<rectangle x1="9.2202" y1="4.2418" x2="9.525" y2="4.2926" layer="21"/>
<rectangle x1="10.0838" y1="4.2418" x2="10.3378" y2="4.2926" layer="21"/>
<rectangle x1="14.6558" y1="4.2418" x2="14.9098" y2="4.2926" layer="21"/>
<rectangle x1="16.4846" y1="4.2418" x2="16.7386" y2="4.2926" layer="21"/>
<rectangle x1="19.1262" y1="4.2418" x2="19.3294" y2="4.2926" layer="21"/>
<rectangle x1="23.241" y1="4.2418" x2="23.4442" y2="4.2926" layer="21"/>
<rectangle x1="2.0574" y1="4.2926" x2="3.175" y2="4.3434" layer="21"/>
<rectangle x1="5.9182" y1="4.2926" x2="6.985" y2="4.3434" layer="21"/>
<rectangle x1="7.6962" y1="4.2926" x2="7.9502" y2="4.3434" layer="21"/>
<rectangle x1="9.3218" y1="4.2926" x2="9.525" y2="4.3434" layer="21"/>
<rectangle x1="10.0838" y1="4.2926" x2="10.3378" y2="4.3434" layer="21"/>
<rectangle x1="14.6558" y1="4.2926" x2="14.9098" y2="4.3434" layer="21"/>
<rectangle x1="16.4846" y1="4.2926" x2="16.7386" y2="4.3434" layer="21"/>
<rectangle x1="19.1262" y1="4.2926" x2="19.3294" y2="4.3434" layer="21"/>
<rectangle x1="23.241" y1="4.2926" x2="23.4442" y2="4.3434" layer="21"/>
<rectangle x1="2.0574" y1="4.3434" x2="3.175" y2="4.3942" layer="21"/>
<rectangle x1="5.8674" y1="4.3434" x2="6.985" y2="4.3942" layer="21"/>
<rectangle x1="7.6962" y1="4.3434" x2="7.9502" y2="4.3942" layer="21"/>
<rectangle x1="9.3218" y1="4.3434" x2="9.5758" y2="4.3942" layer="21"/>
<rectangle x1="10.0838" y1="4.3434" x2="10.3378" y2="4.3942" layer="21"/>
<rectangle x1="14.6558" y1="4.3434" x2="14.9098" y2="4.3942" layer="21"/>
<rectangle x1="16.4846" y1="4.3434" x2="16.7386" y2="4.3942" layer="21"/>
<rectangle x1="19.1262" y1="4.3434" x2="19.3294" y2="4.3942" layer="21"/>
<rectangle x1="23.241" y1="4.3434" x2="23.4442" y2="4.3942" layer="21"/>
<rectangle x1="24.1554" y1="4.3434" x2="24.3078" y2="4.3942" layer="21"/>
<rectangle x1="2.1082" y1="4.3942" x2="3.2258" y2="4.445" layer="21"/>
<rectangle x1="5.8674" y1="4.3942" x2="6.985" y2="4.445" layer="21"/>
<rectangle x1="7.6962" y1="4.3942" x2="7.9502" y2="4.445" layer="21"/>
<rectangle x1="9.3218" y1="4.3942" x2="9.5758" y2="4.445" layer="21"/>
<rectangle x1="10.0838" y1="4.3942" x2="10.3378" y2="4.445" layer="21"/>
<rectangle x1="14.6558" y1="4.3942" x2="14.9098" y2="4.445" layer="21"/>
<rectangle x1="16.4846" y1="4.3942" x2="16.7386" y2="4.445" layer="21"/>
<rectangle x1="19.1262" y1="4.3942" x2="19.3294" y2="4.445" layer="21"/>
<rectangle x1="23.241" y1="4.3942" x2="23.4442" y2="4.445" layer="21"/>
<rectangle x1="24.1046" y1="4.3942" x2="24.3586" y2="4.445" layer="21"/>
<rectangle x1="2.1082" y1="4.445" x2="3.2258" y2="4.4958" layer="21"/>
<rectangle x1="5.8166" y1="4.445" x2="6.9342" y2="4.4958" layer="21"/>
<rectangle x1="7.6962" y1="4.445" x2="7.9502" y2="4.4958" layer="21"/>
<rectangle x1="9.3218" y1="4.445" x2="9.5758" y2="4.4958" layer="21"/>
<rectangle x1="10.0838" y1="4.445" x2="10.3378" y2="4.4958" layer="21"/>
<rectangle x1="14.6558" y1="4.445" x2="14.9098" y2="4.4958" layer="21"/>
<rectangle x1="16.4846" y1="4.445" x2="16.7386" y2="4.4958" layer="21"/>
<rectangle x1="19.1262" y1="4.445" x2="19.3294" y2="4.4958" layer="21"/>
<rectangle x1="23.241" y1="4.445" x2="23.4442" y2="4.4958" layer="21"/>
<rectangle x1="24.1046" y1="4.445" x2="24.4094" y2="4.4958" layer="21"/>
<rectangle x1="2.1082" y1="4.4958" x2="3.2258" y2="4.5466" layer="21"/>
<rectangle x1="5.8166" y1="4.4958" x2="6.9342" y2="4.5466" layer="21"/>
<rectangle x1="7.6962" y1="4.4958" x2="7.9502" y2="4.5466" layer="21"/>
<rectangle x1="9.3218" y1="4.4958" x2="9.5758" y2="4.5466" layer="21"/>
<rectangle x1="10.0838" y1="4.4958" x2="10.3378" y2="4.5466" layer="21"/>
<rectangle x1="14.6558" y1="4.4958" x2="14.9098" y2="4.5466" layer="21"/>
<rectangle x1="16.4846" y1="4.4958" x2="16.6878" y2="4.5466" layer="21"/>
<rectangle x1="19.1262" y1="4.4958" x2="19.3294" y2="4.5466" layer="21"/>
<rectangle x1="23.241" y1="4.4958" x2="23.4442" y2="4.5466" layer="21"/>
<rectangle x1="24.1046" y1="4.4958" x2="24.4094" y2="4.5466" layer="21"/>
<rectangle x1="2.1082" y1="4.5466" x2="3.2766" y2="4.5974" layer="21"/>
<rectangle x1="5.8166" y1="4.5466" x2="6.9342" y2="4.5974" layer="21"/>
<rectangle x1="7.6962" y1="4.5466" x2="7.9502" y2="4.5974" layer="21"/>
<rectangle x1="9.271" y1="4.5466" x2="9.525" y2="4.5974" layer="21"/>
<rectangle x1="10.0838" y1="4.5466" x2="10.3378" y2="4.5974" layer="21"/>
<rectangle x1="14.6558" y1="4.5466" x2="14.9098" y2="4.5974" layer="21"/>
<rectangle x1="16.4338" y1="4.5466" x2="16.6878" y2="4.5974" layer="21"/>
<rectangle x1="19.1262" y1="4.5466" x2="19.3294" y2="4.5974" layer="21"/>
<rectangle x1="23.2918" y1="4.5466" x2="23.3934" y2="4.5974" layer="21"/>
<rectangle x1="24.1046" y1="4.5466" x2="24.3586" y2="4.5974" layer="21"/>
<rectangle x1="2.159" y1="4.5974" x2="3.2766" y2="4.6482" layer="21"/>
<rectangle x1="5.7658" y1="4.5974" x2="6.9342" y2="4.6482" layer="21"/>
<rectangle x1="7.6962" y1="4.5974" x2="7.9502" y2="4.6482" layer="21"/>
<rectangle x1="9.2202" y1="4.5974" x2="9.525" y2="4.6482" layer="21"/>
<rectangle x1="10.0838" y1="4.5974" x2="10.3378" y2="4.6482" layer="21"/>
<rectangle x1="14.6558" y1="4.5974" x2="14.9098" y2="4.6482" layer="21"/>
<rectangle x1="16.383" y1="4.5974" x2="16.6878" y2="4.6482" layer="21"/>
<rectangle x1="19.1262" y1="4.5974" x2="19.3294" y2="4.6482" layer="21"/>
<rectangle x1="24.2062" y1="4.5974" x2="24.257" y2="4.6482" layer="21"/>
<rectangle x1="2.159" y1="4.6482" x2="3.3274" y2="4.699" layer="21"/>
<rectangle x1="5.715" y1="4.6482" x2="6.8834" y2="4.699" layer="21"/>
<rectangle x1="7.6962" y1="4.6482" x2="7.9502" y2="4.699" layer="21"/>
<rectangle x1="9.1186" y1="4.6482" x2="9.4742" y2="4.699" layer="21"/>
<rectangle x1="10.0838" y1="4.6482" x2="10.3378" y2="4.699" layer="21"/>
<rectangle x1="14.6558" y1="4.6482" x2="14.9098" y2="4.699" layer="21"/>
<rectangle x1="16.2814" y1="4.6482" x2="16.637" y2="4.699" layer="21"/>
<rectangle x1="19.1262" y1="4.6482" x2="19.3294" y2="4.699" layer="21"/>
<rectangle x1="2.159" y1="4.699" x2="3.3782" y2="4.7498" layer="21"/>
<rectangle x1="5.715" y1="4.699" x2="6.8834" y2="4.7498" layer="21"/>
<rectangle x1="7.6962" y1="4.699" x2="9.4742" y2="4.7498" layer="21"/>
<rectangle x1="10.0838" y1="4.699" x2="10.3378" y2="4.7498" layer="21"/>
<rectangle x1="14.6558" y1="4.699" x2="16.5862" y2="4.7498" layer="21"/>
<rectangle x1="19.1262" y1="4.699" x2="19.3294" y2="4.7498" layer="21"/>
<rectangle x1="2.2098" y1="4.7498" x2="3.429" y2="4.8006" layer="21"/>
<rectangle x1="5.6642" y1="4.7498" x2="6.8834" y2="4.8006" layer="21"/>
<rectangle x1="7.6962" y1="4.7498" x2="9.3726" y2="4.8006" layer="21"/>
<rectangle x1="10.0838" y1="4.7498" x2="10.3378" y2="4.8006" layer="21"/>
<rectangle x1="14.6558" y1="4.7498" x2="16.5354" y2="4.8006" layer="21"/>
<rectangle x1="19.1262" y1="4.7498" x2="19.3294" y2="4.8006" layer="21"/>
<rectangle x1="2.2098" y1="4.8006" x2="3.429" y2="4.8514" layer="21"/>
<rectangle x1="5.6134" y1="4.8006" x2="6.8326" y2="4.8514" layer="21"/>
<rectangle x1="7.6962" y1="4.8006" x2="9.3218" y2="4.8514" layer="21"/>
<rectangle x1="10.0838" y1="4.8006" x2="10.287" y2="4.8514" layer="21"/>
<rectangle x1="14.7066" y1="4.8006" x2="16.4846" y2="4.8514" layer="21"/>
<rectangle x1="19.1262" y1="4.8006" x2="19.3294" y2="4.8514" layer="21"/>
<rectangle x1="2.2098" y1="4.8514" x2="3.4798" y2="4.9022" layer="21"/>
<rectangle x1="5.5626" y1="4.8514" x2="6.8326" y2="4.9022" layer="21"/>
<rectangle x1="7.747" y1="4.8514" x2="9.1694" y2="4.9022" layer="21"/>
<rectangle x1="10.1346" y1="4.8514" x2="10.287" y2="4.9022" layer="21"/>
<rectangle x1="14.7066" y1="4.8514" x2="16.3322" y2="4.9022" layer="21"/>
<rectangle x1="19.1262" y1="4.8514" x2="19.2786" y2="4.9022" layer="21"/>
<rectangle x1="2.2606" y1="4.9022" x2="3.5306" y2="4.953" layer="21"/>
<rectangle x1="5.5118" y1="4.9022" x2="6.7818" y2="4.953" layer="21"/>
<rectangle x1="2.2606" y1="4.953" x2="3.5814" y2="5.0038" layer="21"/>
<rectangle x1="5.461" y1="4.953" x2="6.7818" y2="5.0038" layer="21"/>
<rectangle x1="2.3114" y1="5.0038" x2="3.6322" y2="5.0546" layer="21"/>
<rectangle x1="5.4102" y1="5.0038" x2="6.7818" y2="5.0546" layer="21"/>
<rectangle x1="2.3114" y1="5.0546" x2="3.7338" y2="5.1054" layer="21"/>
<rectangle x1="5.3594" y1="5.0546" x2="6.731" y2="5.1054" layer="21"/>
<rectangle x1="2.3622" y1="5.1054" x2="3.7846" y2="5.1562" layer="21"/>
<rectangle x1="5.2578" y1="5.1054" x2="6.731" y2="5.1562" layer="21"/>
<rectangle x1="2.3622" y1="5.1562" x2="3.8862" y2="5.207" layer="21"/>
<rectangle x1="5.1562" y1="5.1562" x2="6.6802" y2="5.207" layer="21"/>
<rectangle x1="2.413" y1="5.207" x2="3.8354" y2="5.2578" layer="21"/>
<rectangle x1="5.0546" y1="5.207" x2="6.6294" y2="5.2578" layer="21"/>
<rectangle x1="2.4638" y1="5.2578" x2="3.8354" y2="5.3086" layer="21"/>
<rectangle x1="4.953" y1="5.2578" x2="6.6294" y2="5.3086" layer="21"/>
<rectangle x1="2.4638" y1="5.3086" x2="3.8354" y2="5.3594" layer="21"/>
<rectangle x1="4.8514" y1="5.3086" x2="6.5786" y2="5.3594" layer="21"/>
<rectangle x1="2.5146" y1="5.3594" x2="3.8354" y2="5.4102" layer="21"/>
<rectangle x1="4.8514" y1="5.3594" x2="6.5278" y2="5.4102" layer="21"/>
<rectangle x1="2.5654" y1="5.4102" x2="3.8354" y2="5.461" layer="21"/>
<rectangle x1="4.8514" y1="5.4102" x2="6.5278" y2="5.461" layer="21"/>
<rectangle x1="2.6162" y1="5.461" x2="3.8354" y2="5.5118" layer="21"/>
<rectangle x1="4.8006" y1="5.461" x2="6.477" y2="5.5118" layer="21"/>
<rectangle x1="2.667" y1="5.5118" x2="3.7846" y2="5.5626" layer="21"/>
<rectangle x1="4.8006" y1="5.5118" x2="6.4262" y2="5.5626" layer="21"/>
<rectangle x1="2.667" y1="5.5626" x2="3.7846" y2="5.6134" layer="21"/>
<rectangle x1="4.7498" y1="5.5626" x2="6.3754" y2="5.6134" layer="21"/>
<rectangle x1="2.7178" y1="5.6134" x2="3.7338" y2="5.6642" layer="21"/>
<rectangle x1="4.7498" y1="5.6134" x2="6.3246" y2="5.6642" layer="21"/>
<rectangle x1="2.7686" y1="5.6642" x2="3.7338" y2="5.715" layer="21"/>
<rectangle x1="4.699" y1="5.6642" x2="6.2738" y2="5.715" layer="21"/>
<rectangle x1="2.8194" y1="5.715" x2="3.7338" y2="5.7658" layer="21"/>
<rectangle x1="4.699" y1="5.715" x2="6.223" y2="5.7658" layer="21"/>
<rectangle x1="2.921" y1="5.7658" x2="3.683" y2="5.8166" layer="21"/>
<rectangle x1="4.6482" y1="5.7658" x2="6.1722" y2="5.8166" layer="21"/>
<rectangle x1="2.9718" y1="5.8166" x2="3.683" y2="5.8674" layer="21"/>
<rectangle x1="4.5974" y1="5.8166" x2="6.1214" y2="5.8674" layer="21"/>
<rectangle x1="3.0226" y1="5.8674" x2="3.6322" y2="5.9182" layer="21"/>
<rectangle x1="4.5974" y1="5.8674" x2="6.0706" y2="5.9182" layer="21"/>
<rectangle x1="3.0734" y1="5.9182" x2="3.6322" y2="5.969" layer="21"/>
<rectangle x1="4.5466" y1="5.9182" x2="5.969" y2="5.969" layer="21"/>
<rectangle x1="3.175" y1="5.969" x2="3.5814" y2="6.0198" layer="21"/>
<rectangle x1="4.4958" y1="5.969" x2="5.9182" y2="6.0198" layer="21"/>
<rectangle x1="3.2258" y1="6.0198" x2="3.5814" y2="6.0706" layer="21"/>
<rectangle x1="4.445" y1="6.0198" x2="5.8166" y2="6.0706" layer="21"/>
<rectangle x1="3.3274" y1="6.0706" x2="3.5306" y2="6.1214" layer="21"/>
<rectangle x1="4.445" y1="6.0706" x2="5.7658" y2="6.1214" layer="21"/>
<rectangle x1="3.429" y1="6.1214" x2="3.4798" y2="6.1722" layer="21"/>
<rectangle x1="4.3942" y1="6.1214" x2="5.6134" y2="6.1722" layer="21"/>
<rectangle x1="4.3434" y1="6.1722" x2="5.5626" y2="6.223" layer="21"/>
<rectangle x1="4.2926" y1="6.223" x2="5.4102" y2="6.2738" layer="21"/>
<rectangle x1="4.2418" y1="6.2738" x2="5.2578" y2="6.3246" layer="21"/>
<rectangle x1="4.2418" y1="6.3246" x2="5.0546" y2="6.3754" layer="21"/>
<rectangle x1="4.3434" y1="6.3754" x2="4.699" y2="6.4262" layer="21"/>
</package>
<package name="RJ45-8">
<wire x1="-7.62" y1="10" x2="7.62" y2="10" width="0.2032" layer="21"/>
<wire x1="-7.62" y1="-3" x2="-7.62" y2="10" width="0.2032" layer="21"/>
<wire x1="-7.62" y1="-3" x2="7.62" y2="-3" width="0.2032" layer="21"/>
<wire x1="7.62" y1="10" x2="7.62" y2="-3" width="0.2032" layer="21"/>
<wire x1="-7.62" y1="-3" x2="-7.62" y2="-7.8" width="0.2032" layer="51"/>
<wire x1="-7.62" y1="-7.8" x2="7.62" y2="-7.8" width="0.2032" layer="51"/>
<wire x1="7.62" y1="-7.8" x2="7.62" y2="-3" width="0.2032" layer="51"/>
<pad name="8" x="4.445" y="8.89" drill="1" diameter="1.8796"/>
<pad name="7" x="3.175" y="6.35" drill="1" diameter="1.8796"/>
<pad name="6" x="1.905" y="8.89" drill="1" diameter="1.8796"/>
<pad name="4" x="-0.635" y="8.89" drill="1" diameter="1.8796"/>
<pad name="2" x="-3.175" y="8.89" drill="1" diameter="1.8796"/>
<pad name="5" x="0.635" y="6.35" drill="1" diameter="1.8796"/>
<pad name="3" x="-1.905" y="6.35" drill="1" diameter="1.8796"/>
<pad name="1" x="-4.445" y="6.35" drill="1" diameter="1.8796" shape="square"/>
<hole x="-5.715" y="0" drill="3.2"/>
<hole x="5.715" y="0" drill="3.2"/>
</package>
</packages>
</library>
<library name="SparkFun-Electromechanical">
<description><h3>SparkFun Electronics' preferred foot prints</h3>
In this library you'll find anything that moves- switches, relays, buttons, potentiometers. Also, anything that goes on a board but isn't electrical in nature- screws, standoffs, etc.<br><br>
We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
<br><br>
<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
<br><br>
You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="STAND-OFF">
<description><b>Stand Off</b><p>
This is the mechanical footprint for a #4 phillips button head screw. Use the keepout ring to avoid running the screw head into surrounding components. SKU : PRT-00447</description>
<wire x1="0" y1="1.8542" x2="0" y2="-1.8542" width="0.2032" layer="41" curve="-180"/>
<wire x1="0" y1="-1.8542" x2="0" y2="1.8542" width="0.2032" layer="41" curve="-180"/>
<wire x1="0" y1="-1.8542" x2="0" y2="1.8542" width="0.2032" layer="42" curve="180"/>
<wire x1="0" y1="-1.8542" x2="0" y2="1.8542" width="0.2032" layer="42" curve="-180"/>
<circle x="0" y="0" radius="2.794" width="0.127" layer="39"/>
<hole x="0" y="0" drill="3.302"/>
</package>
</packages>
</library>
<library name="SparkFun-Connectors">
<description><h3>SparkFun Electronics' preferred foot prints</h3>
In this library you'll find connectors and sockets- basically anything that can be plugged into or onto.<br><br>
We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
<br><br>
<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
<br><br>
You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="SCREWTERMINAL-3.5MM-8">
<wire x1="-2.3" y1="3.4" x2="26.76" y2="3.4" width="0.2032" layer="21"/>
<wire x1="26.76" y1="3.4" x2="26.76" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="26.76" y1="-2.8" x2="26.76" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="26.76" y1="-3.6" x2="-2.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-3.6" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-2.8" x2="-2.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="26.76" y1="-2.8" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-1.35" x2="-2.7" y2="-1.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-1.35" x2="-2.7" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-2.35" x2="-2.3" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="26.76" y1="3.15" x2="27.16" y2="3.15" width="0.2032" layer="51"/>
<wire x1="27.16" y1="3.15" x2="27.16" y2="2.15" width="0.2032" layer="51"/>
<wire x1="27.16" y1="2.15" x2="26.76" y2="2.15" width="0.2032" layer="51"/>
<pad name="1" x="0" y="0" drill="1.2" diameter="2.032" shape="square"/>
<pad name="2" x="3.5" y="0" drill="1.2" diameter="2.032"/>
<pad name="3" x="7" y="0" drill="1.2" diameter="2.032"/>
<pad name="4" x="10.5" y="0" drill="1.2" diameter="2.032"/>
<pad name="5" x="14" y="0" drill="1.2" diameter="2.032"/>
<pad name="6" x="17.5" y="0" drill="1.2" diameter="2.032"/>
<pad name="7" x="21" y="0" drill="1.2" diameter="2.032"/>
<pad name="8" x="24.5" y="0" drill="1.2" diameter="2.032"/>
<text x="-1.27" y="2.54" size="0.4064" layer="25">>NAME</text>
<text x="-1.27" y="1.27" size="0.4064" layer="27">>VALUE</text>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="default *">
<description language="de"><b>EAGLE Design Rules</b>
<p>
Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en"><b>EAGLE Design Rules</b>
<p>
The default Design Rules have been set to cover
a wide range of applications. Your particular design
may have different requirements, so please make the
necessary adjustments and save your customized
design rules under a new name.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="8mil"/>
<param name="mdWirePad" value="8mil"/>
<param name="mdWireVia" value="8mil"/>
<param name="mdPadPad" value="8mil"/>
<param name="mdPadVia" value="8mil"/>
<param name="mdViaVia" value="8mil"/>
<param name="mdSmdPad" value="8mil"/>
<param name="mdSmdVia" value="8mil"/>
<param name="mdSmdSmd" value="8mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="30mil"/>
<param name="mdDrill" value="8mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="10mil"/>
<param name="msDrill" value="13mil"/>
<param name="msMicroVia" value="9.99mm"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="8mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="8mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="4mil"/>
<param name="mlMaxStopFrame" value="4mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="30mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="50mil"/>
<param name="AutoGrid" value="1"/>
<param name="Efforts" value="0"/>
<param name="TopRouterVariant" value="1"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="a"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="a"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="25"/>
</pass>
</autorouter>
<elements>
<element name="STANDOFF2" library="SparkFun-Electromechanical" package="STAND-OFF" value="STAND-OFF" x="34.925" y="3.175"/>
<element name="STANDOFF3" library="SparkFun-Electromechanical" package="STAND-OFF" value="STAND-OFF" x="34.925" y="42.545"/>
<element name="U$6" library="BlueRobotics-Main" package="BR-LOGO-MEDIUM-SMALL-COPPER" value="LOGOBR-LOGO-MS-COPPER" x="20.0025" y="39.37"/>
<element name="U$7" library="BlueRobotics-Main" package="BR-FULL-LOGO-MEDIUM" value="LOGOFULL-M" x="30.7975" y="7.3025" rot="MR90"/>
<element name="U$1" library="BlueRobotics-Main" package="RJ45-8" value="RJ45-8PTH-H" x="30.32125" y="30.48" rot="R90"/>
<element name="JP1" library="SparkFun-Connectors" package="SCREWTERMINAL-3.5MM-8" value="" x="4.445" y="7.9375"/>
</elements>
<signals>
<signal name="GND">
<polygon width="0.4064" layer="1" isolate="0.3048">
<vertex x="-2.54" y="0"/>
<vertex x="-2.54" y="25.4"/>
<vertex x="20.32" y="48.26"/>
<vertex x="40.64" y="48.26"/>
<vertex x="40.64" y="0"/>
</polygon>
<polygon width="0.4064" layer="16" isolate="0.3048">
<vertex x="0" y="-2.54"/>
<vertex x="0" y="25.4"/>
<vertex x="20.32" y="45.72"/>
<vertex x="38.1" y="45.72"/>
<vertex x="38.1" y="-2.54"/>
</polygon>
<via x="26.9875" y="14.605" extent="1-16" drill="0.6"/>
<via x="23.495" y="12.3825" extent="1-16" drill="0.6"/>
<via x="20.32" y="13.0175" extent="1-16" drill="0.6"/>
<via x="16.8275" y="14.605" extent="1-16" drill="0.6"/>
<via x="16.8275" y="11.43" extent="1-16" drill="0.6"/>
<via x="11.1125" y="14.2875" extent="1-16" drill="0.6"/>
<via x="13.335" y="11.1125" extent="1-16" drill="0.6"/>
<via x="9.8425" y="16.51" extent="1-16" drill="0.6"/>
<via x="30.1625" y="13.97" extent="1-16" drill="0.6"/>
<via x="17.145" y="31.115" extent="1-16" drill="0.6"/>
<via x="15.875" y="33.3375" extent="1-16" drill="0.6"/>
</signal>
<signal name="BROWN">
<contactref element="U$1" pad="8"/>
<contactref element="JP1" pad="8"/>
<wire x1="28.945" y1="7.9375" x2="28.945" y2="19.315" width="0.4064" layer="16"/>
<wire x1="28.945" y1="19.315" x2="27.305" y2="20.955" width="0.4064" layer="16"/>
<wire x1="27.305" y1="20.955" x2="27.305" y2="33.9725" width="0.4064" layer="16"/>
<wire x1="27.305" y1="33.9725" x2="25.55875" y2="35.8775" width="0.4064" layer="16"/>
<wire x1="25.55875" y1="35.8775" x2="22.38375" y2="35.8775" width="0.4064" layer="16"/>
<wire x1="22.38375" y1="35.8775" x2="21.43125" y2="34.925" width="0.4064" layer="16"/>
</signal>
<signal name="BROWN-WHITE">
<contactref element="U$1" pad="7"/>
<contactref element="JP1" pad="7"/>
<wire x1="25.445" y1="7.9375" x2="25.445" y2="13.13125" width="0.4064" layer="16"/>
<wire x1="25.445" y1="13.13125" x2="24.28875" y2="14.2875" width="0.4064" layer="16"/>
<wire x1="24.28875" y1="14.2875" x2="24.28875" y2="15.30015625" width="0.4064" layer="16"/>
<wire x1="24.28875" y1="15.30015625" x2="24.74595" y2="15.75735625" width="0.4064" layer="16" curve="-90"/>
<wire x1="24.74595" y1="15.75735625" x2="25.04365" y2="15.75735625" width="0.4064" layer="16"/>
<wire x1="25.04365" y1="15.75735625" x2="25.50085" y2="16.21455625" width="0.4064" layer="16" curve="90"/>
<wire x1="25.50085" y1="16.21455625" x2="25.50085" y2="16.245303125" width="0.4064" layer="16"/>
<wire x1="25.50085" y1="16.245303125" x2="25.04365" y2="16.702503125" width="0.4064" layer="16" curve="90"/>
<wire x1="25.04365" y1="16.702503125" x2="23.53385" y2="16.702503125" width="0.4064" layer="16"/>
<wire x1="23.53385" y1="16.702503125" x2="23.07665" y2="17.159703125" width="0.4064" layer="16" curve="-90"/>
<wire x1="23.07665" y1="17.159703125" x2="23.07665" y2="17.190453125" width="0.4064" layer="16"/>
<wire x1="23.07665" y1="17.190453125" x2="23.53385" y2="17.647653125" width="0.4064" layer="16" curve="-90"/>
<wire x1="23.53385" y1="17.647653125" x2="25.04365" y2="17.647653125" width="0.4064" layer="16"/>
<wire x1="25.04365" y1="17.647653125" x2="25.50085" y2="18.104853125" width="0.4064" layer="16" curve="90"/>
<wire x1="25.50085" y1="18.104853125" x2="25.50085" y2="18.1356" width="0.4064" layer="16"/>
<wire x1="25.50085" y1="18.1356" x2="25.04365" y2="18.5928" width="0.4064" layer="16" curve="90"/>
<wire x1="25.04365" y1="18.5928" x2="24.74595" y2="18.5928" width="0.4064" layer="16"/>
<wire x1="24.74595" y1="18.5928" x2="24.28875" y2="19.05" width="0.4064" layer="16" curve="-90"/>
<wire x1="24.28875" y1="19.05" x2="24.28875" y2="21.11375" width="0.4064" layer="16"/>
<wire x1="24.28875" y1="21.11375" x2="26.3525" y2="23.1775" width="0.4064" layer="16"/>
<wire x1="26.3525" y1="23.1775" x2="26.3525" y2="31.27375" width="0.4064" layer="16"/>
<wire x1="26.3525" y1="31.27375" x2="23.97125" y2="33.655" width="0.4064" layer="16"/>
</signal>
<signal name="ORANGE">
<contactref element="U$1" pad="6"/>
<contactref element="JP1" pad="4"/>
<wire x1="14.9225" y1="30.48" x2="16.8275" y2="32.385" width="0.4064" layer="1"/>
<wire x1="16.8275" y1="32.385" x2="21.43125" y2="32.385" width="0.4064" layer="1"/>
<wire x1="14.945" y1="7.9375" x2="14.945" y2="15.535" width="0.4064" layer="16"/>
<wire x1="14.945" y1="15.535" x2="14.9225" y2="15.5575" width="0.4064" layer="16"/>
<via x="14.9225" y="15.5575" extent="1-16" drill="0.6"/>
<wire x1="14.9225" y1="15.5575" x2="14.9225" y2="18.55015" width="0.4064" layer="1"/>
<wire x1="14.9225" y1="18.55015" x2="15.3797" y2="19.00735" width="0.4064" layer="1" curve="-90"/>
<wire x1="15.3797" y1="19.00735" x2="16.096065625" y2="19.00735" width="0.4064" layer="1"/>
<wire x1="16.096065625" y1="19.00735" x2="16.553265625" y2="19.46455" width="0.4064" layer="1" curve="90"/>
<wire x1="16.553265625" y1="19.46455" x2="16.553265625" y2="19.7231" width="0.4064" layer="1"/>
<wire x1="16.553265625" y1="19.7231" x2="16.096065625" y2="20.1803" width="0.4064" layer="1" curve="90"/>
<wire x1="16.096065625" y1="20.1803" x2="15.3797" y2="20.1803" width="0.4064" layer="1"/>
<wire x1="15.3797" y1="20.1803" x2="14.9225" y2="20.6375" width="0.4064" layer="1" curve="-90"/>
<wire x1="14.9225" y1="20.6375" x2="14.9225" y2="30.48" width="0.4064" layer="1"/>
</signal>
<signal name="BLUE-WHITE">
<contactref element="U$1" pad="5"/>
<contactref element="JP1" pad="1"/>
<wire x1="4.445" y1="7.9375" x2="4.445" y2="9.2075" width="0.4064" layer="1"/>
<wire x1="4.445" y1="9.2075" x2="13.97" y2="18.7325" width="0.4064" layer="1"/>
<wire x1="13.97" y1="18.7325" x2="13.97" y2="33.02" width="0.4064" layer="1"/>
<wire x1="13.97" y1="33.02" x2="17.78" y2="36.83" width="0.4064" layer="1"/>
<wire x1="17.78" y1="36.83" x2="24.92375" y2="36.83" width="0.4064" layer="1"/>
<wire x1="24.92375" y1="36.83" x2="26.51125" y2="35.2425" width="0.4064" layer="1"/>
<wire x1="26.51125" y1="35.2425" x2="26.51125" y2="32.0675" width="0.4064" layer="1"/>
<wire x1="26.51125" y1="32.0675" x2="25.55875" y2="31.115" width="0.4064" layer="1"/>
<wire x1="25.55875" y1="31.115" x2="23.97125" y2="31.115" width="0.4064" layer="1"/>
</signal>
<signal name="BLUE">
<contactref element="U$1" pad="4"/>
<contactref element="JP1" pad="2"/>
<wire x1="7.945" y1="7.9375" x2="7.945" y2="9.5325" width="0.4064" layer="16"/>
<wire x1="7.945" y1="9.5325" x2="13.335" y2="14.9225" width="0.4064" layer="16"/>
<wire x1="13.335" y1="14.9225" x2="13.335" y2="17.1386125" width="0.4064" layer="16"/>
<wire x1="13.335" y1="17.1386125" x2="13.7922" y2="17.5958125" width="0.4064" layer="16" curve="-90"/>
<wire x1="13.7922" y1="17.5958125" x2="14.140046875" y2="17.5958125" width="0.4064" layer="16"/>
<wire x1="14.140046875" y1="17.5958125" x2="14.597246875" y2="18.0530125" width="0.4064" layer="16" curve="90"/>
<wire x1="14.597246875" y1="18.0530125" x2="14.597246875" y2="18.131334375" width="0.4064" layer="16"/>
<wire x1="14.597246875" y1="18.131334375" x2="14.140046875" y2="18.588534375" width="0.4064" layer="16" curve="90"/>
<wire x1="14.140046875" y1="18.588534375" x2="12.529953125" y2="18.588534375" width="0.4064" layer="16"/>
<wire x1="12.529953125" y1="18.588534375" x2="12.072753125" y2="19.045734375" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.072753125" y1="19.045734375" x2="12.072753125" y2="19.124053125" width="0.4064" layer="16"/>
<wire x1="12.072753125" y1="19.124053125" x2="12.529953125" y2="19.581253125" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.529953125" y1="19.581253125" x2="14.140046875" y2="19.581253125" width="0.4064" layer="16"/>
<wire x1="14.140046875" y1="19.581253125" x2="14.597246875" y2="20.038453125" width="0.4064" layer="16" curve="90"/>
<wire x1="14.597246875" y1="20.038453125" x2="14.597246875" y2="20.116775" width="0.4064" layer="16"/>
<wire x1="14.597246875" y1="20.116775" x2="14.140046875" y2="20.573975" width="0.4064" layer="16" curve="90"/>
<wire x1="14.140046875" y1="20.573975" x2="12.529953125" y2="20.573975" width="0.4064" layer="16"/>
<wire x1="12.529953125" y1="20.573975" x2="12.072753125" y2="21.031175" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.072753125" y1="21.031175" x2="12.072753125" y2="21.109496875" width="0.4064" layer="16"/>
<wire x1="12.072753125" y1="21.109496875" x2="12.529953125" y2="21.566696875" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.529953125" y1="21.566696875" x2="14.140046875" y2="21.566696875" width="0.4064" layer="16"/>
<wire x1="14.140046875" y1="21.566696875" x2="14.597246875" y2="22.023896875" width="0.4064" layer="16" curve="90"/>
<wire x1="14.597246875" y1="22.023896875" x2="14.597246875" y2="22.102215625" width="0.4064" layer="16"/>
<wire x1="14.597246875" y1="22.102215625" x2="14.140046875" y2="22.559415625" width="0.4064" layer="16" curve="90"/>
<wire x1="14.140046875" y1="22.559415625" x2="12.529953125" y2="22.559415625" width="0.4064" layer="16"/>
<wire x1="12.529953125" y1="22.559415625" x2="12.072753125" y2="23.016615625" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.072753125" y1="23.016615625" x2="12.072753125" y2="23.0949375" width="0.4064" layer="16"/>
<wire x1="12.072753125" y1="23.0949375" x2="12.529953125" y2="23.5521375" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.529953125" y1="23.5521375" x2="14.140046875" y2="23.5521375" width="0.4064" layer="16"/>
<wire x1="14.140046875" y1="23.5521375" x2="14.597246875" y2="24.0093375" width="0.4064" layer="16" curve="90"/>
<wire x1="14.597246875" y1="24.0093375" x2="14.597246875" y2="24.087659375" width="0.4064" layer="16"/>
<wire x1="14.597246875" y1="24.087659375" x2="14.140046875" y2="24.544859375" width="0.4064" layer="16" curve="90"/>
<wire x1="14.140046875" y1="24.544859375" x2="12.529953125" y2="24.544859375" width="0.4064" layer="16"/>
<wire x1="12.529953125" y1="24.544859375" x2="12.072753125" y2="25.002059375" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.072753125" y1="25.002059375" x2="12.072753125" y2="25.080378125" width="0.4064" layer="16"/>
<wire x1="12.072753125" y1="25.080378125" x2="12.529953125" y2="25.537578125" width="0.4064" layer="16" curve="-90"/>
<wire x1="12.529953125" y1="25.537578125" x2="14.140046875" y2="25.537578125" width="0.4064" layer="16"/>
<wire x1="14.140046875" y1="25.537578125" x2="14.597246875" y2="25.994778125" width="0.4064" layer="16" curve="90"/>
<wire x1="14.597246875" y1="25.994778125" x2="14.597246875" y2="26.0731" width="0.4064" layer="16"/>
<wire x1="14.597246875" y1="26.0731" x2="14.140046875" y2="26.5303" width="0.4064" layer="16" curve="90"/>
<wire x1="14.140046875" y1="26.5303" x2="13.7922" y2="26.5303" width="0.4064" layer="16"/>
<wire x1="13.7922" y1="26.5303" x2="13.335" y2="26.9875" width="0.4064" layer="16" curve="-90"/>
<wire x1="13.335" y1="26.9875" x2="13.335" y2="27.94" width="0.4064" layer="16"/>
<wire x1="13.335" y1="27.94" x2="15.24" y2="29.845" width="0.4064" layer="16"/>
<wire x1="15.24" y1="29.845" x2="21.43125" y2="29.845" width="0.4064" layer="16"/>
</signal>
<signal name="ORANGE-WHITE">
<contactref element="U$1" pad="3"/>
<contactref element="JP1" pad="3"/>
<wire x1="11.445" y1="7.9375" x2="11.445" y2="11.445" width="0.4064" layer="1"/>
<wire x1="11.445" y1="11.445" x2="13.0175" y2="13.0175" width="0.4064" layer="1"/>
<wire x1="13.0175" y1="13.0175" x2="17.78" y2="13.0175" width="0.4064" layer="1"/>
<wire x1="17.78" y1="13.0175" x2="20.32" y2="15.5575" width="0.4064" layer="1"/>
<via x="20.32" y="15.5575" extent="1-16" drill="0.6"/>
<wire x1="20.32" y1="15.5575" x2="20.32" y2="18.415" width="0.4064" layer="16"/>
<wire x1="20.32" y1="18.415" x2="21.202959375" y2="19.297959375" width="0.4064" layer="16"/>
<wire x1="21.202959375" y1="19.297959375" x2="21.8495375" y2="19.297959375" width="0.4064" layer="16" curve="-90"/>
<wire x1="21.8495375" y1="19.297959375" x2="22.1313875" y2="19.016109375" width="0.4064" layer="16"/>
<wire x1="22.1313875" y1="19.016109375" x2="22.777965625" y2="19.016109375" width="0.4064" layer="16" curve="90"/>
<wire x1="22.777965625" y1="19.016109375" x2="22.82435" y2="19.06249375" width="0.4064" layer="16"/>
<wire x1="22.82435" y1="19.06249375" x2="22.82435" y2="19.709071875" width="0.4064" layer="16" curve="90"/>
<wire x1="22.82435" y1="19.709071875" x2="22.5425" y2="19.990921875" width="0.4064" layer="16"/>
<wire x1="22.5425" y1="19.990921875" x2="22.5425" y2="20.6375" width="0.4064" layer="16" curve="-90"/>
<wire x1="22.5425" y1="20.6375" x2="25.55875" y2="23.65375" width="0.4064" layer="16"/>
<wire x1="25.55875" y1="23.65375" x2="25.55875" y2="27.94" width="0.4064" layer="16"/>
<wire x1="25.55875" y1="27.94" x2="24.92375" y2="28.575" width="0.4064" layer="16"/>
<wire x1="24.92375" y1="28.575" x2="23.97125" y2="28.575" width="0.4064" layer="16"/>
</signal>
<signal name="GREEN">
<contactref element="U$1" pad="2"/>
<contactref element="JP1" pad="6"/>
<wire x1="21.945" y1="26.


text:
79125" x2="21.945" y2="21.33311875" width="0.4064" layer="1"/>
<wire x1="21.945" y1="21.33311875" x2="21.4878" y2="20.87591875" width="0.4064" layer="1" curve="-90"/>
<wire x1="21.4878" y1="20.87591875" x2="21.0306" y2="20.41871875" width="0.4064" layer="1" curve="90"/>
<wire x1="21.0306" y1="20.41871875" x2="21.0306" y2="18.6944" width="0.4064" layer="1"/>
<wire x1="21.0306" y1="18.6944" x2="21.4878" y2="18.2372" width="0.4064" layer="1" curve="90"/>
<wire x1="21.4878" y1="18.2372" x2="21.945" y2="17.78" width="0.4064" layer="1" curve="-90"/>
<wire x1="21.945" y1="17.78" x2="21.945" y2="7.9375" width="0.4064" layer="1"/>
<wire x1="21.945" y1="26.79125" x2="21.43125" y2="27.305" width="0.4064" layer="1"/>
</signal>
<signal name="GREEN-WHITE">
<contactref element="U$1" pad="1"/>
<contactref element="JP1" pad="5"/>
<wire x1="18.445" y1="7.9375" x2="18.445" y2="20.50875" width="0.4064" layer="16"/>
<wire x1="18.445" y1="20.50875" x2="23.97125" y2="26.035" width="0.4064" layer="16"/>
</signal>
</signals>
</board>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
</compatibility>
</eagle>

license: MIT

repository: Omidbaei/fathom-x

license_type: permissive

repo_name: Omidbaei/fathom-x

branch_name: refs/heads/master

extension: brd


text:
#ifndef QtSpotifyWrapper_H
#define QtSpotifyWrapper_H

#include <QThread>
#include <QObject>
#include <libspotify/api.h>
#include <QByteArray>

/*!
 * \brief The QtSpotifyWrapper class  The QtSpotifyWrapper is the class
 * that has the libSpotify implementation.  The class will create it's
 * own thread via QThread which will act as the loop which will process
 * the various libSpotify functions and also keep a reference of the
 * Spotify session.
 * It is important to note that none of this code should only ever be
 * used in the QtSpotifySession class.  This will protect libSpotify
 * from race conditions and unexpected errors related to memory
 * mismanagement, since libSpotify is itself not thread-safe.
 */
class QtSpotifyWrapper: public QThread
{
    Q_OBJECT
public:
    QtSpotifyWrapper();
    ~QtSpotifyWrapper();

    bool FLAG_SPOTIFY_READY;

    bool initSpotify(QString username, QString password);
    void login();
    void logout();
    bool searchSpotify(QString query);
    bool play(bool play, QString linkToSong);
    bool seek(int pos);
    void search_complete_wrapper_cb();
    sp_search *g_search;
    sp_session *g_session;

private:

    int trackPosition;
    int next_timeout;
    QByteArray audioData;
    bool stop;

    void run();

public slots:

signals:
    /*!
     * \brief loggedIn  Signal to emit to the QtSpotifySession class
     * when the user is logged in to Spotify
     */
    void loggedIn(int);

    /*!
     * \brief loggedOut  Signal to emit to the QtSpotifySession class
     * when the user is logged in to Spotify
     */
    void loggedOut();

    /*!
     * \brief searchComplete  Signal to emit to the QtSpotifySession
     * class when the results of a search are completed  and properly
     * formatted as QJsonObjects in a QJsonArray
     */
    void searchComplete(QJsonArray *);

    /*!
     * \brief trackPositionChanged  Signal to emit to the
     * QtSpotifySession class when the playback position on the track
     * has changed
     */
    void playbackEnded();

    /*!
     * \brief playbackEnded  Signal to emit to the QtSpotifySession
     * when playback ends.  This is useful for having the next song
     * load or for knowing that the playback unexpectedly stopped.
     */
    void trackPositionChanged(int);

};

#endif // QtSpotifyWrapper_H

repository: Alluvial/Alluvial

repo_name: Alluvial/Alluvial

extension: h


text:
package gosnowflake

import (
	"bytes"
	"context"
	"encoding/base64"
	"encoding/json"
	"io"
	"net/http"
	"net/url"
	"testing"
	"time"

	"github.com/apache/arrow/go/v12/arrow"
	"github.com/apache/arrow/go/v12/arrow/array"
	"github.com/apache/arrow/go/v12/arrow/ipc"
	"github.com/apache/arrow/go/v12/arrow/memory"
)

func TestSubmitQuerySync(t *testing.T) {
	postMock := func(_ context.Context, _ *snowflakeRestful, _ *url.URL, _ map[string]string,
		_ []byte, _ time.Duration, _ bool) (*http.Response, error) {
		dd := &execResponseData{}
		er := &execResponse{
			Data:    *dd,
			Message: "",
			Code:    queryInProgressCode,
			Success: true,
		}
		ba, err := json.Marshal(er)
		if err != nil {
			panic(err)
		}

		return &http.Response{
			StatusCode: http.StatusOK,
			Body:       &fakeResponseBody{body: ba},
		}, nil
	}

	sr := &snowflakeRestful{
		FuncPost:            postMock,
		FuncPostQuery:       postRestfulQuery,
		FuncPostQueryHelper: postRestfulQueryHelper,
		TokenAccessor:       getSimpleTokenAccessor(),
	}
	sc := &snowflakeConn{
		cfg: &Config{
			Params: map[string]*string{},
			// Set a long threshold to prevent the monitoring fetch from kicking in.
			MonitoringFetcher: MonitoringFetcherConfig{QueryRuntimeThreshold: 1 * time.Hour},
		},
		rest:      sr,
		telemetry: testTelemetry,
	}

	res, err := sc.SubmitQuerySync(context.TODO(), "")
	if err != nil {
		t.Fatal(err)
	}

	if res.GetStatus() != QueryStatusInProgress {
		t.Errorf("Expected query in progress, got %s", res.GetStatus())
	}
}

func TestSubmitQuerySyncQueryComplete(t *testing.T) {
	postMock := func(_ context.Context, _ *snowflakeRestful, _ *url.URL, _ map[string]string,
		_ []byte, _ time.Duration, _ bool,
	) (*http.Response, error) {
		schema := arrow.NewSchema([]arrow.Field{
			{Name: "field", Type: arrow.PrimitiveTypes.Int64, Metadata: arrow.NewMetadata([]string{"LOGICALTYPE"}, []string{"int64"})},
		}, &arrow.Metadata{})
		builder := array.NewRecordBuilder(memory.DefaultAllocator, schema)

		fieldBuilder := builder.Field(0).(*array.Int64Builder)
		fieldBuilder.Append(42)

		rec := builder.NewRecord()

		var buf bytes.Buffer
		w := ipc.NewWriter(&buf, ipc.WithSchema(rec.Schema()))
		err := w.Write(rec)
		if err != nil {
			t.Fatal(err)
		}
		err = w.Close()
		if err != nil {
			t.Fatal(err)
		}

		bb := buf.Bytes()

		chunkB64 := base64.StdEncoding.EncodeToString(bb)
		rec.Release()

		dd := &execResponseData{
			RowSetBase64: chunkB64,
			RowType: []execResponseRowType{
				{Name: "field", Type: "int64"},
			},
		}
		er := &execResponse{
			Data:    *dd,
			Message: "",
			Code:    "",
			Success: true,
		}
		ba, err := json.Marshal(er)
		if err != nil {
			panic(err)
		}

		return &http.Response{
			StatusCode: http.StatusOK,
			Body:       io.NopCloser(bytes.NewReader(ba)),
		}, nil
	}

	sr := &snowflakeRestful{
		FuncPost:            postMock,
		FuncPostQuery:       postRestfulQuery,
		FuncPostQueryHelper: postRestfulQueryHelper,
		TokenAccessor:       getSimpleTokenAccessor(),
	}
	sc := &snowflakeConn{
		cfg: &Config{
			Params: map[string]*string{},
			// Set a long threshold to prevent the monitoring fetch from kicking in.
			MonitoringFetcher: MonitoringFetcherConfig{QueryRuntimeThreshold: 1 * time.Hour},
		},
		rest:      sr,
		telemetry: testTelemetry,
	}

	res, err := sc.SubmitQuerySync(context.TODO(), "")
	if err != nil {
		t.Fatal(err)
	}

	if res.GetStatus() != QueryStatusComplete {
		t.Errorf("Expected query complete, got %s", res.GetStatus())
	}

	batches, err := res.GetArrowBatches()
	if err != nil {
		t.Fatal(err)
	}

	if len(batches) != 1 {
		t.Fatalf("Expected one batch, got %d", len(batches))
	}

	recs, err := batches[0].Fetch()
	if err != nil {
		t.Fatal(err)
	}
	if len(*recs) != 1 {
		t.Fatalf("Expected one record, got %d", len(*recs))
	}
	rec := (*recs)[0]
	if rec.NumCols() != 1 {
		t.Fatalf("Expected one column, got %d", rec.NumCols())
	}
	if rec.NumRows() != 1 {
		t.Fatalf("Expected one row, got %d", rec.NumRows())
	}
}

repository: sigmacomputing/gosnowflake

repo_name: sigmacomputing/gosnowflake

gha_language: Go

extension: go


text:
SUMMARY = "Script for unloading ohci during rebooting or shutting down system"
LICENSE = "CLOSED"

SRC_URI = "file://init"

S = "${WORKDIR}"

do_install() {
	install -d ${D}/${sysconfdir}/init.d
	install -m755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/ohci
}

inherit allarch update-rc.d

INITSCRIPT_NAME = "ohci"
INITSCRIPT_PARAMS = "stop 100 0 1 6 ."

extension: bb


text:
package needle

import (
	. "github.com/chrislusf/seaweedfs/weed/storage/types"
	"testing"
)

func TestIssue52(t *testing.T) {
	m := NewCompactMap()
	m.Set(NeedleId(10002), 10002, 10002)
	if element, ok := m.Get(NeedleId(10002)); ok {
		println("key", 10002, "ok", ok, element.Key, element.Offset, element.Size)
	}
	m.Set(NeedleId(10001), 10001, 10001)
	if element, ok := m.Get(NeedleId(10002)); ok {
		println("key", 10002, "ok", ok, element.Key, element.Offset, element.Size)
	} else {
		t.Fatal("key 10002 missing after setting 10001")
	}
}

func TestCompactMap(t *testing.T) {
	m := NewCompactMap()
	for i := uint32(0); i < 100*batch; i += 2 {
		m.Set(NeedleId(i), Offset(i), i)
	}

	for i := uint32(0); i < 100*batch; i += 37 {
		m.Delete(NeedleId(i))
	}

	for i := uint32(0); i < 10*batch; i += 3 {
		m.Set(NeedleId(i), Offset(i+11), i+5)
	}

	//	for i := uint32(0); i < 100; i++ {
	//		if v := m.Get(Key(i)); v != nil {
	//			glog.V(4).Infoln(i, "=", v.Key, v.Offset, v.Size)
	//		}
	//	}

	for i := uint32(0); i < 10*batch; i++ {
		v, ok := m.Get(NeedleId(i))
		if i%3 == 0 {
			if !ok {
				t.Fatal("key", i, "missing!")
			}
			if v.Size != i+5 {
				t.Fatal("key", i, "size", v.Size)
			}
		} else if i%37 == 0 {
			if ok && v.Size > 0 {
				t.Fatal("key", i, "should have been deleted needle value", v)
			}
		} else if i%2 == 0 {
			if v.Size != i {
				t.Fatal("key", i, "size", v.Size)
			}
		}
	}

	for i := uint32(10 * batch); i < 100*batch; i++ {
		v, ok := m.Get(NeedleId(i))
		if i%37 == 0 {
			if ok && v.Size > 0 {
				t.Fatal("key", i, "should have been deleted needle value", v)
			}
		} else if i%2 == 0 {
			if v == nil {
				t.Fatal("key", i, "missing")
			}
			if v.Size != i {
				t.Fatal("key", i, "size", v.Size)
			}
		}
	}

}

func TestOverflow(t *testing.T) {
	o := Overflow(make([]SectionalNeedleValue, 0))

	o = o.setOverflowEntry(SectionalNeedleValue{Key: 1, Offset: 12, Size: 12})
	o = o.setOverflowEntry(SectionalNeedleValue{Key: 2, Offset: 12, Size: 12})
	o = o.setOverflowEntry(SectionalNeedleValue{Key: 3, Offset: 12, Size: 12})
	o = o.setOverflowEntry(SectionalNeedleValue{Key: 4, Offset: 12, Size: 12})
	o = o.setOverflowEntry(SectionalNeedleValue{Key: 5, Offset: 12, Size: 12})

	if o[2].Key != 3 {
		t.Fatalf("expecting o[2] has key 3: %+v", o[2].Key)
	}

	o = o.setOverflowEntry(SectionalNeedleValue{Key: 3, Offset: 24, Size: 24})

	if o[2].Key != 3 {
		t.Fatalf("expecting o[2] has key 3: %+v", o[2].Key)
	}

	if o[2].Size != 24 {
		t.Fatalf("expecting o[2] has size 24: %+v", o[2].Size)
	}

	o = o.deleteOverflowEntry(4)

	if len(o) != 4 {
		t.Fatalf("expecting 4 entries now: %+v", o)
	}

	x, _ := o.findOverflowEntry(5)
	if x.Key != 5 {
		t.Fatalf("expecting entry 5 now: %+v", x)
	}

	for i, x := range o {
		println("overflow[", i, "]:", x.Key)
	}
	println()

	o = o.deleteOverflowEntry(1)

	for i, x := range o {
		println("overflow[", i, "]:", x.Key)
	}
	println()

	o = o.setOverflowEntry(SectionalNeedleValue{Key: 4, Offset: 44, Size: 44})
	for i, x := range o {
		println("overflow[", i, "]:", x.Key)
	}
	println()

	o = o.setOverflowEntry(SectionalNeedleValue{Key: 1, Offset: 11, Size: 11})

	for i, x := range o {
		println("overflow[", i, "]:", x.Key)
	}
	println()

}


text:
#include "ofxsImageEffect.h"
#include "ReadFFmpeg.h"
#include "WriteFFmpeg.h"

namespace OFX
{
  namespace Plugin
  {
    void getPluginIDs(OFX::PluginFactoryArray &ids)
    {
      static ReadFFmpegPluginFactory p1("fr.inria.openfx:ReadFFmpeg", 1, 0);
      ids.push_back(&p1);
      static WriteFFmpegPluginFactory p2("fr.inria.openfx:WriteFFmpeg", 1, 0);
      ids.push_back(&p2);
    }
  }
}

repository: sumitneup/openfx-io

repo_name: sumitneup/openfx-io

extension: cpp


text:
// $Id: CbcConsequence.cpp 1902 2013-04-10 16:58:16Z stefan $
// Copyright (C) 2002, International Business Machines
// Corporation and others.  All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).

// Edwin 11/12/2009 carved from CbcBranchBase

#if defined(_MSC_VER)
// Turn off compiler warning about long names
#  pragma warning(disable:4786)
#endif
#include <cassert>
#include <cstdlib>
#include <cmath>
#include <cfloat>

#include "CbcConsequence.hpp"

// Default constructor
CbcConsequence::CbcConsequence()
{
}

// Destructor
CbcConsequence::~CbcConsequence ()
{
}

// Copy constructor
CbcConsequence::CbcConsequence ( const CbcConsequence & /*rhs*/)
{
}

// Assignment operator
CbcConsequence &
CbcConsequence::operator=( const CbcConsequence & rhs)
{
    if (this != &rhs) {
    }
    return *this;
}

repository: amosr/limp-cbc

repo_name: amosr/limp-cbc

gha_license_id: MIT


text:
package configmap

import (
	"time"

	"k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/client-go/kubernetes"

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

	"github.com/giantswarm/draughtsman/service/configurer/spec"
)

// ConfigurerType is the kind of a Configurer that is backed by a Kubernetes
// ConfigMap.
var ConfigurerType spec.ConfigurerType = "ConfigMapConfigurer"

// Config represents the configuration used to create a ConfigMap Configurer.
type Config struct {
	// Dependencies.
	KubernetesClient kubernetes.Interface
	Logger           micrologger.Logger

	// Settings.

	// Key is the key to reference the values data in the configmap.
	Key       string
	Name      string
	Namespace string
}

// DefaultConfig provides a default configuration to create a new ConfigMap
// Configurer by best effort.
func DefaultConfig() Config {
	return Config{
		// Dependencies.
		KubernetesClient: nil,
		Logger:           nil,

		// Settings.
		Key:       "",
		Name:      "",
		Namespace: "",
	}
}

// New creates a new configured ConfigMap Configurer.
func New(config Config) (*ConfigMapConfigurer, error) {
	// Dependencies.
	if config.KubernetesClient == nil {
		return nil, microerror.Maskf(invalidConfigError, "kubernetes client must not be empty")
	}
	if config.Logger == nil {
		return nil, microerror.Maskf(invalidConfigError, "logger must not be empty")
	}

	// Settings.
	if config.Key == "" {
		return nil, microerror.Maskf(invalidConfigError, "key must not be empty")
	}
	if config.Name == "" {
		return nil, microerror.Maskf(invalidConfigError, "name must not be empty")
	}
	if config.Namespace == "" {
		return nil, microerror.Maskf(invalidConfigError, "namespace must not be empty")
	}

	config.Logger.Log("debug", "checking connection to Kubernetes")
	if _, err := config.KubernetesClient.CoreV1().ConfigMaps("draughtsman").Get("draughtsman", v1.GetOptions{}); err != nil {
		return nil, microerror.Mask(err)
	}

	configurer := &ConfigMapConfigurer{
		// Dependencies.
		kubernetesClient: config.KubernetesClient,
		logger:           config.Logger,

		// Settings.
		key:       config.Key,
		name:      config.Name,
		namespace: config.Namespace,
	}

	return configurer, nil
}

// ConfigMapConfigurer is an implementation of the Configurer interface,
// that uses a Kubernetes ConfigMap to hold configuration.
type ConfigMapConfigurer struct {
	// Dependencies.
	kubernetesClient kubernetes.Interface
	logger           micrologger.Logger

	// Settings.
	key       string
	name      string
	namespace string
}

func (c *ConfigMapConfigurer) Type() spec.ConfigurerType {
	return ConfigurerType
}

func (c *ConfigMapConfigurer) Values() (string, error) {
	defer updateConfigMapMetrics(time.Now())

	c.logger.Log("debug", "fetching configuration from configmap", "name", c.name, "namespace", c.namespace)

	cm, err := c.kubernetesClient.CoreV1().ConfigMaps(c.namespace).Get(c.name, v1.GetOptions{})
	if err != nil {
		return "", microerror.Mask(err)
	}

	valuesData, ok := cm.Data[c.key]
	if !ok {
		return "", microerror.Maskf(keyMissingError, "key '%v' not found in configmap", c.key)
	}

	return valuesData, nil
}

repository: giantswarm/draughtsman

repo_name: giantswarm/draughtsman


text:
require evas.inc
PR = "r1"

EXTRA_OECONF = "\
		--x-includes=${STAGING_INCDIR}/X11  \
		--x-libraries=${STAGING_LIBDIR} \
        --enable-evas-magic-debug \
        \
		--enable-fb					\
		--disable-directfb			\
		--disable-sdl				\
		--enable-buffer				\
		--disable-software-ddraw	\
		--disable-software-qtopia	\
		--enable-simple-x11		\
		--enable-software-x11		\
		--enable-software-16-x11	\
		--disable-software-xcb		\
		--disable-gl-x11			\
		--enable-xrender-x11		\
		--disable-xrender-xcb		\
		--disable-glitz-x11			\
		--enable-image-loader-eet	\
		--disable-image-loader-edb	\
		--disable-image-loader-gif	\
		--enable-image-loader-png	\
		--enable-image-loader-jpeg	\
		--enable-image-loader-tiff	\
		--enable-image-loader-xpm	\
		--disable-image-loader-svg	\
		--enable-cpu-c				\
		--enable-fontconfig			\
		--enable-font-loader-eet	\
		--enable-scale-sample		\
		--enable-scale-smooth		\
		--enable-convert-yuv		\
		--enable-small-dither-mask	\
		--disable-no-dither-mask	\
		--disable-convert-8-rgb-332	\
		--disable-convert-8-rgb-666	\
		--disable-convert-8-rgb-232	\
		--disable-convert-8-rgb-222	\
		--disable-convert-8-rgb-221	\
		--disable-convert-8-rgb-121	\
		--disable-convert-8-rgb-111	\
		--enable-convert-16-rgb-565	\
		--disable-convert-16-rgb-555	\
		--disable-convert-16-rgb-444	\
		--disable-convert-16-rgb-ipq	\
		--enable-convert-16-rgb-rot-0	\
		--enable-convert-16-rgb-rot-90	\
		--disable-convert-16-rgb-rot-180 \
		--enable-convert-16-rgb-rot-270	\
		--enable-convert-24-rgb-888	\
		--enable-convert-24-bgr-888	\
		--enable-convert-32-rgb-8888	\
		--enable-convert-32-rgbx-8888	\
		--enable-convert-32-bgr-8888	\
		--enable-convert-32-bgrx-8888	\
		--enable-convert-32-rgb-rot-0	\
		--enable-convert-32-rgb-rot-90	\
		--disable-convert-32-rgb-rot-180 \
		--enable-convert-32-rgb-rot-270"