text:
44161875" x2="28.2775" y2="78.60745" layer="41"/>
<rectangle x1="34.0812" y1="78.44161875" x2="34.7445" y2="78.60745" layer="41"/>
<rectangle x1="37.8951" y1="78.44161875" x2="38.2267" y2="78.60745" layer="41"/>
<rectangle x1="39.0558" y1="78.44161875" x2="39.3875" y2="78.60745" layer="41"/>
<rectangle x1="47.5127" y1="78.44161875" x2="48.5076" y2="78.60745" layer="41"/>
<rectangle x1="50.8291" y1="78.44161875" x2="51.1607" y2="78.60745" layer="41"/>
<rectangle x1="51.824" y1="78.44161875" x2="52.3215" y2="78.60745" layer="41"/>
<rectangle x1="59.7834" y1="78.44161875" x2="59.9492" y2="78.60745" layer="41"/>
<rectangle x1="62.4365" y1="78.44161875" x2="62.7682" y2="78.60745" layer="41"/>
<rectangle x1="63.9289" y1="78.44161875" x2="65.4213" y2="78.60745" layer="41"/>
<rectangle x1="71.3909" y1="78.44161875" x2="71.8883" y2="78.60745" layer="41"/>
<rectangle x1="72.8832" y1="78.44161875" x2="73.7124" y2="78.60745" layer="41"/>
<rectangle x1="75.5364" y1="78.44161875" x2="75.868" y2="78.60745" layer="41"/>
<rectangle x1="76.8629" y1="78.44161875" x2="77.692" y2="78.60745" layer="41"/>
<rectangle x1="84.6565" y1="78.44161875" x2="84.8223" y2="78.60745" layer="41"/>
<rectangle x1="88.802" y1="78.44161875" x2="90.7919" y2="78.60745" layer="41"/>
<rectangle x1="96.264" y1="78.44161875" x2="97.0931" y2="78.60745" layer="41"/>
<rectangle x1="0.9171" y1="78.60745" x2="2.2437" y2="78.77326875" layer="41"/>
<rectangle x1="10.3689" y1="78.60745" x2="11.198" y2="78.77326875" layer="41"/>
<rectangle x1="13.5195" y1="78.60745" x2="14.1827" y2="78.77326875" layer="41"/>
<rectangle x1="22.4738" y1="78.60745" x2="23.4687" y2="78.77326875" layer="41"/>
<rectangle x1="25.2927" y1="78.60745" x2="25.6244" y2="78.77326875" layer="41"/>
<rectangle x1="26.7851" y1="78.60745" x2="27.4484" y2="78.77326875" layer="41"/>
<rectangle x1="37.7293" y1="78.60745" x2="38.3926" y2="78.77326875" layer="41"/>
<rectangle x1="47.5127" y1="78.60745" x2="48.176" y2="78.77326875" layer="41"/>
<rectangle x1="50.8291" y1="78.60745" x2="51.3266" y2="78.77326875" layer="41"/>
<rectangle x1="59.6176" y1="78.60745" x2="60.6125" y2="78.77326875" layer="41"/>
<rectangle x1="62.4365" y1="78.60745" x2="62.7682" y2="78.77326875" layer="41"/>
<rectangle x1="63.9289" y1="78.60745" x2="64.5922" y2="78.77326875" layer="41"/>
<rectangle x1="72.7174" y1="78.60745" x2="73.7124" y2="78.77326875" layer="41"/>
<rectangle x1="75.868" y1="78.60745" x2="76.3655" y2="78.77326875" layer="41"/>
<rectangle x1="77.0288" y1="78.60745" x2="77.5262" y2="78.77326875" layer="41"/>
<rectangle x1="87.6413" y1="78.60745" x2="87.8071" y2="78.77326875" layer="41"/>
<rectangle x1="88.9679" y1="78.60745" x2="90.6261" y2="78.77326875" layer="41"/>
<rectangle x1="96.4298" y1="78.60745" x2="97.0931" y2="78.77326875" layer="41"/>
<rectangle x1="1.0829" y1="78.77326875" x2="1.4146" y2="78.9390875" layer="41"/>
<rectangle x1="10.3689" y1="78.77326875" x2="11.0321" y2="78.9390875" layer="41"/>
<rectangle x1="13.5195" y1="78.77326875" x2="14.1827" y2="78.9390875" layer="41"/>
<rectangle x1="22.4738" y1="78.77326875" x2="23.4687" y2="78.9390875" layer="41"/>
<rectangle x1="25.7902" y1="78.77326875" x2="26.1218" y2="78.9390875" layer="41"/>
<rectangle x1="26.7851" y1="78.77326875" x2="27.2826" y2="78.9390875" layer="41"/>
<rectangle x1="34.7445" y1="78.77326875" x2="35.4078" y2="78.9390875" layer="41"/>
<rectangle x1="37.8951" y1="78.77326875" x2="38.3926" y2="78.9390875" layer="41"/>
<rectangle x1="47.5127" y1="78.77326875" x2="48.0102" y2="78.9390875" layer="41"/>
<rectangle x1="50.6633" y1="78.77326875" x2="51.3266" y2="78.9390875" layer="41"/>
<rectangle x1="59.6176" y1="78.77326875" x2="60.6125" y2="78.9390875" layer="41"/>
<rectangle x1="62.934" y1="78.77326875" x2="63.2657" y2="78.9390875" layer="41"/>
<rectangle x1="63.9289" y1="78.77326875" x2="64.4264" y2="78.9390875" layer="41"/>
<rectangle x1="72.0541" y1="78.77326875" x2="72.22" y2="78.9390875" layer="41"/>
<rectangle x1="72.7174" y1="78.77326875" x2="73.5465" y2="78.9390875" layer="41"/>
<rectangle x1="75.868" y1="78.77326875" x2="76.5313" y2="78.9390875" layer="41"/>
<rectangle x1="84.8223" y1="78.77326875" x2="85.6514" y2="78.9390875" layer="41"/>
<rectangle x1="87.6413" y1="78.77326875" x2="87.9729" y2="78.9390875" layer="41"/>
<rectangle x1="88.9679" y1="78.77326875" x2="89.797" y2="78.9390875" layer="41"/>
<rectangle x1="10.5347" y1="78.939090625" x2="10.8663" y2="79.104909375" layer="41"/>
<rectangle x1="13.3536" y1="78.939090625" x2="14.1827" y2="79.104909375" layer="41"/>
<rectangle x1="22.4738" y1="78.939090625" x2="23.3029" y2="79.104909375" layer="41"/>
<rectangle x1="25.6244" y1="78.939090625" x2="26.1218" y2="79.104909375" layer="41"/>
<rectangle x1="34.7445" y1="78.939090625" x2="35.7394" y2="79.104909375" layer="41"/>
<rectangle x1="37.8951" y1="78.939090625" x2="38.3926" y2="79.104909375" layer="41"/>
<rectangle x1="47.6785" y1="78.939090625" x2="48.0102" y2="79.104909375" layer="41"/>
<rectangle x1="50.4975" y1="78.939090625" x2="51.3266" y2="79.104909375" layer="41"/>
<rectangle x1="59.6176" y1="78.939090625" x2="60.4467" y2="79.104909375" layer="41"/>
<rectangle x1="62.934" y1="78.939090625" x2="63.4315" y2="79.104909375" layer="41"/>
<rectangle x1="71.8883" y1="78.939090625" x2="72.22" y2="79.104909375" layer="41"/>
<rectangle x1="72.7174" y1="78.939090625" x2="73.2149" y2="79.104909375" layer="41"/>
<rectangle x1="75.868" y1="78.939090625" x2="76.5313" y2="79.104909375" layer="41"/>
<rectangle x1="84.8223" y1="78.939090625" x2="85.8173" y2="79.104909375" layer="41"/>
<rectangle x1="88.1387" y1="78.939090625" x2="88.4704" y2="79.104909375" layer="41"/>
<rectangle x1="89.1337" y1="78.939090625" x2="89.6311" y2="79.104909375" layer="41"/>
<rectangle x1="97.0931" y1="78.939090625" x2="97.7563" y2="79.104909375" layer="41"/>
<rectangle x1="12.8562" y1="79.104909375" x2="13.3536" y2="79.270728125" layer="41"/>
<rectangle x1="13.5195" y1="79.104909375" x2="14.1827" y2="79.270728125" layer="41"/>
<rectangle x1="22.4738" y1="79.104909375" x2="23.1371" y2="79.270728125" layer="41"/>
<rectangle x1="25.6244" y1="79.104909375" x2="26.2876" y2="79.270728125" layer="41"/>
<rectangle x1="34.5787" y1="79.104909375" x2="35.5736" y2="79.270728125" layer="41"/>
<rectangle x1="37.8951" y1="79.104909375" x2="38.3926" y2="79.270728125" layer="41"/>
<rectangle x1="50" y1="79.104909375" x2="51.3266" y2="79.270728125" layer="41"/>
<rectangle x1="59.6176" y1="79.104909375" x2="60.2809" y2="79.270728125" layer="41"/>
<rectangle x1="62.7682" y1="79.104909375" x2="63.4315" y2="79.270728125" layer="41"/>
<rectangle x1="71.8883" y1="79.104909375" x2="72.22" y2="79.270728125" layer="41"/>
<rectangle x1="72.8832" y1="79.104909375" x2="73.2149" y2="79.270728125" layer="41"/>
<rectangle x1="75.868" y1="79.104909375" x2="76.5313" y2="79.270728125" layer="41"/>
<rectangle x1="84.8223" y1="79.104909375" x2="85.6514" y2="79.270728125" layer="41"/>
<rectangle x1="87.9729" y1="79.104909375" x2="88.4704" y2="79.270728125" layer="41"/>
<rectangle x1="89.2995" y1="79.104909375" x2="89.4653" y2="79.270728125" layer="41"/>
<rectangle x1="97.0931" y1="79.104909375" x2="97.9222" y2="79.270728125" layer="41"/>
<rectangle x1="13.022" y1="79.27073125" x2="13.1878" y2="79.43655" layer="41"/>
<rectangle x1="13.6853" y1="79.27073125" x2="14.3486" y2="79.43655" layer="41"/>
<rectangle x1="22.6396" y1="79.27073125" x2="22.8054" y2="79.43655" layer="41"/>
<rectangle x1="25.1269" y1="79.27073125" x2="25.4585" y2="79.43655" layer="41"/>
<rectangle x1="25.6244" y1="79.27073125" x2="26.1218" y2="79.43655" layer="41"/>
<rectangle x1="34.5787" y1="79.27073125" x2="35.242" y2="79.43655" layer="41"/>
<rectangle x1="37.8951" y1="79.27073125" x2="38.7242" y2="79.43655" layer="41"/>
<rectangle x1="50.1658" y1="79.27073125" x2="50.3316" y2="79.43655" layer="41"/>
<rectangle x1="50.8291" y1="79.27073125" x2="51.6582" y2="79.43655" layer="41"/>
<rectangle x1="59.7834" y1="79.27073125" x2="60.1151" y2="79.43655" layer="41"/>
<rectangle x1="62.2707" y1="79.27073125" x2="63.4315" y2="79.43655" layer="41"/>
<rectangle x1="71.8883" y1="79.27073125" x2="72.22" y2="79.43655" layer="41"/>
<rectangle x1="75.2047" y1="79.27073125" x2="75.7022" y2="79.43655" layer="41"/>
<rectangle x1="75.868" y1="79.27073125" x2="76.6971" y2="79.43655" layer="41"/>
<rectangle x1="84.8223" y1="79.27073125" x2="85.3198" y2="79.43655" layer="41"/>
<rectangle x1="87.9729" y1="79.27073125" x2="88.6362" y2="79.43655" layer="41"/>
<rectangle x1="96.9272" y1="79.27073125" x2="97.9222" y2="79.43655" layer="41"/>
<rectangle x1="13.6853" y1="79.43655" x2="14.5144" y2="79.60236875" layer="41"/>
<rectangle x1="24.9611" y1="79.43655" x2="25.4585" y2="79.60236875" layer="41"/>
<rectangle x1="25.6244" y1="79.43655" x2="26.2876" y2="79.60236875" layer="41"/>
<rectangle x1="34.7445" y1="79.43655" x2="35.242" y2="79.60236875" layer="41"/>
<rectangle x1="37.5635" y1="79.43655" x2="37.7293" y2="79.60236875" layer="41"/>
<rectangle x1="38.0609" y1="79.43655" x2="38.7242" y2="79.60236875" layer="41"/>
<rectangle x1="50.8291" y1="79.43655" x2="51.6582" y2="79.60236875" layer="41"/>
<rectangle x1="62.1049" y1="79.43655" x2="62.6024" y2="79.60236875" layer="41"/>
<rectangle x1="62.7682" y1="79.43655" x2="63.4315" y2="79.60236875" layer="41"/>
<rectangle x1="71.8883" y1="79.43655" x2="72.22" y2="79.60236875" layer="41"/>
<rectangle x1="75.2047" y1="79.43655" x2="75.5364" y2="79.60236875" layer="41"/>
<rectangle x1="75.868" y1="79.43655" x2="76.6971" y2="79.60236875" layer="41"/>
<rectangle x1="84.9882" y1="79.43655" x2="85.154" y2="79.60236875" layer="41"/>
<rectangle x1="87.4755" y1="79.43655" x2="88.6362" y2="79.60236875" layer="41"/>
<rectangle x1="96.9272" y1="79.43655" x2="97.7563" y2="79.60236875" layer="41"/>
<rectangle x1="13.6853" y1="79.60236875" x2="14.5144" y2="79.7681875" layer="41"/>
<rectangle x1="24.9611" y1="79.60236875" x2="25.4585" y2="79.7681875" layer="41"/>
<rectangle x1="25.7902" y1="79.60236875" x2="26.4535" y2="79.7681875" layer="41"/>
<rectangle x1="37.5635" y1="79.60236875" x2="37.8951" y2="79.7681875" layer="41"/>
<rectangle x1="38.0609" y1="79.60236875" x2="38.7242" y2="79.7681875" layer="41"/>
<rectangle x1="50.9949" y1="79.60236875" x2="51.6582" y2="79.7681875" layer="41"/>
<rectangle x1="62.2707" y1="79.60236875" x2="62.6024" y2="79.7681875" layer="41"/>
<rectangle x1="62.934" y1="79.60236875" x2="63.5973" y2="79.7681875" layer="41"/>
<rectangle x1="76.0338" y1="79.60236875" x2="76.6971" y2="79.7681875" layer="41"/>
<rectangle x1="87.1438" y1="79.60236875" x2="87.8071" y2="79.7681875" layer="41"/>
<rectangle x1="87.9729" y1="79.60236875" x2="88.6362" y2="79.7681875" layer="41"/>
<rectangle x1="96.9272" y1="79.60236875" x2="97.5905" y2="79.7681875" layer="41"/>
<rectangle x1="13.6853" y1="79.768190625" x2="14.5144" y2="79.934009375" layer="41"/>
<rectangle x1="25.7902" y1="79.768190625" x2="26.6193" y2="79.934009375" layer="41"/>
<rectangle x1="37.5635" y1="79.768190625" x2="37.8951" y2="79.934009375" layer="41"/>
<rectangle x1="38.0609" y1="79.768190625" x2="38.7242" y2="79.934009375" layer="41"/>
<rectangle x1="50.8291" y1="79.768190625" x2="51.6582" y2="79.934009375" layer="41"/>
<rectangle x1="62.934" y1="79.768190625" x2="63.7631" y2="79.934009375" layer="41"/>
<rectangle x1="76.0338" y1="79.768190625" x2="76.6971" y2="79.934009375" layer="41"/>
<rectangle x1="87.1438" y1="79.768190625" x2="87.8071" y2="79.934009375" layer="41"/>
<rectangle x1="87.9729" y1="79.768190625" x2="88.802" y2="79.934009375" layer="41"/>
<rectangle x1="13.5195" y1="79.934009375" x2="14.3486" y2="80.099828125" layer="41"/>
<rectangle x1="25.7902" y1="79.934009375" x2="26.6193" y2="80.099828125" layer="41"/>
<rectangle x1="37.2318" y1="79.934009375" x2="37.8951" y2="80.099828125" layer="41"/>
<rectangle x1="38.0609" y1="79.934009375" x2="38.5584" y2="80.099828125" layer="41"/>
<rectangle x1="50.6633" y1="79.934009375" x2="51.4924" y2="80.099828125" layer="41"/>
<rectangle x1="63.0998" y1="79.934009375" x2="63.7631" y2="80.099828125" layer="41"/>
<rectangle x1="76.0338" y1="79.934009375" x2="76.6971" y2="80.099828125" layer="41"/>
<rectangle x1="88.1387" y1="79.934009375" x2="88.802" y2="80.099828125" layer="41"/>
<rectangle x1="3.0728" y1="80.09983125" x2="3.5702" y2="80.26565" layer="41"/>
<rectangle x1="13.5195" y1="80.09983125" x2="14.1827" y2="80.26565" layer="41"/>
<rectangle x1="25.956" y1="80.09983125" x2="26.6193" y2="80.26565" layer="41"/>
<rectangle x1="37.2318" y1="80.09983125" x2="37.5635" y2="80.26565" layer="41"/>
<rectangle x1="38.2267" y1="80.09983125" x2="38.5584" y2="80.26565" layer="41"/>
<rectangle x1="50.6633" y1="80.09983125" x2="51.3266" y2="80.26565" layer="41"/>
<rectangle x1="63.0998" y1="80.09983125" x2="63.7631" y2="80.26565" layer="41"/>
<rectangle x1="75.868" y1="80.09983125" x2="76.6971" y2="80.26565" layer="41"/>
<rectangle x1="88.1387" y1="80.09983125" x2="88.802" y2="80.26565" layer="41"/>
<rectangle x1="2.9069" y1="80.26565" x2="3.736" y2="80.43146875" layer="41"/>
<rectangle x1="13.3536" y1="80.26565" x2="14.1827" y2="80.43146875" layer="41"/>
<rectangle x1="25.956" y1="80.26565" x2="26.4535" y2="80.43146875" layer="41"/>
<rectangle x1="40.8799" y1="80.26565" x2="41.5431" y2="80.43146875" layer="41"/>
<rectangle x1="50.4975" y1="80.26565" x2="51.3266" y2="80.43146875" layer="41"/>
<rectangle x1="53.8139" y1="80.26565" x2="53.9797" y2="80.43146875" layer="41"/>
<rectangle x1="63.0998" y1="80.26565" x2="63.5973" y2="80.43146875" layer="41"/>
<rectangle x1="75.868" y1="80.26565" x2="76.5313" y2="80.43146875" layer="41"/>
<rectangle x1="88.1387" y1="80.26565" x2="88.802" y2="80.43146875" layer="41"/>
<rectangle x1="2.7411" y1="80.43146875" x2="3.736" y2="80.5972875" layer="41"/>
<rectangle x1="13.022" y1="80.43146875" x2="13.3536" y2="80.5972875" layer="41"/>
<rectangle x1="13.6853" y1="80.43146875" x2="14.0169" y2="80.5972875" layer="41"/>
<rectangle x1="16.1726" y1="80.43146875" x2="16.8359" y2="80.5972875" layer="41"/>
<rectangle x1="25.956" y1="80.43146875" x2="26.2876" y2="80.5972875" layer="41"/>
<rectangle x1="40.714" y1="80.43146875" x2="41.709" y2="80.5972875" layer="41"/>
<rectangle x1="50.3316" y1="80.43146875" x2="50.6633" y2="80.5972875" layer="41"/>
<rectangle x1="50.8291" y1="80.43146875" x2="51.1607" y2="80.5972875" layer="41"/>
<rectangle x1="53.3164" y1="80.43146875" x2="53.9797" y2="80.5972875" layer="41"/>
<rectangle x1="63.0998" y1="80.43146875" x2="63.4315" y2="80.5972875" layer="41"/>
<rectangle x1="75.7022" y1="80.43146875" x2="76.5313" y2="80.5972875" layer="41"/>
<rectangle x1="88.3046" y1="80.43146875" x2="88.802" y2="80.5972875" layer="41"/>
<rectangle x1="2.4095" y1="80.597290625" x2="3.5702" y2="80.763109375" layer="41"/>
<rectangle x1="16.0068" y1="80.597290625" x2="17.0017" y2="80.763109375" layer="41"/>
<rectangle x1="28.775" y1="80.597290625" x2="29.2724" y2="80.763109375" layer="41"/>
<rectangle x1="39.2217" y1="80.597290625" x2="39.7191" y2="80.763109375" layer="41"/>
<rectangle x1="40.714" y1="80.597290625" x2="41.8748" y2="80.763109375" layer="41"/>
<rectangle x1="53.1506" y1="80.597290625" x2="54.1455" y2="80.763109375" layer="41"/>
<rectangle x1="66.0846" y1="80.597290625" x2="66.4162" y2="80.763109375" layer="41"/>
<rectangle x1="75.3706" y1="80.597290625" x2="75.868" y2="80.763109375" layer="41"/>
<rectangle x1="76.0338" y1="80.597290625" x2="76.3655" y2="80.763109375" layer="41"/>
<rectangle x1="78.5212" y1="80.597290625" x2="79.0186" y2="80.763109375" layer="41"/>
<rectangle x1="88.3046" y1="80.597290625" x2="88.6362" y2="80.763109375" layer="41"/>
<rectangle x1="2.2437" y1="80.763109375" x2="3.5702" y2="80.928928125" layer="41"/>
<rectangle x1="14.3486" y1="80.763109375" x2="14.846" y2="80.928928125" layer="41"/>
<rectangle x1="15.8409" y1="80.763109375" x2="17.1675" y2="80.928928125" layer="41"/>
<rectangle x1="28.4433" y1="80.763109375" x2="29.6041" y2="80.928928125" layer="41"/>
<rectangle x1="39.2217" y1="80.763109375" x2="39.7191" y2="80.928928125" layer="41"/>
<rectangle x1="40.5482" y1="80.763109375" x2="42.0406" y2="80.928928125" layer="41"/>
<rectangle x1="51.6582" y1="80.763109375" x2="51.9898" y2="80.928928125" layer="41"/>
<rectangle x1="53.1506" y1="80.763109375" x2="54.3113" y2="80.928928125" layer="41"/>
<rectangle x1="65.753" y1="80.763109375" x2="66.7479" y2="80.928928125" layer="41"/>
<rectangle x1="78.1895" y1="80.763109375" x2="79.3503" y2="80.928928125" layer="41"/>
<rectangle x1="91.1235" y1="80.763109375" x2="91.7868" y2="80.928928125" layer="41"/>
<rectangle x1="2.4095" y1="80.92893125" x2="3.736" y2="81.09475" layer="41"/>
<rectangle x1="14.5144" y1="80.92893125" x2="14.846" y2="81.09475" layer="41"/>
<rectangle x1="15.8409" y1="80.92893125" x2="17.3333" y2="81.09475" layer="41"/>
<rectangle x1="27.1168" y1="80.92893125" x2="27.6142" y2="81.09475" layer="41"/>
<rectangle x1="28.4433" y1="80.92893125" x2="29.7699" y2="81.09475" layer="41"/>
<rectangle x1="39.3875" y1="80.92893125" x2="39.7191" y2="81.09475" layer="41"/>
<rectangle x1="40.5482" y1="80.92893125" x2="42.2064" y2="81.09475" layer="41"/>
<rectangle x1="51.6582" y1="80.92893125" x2="52.1557" y2="81.09475" layer="41"/>
<rectangle x1="52.9848" y1="80.92893125" x2="54.643" y2="81.09475" layer="41"/>
<rectangle x1="64.2606" y1="80.92893125" x2="64.5922" y2="81.09475" layer="41"/>
<rectangle x1="65.753" y1="80.92893125" x2="66.9137" y2="81.09475" layer="41"/>
<rectangle x1="76.6971" y1="80.92893125" x2="77.1946" y2="81.09475" layer="41"/>
<rectangle x1="78.1895" y1="80.92893125" x2="79.5161" y2="81.09475" layer="41"/>
<rectangle x1="90.9577" y1="80.92893125" x2="91.9526" y2="81.09475" layer="41"/>
<rectangle x1="2.5753" y1="81.09475" x2="3.9019" y2="81.26058125" layer="41"/>
<rectangle x1="15.6751" y1="81.09475" x2="17.3333" y2="81.26058125" layer="41"/>
<rectangle x1="27.1168" y1="81.09475" x2="27.6142" y2="81.26058125" layer="41"/>
<rectangle x1="28.4433" y1="81.09475" x2="29.9357" y2="81.26058125" layer="41"/>
<rectangle x1="40.2166" y1="81.09475" x2="42.2064" y2="81.26058125" layer="41"/>
<rectangle x1="52.819" y1="81.09475" x2="54.643" y2="81.26058125" layer="41"/>
<rectangle x1="64.2606" y1="81.09475" x2="64.758" y2="81.26058125" layer="41"/>
<rectangle x1="65.5871" y1="81.09475" x2="67.0795" y2="81.26058125" layer="41"/>
<rectangle x1="76.6971" y1="81.09475" x2="77.1946" y2="81.26058125" layer="41"/>
<rectangle x1="78.1895" y1="81.09475" x2="79.6819" y2="81.26058125" layer="41"/>
<rectangle x1="89.4653" y1="81.09475" x2="89.797" y2="81.26058125" layer="41"/>
<rectangle x1="90.7919" y1="81.09475" x2="92.1184" y2="81.26058125" layer="41"/>
<rectangle x1="2.7411" y1="81.26058125" x2="4.0677" y2="81.4264" layer="41"/>
<rectangle x1="15.5093" y1="81.26058125" x2="17.3333" y2="81.4264" layer="41"/>
<rectangle x1="27.1168" y1="81.26058125" x2="27.6142" y2="81.4264" layer="41"/>
<rectangle x1="28.4433" y1="81.26058125" x2="29.9357" y2="81.4264" layer="41"/>
<rectangle x1="40.2166" y1="81.26058125" x2="42.3723" y2="81.4264" layer="41"/>
<rectangle x1="52.4873" y1="81.26058125" x2="54.643" y2="81.4264" layer="41"/>
<rectangle x1="64.4264" y1="81.26058125" x2="64.5922" y2="81.4264" layer="41"/>
<rectangle x1="65.4213" y1="81.26058125" x2="67.2453" y2="81.4264" layer="41"/>
<rectangle x1="77.0288" y1="81.26058125" x2="77.1946" y2="81.4264" layer="41"/>
<rectangle x1="78.0237" y1="81.26058125" x2="79.6819" y2="81.4264" layer="41"/>
<rectangle x1="89.4653" y1="81.26058125" x2="89.9628" y2="81.4264" layer="41"/>
<rectangle x1="90.7919" y1="81.26058125" x2="92.2843" y2="81.4264" layer="41"/>
<rectangle x1="2.7411" y1="81.4264" x2="4.0677" y2="81.59221875" layer="41"/>
<rectangle x1="8.2132" y1="81.4264" x2="8.379" y2="81.59221875" layer="41"/>
<rectangle x1="15.3435" y1="81.4264" x2="17.4992" y2="81.59221875" layer="41"/>
<rectangle x1="28.1117" y1="81.4264" x2="30.1015" y2="81.59221875" layer="41"/>
<rectangle x1="40.2166" y1="81.4264" x2="42.2064" y2="81.59221875" layer="41"/>
<rectangle x1="52.4873" y1="81.4264" x2="54.643" y2="81.59221875" layer="41"/>
<rectangle x1="65.2555" y1="81.4264" x2="67.2453" y2="81.59221875" layer="41"/>
<rectangle x1="77.692" y1="81.4264" x2="79.6819" y2="81.59221875" layer="41"/>
<rectangle x1="90.6261" y1="81.4264" x2="92.4501" y2="81.59221875" layer="41"/>
<rectangle x1="3.5702" y1="81.59221875" x2="4.0677" y2="81.7580375" layer="41"/>
<rectangle x1="14.846" y1="81.59221875" x2="15.0118" y2="81.7580375" layer="41"/>
<rectangle x1="15.3435" y1="81.59221875" x2="17.4992" y2="81.7580375" layer="41"/>
<rectangle x1="27.9459" y1="81.59221875" x2="30.1015" y2="81.7580375" layer="41"/>
<rectangle x1="40.2166" y1="81.59221875" x2="42.3723" y2="81.7580375" layer="41"/>
<rectangle x1="51.9898" y1="81.59221875" x2="52.1557" y2="81.7580375" layer="41"/>
<rectangle x1="52.4873" y1="81.59221875" x2="54.643" y2="81.7580375" layer="41"/>
<rectangle x1="65.2555" y1="81.59221875" x2="67.2453" y2="81.7580375" layer="41"/>
<rectangle x1="77.692" y1="81.59221875" x2="79.6819" y2="81.7580375" layer="41"/>
<rectangle x1="90.2944" y1="81.59221875" x2="92.4501" y2="81.7580375" layer="41"/>
<rectangle x1="14.846" y1="81.758040625" x2="15.0118" y2="81.923859375" layer="41"/>
<rectangle x1="15.3435" y1="81.758040625" x2="17.4992" y2="81.923859375" layer="41"/>
<rectangle x1="28.1117" y1="81.758040625" x2="30.1015" y2="81.923859375" layer="41"/>
<rectangle x1="40.3824" y1="81.758040625" x2="42.3723" y2="81.923859375" layer="41"/>
<rectangle x1="51.9898" y1="81.758040625" x2="52.1557" y2="81.923859375" layer="41"/>
<rectangle x1="52.4873" y1="81.758040625" x2="54.8088" y2="81.923859375" layer="41"/>
<rectangle x1="65.2555" y1="81.758040625" x2="67.2453" y2="81.923859375" layer="41"/>
<rectangle x1="77.1946" y1="81.758040625" x2="77.3604" y2="81.923859375" layer="41"/>
<rectangle x1="77.692" y1="81.758040625" x2="79.8477" y2="81.923859375" layer="41"/>
<rectangle x1="90.2944" y1="81.758040625" x2="92.4501" y2="81.923859375" layer="41"/>
<rectangle x1="9.5398" y1="81.923859375" x2="9.8714" y2="82.089678125" layer="41"/>
<rectangle x1="10.5347" y1="81.923859375" x2="11.0321" y2="82.089678125" layer="41"/>
<rectangle x1="15.5093" y1="81.923859375" x2="17.665" y2="82.089678125" layer="41"/>
<rectangle x1="21.6447" y1="81.923859375" x2="21.8105" y2="82.089678125" layer="41"/>
<rectangle x1="23.4687" y1="81.923859375" x2="23.9662" y2="82.089678125" layer="41"/>
<rectangle x1="28.1117" y1="81.923859375" x2="30.1015" y2="82.089678125" layer="41"/>
<rectangle x1="40.5482" y1="81.923859375" x2="42.3723" y2="82.089678125" layer="41"/>
<rectangle x1="47.8443" y1="81.923859375" x2="48.176" y2="82.089678125" layer="41"/>
<rectangle x1="52.6531" y1="81.923859375" x2="54.8088" y2="82.089678125" layer="41"/>
<rectangle x1="58.7885" y1="81.923859375" x2="58.9543" y2="82.089678125" layer="41"/>
<rectangle x1="60.7783" y1="81.923859375" x2="60.9442" y2="82.089678125" layer="41"/>
<rectangle x1="65.2555" y1="81.923859375" x2="67.2453" y2="82.089678125" layer="41"/>
<rectangle x1="77.1946" y1="81.923859375" x2="77.3604" y2="82.089678125" layer="41"/>
<rectangle x1="77.692" y1="81.923859375" x2="79.8477" y2="82.089678125" layer="41"/>
<rectangle x1="90.2944" y1="81.923859375" x2="92.4501" y2="82.089678125" layer="41"/>
<rectangle x1="9.5398" y1="82.08968125" x2="9.8714" y2="82.2555" layer="41"/>
<rectangle x1="10.5347" y1="82.08968125" x2="11.0321" y2="82.2555" layer="41"/>
<rectangle x1="15.6751" y1="82.08968125" x2="17.665" y2="82.2555" layer="41"/>
<rectangle x1="21.6447" y1="82.08968125" x2="21.8105" y2="82.2555" layer="41"/>
<rectangle x1="23.4687" y1="82.08968125" x2="23.9662" y2="82.2555" layer="41"/>
<rectangle x1="28.1117" y1="82.08968125" x2="30.2673" y2="82.2555" layer="41"/>
<rectangle x1="40.5482" y1="82.08968125" x2="42.5381" y2="82.2555" layer="41"/>
<rectangle x1="47.8443" y1="82.08968125" x2="48.176" y2="82.2555" layer="41"/>
<rectangle x1="52.819" y1="82.08968125" x2="54.8088" y2="82.2555" layer="41"/>
<rectangle x1="58.7885" y1="82.08968125" x2="58.9543" y2="82.2555" layer="41"/>
<rectangle x1="60.7783" y1="82.08968125" x2="61.11" y2="82.2555" layer="41"/>
<rectangle x1="65.2555" y1="82.08968125" x2="67.4112" y2="82.2555" layer="41"/>
<rectangle x1="72.8832" y1="82.08968125" x2="73.2149" y2="82.2555" layer="41"/>
<rectangle x1="77.692" y1="82.08968125" x2="80.0135" y2="82.2555" layer="41"/>
<rectangle x1="83.9932" y1="82.08968125" x2="84.1591" y2="82.2555" layer="41"/>
<rectangle x1="85.8173" y1="82.08968125" x2="86.1489" y2="82.2555" layer="41"/>
<rectangle x1="90.2944" y1="82.08968125" x2="92.4501" y2="82.2555" layer="41"/>
<rectangle x1="9.5398" y1="82.2555" x2="9.8714" y2="82.42131875" layer="41"/>
<rectangle x1="10.3689" y1="82.2555" x2="11.198" y2="82.42131875" layer="41"/>
<rectangle x1="15.6751" y1="82.2555" x2="17.4992" y2="82.42131875" layer="41"/>
<rectangle x1="23.3029" y1="82.2555" x2="23.9662" y2="82.42131875" layer="41"/>
<rectangle x1="28.2775" y1="82.2555" x2="30.2673" y2="82.42131875" layer="41"/>
<rectangle x1="35.5736" y1="82.2555" x2="35.9052" y2="82.42131875" layer="41"/>
<rectangle x1="40.5482" y1="82.2555" x2="42.3723" y2="82.42131875" layer="41"/>
<rectangle x1="46.0203" y1="82.2555" x2="46.6836" y2="82.42131875" layer="41"/>
<rectangle x1="47.0152" y1="82.2555" x2="47.181" y2="82.42131875" layer="41"/>
<rectangle x1="47.5127" y1="82.2555" x2="48.3418" y2="82.42131875" layer="41"/>
<rectangle x1="52.819" y1="82.2555" x2="54.8088" y2="82.42131875" layer="41"/>
<rectangle x1="60.4467" y1="82.2555" x2="61.11" y2="82.42131875" layer="41"/>
<rectangle x1="65.4213" y1="82.2555" x2="67.4112" y2="82.42131875" layer="41"/>
<rectangle x1="72.8832" y1="82.2555" x2="73.3807" y2="82.42131875" layer="41"/>
<rectangle x1="78.0237" y1="82.2555" x2="79.8477" y2="82.42131875" layer="41"/>
<rectangle x1="83.9932" y1="82.2555" x2="84.1591" y2="82.42131875" layer="41"/>
<rectangle x1="85.8173" y1="82.2555" x2="86.3147" y2="82.42131875" layer="41"/>
<rectangle x1="90.4602" y1="82.2555" x2="92.4501" y2="82.42131875" layer="41"/>
<rectangle x1="9.5398" y1="82.42131875" x2="11.0321" y2="82.5871375" layer="41"/>
<rectangle x1="15.6751" y1="82.42131875" x2="17.4992" y2="82.5871375" layer="41"/>
<rectangle x1="22.1421" y1="82.42131875" x2="23.9662" y2="82.5871375" layer="41"/>
<rectangle x1="28.2775" y1="82.42131875" x2="30.2673" y2="82.5871375" layer="41"/>
<rectangle x1="34.247" y1="82.42131875" x2="34.4129" y2="82.5871375" layer="41"/>
<rectangle x1="35.5736" y1="82.42131875" x2="36.0711" y2="82.5871375" layer="41"/>
<rectangle x1="40.3824" y1="82.42131875" x2="42.3723" y2="82.5871375" layer="41"/>
<rectangle x1="46.0203" y1="82.42131875" x2="48.176" y2="82.5871375" layer="41"/>
<rectangle x1="52.819" y1="82.42131875" x2="54.643" y2="82.5871375" layer="41"/>
<rectangle x1="59.286" y1="82.42131875" x2="61.11" y2="82.5871375" layer="41"/>
<rectangle x1="65.4213" y1="82.42131875" x2="67.4112" y2="82.5871375" layer="41"/>
<rectangle x1="71.3909" y1="82.42131875" x2="71.5567" y2="82.5871375" layer="41"/>
<rectangle x1="72.7174" y1="82.42131875" x2="73.5465" y2="82.5871375" layer="41"/>
<rectangle x1="78.0237" y1="82.42131875" x2="79.8477" y2="82.5871375" layer="41"/>
<rectangle x1="83.9932" y1="82.42131875" x2="84.1591" y2="82.5871375" layer="41"/>
<rectangle x1="85.6514" y1="82.42131875" x2="86.3147" y2="82.5871375" layer="41"/>
<rectangle x1="90.6261" y1="82.42131875" x2="92.6159" y2="82.5871375" layer="41"/>
<rectangle x1="97.9222" y1="82.42131875" x2="98.2538" y2="82.5871375" layer="41"/>
<rectangle x1="9.5398" y1="82.587140625" x2="11.0321" y2="82.752959375" layer="41"/>
<rectangle x1="15.6751" y1="82.587140625" x2="17.1675" y2="82.752959375" layer="41"/>
<rectangle x1="22.308" y1="82.587140625" x2="23.9662" y2="82.752959375" layer="41"/>
<rectangle x1="28.2775" y1="82.587140625" x2="30.2673" y2="82.752959375" layer="41"/>
<rectangle x1="33.7496" y1="82.587140625" x2="34.4129" y2="82.752959375" layer="41"/>
<rectangle x1="35.242" y1="82.587140625" x2="36.0711" y2="82.752959375" layer="41"/>
<rectangle x1="38.3926" y1="82.587140625" x2="38.89" y2="82.752959375" layer="41"/>
<rectangle x1="40.3824" y1="82.587140625" x2="41.709" y2="82.752959375" layer="41"/>
<rectangle x1="42.0406" y1="82.587140625" x2="42.2064" y2="82.752959375" layer="41"/>
<rectangle x1="42.3723" y1="82.587140625" x2="42.5381" y2="82.752959375" layer="41"/>
<rectangle x1="46.0203" y1="82.587140625" x2="48.176" y2="82.752959375" layer="41"/>
<rectangle x1="52.6531" y1="82.587140625" x2="54.1455" y2="82.752959375" layer="41"/>
<rectangle x1="59.4518" y1="82.587140625" x2="61.11" y2="82.752959375" layer="41"/>
<rectangle x1="65.4213" y1="82.587140625" x2="67.4112" y2="82.752959375" layer="41"/>
<rectangle x1="70.8934" y1="82.587140625" x2="71.7225" y2="82.752959375" layer="41"/>
<rectangle x1="72.22" y1="82.587140625" x2="73.3807" y2="82.752959375" layer="41"/>
<rectangle x1="78.0237" y1="82.587140625" x2="79.6819" y2="82.752959375" layer="41"/>
<rectangle x1="84.4907" y1="82.587140625" x2="86.3147" y2="82.752959375" layer="41"/>
<rectangle x1="90.6261" y1="82.587140625" x2="92.6159" y2="82.752959375" layer="41"/>
<rectangle x1="96.5956" y1="82.587140625" x2="96.7614" y2="82.752959375" layer="41"/>
<rectangle x1="97.9222" y1="82.587140625" x2="98.4196" y2="82.752959375" layer="41"/>
<rectangle x1="9.5398" y1="82.752959375" x2="11.0321" y2="82.918778125" layer="41"/>
<rectangle x1="12.1929" y1="82.752959375" x2="12.3587" y2="82.918778125" layer="41"/>
<rectangle x1="13.1878" y1="82.752959375" x2="13.3536" y2="82.918778125" layer="41"/>
<rectangle x1="15.6751" y1="82.752959375" x2="16.8359" y2="82.918778125" layer="41"/>
<rectangle x1="22.308" y1="82.752959375" x2="23.9662" y2="82.918778125" layer="41"/>
<rectangle x1="25.1269" y1="82.752959375" x2="25.2927" y2="82.918778125" layer="41"/>
<rectangle x1="28.2775" y1="82.752959375" x2="30.2673" y2="82.918778125" layer="41"/>
<rectangle x1="33.7496" y1="82.752959375" x2="36.0711" y2="82.918778125" layer="41"/>
<rectangle x1="38.3926" y1="82.752959375" x2="38.89" y2="82.918778125" layer="41"/>
<rectangle x1="41.2115" y1="82.752959375" x2="41.5431" y2="82.918778125" layer="41"/>
<rectangle x1="42.2064" y1="82.752959375" x2="42.7039" y2="82.918778125" layer="41"/>
<rectangle x1="46.1861" y1="82.752959375" x2="46.6836" y2="82.918778125" layer="41"/>
<rectangle x1="47.0152" y1="82.752959375" x2="48.176" y2="82.918778125" layer="41"/>
<rectangle x1="49.3367" y1="82.752959375" x2="49.5025" y2="82.918778125" layer="41"/>
<rectangle x1="50.3316" y1="82.752959375" x2="50.4975" y2="82.918778125" layer="41"/>
<rectangle x1="52.6531" y1="82.752959375" x2="53.9797" y2="82.918778125" layer="41"/>
<rectangle x1="59.4518" y1="82.752959375" x2="61.11" y2="82.918778125" layer="41"/>
<rectangle x1="62.2707" y1="82.752959375" x2="62.4365" y2="82.918778125" layer="41"/>
<rectangle x1="65.4213" y1="82.752959375" x2="67.4112" y2="82.918778125" layer="41"/>
<rectangle x1="70.8934" y1="82.752959375" x2="73.3807" y2="82.918778125" layer="41"/>
<rectangle x1="77.8579" y1="82.752959375" x2="79.3503" y2="82.918778125" layer="41"/>
<rectangle x1="84.6565" y1="82.752959375" x2="86.3147" y2="82.918778125" layer="41"/>
<rectangle x1="90.6261" y1="82.752959375" x2="92.6159" y2="82.918778125" layer="41"/>
<rectangle x1="96.264" y1="82.752959375" x2="96.9272" y2="82.918778125" layer="41"/>
<rectangle x1="97.7563" y1="82.752959375" x2="98.4196" y2="82.918778125" layer="41"/>
<rectangle x1="9.8714" y1="82.91878125" x2="11.5296" y2="83.0846" layer="41"/>
<rectangle x1="12.0271" y1="82.91878125" x2="12.5245" y2="83.0846" layer="41"/>
<rectangle x1="13.022" y1="82.91878125" x2="13.3536" y2="83.0846" layer="41"/>
<rectangle x1="22.4738" y1="82.91878125" x2="24.4636" y2="83.0846" layer="41"/>
<rectangle x1="24.9611" y1="82.91878125" x2="25.2927" y2="83.0846" layer="41"/>
<rectangle x1="26.1218" y1="82.91878125" x2="26.6193" y2="83.0846" layer="41"/>
<rectangle x1="28.2775" y1="82.91878125" x2="28.6091" y2="83.0846" layer="41"/>
<rectangle x1="28.9408" y1="82.91878125" x2="29.4382" y2="83.0846" layer="41"/>
<rectangle x1="29.9357" y1="82.91878125" x2="30.599" y2="83.0846" layer="41"/>
<rectangle x1="33.9154" y1="82.91878125" x2="34.5787" y2="83.0846" layer="41"/>
<rectangle x1="34.7445" y1="82.91878125" x2="35.9052" y2="83.0846" layer="41"/>
<rectangle x1="38.0609" y1="82.91878125" x2="38.89" y2="83.0846" layer="41"/>
<rectangle x1="41.3773" y1="82.91878125" x2="42.3723" y2="83.0846" layer="41"/>
<rectangle x1="47.0152" y1="82.91878125" x2="48.6734" y2="83.0846" layer="41"/>
<rectangle x1="49.1709" y1="82.91878125" x2="49.5025" y2="83.0846" layer="41"/>
<rectangle x1="50.3316" y1="82.91878125" x2="50.6633" y2="83.0846" layer="41"/>
<rectangle x1="59.6176" y1="82.91878125" x2="61.6074" y2="83.0846" layer="41"/>
<rectangle x1="62.1049" y1="82.91878125" x2="62.4365" y2="83.0846" layer="41"/>
<rectangle x1="63.4315" y1="82.91878125" x2="63.9289" y2="83.0846" layer="41"/>
<rectangle x1="65.4213" y1="82.91878125" x2="65.753" y2="83.0846" layer="41"/>
<rectangle x1="66.0846" y1="82.91878125" x2="66.5821" y2="83.0846" layer="41"/>
<rectangle x1="67.2453" y1="82.91878125" x2="67.7428" y2="83.0846" layer="41"/>
<rectangle x1="71.0592" y1="82.91878125" x2="71.7225" y2="83.0846" layer="41"/>
<rectangle x1="72.0541" y1="82.91878125" x2="73.3807" y2="83.0846" layer="41"/>
<rectangle x1="74.3756" y1="82.91878125" x2="74.7073" y2="83.0846" layer="41"/>
<rectangle x1="75.5364" y1="82.91878125" x2="75.868" y2="83.0846" layer="41"/>
<rectangle x1="78.0237" y1="82.91878125" x2="78.1895" y2="83.0846" layer="41"/>
<rectangle x1="84.6565" y1="82.91878125" x2="86.3147" y2="83.0846" layer="41"/>
<rectangle x1="87.3096" y1="82.91878125" x2="87.6413" y2="83.0846" layer="41"/>
<rectangle x1="90.6261" y1="82.91878125" x2="92.4501" y2="83.0846" layer="41"/>
<rectangle x1="96.0981" y1="82.91878125" x2="98.4196" y2="83.0846" layer="41"/>
<rectangle x1="9.8714" y1="83.0846" x2="11.5296" y2="83.25041875" layer="41"/>
<rectangle x1="12.0271" y1="83.0846" x2="12.5245" y2="83.25041875" layer="41"/>
<rectangle x1="13.022" y1="83.0846" x2="13.5195" y2="83.25041875" layer="41"/>
<rectangle x1="22.4738" y1="83.0846" x2="24.4636" y2="83.25041875" layer="41"/>
<rectangle x1="24.7953" y1="83.0846" x2="25.2927" y2="83.25041875" layer="41"/>
<rectangle x1="26.2876" y1="83.0846" x2="26.7851" y2="83.25041875" layer="41"/>
<rectangle x1="29.9357" y1="83.0846" x2="30.2673" y2="83.25041875" layer="41"/>
<rectangle x1="30.4332" y1="83.0846" x2="30.599" y2="83.25041875" layer="41"/>
<rectangle x1="34.0812" y1="83.0846" x2="34.4129" y2="83.25041875" layer="41"/>
<rectangle x1="34.7445" y1="83.0846" x2="36.0711" y2="83.25041875" layer="41"/>
<rectangle x1="37.066" y1="83.0846" x2="37.3976" y2="83.25041875" layer="41"/>
<rectangle x1="37.8951" y1="83.0846" x2="38.7242" y2="83.25041875" layer="41"/>
<rectangle x1="47.0152" y1="83.0846" x2="48.8393" y2="83.25041875" layer="41"/>
<rectangle x1="49.1709" y1="83.0846" x2="49.6684" y2="83.25041875" layer="41"/>
<rectangle x1="50.1658" y1="83.0846" x2="50.6633" y2="83.25041875" layer="41"/>
<rectangle x1="59.7834" y1="83.0846" x2="61.6074" y2="83.25041875" layer="41"/>
<rectangle x1="62.1049" y1="83.0846" x2="62.4365" y2="83.25041875" layer="41"/>
<rectangle x1="63.4315" y1="83.0846" x2="63.9289" y2="83.25041875" layer="41"/>
<rectangle x1="66.4162" y1="83.0846" x2="66.5821" y2="83.25041875" layer="41"/>
<rectangle x1="66.9137" y1="83.0846" x2="67.4112" y2="83.25041875" layer="41"/>
<rectangle x1="67.577" y1="83.0846" x2="67.7428" y2="83.25041875" layer="41"/>
<rectangle x1="71.225" y1="83.0846" x2="71.7225" y2="83.25041875" layer="41"/>
<rectangle x1="72.0541" y1="83.0846" x2="73.8782" y2="83.25041875" layer="41"/>
<rectangle x1="74.3756" y1="83.0846" x2="74.7073" y2="83.25041875" layer="41"/>
<rectangle x1="75.3706" y1="83.0846" x2="75.868" y2="83.25041875" layer="41"/>
<rectangle x1="84.8223" y1="83.0846" x2="86.6464" y2="83.25041875" layer="41"/>
<rectangle x1="87.3096" y1="83.0846" x2="87.6413" y2="83.25041875" layer="41"/>
<rectangle x1="88.6362" y1="83.0846" x2="88.9679" y2="83.25041875" layer="41"/>
<rectangle x1="90.6261" y1="83.0846" x2="91.7868" y2="83.25041875" layer="41"/>
<rectangle x1="92.4501" y1="83.0846" x2="92.6159" y2="83.25041875" layer="41"/>
<rectangle x1="92.7817" y1="83.0846" x2="92.9475" y2="83.25041875" layer="41"/>
<rectangle x1="96.264" y1="83.0846" x2="96.9272" y2="83.25041875" layer="41"/>
<rectangle x1="97.0931" y1="83.0846" x2="98.4196" y2="83.25041875" layer="41"/>
<rectangle x1="1.4146" y1="83.25041875" x2="1.7462" y2="83.4162375" layer="41"/>
<rectangle x1="10.203" y1="83.25041875" x2="11.6954" y2="83.4162375" layer="41"/>
<rectangle x1="11.8613" y1="83.25041875" x2="12.6904" y2="83.4162375" layer="41"/>
<rectangle x1="12.8562" y1="83.25041875" x2="13.6853" y2="83.4162375" layer="41"/>
<rectangle x1="22.6396" y1="83.25041875" x2="24.4636" y2="83.4162375" layer="41"/>
<rectangle x1="24.7953" y1="83.25041875" x2="25.2927" y2="83.4162375" layer="41"/>
<rectangle x1="26.1218" y1="83.25041875" x2="26.7851" y2="83.4162375" layer="41"/>
<rectangle x1="29.2724" y1="83.25041875" x2="30.1015" y2="83.4162375" layer="41"/>
<rectangle x1="34.7445" y1="83.25041875" x2="36.5685" y2="83.4162375" layer="41"/>
<rectangle x1="37.066" y1="83.25041875" x2="37.3976" y2="83.4162375" layer="41"/>
<rectangle x1="37.8951" y1="83.25041875" x2="39.0558" y2="83.4162375" layer="41"/>
<rectangle x1="47.3469" y1="83.25041875" x2="48.8393" y2="83.4162375" layer="41"/>
<rectangle x1="49.0051" y1="83.25041875" x2="49.8342" y2="83.4162375" layer="41"/>
<rectangle x1="50" y1="83.25041875" x2="50.8291" y2="83.4162375" layer="41"/>
<rectangle x1="59.7834" y1="83.25041875" x2="61.6074" y2="83.4162375" layer="41"/>
<rectangle x1="61.9391" y1="83.25041875" x2="62.4365" y2="83.4162375" layer="41"/>
<rectangle x1="63.2657" y1="83.25041875" x2="63.9289" y2="83.4162375" layer="41"/>
<rectangle x1="66.2504" y1="83.25041875" x2="67.4112" y2="83.4162375" layer="41"/>
<rectangle x1="71.8883" y1="83.25041875" x2="73.8782" y2="83.4162375" layer="41"/>
<rectangle x1="74.3756" y1="83.25041875" x2="74.8731" y2="83.4162375" layer="41"/>
<rectangle x1="75.3706" y1="83.25041875" x2="75.868" y2="83.4162375" layer="41"/>
<rectangle x1="84.9882" y1="83.25041875" x2="86.6464" y2="83.4162375" layer="41"/>
<rectangle x1="87.1438" y1="83.25041875" x2="87.6413" y2="83.4162375" layer="41"/>
<rectangle x1="88.6362" y1="83.25041875" x2="88.9679" y2="83.4162375" layer="41"/>
<rectangle x1="91.4552" y1="83.25041875" x2="91.7868" y2="83.4162375" layer="41"/>
<rectangle x1="92.1184" y1="83.25041875" x2="92.6159" y2="83.4162375" layer="41"/>
<rectangle x1="92.7817" y1="83.25041875" x2="92.9475" y2="83.4162375" layer="41"/>
<rectangle x1="96.4298" y1="83.25041875" x2="96.9272" y2="83.4162375" layer="41"/>
<rectangle x1="97.0931" y1="83.25041875" x2="98.4196" y2="83.4162375" layer="41"/>
<wire x1="1" y1="78" x2="7" y2="76" width="0.4064" layer="25"/>
<wire x1="7" y1="76" x2="11" y2="75" width="0.4064" layer="25"/>
<wire x1="11" y1="75" x2="13" y2="75" width="0.4064" layer="25"/>
<wire x1="13" y1="75" x2="15" y2="76" width="0.4064" layer="25"/>
<wire x1="15" y1="76" x2="18" y2="77" width="0.4064" layer="25"/>
<wire x1="18" y1="77" x2="21" y2="79" width="0.4064" layer="25"/>
<wire x1="21" y1="79" x2="24" y2="82" width="0.4064" layer="25"/>
<wire x1="24" y1="82" x2="27" y2="81" width="0.4064" layer="25"/>
<wire x1="27" y1="81" x2="31" y2="80" width="0.4064" layer="25"/>
<wire x1="31" y1="80" x2="37" y2="79" width="0.4064" layer="25"/>
<wire x1="37" y1="79" x2="40" y2="79" width="0.4064" layer="25"/>
<wire x1="40" y1="79" x2="44" y2="80" width="0.4064" layer="25"/>
<wire x1="44" y1="80" x2="53" y2="77" width="0.4064" layer="25"/>
<wire x1="53" y1="77" x2="58" y2="78" width="0.4064" layer="25"/>
<wire x1="58" y1="78" x2="66" y2="79" width="0.4064" layer="25"/>
<wire x1="66" y1="79" x2="73" y2="79" width="0.4064" layer="25"/>
<wire x1="73" y1="79" x2="82" y2="81" width="0.4064" layer="25"/>
<wire x1="82" y1="81" x2="92" y2="83" width="0.4064" layer="25"/>
<wire x1="92" y1="83" x2="99" y2="84" width="0.4064" layer="25"/>
<wire x1="98" y1="82" x2="81" y2="81" width="0.4064" layer="25"/>
<wire x1="81" y1="81" x2="66.3" y2="78.3" width="0.4064" layer="25"/>
<wire x1="66.3" y1="78.3" x2="53" y2="78" width="0.4064" layer="25"/>
<wire x1="53" y1="78" x2="44.1" y2="79.1" width="0.4064" layer="25"/>
<wire x1="44.1" y1="79.1" x2="2" y2="83" width="0.4064" layer="25"/>
<wire x1="2" y1="63" x2="9" y2="60" width="0.4064" layer="25"/>
<wire x1="9" y1="60" x2="16" y2="59" width="0.4064" layer="25"/>
<wire x1="16" y1="59" x2="39" y2="56" width="0.4064" layer="25"/>
<wire x1="39" y1="56" x2="55" y2="59" width="0.4064" layer="25"/>
<wire x1="55" y1="59" x2="72" y2="62" width="0.4064" layer="25"/>
<wire x1="72" y1="62" x2="98" y2="60" width="0.4064" layer="25"/>
<wire x1="59" y1="61" x2="98" y2="59" width="0.4064" layer="25"/>
<wire x1="59" y1="61" x2="46" y2="56" width="0.4064" layer="25"/>
<wire x1="46" y1="56" x2="28" y2="58" width="0.4064" layer="25"/>
<wire x1="28" y1="58" x2="16" y2="58" width="0.4064" layer="25"/>
<wire x1="16" y1="58" x2="2" y2="64" width="0.4064" layer="25"/>
<wire x1="6" y1="37" x2="14" y2="38" width="0.4064" layer="25"/>
<wire x1="14" y1="38" x2="22" y2="36" width="0.4064" layer="25"/>
<wire x1="22" y1="36" x2="39" y2="36" width="0.4064" layer="25"/>
<wire x1="39" y1="36" x2="57" y2="37" width="0.4064" layer="25"/>
<wire x1="57" y1="37" x2="76" y2="41" width="0.4064" layer="25"/>
<wire x1="76" y1="41" x2="83" y2="44" width="0.4064" layer="25"/>
<wire x1="83" y1="44" x2="89" y2="41" width="0.4064" layer="25"/>
<wire x1="89" y1="41" x2="98" y2="40" width="0.4064" layer="25"/>
<wire x1="98" y1="42" x2="87" y2="41" width="0.4064" layer="25"/>
<wire x1="87" y1="41" x2="75" y2="40" width="0.4064" layer="25"/>
<wire x1="75" y1="40" x2="56" y2="38" width="0.4064" layer="25"/>
<wire x1="56" y1="38" x2="39" y2="35" width="0.4064" layer="25"/>
<wire x1="39" y1="35" x2="28" y2="37" width="0.4064" layer="25"/>
<wire x1="28" y1="37" x2="14" y2="38" width="0.4064" layer="25"/>
<wire x1="14" y1="38" x2="6" y2="39" width="0.4064" layer="25"/>
<wire x1="0" y1="18" x2="100" y2="18" width="0.4064" layer="25"/>
<wire x1="100" y1="16" x2="95" y2="16" width="0.4064" layer="25"/>
<wire x1="95" y1="16" x2="91" y2="16" width="0.4064" layer="25"/>
<wire x1="91" y1="16" x2="88" y2="16" width="0.4064" layer="25"/>
<wire x1="88" y1="16" x2="84" y2="16" width="0.4064" layer="25"/>
<wire x1="84" y1="16" x2="79" y2="16" width="0.4064" layer="25"/>
<wire x1="79" y1="16" x2="75" y2="16" width="0.4064" layer="25"/>
<wire x1="75" y1="16" x2="72" y2="16" width="0.4064" layer="25"/>
<wire x1="72" y1="16" x2="67" y2="16" width="0.4064" layer="25"/>
<wire x1="63" y1="16" x2="59" y2="16" width="0.4064" layer="25"/>
<wire x1="56" y1="16" x2="51" y2="16" width="0.4064" layer="25"/>
<wire x1="46" y1="16" x2="43" y2="16" width="0.4064" layer="25"/>
<wire x1="39" y1="16" x2="35" y2="16" width="0.4064" layer="25"/>
<wire x1="30" y1="16" x2="27" y2="16" width="0.4064" layer="25"/>
<wire x1="23" y1="16" x2="19" y2="16" width="0.4064" layer="25"/>
<wire x1="16" y1="16" x2="11" y2="16" width="0.4064" layer="25"/>
<wire x1="7" y1="16" x2="4" y2="16" width="0.4064" layer="25"/>
<wire x1="4" y1="16" x2="0" y2="16" width="0.4064" layer="25"/>
<wire x1="95" y1="16" x2="95" y2="-10" width="0.4064" layer="25"/>
<wire x1="91" y1="16" x2="91" y2="-10" width="0.4064" layer="25"/>
<wire x1="88" y1="16" x2="88" y2="-10" width="0.4064" layer="25"/>
<wire x1="84" y1="16" x2="84" y2="-10" width="0.4064" layer="25"/>
<wire x1="79" y1="16" x2="79" y2="-10" width="0.4064" layer="25"/>
<wire x1="75" y1="16" x2="75" y2="-10" width="0.4064" layer="25"/>
<wire x1="72" y1="16" x2="72" y2="-10" width="0.4064" layer="25"/>
<wire x1="67" y1="2.4" x2="67" y2="16" width="0.4064" layer="25"/>
<wire x1="67" y1="16" x2="63" y2="16" width="0.4064" layer="25"/>
<wire x1="63" y1="16" x2="63" y2="13.4" width="0.4064" layer="25"/>
<wire x1="59" y1="13.4" x2="59" y2="16" width="0.4064" layer="25"/>
<wire x1="59" y1="16" x2="56" y2="16" width="0.4064" layer="25"/>
<wire x1="56" y1="16" x2="56" y2="13.4" width="0.4064" layer="25"/>
<wire x1="51" y1="13.4" x2="51" y2="16" width="0.4064" layer="25"/>
<wire x1="51" y1="16" x2="46" y2="16" width="0.4064" layer="25"/>
<wire x1="46" y1="16" x2="46" y2="13.4" width="0.4064" layer="25"/>
<wire x1="43" y1="13.4" x2="43" y2="16" width="0.4064" layer="25"/>
<wire x1="43" y1="16" x2="39" y2="16" width="0.4064" layer="25"/>
<wire x1="39" y1="16" x2="39" y2="13.4" width="0.4064" layer="25"/>
<wire x1="35" y1="13.4" x2="35" y2="16" width="0.4064" layer="25"/>
<wire x1="35" y1="16" x2="30" y2="16" width="0.4064" layer="25"/>
<wire x1="30" y1="16" x2="30" y2="13.4" width="0.4064" layer="25"/>
<wire x1="27" y1="13.4" x2="27" y2="16" width="0.4064" layer="25"/>
<wire x1="27" y1="16" x2="23" y2="16" width="0.4064" layer="25"/>
<wire x1="23" y1="16" x2="23" y2="13.4" width="0.4064" layer="25"/>
<wire x1="19" y1="13.4" x2="19" y2="16" width="0.4064" layer="25"/>
<wire x1="19" y1="16" x2="16" y2="16" width="0.4064" layer="25"/>
<wire x1="16" y1="16" x2="16" y2="13.4" width="0.4064" layer="25"/>
<wire x1="11" y1="13.4" x2="11" y2="16" width="0.4064" layer="25"/>
<wire x1="11" y1="16" x2="7" y2="16" width="0.4064" layer="25"/>
<wire x1="7" y1="16" x2="7" y2="13.4" width="0.4064" layer="25"/>
<wire x1="4" y1="13.4" x2="4" y2="16" width="0.4064" layer="25"/>
<wire x1="0" y1="17" x2="100" y2="17" width="0.4064" layer="25"/>
<polygon width="0.4064" layer="29">
<vertex x="8" y="2"/>
<vertex x="10" y="12" curve="-90"/>
<vertex x="11" y="13"/>
<vertex x="12" y="13" curve="90"/>
<vertex x="11" y="12"/>
<vertex x="9" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="11" y="2"/>
<vertex x="13" y="12" curve="-90"/>
<vertex x="14" y="13"/>
<vertex x="15" y="13" curve="90"/>
<vertex x="14" y="12"/>
<vertex x="12" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="14" y="2"/>
<vertex x="16" y="12" curve="-90"/>
<vertex x="17" y="13"/>
<vertex x="18" y="13" curve="90"/>
<vertex x="17" y="12"/>
<vertex x="15" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="17" y="2"/>
<vertex x="19" y="12" curve="-90"/>
<vertex x="20" y="13"/>
<vertex x="21" y="13" curve="90"/>
<vertex x="20" y="12"/>
<vertex x="18" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="20" y="2"/>
<vertex x="22" y="12" curve="-90"/>
<vertex x="23" y="13"/>
<vertex x="24" y="13" curve="90"/>
<vertex x="23" y="12"/>
<vertex x="21" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="23" y="2"/>
<vertex x="25" y="12" curve="-90"/>
<vertex x="26" y="13"/>
<vertex x="27" y="13" curve="90"/>
<vertex x="26" y="12"/>
<vertex x="24" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="26" y="2"/>
<vertex x="28" y="12" curve="-90"/>
<vertex x="29" y="13"/>
<vertex x="30" y="13" curve="90"/>
<vertex x="29" y="12"/>
<vertex x="27" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="29" y="2"/>
<vertex x="31" y="12" curve="-90"/>
<vertex x="32" y="13"/>
<vertex x="33" y="13" curve="90"/>
<vertex x="32" y="12"/>
<vertex x="30" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="32" y="2"/>
<vertex x="34" y="12" curve="-90"/>
<vertex x="35" y="13"/>
<vertex x="36" y="13" curve="90"/>
<vertex x="35" y="12"/>
<vertex x="33" y="2"/>
</polygon>
<polygon width="0.4064" layer="


