component
CH348L
Public Made by Adomby adom
WCH Jiangsu Qin Heng USB Converters, LQFP-100(14x14). Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.
main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
<!doctype html><html lang=en><head><meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1"><title>ADOM/CH348L symbol</title>
<style>
:root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe}
*{box-sizing:border-box;margin:0}html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;display:flex;flex-direction:column}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--edge);flex:none}
.bar .h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700}
.bar .sp{flex:1}
.lyrtog{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--mut);background:#1a2130;border:1px solid var(--edge);border-radius:999px;padding:3px 9px;cursor:pointer;user-select:none}
.lyrtog.on{color:var(--ink);border-color:#485162}.lyrtog:not(.on){opacity:.5}
.lyrtog .d{width:8px;height:8px;border-radius:50%;background:#485162}
.stage{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg);cursor:grab;touch-action:none}
.stage.drag{cursor:grabbing}
.stage svg{position:absolute;inset:0;width:100%;height:100%}
.pingroup,.pad{cursor:pointer}
.pingroup.hi .pinvis{stroke:var(--hi)!important;stroke-width:7}
rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke}
.lyr-off{display:none}
#tip{position:fixed;z-index:99;pointer-events:none;display:none;max-width:250px;background:#0d1117;border:1px solid var(--acc);border-radius:8px;padding:7px 10px;box-shadow:0 8px 26px #000a}
#tip .tn{font:700 12px ui-monospace,monospace;color:var(--accb)}
#tip .tt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-top:1px}
#tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4}
</style></head><body>
<div class=bar><span class=h>Schematic symbol</span><span class=sp></span></div>
<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-750 -2600 1500 5200' style='width:100%;height:100%'><rect x='-500.0' y='-2550.0' width='1000.0' height='5100.0' fill='#e35d5d22' stroke='#e35d5d' stroke-width='4'/><g class='pingroup' data-num='1' data-name='DCD5/GPIO40'><line class='pinvis' x1='-700.0' y1='-2450.0' x2='-500.0' y2='-2450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-2450.0' x2='-500.0' y2='-2450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-2405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>1</text><text x='-470.0' y='-2450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DCD5/GPIO40</text><g class='pingroup' data-num='2' data-name='RI5/GPIO41'><line class='pinvis' x1='-700.0' y1='-2350.0' x2='-500.0' y2='-2350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-2350.0' x2='-500.0' y2='-2350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-2305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>2</text><text x='-470.0' y='-2350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RI5/GPIO41</text><g class='pingroup' data-num='3' data-name='DSR1/GPIO27'><line class='pinvis' x1='-700.0' y1='-2250.0' x2='-500.0' y2='-2250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-2250.0' x2='-500.0' y2='-2250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-2205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>3</text><text x='-470.0' y='-2250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DSR1/GPIO27</text><g class='pingroup' data-num='4' data-name='DCD1/GPIO28'><line class='pinvis' x1='-700.0' y1='-2150.0' x2='-500.0' y2='-2150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-2150.0' x2='-500.0' y2='-2150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-2105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>4</text><text x='-470.0' y='-2150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DCD1/GPIO28</text><g class='pingroup' data-num='5' data-name='RI1/GPIO29'><line class='pinvis' x1='-700.0' y1='-2050.0' x2='-500.0' y2='-2050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-2050.0' x2='-500.0' y2='-2050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-2005.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>5</text><text x='-470.0' y='-2050.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RI1/GPIO29</text><g class='pingroup' data-num='6' data-name='NC'><line class='pinvis' x1='-700.0' y1='-1950.0' x2='-500.0' y2='-1950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1950.0' x2='-500.0' y2='-1950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1905.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>6</text><text x='-470.0' y='-1950.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>NC</text><g class='pingroup' data-num='7' data-name='CFG'><line class='pinvis' x1='-700.0' y1='-1850.0' x2='-500.0' y2='-1850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1850.0' x2='-500.0' y2='-1850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1805.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>7</text><text x='-470.0' y='-1850.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>CFG</text><g class='pingroup' data-num='8' data-name='NC'><line class='pinvis' x1='-700.0' y1='-1750.0' x2='-500.0' y2='-1750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1750.0' x2='-500.0' y2='-1750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1705.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>8</text><text x='-470.0' y='-1750.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>NC</text><g class='pingroup' data-num='9' data-name='NC'><line class='pinvis' x1='-700.0' y1='-1650.0' x2='-500.0' y2='-1650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1650.0' x2='-500.0' y2='-1650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1605.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>9</text><text x='-470.0' y='-1650.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>NC</text><g class='pingroup' data-num='10' data-name='GND'><line class='pinvis' x1='-700.0' y1='-1550.0' x2='-500.0' y2='-1550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1550.0' x2='-500.0' y2='-1550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1505.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>10</text><text x='-470.0' y='-1550.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='11' data-name='VCC'><line class='pinvis' x1='-700.0' y1='-1450.0' x2='-500.0' y2='-1450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1450.0' x2='-500.0' y2='-1450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>11</text><text x='-470.0' y='-1450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>VCC</text><g class='pingroup' data-num='12' data-name='XI'><line class='pinvis' x1='-700.0' y1='-1350.0' x2='-500.0' y2='-1350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1350.0' x2='-500.0' y2='-1350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>12</text><text x='-470.0' y='-1350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>XI</text><g class='pingroup' data-num='13' data-name='XO'><line class='pinvis' x1='-700.0' y1='-1250.0' x2='-500.0' y2='-1250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1250.0' x2='-500.0' y2='-1250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>13</text><text x='-470.0' y='-1250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>XO</text><g class='pingroup' data-num='14' data-name='RESET'><line class='pinvis' x1='-700.0' y1='-1150.0' x2='-500.0' y2='-1150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1150.0' x2='-500.0' y2='-1150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>14</text><text x='-470.0' y='-1150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RESET</text><g class='pingroup' data-num='15' data-name='TXD5'><line class='pinvis' x1='-700.0' y1='-1050.0' x2='-500.0' y2='-1050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-1050.0' x2='-500.0' y2='-1050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-1005.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>15</text><text x='-470.0' y='-1050.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>TXD5</text><g class='pingroup' data-num='16' data-name='RXD5'><line class='pinvis' x1='-700.0' y1='-950.0' x2='-500.0' y2='-950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-950.0' x2='-500.0' y2='-950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-905.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>16</text><text x='-470.0' y='-950.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RXD5</text><g class='pingroup' data-num='17' data-name='TXD6'><line class='pinvis' x1='-700.0' y1='-850.0' x2='-500.0' y2='-850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-850.0' x2='-500.0' y2='-850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-805.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>17</text><text x='-470.0' y='-850.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>TXD6</text><g class='pingroup' data-num='18' data-name='RXD6'><line class='pinvis' x1='-700.0' y1='-750.0' x2='-500.0' y2='-750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-750.0' x2='-500.0' y2='-750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-705.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>18</text><text x='-470.0' y='-750.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RXD6</text><g class='pingroup' data-num='19' data-name='GND'><line class='pinvis' x1='-700.0' y1='-650.0' x2='-500.0' y2='-650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-650.0' x2='-500.0' y2='-650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-605.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>19</text><text x='-470.0' y='-650.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='20' data-name='GND'><line class='pinvis' x1='-700.0' y1='-550.0' x2='-500.0' y2='-550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-550.0' x2='-500.0' y2='-550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-505.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>20</text><text x='-470.0' y='-550.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='21' data-name='VIO'><line class='pinvis' x1='-700.0' y1='-450.0' x2='-500.0' y2='-450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-450.0' x2='-500.0' y2='-450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>21</text><text x='-470.0' y='-450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>VIO</text><g class='pingroup' data-num='22' data-name='VIO'><line class='pinvis' x1='-700.0' y1='-350.0' x2='-500.0' y2='-350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-350.0' x2='-500.0' y2='-350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>22</text><text x='-470.0' y='-350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>VIO</text><g class='pingroup' data-num='23' data-name='CTS1/GPIO2'><line class='pinvis' x1='-700.0' y1='-250.0' x2='-500.0' y2='-250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-250.0' x2='-500.0' y2='-250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>23</text><text x='-470.0' y='-250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>CTS1/GPIO2</text><g class='pingroup' data-num='24' data-name='RTS1/GPIO3'><line class='pinvis' x1='-700.0' y1='-150.0' x2='-500.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-150.0' x2='-500.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>24</text><text x='-470.0' y='-150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RTS1/GPIO3</text><g class='pingroup' data-num='25' data-name='TXD1'><line class='pinvis' x1='-700.0' y1='-50.0' x2='-500.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='-50.0' x2='-500.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='-5.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>25</text><text x='-470.0' y='-50.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>TXD1</text><g class='pingroup' data-num='26' data-name='RXD1'><line class='pinvis' x1='-700.0' y1='50.0' x2='-500.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='50.0' x2='-500.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='95.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>26</text><text x='-470.0' y='50.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RXD1</text><g class='pingroup' data-num='27' data-name='GND'><line class='pinvis' x1='-700.0' y1='150.0' x2='-500.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='150.0' x2='-500.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>27</text><text x='-470.0' y='150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='28' data-name='VCC'><line class='pinvis' x1='-700.0' y1='250.0' x2='-500.0' y2='250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='250.0' x2='-500.0' y2='250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>28</text><text x='-470.0' y='250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>VCC</text><g class='pingroup' data-num='29' data-name='ACT'><line class='pinvis' x1='-700.0' y1='350.0' x2='-500.0' y2='350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='350.0' x2='-500.0' y2='350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>29</text><text x='-470.0' y='350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>ACT</text><g class='pingroup' data-num='30' data-name='DTR1/TNOW1/GPIO9'><line class='pinvis' x1='-700.0' y1='450.0' x2='-500.0' y2='450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='450.0' x2='-500.0' y2='450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>30</text><text x='-470.0' y='450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DTR1/TNOW1/GPIO9</text><g class='pingroup' data-num='31' data-name='CTS6/GPIO16'><line class='pinvis' x1='-700.0' y1='550.0' x2='-500.0' y2='550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='550.0' x2='-500.0' y2='550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='595.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>31</text><text x='-470.0' y='550.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>CTS6/GPIO16</text><g class='pingroup' data-num='32' data-name='RTS6/GPIO17'><line class='pinvis' x1='-700.0' y1='650.0' x2='-500.0' y2='650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='650.0' x2='-500.0' y2='650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='695.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>32</text><text x='-470.0' y='650.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RTS6/GPIO17</text><g class='pingroup' data-num='33' data-name='TXD7'><line class='pinvis' x1='-700.0' y1='750.0' x2='-500.0' y2='750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='750.0' x2='-500.0' y2='750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='795.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>33</text><text x='-470.0' y='750.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>TXD7</text><g class='pingroup' data-num='34' data-name='RXD7'><line class='pinvis' x1='-700.0' y1='850.0' x2='-500.0' y2='850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='850.0' x2='-500.0' y2='850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='895.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>34</text><text x='-470.0' y='850.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RXD7</text><g class='pingroup' data-num='35' data-name='CTS7/GPIO18'><line class='pinvis' x1='-700.0' y1='950.0' x2='-500.0' y2='950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='950.0' x2='-500.0' y2='950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='995.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>35</text><text x='-470.0' y='950.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>CTS7/GPIO18</text><g class='pingroup' data-num='36' data-name='RTS7/GPIO19'><line class='pinvis' x1='-700.0' y1='1050.0' x2='-500.0' y2='1050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1050.0' x2='-500.0' y2='1050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1095.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>36</text><text x='-470.0' y='1050.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RTS7/GPIO19</text><g class='pingroup' data-num='37' data-name='GND'><line class='pinvis' x1='-700.0' y1='1150.0' x2='-500.0' y2='1150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1150.0' x2='-500.0' y2='1150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>37</text><text x='-470.0' y='1150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='38' data-name='DSR7/GPIO45'><line class='pinvis' x1='-700.0' y1='1250.0' x2='-500.0' y2='1250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1250.0' x2='-500.0' y2='1250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>38</text><text x='-470.0' y='1250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DSR7/GPIO45</text><g class='pingroup' data-num='39' data-name='DCD7/GPIO46'><line class='pinvis' x1='-700.0' y1='1350.0' x2='-500.0' y2='1350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1350.0' x2='-500.0' y2='1350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>39</text><text x='-470.0' y='1350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DCD7/GPIO46</text><g class='pingroup' data-num='40' data-name='RI7/GPIO47'><line class='pinvis' x1='-700.0' y1='1450.0' x2='-500.0' y2='1450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1450.0' x2='-500.0' y2='1450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>40</text><text x='-470.0' y='1450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RI7/GPIO47</text><g class='pingroup' data-num='41' data-name='DSR6/GPIO42'><line class='pinvis' x1='-700.0' y1='1550.0' x2='-500.0' y2='1550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1550.0' x2='-500.0' y2='1550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1595.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>41</text><text x='-470.0' y='1550.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DSR6/GPIO42</text><g class='pingroup' data-num='42' data-name='DCD6/GPIO43'><line class='pinvis' x1='-700.0' y1='1650.0' x2='-500.0' y2='1650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1650.0' x2='-500.0' y2='1650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1695.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>42</text><text x='-470.0' y='1650.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DCD6/GPIO43</text><g class='pingroup' data-num='43' data-name='RI6/GPIO44'><line class='pinvis' x1='-700.0' y1='1750.0' x2='-500.0' y2='1750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1750.0' x2='-500.0' y2='1750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1795.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>43</text><text x='-470.0' y='1750.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RI6/GPIO44</text><g class='pingroup' data-num='44' data-name='DSR3/GPIO33'><line class='pinvis' x1='-700.0' y1='1850.0' x2='-500.0' y2='1850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1850.0' x2='-500.0' y2='1850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1895.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>44</text><text x='-470.0' y='1850.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DSR3/GPIO33</text><g class='pingroup' data-num='45' data-name='DCD3/GPIO34'><line class='pinvis' x1='-700.0' y1='1950.0' x2='-500.0' y2='1950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='1950.0' x2='-500.0' y2='1950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='1995.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>45</text><text x='-470.0' y='1950.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>DCD3/GPIO34</text><g class='pingroup' data-num='46' data-name='RI3/GPIO35'><line class='pinvis' x1='-700.0' y1='2050.0' x2='-500.0' y2='2050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='2050.0' x2='-500.0' y2='2050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='2095.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>46</text><text x='-470.0' y='2050.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RI3/GPIO35</text><g class='pingroup' data-num='47' data-name='TXD2'><line class='pinvis' x1='-700.0' y1='2150.0' x2='-500.0' y2='2150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='2150.0' x2='-500.0' y2='2150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='2195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>47</text><text x='-470.0' y='2150.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>TXD2</text><g class='pingroup' data-num='48' data-name='RXD2'><line class='pinvis' x1='-700.0' y1='2250.0' x2='-500.0' y2='2250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='2250.0' x2='-500.0' y2='2250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='2295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>48</text><text x='-470.0' y='2250.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>RXD2</text><g class='pingroup' data-num='49' data-name='GND'><line class='pinvis' x1='-700.0' y1='2350.0' x2='-500.0' y2='2350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='2350.0' x2='-500.0' y2='2350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='2395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>49</text><text x='-470.0' y='2350.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>GND</text><g class='pingroup' data-num='50' data-name='VIO'><line class='pinvis' x1='-700.0' y1='2450.0' x2='-500.0' y2='2450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-700.0' y1='2450.0' x2='-500.0' y2='2450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-600.0' y='2495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>50</text><text x='-470.0' y='2450.0' font-size='60' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>VIO</text><g class='pingroup' data-num='100' data-name='VIO'><line class='pinvis' x1='700.0' y1='-2450.0' x2='500.0' y2='-2450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-2450.0' x2='500.0' y2='-2450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-2495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>100</text><text x='470.0' y='-2450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>VIO</text><g class='pingroup' data-num='99' data-name='GND'><line class='pinvis' x1='700.0' y1='-2350.0' x2='500.0' y2='-2350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-2350.0' x2='500.0' y2='-2350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-2395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>99</text><text x='470.0' y='-2350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>GND</text><g class='pingroup' data-num='98' data-name='DSR5/GPIO39'><line class='pinvis' x1='700.0' y1='-2250.0' x2='500.0' y2='-2250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-2250.0' x2='500.0' y2='-2250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-2295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>98</text><text x='470.0' y='-2250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DSR5/GPIO39</text><g class='pingroup' data-num='97' data-name='NC'><line class='pinvis' x1='700.0' y1='-2150.0' x2='500.0' y2='-2150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-2150.0' x2='500.0' y2='-2150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-2195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>97</text><text x='470.0' y='-2150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='96' data-name='RTS5/GPIO15'><line class='pinvis' x1='700.0' y1='-2050.0' x2='500.0' y2='-2050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-2050.0' x2='500.0' y2='-2050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-2095.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>96</text><text x='470.0' y='-2050.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RTS5/GPIO15</text><g class='pingroup' data-num='95' data-name='CTS5/GPIO14'><line class='pinvis' x1='700.0' y1='-1950.0' x2='500.0' y2='-1950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1950.0' x2='500.0' y2='-1950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1995.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>95</text><text x='470.0' y='-1950.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>CTS5/GPIO14</text><g class='pingroup' data-num='94' data-name='TEST'><line class='pinvis' x1='700.0' y1='-1850.0' x2='500.0' y2='-1850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1850.0' x2='500.0' y2='-1850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1895.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>94</text><text x='470.0' y='-1850.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>TEST</text><g class='pingroup' data-num='93' data-name='UD+'><line class='pinvis' x1='700.0' y1='-1750.0' x2='500.0' y2='-1750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1750.0' x2='500.0' y2='-1750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1795.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>93</text><text x='470.0' y='-1750.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>UD+</text><g class='pingroup' data-num='92' data-name='UD-'><line class='pinvis' x1='700.0' y1='-1650.0' x2='500.0' y2='-1650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1650.0' x2='500.0' y2='-1650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1695.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>92</text><text x='470.0' y='-1650.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>UD-</text><g class='pingroup' data-num='91' data-name='RTS4/GPIO13'><line class='pinvis' x1='700.0' y1='-1550.0' x2='500.0' y2='-1550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1550.0' x2='500.0' y2='-1550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1595.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>91</text><text x='470.0' y='-1550.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RTS4/GPIO13</text><g class='pingroup' data-num='90' data-name='CTS4/GPIO12'><line class='pinvis' x1='700.0' y1='-1450.0' x2='500.0' y2='-1450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1450.0' x2='500.0' y2='-1450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>90</text><text x='470.0' y='-1450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>CTS4/GPIO12</text><g class='pingroup' data-num='89' data-name='DTR3/TNOW3/GPIO11'><line class='pinvis' x1='700.0' y1='-1350.0' x2='500.0' y2='-1350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1350.0' x2='500.0' y2='-1350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>89</text><text x='470.0' y='-1350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR3/TNOW3/GPIO11</text><g class='pingroup' data-num='88' data-name='RI4/GPIO38'><line class='pinvis' x1='700.0' y1='-1250.0' x2='500.0' y2='-1250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1250.0' x2='500.0' y2='-1250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>88</text><text x='470.0' y='-1250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RI4/GPIO38</text><g class='pingroup' data-num='87' data-name='DCD4/GPIO37'><line class='pinvis' x1='700.0' y1='-1150.0' x2='500.0' y2='-1150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1150.0' x2='500.0' y2='-1150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>87</text><text x='470.0' y='-1150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DCD4/GPIO37</text><g class='pingroup' data-num='86' data-name='DSR4/GPIO36'><line class='pinvis' x1='700.0' y1='-1050.0' x2='500.0' y2='-1050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-1050.0' x2='500.0' y2='-1050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-1095.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>86</text><text x='470.0' y='-1050.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DSR4/GPIO36</text><g class='pingroup' data-num='85' data-name='NC'><line class='pinvis' x1='700.0' y1='-950.0' x2='500.0' y2='-950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-950.0' x2='500.0' y2='-950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-995.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>85</text><text x='470.0' y='-950.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='84' data-name='NC'><line class='pinvis' x1='700.0' y1='-850.0' x2='500.0' y2='-850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-850.0' x2='500.0' y2='-850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-895.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>84</text><text x='470.0' y='-850.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='83' data-name='RXD4'><line class='pinvis' x1='700.0' y1='-750.0' x2='500.0' y2='-750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-750.0' x2='500.0' y2='-750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-795.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>83</text><text x='470.0' y='-750.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RXD4</text><g class='pingroup' data-num='82' data-name='NC'><line class='pinvis' x1='700.0' y1='-650.0' x2='500.0' y2='-650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-650.0' x2='500.0' y2='-650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-695.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>82</text><text x='470.0' y='-650.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='81' data-name='NC'><line class='pinvis' x1='700.0' y1='-550.0' x2='500.0' y2='-550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-550.0' x2='500.0' y2='-550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-595.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>81</text><text x='470.0' y='-550.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='80' data-name='TXD4'><line class='pinvis' x1='700.0' y1='-450.0' x2='500.0' y2='-450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-450.0' x2='500.0' y2='-450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-495.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>80</text><text x='470.0' y='-450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>TXD4</text><g class='pingroup' data-num='79' data-name='RXD3'><line class='pinvis' x1='700.0' y1='-350.0' x2='500.0' y2='-350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-350.0' x2='500.0' y2='-350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-395.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>79</text><text x='470.0' y='-350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RXD3</text><g class='pingroup' data-num='78' data-name='TXD3'><line class='pinvis' x1='700.0' y1='-250.0' x2='500.0' y2='-250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-250.0' x2='500.0' y2='-250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-295.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>78</text><text x='470.0' y='-250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>TXD3</text><g class='pingroup' data-num='77' data-name='RX_S'><line class='pinvis' x1='700.0' y1='-150.0' x2='500.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-150.0' x2='500.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-195.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>77</text><text x='470.0' y='-150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RX_S</text><g class='pingroup' data-num='76' data-name='TX_S'><line class='pinvis' x1='700.0' y1='-50.0' x2='500.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='-50.0' x2='500.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='-95.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>76</text><text x='470.0' y='-50.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>TX_S</text><g class='pingroup' data-num='75' data-name='VCC'><line class='pinvis' x1='700.0' y1='50.0' x2='500.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='50.0' x2='500.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='5.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>75</text><text x='470.0' y='50.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>VCC</text><g class='pingroup' data-num='74' data-name='GND'><line class='pinvis' x1='700.0' y1='150.0' x2='500.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='150.0' x2='500.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>74</text><text x='470.0' y='150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>GND</text><g class='pingroup' data-num='73' data-name='NC'><line class='pinvis' x1='700.0' y1='250.0' x2='500.0' y2='250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='250.0' x2='500.0' y2='250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>73</text><text x='470.0' y='250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='72' data-name='DTR0/TNOW0/GPIO8'><line class='pinvis' x1='700.0' y1='350.0' x2='500.0' y2='350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='350.0' x2='500.0' y2='350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>72</text><text x='470.0' y='350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR0/TNOW0/GPIO8</text><g class='pingroup' data-num='71' data-name='RTS0/GPIO1'><line class='pinvis' x1='700.0' y1='450.0' x2='500.0' y2='450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='450.0' x2='500.0' y2='450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>71</text><text x='470.0' y='450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RTS0/GPIO1</text><g class='pingroup' data-num='70' data-name='CTS0/GPIO0'><line class='pinvis' x1='700.0' y1='550.0' x2='500.0' y2='550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='550.0' x2='500.0' y2='550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='505.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>70</text><text x='470.0' y='550.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>CTS0/GPIO0</text><g class='pingroup' data-num='69' data-name='RXD0'><line class='pinvis' x1='700.0' y1='650.0' x2='500.0' y2='650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='650.0' x2='500.0' y2='650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='605.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>69</text><text x='470.0' y='650.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RXD0</text><g class='pingroup' data-num='68' data-name='TXD0'><line class='pinvis' x1='700.0' y1='750.0' x2='500.0' y2='750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='750.0' x2='500.0' y2='750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='705.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>68</text><text x='470.0' y='750.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>TXD0</text><g class='pingroup' data-num='67' data-name='DTR2/TNOW2/GPIO10'><line class='pinvis' x1='700.0' y1='850.0' x2='500.0' y2='850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='850.0' x2='500.0' y2='850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='805.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>67</text><text x='470.0' y='850.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR2/TNOW2/GPIO10</text><g class='pingroup' data-num='66' data-name='DTR7/TNOW7/GPIO23'><line class='pinvis' x1='700.0' y1='950.0' x2='500.0' y2='950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='950.0' x2='500.0' y2='950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='905.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>66</text><text x='470.0' y='950.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR7/TNOW7/GPIO23</text><g class='pingroup' data-num='65' data-name='DTR6/TNOW6/GPIO22'><line class='pinvis' x1='700.0' y1='1050.0' x2='500.0' y2='1050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1050.0' x2='500.0' y2='1050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1005.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>65</text><text x='470.0' y='1050.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR6/TNOW6/GPIO22</text><g class='pingroup' data-num='64' data-name='DTR5/TNOW5/GPIO21'><line class='pinvis' x1='700.0' y1='1150.0' x2='500.0' y2='1150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1150.0' x2='500.0' y2='1150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>64</text><text x='470.0' y='1150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR5/TNOW5/GPIO21</text><g class='pingroup' data-num='63' data-name='DTR4/TNOW4/GPIO20'><line class='pinvis' x1='700.0' y1='1250.0' x2='500.0' y2='1250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1250.0' x2='500.0' y2='1250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>63</text><text x='470.0' y='1250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DTR4/TNOW4/GPIO20</text><g class='pingroup' data-num='62' data-name='RI0/GPIO25'><line class='pinvis' x1='700.0' y1='1350.0' x2='500.0' y2='1350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1350.0' x2='500.0' y2='1350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>62</text><text x='470.0' y='1350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RI0/GPIO25</text><g class='pingroup' data-num='61' data-name='DCD0/GPIO26'><line class='pinvis' x1='700.0' y1='1450.0' x2='500.0' y2='1450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1450.0' x2='500.0' y2='1450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>61</text><text x='470.0' y='1450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DCD0/GPIO26</text><g class='pingroup' data-num='60' data-name='DSR0/GPIO24'><line class='pinvis' x1='700.0' y1='1550.0' x2='500.0' y2='1550.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1550.0' x2='500.0' y2='1550.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1505.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>60</text><text x='470.0' y='1550.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DSR0/GPIO24</text><g class='pingroup' data-num='59' data-name='NC'><line class='pinvis' x1='700.0' y1='1650.0' x2='500.0' y2='1650.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1650.0' x2='500.0' y2='1650.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1605.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>59</text><text x='470.0' y='1650.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='58' data-name='NC'><line class='pinvis' x1='700.0' y1='1750.0' x2='500.0' y2='1750.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1750.0' x2='500.0' y2='1750.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1705.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>58</text><text x='470.0' y='1750.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>NC</text><g class='pingroup' data-num='57' data-name='RI2/GPIO32'><line class='pinvis' x1='700.0' y1='1850.0' x2='500.0' y2='1850.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1850.0' x2='500.0' y2='1850.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1805.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>57</text><text x='470.0' y='1850.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RI2/GPIO32</text><g class='pingroup' data-num='56' data-name='DCD2/GPIO31'><line class='pinvis' x1='700.0' y1='1950.0' x2='500.0' y2='1950.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='1950.0' x2='500.0' y2='1950.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='1905.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>56</text><text x='470.0' y='1950.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DCD2/GPIO31</text><g class='pingroup' data-num='55' data-name='DSR2/GPIO30'><line class='pinvis' x1='700.0' y1='2050.0' x2='500.0' y2='2050.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='2050.0' x2='500.0' y2='2050.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='2005.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>55</text><text x='470.0' y='2050.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>DSR2/GPIO30</text><g class='pingroup' data-num='54' data-name='RTS3/GPIO7'><line class='pinvis' x1='700.0' y1='2150.0' x2='500.0' y2='2150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='2150.0' x2='500.0' y2='2150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='2105.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>54</text><text x='470.0' y='2150.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RTS3/GPIO7</text><g class='pingroup' data-num='53' data-name='RTS2/GPIO5'><line class='pinvis' x1='700.0' y1='2250.0' x2='500.0' y2='2250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='2250.0' x2='500.0' y2='2250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='2205.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>53</text><text x='470.0' y='2250.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>RTS2/GPIO5</text><g class='pingroup' data-num='52' data-name='CTS2/GPIO4'><line class='pinvis' x1='700.0' y1='2350.0' x2='500.0' y2='2350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='2350.0' x2='500.0' y2='2350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='2305.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>52</text><text x='470.0' y='2350.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>CTS2/GPIO4</text><g class='pingroup' data-num='51' data-name='CTS3/GPIO6'><line class='pinvis' x1='700.0' y1='2450.0' x2='500.0' y2='2450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='700.0' y1='2450.0' x2='500.0' y2='2450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='600.0' y='2405.0' font-size='60' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>51</text><text x='470.0' y='2450.0' font-size='60' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>CTS3/GPIO6</text></svg></div>
<div id=tip></div>
<script>
var KIND="symbol", MPN="ADOM/CH348L", PINS=[{"desc":"","name":"DCD5/GPIO40","number":"1","type":""},{"desc":"","name":"RI5/GPIO41","number":"2","type":""},{"desc":"","name":"DSR1/GPIO27","number":"3","type":""},{"desc":"","name":"DCD1/GPIO28","number":"4","type":""},{"desc":"","name":"RI1/GPIO29","number":"5","type":""},{"desc":"","name":"NC","number":"6","type":""},{"desc":"","name":"CFG","number":"7","type":""},{"desc":"","name":"NC","number":"8","type":""},{"desc":"","name":"NC","number":"9","type":""},{"desc":"","name":"GND","number":"10","type":""},{"desc":"","name":"VCC","number":"11","type":""},{"desc":"","name":"XI","number":"12","type":""},{"desc":"","name":"XO","number":"13","type":""},{"desc":"","name":"RESET","number":"14","type":""},{"desc":"","name":"TXD5","number":"15","type":""},{"desc":"","name":"RXD5","number":"16","type":""},{"desc":"","name":"TXD6","number":"17","type":""},{"desc":"","name":"RXD6","number":"18","type":""},{"desc":"","name":"GND","number":"19","type":""},{"desc":"","name":"GND","number":"20","type":""},{"desc":"","name":"VIO","number":"21","type":""},{"desc":"","name":"VIO","number":"22","type":""},{"desc":"","name":"CTS1/GPIO2","number":"23","type":""},{"desc":"","name":"RTS1/GPIO3","number":"24","type":""},{"desc":"","name":"TXD1","number":"25","type":""},{"desc":"","name":"RXD1","number":"26","type":""},{"desc":"","name":"GND","number":"27","type":""},{"desc":"","name":"VCC","number":"28","type":""},{"desc":"","name":"ACT","number":"29","type":""},{"desc":"","name":"DTR1/TNOW1/GPIO9","number":"30","type":""},{"desc":"","name":"CTS6/GPIO16","number":"31","type":""},{"desc":"","name":"RTS6/GPIO17","number":"32","type":""},{"desc":"","name":"TXD7","number":"33","type":""},{"desc":"","name":"RXD7","number":"34","type":""},{"desc":"","name":"CTS7/GPIO18","number":"35","type":""},{"desc":"","name":"RTS7/GPIO19","number":"36","type":""},{"desc":"","name":"GND","number":"37","type":""},{"desc":"","name":"DSR7/GPIO45","number":"38","type":""},{"desc":"","name":"DCD7/GPIO46","number":"39","type":""},{"desc":"","name":"RI7/GPIO47","number":"40","type":""},{"desc":"","name":"DSR6/GPIO42","number":"41","type":""},{"desc":"","name":"DCD6/GPIO43","number":"42","type":""},{"desc":"","name":"RI6/GPIO44","number":"43","type":""},{"desc":"","name":"DSR3/GPIO33","number":"44","type":""},{"desc":"","name":"DCD3/GPIO34","number":"45","type":""},{"desc":"","name":"RI3/GPIO35","number":"46","type":""},{"desc":"","name":"TXD2","number":"47","type":""},{"desc":"","name":"RXD2","number":"48","type":""},{"desc":"","name":"GND","number":"49","type":""},{"desc":"","name":"VIO","number":"50","type":""},{"desc":"","name":"VIO","number":"100","type":""},{"desc":"","name":"GND","number":"99","type":""},{"desc":"","name":"DSR5/GPIO39","number":"98","type":""},{"desc":"","name":"NC","number":"97","type":""},{"desc":"","name":"RTS5/GPIO15","number":"96","type":""},{"desc":"","name":"CTS5/GPIO14","number":"95","type":""},{"desc":"","name":"TEST","number":"94","type":""},{"desc":"","name":"UD+","number":"93","type":""},{"desc":"","name":"UD-","number":"92","type":""},{"desc":"","name":"RTS4/GPIO13","number":"91","type":""},{"desc":"","name":"CTS4/GPIO12","number":"90","type":""},{"desc":"","name":"DTR3/TNOW3/GPIO11","number":"89","type":""},{"desc":"","name":"RI4/GPIO38","number":"88","type":""},{"desc":"","name":"DCD4/GPIO37","number":"87","type":""},{"desc":"","name":"DSR4/GPIO36","number":"86","type":""},{"desc":"","name":"NC","number":"85","type":""},{"desc":"","name":"NC","number":"84","type":""},{"desc":"","name":"RXD4","number":"83","type":""},{"desc":"","name":"NC","number":"82","type":""},{"desc":"","name":"NC","number":"81","type":""},{"desc":"","name":"TXD4","number":"80","type":""},{"desc":"","name":"RXD3","number":"79","type":""},{"desc":"","name":"TXD3","number":"78","type":""},{"desc":"","name":"RX_S","number":"77","type":""},{"desc":"","name":"TX_S","number":"76","type":""},{"desc":"","name":"VCC","number":"75","type":""},{"desc":"","name":"GND","number":"74","type":""},{"desc":"","name":"NC","number":"73","type":""},{"desc":"","name":"DTR0/TNOW0/GPIO8","number":"72","type":""},{"desc":"","name":"RTS0/GPIO1","number":"71","type":""},{"desc":"","name":"CTS0/GPIO0","number":"70","type":""},{"desc":"","name":"RXD0","number":"69","type":""},{"desc":"","name":"TXD0","number":"68","type":""},{"desc":"","name":"DTR2/TNOW2/GPIO10","number":"67","type":""},{"desc":"","name":"DTR7/TNOW7/GPIO23","number":"66","type":""},{"desc":"","name":"DTR6/TNOW6/GPIO22","number":"65","type":""},{"desc":"","name":"DTR5/TNOW5/GPIO21","number":"64","type":""},{"desc":"","name":"DTR4/TNOW4/GPIO20","number":"63","type":""},{"desc":"","name":"RI0/GPIO25","number":"62","type":""},{"desc":"","name":"DCD0/GPIO26","number":"61","type":""},{"desc":"","name":"DSR0/GPIO24","number":"60","type":""},{"desc":"","name":"NC","number":"59","type":""},{"desc":"","name":"NC","number":"58","type":""},{"desc":"","name":"RI2/GPIO32","number":"57","type":""},{"desc":"","name":"DCD2/GPIO31","number":"56","type":""},{"desc":"","name":"DSR2/GPIO30","number":"55","type":""},{"desc":"","name":"RTS3/GPIO7","number":"54","type":""},{"desc":"","name":"RTS2/GPIO5","number":"53","type":""},{"desc":"","name":"CTS2/GPIO4","number":"52","type":""},{"desc":"","name":"CTS3/GPIO6","number":"51","type":""}];
var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;});
var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip');
// ---- pan/zoom ----
var vb=(svg.getAttribute('viewBox')||'0 0 100 100').split(/\s+/).map(Number), base=vb.slice();
function setVB(){svg.setAttribute('viewBox',vb.join(' '));}
stage.addEventListener('wheel',function(e){e.preventDefault();var r=stage.getBoundingClientRect();var mx=(e.clientX-r.left)/r.width,my=(e.clientY-r.top)/r.height;var f=e.deltaY<0?0.88:1.14;var nw=vb[2]*f,nh=vb[3]*f;vb[0]+=(vb[2]-nw)*mx;vb[1]+=(vb[3]-nh)*my;vb[2]=nw;vb[3]=nh;setVB();},{passive:false});
var pan=null;
stage.addEventListener('pointerdown',function(e){pan={x:e.clientX,y:e.clientY};stage.classList.add('drag');stage.setPointerCapture(e.pointerId);});
stage.addEventListener('pointermove',function(e){if(!pan)return;var r=stage.getBoundingClientRect();vb[0]-=(e.clientX-pan.x)/r.width*vb[2];vb[1]-=(e.clientY-pan.y)/r.height*vb[3];pan={x:e.clientX,y:e.clientY};setVB();});
function endPan(){pan=null;stage.classList.remove('drag');}
stage.addEventListener('pointerup',endPan);stage.addEventListener('pointerleave',endPan);
stage.addEventListener('dblclick',function(){vb=base.slice();setVB();});
// ---- cross-highlight bus ----
function els(n){return [].slice.call(document.querySelectorAll('[data-num="'+n+'"]'));}
function clearHi(){[].slice.call(document.querySelectorAll('.hi')).forEach(function(e){e.classList.remove('hi');});}
function hi(n){els(n).forEach(function(e){e.classList.add('hi');});}
function post(n){try{parent.postMessage({type:'lbr-hover',pin:n===null?null:String(n),mpn:MPN},'*');}catch(_){}}
function showTip(n,x,y){var p=byNum[String(n)];if(!p)return;tip.innerHTML='<span class=tn></span><div class=tt></div><div class=td></div>';tip.querySelector('.tn').textContent=n+' '+(p.name||'');tip.querySelector('.tt').textContent=p.type||'';var d=p.desc||'';if(d)tip.querySelector('.td').textContent=d;else tip.querySelector('.td').style.display='none';tip.style.display='block';tip.style.left=(x+14)+'px';tip.style.top=(y+12)+'px';}
[].slice.call(document.querySelectorAll('.pingroup,.pad')).forEach(function(g){
var n=g.getAttribute('data-num');
g.addEventListener('mouseenter',function(e){clearHi();hi(n);post(n);showTip(n,e.clientX,e.clientY);});
g.addEventListener('mousemove',function(e){tip.style.left=(e.clientX+14)+'px';tip.style.top=(e.clientY+12)+'px';});
g.addEventListener('mouseleave',function(){clearHi();post(null);tip.style.display='none';});
});
window.addEventListener('message',function(e){var d=e.data||{};if(d.type!=='lbr-hover')return;clearHi();if(d.pin!=null)hi(d.pin);});
// ---- footprint layer toggles ----
[].slice.call(document.querySelectorAll('.lyrtog')).forEach(function(b){
function apply(on){[].slice.call(document.querySelectorAll('.ly-'+b.getAttribute('data-lyr'))).forEach(function(el){el.classList.toggle('lyr-off',!on);});}
apply(b.classList.contains('on'));
b.addEventListener('click',function(){apply(b.classList.toggle('on'));});
});
// ---- auto-grow the host readme iframe ----
function ph(){var h=Math.max(360,Math.min(16000,document.body.scrollHeight||420));parent.postMessage({type:'readme-height',height:h},'*');}
window.addEventListener('load',ph);setTimeout(ph,300);
</script>
</body></html>