text:
29">
<vertex x="35" y="2"/>
<vertex x="37" y="12" curve="-90"/>
<vertex x="38" y="13"/>
<vertex x="39" y="13" curve="90"/>
<vertex x="38" y="12"/>
<vertex x="36" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="38" y="2"/>
<vertex x="40" y="12" curve="-90"/>
<vertex x="41" y="13"/>
<vertex x="42" y="13" curve="90"/>
<vertex x="41" y="12"/>
<vertex x="39" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="41" y="2"/>
<vertex x="43" y="12" curve="-90"/>
<vertex x="44" y="13"/>
<vertex x="45" y="13" curve="90"/>
<vertex x="44" y="12"/>
<vertex x="42" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="44" y="2"/>
<vertex x="46" y="12" curve="-90"/>
<vertex x="47" y="13"/>
<vertex x="48" y="13" curve="90"/>
<vertex x="47" y="12"/>
<vertex x="45" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="47" y="2"/>
<vertex x="49" y="12" curve="-90"/>
<vertex x="50" y="13"/>
<vertex x="51" y="13" curve="90"/>
<vertex x="50" y="12"/>
<vertex x="48" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="50" y="2"/>
<vertex x="52" y="12" curve="-90"/>
<vertex x="53" y="13"/>
<vertex x="54" y="13" curve="90"/>
<vertex x="53" y="12"/>
<vertex x="51" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="53" y="2"/>
<vertex x="55" y="12" curve="-90"/>
<vertex x="56" y="13"/>
<vertex x="57" y="13" curve="90"/>
<vertex x="56" y="12"/>
<vertex x="54" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="56" y="2"/>
<vertex x="58" y="12" curve="-90"/>
<vertex x="59" y="13"/>
<vertex x="60" y="13" curve="90"/>
<vertex x="59" y="12"/>
<vertex x="57" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="59" y="2"/>
<vertex x="61" y="12" curve="-90"/>
<vertex x="62" y="13"/>
<vertex x="63" y="13" curve="90"/>
<vertex x="62" y="12"/>
<vertex x="60" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="5" y="2"/>
<vertex x="7" y="12" curve="-90"/>
<vertex x="8" y="13"/>
<vertex x="9" y="13" curve="90"/>
<vertex x="8" y="12"/>
<vertex x="6" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="2" y="2"/>
<vertex x="4" y="12" curve="-90"/>
<vertex x="5" y="13"/>
<vertex x="6" y="13" curve="90"/>
<vertex x="5" y="12"/>
<vertex x="3" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="0.4" y="4.1"/>
<vertex x="0.4" y="9"/>
<vertex x="1" y="12" curve="-90"/>
<vertex x="2" y="13"/>
<vertex x="3" y="13" curve="90"/>
<vertex x="2" y="12"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="59" y="2" curve="90"/>
<vertex x="56" y="-1"/>
<vertex x="56" y="-10"/>
<vertex x="57" y="-10"/>
<vertex x="57" y="-1" curve="-90"/>
<vertex x="60" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="35" y="2" curve="90"/>
<vertex x="32" y="-1"/>
<vertex x="32" y="-10"/>
<vertex x="33" y="-10"/>
<vertex x="33" y="-1" curve="-90"/>
<vertex x="36" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="38" y="2" curve="90"/>
<vertex x="35" y="-1"/>
<vertex x="35" y="-10"/>
<vertex x="36" y="-10"/>
<vertex x="36" y="-1" curve="-90"/>
<vertex x="39" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="41" y="2" curve="90"/>
<vertex x="38" y="-1"/>
<vertex x="38" y="-10"/>
<vertex x="39" y="-10"/>
<vertex x="39" y="-1" curve="-90"/>
<vertex x="42" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="44" y="2" curve="90"/>
<vertex x="41" y="-1"/>
<vertex x="41" y="-10"/>
<vertex x="42" y="-10"/>
<vertex x="42" y="-1" curve="-90"/>
<vertex x="45" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="47" y="2" curve="90"/>
<vertex x="44" y="-1"/>
<vertex x="44" y="-10"/>
<vertex x="45" y="-10"/>
<vertex x="45" y="-1" curve="-90"/>
<vertex x="48" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="50" y="2" curve="90"/>
<vertex x="47" y="-1"/>
<vertex x="47" y="-10"/>
<vertex x="48" y="-10"/>
<vertex x="48" y="-1" curve="-90"/>
<vertex x="51" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="53" y="2" curve="90"/>
<vertex x="50" y="-1"/>
<vertex x="50" y="-10"/>
<vertex x="51" y="-10"/>
<vertex x="51" y="-1" curve="-90"/>
<vertex x="54" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="56" y="2" curve="90"/>
<vertex x="53" y="-1"/>
<vertex x="53" y="-10"/>
<vertex x="54" y="-10"/>
<vertex x="54" y="-1" curve="-90"/>
<vertex x="57" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="11" y="2" curve="90"/>
<vertex x="8" y="-1"/>
<vertex x="8" y="-10"/>
<vertex x="9" y="-10"/>
<vertex x="9" y="-1" curve="-90"/>
<vertex x="12" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="14" y="2" curve="90"/>
<vertex x="11" y="-1"/>
<vertex x="11" y="-10"/>
<vertex x="12" y="-10"/>
<vertex x="12" y="-1" curve="-90"/>
<vertex x="15" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="17" y="2" curve="90"/>
<vertex x="14" y="-1"/>
<vertex x="14" y="-10"/>
<vertex x="15" y="-10"/>
<vertex x="15" y="-1" curve="-90"/>
<vertex x="18" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="20" y="2" curve="90"/>
<vertex x="17" y="-1"/>
<vertex x="17" y="-10"/>
<vertex x="18" y="-10"/>
<vertex x="18" y="-1" curve="-90"/>
<vertex x="21" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="23" y="2" curve="90"/>
<vertex x="20" y="-1"/>
<vertex x="20" y="-10"/>
<vertex x="21" y="-10"/>
<vertex x="21" y="-1" curve="-90"/>
<vertex x="24" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="26" y="2" curve="90"/>
<vertex x="23" y="-1"/>
<vertex x="23" y="-10"/>
<vertex x="24" y="-10"/>
<vertex x="24" y="-1" curve="-90"/>
<vertex x="27" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="29" y="2" curve="90"/>
<vertex x="26" y="-1"/>
<vertex x="26" y="-10"/>
<vertex x="27" y="-10"/>
<vertex x="27" y="-1" curve="-90"/>
<vertex x="30" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="32" y="2" curve="90"/>
<vertex x="29" y="-1"/>
<vertex x="29" y="-10"/>
<vertex x="30" y="-10"/>
<vertex x="30" y="-1" curve="-90"/>
<vertex x="33" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="2" y="2" curve="90"/>
<vertex x="0.2" y="0.3"/>
<vertex x="0.2" y="-6.2"/>
<vertex x="0.2" y="-1" curve="-90"/>
<vertex x="3" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="5" y="2" curve="90"/>
<vertex x="2" y="-1"/>
<vertex x="2" y="-9"/>
<vertex x="3.1" y="-9.6"/>
<vertex x="3" y="-1" curve="-90"/>
<vertex x="6" y="2"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="8" y="2" curve="90"/>
<vertex x="5" y="-1"/>
<vertex x="5" y="-10"/>
<vertex x="6" y="-10"/>
<vertex x="6" y="-1" curve="-90"/>
<vertex x="9" y="2"/>
</polygon>
<wire x1="0" y1="13" x2="63" y2="13" width="0.4064" layer="29"/>
<wire x1="60" y1="2" x2="0" y2="2" width="0.4064" layer="29"/>
<polygon width="0.4064" layer="25">
<vertex x="1" y="-9.4"/>
<vertex x="66" y="-9.4"/>
<vertex x="66" y="0"/>
<vertex x="67" y="0" curve="90"/>
<vertex x="68" y="1" curve="90"/>
<vertex x="67" y="2"/>
<vertex x="66" y="2"/>
<vertex x="64" y="12" curve="90"/>
<vertex x="63" y="13"/>
<vertex x="1" y="13"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="62.1" y="2.4"/>
<vertex x="64.5" y="9.5"/>
<vertex x="63.1" y="2.4"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="62.1" y="2.4"/>
<vertex x="64.5" y="9.4"/>
<vertex x="64" y="12"/>
<vertex x="62" y="2.4"/>
<vertex x="63.1" y="2.4"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="65.1" y="3"/>
<vertex x="65.5" y="4.6"/>
<vertex x="65.9" y="3"/>
</polygon>
<wire x1="63" y1="13" x2="64" y2="12" width="0.4064" layer="29" curve="-90"/>
<wire x1="64" y1="12" x2="66" y2="3.1" width="0.4064" layer="29"/>
<polygon width="0.4064" layer="25">
<vertex x="0" y="13"/>
<vertex x="63" y="13" curve="-90"/>
<vertex x="64" y="12"/>
<vertex x="66" y="3"/>
<vertex x="68" y="3" curve="-90"/>
<vertex x="69" y="1" curve="-90"/>
<vertex x="68" y="0"/>
<vertex x="66" y="0"/>
<vertex x="66" y="-10"/>
<vertex x="0" y="-10"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="59" y="2" curve="90"/>
<vertex x="56" y="-1"/>
<vertex x="56" y="-10"/>
<vertex x="57" y="-10"/>
<vertex x="57" y="-1" curve="-90"/>
<vertex x="60" y="2"/>
</polygon>
<wire x1="67" y1="-10.1" x2="67" y2="-0.5" width="0.4064" layer="25"/>
<polygon width="0.4064" layer="25">
<vertex x="63" y="4"/>
<vertex x="67" y="4" curve="-90"/>
<vertex x="69" y="2" curve="-90"/>
<vertex x="67" y="0"/>
<vertex x="66" y="0"/>
<vertex x="66" y="-10"/>
<vertex x="61" y="-10"/>
<vertex x="61" y="2" curve="-90"/>
</polygon>
<polygon width="0.4064" layer="29">
<vertex x="62" y="2" curve="90"/>
<vertex x="59" y="-1"/>
<vertex x="59" y="-10"/>
<vertex x="60" y="-10"/>
<vertex x="60" y="-1" curve="-90"/>
<vertex x="63" y="2"/>
</polygon>
<rectangle x1="72.6" y1="19.5" x2="72.8" y2="20.7" layer="25"/>
<rectangle x1="72.6" y1="18.6" x2="72.7" y2="19.5" layer="25"/>
<rectangle x1="72.5" y1="19.9" x2="72.7" y2="20.8" layer="25"/>
<rectangle x1="72.4" y1="18.2" x2="73" y2="18.3" layer="25"/>
<rectangle x1="72.5" y1="18.3" x2="72.8" y2="18.6" layer="25"/>
<rectangle x1="72.5" y1="18.3" x2="72.9" y2="18.4" layer="25"/>
<wire x1="6" y1="39" x2="5" y2="33" width="0.4064" layer="25"/>
<wire x1="5" y1="33" x2="6" y2="20" width="0.4064" layer="25"/>
<wire x1="6" y1="20" x2="5.2" y2="13.4" width="0.4064" layer="25"/>
<wire x1="6" y1="13.4" x2="5.3" y2="22.6" width="0.4064" layer="25"/>
<wire x1="5.3" y1="22.6" x2="6" y2="28.9" width="0.4064" layer="25"/>
<wire x1="6" y1="28.9" x2="4.9" y2="35.2" width="0.4064" layer="25"/>
<wire x1="4.9" y1="35.2" x2="6.2" y2="37" width="0.4064" layer="25"/>
</plain>
<libraries>
<library name="led">
<description>LEDs

<author>Created by librarian@cadsoft.de</author>

Extended by Federico Battaglin <author>&lt;federico.rd@fdpinternational.com&gt;</author> with DUOLED</description>
<packages>
<package name="CHIPLED_0805">
<description>CHIPLED

Source: http://www.osram.convergy.de/ ... LG_R971.pdf</description>
<wire x1="-0.35" y1="0.925" x2="0.35" y2="0.925" width="0.1016" layer="51" curve="162.394521"/>
<wire x1="-0.35" y1="-0.925" x2="0.35" y2="-0.925" width="0.1016" layer="51" curve="-162.394521"/>
<wire x1="0.575" y1="0.525" x2="0.575" y2="-0.525" width="0.1016" layer="51"/>
<wire x1="-0.575" y1="-0.5" x2="-0.575" y2="0.925" width="0.1016" layer="51"/>
<circle x="-0.45" y="0.85" radius="0.103" width="0.1016" layer="51"/>
<smd name="C" x="0" y="1.05" dx="1.2" dy="1.2" layer="1"/>
<smd name="A" x="0" y="-1.05" dx="1.2" dy="1.2" layer="1"/>
<text x="-1.27" y="-1.27" size="1.27" layer="25" rot="R90">>NAME</text>
<text x="2.54" y="-1.27" size="1.27" layer="27" rot="R90">>VALUE</text>
<rectangle x1="0.3" y1="0.5" x2="0.625" y2="1" layer="51"/>
<rectangle x1="-0.325" y1="0.5" x2="-0.175" y2="0.75" layer="51"/>
<rectangle x1="0.175" y1="0.5" x2="0.325" y2="0.75" layer="51"/>
<rectangle x1="-0.2" y1="0.5" x2="0.2" y2="0.675" layer="51"/>
<rectangle x1="0.3" y1="-1" x2="0.625" y2="-0.5" layer="51"/>
<rectangle x1="-0.625" y1="-1" x2="-0.3" y2="-0.5" layer="51"/>
<rectangle x1="0.175" y1="-0.75" x2="0.325" y2="-0.5" layer="51"/>
<rectangle x1="-0.325" y1="-0.75" x2="-0.175" y2="-0.5" layer="51"/>
<rectangle x1="-0.2" y1="-0.675" x2="0.2" y2="-0.5" layer="51"/>
<rectangle x1="-0.1" y1="0" x2="0.1" y2="0.2" layer="21"/>
<rectangle x1="-0.6" y1="0.5" x2="-0.3" y2="0.8" layer="51"/>
<rectangle x1="-0.625" y1="0.925" x2="-0.3" y2="1" layer="51"/>
</package>
<package name="CHIPLED_0805_BS">
<description>CHIPLED

Source: http://www.osram.convergy.de/ ... LG_R971.pdf</description>
<wire x1="-0.35" y1="0.925" x2="0.35" y2="0.925" width="0.1016" layer="51" curve="162.394521"/>
<wire x1="-0.35" y1="-0.925" x2="0.35" y2="-0.925" width="0.1016" layer="51" curve="-162.394521"/>
<wire x1="0.575" y1="0.525" x2="0.575" y2="-0.525" width="0.1016" layer="51"/>
<wire x1="-0.575" y1="-0.5" x2="-0.575" y2="0.925" width="0.1016" layer="51"/>
<circle x="-0.45" y="0.85" radius="0.103" width="0.1016" layer="51"/>
<smd name="C" x="0" y="1.05" dx="1.2" dy="1.2" layer="1"/>
<smd name="A" x="0" y="-1.05" dx="1.2" dy="1.2" layer="1"/>
<text x="-1.905" y="-3.175" size="1.27" layer="25" rot="R90">>NAME</text>
<text x="3.175" y="-3.175" size="1.27" layer="27" rot="R90">>VALUE</text>
<rectangle x1="0.3" y1="0.5" x2="0.625" y2="1" layer="51"/>
<rectangle x1="-0.325" y1="0.5" x2="-0.175" y2="0.75" layer="51"/>
<rectangle x1="0.175" y1="0.5" x2="0.325" y2="0.75" layer="51"/>
<rectangle x1="-0.2" y1="0.5" x2="0.2" y2="0.675" layer="51"/>
<rectangle x1="0.3" y1="-1" x2="0.625" y2="-0.5" layer="51"/>
<rectangle x1="-0.625" y1="-1" x2="-0.3" y2="-0.5" layer="51"/>
<rectangle x1="0.175" y1="-0.75" x2="0.325" y2="-0.5" layer="51"/>
<rectangle x1="-0.325" y1="-0.75" x2="-0.175" y2="-0.5" layer="51"/>
<rectangle x1="-0.2" y1="-0.675" x2="0.2" y2="-0.5" layer="51"/>
<rectangle x1="-0.1" y1="0" x2="0.1" y2="0.2" layer="21"/>
<rectangle x1="-0.6" y1="0.5" x2="-0.3" y2="0.8" layer="51"/>
<rectangle x1="-0.625" y1="0.925" x2="-0.3" y2="1" layer="51"/>
<polygon width="0.127" layer="42">
<vertex x="-0.635" y="-2.54" curve="-61.927523"/>
<vertex x="-0.635" y="2.54" curve="-90"/>
<vertex x="0" y="3.175" curve="-90"/>
<vertex x="0.635" y="2.54" curve="-61.927523"/>
<vertex x="0.635" y="-2.54" curve="-90"/>
<vertex x="0" y="-3.175" curve="-90"/>
</polygon>
<polygon width="0.127" layer="40">
<vertex x="-0.635" y="-2.54" curve="-61.927523"/>
<vertex x="-0.635" y="2.54" curve="-90"/>
<vertex x="0" y="3.175" curve="-90"/>
<vertex x="0.635" y="2.54" curve="-61.927523"/>
<vertex x="0.635" y="-2.54" curve="-90"/>
<vertex x="0" y="-3.175" curve="-90"/>
</polygon>
<polygon width="0.127" layer="30">
<vertex x="-0.635" y="-2.54" curve="-61.927523"/>
<vertex x="-0.635" y="2.54" curve="-90"/>
<vertex x="0" y="3.175" curve="-90"/>
<vertex x="0.635" y="2.54" curve="-61.927523"/>
<vertex x="0.635" y="-2.54" curve="-90"/>
<vertex x="0" y="-3.175" curve="-90"/>
</polygon>
<polygon width="0.127" layer="30">
<vertex x="-0.635" y="-2.54" curve="-61.927523"/>
<vertex x="-0.635" y="2.54" curve="-90"/>
<vertex x="0" y="3.175" curve="-90"/>
<vertex x="0.635" y="2.54" curve="-61.927523"/>
<vertex x="0.635" y="-2.54" curve="-90"/>
<vertex x="0" y="-3.175" curve="-90"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="0" y="1.27" curve="-90"/>
<vertex x="1.27" y="0" curve="-90"/>
<vertex x="0" y="-1.27" curve="-90"/>
<vertex x="-1.27" y="0" curve="-90"/>
</polygon>
<polygon width="0.127" layer="39">
<vertex x="0" y="1.27" curve="-90"/>
<vertex x="1.27" y="0" curve="-90"/>
<vertex x="0" y="-1.27" curve="-90"/>
<vertex x="-1.27" y="0" curve="-90"/>
</polygon>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="LaenPCBOrder">
<description language="de">EAGLE Design Rules

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">Laen's PCB Order Design Rules

Please make sure your boards conform to these design rules.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
<param name="mdWireWire" value="6mil"/>
<param name="mdWirePad" value="6mil"/>
<param name="mdWireVia" value="6mil"/>
<param name="mdPadPad" value="6mil"/>
<param name="mdPadVia" value="6mil"/>
<param name="mdViaVia" value="6mil"/>
<param name="mdSmdPad" value="6mil"/>
<param name="mdSmdVia" value="6mil"/>
<param name="mdSmdSmd" value="6mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="15mil"/>
<param name="mdDrill" value="6mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="6mil"/>
<param name="msDrill" value="13mil"/>
<param name="msMicroVia" value="13mil"/>
<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="7mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="7mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="7mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="7mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="7mil"/>
<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="3mil"/>
<param name="mlMaxStopFrame" value="3mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0mil"/>
<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="LED1" library="led" package="CHIPLED_0805" value="" x="5.7" y="72.02" rot="MR0"/>
<element name="LED10" library="led" package="CHIPLED_0805_BS" value="" x="46.42" y="53.02" rot="MR0"/>
<element name="LED11" library="led" package="CHIPLED_0805" value="" x="2.7" y="32.86" rot="MR0"/>
<element name="LED12" library="led" package="CHIPLED_0805_BS" value="" x="11" y="36" rot="MR45"/>
<element name="LED13" library="led" package="CHIPLED_0805_BS" value="" x="21.86" y="33.86" rot="MR0"/>
<element name="LED14" library="led" package="CHIPLED_0805_BS" value="" x="27.94" y="33.86" rot="MR0"/>
<element name="LED15" library="led" package="CHIPLED_0805_BS" value="" x="39.02" y="32.86" rot="MR0"/>
<element name="LED16" library="led" package="CHIPLED_0805_BS" value="" x="55.1" y="74.86" rot="MR315"/>
<element name="LED17" library="led" package="CHIPLED_0805_BS" value="" x="66.18" y="75.86" rot="MR0"/>
<element name="LED18" library="led" package="CHIPLED_0805_BS" value="" x="74.26" y="76.86" rot="MR315"/>
<element name="LED19" library="led" package="CHIPLED_0805_BS" value="" x="82.34" y="77.86" rot="MR0"/>
<element name="LED2" library="led" package="CHIPLED_0805_BS" value="" x="15.9516125" y="73.15146875" rot="MR315"/>
<element name="LED20" library="led" package="CHIPLED_0805" value="" x="93.42" y="73.86" rot="MR0"/>
<element name="LED21" library="led" package="CHIPLED_0805_BS" value="" x="54.7" y="55.7" rot="MR0"/>
<element name="LED22" library="led" package="CHIPLED_0805_BS" value="" x="61.78" y="58.7" rot="MR315"/>
<element name="LED23" library="led" package="CHIPLED_0805_BS" value="" x="71.86" y="58.7" rot="MR0"/>
<element name="LED24" library="led" package="CHIPLED_0805" value="" x="79.94" y="57.7" rot="MR0"/>
<element name="LED25" library="led" package="CHIPLED_0805_BS" value="" x="89.02" y="57.7" rot="MR0"/>
<element name="LED26" library="led" package="CHIPLED_0805_BS" value="" x="48.1" y="33.7" rot="MR0"/>
<element name="LED27" library="led" package="CHIPLED_0805_BS" value="" x="56.18" y="34.7" rot="MR0"/>
<element name="LED28" library="led" package="CHIPLED_0805_BS" value="" x="65.26" y="35.7" rot="MR0"/>
<element name="LED29" library="led" package="CHIPLED_0805_BS" value="" x="75.34" y="37.7" rot="MR0"/>
<element name="LED3" library="led" package="CHIPLED_0805_BS" value="" x="25.86" y="78.02" rot="MR0"/>
<element name="LED30" library="led" package="CHIPLED_0805_BS" value="" x="88.42" y="38.7" rot="MR0"/>
<element name="LED4" library="led" package="CHIPLED_0805_BS" value="" x="31.94" y="77.02" rot="MR0"/>
<element name="LED5" library="led" package="CHIPLED_0805_BS" value="" x="44.02" y="77.02" rot="MR0"/>
<element name="LED6" library="led" package="CHIPLED_0805_BS" value="" x="4.1" y="59.02" rot="MR0"/>
<element name="LED7" library="led" package="CHIPLED_0805_BS" value="" x="18.18" y="56.02" rot="MR315"/>
<element name="LED8" library="led" package="CHIPLED_0805_BS" value="" x="28.26" y="54.02" rot="MR0"/>
<element name="LED9" library="led" package="CHIPLED_0805_BS" value="" x="38.34" y="53.02" rot="MR0"/>
</elements>
<signals>
<signal name="PINB">
<contactref element="LED10" pad="A"/>
<contactref element="LED9" pad="A"/>
<contactref element="LED8" pad="A"/>
<contactref element="LED7" pad="A"/>
<contactref element="LED6" pad="A"/>
<contactref element="LED1" pad="C"/>
<contactref element="LED27" pad="C"/>
<contactref element="LED22" pad="C"/>
<contactref element="LED17" pad="C"/>
<contactref element="LED12" pad="C"/>
<wire x1="61.037540625" y1="59.442459375" x2="66.18" y2="76.91" width="0" layer="19" extent="16-16"/>
<wire x1="46.42" y1="51.97" x2="61.037540625" y2="59.442459375" width="0" layer="19" extent="16-16"/>
<wire x1="38.34" y1="51.97" x2="46.42" y2="51.97" width="0" layer="19" extent="16-16"/>
<wire x1="28.26" y1="52.97" x2="38.34" y2="51.97" width="0" layer="19" extent="16-16"/>
<wire x1="18.9224625" y1="55.2775375" x2="28.26" y2="52.97" width="0" layer="19" extent="16-16"/>
<wire x1="4.1" y1="57.97" x2="18.9224625" y2="55.2775375" width="0" layer="19" extent="16-16"/>
<wire x1="5.7" y1="73.07" x2="4.1" y2="57.97" width="0" layer="19" extent="16-16"/>
<wire x1="56.18" y1="35.75" x2="46.42" y2="51.97" width="0" layer="19" extent="16-16"/>
<wire x1="11.7424625" y1="36.742459375" x2="18.9224625" y2="55.2775375" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="PINE">
<contactref element="LED21" pad="A"/>
<contactref element="LED22" pad="A"/>
<contactref element="LED23" pad="A"/>
<contactref element="LED24" pad="A"/>
<contactref element="LED25" pad="A"/>
<contactref element="LED19" pad="C"/>
<contactref element="LED4" pad="C"/>
<contactref element="LED9" pad="C"/>
<contactref element="LED14" pad="C"/>
<contactref element="LED30" pad="C"/>
<wire x1="79.94" y1="56.65" x2="82.34" y2="78.91" width="0" layer="19" extent="16-16"/>
<wire x1="71.86" y1="57.65" x2="79.94" y2="56.65" width="0" layer="19" extent="16-16"/>
<wire x1="89.02" y1="56.65" x2="79.94" y2="56.65" width="0" layer="19" extent="16-16"/>
<wire x1="62.5224625" y1="57.9575375" x2="71.86" y2="57.65" width="0" layer="19" extent="16-16"/>
<wire x1="54.7" y1="54.65" x2="62.5224625" y2="57.9575375" width="0" layer="19" extent="16-16"/>
<wire x1="38.34" y1="54.07" x2="54.7" y2="54.65" width="0" layer="19" extent="16-16"/>
<wire x1="88.42" y1="39.75" x2="89.02" y2="56.65" width="0" layer="19" extent="16-16"/>
<wire x1="27.94" y1="34.91" x2="38.34" y2="54.07" width="0" layer="19" extent="16-16"/>
<wire x1="31.94" y1="78.07" x2="38.34" y2="54.07" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="PINF">
<contactref element="LED26" pad="A"/>
<contactref element="LED25" pad="C"/>
<contactref element="LED30" pad="A"/>
<contactref element="LED29" pad="A"/>
<contactref element="LED28" pad="A"/>
<contactref element="LED27" pad="A"/>
<contactref element="LED5" pad="C"/>
<contactref element="LED10" pad="C"/>
<contactref element="LED15" pad="C"/>
<contactref element="LED20" pad="C"/>
<wire x1="89.02" y1="58.75" x2="93.42" y2="74.91" width="0" layer="19" extent="16-16"/>
<wire x1="88.42" y1="37.65" x2="89.02" y2="58.75" width="0" layer="19" extent="16-16"/>
<wire x1="75.34" y1="36.65" x2="88.42" y2="37.65" width="0" layer="19" extent="16-16"/>
<wire x1="65.26" y1="34.65" x2="75.34" y2="36.65" width="0" layer="19" extent="16-16"/>
<wire x1="56.18" y1="33.65" x2="65.26" y2="34.65" width="0" layer="19" extent="16-16"/>
<wire x1="48.1" y1="32.65" x2="56.18" y2="33.65" width="0" layer="19" extent="16-16"/>
<wire x1="39.02" y1="33.91" x2="48.1" y2="32.65" width="0" layer="19" extent="16-16"/>
<wire x1="46.42" y1="54.07" x2="39.02" y2="33.91" width="0" layer="19" extent="16-16"/>
<wire x1="44.02" y1="78.07" x2="46.42" y2="54.07" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="PINC">
<contactref element="LED18" pad="C"/>
<contactref element="LED15" pad="A"/>
<contactref element="LED13" pad="A"/>
<contactref element="LED14" pad="A"/>
<contactref element="LED12" pad="A"/>
<contactref element="LED11" pad="A"/>
<contactref element="LED7" pad="C"/>
<contactref element="LED2" pad="C"/>
<contactref element="LED23" pad="C"/>
<contactref element="LED28" pad="C"/>
<wire x1="71.86" y1="59.75" x2="73.517540625" y2="77.602459375" width="0" layer="19" extent="16-16"/>
<wire x1="65.26" y1="36.75" x2="71.86" y2="59.75" width="0" layer="19" extent="16-16"/>
<wire x1="39.02" y1="31.81" x2="65.26" y2="36.75" width="0" layer="19" extent="16-16"/>
<wire x1="27.94" y1="32.81" x2="39.02" y2="31.81" width="0" layer="19" extent="16-16"/>
<wire x1="21.86" y1="32.81" x2="27.94" y2="32.81" width="0" layer="19" extent="16-16"/>
<wire x1="10.257540625" y1="35.2575375" x2="21.86" y2="32.81" width="0" layer="19" extent="16-16"/>
<wire x1="2.7" y1="31.81" x2="10.257540625" y2="35.2575375" width="0" layer="19" extent="16-16"/>
<wire x1="17.437540625" y1="56.762459375" x2="10.257540625" y2="35.2575375" width="0" layer="19" extent="16-16"/>
<wire x1="15.209153125" y1="73.893928125" x2="17.437540625" y2="56.762459375" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="PINA">
<contactref element="LED6" pad="C"/>
<contactref element="LED11" pad="C"/>
<contactref element="LED16" pad="C"/>
<contactref element="LED21" pad="C"/>
<contactref element="LED26" pad="C"/>
<contactref element="LED5" pad="A"/>
<contactref element="LED1" pad="A"/>
<contactref element="LED2" pad="A"/>
<contactref element="LED3" pad="A"/>
<contactref element="LED4" pad="A"/>
<wire x1="44.02" y1="75.97" x2="54.357540625" y2="75.602459375" width="0" layer="19" extent="16-16"/>
<wire x1="31.94" y1="75.97" x2="44.02" y2="75.97" width="0" layer="19" extent="16-16"/>
<wire x1="25.86" y1="76.97" x2="31.94" y2="75.97" width="0" layer="19" extent="16-16"/>
<wire x1="16.694075" y1="72.40900625" x2="25.86" y2="76.97" width="0" layer="19" extent="16-16"/>
<wire x1="5.7" y1="70.97" x2="16.694075" y2="72.40900625" width="0" layer="19" extent="16-16"/>
<wire x1="4.1" y1="60.07" x2="5.7" y2="70.97" width="0" layer="19" extent="16-16"/>
<wire x1="54.7" y1="56.75" x2="54.357540625" y2="75.602459375" width="0" layer="19" extent="16-16"/>
<wire x1="48.1" y1="34.75" x2="54.7" y2="56.75" width="0" layer="19" extent="16-16"/>
<wire x1="2.7" y1="33.91" x2="4.1" y2="60.07" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="PIND">
<contactref element="LED3" pad="C"/>
<contactref element="LED8" pad="C"/>
<contactref element="LED16" pad="A"/>
<contactref element="LED17" pad="A"/>
<contactref element="LED18" pad="A"/>
<contactref element="LED19" pad="A"/>
<contactref element="LED20" pad="A"/>
<contactref element="LED13" pad="C"/>
<contactref element="LED24" pad="C"/>
<contactref element="LED29" pad="C"/>
<wire x1="82.34" y1="76.81" x2="93.42" y2="72.81" width="0" layer="19" extent="16-16"/>
<wire x1="75.0024625" y1="76.1175375" x2="82.34" y2="76.81" width="0" layer="19" extent="16-16"/>
<wire x1="66.18" y1="74.81" x2="75.0024625" y2="76.1175375" width="0" layer="19" extent="16-16"/>
<wire x1="55.8424625" y1="74.1175375" x2="66.18" y2="74.81" width="0" layer="19" extent="16-16"/>
<wire x1="79.94" y1="58.75" x2="75.0024625" y2="76.1175375" width="0" layer="19" extent="16-16"/>
<wire x1="75.34" y1="38.75" x2="79.94" y2="58.75" width="0" layer="19" extent="16-16"/>
<wire x1="25.86" y1="79.07" x2="55.8424625" y2="74.1175375" width="0" layer="19" extent="16-16"/>
<wire x1="28.26" y1="55.07" x2="25.86" y2="79.07" width="0" layer="19" extent="16-16"/>
<wire x1="21.86" y1="34.91" x2="28.26" y2="55.07" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="N$1">
<polygon width="0.4064" layer="1">
<vertex x="-1" y="91"/>
<vertex x="101" y="91"/>
<vertex x="101" y="-10.6"/>
<vertex x="-1" y="-10.6"/>
</polygon>
</signal>
</signals>
</board>
</drawing>
</eagle>

license: MIT

repository: davedarko/Stranger-Things-Badge

license_type: permissive

repo_name: davedarko/Stranger-Things-Badge

branch_name: refs/heads/master

extension: brd


text:
package deacheck

import (
	"encoding/json"
	"io"
	"net/http"
	"os"
	"path"
	"sync/atomic"
	"unsafe"

	"github.com/hashicorp/go-immutable-radix"
	"github.com/pkg/errors"
)

// Index holds lists of domains from different sources
type Index struct {
	forest map[string]*unsafe.Pointer // *iradix.Tree
}

// NewIndex creates *Index with declared sources.
// Each source is identified by key.
// Keys is a list of arbitrary strings
func NewIndex(keys ...string) *Index {
	forest := make(map[string]*unsafe.Pointer, len(keys))
	for _, src := range keys {
		p := unsafe.Pointer(iradix.New())
		forest[src] = &p
	}
	return &Index{
		forest: forest,
	}
}

// HasDomain checks if given domain is listed in the source
func (i *Index) HasDomain(source, domain string) bool {
	p, found := i.forest[source]
	if !found {
		return false
	}
	_, found = (*iradix.Tree)(*p).Get(key(domain))
	return found
}

// key produces []byte sequence of key from the string s
func key(s string) []byte {
	b := []byte(s)
	l := len(b)
	for i := 0; i < l/2; i++ {
		b[i], b[l-1-i] = b[l-1-i], b[i]
	}
	return b
}

// ReadAndUpdate opens given JSON file and updates the source from it.
func (i *Index) ReadAndUpdate(source, file string) error {
	r, err := os.Open(file)
	if err != nil {
		return errors.WithMessagef(err, `couldn't read data for "%s" from file "%s"`, source, file)
	}
	defer func() {
		_ = r.Close()
	}()
	return i.UpdateFromJSON(source, r)
}

// GetSaveAndUpdate makes a GET HTTP request to given url string, then uses response body to update the source.
// Additionally, it writes response body to the file.
func (i *Index) GetSaveAndUpdate(source, file, url string) error {
	resp, err := http.Get(url)
	if err != nil {
		return errors.WithMessagef(err, `couldn't download data for "%s" from "%s"`, source, url)
	}
	defer func() {
		_ = resp.Body.Close()
	}()

	_ = os.MkdirAll(path.Dir(file), 0755)

	w, err := os.OpenFile(file, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)
	if err != nil {
		return errors.WithMessagef(err, `couldn't create file "%s"`, file)
	}

	updateErr := i.UpdateFromJSON(source, io.TeeReader(resp.Body, w))

	_ = w.Sync()
	if err := w.Close(); err != nil && updateErr == nil {
		return errors.WithMessagef(err, `couldn't close file "%s"`, file)
	}

	return updateErr
}

// GetAndUpdate makes a GET HTTP request to given url string, then uses response body to update the source
func (i *Index) GetAndUpdate(source, url string) error {
	resp, err := http.Get(url)
	if err != nil {
		return errors.WithMessagef(err, `couldn't download data for "%s" from "%s"`, source, url)
	}
	defer func() {
		_ = resp.Body.Close()
	}()
	return i.UpdateFromJSON(source, resp.Body)
}

// UpdateFromJSON updates given source from the io.Reader r.
// It assumes incoming JSON is an array of strings.
// The update happen atomically.
func (i *Index) UpdateFromJSON(source string, r io.Reader) error {
	if _, found := i.forest[source]; !found {
		return errors.Errorf(`undefined source "%s"`, source)
	}

	dec := json.NewDecoder(r)

	parsingError := func(err error) error {
		return errors.WithMessagef(err, `couldn't parse data for "%s"`, source)
	}

	if _, err := dec.Token(); err != nil {
		return parsingError(err)
	}

	tree := iradix.New()
	txn := tree.Txn()

	for dec.More() {
		var s string
		if err := dec.Decode(&s); err != nil {
			return parsingError(err)
		}
		txn.Insert(key(s), struct{}{})
	}

	if _, err := dec.Token(); err != nil {
		return parsingError(err)
	}

	tree = txn.Commit()

	p := i.forest[source]
	atomic.SwapPointer(p, unsafe.Pointer(tree))

	return nil
}

repository: redsift/deacheck

repo_name: redsift/deacheck

extension: go


text:
############################################################################
# Copyright (c) 2016, Johan Mabille, Sylvain Corlay, Martin Renou          #
# Copyright (c) 2016, QuantStack                                           #
#                                                                          #
# Distributed under the terms of the BSD 3-Clause License.                 #
#                                                                          #
# The full license is in the file LICENSE, distributed with this software. #
############################################################################

# Module to set compiler and linker options for WASM builds

function(xeus_wasm_compile_options target)
     target_compile_options("${target}"
        PUBLIC --std=c++17
        PUBLIC -Wno-deprecated
        PUBLIC "SHELL: -s USE_PTHREADS=0"
        PUBLIC "SHELL: -fwasm-exceptions"
    )
endfunction()

function(xeus_wasm_link_options target environment)
    target_link_options("${target}"
        PUBLIC --bind
        PUBLIC -Wno-unused-command-line-argument
        PUBLIC "SHELL: -fwasm-exceptions"
        PUBLIC "SHELL: -s MODULARIZE=1"
        PUBLIC "SHELL: -s EXPORT_NAME=\"createXeusModule\""
        PUBLIC "SHELL: -s EXPORT_ES6=0"
        PUBLIC "SHELL: -s USE_ES6_IMPORT_META=0"
        PUBLIC "SHELL: -s DEMANGLE_SUPPORT=0"
        PUBLIC "SHELL: -s ASSERTIONS=0"
        PUBLIC "SHELL: -s ALLOW_MEMORY_GROWTH=1"
        PUBLIC "SHELL: -s EXIT_RUNTIME=1"
        PUBLIC "SHELL: -s WASM=1"
        PUBLIC "SHELL: -s USE_PTHREADS=0"
        PUBLIC "SHELL: -s ENVIRONMENT=${environment}"
        PUBLIC "SHELL: -s TOTAL_STACK=32mb"
        PUBLIC "SHELL: -s INITIAL_MEMORY=128mb"
    )
endfunction()

function(xeus_wasm_fs_options target)
    target_link_options("${target}"
        PUBLIC "SHELL: -s FORCE_FILESYSTEM"
    )
endfunction()

function(xeus_wasm_async_options target)
    target_link_options("${target}"
        INTERFACE "SHELL: -s ASYNCIFY=1"
        INTERFACE "SHELL: -s 'ASYNCIFY_IMPORTS=[\"get_stdin\"]'"
        INTERFACE "SHELL: -s 'ASYNCIFY_STACK_SIZE=100000'"
    )
endfunction()

repository: jupyter-xeus/xeus

repo_name: jupyter-xeus/xeus

branch_name: refs/heads/main

extension: cmake


text:
SUMMARY = "Homekit Accessory Server FOSS dependencies"

inherit packagegroup

PR = "r0"

RDEPENDS:${PN} += " \
    dnsmasq \
    environment \
    hostapd \
    led-indicator \
    u-boot-fw-utils \
    wpa-supplicant \
    wpa-supplicant-cli \
"

extension: bb


text:
require qt5-${PV}.inc
require ${PN}.inc

SRC_URI[md5sum] = "2693394de6dd97d3a054791cef77b928"
SRC_URI[sha256sum] = "dc5253a62e178a0882a74dc48114c7fd2a3e8feea91df0d9670f11d16361ee67"


text:
// Copyright 2016 Michal Witkowski. All Rights Reserved.
// See LICENSE for licensing terms.

package validatortest

import "testing"

func buildProto3(someString string, someInt uint32, identifier string, someValue int64) *ValidatorMessage3 {
	goodEmbeddedProto3 := &ValidatorMessage3_Embedded{
		Identifier: identifier,
		SomeValue:  someValue,
	}

	goodProto3 := &ValidatorMessage3{
		SomeString:                    someString,
		SomeStringRep:                 []string{someString, "xyz34"},
		SomeStringNoQuotes:            someString,
		SomeInt:                       someInt,
		SomeIntRep:                    []uint32{someInt, 12, 13, 14, 15, 16},
		SomeIntRepNonNull:             []uint32{someInt, 102},
		SomeEmbedded:                  nil,
		SomeEmbeddedNonNullable:       *goodEmbeddedProto3,
		SomeEmbeddedExists:            goodEmbeddedProto3,
		SomeEmbeddedExistsNonNullable: *goodEmbeddedProto3,
		SomeEmbeddedRep:               []*ValidatorMessage3_Embedded{goodEmbeddedProto3},
		SomeEmbeddedRepNonNullable:    []ValidatorMessage3_Embedded{*goodEmbeddedProto3},
	}
	return goodProto3
}

func buildProto2(someString string, someInt uint32, identifier string, someValue int64) *ValidatorMessage {
	goodEmbeddedProto2 := &ValidatorMessage_Embedded{
		Identifier: &identifier,
		SomeValue:  &someValue,
	}

	goodProto2 := &ValidatorMessage{
		StringReq:        &someString,
		StringReqNonNull: someString,

		StringOpt:        nil,
		StringOptNonNull: someString,

		IntReq:        &someInt,
		IntReqNonNull: someInt,
		IntRep:        []uint32{someInt, 12, 13, 14, 15, 16},
		IntRepNonNull: []uint32{someInt, 12, 13, 14, 15, 16},

		EmbeddedReq:            goodEmbeddedProto2,
		EmbeddedNonNull:        *goodEmbeddedProto2,
		EmbeddedRep:            []*ValidatorMessage_Embedded{goodEmbeddedProto2},
		EmbeddedRepNonNullable: []ValidatorMessage_Embedded{*goodEmbeddedProto2},
	}
	return goodProto2
}

func TestGoodProto3(t *testing.T) {
	var err error
	goodProto3 := buildProto3("-%ab", 11, "abba", 99)
	err = goodProto3.Validate()
	if err != nil {
		t.Fatalf("unexpected fail in validator: %v", err)
	}
}

func TestGoodProto2(t *testing.T) {
	var err error
	goodProto2 := buildProto2("-%ab", 11, "abba", 99)
	err = goodProto2.Validate()
	if err != nil {
		t.Fatalf("unexpected fail in validator: %v", err)
	}
}

func TestStringRegex(t *testing.T) {
	tooLong1Proto3 := buildProto3("toolong", 11, "abba", 99)
	if tooLong1Proto3.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	tooLong2Proto3 := buildProto3("-%ab", 11, "bad#", 99)
	if tooLong2Proto3.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	tooLong1Proto2 := buildProto2("toolong", 11, "abba", 99)
	if tooLong1Proto2.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	tooLong2Proto2 := buildProto2("-%ab", 11, "bad#", 99)
	if tooLong2Proto2.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
}

func TestIntLowerBounds(t *testing.T) {
	lowerThan10Proto3 := buildProto3("-%ab", 9, "abba", 99)
	if lowerThan10Proto3.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	lowerThan10Proto2 := buildProto2("-%ab", 9, "abba", 99)
	if lowerThan10Proto2.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	lowerThan0Proto3 := buildProto3("-%ab", 11, "abba", -1)
	if lowerThan0Proto3.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	lowerThan0Proto2 := buildProto2("-%ab", 11, "abba", -1)
	if lowerThan0Proto2.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
}

func TestIntUpperBounds(t *testing.T) {
	higherThan100Proto3 := buildProto3("-%ab", 11, "abba", 101)
	if higherThan100Proto3.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
	higherThan100Proto2 := buildProto2("-%ab", 11, "abba", 101)
	if higherThan100Proto2.Validate() == nil {
		t.Fatalf("expected fail in validator, but it didn't happen")
	}
}

func TestMsgExist(t *testing.T) {
	someProto3 := buildProto3("-%ab", 11, "abba", 99)
	someProto3.SomeEmbedded = nil
	if err := someProto3.Validate(); err != nil {
		t.Fatalf("validate shouldn't fail on missing SomeEmbedded, not annotated")
	}
	someProto3.SomeEmbeddedExists = nil
	if err := someProto3.Validate(); err == nil {
		t.Fatalf("expected fail due to lacking SomeEmbeddedExists")
	}
}

func TestMapAlwaysPassesUntilFixedProperly(t *testing.T) {
	example := &ValidatorMapMessage3{}
	if err := example.Validate(); err != nil {
		t.Fatalf("map validators should always pass")
	}
}

repository: devnev/go-proto-validators

repo_name: devnev/go-proto-validators


text:
using Discord;
using Discord.Commands;
using Discord.WebSocket;
using MountAnBot.database;
using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;

namespace MountAnBot.core
{
    public class Program
    {

        public static void Main(string[] args)
        {
            System.Globalization.CultureInfo.CurrentCulture.ClearCachedData();
            Program program = new Program();
            program.Start().GetAwaiter().GetResult();
        }

        private DiscordSocketClient client;
        private DBAccess dba = DBAccess.getInstance();
        private CommandHandler handler;

        public async Task Start()
        {
            try
            {
                dba.connect();

                client = new DiscordSocketClient();

                await client.LoginAsync(TokenType.Bot, dba.getSetting("bottoken"));
                await client.StartAsync();

                Console.WriteLine("Bot ist online!");

                //await client.SetGameAsync("Rainbow Six Siege");

                DependencyMap map = new DependencyMap();
                map.Add(client);

                handler = new CommandHandler();
                await handler.Install(map);

                LooperThread looper = new LooperThread(client);
                looper.Start();

                await Task.Delay(-1);

                looper.Stop();
                dba.disconnect();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }

        //private void ProcessExit(object sender, EventArgs x)
        //{
        //    dba.disconnect();
        //}

        private Task Log(LogMessage msg)
        {
            Console.WriteLine(msg.ToString());
            return Task.CompletedTask;
        }

    }
}

repository: MountAnFruh/MountAnBot

repo_name: MountAnFruh/MountAnBot

extension: cs


text:
# Tries to find an install of the GNU multiple precision library
#
# Once done this will define
#  GMP_FOUND - BOOL: System has the GMP library installed
#  GMP_INCLUDE_DIRS - LIST:The GMP include directories
#  GMP_C_LIBRARIES - LIST:The libraries needed to use GMP via it's C interface
#  GMP_CXX_LIBRARIES - LIST:The libraries needed to use GMP via it's C++ interface

include(FindPackageHandleStandardArgs)

# Try to find libraries
find_library(GMP_C_LIBRARIES
  NAMES gmp
  DOC "GMP C libraries"
)
find_library(GMP_CXX_LIBRARIES
  NAMES gmpxx
  DOC "GMP C++ libraries"
)

# Try to find headers
find_path(GMP_C_INCLUDES
  NAMES gmp.h
  DOC "GMP C header"
)

find_path(GMP_CXX_INCLUDES
  NAMES gmpxx.h
  DOC "GMP C++ header"
)

# TODO: We should check we can link some simple code against libgmp and libgmpxx

# Handle QUIET and REQUIRED and check the necessary variables were set and if so
# set ``GMP_FOUND``
find_package_handle_standard_args(GMP
	REQUIRED_VARS GMP_C_LIBRARIES GMP_C_INCLUDES GMP_CXX_LIBRARIES GMP_CXX_INCLUDES)

if (GMP_FOUND)
  set(GMP_INCLUDE_DIRS "${GMP_C_INCLUDES}" "${GMP_CXX_INCLUDES}")
  list(REMOVE_DUPLICATES GMP_INCLUDE_DIRS)

  if (NOT TARGET GMP::GMP)
    add_library(GMP::GMP UNKNOWN IMPORTED)
    set_target_properties(GMP::GMP PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${GMP_C_INCLUDES}"
      IMPORTED_LOCATION "${GMP_C_LIBRARIES}")
  endif()
endif()

gha_license_id: NOASSERTION


text:
SECTION = "console/utils"
LICENSE = "GPL"
DESCRIPTION = "A tool to encode and decode the Sharp Zaurus updater.sh script"

SRC_URI = "file://encdec-updater.c"

COMPATIBLE_MACHINE = '(poodle|c7x0|spitz|akita|tosa)'

do_compile() {
	${CC} ${LDFLAGS} -o encdec-updater ${WORKDIR}/encdec-updater.c
}

do_install() {
	install -d ${D}${bindir}
	install -m 0755 encdec-updater ${D}${bindir}/
}

repository: demsey/openembedded

repo_name: demsey/openembedded

branch_name: HEAD


text:
package logger

import (
	"github.com/brian-god/brian-go/pkg/xcast"
	"github.com/sirupsen/logrus"
	"strings"
	"time"
)

/**
 * Copyright (C) @2020 hugo network Co. Ltd
 *
 * @author: hugo
 * @version: 1.0
 * @date: 2020/8/3
 * @time: 23:29
 * @description:
 */

// 模块
func FieldMod(value string) logrus.Fields {
	value = strings.Replace(value, " ", ".", -1)
	return String("mod", value)
}

// FieldMethod ...
func FieldMethod(value string) logrus.Fields {
	return String("method", value)
}

//构建打印结果
func String(key, value string) logrus.Fields {
	return logrus.Fields{key: value}
}

// 依赖的实例名称。以mysql为例，"dsn = "root:juno@tcp(127.0.0.1:3306)/juno?charset=utf8"，addr为 "127.0.0.1:3306"
func FieldAddr(value string) logrus.Fields {
	return String("addr", value)
}

// FieldErrKind ...
func FieldErrKind(value string) logrus.Fields {
	return String("errKind", value)
}

// FieldErr ...
func FieldErr(err error) logrus.Fields {
	return Error(err)
}

// Error is shorthand for the common idiom NamedError("error", err).
func Error(err error) logrus.Fields {
	return NamedError("error", err)
}

// FieldKey ...
func FieldKey(value string) logrus.Fields {
	return String("key", value)
}

func NowTime() logrus.Fields {
	now := time.Now()
	// 24小时制
	value := now.Format("2006-01-02 15:04:05.000 Mon Jan")
	return String("time", value)
}

// NamedError constructs a field that lazily stores err.Error() under the
// provided key. Errors which also implement fmt.Formatter (like those produced
// by github.com/pkg/errors) will also have their verbose representation stored
// under key+"Verbose". If passed a nil error, the field is a no-op.
//
// For the common case in which the key is simply "error", the Error function
// is shorter and less repetitive.
func NamedError(key string, err error) logrus.Fields {
	if err == nil {
		return Skip()
	}
	return logrus.Fields{"key": key, "错误": err}
}

// Skip constructs a no-op field, which is often useful when handling invalid
// inputs in other Field constructors.
func Skip() logrus.Fields {
	return logrus.Fields{"error": "未知异常"}
}
func Any(key string, value interface{}) logrus.Fields {
	return String("key", xcast.ToString(value))
}

repository: brian-god/brian-go

repo_name: brian-god/brian-go


text:
SUMMARY = "A wrapper for the FluidSynth, allowing it to function as a DSSI plugin"
HOMEPAGE = "http://dssi.sourceforge.net/download.html#FluidSynth-DSSI"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"

inherit autotools pkgconfig gtk-icon-cache

DEPENDS += " \
    fluidsynth \
    gtk+ \
    dssi \
    liblo \
    ladspa-sdk \
"

SRC_URI = " \
    git://github.com/schnitzeltony/fluidsynth-dssi.git \
    file://fluidsynth-dssi.conf \
"
SRCREV = "f8c0165b60042d2976c0983261a3ad8c059e2926"
S = "${WORKDIR}/git"
PV = "1.0.0+git${SRCPV}"

do_install_append() {
    install -d ${D}/${sysconfdir}/skel/.config/fluidsynth-dssi
    install -m 0644 ${WORKDIR}/fluidsynth-dssi.conf ${D}/${sysconfdir}/skel/.config/fluidsynth-dssi/
}

PACKAGES =+ "${PN}-defconfig"

FILES_${PN} += " \
    ${libdir}/dssi \
"

FILES_${PN}-defconfig = " \
    ${sysconfdir}/skel/.config/fluidsynth-dssi \
"

RDEPENDS_${PN}-defconfig += " \
    audio-tweaks \
"

gha_license_id: MIT